forked from Amourspirit/Typo.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
61 lines (59 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
import babel from '@rollup/plugin-babel';
import resolve from '@rollup/plugin-node-resolve';
// import cleanup from 'rollup-plugin-cleanup';
import pkg from './package.json';
const scratchBuild = pkg._scratchBuild.replace('{0}', pkg._scratch);
const inputIife = scratchBuild +'/typo.js';
const inputCjs = scratchBuild + '/index.js';
const esOut = pkg._jsFileEs.replace('{0}', pkg._jsDir); // js/es/typo.js
const external = (id) => !id.startsWith('.') && !id.startsWith('/');
const getBabelOptions = (useESModules = true) => ({
extensions: ['.js'],
// babelHelpers: 'runtime',
babelHelpers: 'bundled',
comments: false,
presets: [
['@babel/preset-env', {
"targets": {
"chrome": "60"
},
bugfixes: true, loose: false }]
],
plugins: [
["@babel/plugin-transform-classes"]
]
});
export default [
{
input: inputCjs,
output: {
file: pkg.main,
format: 'cjs',
interop: false,
sourcemap: true,
},
external,
plugins: [
//resolve({ extensions: ['.ts', '.tsx', 'js'] }),
resolve(),
babel(getBabelOptions(false)),
//sizeSnapshot(),
],
},
{
input: inputIife,
output: {
file: esOut,
format: 'iife',
interop: false,
sourcemap: true,
},
external,
plugins: [
//resolve({ extensions: ['.ts', '.tsx', 'js'] }),
resolve(),
babel(getBabelOptions(false)),
//sizeSnapshot(),
],
}
];