-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
35 lines (31 loc) · 1.23 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
const _ = require("lodash");
const merge = require("merge-stream");
const gulp = require("gulp");
/**
* Copy required asset files to app/assets/** folder
*/
gulp.task("assets", () => {
const modules_dirname = "node_modules",
config = {
app: { vue: "*", flatpickr: "*", lodash: { files: "lodash*.js", dest: "/dist" } },
"app/system/modules/editor/app": { tinymce: "*", marked: "*", codemirror: "*" },
};
return merge.apply(
null,
_.map(config, (assets, module) => {
let files,
assets_dirname = module + "/assets";
return _.map(assets, (cfg, asset) => {
let source = modules_dirname + "/" + asset,
dest = assets_dirname + "/" + asset;
files = typeof cfg === "object" && cfg.files ? source + "/" + cfg.files : source + "/" + "**";
dest = typeof cfg === "object" && cfg.dest ? dest + cfg.dest : dest;
return gulp.src([files]).pipe(gulp.dest(dest));
});
})
);
});
gulp.task("uikit", () => {
return gulp.src("./node_modules/uikit/dist/**/*").pipe(gulp.dest("./app/assets/uikit/dist/"));
});
gulp.task("default", gulp.parallel("assets", "uikit"));