forked from GitHub-Mirrors/foundry-sw5e
Added watching, and support for mac and linux
This commit is contained in:
parent
53e81e36e4
commit
14b783b22e
1 changed files with 92 additions and 19 deletions
111
gulpfile.js
111
gulpfile.js
|
@ -10,14 +10,12 @@ const fs = require('fs');
|
||||||
const src = "./src/"
|
const src = "./src/"
|
||||||
const dest = "./dist/"
|
const dest = "./dist/"
|
||||||
|
|
||||||
const foundryDest = process.env.LOCALAPPDATA + "/FoundryVTT/Data/systems/sw5e";
|
const foundryDest = process.platform === "win32" ? process.env.LOCALAPPDATA : process.env.HOME + (process.platform === "darwin" ? "" : "/.local/share") + "/FoundryVTT/Data/systems/sw5e/";
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
/* Compile LESS
|
/* Compile LESS
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|
||||||
const SW5E_LESS = [src + "less/**/*.less"];
|
|
||||||
|
|
||||||
function compileLESS() {
|
function compileLESS() {
|
||||||
return gulp.src(src + "less/original/sw5e.less")
|
return gulp.src(src + "less/original/sw5e.less")
|
||||||
.pipe(less())
|
.pipe(less())
|
||||||
|
@ -48,8 +46,6 @@ const css = gulp.parallel(compileLESS, compileGlobalLess, compileLightLess, comp
|
||||||
/* Compile packs
|
/* Compile packs
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|
||||||
const SW5E_PACKS = [src + "packs/packs/**"]
|
|
||||||
|
|
||||||
function jsonToDB() {
|
function jsonToDB() {
|
||||||
return through.obj(async (chunk, enc, cb) => {
|
return through.obj(async (chunk, enc, cb) => {
|
||||||
let result = "";
|
let result = "";
|
||||||
|
@ -73,24 +69,48 @@ function compilePacks() {
|
||||||
/* Copy Files
|
/* Copy Files
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|
||||||
const SW5E_COPY = [src + "**", "!" + src + "less/**/*.less"]
|
async function copySystemTemplate() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
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 + "system.json").pipe(gulp.dest(dest));
|
||||||
gulp.src(src + "template.json").pipe(gulp.dest(dest));
|
gulp.src(src + "template.json").pipe(gulp.dest(dest));
|
||||||
gulp.src(src + "sw5e.js").pipe(gulp.dest(dest));
|
resolve();
|
||||||
gulp.src(src + "fonts/**").pipe(gulp.dest(dest + "fonts/"));
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function copyLang() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
gulp.src(src + "lang/**").pipe(gulp.dest(dest + "lang/"));
|
gulp.src(src + "lang/**").pipe(gulp.dest(dest + "lang/"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function copyJS() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(src + "sw5e.js").pipe(gulp.dest(dest));
|
||||||
gulp.src(src + "module/**").pipe(gulp.dest(dest + "module/"));
|
gulp.src(src + "module/**").pipe(gulp.dest(dest + "module/"));
|
||||||
gulp.src(src + "packs/icons/**").pipe(gulp.dest(dest + "packs/Icons"));
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function copyTemplates() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
gulp.src(src + "templates/**").pipe(gulp.dest(dest + "templates/"));
|
gulp.src(src + "templates/**").pipe(gulp.dest(dest + "templates/"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function copyRemaining() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src("README.md").pipe(gulp.dest(dest));
|
||||||
|
gulp.src(src + "fonts/**").pipe(gulp.dest(dest + "fonts/"));
|
||||||
|
gulp.src(src + "packs/icons/**").pipe(gulp.dest(dest + "packs/Icons"));
|
||||||
gulp.src(src + "ui/**").pipe(gulp.dest(dest + "ui/"));
|
gulp.src(src + "ui/**").pipe(gulp.dest(dest + "ui/"));
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const copy = gulp.parallel(copySystemTemplate, copyLang, copyJS, copyTemplates, copyRemaining)
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
/* build
|
/* build
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
@ -101,19 +121,72 @@ const build = gulp.parallel(css, compilePacks, copy)
|
||||||
/* Send to foundry
|
/* Send to foundry
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|
||||||
async function copyToFoundry() {
|
async function sendCSSToFoundry() {
|
||||||
gulp.src(dest + "/**").pipe(gulp.dest(foundryDest));
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "*.css").pipe(gulp.dest(foundryDest));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const foundry = gulp.series(build, copyToFoundry);
|
async function sendSystemTemplateToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "*.json").pipe(gulp.dest(foundryDest));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendLangToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "lang/**").pipe(gulp.dest(foundryDest + "lang"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendJSToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "sw5e.js").pipe(gulp.dest(foundryDest));
|
||||||
|
gulp.src(dest + "module/**").pipe(gulp.dest(foundryDest + "module"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendPacksToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "packs/packs/**").pipe(gulp.dest(foundryDest + "packs/packs"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendTemplatesToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "templates/**").pipe(gulp.dest(foundryDest + "templates"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendRemainingToFoundry() {
|
||||||
|
return new Promise ((resolve, reject) => {
|
||||||
|
gulp.src(dest + "README.md").pipe(gulp.dest(foundryDest));
|
||||||
|
gulp.src(dest + "fonts/**").pipe(gulp.dest(foundryDest + "fonts/Icons"));
|
||||||
|
gulp.src(dest + "packs/Icons/**").pipe(gulp.dest(foundryDest + "packs/Icons"));
|
||||||
|
gulp.src(dest + "ui/**").pipe(gulp.dest(foundryDest + "ui/Icons"));
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const foundry = gulp.series(build, gulp.parallel(sendCSSToFoundry, sendSystemTemplateToFoundry, sendLangToFoundry, sendJSToFoundry, sendPacksToFoundry, sendTemplatesToFoundry, sendRemainingToFoundry));
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
/* Watch Updates
|
/* Watch Updates
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|
||||||
function watchUpdates() {
|
function watchUpdates() {
|
||||||
gulp.watch(SW5E_LESS, css);
|
gulp.watch([src + "less/**/*.less"], gulp.series(css, sendCSSToFoundry));
|
||||||
gulp.watch(SW5E_COPY, copy);
|
gulp.watch([src + "system.json", src + "template.json"], gulp.series(copySystemTemplate, sendSystemTemplateToFoundry));
|
||||||
|
gulp.watch([src + "lang/**"], gulp.series(copyLang, sendLangToFoundry));
|
||||||
|
gulp.watch([src + "sw5e.js", src + "module/**"], gulp.series(copyJS, sendJSToFoundry));
|
||||||
|
gulp.watch([src + "packs/packs/**"], gulp.series(compilePacks, sendPacksToFoundry));
|
||||||
|
gulp.watch([src + "templates/**"], gulp.series(copyTemplates, sendTemplatesToFoundry));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
@ -122,4 +195,4 @@ function watchUpdates() {
|
||||||
|
|
||||||
exports.default = build;
|
exports.default = build;
|
||||||
exports.foundry = foundry;
|
exports.foundry = foundry;
|
||||||
exports.watch = watchUpdates;
|
exports.watch = gulp.series(foundry, watchUpdates);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue