Last active
November 15, 2017 17:48
-
-
Save stevenkaspar/60ca8e38b3cc4e2892b8e89f4c9897d6 to your computer and use it in GitHub Desktop.
KeystoneJS SASS Development Gulpfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* gulp file that will restart keystonejs app and compile sass | |
*/ | |
'use strict'; | |
var gulp = require('gulp'); | |
var watch = require('gulp-watch'); | |
var shell = require('gulp-shell') | |
var sass = require('gulp-sass'); | |
var paths = { | |
'src':['./models/**/*.js','./routes/**/*.js', 'keystone.js', 'package.json'] | |
, | |
'style': { | |
all: './public/styles/**/*.scss', | |
output: './public/styles/' | |
} | |
}; | |
gulp.task('watch:sass', function () { | |
gulp.watch(paths.style.all, ['sass']); | |
}); | |
gulp.task('sass', function(){ | |
gulp.src(paths.style.all) | |
.pipe(sass().on('error', sass.logError)) | |
.pipe(gulp.dest(paths.style.output)); | |
}); | |
/** | |
* logic for starting and restarting server process | |
*/ | |
// node process | |
const spawn = require('child_process').spawn; | |
var node_process; | |
// | |
const dest_path = `.`; | |
let restartServer = function(){ | |
node_process.kill(); | |
node_process = startServer(); | |
} | |
let startServer = function(){ | |
var local_node_process = spawn('node', ['keystone'], {cwd: dest_path}); | |
local_node_process.on('close', (code, signal) => { | |
console.log(`-- Server process closed --`); | |
}); | |
local_node_process.stdout.on('data', (data) => { | |
console.log(`${data}`); | |
}); | |
local_node_process.stderr.on('data', (data) => { | |
console.log(`Error: ${data}`); | |
}); | |
return local_node_process; | |
} | |
const server_files = ['./models/**/*.js','./routes/**/*.js', 'keystone.js', 'package.json']; | |
const watcher = gulp.watch(server_files); | |
watcher.on('change', function(event){ | |
restartServer(); | |
}) | |
// start the server process | |
node_process = startServer(); | |
//gulp.task('runKeystone', shell.task('node keystone.js')); | |
gulp.task('watch', [ | |
'watch:sass', | |
]); | |
gulp.task('default', ['watch']);//, 'runKeystone']); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment