-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
78 lines (72 loc) · 2.31 KB
/
Copy pathgulpfile.js
File metadata and controls
78 lines (72 loc) · 2.31 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
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
71
72
73
74
75
76
77
78
let gulp = require("gulp"),
sass = require("gulp-sass"),
browserSync = require("browser-sync").create(),
uglify = require("gulp-uglify"),
gulpIf = require("gulp-if"),
del = require("del"),
runSequence = require("run-sequence"),
htmlmin = require("gulp-htmlmin"),
cssnano = require("gulp-cssnano"),
concat = require("gulp-concat"),
postcss = require("gulp-postcss"),
autoprefixer = require("autoprefixer"),
babel = require("gulp-babel"),
htmlreplace = require("gulp-html-replace"),
inlineCss = require("gulp-inline-css"),
replace = require("gulp-replace"),
fs = require("fs");
let config = require("./config");
inject = require("gulp-inject");
const transform = (filePath, file) => {
return file.contents.toString("utf8");
};
const injectOptions = {
transform,
quiet: true,
endtag: "]]*/",
removeTags: true
// selfClosingTag: true
};
gulp.task("sass", function() {
return gulp
.src("src/sass/*.scss")
.pipe(sass()) // Converts Sass to CSS with gulp-sass
.pipe(postcss([autoprefixer({ browsers: ["last 10 version"] })])) // add auto prefixer in css
.pipe(gulp.dest("src/client/css"))
.pipe(
browserSync.reload({
stream: true
})
);
});
gulp.task("script", () => {
runSequence("concat:js", function() {
console.log("script compile", new Date());
});
});
gulp.task("concat:js", () => {
return gulp
.src(["src/js/firebase.js", "src/js/data.store.js", "src/js/app.js"])
.pipe(replace("@@apikey@@", config.apiKey))
.pipe(replace("@@authDomain@@", config.authDomain))
.pipe(replace("@@databaseUrl@@", config.databaseURL))
.pipe(replace("@@projectId@@", config.projectId))
.pipe(replace("@@storageBucket@@", config.storageBucket))
.pipe(replace("@@messageSenderId@@", config.messagingSenderId))
.pipe(replace("@@appName@@", config.appName))
.pipe(concat("index.js"))
.pipe(gulp.dest("src/client/js/"));
});
gulp.task("serve", ["browserSync", "sass", "script"], function() {
// Reloads the browser whenever CSS, HTML or JS files change
gulp.watch("src/sass/**/*.scss", ["sass"]);
gulp.watch("src/*.html", browserSync.reload);
gulp.watch("src/js/**/*.js", ["script"], browserSync.reload);
});
gulp.task("browserSync", function() {
browserSync.init({
server: {
baseDir: "src"
}
});
});