generated from ckaznable/browser-extension-template
/
rollup.config.js
62 lines (57 loc) · 1.39 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
import cleanup from "rollup-plugin-cleanup"
import terser from '@rollup/plugin-terser'
import { nodeResolve } from "@rollup/plugin-node-resolve"
import replace from '@rollup/plugin-replace'
import alias from '@rollup/plugin-alias'
import filesize from 'rollup-plugin-filesize'
import commonjs from '@rollup/plugin-commonjs'
import path from "path"
const fileList = [
"script/content.js",
"script/injection.js",
"script/background.js",
"script/options.js",
]
const dir = "./src"
const outputDir = `./dist`
const plugins = [
cleanup({
sourcemap: process.env.NODE_ENV === "development"
}),
nodeResolve({
browser: true,
}),
replace({
preventAssignment: true,
values: {
"process.env.NODE_ENV": `"${process.env.NODE_ENV}"`,
"process.env.BROWSER": `"${process.env.BROWSER||""}"`,
"process.env.MANIFEST_VERSION": `"${process.env.MANIFEST_VERSION||""}"`
}
}),
alias({
entries: {
"@": path.join(".", dir, `script`)
}
}),
filesize(),
commonjs(),
]
if(process.env.NODE_ENV === "production") {
plugins.push(terser())
}
const exportList = fileList.map(name => {
const plg = [...plugins]
return {
input: `${dir}/${name}`,
output: [
{
file: `${outputDir}/${name}`,
format: "iife",
sourcemap: process.env.NODE_ENV === "development" ? "inline" : false
}
],
plugins: plg
}
})
export default exportList