-
Notifications
You must be signed in to change notification settings - Fork 1
/
rollup.config.prod.js
65 lines (62 loc) · 1.25 KB
/
rollup.config.prod.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
58
59
60
61
62
63
64
65
//
//
//
// PRODUCTION BUILD //
//
//
//
import typescript from 'rollup-plugin-typescript2'
import commonjs from '@rollup/plugin-commonjs'
import postcss from 'rollup-plugin-postcss'
import { terser } from 'rollup-plugin-terser'
import resolve from '@rollup/plugin-node-resolve'
import alias from '@rollup/plugin-alias'
import sizes from 'rollup-plugin-sizes'
import pkg from './package.json'
export default {
input: pkg.source,
treeshake: true,
output: {
inlineDynamicImports: true,
dir: 'dist',
},
context: 'window',
plugins: [
postcss({
minimize: true,
extensions: ['.css'],
inject: {
insertAt: 'top',
},
config: {
path: './postcss.config.cjs',
},
}),
typescript({
tsconfig: './tsconfig.json',
}),
alias({
entries: [
{ find: 'react-dom', replacement: 'preact/compat' },
{ find: 'react', replacement: 'preact/compat' },
]
}),
resolve({
browser: true,
mainFields: ['browser'],
}),
commonjs({
strictRequires: true,
transformMixedEsModules: true,
}),
terser({
format: {
comments: false,
wrap_iife: true,
ascii_only: true,
},
ecma: 6,
}),
sizes(),
],
}