Add simplified watch

This commit is contained in:
Tom Raithel
2017-02-10 19:50:03 +01:00
parent 54ecb46956
commit 0673da6867
4 changed files with 47 additions and 5 deletions

View File

@@ -5,12 +5,10 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"build": "npm run clean && npm run build:radar && npm run build:js && npm run build:css", "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:js": "webpack --config webpack.config.js",
"build:css": "postcss -c postcss.config.json -o dist/styles.css styles/main.css", "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": "babel-node ./tasks/watch.js",
"watch:css": "nodemon -w styles -e css --exec 'npm run build:css'",
"watch:js": "nodemon -w js -e js --exec 'npm run build:js'",
"clean": "babel-node ./tasks/clean.js", "clean": "babel-node ./tasks/clean.js",
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },

View File

@@ -1,4 +1,3 @@
body { body {
background: #475157; background: #475157;
box-sizing: border-box; box-sizing: border-box;

View File

@@ -13,6 +13,18 @@ export const staticPath = (...pathInSrc) => (
relativePath('static-pages', ...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) => ( export const distPath = (...pathInDist) => (
relativePath('dist', ...pathInDist) relativePath('dist', ...pathInDist)
); );

33
tasks/watch.js Normal file
View 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');