-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
47 lines (46 loc) · 1.44 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
import {babel} from "@rollup/plugin-babel";
import commonjs from "@rollup/plugin-commonjs";
import {dependencies} from "./package.json";
import nodeResolve from "@rollup/plugin-node-resolve";
import remove from "rollup-plugin-delete";
import {terser} from "rollup-plugin-terser";
import typescript from "@rollup/plugin-typescript";
export default {
input: "src/index.ts",
plugins: [
remove({targets: "dist/*"}),
nodeResolve(),
commonjs(),
typescript(),
babel({
babelrc: false,
babelHelpers: "bundled",
extensions: [".js", ".jsx", ".es6", ".es", ".mjs", ".ts"],
presets: [
[
"@babel/preset-env", {
targets: {
node: 6
}
}
]
],
plugins: [
["@babel/plugin-proposal-class-properties", {loose: true}],
["@babel/plugin-proposal-private-methods", {loose: true}],
["@babel/plugin-proposal-private-property-in-object", {loose: true}]
]
}),
"production" === process.env.NODE_ENV && terser({
compress: {
drop_console: true
}
})
],
external: [...Object.keys(dependencies), "stream"],
output: {
file: "dist/index.js",
format: "cjs",
sourcemap: true
}
};