forked from aragon/ui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
62 lines (60 loc) · 1.43 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import babel from 'rollup-plugin-babel'
import commonjs from 'rollup-plugin-commonjs'
import filesize from 'rollup-plugin-filesize'
import pkg from './package.json'
import progress from 'rollup-plugin-progress'
import resolve from 'rollup-plugin-node-resolve'
import sizes from 'rollup-plugin-sizes'
import url from 'rollup-plugin-url'
import visualizer from 'rollup-plugin-visualizer'
const production = !process.env.ROLLUP_WATCH
export default {
input: 'src/index.js',
output: [
{
file: pkg.module,
format: 'esm',
preserveModules: true,
sourcemap: true,
},
// The CJS build is used by node tools we are using, like
// eslint-plugin-import.
{
file: pkg.main,
format: 'cjs',
preserveModules: false,
sourcemap: true,
},
],
external: ['react', 'react-dom', 'styled-components'],
treeshake: production,
plugins: [
progress(),
production &&
filesize({
showMinifiedSize: true,
showGzippedSize: true,
}),
production && sizes(),
production && visualizer(),
url({
limit: 5 * 1024, // inline files smaller than 5k
publicPath: '',
include: [
'**/*.svg',
'**/*.png',
'**/*.jpg',
'**/*.gif',
'**/*.woff',
'**/*.woff2',
],
emitFiles: true,
}),
babel({
runtimeHelpers: true,
exclude: 'node_modules/**',
}),
resolve(),
commonjs(),
],
}