67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
/* eslint-disable no-var, strict, prefer-arrow-callback */
|
|
'use strict';
|
|
|
|
var gulp = require('gulp');
|
|
var gutil = require('gulp-util');
|
|
var eslint = require('gulp-eslint');
|
|
var webpack = require('./gulp/webpack');
|
|
var staticFiles = require('./gulp/staticFiles');
|
|
var tests = require('./gulp/tests');
|
|
var clean = require('./gulp/clean');
|
|
var inject = require('./gulp/inject');
|
|
|
|
var lintSrcs = ['./gulp/**/*.js'];
|
|
|
|
gulp.task('delete-dist', function (done) {
|
|
clean.run(done);
|
|
});
|
|
|
|
gulp.task('build-process.env.NODE_ENV', function () {
|
|
process.env.NODE_ENV = 'production';
|
|
});
|
|
|
|
gulp.task('build-js', ['delete-dist', 'build-process.env.NODE_ENV'], function(done) {
|
|
webpack.build().then(function() { done(); });
|
|
});
|
|
|
|
gulp.task('build-other', ['delete-dist', 'build-process.env.NODE_ENV'], function() {
|
|
staticFiles.build();
|
|
});
|
|
|
|
gulp.task('build', ['build-js', 'build-other', 'lint'], function () {
|
|
inject.build();
|
|
});
|
|
|
|
gulp.task('lint', function () {
|
|
return gulp.src(lintSrcs)
|
|
.pipe(eslint())
|
|
.pipe(eslint.format());
|
|
});
|
|
|
|
gulp.task('watch', ['delete-dist'], function(done) {
|
|
process.env.NODE_ENV = 'development';
|
|
Promise.all([
|
|
webpack.watch()//,
|
|
//less.watch()
|
|
]).then(function() {
|
|
gutil.log('Now that initial assets (js and css) are generated inject will start...');
|
|
inject.watch();
|
|
done();
|
|
}).catch(function(error) {
|
|
gutil.log('Problem generating initial assets (js and css)', error);
|
|
});
|
|
|
|
gulp.watch(lintSrcs, ['lint']);
|
|
staticFiles.watch();
|
|
tests.watch();
|
|
});
|
|
|
|
gulp.task('watch-and-serve', ['watch'], function() {
|
|
// local as not required for build
|
|
var express = require('express')
|
|
var app = express()
|
|
|
|
app.use(express.static('dist', {'index': 'index.html'}))
|
|
app.listen(8080);
|
|
});
|