mirror of
https://github.com/Redocly/redoc.git
synced 2024-11-26 10:33:44 +03:00
feat(cli): watch the directory that contains the specified spec instead of the spec itself (#519)
Fixes #514
This commit is contained in:
parent
cddfb12806
commit
723516b089
14
cli/index.ts
14
cli/index.ts
|
@ -167,11 +167,17 @@ async function serve(port: number, pathToSpec: string, options: Options = {}) {
|
|||
server.listen(port, () => console.log(`Server started: http://127.0.0.1:${port}`));
|
||||
|
||||
if (options.watch && existsSync(pathToSpec)) {
|
||||
const pathToSpecDirectory = dirname(pathToSpec);
|
||||
const watchOptions = {
|
||||
recursive: true
|
||||
};
|
||||
|
||||
watch(
|
||||
pathToSpec,
|
||||
pathToSpecDirectory,
|
||||
watchOptions,
|
||||
debounce(async (event, filename) => {
|
||||
if (event === 'change' || (event === 'rename' && existsSync(filename))) {
|
||||
console.log(`${pathToSpec} changed, updating docs`);
|
||||
if (event === 'change' || event === 'rename') {
|
||||
console.log(`${join(pathToSpecDirectory, filename)} changed, updating docs`);
|
||||
try {
|
||||
spec = await loadAndBundleSpec(pathToSpec);
|
||||
pageHTML = await getPageHTML(spec, pathToSpec, options);
|
||||
|
@ -182,7 +188,7 @@ async function serve(port: number, pathToSpec: string, options: Options = {}) {
|
|||
}
|
||||
}, 2200),
|
||||
);
|
||||
console.log(`👀 Watching ${pathToSpec} for changes...`);
|
||||
console.log(`👀 Watching ${pathToSpecDirectory} for changes...`);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user