claro-8.x-1.x-dev/scripts/js/babel-es6-watch.js
scripts/js/babel-es6-watch.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 42 43 | /** * @file * * Watch changes to *.es6.js files and compile them to ES5 during development. * * @internal This file is part of the core javascript build process and is only * meant to be used in that context. */ 'use strict' ; const fs = require( 'fs' ); const path = require( 'path' ); const chokidar = require( 'chokidar' ); const changeOrAdded = require( './changeOrAdded' ); const log = require( './log' ); // Match only on .es6.js files. const fileMatch = './**/*.es6.js' ; // Ignore everything in node_modules const watcher = chokidar.watch(fileMatch, { ignoreInitial: true , ignored: './node_modules/**' }); const unlinkHandler = (err) => { if (err) { log(err); } }; // Watch for filesystem changes. watcher .on( 'add' , changeOrAdded) .on( 'change' , changeOrAdded) .on( 'unlink' , (filePath) => { const fileName = filePath.slice(0, -7); fs.stat(`${fileName}.js`, () => { fs.unlink(`${fileName}.js`, unlinkHandler); }); }) .on( 'ready' , () => log(`Watching '${fileMatch}' for changes.`)); |