forked from filecoin-project/slate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
48 lines (45 loc) · 1.34 KB
/
rollup.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import babel from "rollup-plugin-babel";
import commonjs from "rollup-plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
import { terser } from "rollup-plugin-terser";
import json from "@rollup/plugin-json";
const input = "./components/system/index.js";
const generateOutput = (outputPath) => {
return {
input,
output: {
file: outputPath,
format: "cjs",
},
external: ["@emotion/react", "react", "react-dom"],
plugins: [
json({ exclude: ["node_modules/**"], compact: true }),
babel({
exclude: ["node_modules/**", "**/*.json"],
runtimeHelpers: true,
}),
resolve(),
commonjs({
// NOTE(jim): Solution here fixed it.
// https://github.com/styled-components/styled-components/issues/1654
namedExports: {
"node_modules/react/index.js": [
"cloneElement",
"createContext",
"Component",
"createElement",
"forwardRef",
"useContext",
"Fragment",
"useRef",
"useLayoutEffect",
"PureComponent",
],
"node_modules/react-dom/index.js": ["render", "hydrate"],
},
}),
terser(),
],
};
};
export default [generateOutput("dist/index.js"), generateOutput("../slate-react-system/src/index.js")];