forked from comat0zz/fvtt_see_you_in_hell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
70 lines (55 loc) · 1.87 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
const gulp = require("gulp");
const cb = require("cb");
const fs = require("fs");
const through2 = require("through2");
const Datastore = require("nedb");
const path = require("path");
const mergeStream = require('merge-stream');
var less = require('gulp-less');
const PATH_SRC = "src"
const PACK_SRC = path.join(PATH_SRC, "packs");
const PACK_DIST = "packs";
const CSS_SRC = path.join(PATH_SRC, "less");
const CSS_DIST = "styles";
/* ----------------------------------------- */
/* Compile Compendium
/* ----------------------------------------- */
function compilePacks() {
// determine the source folders to process
const folders = fs.readdirSync(PACK_SRC).filter((file) => {
return fs.statSync(path.join(PACK_SRC, file)).isDirectory();
});
// process each folder into a compendium db
const packs = folders.map((folder) => {
const dbpath = path.resolve(__dirname, "packs", `${folder}.db`);
const db = new Datastore({ filename: dbpath, autoload: true });
return gulp.src(path.join(PACK_SRC, folder, "*.json")).pipe(
through2.obj((file, enc, cb) => {
let json = JSON.parse(file.contents.toString());
json.forEach(function callback(value) {
db.insert(value);
});
cb(null, file);
})
);
});
return mergeStream.call(null, packs);
};
/* ----------------------------------------- */
/* Compile Less to CSS
/* ----------------------------------------- */
function compileLess(cb) {
gulp
.src(path.join(CSS_SRC, "index.less"))
.pipe(less())
.pipe(gulp.dest(CSS_DIST));
cb();
};
gulp.task('watch', function(){
gulp.watch(CSS_SRC + '/**/*.less', gulp.series(compileLess));
});
/* ----------------------------------------- */
/* Export Tasks
/* ----------------------------------------- */
exports.compileLess = gulp.series(compileLess);
exports.compilePacks = gulp.series(compilePacks);