-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
44 lines (37 loc) · 1.24 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
const gulp = require('gulp');
const sass = require('gulp-sass');
const exec = require('gulp-exec');
const concat = require('gulp-concat');
const cssnano = require('gulp-cssnano');
const merge = require('merge-stream');
gulp.task('start', () => {
const options = {
continueOnError: false, // default = false, true means don't emit error event
pipeStdout: false, // default = false, true means stdout is written to file.contents
};
const reportOptions = {
err: true, // default = true, false means don't write err
stderr: true, // default = true, false means don't write stderr
stdout: true, // default = true, false means don't write stdout
};
return gulp.src('./*')
.pipe(exec('npm run startdev', options))
.pipe(exec.reporter(reportOptions))
;
});
gulp.task('scss', () => {
const scssStream = gulp.src(['./scss/mixins.scss', './scss/colours.scss', './scss/**/**/*.scss'])
.pipe(concat('main.scss'))
.pipe(sass())
.pipe(concat('main.scss'))
;
return merge(scssStream)
.pipe(concat('main.min.css'))
.pipe(cssnano())
.pipe(gulp.dest('./src/components/css'))
;
});
gulp.task('watch', ['scss'], () => {
gulp.watch('./scss/**/*.scss', ['scss']);
});
gulp.task('default', ['start', 'watch']);