Add simplified watch
This commit is contained in:
@@ -5,12 +5,10 @@
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "npm run clean && npm run build:radar && npm run build:js && npm run build:css",
|
||||
"build:radar": "babel-node ./tasks/build.js",
|
||||
"build:pages": "babel-node ./tasks/build.js",
|
||||
"build:js": "webpack --config webpack.config.js",
|
||||
"build:css": "postcss -c postcss.config.json -o dist/styles.css styles/main.css",
|
||||
"watch:radar": "nodemon -w radar -w static-pages -w templates -e md,pug --exec 'npm run build:radar'",
|
||||
"watch:css": "nodemon -w styles -e css --exec 'npm run build:css'",
|
||||
"watch:js": "nodemon -w js -e js --exec 'npm run build:js'",
|
||||
"watch": "babel-node ./tasks/watch.js",
|
||||
"clean": "babel-node ./tasks/clean.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
body {
|
||||
background: #475157;
|
||||
box-sizing: border-box;
|
||||
|
||||
@@ -13,6 +13,18 @@ export const staticPath = (...pathInSrc) => (
|
||||
relativePath('static-pages', ...pathInSrc)
|
||||
);
|
||||
|
||||
export const templatesPath = (...pathInSrc) => (
|
||||
relativePath('templates', ...pathInSrc)
|
||||
);
|
||||
|
||||
export const stylesPath = (...pathInSrc) => (
|
||||
relativePath('styles', ...pathInSrc)
|
||||
);
|
||||
|
||||
export const jsPath = (...pathInSrc) => (
|
||||
relativePath('js', ...pathInSrc)
|
||||
);
|
||||
|
||||
export const distPath = (...pathInDist) => (
|
||||
relativePath('dist', ...pathInDist)
|
||||
);
|
||||
|
||||
33
tasks/watch.js
Normal file
33
tasks/watch.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import { watch } from 'fs';
|
||||
import { exec } from 'child_process';
|
||||
|
||||
import {
|
||||
stylesPath,
|
||||
jsPath,
|
||||
radarPath,
|
||||
staticPath,
|
||||
templatesPath,
|
||||
} from './file';
|
||||
|
||||
const watchBuild = (name) => (eventType, fileName) => {
|
||||
exec(`npm run build:${name}`, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error(`exec error: ${error}`);
|
||||
return;
|
||||
}
|
||||
console.log(stdout);
|
||||
console.error(stderr);
|
||||
})
|
||||
}
|
||||
|
||||
const options = {
|
||||
recursive: true,
|
||||
}
|
||||
|
||||
watch(stylesPath(), options, watchBuild('css'));
|
||||
watch(jsPath(), options, watchBuild('js'));
|
||||
watch(radarPath(), options, watchBuild('pages'));
|
||||
watch(staticPath(), options, watchBuild('pages'));
|
||||
watch(templatesPath(), options, watchBuild('pages'));
|
||||
|
||||
console.log('Watching for changes, press CTRL+C to quit');
|
||||
Reference in New Issue
Block a user