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']);