-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
52 lines (46 loc) · 1.06 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
import shebang from "rollup-plugin-add-shebang";
import dts from "rollup-plugin-dts";
import esbuild from "rollup-plugin-esbuild";
const { bin, main, module, typings } = require("./package.json");
const binFile = Object.values(bin)[0];
/** @type {import("rollup-plugin-esbuild").Options} */
const esbuildConfig = {
exclude: [/\.test.ts?$/, /node_modules/],
target: "node18",
tsconfig: "./tsconfig.json",
};
const binBundle = {
input: "src/cli/index.ts",
output: {
file: binFile,
format: "cjs",
sourcemap: false,
},
plugins: [esbuild(esbuildConfig), shebang({ include: binFile })],
};
const libBundle = {
input: "src/lib/index.ts",
output: [
{
file: main,
format: "cjs",
sourcemap: false,
},
{
file: module,
format: "esm",
sourcemap: false,
},
],
plugins: [esbuild(esbuildConfig)],
};
const typingsBundle = {
input: "src/lib/index.ts",
output: {
file: typings,
format: "esm",
sourcemap: false,
},
plugins: [dts()],
};
export default [binBundle, libBundle, typingsBundle];