-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
45 lines (38 loc) · 1.07 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
const { src, dest, series, watch } = require("gulp");
const terser = require("gulp-terser");
var sass = require("gulp-sass")(require("sass"));
const autoprefixer = require("autoprefixer");
const cssnano = require("cssnano");
const postcss = require("gulp-postcss");
const browserSync = require("browser-sync").create();
var cache = require('gulp-cache');
const minifyJS = () =>
src("./src/js/**/*.js").pipe(terser()).pipe(dest("./dist/js"));
const sassToCss = () =>
src("./src/sass/**/*.sass").pipe(sass()).pipe(dest("./src/css"));
const postCss = () =>
src("./src/css/**/*.css")
.pipe(postcss([autoprefixer(), cssnano()]))
.pipe(dest("./dist/css"));
const reloadBrowser = (done) => {
browserSync.reload();
done();
};
const serve = () =>
browserSync.init({
server: {
baseDir: "./",
},
});
exports.default = () => {
cache.clearAll();
serve();
watch(
["./src/js/**/*.js", "./src/sass/**/*.sass"],
series(minifyJS, sassToCss, postCss, reloadBrowser)
);
};
exports.build = (done) => {
series(minifyJS, sassToCss, postCss);
done();
};