foundry-sw5e/gulpfile.js

86 lines
2.4 KiB
JavaScript
Raw Normal View History

2021-01-15 22:58:54 -06:00
const gulp = require("gulp");
const less = require("gulp-less");
2020-10-23 17:45:27 -04:00
2021-06-24 13:11:46 +01:00
/* ----------------------------------------- */
/* Constants
/* ----------------------------------------- */
const src = "./src/"
const dest = "./dist/"
2020-10-23 17:45:27 -04:00
/* ----------------------------------------- */
/* Compile LESS
/* ----------------------------------------- */
2021-06-24 13:11:46 +01:00
const SW5E_LESS = [src + "less/**/*.less"];
2021-01-15 22:58:54 -06:00
2020-10-23 17:45:27 -04:00
function compileLESS() {
2021-06-24 13:11:46 +01:00
return gulp.src(src + "less/original/sw5e.less")
.pipe(less())
.pipe(gulp.dest(dest));
2020-10-23 17:45:27 -04:00
}
2021-01-15 22:58:54 -06:00
function compileGlobalLess() {
2021-06-24 13:11:46 +01:00
return gulp.src(src + "less/update/sw5e-global.less")
.pipe(less())
.pipe(gulp.dest(dest));
}
2021-01-15 22:58:54 -06:00
function compileLightLess() {
2021-06-24 13:11:46 +01:00
return gulp.src(src + "less/update/sw5e-light.less")
.pipe(less())
.pipe(gulp.dest(dest));
}
2021-01-15 22:58:54 -06:00
function compileDarkLess() {
2021-06-24 13:11:46 +01:00
return gulp.src(src + "less/update/sw5e-dark.less")
.pipe(less())
.pipe(gulp.dest(dest));
}
const css = gulp.parallel(compileLESS, compileGlobalLess, compileLightLess, compileDarkLess);
/* ----------------------------------------- */
/* Copy Files
/* ----------------------------------------- */
const SW5E_COPY = [src + "**", "!" + src + "less/**/*.less"]
async function copy() {
return new Promise((resolve, reject) => {
gulp.src("README.md").pipe(gulp.dest(dest));
gulp.src(src + "system.json").pipe(gulp.dest(dest));
gulp.src(src + "template.json").pipe(gulp.dest(dest));
gulp.src(src + "sw5e.js").pipe(gulp.dest(dest));
gulp.src(src + "fonts/**").pipe(gulp.dest(dest + "fonts/"));
gulp.src(src + "lang/**").pipe(gulp.dest(dest + "lang/"));
gulp.src(src + "module/**").pipe(gulp.dest(dest + "module/"));
gulp.src(src + "packs/**").pipe(gulp.dest(dest + "packs/"));
gulp.src(src + "templates/**").pipe(gulp.dest(dest + "templates/"));
gulp.src(src + "ui/**").pipe(gulp.dest(dest + "ui/"));
resolve();
});
}
2021-01-15 22:58:54 -06:00
2021-06-24 13:11:46 +01:00
/* ----------------------------------------- */
/* build
/* ----------------------------------------- */
const build = gulp.parallel(css, copy)
2020-10-23 17:45:27 -04:00
/* ----------------------------------------- */
/* Watch Updates
/* ----------------------------------------- */
function watchUpdates() {
gulp.watch(SW5E_LESS, css);
2021-06-24 13:11:46 +01:00
gulp.watch(SW5E_COPY, copy);
2020-10-23 17:45:27 -04:00
}
/* ----------------------------------------- */
/* Export Tasks
/* ----------------------------------------- */
2021-06-24 13:11:46 +01:00
exports.default = build;
exports.watch = watchUpdates;