Improve watch mode dev scripts
This MR :
- ensures the server is built befors starting the watch mode (commit 1). Without this, the following error is raised several times (as the server is restarded many times until the initial build is finished):
[2] throw err;
[2] ^
[2]
[2] Error: Cannot find module '/home/tonio/Code/kresus/build/server/config.js'
[2] Require stack:
[2] - /home/tonio/Code/kresus/bin/kresus.js
[2] at Function.Module._resolveFilename (internal/modules/cjs/loader.js:772:15)
[2] at Function.Module._load (internal/modules/cjs/loader.js:677:27)
[2] at Module.require (internal/modules/cjs/loader.js:830:19)
[2] at require (internal/modules/cjs/helpers.js:68:18)
[2] at Object.<anonymous> (/home/tonio/Code/kresus/bin/kresus.js:194:1)
[2] at Module._compile (internal/modules/cjs/loader.js:936:30)
[2] at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
[2] at Module.load (internal/modules/cjs/loader.js:790:32)
[2] at Function.Module._load (internal/modules/cjs/loader.js:703:12)
[2] at Function.Module.runMain (internal/modules/cjs/loader.js:999:10) {
[2] code: 'MODULE_NOT_FOUND',
[2] requireStack: [ '/home/tonio/Code/kresus/bin/kresus.js' ]
[2] }
- Configures the watch mode more precisely :
-
TSC_WATCHFILE=UseFsEventsWithFallbackDynamicPolling
env variable optimizes number of recompiles triggered (more info here: https://www.typescriptlang.org/docs/handbook/configuring-watch.html) -
incremental
allows to only rebuild what is necessary, reducing the number of new files emitted, and thus the number of reboots of the server -
preserveWatchOutput
is to keep the stdin/stdout even after a watch rebuild (otherwise the console output is cleared)
-
Edited by Antoine