72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
const { series, parallel, watch } = require('gulp');
|
|
const cached = require('gulp-cached');
|
|
|
|
const reload = require('./reload');
|
|
const buildLocales = require('./build--locales');
|
|
const printResults = require('./print--results');
|
|
const buildStyles = require('./build--styles');
|
|
const buildScriptsExternal = require('./build--scripts-external');
|
|
const lintScripts = require('./lint--scripts');
|
|
const buildScriptsES6 = require('./build--scripts-es6');
|
|
const copyAssets = require('./copy--assets');
|
|
|
|
const {
|
|
filesPug,
|
|
srcLocales,
|
|
filesScssBuilt,
|
|
filesScssPartial,
|
|
filesJs,
|
|
filesAssets,
|
|
} = require('../config/directories');
|
|
const jsExternalPaths = require('../config/externals-js');
|
|
|
|
function runWatchers(cb) {
|
|
const reloadAndShowResults = parallel(printResults, reload);
|
|
|
|
// HTML --------------------
|
|
watch(filesPug, reload);
|
|
|
|
// LOCALE --------------------
|
|
watch(`${srcLocales}*/*.json`, series(
|
|
buildLocales,
|
|
reloadAndShowResults,
|
|
));
|
|
|
|
// CSS --------------------
|
|
watch(filesScssBuilt, series(
|
|
buildStyles,
|
|
printResults,
|
|
));
|
|
|
|
watch(filesScssPartial, series(
|
|
buildStyles,
|
|
printResults,
|
|
)).on('change', () => delete cached.caches.scss);
|
|
|
|
// JS --------------------
|
|
watch(jsExternalPaths, series(
|
|
buildScriptsExternal,
|
|
reloadAndShowResults
|
|
));
|
|
|
|
watch(filesJs, series(
|
|
lintScripts,
|
|
buildScriptsES6,
|
|
reloadAndShowResults,
|
|
));
|
|
|
|
// ASSETS --------------------
|
|
watch(filesAssets, series(
|
|
copyAssets,
|
|
reloadAndShowResults,
|
|
));
|
|
|
|
if (typeof cb === 'function') {
|
|
cb();
|
|
}
|
|
}
|
|
|
|
runWatchers.displayName = 'run:watchers';
|
|
|
|
module.exports = runWatchers;
|