-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.babel.js
61 lines (49 loc) · 1.22 KB
/
gulpfile.babel.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
'use strict'
const gulp = require('gulp'),
sass = require('gulp-sass'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
webpack = require('webpack-stream'),
babel = require('gulp-babel'),
UglifyJsPlugin = require('uglifyjs-webpack-plugin');
function handleError(err) {
console.log(err.toString());
this.emit('end');
}
gulp.task('js', function(){
return gulp.src('./dev/js/**.js')
.pipe(webpack({
module: {
loaders: [{
test: /\.js$/,
loader: "babel-loader",
options: {
presets: ["es2015"]
},
}]
},
output: {
filename: 'app.js'
},
plugins: [
new UglifyJsPlugin()
]
}))
.on('error', handleError)
.pipe(gulp.dest('./dist/js'));
});
gulp.task('sass', function () {
return gulp.src('./dev/sass/**/*.scss')
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(gulp.dest('./dist/css'));
});
gulp.task('default', () => {
gulp.watch('./dev/js/*.js', gulp.series('js'));
gulp.watch('./dev/sass/**/*.scss', gulp.series('sass'));
});
gulp.task('scripts', () => {
gulp.watch('./dev/js/*.js', gulp.series('js'));
});
gulp.task('styles', () => {
gulp.watch('./dev/sass/**/*.scss', gulp.series('sass'));
});