-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.ts
41 lines (36 loc) · 1001 Bytes
/
rollup.config.ts
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
import commonjs from '@rollup/plugin-commonjs';
import typescript from '@rollup/plugin-typescript';
import scss from 'rollup-plugin-scss';
import copy, { Target } from 'rollup-plugin-copy';
import { defineConfig } from 'rollup';
import { terser } from 'rollup-plugin-terser';
import replace from '@rollup/plugin-replace';
import { cleandir } from 'rollup-plugin-cleandir';
const prod = process.env.NODE_ENV === 'production';
const copyTargets: Target[] = [
{ src: './module.json', dest: './dist' },
{ src: './templates', dest: './dist' },
];
const plugins = [
cleandir('./dist'),
replace({
'process.env.NODE_ENV': prod ? "'production'" : "'development'",
preventAssignment: true,
}),
commonjs(),
typescript(),
scss(),
copy({ targets: copyTargets, copyOnce: true }),
];
if (prod) {
plugins.push(terser());
}
export default defineConfig({
input: 'src/module.ts',
output: {
file: 'dist/table-map.js',
format: 'iife',
sourcemap: !prod,
},
plugins,
});