updated build process

This commit is contained in:
Kevin Jahns 2015-11-17 15:28:45 +01:00
parent 8870fdc495
commit 5fcfbbfe94

View File

@ -5,21 +5,21 @@ var minimist = require('minimist')
module.exports = function (gulp, helperOptions) { module.exports = function (gulp, helperOptions) {
var runSequence = require('run-sequence').use(gulp) var runSequence = require('run-sequence').use(gulp)
var options = minimist(process.argv.slice(2), { var options = minimist(process.argv.slice(2), {
string: ['modulename', 'export', 'name', 'port', 'testfiles'], string: ['modulename', 'export', 'name', 'port', 'testfiles', 'es6'],
default: { default: {
modulename: helperOptions.moduleName, modulename: helperOptions.moduleName,
targetName: helperOptions.targetName, targetName: helperOptions.targetName,
export: 'ignore', export: 'ignore',
port: '8888', port: '8888',
testfiles: '**/*.spec.js', testfiles: '**/*.spec.js',
es6: false,
browserify: helperOptions.browserify != null ? helperOptions.browserify : false, browserify: helperOptions.browserify != null ? helperOptions.browserify : false,
regenerator: true,
includeRuntime: helperOptions.includeRuntime || false, includeRuntime: helperOptions.includeRuntime || false,
debug: false debug: false
} }
}) })
if (options.regenerator === 'false') { if (options.es6 !== false) {
options.regenerator = false options.es6 = true
} }
var files = { var files = {
dist: helperOptions.entry, dist: helperOptions.entry,
@ -27,16 +27,6 @@ module.exports = function (gulp, helperOptions) {
src: './src/**/*.js' src: './src/**/*.js'
} }
var babelOptions = {
presets: ['es2015'],
plugins: ['transform-runtime']
}
if (!options.regenerator) {
babelOptions.blacklist = 'regenerator'
} else {
}
if (options.includeRuntime) { if (options.includeRuntime) {
files.dist = ['node_modules/regenerator/runtime.js', files.dist] files.dist = ['node_modules/regenerator/runtime.js', files.dist]
} }
@ -45,26 +35,35 @@ module.exports = function (gulp, helperOptions) {
var browserify = require('browserify') var browserify = require('browserify')
var source = require('vinyl-source-stream') var source = require('vinyl-source-stream')
var buffer = require('vinyl-buffer') var buffer = require('vinyl-buffer')
var babelify = require('babelify')
gulp.src(['./README.md']) var babelOptions
.pipe($.watch('./README.md')) if (options.es6 || options.debug) {
.pipe(gulp.dest('./dist/')) babelOptions = {}
} else {
babelOptions = {
presets: ['es2015']
}
}
console.log(JSON.stringify(files.dist)) console.log(JSON.stringify(files.dist))
return browserify({ return (browserify({
entries: files.dist, entries: files.dist,
debug: true debug: true
}).transform(babelify, {presets: ['es2015']}) }).transform('babelify', babelOptions)
.bundle() .bundle()
.pipe(source(options.targetName)) .pipe(source(options.targetName))
.pipe(buffer()) .pipe(buffer())
.pipe($.sourcemaps.init({loadMaps: true})) .pipe($.sourcemaps.init({loadMaps: true}))
// .pipe($.if(!options.debug && options.regenerator, $.uglify())) .pipe($.if(!options.debug && !options.es6, $.uglify()))
.pipe($.if(options.debug, $.sourcemaps.write('.'))) .pipe($.sourcemaps.write('.'))
.pipe(gulp.dest('./dist/')) .pipe(gulp.dest('./dist/')))
}) })
gulp.task('watch:dist', function (cb) { gulp.task('watch:dist', function (cb) {
options.debug = true options.debug = true
gulp.src(['./README.md'])
.pipe($.watch('./README.md'))
.pipe(gulp.dest('./dist/'))
runSequence('dist', function () { runSequence('dist', function () {
gulp.watch(files.src.concat('./README.md'), ['dist']) gulp.watch(files.src.concat('./README.md'), ['dist'])
cb() cb()