-
Notifications
You must be signed in to change notification settings - Fork 1
/
rollup.config.js
64 lines (59 loc) · 1.29 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
63
64
// rollup.config.js
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import resolve from 'rollup-plugin-node-resolve';
import typescript from 'rollup-plugin-typescript';
import {terser} from 'rollup-plugin-terser';
import license from 'rollup-plugin-license'
import { name, version, main, module, browser, author } from './package.json'
const isProduction = process.env.NODE_ENV === 'production'
const settings = {
globals: {
ms: 'ms'
},
}
export default {
input: './src/index.ts',
output: [{
file: main,
name: main,
...settings,
format: 'cjs',
plugins: [
isProduction && terser()
]
}, {
file: module,
...settings,
name: name,
format: 'es'
}, {
file: browser,
...settings,
name: name,
format: 'umd'
}],
external: [ 'ms' ],
plugins: [
json(),
resolve({
jsnext: true,
main: true
}),
typescript({
typescript: require('typescript')
}),
commonjs({
include: 'node_modules/**',
extensions: [ '.js' ],
ignoreGlobal: false,
sourceMap: false
}),
license({
banner: `
${name} v${version}
Copyright 2018<%= moment().format('YYYY') > 2018 ? '-' + moment().format('YYYY') : null %> ${author}
`
})
]
}