-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.babel.js
41 lines (37 loc) · 1013 Bytes
/
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
import gulp from 'gulp';
import util from 'gulp-util';
import plumber from 'gulp-plumber';
import sourcemaps from 'gulp-sourcemaps';
import babel from 'gulp-babel';
import execa from 'execa';
import browserSync from 'browser-sync';
import bsConfig from './bs-config';
const bs = browserSync.create();
gulp.task('babel', () => {
gulp.src('lib/**/*.+(js|jsx)')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(babel())
.on('error', err => {
const {loc, stack} = err;
util.log(`line: ${loc.line}, col: ${loc.column}, ${stack}`);
})
.pipe(gulp.dest('dist/'));
});
gulp.task('example', () => {
try {
execa.shell('yarn example')
.then(result => {
util.log(result.stdout);
})
.catch(err => {
util.log(err.stderr);
});
} catch (err) {}
});
gulp.task('watch', ['babel', 'example'], () => {
bs.init(bsConfig, () => {
gulp.watch('lib/**/*.+(js|jsx)', ['babel', 'example']);
gulp.watch('example/*.js', ['example']);
});
});