| /*eslint-env node */ |
| /*global require: true, module: true */ |
| |
| 'use strict'; |
| |
| var options = require('../gulp-options.js'), gulp = require('gulp'), |
| clean = require('gulp-clean'), webapp = require('./webapp.js'), |
| imagemin = require('gulp-imagemin'); |
| |
| var runSequence = require('run-sequence'); |
| |
| gulp.task('webapp', function(callback) { |
| return webapp(callback); |
| }); |
| |
| gulp.task('distribution:clean', function() { |
| return gulp.src([options.dirname + '/dist'], {'read': false}).pipe(clean({ |
| 'force': true |
| })); |
| }); |
| |
| gulp.task('distribution:copy', function() { |
| return gulp.src(['**/*'], {'cwd': options.targetFolderPath + '/webapp'}) |
| .pipe(gulp.dest(options.dirname + '/dist')); |
| }); |
| |
| gulp.task( |
| 'imagemin', |
| () => gulp.src([options.dirname + '/app/assets/images/*']) |
| .pipe(imagemin({ |
| optimizationLevel: 3, |
| progressive: true, |
| interlaced: false, |
| svgoPlugins: [{removeViewBox: false}] |
| })) |
| .pipe(gulp.dest('dist/assets/images'))); |
| |
| module.exports = function(callback) { |
| return runSequence( |
| 'distribution:clean', 'webapp', 'distribution:copy', 'imagemin', |
| callback); |
| }; |