ft/aurelia_project/tasks/livesite-js.js
2017-06-09 09:09:06 +01:00

50 lines
1.5 KiB
JavaScript

import gulp from 'gulp';
import concat from 'gulp-concat';
import sourcemaps from 'gulp-sourcemaps';
import { CLIOptions } from 'aurelia-cli';
import uglify from 'gulp-uglify';
// import rename from 'gulp-rename';
import project from '../aurelia.json';
import babel from 'gulp-babel';
/**
* Builds LiveSite JS script
* @returns
*/
function buildJavaScriptLS() {
let environment = CLIOptions.getEnvironment();
if ( environment === 'dev' ) {
return gulp.src( project.livesiteJS.source )
.pipe( sourcemaps.init() )
.pipe( babel( project.livesiteJS.options ) )
.pipe( concat( 'livesite-modules.js' ) )
.pipe( sourcemaps.write( '.' ) )
.pipe( gulp.dest( project.livesiteJS.output ) );
} else if ( environment === 'stage' ) {
return gulp.src( project.livesiteJS.source )
.pipe( sourcemaps.init() )
.pipe( babel( project.livesiteJS.options ) )
.pipe( concat( 'livesite-modules.js' ) )
.pipe( uglify() )
// .pipe( rename( {
// suffix: '.min'
// } ) )
.pipe( sourcemaps.write( '.' ) )
.pipe( gulp.dest( project.livesiteJS.output ) );
} else if ( environment === 'prod' ) {
return gulp.src( project.livesiteJS.source )
.pipe( sourcemaps.init() )
.pipe( babel( project.livesiteJS.options ) )
.pipe( concat( 'livesite-modules.js' ) )
.pipe( uglify() )
// .pipe( rename( {
// suffix: '.min'
// } ) )
.pipe( gulp.dest( project.livesiteJS.output ) );
}
}
export default gulp.series(
buildJavaScriptLS
);