-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathrollup.config.mjs
45 lines (42 loc) · 1.08 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
// @ts-check
import { defineConfig } from 'rollup';
import typescript from '@rollup/plugin-typescript';
import resolve from '@rollup/plugin-node-resolve';
import terser from '@rollup/plugin-terser';
import strip from '@rollup/plugin-strip';
const production = !process.env.ROLLUP_WATCH;
export default defineConfig({
input: 'scripts/main.ts',
output: [
{
sourcemap: true,
format: 'module',
file: './site/_assets/js/main.js',
},
{
sourcemap: true,
format: 'iife',
file: './site/_assets/js/main.old.js',
},
],
plugins: [
// teach rollup how to handle typescript imports
typescript({
tsconfig: './scripts/tsconfig.json',
sourceMap: true,
}),
resolve({ browser: true }),
production &&
strip({
include: ['**/*.js', '**/*.ts'],
functions: ['assert', 'unreachable'],
}),
production &&
terser({
compress: {
unsafe: true,
passes: 2,
},
}),
],
});