-
Notifications
You must be signed in to change notification settings - Fork 1
/
rollup.js
63 lines (56 loc) · 1.49 KB
/
rollup.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
'use strict';
var babel = require('rollup-plugin-babel');
var babelrc = require('babelrc-rollup');
var rollup = require('rollup');
var fs = require("fs");
var path = require("path");
let pkg = {
"dependencies": {}
};
let external = Object.keys(pkg.dependencies);
//Copied from https://github.com/mrdoob/three.js/blob/dev/rollup.config.js
function glsl () {
return {
transform ( code, id ) {
if ( !/\.glsl$/.test( id ) ) return;
var transformedCode = 'export default ' + JSON.stringify(
code
.replace( /[ \t]*\/\/.*\n/g, '' )
.replace( /[ \t]*\/\*[\s\S]*?\*\//g, '' )
.replace( /\n{2,}/g, '\n' )
) + ';';
return {
code: transformedCode,
map: { mappings: '' }
}
}
};
}
var settings = {
entry: 'index.js',
plugins: [
glsl(),
babel(babelrc.default())
],
external: external
};
rollup.rollup(settings).then(function (bundle) {
bundle.write({
format: 'es',
dest: 'dist/animated-points.es.js',
sourceMap: true
});
bundle.write({
format: 'cjs',
dest: 'dist/animated-points.cjs.js',
sourceMap: true
});
bundle.write({
format: 'iife',
moduleName: 'AnimatedPoints',
dest: 'dist/animated-points.js',
sourceMap: true
});
}).catch(function (err) {
console.log('ERR ' + err);
});