Setup gulp watch for dev

master
Mark Moffat 2020-02-01 11:21:37 +10:30
parent 12c110440f
commit 8373dfc430
3 changed files with 1043 additions and 2 deletions

View File

@ -1,10 +1,21 @@
const { src, dest, series } = require('gulp');
const { src, dest, series, watch } = require('gulp');
const gulp = require('gulp');
const nodemon = require('gulp-nodemon');
const less = require('gulp-less');
const colors = require('colors');
const cleanCSS = require('gulp-clean-css');
const minify = require('gulp-minify');
const rename = require('gulp-rename');
const nodemonOptions = {
script: 'app.js',
ext: 'js json',
env: { NODE_ENV: 'development' },
verbose: false,
ignore: [],
watch: ['lib/*', 'config/*', 'routes/*', 'app.js']
};
function lessCss(){
return gulp.src('public/stylesheets/less/**/*.less')
.pipe(less({
@ -74,3 +85,17 @@ function compressThemeJS(){
// run the tasks
gulp.task('default', series(lessCss, compressJS, compressCss, compressThemeCss, compressThemeJS));
gulp.task('watch', (done) => {
// Watch LESS files and generate CSS
watch(['public/stylesheets/less/**/*.less'], async () => {
lessCss();
console.log(colors.blue('CSS generation complete'));
});
// run, watch and restart app
nodemon(nodemonOptions)
.once('quit', () => {
done();
});
});

1015
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
"deploy": "gulp deploy",
"testdata": "node lib/testdata.js",
"test": "ava",
"dev": "nodemon app.js",
"dev": "gulp watch",
"lint": "eslint ./"
},
"ava": {
@ -84,6 +84,7 @@
"gulp": "^4.0.2",
"gulp-clean-css": "^3.10.0",
"gulp-minify": "^3.1.0",
"gulp-nodemon": "^2.4.2",
"gulp-rename": "^1.4.0",
"less": "^3.10.3",
"supertest": "^4.0.2"