-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgulpfile.js
72 lines (62 loc) · 1.79 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
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
var gulp = require("gulp");
var imagemin = require("gulp-imagemin");
var newer = require("gulp-newer");
var sass = require("gulp-sass");
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require("gulp-sourcemaps");
var del = require("del");
var runSequence = require("run-sequence");
var webpack = require("gulp-webpack");
var folder = {
src: "landing-page/src/",
build: "landing-page/dist/"
};
gulp.task("images", function() {
var out = folder.build + "images/";
return gulp
.src(folder.src + "images/**/*")
.pipe(newer(out))
.pipe(imagemin({ optimizationLevel: 5 }))
.pipe(gulp.dest(out));
});
gulp.task("html", ["images"], function() {
return gulp.src(folder.src + "html/**/*")
.pipe(gulp.dest(folder.build + "/"));
});
gulp.task("js", function() {
return gulp
.src(folder.src + "js/app.js")
.pipe(webpack(require("./webpack.config.js")))
.pipe(gulp.dest(folder.build + "js"));
});
gulp.task("css", ["images", "fonts"], function() {
return gulp
.src(folder.src + "styles/main.scss")
.pipe(sourcemaps.init())
.pipe(autoprefixer())
.pipe(
sass({
outputStyle: "nested",
imagePath: "images/",
precision: 3,
errLogToConsole: true
})
)
.pipe(sourcemaps.write("./"))
.pipe(gulp.dest(folder.build + "css"));
});
gulp.task("clean:dist", function() {
return del.sync(folder.build);
});
gulp.task("fonts", function() {
return gulp
.src(folder.src + "fonts/**/*")
.pipe(gulp.dest(folder.build + "fonts"));
});
gulp.task("static", function() {
return gulp.src(folder.src + "static/**/*").pipe(gulp.dest(folder.build));
});
gulp.task("run", ["html", "css", "js", "fonts", "static"]);
gulp.task("default", function() {
runSequence("clean:dist", ["run"]);
});