diff -u b/core/package.json b/core/package.json --- b/core/package.json +++ b/core/package.json @@ -10,7 +10,8 @@ "devDependencies": { "babel-cli": "6.16.0", "babel-preset-es2015": "6.16.0", - "chokidar": "1.6.0" + "chokidar": "1.6.0", + "glob": "^7.1.1" }, "babel": { "presets": [ diff -u b/core/scripts/js/babel-es6-compile.js b/core/scripts/js/babel-es6-compile.js --- b/core/scripts/js/babel-es6-compile.js +++ b/core/scripts/js/babel-es6-compile.js @@ -12,7 +12,7 @@ const fs = require('fs'); const path = require('path'); const babel = require('babel-core'); -const chokidar = require('chokidar'); +const glob = require('glob'); // Logging human-readable timestamp. const log = function (message) { @@ -24,12 +24,6 @@ return code + '\n\n//# sourceMappingURL=' + path.basename(loc); } -const fileMatch = './**/*.es6.js'; -const watcher = chokidar.watch(fileMatch, { - ignoreInitial: false, - ignored: 'node_modules/**' -}); - const babelOptions = { sourceMaps: true, comments: false @@ -45,15 +39,18 @@ - fs.writeFileSync(mapLoc, JSON.stringify(result.map)); + fs.writeFile(mapLoc, JSON.stringify(result.map)); - fs.writeFileSync(`${fileName}.js`, result.code); + fs.writeFile(`${fileName}.js`, result.code); log(`'${filePath}' has been compiled.`); }); }; -watcher - .on('add', filePath => changedOrAdded(filePath)) - .on('change', filePath => changedOrAdded(filePath)) - .on('ready', () => { - log('Finished!'); - process.exit(0); - }); +const fileMatch = './**/*.es6.js'; +const globOptions = { ignore: 'node_modules/**' }; +const processFiles = (error, filePaths) => { + if (error) { + process.exitCode = 1; + } + filePaths.forEach(changedOrAdded); +}; +glob(fileMatch, globOptions, processFiles); +process.exitCode = 0;