/
rollup.config.js
55 lines (52 loc) · 1.25 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
import babel from 'rollup-plugin-babel';
import nodeResolve from 'rollup-plugin-node-resolve';
import gzip from 'rollup-plugin-gzip';
import uglify from 'rollup-plugin-uglify';
import sourcemaps from 'rollup-plugin-sourcemaps';
const doMinify = process.env.MINIFY === 'true';
const suffix = doMinify ? '.min' : '';
export default {
input: './src/index.js',
external: [
'mobx',
'lodash/differenceWith',
'lodash/get',
'lodash/set',
'lodash/pick',
'lodash/merge',
'lodash/isPlainObject',
'glob-to-regexp',
'uuid/v4',
],
globals: {
mobx: 'mobx',
'uuid/v4': 'uuid',
'lodash/set': 'set',
'lodash/get': 'get',
'lodash/differenceWith': 'differenceWith',
'lodash/isPlainObject': 'isPlainObject',
'glob-to-regexp': 'globToRegexp',
},
output: [{
file: `lib/harmonized${suffix}.js`,
format: 'cjs',
}, {
file: `lib/harmonized.umd${suffix}.js`,
format: 'umd',
}, ...(doMinify ? [] : [{
file: `lib/harmonized.module${suffix}.js`,
format: 'es',
}])],
sourcemap: true,
name: 'harmonized',
plugins: [
nodeResolve(),
babel({
exclude: 'node_modules/**',
plugins: ['external-helpers'],
}),
gzip(),
sourcemaps(),
...(doMinify ? [uglify()] : []),
],
};