45 строки
1.1 KiB
JavaScript
45 строки
1.1 KiB
JavaScript
const babel = require('gulp-babel');
|
|
const chmod = require('gulp-chmod');
|
|
const eslint = require('gulp-eslint');
|
|
const gulp = require('gulp');
|
|
const gulpIf = require('gulp-if');
|
|
|
|
gulp.task('scripts', done => {
|
|
gulp.src('./lib/src/**/*.js')
|
|
.pipe(babel({
|
|
presets: ['es2015']
|
|
}))
|
|
.pipe(gulp.dest('dist'));
|
|
|
|
gulp.src('./lib/src/**/*.json')
|
|
.pipe(gulp.dest('dist'));
|
|
|
|
gulp.src('./lib/*.js')
|
|
.pipe(babel())
|
|
.pipe(chmod(0o755))
|
|
.pipe(gulp.dest('bin'));
|
|
|
|
done();
|
|
});
|
|
|
|
gulp.task('lint', () => {
|
|
const isFixed = file => file.eslint != null && file.eslint.fixed;
|
|
|
|
return gulp.src('./lib/**/*.js')
|
|
.pipe(
|
|
eslint({
|
|
fix: true,
|
|
envs: [
|
|
'node'
|
|
]
|
|
})
|
|
)
|
|
.pipe(eslint.format())
|
|
.pipe(gulpIf(isFixed, gulp.dest('./lib/')));
|
|
});
|
|
|
|
gulp.task('watch', () => gulp.watch('./lib/**/*.js', gulp.series(['lint', 'scripts'])));
|
|
|
|
gulp.task('build', gulp.series(['lint', 'scripts']));
|
|
gulp.task('default', gulp.series(['build', 'watch']));
|