@inkline/plugin
Version:
<p align="center"> <a href="https://inkline.io/"> <img src="https://raw.githubusercontent.com/inkline/inkline.io/main/assets/images/logo/logo-black.svg" alt="Inkline" width=72 height=72> </a> </p>
24 lines (23 loc) • 701 B
JavaScript
import * as chokidar from "chokidar";
import { build } from "./build.mjs";
import { getResolvedOptions } from "@inkline/config";
import { resolve } from "path";
import { Logger } from "@grozav/logger";
export async function watch(options) {
const { configDir, configFile, configExtName } = getResolvedOptions(options);
if (!options.silent) {
Logger.info(`Watching ${configFile}${configExtName} for changes...`);
}
const watcher = chokidar.watch(
resolve(configDir, `${configFile}${configExtName}`),
{
persistent: true
}
);
const watchFn = async () => {
await build(options, true);
};
watcher.on("change", watchFn);
await build(options);
return watcher;
}