mirror of
https://gitlab.com/walljm/dynamicbible.git
synced 2025-07-25 16:29:49 -04:00
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
var gulp = require('gulp'),
|
|
gulpWatch = require('gulp-watch'),
|
|
del = require('del'),
|
|
runSequence = require('run-sequence'),
|
|
argv = process.argv;
|
|
|
|
|
|
/**
|
|
* Ionic hooks
|
|
* Add ':before' or ':after' to any Ionic project command name to run the specified
|
|
* tasks before or after the command.
|
|
*/
|
|
gulp.task('serve:before', ['watch']);
|
|
gulp.task('emulate:before', ['build']);
|
|
gulp.task('deploy:before', ['build']);
|
|
gulp.task('build:before', ['build']);
|
|
|
|
// we want to 'watch' when livereloading
|
|
var shouldWatch = argv.indexOf('-l') > -1 || argv.indexOf('--livereload') > -1;
|
|
gulp.task('run:before', [shouldWatch ? 'watch' : 'build']);
|
|
|
|
/**
|
|
* Ionic Gulp tasks, for more information on each see
|
|
* https://github.com/driftyco/ionic-gulp-tasks
|
|
*
|
|
* Using these will allow you to stay up to date if the default Ionic 2 build
|
|
* changes, but you are of course welcome (and encouraged) to customize your
|
|
* build however you see fit.
|
|
*/
|
|
var buildBrowserify = require('ionic-gulp-browserify-typescript');
|
|
var buildSass = require('ionic-gulp-sass-build');
|
|
var copyHTML = require('ionic-gulp-html-copy');
|
|
var copyFonts = require('ionic-gulp-fonts-copy');
|
|
var copyScripts = require('ionic-gulp-scripts-copy');
|
|
var tslint = require('ionic-gulp-tslint');
|
|
|
|
var isRelease = argv.indexOf('--release') > -1;
|
|
|
|
gulp.task('watch', ['clean'], function(done){
|
|
runSequence(
|
|
['sass', 'html', 'fonts', 'scripts'],
|
|
function(){
|
|
gulpWatch('app/**/*.scss', function(){ gulp.start('sass'); });
|
|
gulpWatch('app/**/*.html', function(){ gulp.start('html'); });
|
|
buildBrowserify({ watch: true }).on('end', done);
|
|
}
|
|
);
|
|
});
|
|
|
|
gulp.task('build', ['clean'], function(done){
|
|
runSequence(
|
|
['sass', 'html', 'fonts', 'scripts'],
|
|
function(){
|
|
buildBrowserify({
|
|
minify: isRelease,
|
|
browserifyOptions: {
|
|
debug: !isRelease
|
|
},
|
|
uglifyOptions: {
|
|
mangle: false
|
|
}
|
|
}).on('end', done);
|
|
}
|
|
);
|
|
});
|
|
|
|
gulp.task('sass', buildSass);
|
|
gulp.task('html', copyHTML);
|
|
gulp.task('fonts', copyFonts);
|
|
gulp.task('scripts', copyScripts);
|
|
gulp.task('clean', function(){
|
|
return del('www/build');
|
|
});
|
|
gulp.task('lint', tslint);
|