Add dev task to watch and recompile on source changes
This commit is contained in:
6
package-lock.json
generated
6
package-lock.json
generated
@@ -1745,6 +1745,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node-watch": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.6.2.tgz",
|
||||||
|
"integrity": "sha512-qmb/2ehVk1DC4gZYox7JgWXNucKnVk7uQmcoSeRaC7kzXsT8VOPIe7mbrR9Vc2TpGggS2yGUcgC98A2fKE53AA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"nopt": {
|
"nopt": {
|
||||||
"version": "3.0.6",
|
"version": "3.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
"repository": "https://github.com/OpenSprinkler/Weather-Weather",
|
"repository": "https://github.com/OpenSprinkler/Weather-Weather",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "mocha --exit test",
|
"test": "mocha --exit test",
|
||||||
"start": "node js/server",
|
"start": "npm run compile && node js/server",
|
||||||
|
"dev": "node scripts/serve",
|
||||||
"compile": "tsc"
|
"compile": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -31,6 +32,7 @@
|
|||||||
"hippie": "^0.5.2",
|
"hippie": "^0.5.2",
|
||||||
"istanbul": "^0.4.5",
|
"istanbul": "^0.4.5",
|
||||||
"mocha": "^5.2.0",
|
"mocha": "^5.2.0",
|
||||||
|
"node-watch": "^0.6.2",
|
||||||
"nock": "^9.6.1",
|
"nock": "^9.6.1",
|
||||||
"typescript": "^3.4.5"
|
"typescript": "^3.4.5"
|
||||||
}
|
}
|
||||||
|
|||||||
34
scripts/serve.js
Normal file
34
scripts/serve.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is used for development only and simply launches a web server and
|
||||||
|
* injects a script to trigger a reload when a file changes in the serve
|
||||||
|
* directory.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const exec = require( "child_process" ).exec;
|
||||||
|
const path = require( "path" );
|
||||||
|
|
||||||
|
const routesPath = path.join( __dirname, "../routes/" );
|
||||||
|
const serverPath = path.join( __dirname, "../server.ts" );
|
||||||
|
|
||||||
|
const watch = require( "node-watch" );
|
||||||
|
|
||||||
|
compile();
|
||||||
|
console.log( "OpenSprinkler Development Server Started..." );
|
||||||
|
|
||||||
|
/** Start the web server */
|
||||||
|
exec( `nodemon js/server` );
|
||||||
|
|
||||||
|
/** Watch for changes and recompile */
|
||||||
|
watch( routesPath, { recursive: true }, recompile );
|
||||||
|
watch( serverPath, { recursive: true }, recompile );
|
||||||
|
|
||||||
|
function recompile() {
|
||||||
|
console.log( "Changes detected, reloading..." );
|
||||||
|
compile();
|
||||||
|
}
|
||||||
|
|
||||||
|
function compile() {
|
||||||
|
exec( `npm run compile` );
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user