forked from flyerman/lace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
39 lines (38 loc) · 1.21 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
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import image from '@rollup/plugin-image';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from '@rollup/plugin-typescript';
import postcss from 'rollup-plugin-postcss';
import nodePolyfills from 'rollup-plugin-node-polyfills';
import svgr from '@svgr/rollup';
export default ({
tsPluginOptions = {
tsconfig: 'src/tsconfig.json',
composite: false,
exclude: ['**/*.stories.tsx']
}
} = {}) => ({
input: 'src/index.ts',
plugins: [
resolve({
preferBuiltins: false,
}),
typescript(tsPluginOptions),
peerDepsExternal(),
postcss({
// postcss plugin includes always path to the es version of the style-inject
// no matter what build type it is. It makes cjs build requiring esm version
// https://github.com/egoist/rollup-plugin-postcss/issues/381
// https://github.com/egoist/rollup-plugin-postcss/issues/367
inject: cssVariableName => `
import styleInject from 'style-inject';
styleInject(${cssVariableName});`
}),
commonjs(),
nodePolyfills(),
image(),
svgr({ icon: true })
],
external: [/node_modules/]
});