UNPKG

eventric

Version:

behavior-first application development

93 lines (79 loc) 2.52 kB
coffee = require 'gulp-coffee' concat = require 'gulp-concat' commonjs = require 'gulp-wrap-commonjs' uglify = require 'gulp-uglify' rimraf = require 'rimraf' runSequence = require 'run-sequence' mergeStream = require 'merge-stream' module.exports = (gulp) -> gulp.task 'build', (next) -> runSequence 'build:clean', 'build:src', 'build:dist', next gulp.task 'build:clean', (next) -> rimraf './build', next gulp.task 'build:src', -> gulp.src([ 'src/**/*.coffee' '!**/*.spec.coffee' ]) .pipe(coffee({bare: true})) .pipe(gulp.dest('build/src')) gulp.task 'build:dist', -> cjs = gulp.src('node_modules/commonjs-require/commonjs-require.js') src = gulp.src([ 'build/src/**/*.js' '!**/*.spec.js' ]) .pipe(commonjs( pathModifier: (path) -> path = path.replace "#{process.cwd()}/build/src", 'eventric' path = path.replace /.js$/, '' return path )) es6 = gulp.src([ 'node_modules/es6-promise/dist/es6-promise.js' ]) .pipe(commonjs( pathModifier: (filePath) -> 'es6-promise' )) mergeStream cjs, es6, src .pipe(concat('eventric.js')) .pipe(gulp.dest('build/dist')) .pipe(uglify()) .pipe(concat('eventric-min.js')) .pipe(gulp.dest('build/dist')) gulp.task 'build:spec', ['build:spec:src', 'build:spec:vendor'] gulp.task 'build:spec:src', (next) -> gulp.src([ 'src/**/*.spec.coffee' ]) .pipe(coffee({bare: true})) .pipe(commonjs( autoRequire: true pathModifier: (path) -> path = path.replace "#{process.cwd()}/src", 'eventric' path = path.replace /.js$/, '' return path )) .pipe(gulp.dest('build/src/')) gulp.task 'build:spec:vendor', -> gulp.src([ 'node_modules/chai/chai.js' 'node_modules/async/lib/async.js' 'node_modules/mockery/mockery.js' 'node_modules/sinon/lib/**/*.js' 'node_modules/sinon-chai/lib/sinon-chai.js' ]) .pipe(commonjs( pathModifier: (path) -> path = path.replace process.cwd(), '' path = path.replace /.js$/, '' sinonPath = '/node_modules/sinon/lib/' if (path.indexOf sinonPath) is 0 path = path.replace sinonPath, '' else path = path.replace /.*\//, '' path )) .pipe(concat('vendor.js')) .pipe(gulp.dest('build/helper/spec/'))