43 lines
1.0 KiB
JavaScript
43 lines
1.0 KiB
JavaScript
var gulp = require('gulp');
|
|
var browserSync = require('browser-sync').create();
|
|
var args = require('yargs').argv;
|
|
var gulpif = require('gulp-if');
|
|
var sass = require('gulp-sass');
|
|
var sourcemaps = require('gulp-sourcemaps');
|
|
var webpackStream = require('webpack-stream');
|
|
|
|
var paths = {
|
|
sassAll: 'sass/**/*.scss',
|
|
cssDest: 'css'
|
|
}
|
|
|
|
gulp.task('serve', function () {
|
|
browserSync.init({
|
|
server: {
|
|
baseDir: "./"
|
|
},
|
|
});
|
|
|
|
gulp.watch(['*.html', '*.css', '*.js']).on('change', browserSync.reload);
|
|
});
|
|
|
|
gulp.task('sass', function () {
|
|
return gulp.src(paths.sassAll)
|
|
.pipe(gulpif(args.debug, sourcemaps.init()))
|
|
.pipe(sass().on('error', sass.logError))
|
|
.pipe(gulpif(args.debug, sourcemaps.write()))
|
|
.pipe(gulp.dest(paths.cssDest));
|
|
});
|
|
|
|
gulp.task('watch', function () {
|
|
gulp.watch(paths.sassAll, ['sass']);
|
|
});
|
|
|
|
gulp.task('webpack', function () {
|
|
return gulp.src('./src/boot.ts')
|
|
.pipe(webpackStream(require('./webpack.config.js')))
|
|
.pipe(gulp.dest('build/'));
|
|
});
|
|
|
|
gulp.task('default', ['sass', 'webpack']);
|