Skip to content

Commit 2c85624

Browse files
committed
feat: update rollup configuration for new esm and cjs formats
1 parent c36ab5b commit 2c85624

File tree

5 files changed

+443
-2134
lines changed

5 files changed

+443
-2134
lines changed

package.json

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,14 @@
77
"scripts": {
88
"cz": "git-cz",
99
"clean": "rimraf ./dist",
10-
"build": "yarn clean && yarn build:umd && yarn build:es",
11-
"build:umd": "cross-env NODE_ENV=es rollup -c",
12-
"build:es": "cross-env BABEL_ENV=es babel ./src --out-dir ./dist/es --ignore '**/*.spec.js'",
10+
"build": "yarn clean && rollup -c rollup.config.mjs",
1311
"start": "styleguidist server",
1412
"styleguide": "styleguidist build",
1513
"test": "cross-env NODE_ENV=test yarn lint && jest --coverage && yarn typescript",
1614
"test:watch": "cross-env NODE_ENV=test jest --watch",
1715
"lint": "eslint .",
1816
"lint:fix": "eslint . --fix",
1917
"commitmsg": "commitlint -e",
20-
"prepublish": "yarn build && yarn size",
21-
"postinstall": "husky install",
2218
"prepublishOnly": "pinst --disable",
2319
"postpublish": "pinst --enable",
2420
"logo": "cd logo && sketchtool export artboards logo.sketch",
@@ -29,11 +25,11 @@
2925
},
3026
"size-limit": [
3127
{
32-
"path": "dist/index.js",
28+
"path": "dist/cjs/index.js",
3329
"limit": "8 KB"
3430
},
3531
{
36-
"path": "dist/es/index.js",
32+
"path": "dist/esm/index.mjs",
3733
"limit": "8 KB"
3834
}
3935
],
@@ -98,9 +94,16 @@
9894
"react": ">= 16.8 || 18.0.0"
9995
},
10096
"dependencies": {
97+
"@rollup/plugin-commonjs": "^25.0.4",
98+
"@rollup/plugin-node-resolve": "^15.2.1",
99+
"@rollup/plugin-replace": "^5.0.2",
101100
"attr-accept": "^2.2.2",
102101
"file-selector": "^0.6.0",
103-
"prop-types": "^15.8.1"
102+
"prop-types": "^15.8.1",
103+
"rollup": "^3.29.4",
104+
"rollup-plugin-banner2": "^1.2.2",
105+
"rollup-plugin-esbuild": "^6.0.2",
106+
"rollup-plugin-node-externals": "^6.1.1"
104107
},
105108
"devDependencies": {
106109
"@babel/cli": "^7.16.8",
@@ -121,9 +124,6 @@
121124
"@commitlint/config-angular": "^16.0.0",
122125
"@commitlint/prompt": "^16.1.0",
123126
"@commitlint/prompt-cli": "^16.1.0",
124-
"@rollup/plugin-babel": "^5.3.0",
125-
"@rollup/plugin-commonjs": "^21.0.1",
126-
"@rollup/plugin-node-resolve": "^13.1.3",
127127
"@size-limit/preset-small-lib": "^7.0.5",
128128
"@size-limit/webpack": "^7.0.5",
129129
"@size-limit/webpack-why": "^7.0.5",
@@ -140,6 +140,7 @@
140140
"babel-plugin-dynamic-import-node": "^2.3.3",
141141
"commitizen": "^4.2.4",
142142
"cross-env": "^7.0.3",
143+
"esbuild": "^0.19.4",
143144
"eslint": "^8.8.0",
144145
"eslint-config-prettier": "^8.3.0",
145146
"eslint-plugin-import": "^2.25.4",
@@ -161,14 +162,10 @@
161162
"react-styleguidist": "^11.2.0",
162163
"react-test-renderer": "^18.1.0",
163164
"rimraf": "^3.0.2",
164-
"rollup": "^2.66.1",
165-
"rollup-plugin-terser": "^7.0.2",
166165
"size-limit": "^7.0.5",
167166
"style-loader": "^3.3.1",
168167
"styled-components": "^5.3.3",
169-
"typescript": "^4.0.2",
170-
"webpack": "^5.67.0",
171-
"webpack-blocks": "^2.1.0"
168+
"typescript": "^4.0.2"
172169
},
173170
"typings": "typings/react-dropzone.d.ts",
174171
"version": "0.0.0-development",

rollup.config.js

Lines changed: 0 additions & 33 deletions
This file was deleted.

rollup.config.mjs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import commonjs from "@rollup/plugin-commonjs";
2+
import nodeExternals from "rollup-plugin-node-externals";
3+
import { nodeResolve } from "@rollup/plugin-node-resolve";
4+
import replace from "@rollup/plugin-replace";
5+
import banner from "rollup-plugin-banner2";
6+
import esbuild from "rollup-plugin-esbuild";
7+
8+
export default {
9+
input: "./src/index.jsx",
10+
output: [
11+
{
12+
dir: "./dist/cjs",
13+
preserveModules: true,
14+
exports: "named",
15+
format: "cjs",
16+
},
17+
{
18+
dir: "./dist/esm",
19+
preserveModules: true,
20+
entryFileNames: "[name].mjs",
21+
format: "esm",
22+
},
23+
],
24+
25+
plugins: [
26+
esbuild({
27+
// minify: true,
28+
// jsx: "transform",
29+
sourceMap: false,
30+
target: "es2015",
31+
}),
32+
nodeExternals(),
33+
nodeResolve(),
34+
commonjs(),
35+
replace({ preventAssignment: true }),
36+
banner((chunk) => {
37+
if (chunk.fileName === "index.js" || chunk.fileName === "index.mjs") {
38+
return "'use client';\n";
39+
}
40+
41+
return undefined;
42+
}),
43+
],
44+
};
File renamed without changes.

0 commit comments

Comments
 (0)