From e96516baca202fc1eafd81b2962c179e0f22fa83 Mon Sep 17 00:00:00 2001 From: Hagen Date: Fri, 24 Jan 2020 17:14:59 +0100 Subject: [PATCH 1/5] add unlink events to patternWatcher --- packages/core/src/lib/watchPatternLabFiles.js | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/core/src/lib/watchPatternLabFiles.js b/packages/core/src/lib/watchPatternLabFiles.js index f5ab0c1aa..f46c28d0a 100644 --- a/packages/core/src/lib/watchPatternLabFiles.js +++ b/packages/core/src/lib/watchPatternLabFiles.js @@ -131,8 +131,32 @@ const watchPatternLabFiles = ( file: p, } ); - }); - + }) + // the watcher does not react on unlink and unlinkDir + // events, so patterns are never removed + .on('unlink', async p => { + patternlab.graph.sync() + patternlab.graph.upgradeVersion() + await pluginMananger.raiseEvent( + patternlab, + events.PATTERNLAB_PATTERN_CHANGE, + { + file: p, + } + ); + }) + .on('unlinkDir', async p => { + patternlab.graph.sync() + patternlab.graph.upgradeVersion() + await pluginMananger.raiseEvent( + patternlab, + events.PATTERNLAB_PATTERN_CHANGE, + { + file: p, + } + ); + }) + ; patternlab.watchers[patternWatchPath] = patternWatcher; }); From 30cb9f366ec0d57056b6ee111ecafd0df9c2d405 Mon Sep 17 00:00:00 2001 From: Hagen Date: Fri, 24 Jan 2020 17:15:11 +0100 Subject: [PATCH 2/5] reset patterns before updating --- packages/core/src/lib/patternlab.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/core/src/lib/patternlab.js b/packages/core/src/lib/patternlab.js index cd89c64c4..0bea8f1b7 100644 --- a/packages/core/src/lib/patternlab.js +++ b/packages/core/src/lib/patternlab.js @@ -307,6 +307,11 @@ module.exports = class PatternLab { // dive once to perform iterative populating of patternlab object processAllPatternsIterative(patterns_dir) { const self = this; + + // before updating the patterns has to be reset, otherwise + // deleted pattern would still be present in the patterns array + this.patterns = []; + const promiseAllPatternFiles = new Promise(function(resolve) { dive( patterns_dir, From 69204e9686022505adda7d7daa2bf8d0e7f365bb Mon Sep 17 00:00:00 2001 From: Hagen Date: Fri, 24 Jan 2020 17:17:25 +0100 Subject: [PATCH 3/5] allow passing the watch flag --- packages/cli/bin/build.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/cli/bin/build.js b/packages/cli/bin/build.js index 51108a33d..c8cafacf6 100644 --- a/packages/cli/bin/build.js +++ b/packages/cli/bin/build.js @@ -19,6 +19,10 @@ function build(config, options) { // Initiate Pattern Lab core with the config const patternLab = pl(config); + if (options && options.watch) { + config.watch = options.watch + } + /** * Check whether a flag was passed for build * 1. Build only patterns @@ -31,7 +35,7 @@ function build(config, options) { } else { // 2 debug(`build: Building your project now into ${config.paths.public.root}`); - return patternLab.build(config.cleanPublic); + return patternLab.build(config); } } From be15ab70dc846087fc3cbaf2919347eec57fbfe1 Mon Sep 17 00:00:00 2001 From: Josef Bredreck Date: Mon, 17 Aug 2020 21:57:27 +0200 Subject: [PATCH 4/5] #1120: Fix eslint errors --- packages/cli/bin/patternlab.js | 3 +-- packages/core/src/lib/patternlab.js | 4 ++-- packages/core/src/lib/watchPatternLabFiles.js | 11 +++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/cli/bin/patternlab.js b/packages/cli/bin/patternlab.js index a76468994..777375129 100755 --- a/packages/cli/bin/patternlab.js +++ b/packages/cli/bin/patternlab.js @@ -20,8 +20,7 @@ log.on('patternlab.error', err => console.log(err)); // eslint-disable-line log.on('patternlab.info', msg => console.log(msg)); // eslint-disable-line // Conditionally register verbose logging -const verboseLogs = verbose => - log.on('patternlab.debug', msg => console.log(msg)); // eslint-disable-line +const verboseLogs = () => log.on('patternlab.debug', msg => console.log(msg)); // eslint-disable-line // Conditionally unregister all logging const silenceLogs = () => { diff --git a/packages/core/src/lib/patternlab.js b/packages/core/src/lib/patternlab.js index 0bea8f1b7..d9d1f5acf 100644 --- a/packages/core/src/lib/patternlab.js +++ b/packages/core/src/lib/patternlab.js @@ -307,11 +307,11 @@ module.exports = class PatternLab { // dive once to perform iterative populating of patternlab object processAllPatternsIterative(patterns_dir) { const self = this; - + // before updating the patterns has to be reset, otherwise // deleted pattern would still be present in the patterns array this.patterns = []; - + const promiseAllPatternFiles = new Promise(function(resolve) { dive( patterns_dir, diff --git a/packages/core/src/lib/watchPatternLabFiles.js b/packages/core/src/lib/watchPatternLabFiles.js index f46c28d0a..6af0bcbb8 100644 --- a/packages/core/src/lib/watchPatternLabFiles.js +++ b/packages/core/src/lib/watchPatternLabFiles.js @@ -135,8 +135,8 @@ const watchPatternLabFiles = ( // the watcher does not react on unlink and unlinkDir // events, so patterns are never removed .on('unlink', async p => { - patternlab.graph.sync() - patternlab.graph.upgradeVersion() + patternlab.graph.sync(); + patternlab.graph.upgradeVersion(); await pluginMananger.raiseEvent( patternlab, events.PATTERNLAB_PATTERN_CHANGE, @@ -146,8 +146,8 @@ const watchPatternLabFiles = ( ); }) .on('unlinkDir', async p => { - patternlab.graph.sync() - patternlab.graph.upgradeVersion() + patternlab.graph.sync(); + patternlab.graph.upgradeVersion(); await pluginMananger.raiseEvent( patternlab, events.PATTERNLAB_PATTERN_CHANGE, @@ -155,8 +155,7 @@ const watchPatternLabFiles = ( file: p, } ); - }) - ; + }); patternlab.watchers[patternWatchPath] = patternWatcher; }); From 07b6ac7dabeac583c4f9c80e7566ecf6803ce91c Mon Sep 17 00:00:00 2001 From: Josef Bredreck Date: Tue, 18 Aug 2020 18:44:20 +0200 Subject: [PATCH 5/5] #1120: Fix watch not taken in account --- packages/cli/bin/build.js | 2 +- packages/cli/bin/patternlab.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/bin/build.js b/packages/cli/bin/build.js index c8cafacf6..383be9b59 100644 --- a/packages/cli/bin/build.js +++ b/packages/cli/bin/build.js @@ -20,7 +20,7 @@ function build(config, options) { const patternLab = pl(config); if (options && options.watch) { - config.watch = options.watch + config.watch = options.watch; } /** diff --git a/packages/cli/bin/patternlab.js b/packages/cli/bin/patternlab.js index 777375129..80c12acfb 100755 --- a/packages/cli/bin/patternlab.js +++ b/packages/cli/bin/patternlab.js @@ -57,7 +57,7 @@ cli .alias('compile') .description('Build Pattern Lab. Optionally (re-)build only the patterns') .option('-p, --patterns-only', 'Whether to only build patterns') - .option('--no-watch', 'Start watching for changes') + .option('--watch', 'Start watching for changes') .action(build); /**