-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrollup.config.js
82 lines (74 loc) · 1.37 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
73
74
75
76
77
78
79
80
81
82
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import babel from 'rollup-plugin-babel';
import vue from 'rollup-plugin-vue';
import { terser } from 'rollup-plugin-terser';
import pkg from './package.json';
const entry = './src/index.js'
const external = Object.keys(pkg.dependencies || {});
const rollupBabelConfig = {
extensions: ['.js', '.jsx', '.es6', '.es', '.mjs', '.vue', '.ts']
}
const terserConfig = {
output: {
comments: "some"
}
}
const commonUmdPlugins = [
resolve(),
commonjs(),
vue({ css: false }),
babel(rollupBabelConfig),
]
const banner = `
/**
* @preserve
* @name ${pkg.name}
* @version ${pkg.version}
* @license: ${pkg.license}
* © ${pkg.author}
*/`;
export default [
// browser-friendly UMD build
{
input: entry,
output: {
name: pkg.name,
file: pkg.browser,
banner,
format: 'umd',
sourcemap: true,
exports: 'named'
},
plugins: commonUmdPlugins
},
// minified
{
input: entry,
output: {
name: pkg.name,
file: `dist/${pkg.name}.umd.min.js`,
banner,
format: 'umd',
sourcemap: false,
exports: 'named'
},
plugins: [
...commonUmdPlugins,
terser(terserConfig)
]
},
// module
{
input: entry,
output: [
{ file: pkg.module, format: 'es' }
],
external,
plugins: [
commonjs(),
vue({ css: false }),
babel(rollupBabelConfig)
]
}
];