-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
42 lines (39 loc) · 1.55 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
const path = require('path');
const {terser} = require('rollup-plugin-terser');
const {getBabelOutputPlugin} = require('@rollup/plugin-babel');
const configs = [];
['base', 'unicode', 'noKern'].forEach(impl => {
[[`WrapText_${impl}`, 'umd'], [undefined, 'cjs'], [undefined, 'esm']].forEach(([libName, libType]) => {
['production', 'development'].forEach(env => {
configs.push({
input: `./src/index.${impl}.js`,
output: {
file: path.resolve(__dirname, 'dist', libType, `${impl}.${env}.js`),
format: libType,
name: libName,
plugins: [
getBabelOutputPlugin({
presets: ['@babel/preset-env'],
allowAllFormats: true,
}),
env === 'production' ? terser({
compress: {
module: true,
booleans_as_integers: false,
keep_infinity: true,
keep_fargs: false,
inline: true,
},
mangle: {
properties: {
regex: /^[^_].*_$/,
},
},
}) : null,
]
},
});
});
});
});
module.exports = configs;