mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 11:05:54 +00:00
66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
var pkg = require('./package.json');
|
|
var webpack = require("webpack");
|
|
var async = require("async");
|
|
var extend = require("extend");
|
|
|
|
var programPath = __dirname + "/src/js/remote.js";
|
|
|
|
var cfg = {
|
|
watch: false,
|
|
outputDir: __dirname + "/build"
|
|
};
|
|
for (var i = 0, l = process.argv.length; i < l; i++) {
|
|
var arg = process.argv[i];
|
|
if (arg === '-w' || arg === '--watch') {
|
|
cfg.watch = true;
|
|
} else if (arg === '-o') {
|
|
cfg.outputDir = process.argv[++i];
|
|
}
|
|
};
|
|
|
|
var builds = [{
|
|
filename: 'ripple-'+pkg.version+'.js',
|
|
},{
|
|
filename: 'ripple-'+pkg.version+'-debug.js',
|
|
debug: true
|
|
},{
|
|
filename: 'ripple-'+pkg.version+'-min.js',
|
|
minimize: true
|
|
}];
|
|
|
|
var defaultOpts = {
|
|
// [sic] Yes, this is the spelling upstream.
|
|
libary: 'ripple',
|
|
// However, it's fixed in webpack 0.8, so we include the correct spelling too:
|
|
library: 'ripple',
|
|
watch: cfg.watch
|
|
};
|
|
|
|
function build(opts) {
|
|
var opts = extend({}, defaultOpts, opts);
|
|
opts.output = cfg.outputDir + "/"+opts.filename;
|
|
return function (callback) {
|
|
var filename = opts.filename;
|
|
webpack(programPath, opts, function (err, result) {
|
|
console.log(' '+filename, result.hash, '['+result.modulesCount+']');
|
|
if ("function" === typeof callback) {
|
|
callback(err);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
if (!cfg.watch) {
|
|
console.log('Compiling Ripple JavaScript...');
|
|
async.series(builds.map(build), function (err) {
|
|
if (err) {
|
|
console.error(err);
|
|
}
|
|
});
|
|
} else {
|
|
console.log('Watching files for changes...');
|
|
builds.map(build).forEach(function (build) {
|
|
build();
|
|
});
|
|
}
|