1
1
var aliasify = require ( 'aliasify' ) ;
2
- var browserify = require ( 'browserify' ) ;
3
- var shim = require ( 'browserify-shim' ) ;
4
2
var babelify = require ( 'babelify' ) ;
3
+ var browserify = require ( 'browserify' ) ;
5
4
var chalk = require ( 'chalk' ) ;
6
- var del = require ( 'del' ) ;
7
5
var connect = require ( 'gulp-connect' ) ;
8
- var less = require ( 'gulp-less ' ) ;
6
+ var del = require ( 'del ' ) ;
9
7
var gutil = require ( 'gulp-util' ) ;
8
+ var less = require ( 'gulp-less' ) ;
10
9
var merge = require ( 'merge-stream' ) ;
10
+ var shim = require ( 'browserify-shim' ) ;
11
11
var source = require ( 'vinyl-source-stream' ) ;
12
12
var watchify = require ( 'watchify' ) ;
13
13
14
- module . exports = function ( gulp , config ) {
15
-
16
- var doBundle = function ( target , name , dest ) {
14
+ module . exports = function ( gulp , config ) {
15
+ function doBundle ( target , name , dest ) {
17
16
return target . bundle ( )
18
- . on ( 'error' , function ( e ) {
17
+ . on ( 'error' , function ( e ) {
19
18
gutil . log ( 'Browserify Error' , e ) ;
20
19
} )
21
20
. pipe ( source ( name ) )
22
21
. pipe ( gulp . dest ( dest ) )
23
22
. pipe ( connect . reload ( ) ) ;
24
23
}
25
24
26
- var watchBundle = function ( target , name , dest ) {
25
+ function watchBundle ( target , name , dest ) {
27
26
return watchify ( target )
28
27
. on ( 'update' , function ( scriptIds ) {
29
28
scriptIds = scriptIds
30
- . filter ( function ( i ) { return i . substr ( 0 , 2 ) !== './' } )
31
- . map ( function ( i ) { return chalk . blue ( i . replace ( __dirname , '' ) ) } ) ;
29
+ . filter ( function ( x ) { return x . substr ( 0 , 2 ) !== './' ; } )
30
+ . map ( function ( x ) { return chalk . blue ( x . replace ( __dirname , '' ) ) ; } ) ;
31
+
32
32
if ( scriptIds . length > 1 ) {
33
33
gutil . log ( scriptIds . length + ' Scripts updated:\n* ' + scriptIds . join ( '\n* ' ) + '\nrebuilding...' ) ;
34
34
} else {
35
35
gutil . log ( scriptIds [ 0 ] + ' updated, rebuilding...' ) ;
36
36
}
37
+
37
38
doBundle ( target , name , dest ) ;
38
39
} )
39
40
. on ( 'time' , function ( time ) {
40
41
gutil . log ( chalk . green ( name + ' built in ' + ( Math . round ( time / 10 ) / 100 ) + 's' ) ) ;
41
42
} ) ;
42
43
}
43
44
44
- function buildExampleScripts ( dev ) {
45
-
45
+ function buildExampleScripts ( dev ) {
46
46
var dest = config . example . dist ;
47
-
48
47
var opts = dev ? watchify . args : { } ;
49
- opts . debug = dev ? true : false ;
48
+ opts . debug = ! ! dev ;
50
49
opts . hasExports = true ;
51
50
52
- return function ( ) {
53
-
51
+ return function ( ) {
54
52
var common = browserify ( opts ) ;
55
-
53
+
56
54
var bundle = browserify ( opts ) ;
57
55
bundle . transform ( babelify . configure ( {
58
56
plugins : [ require ( 'babel-plugin-object-assign' ) ]
59
57
} ) ) ;
60
58
config . aliasify && bundle . transform ( aliasify ) ;
61
59
bundle . require ( './' + config . component . src + '/' + config . component . file , { expose : config . component . pkgName } ) ;
62
-
60
+
63
61
var standalone = false ;
64
62
if ( config . example . standalone ) {
65
63
standalone = browserify ( './' + config . component . src + '/' + config . component . file , { standalone : config . component . name } ) ;
@@ -70,7 +68,7 @@ module.exports = function(gulp, config) {
70
68
standalone . transform ( shim ) ;
71
69
}
72
70
73
- var examples = config . example . scripts . map ( function ( file ) {
71
+ var examples = config . example . scripts . map ( function ( file ) {
74
72
var fileBundle = browserify ( opts ) ;
75
73
fileBundle . exclude ( config . component . pkgName ) ;
76
74
fileBundle . add ( './' + config . example . src + '/' + file ) ;
@@ -84,11 +82,11 @@ module.exports = function(gulp, config) {
84
82
} ;
85
83
} ) ;
86
84
87
- config . component . dependencies . forEach ( function ( pkg ) {
85
+ config . component . dependencies . forEach ( function ( pkg ) {
88
86
common . require ( pkg ) ;
89
87
bundle . exclude ( pkg ) ;
90
88
if ( standalone ) standalone . exclude ( pkg ) ;
91
- examples . forEach ( function ( eg ) {
89
+ examples . forEach ( function ( eg ) {
92
90
eg . bundle . exclude ( pkg ) ;
93
91
} ) ;
94
92
} ) ;
@@ -97,7 +95,7 @@ module.exports = function(gulp, config) {
97
95
watchBundle ( common , 'common.js' , dest ) ;
98
96
watchBundle ( bundle , 'bundle.js' , dest ) ;
99
97
if ( standalone ) watchBundle ( standalone , 'standalone.js' , dest ) ;
100
- examples . forEach ( function ( eg ) {
98
+ examples . forEach ( function ( eg ) {
101
99
watchBundle ( eg . bundle , eg . file , dest ) ;
102
100
} ) ;
103
101
}
@@ -111,35 +109,31 @@ module.exports = function(gulp, config) {
111
109
bundles . push ( doBundle ( standalone , 'standalone.js' , dest ) ) ;
112
110
}
113
111
114
- return merge ( bundles . concat ( examples . map ( function ( eg ) {
112
+ return merge ( bundles . concat ( examples . map ( function ( eg ) {
115
113
return doBundle ( eg . bundle , eg . file , dest ) ;
116
114
} ) ) ) ;
115
+ } ;
116
+ }
117
117
118
- }
119
-
120
- } ;
121
-
122
- gulp . task ( 'clean:examples' , function ( done ) {
123
- del ( [ config . example . dist ] , done ) ;
124
- } ) ;
125
-
118
+ gulp . task ( 'clean:examples' , function ( done ) { del ( [ config . example . dist ] , done ) ; } ) ;
126
119
gulp . task ( 'watch:example:scripts' , buildExampleScripts ( true ) ) ;
127
120
gulp . task ( 'build:example:scripts' , buildExampleScripts ( ) ) ;
128
121
129
- gulp . task ( 'build:example:files' , function ( ) {
122
+ gulp . task ( 'build:example:files' , function ( ) {
130
123
return gulp . src ( config . example . files , { cwd : config . example . src , base : config . example . src } )
131
124
. pipe ( gulp . dest ( config . example . dist ) )
132
125
. pipe ( connect . reload ( ) ) ;
133
126
} ) ;
134
127
135
- gulp . task ( 'build:example:css' , function ( ) {
128
+ gulp . task ( 'build:example:css' , function ( ) {
136
129
if ( ! config . example . less ) return ;
130
+
137
131
return gulp . src ( config . example . src + '/' + config . example . less )
138
132
. pipe ( less ( ) )
139
133
. pipe ( gulp . dest ( config . example . dist ) )
140
134
. pipe ( connect . reload ( ) ) ;
141
135
} ) ;
142
-
136
+
143
137
gulp . task ( 'build:examples' , [
144
138
'build:example:files' ,
145
139
'build:example:css' ,
@@ -149,17 +143,21 @@ module.exports = function(gulp, config) {
149
143
gulp . task ( 'watch:examples' , [
150
144
'build:example:files' ,
151
145
'build:example:css'
152
- ] , function ( ) {
146
+ ] , function ( ) {
153
147
buildExampleScripts ( true ) ( ) ;
154
- gulp . watch ( config . example . files . map ( function ( i ) { return config . example . src + '/' + i } ) , [ 'build:example:files' ] ) ;
148
+ gulp . watch ( config . example . files . map ( function ( i ) {
149
+ return config . example . src + '/' + i ;
150
+ } ) , [ 'build:example:files' ] ) ;
151
+
155
152
var watchLESS = [ ] ;
156
153
if ( config . example . less ) {
157
154
watchLESS . push ( config . example . src + '/' + config . example . less ) ;
158
155
}
156
+
159
157
if ( config . component . less && config . component . less . path ) {
160
158
watchLESS . push ( config . component . less . path + '/**/*.less' ) ;
161
159
}
160
+
162
161
gulp . watch ( watchLESS , [ 'build:example:css' ] ) ;
163
162
} ) ;
164
-
165
- }
163
+ } ;
0 commit comments