-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.mjs
47 lines (42 loc) · 1.1 KB
/
rollup.config.mjs
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 terser from "@rollup/plugin-terser";
import typescript from "@rollup/plugin-typescript";
import { dts } from "rollup-plugin-dts";
// Workaround for - Error: No ESLint configuration found in "byteform\src".
import eslint from "./utils/eslint.plugin.mjs";
import pkg from "./package.json" with { type: "json" };
const tsconfig = "./tsconfig.json";
const include = ["src/**/*.ts"];
const banner = `/**
* Byteform v${pkg.version}
* Copyright ${new Date().getFullYear()} ${pkg.author}
* @license MIT
*/`;
/** @type {import('rollup').RollupOptions[]} **/
export default [
{
input: "src/index.ts",
output: [
{
// dir: "dist",
format: "esm",
file: "dist/esm/index.mjs",
sourcemap: true,
},
{
format: "cjs",
file: "dist/cjs/index.cjs",
sourcemap: true,
},
],
plugins: [
eslint(),
typescript({ tsconfig, include }),
terser({ format: { comments: false, preamble: banner } }),
],
},
{
input: "./src/index.ts",
output: [{ file: "dist/index.d.ts", format: "es" }],
plugins: [dts()],
},
];