-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.js
40 lines (32 loc) · 825 Bytes
/
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
/**
* Compile JS files using Closure-Compiler service
*/
/*jshint node: true*/
var fs = require('fs');
var gccs = require('gccs');
var hashes = ['p2peg', 'lib/sha1', 'lib/sha256', 'lib/sha512', 'lib/base64', 'lib/crypto_hash'];
var dir = __dirname;
if ( !fs.existsSync(dir += '/dist') ) {
fs.mkdir(dir);
}
if ( !fs.existsSync(dir += '/lib') ) {
fs.mkdir(dir);
}
hashes.forEach(function (name) {
gcc(__dirname + '/' + name + '.js', __dirname + '/dist/' + name + '.js');
});
// Helpers
function gcc(src, dest, opt) {
if ( !opt ) opt = {};
opt.out_file = dest;
gccs.file(src, opt, function (err) {
if (err) {
console.error(err);
process.exit(1);
}
log_green(dest);
});
}
function log_green(txt) {
console.log("\x1b[32m%s\x1b[0m", txt);
}