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",