mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 09:12:52 +00:00
77 lines
1.5 KiB
JavaScript
77 lines
1.5 KiB
JavaScript
/* eslint-disable no-console */
|
|
|
|
var fs = require('fs');
|
|
var rollup = require('rollup');
|
|
var nodeResolve = require('rollup-plugin-node-resolve');
|
|
var commonjs = require('rollup-plugin-commonjs');
|
|
var json = require('rollup-plugin-json');
|
|
var http = require('http');
|
|
var gaze = require('gaze');
|
|
var ecstatic = require('ecstatic');
|
|
|
|
var building = false;
|
|
|
|
|
|
if (process.argv[2] === 'develop') {
|
|
build();
|
|
|
|
gaze('modules/**/**.js', function(err, watcher) {
|
|
watcher.on('all', function() {
|
|
build();
|
|
});
|
|
});
|
|
|
|
http.createServer(
|
|
ecstatic({ root: __dirname, cache: 0 })
|
|
).listen(8080);
|
|
|
|
console.log('Listening on :8080');
|
|
|
|
} else {
|
|
build();
|
|
}
|
|
|
|
|
|
|
|
function unlink(f) {
|
|
try { fs.unlinkSync(f); } catch (e) { /* noop */ }
|
|
}
|
|
|
|
function build() {
|
|
if (building) return;
|
|
|
|
// Start clean
|
|
unlink('dist/iD.js');
|
|
unlink('dist/iD.js.map');
|
|
|
|
building = true;
|
|
console.log('Rebuilding');
|
|
console.time('Rebuilt');
|
|
|
|
rollup.rollup({
|
|
entry: './modules/id.js',
|
|
plugins: [
|
|
nodeResolve({
|
|
jsnext: true, main: true, browser: false
|
|
}),
|
|
commonjs(),
|
|
json()
|
|
]
|
|
|
|
}).then(function (bundle) {
|
|
bundle.write({
|
|
format: 'iife',
|
|
dest: 'dist/iD.js',
|
|
sourceMap: true,
|
|
useStrict: false
|
|
});
|
|
building = false;
|
|
console.timeEnd('Rebuilt');
|
|
|
|
}, function(err) {
|
|
building = false;
|
|
console.error(err);
|
|
});
|
|
}
|
|
|