Skip to content

Commit f60effb

Browse files
committed
add @castastrophe's rollup.config.factory changes
1 parent 056b338 commit f60effb

File tree

1 file changed

+55
-13
lines changed

1 file changed

+55
-13
lines changed

scripts/rollup.config.factory.js

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,77 @@ import { uglify } from "rollup-plugin-uglify";
55
import { terser } from "rollup-plugin-terser";
66

77
function esmConfig({ elementName, className } = {}) {
8-
const esmFilename = `${elementName}.js`;
9-
108
return {
11-
input: esmFilename,
9+
input: `${elementName}.js`,
1210
output: {
13-
file: esmFilename,
11+
file: `${elementName}.js`,
1412
format: "esm",
1513
sourcemap: true
1614
},
17-
plugins: [resolve(), commonjs(), terser()],
15+
plugins: [
16+
resolve(),
17+
commonjs(),
18+
// terser()
19+
],
1820
external: id => id.startsWith("..")
1921
};
2022
}
2123

2224
function umdConfig({ elementName, className } = {}) {
23-
const umdFilename = `${elementName}.umd.js`;
24-
2525
return {
26-
input: umdFilename,
26+
input: `${elementName}.umd.js`,
2727
output: {
28-
file: umdFilename,
28+
file: `${elementName}.umd.js`,
2929
format: "umd",
3030
sourcemap: true,
3131
name: className
3232
},
3333
plugins: [
3434
resolve(),
3535
commonjs(),
36-
babel({
37-
// exclude: "node_modules/**" // only transpile our source code
38-
}),
36+
babel(),
37+
// uglify()
38+
],
39+
external: id => id.startsWith("..")
40+
};
41+
}
42+
43+
function esmMinify({ elementName, className } = {}) {
44+
return {
45+
input: `${elementName}.js`,
46+
output: {
47+
file: `${elementName}.min.js`,
48+
format: "esm",
49+
sourcemap: false
50+
},
51+
plugins: [
52+
terser({
53+
output: {
54+
comments: function(node, comment) {
55+
var text = comment.value;
56+
var type = comment.type;
57+
if (type == "comment2") {
58+
// multiline comment
59+
return /@preserve|@license|@cc_on/i.test(text);
60+
}
61+
}
62+
}
63+
})
64+
],
65+
external: id => id.startsWith("..")
66+
};
67+
}
68+
69+
function umdMinify({ elementName, className } = {}) {
70+
return {
71+
input: `${elementName}.umd.js`,
72+
output: {
73+
file: `${elementName}.umd.min.js`,
74+
format: "umd",
75+
sourcemap: false,
76+
name: className
77+
},
78+
plugins: [
3979
uglify()
4080
],
4181
external: id => id.startsWith("..")
@@ -45,6 +85,8 @@ function umdConfig({ elementName, className } = {}) {
4585
export default function factory({ elementName, className } = {}) {
4686
return [
4787
esmConfig({ elementName, className }),
48-
umdConfig({ elementName, className })
88+
umdConfig({ elementName, className }),
89+
esmMinify({ elementName, className }),
90+
umdMinify({ elementName, className })
4991
];
5092
}

0 commit comments

Comments
 (0)