UNPKG

@bolt/build-tools

Version:

Curated collection of front-end build tools in the Bolt Design System.

44 lines (36 loc) 1.35 kB
const chokidar = require('chokidar'); const path = require('path'); const events = require('@bolt/build-utils/events'); const { getConfig } = require('@bolt/build-utils/config-store'); let config; async function generate() { delete require.cache[require.resolve('./bolt-status-board')]; await require('./bolt-status-board').generateStatusBoard(); require('./bolt-vrt-urls').generateVrtUrls(); // require('./bolt-pkg-versions').generatePackageData(); @todo: ignore data from PL watches before we enable this -- super large file size! } async function watch() { config = config || getConfig(); // auto-regenerate when pattern lab data emitted events.on('build-tasks/pattern-lab:compiled-data', async () => { await generate(); }); const watchedFiles = [path.join(__dirname, '**/*.js')]; // The watch event ~ same engine gulp uses https://www.npmjs.com/package/chokidar const watcher = chokidar.watch(watchedFiles, { ignoreInitial: true, cwd: process.cwd(), ignored: ['**/node_modules/**', '**/vendor/**'], }); // list of all events: https://www.npmjs.com/package/chokidar#methods--events watcher.on('all', async (event, path) => { if (config.verbosity > 3) { console.log('Pattern Lab watch event: ', event, path); } await generate(); }); } module.exports = { generate, watch, };