-
Notifications
You must be signed in to change notification settings - Fork 54
/
Copy pathbuild.js
41 lines (36 loc) · 1.22 KB
/
build.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
/*
* Poly2Tri Copyright (c) 2009-2014, Poly2Tri Contributors
* http://code.google.com/p/poly2tri/
*
* poly2tri.js (JavaScript port) (c) 2009-2017, Poly2Tri Contributors
* https://github.com/r3mi/poly2tri.js
*
* Build script for poly2tri.js
* Rémi Turboult, 12/2013
*
* All rights reserved.
*
* Distributed under the 3-clause BSD License, see LICENSE.txt
*/
"use strict";
var browserify = require('browserify');
var fs = require('fs');
var uglify = require('uglify-js');
var pkg = require('./package.json');
// Update version file (require'd by main poly2tri.js for VERSION string)
fs.writeFileSync('./dist/version.json', '{"version": "' + pkg.version + '"}');
var preamble = '/*! ' + pkg.name + ' v' + pkg.version + ' | (c) 2009-2017 Poly2Tri Contributors */\n';
var b = browserify(pkg.main, {standalone: 'poly2tri'});
b.bundle(function(err, buffer) {
if (err instanceof Error) {
throw(err);
}
if (err) {
process.stderr.write(err);
}
if (buffer) {
fs.writeFileSync('./dist/poly2tri.js', buffer);
var min = uglify.minify(buffer.toString(), {fromString: true, compress: true, mangle: true});
fs.writeFileSync('./dist/poly2tri.min.js', preamble + min.code);
}
});