-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.mjs
69 lines (65 loc) · 1.76 KB
/
rollup.config.mjs
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
import { importManager } from "rollup-plugin-import-manager";
import { yourFunction } from "rollup-plugin-your-function";
import CleanCSS from "clean-css";
import terser from "@rollup/plugin-terser";
const output = (subDir="", appendix="") => [
{
format: "iife",
name: "ConTodo",
file: `./dist/${subDir}contodo${appendix}.iife.js`
},
{
format: "iife",
name: "ConTodo",
file: `./dist/${subDir}contodo${appendix}.iife.min.js`,
plugins: [terser()]
},
{
format: "es",
name: "contodo",
file: `./dist/${subDir}contodo${appendix}.esm.js`
},
{
format: "es",
name: "contodo",
file: `./dist/${subDir}contodo${appendix}.esm.min.js`,
plugins: [terser()]
},
];
const exports = [
{
input: "./src/contodo.js",
output: output(),
plugins: [
yourFunction({
include: "**/*.css",
fn: source => {
const output = new CleanCSS({}).minify(source);
return `export default ${JSON.stringify(output.styles)}`;
},
}),
importManager({
units: {
module: "default-css",
actions: {
select: "module",
rename: "../themes/default.css"
}
}
})
]
},
{
input: "./src/contodo.js",
output: output("no-style/", "-no-style"),
plugins: [
importManager({
units: {
module: "default-css",
actions: "remove"
}
})
]
}
];
export default exports;