UNPKG

@sencha/cmd-linux-64

Version:

Productivity and performance optimization tool for building applications with Sencha Ext JS

107 lines (94 loc) 3.09 kB
'use strict'; var gulp = require('gulp'), uglify = require('gulp-uglify'), sourcemaps = require('gulp-sourcemaps'), concat = require('gulp-concat'), gulpUtil = require("gulp-util"), clean = require("gulp-clean"), babel = require('gulp-babel'), rename = require("gulp-rename"), browserify = require('browserify'), source = require('vinyl-source-stream'), fs = require('fs'); var config = { source: './src/', dist: './dist', allJavaScript: './dist/**/*.js', uglifyOptions: { mangle:false, compress: { unsafe: true, dead_code: true, drop_debugger: true, conditionals: true, comparisons: true, loops: true, evaluate: true, join_vars: true, if_return: true, cascade: true } }, babelOptions: { presets: ['es2015', 'stage-0'], compact: false }, browserifyOptions: { standalone: 'Fashion' } }; /** * Remove all generated JavaScript files from TypeScript compilation. */ gulp.task('clean', function () { // delete the files return gulp.src(config.dist + '/**/*', {read: false}) .pipe(clean()); }); gulp.task('compile', [], function(){ return browserify('./index.js', config.browserifyOptions) .bundle() .pipe(source('fashion.src.js')) .pipe(gulp.dest(config.dist)); }); gulp.task('transpile', ['compile'], function(){ return gulp.src(config.dist + '/fashion.src.js') .pipe(babel(config.babelOptions)) .pipe(rename('fashion.js')) .pipe(gulp.dest(config.dist)) .pipe(uglify(config.uglifyOptions).on('error', gulpUtil.log)) .pipe(rename('fashion-min.js')) .pipe(gulp.dest(config.dist)); }); gulp.task('compile-export', [], function(){ return browserify('./export.js', config.browserifyOptions) .bundle() .pipe(source('fashion-export.src.js')) .pipe(gulp.dest(config.dist)); }); gulp.task('transpile-export', ['compile-export'], function(){ return gulp.src(config.dist + '/fashion-export.src.js') .pipe(babel(config.babelOptions)) .pipe(rename('fashion-export.js')) .pipe(gulp.dest(config.dist)) .pipe(uglify(config.uglifyOptions).on('error', gulpUtil.log)) .pipe(rename('fashion-export-min.js')) .pipe(gulp.dest(config.dist)); }); gulp.task('bundle', ['transpile'], function() { return gulp.src([ 'node_modules/traceur/bin/traceur.js', 'node_modules/systemjs/dist/system.src.js', 'dist/fashion.js' ]) .pipe(concat('fashion-browser.js')) .pipe(gulp.dest(config.dist)) .pipe(uglify(config.uglifyOptions).on('error', gulpUtil.log)) .pipe(rename('fashion-browser-min.js')) .pipe(gulp.dest(config.dist)); }); gulp.task('build', ['bundle', 'transpile-export']); gulp.task('watch', function() { gulp.watch([config.allJavaScript], ['bundle']); }); gulp.task('default', ['bundle']);