forked from Tequila-js/code_dojos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
60 lines (53 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
'use strict';
const argv = require('yargs').argv,
gulp = require('gulp'),
sass = require('gulp-sass'),
gulpIf = require('gulp-if'),
plumber = require('gulp-plumber'),
webpack = require('gulp-webpack'),
webserver = require('gulp-webserver'),
livereload = require('gulp-livereload');
gulp.task('watch-html', function () {
gulp.src('./docs/*.html')
.pipe(gulpIf(argv.env === 'dev', livereload()));
});
gulp.task('process-js', function () {
return gulp.src('app/js/main.js')
.pipe(plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(webpack( require('./webpack.config.js') ))
.pipe(gulp.dest('./docs'))
.pipe(gulpIf(argv.env === 'dev', livereload()));
});
gulp.task('process-sass', function () {
return gulp.src('./app/scss/main.scss')
.pipe(plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sass({
style: "nested",
noCache: true
}))
.pipe(gulp.dest('./docs/'))
.pipe(gulpIf(argv.env === 'dev', livereload()));
});
gulp.task('watch', function () {
livereload.listen();
gulp.src('./docs')
.pipe(webserver({
livereload: false,
directoryListing: false,
open: true
}));
gulp.watch(['./docs/*.html'], ['watch-html']);
gulp.watch(['./app/scss/*.scss', './app/scss/**/*.scss'], ['process-sass']);
gulp.watch(['./app/js/*.jsx', './app/js/**/*.jsx', './app/js/**/**/*.jsx',
'./app/js/*.js', './app/js/**/*.js', './app/js/**/**/*.js'], ['process-js']);
});