-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
35 lines (29 loc) · 1.07 KB
/
gulpfile.js
File metadata and controls
35 lines (29 loc) · 1.07 KB
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 { resolve } = require("path");
const { src, watch, dest } = require("gulp");
const sass = require("gulp-sass")(require("sass"));
const cleanCSS = require("gulp-clean-css");
const header = require("gulp-header");
const themeDir = resolve("ckanext/better_stats/assets/theme");
const assetsDir = resolve("ckanext/better_stats/assets");
const banner = "/* builded automatically, do not touch, styles are in assets/theme/*.scss */\n";
function build() {
return src(resolve(themeDir, "styles.scss"))
.pipe(
sass({ outputStyle: "compressed" }).on("error", sass.logError)
)
.pipe(cleanCSS({ level: 2 }))
.pipe(header(banner))
.pipe(dest(resolve(assetsDir, "css")));
}
function buildDev() {
return src(resolve(themeDir, "styles.scss"))
.pipe(
sass({ outputStyle: "expanded" }).on("error", sass.logError)
)
.pipe(dest(resolve(assetsDir, "css")));
}
function watchSource() {
watch(themeDir + "/**/*.scss", { ignoreInitial: false }, buildDev);
}
exports.build = build;
exports.watch = watchSource;