mirror of
https://github.com/GenderDysphoria/GenderDysphoria.fyi.git
synced 2025-01-31 07:16:17 +00:00
Add watch tasks for smaller bits, so we’re not building the entire site for css changes
This commit is contained in:
parent
65e500799b
commit
cc9519a6b7
@ -68,3 +68,27 @@ exports.everything = function (prod = false) {
|
|||||||
fn.displayName = prod ? 'buildForProd' : 'build';
|
fn.displayName = prod ? 'buildForProd' : 'build';
|
||||||
return fn;
|
return fn;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
exports.task = function (action, prod = false) {
|
||||||
|
const fn = async () => {
|
||||||
|
const tasks = await {
|
||||||
|
scss,
|
||||||
|
favicon,
|
||||||
|
svg,
|
||||||
|
scripts,
|
||||||
|
}[action](prod);
|
||||||
|
|
||||||
|
if (!tasks.length) return;
|
||||||
|
|
||||||
|
await fs.ensureDir(resolve('dist'));
|
||||||
|
const cache = new Cache({ prod });
|
||||||
|
await cache.load();
|
||||||
|
await evaluate(tasks, cache);
|
||||||
|
await evaluate(tasks.flat(), cache);
|
||||||
|
await cache.save();
|
||||||
|
};
|
||||||
|
|
||||||
|
fn.displayName = prod ? action + 'ForProd' : action;
|
||||||
|
return fn;
|
||||||
|
};
|
||||||
|
@ -8,6 +8,11 @@ var build = require('../build');
|
|||||||
const devBuildTask = build.everything();
|
const devBuildTask = build.everything();
|
||||||
const prodBuildTask = build.everything(true);
|
const prodBuildTask = build.everything(true);
|
||||||
|
|
||||||
|
const scss = exports.scss = build.task('scss');
|
||||||
|
const favicon = exports.favicon = build.task('favicon');
|
||||||
|
const svg = exports.svg = build.task('svg');
|
||||||
|
const scripts = exports.scripts = build.task('scripts');
|
||||||
|
|
||||||
var cleanTask = require('./clean');
|
var cleanTask = require('./clean');
|
||||||
exports.clean = cleanTask;
|
exports.clean = cleanTask;
|
||||||
|
|
||||||
@ -39,10 +44,24 @@ function watcher () {
|
|||||||
'public/**/*',
|
'public/**/*',
|
||||||
'posts/**/*',
|
'posts/**/*',
|
||||||
'templates/*.{md,hbs,html}',
|
'templates/*.{md,hbs,html}',
|
||||||
'scss/*.scss',
|
|
||||||
'js/*.js',
|
|
||||||
], devBuildTask);
|
], devBuildTask);
|
||||||
|
|
||||||
|
watch([
|
||||||
|
'scss/*.scss',
|
||||||
|
], scss);
|
||||||
|
|
||||||
|
watch([
|
||||||
|
'js/*.js',
|
||||||
|
], scripts);
|
||||||
|
|
||||||
|
watch([
|
||||||
|
'svg/**/*.svg',
|
||||||
|
], svg);
|
||||||
|
|
||||||
|
watch([
|
||||||
|
'favicon.png',
|
||||||
|
], favicon);
|
||||||
|
|
||||||
server();
|
server();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user