-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
36 lines (33 loc) · 936 Bytes
/
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
import { nodeResolve } from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import typescript from "@rollup/plugin-typescript";
import babel from "@rollup/plugin-babel";
import { terser } from "rollup-plugin-terser";
import analyze from "rollup-plugin-analyzer";
const limitBytes = 1e4;
const onAnalysis = ({ bundleSize }) => {
if (bundleSize < limitBytes) return;
console.error("Build failed");
console.error(
`Bundle size exceeds CloudFront function limit of ${limitBytes} bytes`
);
console.error(`Bundle size: ${bundleSize} bytes`);
return process.exit(1);
};
export default {
input: "src/index.ts",
output: {
file: "dist/index.js",
format: "cjs",
strict: false,
esModule: false,
},
plugins: [
nodeResolve(),
commonjs(),
typescript(),
babel({ babelHelpers: "bundled" }),
terser(),
analyze({ onAnalysis, skipFormatted: true }),
],
};