UNPKG

lambda-service

Version:
38 lines (33 loc) 770 B
import chokidar from 'chokidar' import { join, isAbsolute } from 'path' // 按 key 存,值为数组 const watchers = {} function toAbsolute(p) { if (isAbsolute(p)) { return p } return join(process.cwd(), p) } export function watch(key, files) { if (process.env.WATCH_FILES === 'none') return if (!watchers[key]) { watchers[key] = [] } const { APP_ROOT } = process.env const watcher = chokidar.watch(files, { ignoreInitial: true, cwd: APP_ROOT ? toAbsolute(APP_ROOT) : process.cwd() }) watchers[key].push(watcher) return watcher } export function unwatch(key) { if (!key) { return Object.keys(watchers).forEach(unwatch) } if (watchers[key]) { watchers[key].forEach(watcher => { watcher.close() }) } }