Skip to content

Commit

Permalink
Fix watch mode when using presets (#2072)
Browse files Browse the repository at this point in the history
  • Loading branch information
mvestergaard authored and dotansimha committed Jul 3, 2019
1 parent 5e31f26 commit b70d122
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion packages/graphql-codegen-cli/src/utils/watcher.ts
Expand Up @@ -6,6 +6,7 @@ import * as isGlob from 'is-glob';
import * as logSymbols from 'log-symbols';
import { debugLog } from './debugging';
import { getLogger } from './logger';
import path from 'path';

function log(msg: string) {
// double spaces to inline the message with Listr
Expand Down Expand Up @@ -56,6 +57,20 @@ export const createWatcher = (config: Types.Config, onNext: (result: Types.FileO
const chokidar = await import('chokidar');
emitWatching();

const ignored: string[] = [];
Object.keys(config.generates)
.map(filename => ({ filename, config: normalizeOutputParam(config.generates[filename]) }))
.forEach(entry => {
if (entry.config.preset) {
const extension = entry.config.presetConfig && entry.config.presetConfig.extension;
if (extension) {
ignored.push(path.join(entry.filename, '**', '*' + extension));
}
} else {
ignored.push(entry.filename);
}
});

watcher = chokidar.watch(files, {
persistent: true,
ignoreInitial: true,
Expand All @@ -69,7 +84,7 @@ export const createWatcher = (config: Types.Config, onNext: (result: Types.FileO
awaitWriteFinish: true,
ignorePermissionErrors: false,
atomic: true,
ignored: Object.keys(config.generates),
ignored,
});

debugLog(`[Watcher] Started`);
Expand Down

0 comments on commit b70d122

Please sign in to comment.