-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
72 lines (58 loc) · 1.4 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
65
66
67
68
69
70
71
72
const rollup = require('rollup');
const resolve = require('rollup-plugin-node-resolve');
const buble = require('rollup-plugin-buble');
const commonjs = require('rollup-plugin-commonjs');
const typescript = require('rollup-plugin-typescript2');
const {
uglify
} = require('rollup-plugin-uglify');
var Progress = require('node-progress').get();
const p = new Progress();
p.start();
async function build(outputOptions) {
let _inputOptions = {
input: __dirname + `/src/${outputOptions.entry}.ts`,
plugins: [
typescript({
tsconfig: "./tsconfig.json",
}),
resolve(),
buble(),
commonjs()
]
};
if (outputOptions.format == 'umd') {
// _inputOptions.plugins.push(uglify({
// compress: {
// pure_getters: true,
// unsafe: true,
// unsafe_comps: true,
// warnings: false
// }
// }))
}
// create a bundle
// console.log(_inputOptions);
const bundle = await rollup.rollup(_inputOptions);
const {
code,
map
} = await bundle.generate(outputOptions);
await bundle.write(outputOptions);
}
async function buildEntry(name) {
await build({
file: __dirname + `/lib/${name}-es.js`,
entry:name,
format: 'es'
});
await build({
file: __dirname + `/lib/${name}.js`,
entry:name,
exports: 'named',
name: 'randomModule',
format: 'umd'
});
p.finish();
}
buildEntry('index')