From cdf3b92ae543349e7a2bd833874c22eb9fb68023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20S=C3=A1nchez=20Ortega?= Date: Wed, 27 Apr 2016 10:03:07 +0200 Subject: [PATCH] =?UTF-8?q?=E2=86=92=200.7.1,=20restart=20watching=20gobbl?= =?UTF-8?q?efile=20if=20it's=20deleted/moved=20away?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ lib/utils/logger.js | 4 ++++ lib/watchOrServe.js | 21 ++++++++++++++++----- package.json | 2 +- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5643060..373db56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # changelog +## 0.7.1 + +* Watch gobblefile again when deleted (happens in editors which rename old files as backups) + ## 0.7.0 * Switch to pathwatcher diff --git a/lib/utils/logger.js b/lib/utils/logger.js index 410c488..958b0d1 100644 --- a/lib/utils/logger.js +++ b/lib/utils/logger.js @@ -118,6 +118,10 @@ messages = { return 'gobblefile changed. restarting server'; }, + GOBBLEFILE_DELETED: function () { + return 'gobblefile deleted or moved away. trying to read again'; + }, + MERGE_START: function ( x ) { return chalk.bold( x.id ) + ' running...'; }, diff --git a/lib/watchOrServe.js b/lib/watchOrServe.js index b85f71f..2ad066b 100644 --- a/lib/watchOrServe.js +++ b/lib/watchOrServe.js @@ -6,16 +6,27 @@ module.exports = function ( gobblefile, getTask ) { resuming; resume(); +logger.info({message: 'gobblefile is ' + gobblefile}); + function watch () { + pathwatcher.watch( gobblefile, type => { - pathwatcher.watch( gobblefile, type => { - if ( type === 'change' ) restart(); - }); + if ( type === 'change' ) { + logger.info({ code: 'GOBBLEFILE_CHANGED' }); + return restart(); + } + + if ( type === 'delete' ) { + logger.info({ code: 'GOBBLEFILE_DELETED' }); + return setTimeout( watch, 2000 ); + } + }); + } + + watch(); function restart () { if ( resuming ) return; - logger.info({ code: 'GOBBLEFILE_CHANGED' }); - process.env.GOBBLE_RESET_UID = 'reset'; if ( task ) { diff --git a/package.json b/package.json index 6a9692d..4a414c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "gobble-cli", "description": "Command line interface for gobble", - "version": "0.7.0", + "version": "0.7.1", "author": "Rich Harris", "license": "MIT", "repository": "https://github.com/gobblejs/gobble-cli",