-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrollup.config.js
36 lines (35 loc) · 1.05 KB
/
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 resolve from '@rollup/plugin-node-resolve';
import visualizer from 'rollup-plugin-visualizer';
import {glconstants} from './build/rollup-plugin-glconstants';
import {glsl} from './build/rollup-plugin-glsl';
import {glslJson} from './build/rollup-plugin-glsl-json';
import {terser} from 'rollup-plugin-terser';
const getBuild = (isJson, minify) => {
const suffix = (isJson ? 'json' : 'regular') + (minify ? '.min' : '');
const build = {
input: 'src/index.js',
plugins: [
glconstants(),
isJson ? glslJson() : glsl(),
resolve(),
visualizer({open: false, filename: 'dist/stats-' + suffix + '.html'})
],
output: [
{
format: 'esm',
file: 'dist/bundle-' + suffix + '.js',
sourcemap: true
}
]
};
if (minify) {
build.plugins.push(terser());
}
return build;
};
export default [
getBuild(false, false),
getBuild(false, true),
getBuild(true, false),
getBuild(true, true),
];