1
1
var gulp = require ( 'gulp' ) ,
2
+ gutil = require ( 'gulp-util' ) ,
2
3
clean = require ( 'gulp-clean' ) ,
3
4
jshint = require ( 'gulp-jshint' ) ,
4
5
map = require ( 'vinyl-map' ) ,
@@ -7,21 +8,21 @@ var gulp = require('gulp'),
7
8
coveralls = require ( 'gulp-coveralls' ) ,
8
9
header = require ( 'gulp-header' ) ,
9
10
uglify = require ( 'gulp-uglify' ) ,
10
- streamify = require ( 'gulp-streamify' ) ,
11
11
gzip = require ( 'gulp-gzip' ) ,
12
12
micro = require ( 'gulp-micro' ) ,
13
13
pkg = require ( './package.json' ) ,
14
14
browserify = require ( 'browserify' ) ,
15
15
source = require ( 'vinyl-source-stream' ) ,
16
+ buffer = require ( 'vinyl-buffer' ) ,
17
+ rename = require ( 'gulp-rename' ) ,
16
18
path = require ( 'path' ) ,
17
19
template = require ( 'lodash' ) . template ;
18
20
19
- gulp . task ( 'default' , [ 'clean' , 'jshint' , 'karma' , 'build' ] ) ;
20
- gulp . task ( 'build' , [ 'compile' , 'minify' ] ) ;
21
- gulp . task ( 'dev' , [ 'build' , 'watch' ] ) ;
21
+ gulp . task ( 'default' , [ 'clean' , 'jshint' , 'karma' , 'compile' ] ) ;
22
+ gulp . task ( 'dev' , [ 'compile' , 'watch' ] ) ;
22
23
23
24
gulp . task ( 'watch' , function ( ) {
24
- gulp . watch ( 'src/**/*.js' , [ 'karma' , 'build ' ] ) ;
25
+ gulp . watch ( 'src/**/*.js' , [ 'karma' , 'compile ' ] ) ;
25
26
gulp . watch ( 'test/spec/**/*.js' , [ 'karma' ] ) ;
26
27
} ) ;
27
28
@@ -56,35 +57,30 @@ gulp.task('coveralls', ['karma'], function() {
56
57
. pipe ( coveralls ( ) ) ;
57
58
} ) ;
58
59
59
- var makeBundleStream = function ( filename ) {
60
+ gulp . task ( 'compile' , [ 'clean' ] , function ( ) {
60
61
return browserify ( './src/bespoke.js' )
61
62
. bundle ( { standalone : 'bespoke' } )
62
- . pipe ( source ( filename ) ) ;
63
- } ;
64
-
65
- gulp . task ( 'compile' , [ 'clean' ] , function ( ) {
66
- return makeBundleStream ( 'bespoke.js' )
67
- . pipe ( streamify ( header ( template ( [
63
+ . on ( 'error' , gutil . log )
64
+ . pipe ( source ( 'bespoke.js' ) )
65
+ . pipe ( buffer ( ) )
66
+ . pipe ( header ( template ( [
68
67
'/*!' ,
69
68
' * <%= title %> v<%= version %>' ,
70
69
' *' ,
71
70
' * Copyright <%= new Date().getFullYear() %>, <%= author.name %>' ,
72
71
' * This content is released under the <%= licenses[0].type %> license' ,
73
72
' * <%= licenses[0].url %>' ,
74
73
' */\n\n'
75
- ] . join ( '\n' ) , pkg ) ) ) )
76
- . pipe ( gulp . dest ( 'dist' ) ) ;
77
- } ) ;
78
-
79
- gulp . task ( 'minify' , [ 'clean' ] , function ( ) {
80
- return makeBundleStream ( 'bespoke.min.js' )
81
- . pipe ( streamify ( uglify ( ) ) )
82
- . pipe ( streamify ( header ( template ( [
83
- '/*! <%= title %> v<%= version %> ' ,
84
- '© <%= author.name %>, ' ,
85
- '<%= licenses[0].type %> License */\n'
86
- ] . join ( '' ) , pkg ) ) ) )
87
- . pipe ( gulp . dest ( 'dist' ) )
88
- . pipe ( gzip ( ) )
89
- . pipe ( streamify ( micro ( { limit : 1024 } ) ) ) ;
74
+ ] . join ( '\n' ) , pkg ) ) )
75
+ . pipe ( gulp . dest ( 'dist' ) )
76
+ . pipe ( rename ( 'bespoke.min.js' ) )
77
+ . pipe ( uglify ( ) )
78
+ . pipe ( header ( template ( [
79
+ '/*! <%= title %> v<%= version %> ' ,
80
+ '© <%= author.name %>, ' ,
81
+ '<%= licenses[0].type %> License */\n'
82
+ ] . join ( '' ) , pkg ) ) )
83
+ . pipe ( gulp . dest ( 'dist' ) )
84
+ . pipe ( gzip ( ) )
85
+ . pipe ( micro ( { limit : 1024 } ) ) ;
90
86
} ) ;
0 commit comments