I have two gulp tasks that implement node promises to receive some destination data. I am am trying to run them before running the parrent task. I have tried both streams and callback with no joy.
I suppose I could use another promises but the gulp doc recommend streams
Coffee
gulp.task 'coffee', ->
stream = getDest(argv.lang, 'js').then (response) ->
gulp.src([coffeeSrc],{ base: 'assets' })
.pipe(logger(
before: 'Compiling CoffeeScript files ...'
after: 'CoffeeScript files compiled successfully'
showChange: silent))
.pipe(coffee({bare: true}))
.on('error', gutil.log)
.on('error', gutil.beep)
.pipe(uglify())
.pipe(concat('app.min.js'))
.pipe(multistream.apply(undefined, response))
.catch (error) ->
console.error 'failed', error
return stream
Vendor
gulp.task 'vendor', ->
stream = getDest(argv.lang, 'js').then (response) ->
gulp.src(["./assets/jsv2/vendor/jquery.min.js",vendorSrc])
.pipe(logger(
before: 'Compiling vendor javascript files ...'
after: 'Vendor javascript files compiled successfully'
showChange: silent))
.pipe(uglify())
.pipe(concat('vendor.min.js'))
.pipe(multistream.apply(undefined, response))
.catch (error) ->
console.error 'failed', error
return stream
Parrent
gulp.task 'allJs', ['coffee', 'vendor'], ->
stream = getDest(argv.lang, 'js').then (response) ->
gulp.src(["./assets/jsv2/vendor/jquery.min.js",
jsOutputDir + 'vendor.min.js',
jsOutputDir + 'app.min.js'],{ base: 'assets' })
.pipe(logger(
before: 'Bundling javascript files ...'
after: 'Bundled javascript files compiled successfully'
showChange: silent))
.pipe(uglify())
.pipe(concat('all.min.js'))
.pipe(multistream.apply(undefined, response))
.catch (error) ->
console.error 'failed', error
return stream
If anyone has any advice would be great thank you :D
via Alex Kirwan
No comments:
Post a Comment