2020-02-25 19:37:10 -08:00

101 lines
2.5 KiB
JavaScript

const { series, parallel, watch } = require('gulp');
/** **************************************************************************************************************** **/
var content = require('./content');
const parse = exports.parse = content.task('parse');
const pages = exports.pages = content.task('pages');
exports.twitter = content.task('twitter');
exports.favicon = content.task('favicon');
exports.assets = content.task('assets');
exports.content = series(parse, pages);
const everything = content.everything();
everything.prod = content.everything(true);
const filesTask = require('./files');
exports.files = filesTask;
exports['files-prod'] = filesTask.prod;
var scssTask = require('./scss');
exports.scss = scssTask;
var jsTask = require('./scripts');
exports.js = jsTask;
var cleanTask = require('./clean');
exports.clean = cleanTask;
const pushToProd = require('./publish');
exports.push = pushToProd;
const cloudfront = require('./cloudfront');
exports.cloudfront = cloudfront;
/** **************************************************************************************************************** **/
var prodBuildTask = parallel(
scssTask.prod,
jsTask.prod,
filesTask.prod,
everything.prod,
);
var devBuildTask = parallel(
scssTask,
jsTask,
filesTask,
everything,
);
exports.dev = devBuildTask;
exports.prod = prodBuildTask;
exports.publish = series(
cleanTask,
prodBuildTask,
pushToProd,
cloudfront.prod,
);
exports.testpush = pushToProd.dryrun;
/** **************************************************************************************************************** **/
function watcher () {
watch([
'pages/**/*.{md,hbs,html}',
'templates/*.{md,hbs,html}',
], series(exports.parse, exports.twitter, exports.pages));
watch('page/**/*.{jpeg,jpg,png,gif}', series(exports.assets, exports.parse, exports.pages));
watch('scss/*.scss', scssTask);
watch('js/*.js', jsTask);
var forever = require('forever');
var srv = new forever.Monitor('server.js');
srv.start();
forever.startServer(srv);
}
function server () {
var forever = require('forever');
var srv = new forever.Monitor('server.js');
srv.start();
forever.startServer(srv);
}
exports.watch = series(exports.parse, exports.pages, watcher);
exports.uat = series(cleanTask, prodBuildTask, server);
/** **************************************************************************************************************** **/
exports.default = series(cleanTask.dev, devBuildTask, watcher);