UNPKG

@roots/bud-api

Version:

bud.js core module

33 lines (32 loc) 919 B
import isString from '@roots/bud-support/isString'; export const watch = async function (...params) { if (!this.isDevelopment) return this; const [files, options] = makeFilesAndOptions(...params); this.hooks.on(`dev.watch.files`, (watchlist = new Set()) => { files.map(file => watchlist.add(file)); return watchlist; }); this.hooks.on(`dev.watch.options`, (watchOptions = {}) => ({ ...watchOptions, ...options, })); return this; }; const makeFilesAndOptions = (...params) => { let files = []; let options = {}; if (Array.isArray(params[0])) { files = params[0]; } if (isString(params[0])) { files = [params[0]]; } if (params[0] && !Array.isArray(params[0]) && !isString(params[0])) { options = params[0]; } if (params[1]) { options = params[1]; } return [files, options]; };