-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrollup.config.js
57 lines (50 loc) · 1.32 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
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint-disable no-undef */
import commonjs from "@rollup/plugin-commonjs";
import json from "@rollup/plugin-json";
import resolve from "@rollup/plugin-node-resolve";
import strip from "@rollup/plugin-strip";
import terser from "@rollup/plugin-terser";
import builtins from "builtin-modules";
import typescript from "rollup-plugin-typescript2";
import * as pkg from "./package.json";
const isDev = process.env.NODE_ENV === "development";
const input = pkg.entries || "src/index.ts";
export default {
input,
output: [output("cjs", "main"), output("es", "module"), output("umd", "umd")],
plugins: [
resolve(),
commonjs(),
json(),
typescript({
typescript: require("typescript"),
clean: true,
tsconfig: "./tsconfig.build.json",
exclude: ["**/*.test.ts"],
useTsconfigDeclarationDir: true,
}),
strip(),
],
external: [...builtins],
};
function output(format) {
const isUMDProd = !isDev && format === "umd";
return {
dir: `lib/${format}`,
name: "ConcurrentTasks",
format,
sourcemap: isDev,
exports: "auto",
plugins: [
!isDev &&
terser({
mangle: isUMDProd,
compress: isUMDProd,
format: {
beautify: !isUMDProd,
},
}),
],
};
}