-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
48 lines (38 loc) · 1.08 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
37
38
39
40
41
42
43
44
45
46
47
48
import resolve from 'rollup-plugin-node-resolve';
import analyze from 'rollup-analyzer-plugin';
const opts = {limit: 5};
function glsl() {
return {
transform(code, id) {
if (/\.glsl$/.test(id) === false) return;
var transformedCode = 'export default ' + JSON.stringify(
code
.replace(/[ \t]*\/\/.*\n/g, '') // remove //
.replace(/[ \t]*\/\*[\s\S]*?\*\//g, '') // remove /* */
.replace(/\n{2,}/g, '\n') // # \n+ to \n
) + ';';
return {
code: transformedCode,
map: {mappings: ''}
};
}
};
};
export default {
input: 'src/index.js',
output: {
file: 'dist/index.js',
format: 'iife'
},
name: 'TreeShakedThreeJs',
plugins: [
glsl(),
resolve({
jsnext: true,
main: false,
browser: true,
module: true
}),
analyze(opts)
]
};