-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
57 lines (53 loc) · 1.45 KB
/
gulpfile.js
File metadata and controls
57 lines (53 loc) · 1.45 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
var fs = require("fs");
var browserify = require("browserify");
var gulp = require("gulp");
var sass = require("gulp-sass");
var minify = require("gulp-csso");
var buffer = require("vinyl-buffer");
var source = require("vinyl-source-stream");
var uglify = require("gulp-uglify");
// var gzip = require("gulp-gzip")
gulp.task("react-prod", function() {
process.env.NODE_ENV = "production"
return (
browserify({
entries: "./client/components/index.js",
debug: true
})
.transform("babelify", { presets: ["env", "react"] })
.bundle()
.pipe(source("build.min.js"))
.pipe(buffer())
.pipe(uglify())
//.pipe(gzip())
.pipe(gulp.dest("static"))
)
})
gulp.task("react", function(done) {
browserify("./client/components/index.js")
.transform(
"babelify",
{ presets: ["env", "react"] },
{
global: true, // also apply to node_modules
NODE_ENV: "production"
}
)
.bundle()
.pipe(fs.createWriteStream("static/build.min.js"))
done()
})
gulp.task("sass", function() {
return gulp
.src("./client/sass/**/*.scss")
.pipe(sass().on("error", sass.logError))
.pipe(gulp.dest("./static/css"))
.pipe(minify())
.pipe(gulp.dest("./static/css"))
})
gulp.task("serve", gulp.series("sass", "react-prod"))
gulp.task("dev", function() {
gulp.watch("client/**/*.scss", gulp.series("sass")),
gulp.watch("client/***/**/*.js", gulp.series("react"))
return
})