-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrollup.config.js
48 lines (40 loc) · 1.1 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
const banner = require('rollup-plugin-banner');
const buble = require('@rollup/plugin-buble');
const replace = require('@rollup/plugin-replace');
const { uglify } = require('rollup-plugin-uglify');
const packageJSON = require('./package.json');
const { name, friendlyName, summary } = packageJSON.build;
const { author, version } = packageJSON;
function rollup({ minify }) {
const bannerText = [
`${friendlyName} - ${summary}`,
`Version ${version}`,
`© ${(new Date).getFullYear()} ${author}`
].join('\n');
const file = [name, minify && 'min', 'js'].filter(Boolean).join('.');
return {
input: 'src/index.js',
output: {
file: `dist/${file}`,
format: 'umd',
name: friendlyName
},
plugins: [
replace({
'VERSION': version
}),
buble({
transforms: {
dangerousForOf: true
}
}),
minify ? uglify({ sourcemap: false }) : null,
banner.default(bannerText)
].filter(Boolean)
};
}
const builds = [];
for (const minify of [true, false]) {
builds.push(rollup({ minify }));
}
module.exports = builds;