UNPKG

backbone-http

Version:
67 lines (57 loc) 2.13 kB
fs = require 'fs' path = require 'path' _ = require 'underscore' Queue = require 'queue-async' es = require 'event-stream' Wrench = require 'wrench' gulp = require 'gulp' gutil = require 'gulp-util' shell = require 'gulp-shell' requireSrc = require 'gulp-require-src' compile = require 'gulp-compile-js' concat = require 'gulp-concat' wrapAMD = require 'gulp-wrap-amd-infer' webpack = require 'gulp-webpack-config' browserify = require 'gulp-browserify' TEST_GROUPS = require '../test_groups' module.exports = (options={}, callback) -> queue = new Queue(1) # compile coffeescript config queue.defer (callback) -> gulp.src(['./test/parameters.coffee']) .pipe(compile({coffee: {bare: true}})) .pipe(gulp.dest('_temp')) .on('end', callback) unless options.tags.indexOf('@quick') >= 0 # install backbone-http queue.defer (callback) -> gulp.src(['./backbone-http.js', './package.json']) .pipe(gulp.dest('node_modules/backbone-http')) .on('end', callback) # build webpack queue.defer (callback) -> gulp.src(['config/builds/test/**/*.webpack.config.coffee'], {read: false, buffer: false}) .pipe(webpack()) .pipe(gulp.dest('_temp/webpack')) .on('end', callback) # build test browserify for test in TEST_GROUPS.browserify or [] do (test) -> queue.defer (callback) -> gulp.src(test.build.files) .pipe(compile({coffee: {bare: true}})) .pipe(concat(path.basename(test.build.destination))) .pipe(browserify(test.build.options)) .pipe(gulp.dest(path.dirname(test.build.destination))) .on('end', callback) # wrap AMD tests for test in TEST_GROUPS.amd or [] do (test) -> queue.defer (callback) -> gulp.src(test.build.files) .pipe(compile({coffee: {bare: true, header: false}})) .pipe(wrapAMD(test.build.options)) .pipe(gulp.dest(test.build.destination)) .on('end', callback) # uninstall backbone-http queue.await (err) -> Wrench.rmdirSyncRecursive('node_modules/backbone-http', true) callback(err)