-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathrollup.config.js
66 lines (63 loc) · 1.93 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
import commonjs from "rollup-plugin-commonjs";
import copy from "rollup-plugin-copy";
import postcss from "rollup-plugin-postcss";
import replace from "rollup-plugin-replace";
import resolve from "rollup-plugin-node-resolve";
import { terser } from "rollup-plugin-terser";
import typescript from "rollup-plugin-typescript2";
import pkg from "./package.json";
const tsconfig = process.env.NODE_ENV === "production" ? "tsconfig.json" : "tsconfig.dev.json";
const sourcemap = process.env.NODE_ENV !== "production";
const minimize = process.env.NODE_ENV === "production";
const sw = process.env.NODE_ENV === "production";
export default [
{
input: "src/index.ts",
output: {
file: "lib/index.js",
format: "iife",
sourcemap,
},
plugins: [
resolve({
browser: true,
main: false,
}),
commonjs(),
typescript({ tsconfig, tsconfigOverride: { compilerOptions: { module: "es2015" } } }),
postcss({
extract: true,
minimize,
sourceMap: sourcemap,
}),
!minimize && copy({
verbose: true,
"src/index.html": "lib/index.html",
}),
replace({
USE_SERVICE_WORKER: sw,
}),
minimize && terser({ sourcemap }),
],
},
{
input: "src/sw.ts",
output: {
file: "lib/sw.js",
format: "iife",
sourcemap: false,
},
plugins: [
resolve({
browser: true,
main: false,
}),
commonjs(),
typescript({ tsconfig, tsconfigOverride: { compilerOptions: { module: "es2015" } } }),
replace({
CACHE_VERSION: pkg.version,
}),
minimize && terser({ sourcemap }),
],
}
];