@@ -25,7 +25,7 @@ var ARGV = require("yargs").
25
25
help ( "help" ) .
26
26
argv ;
27
27
28
- var browserify = require ( "browserify " ) ,
28
+ var webpack = require ( "webpack-stream " ) ,
29
29
clone = require ( "lodash.clone" ) ,
30
30
gulp = require ( "gulp" ) ,
31
31
karma = require ( "karma" ) ,
@@ -119,46 +119,37 @@ gulp.task("test:nodejs", function(cb) {
119
119
} ) ;
120
120
121
121
// ### BROWSER TASKS ###
122
- function doBrowserify ( suffix , steps ) {
123
- var source = require ( "vinyl-source-stream" ) ,
124
- buffer = require ( "vinyl-buffer" ) ,
125
- sourcemaps = require ( "gulp-sourcemaps" ) ;
126
-
122
+ function doBrowserify ( suffix , plugins ) {
127
123
var pkg = require ( "./package.json" ) ;
128
124
129
125
suffix = suffix || ".js" ;
130
- steps = steps || [ ] ;
131
-
132
- var stream = browserify ( {
133
- entries : require ( "path" ) . resolve ( pkg . main ) ,
134
- standalone : "jose"
135
- } ) . bundle ( ) .
136
- pipe ( source ( pkg . name + suffix ) ) .
137
- pipe ( buffer ( ) ) ;
138
-
139
- steps . forEach ( function ( s ) {
140
- stream = stream . pipe ( s ) ;
141
- } ) ;
142
-
143
- return stream . pipe ( sourcemaps . init ( { loadMaps : true } ) ) .
144
- pipe ( sourcemaps . write ( "./" ) ) .
145
- pipe ( gulp . dest ( "./dist" ) ) ;
126
+ plugins = plugins || [ ] ;
127
+
128
+ return gulp . src ( require ( "path" ) . resolve ( pkg . main ) ) .
129
+ pipe ( webpack ( {
130
+ output : {
131
+ filename : pkg . name + suffix
132
+ } ,
133
+ plugins : plugins ,
134
+ devtool : "source-map"
135
+ } ) ) .
136
+ pipe ( gulp . dest ( "./dist" ) ) ;
146
137
}
147
138
148
139
gulp . task ( "bundle" , function ( ) {
149
140
return doBrowserify ( ) ;
150
141
} ) ;
151
142
152
143
gulp . task ( "minify" , function ( ) {
153
- var uglify = require ( "gulp-uglify" ) ;
154
-
155
144
return doBrowserify ( ".min.js" , [
156
- uglify ( )
145
+ new webpack . webpack . optimize . UglifyJsPlugin ( {
146
+ minimize : true
147
+ } )
157
148
] ) ;
158
149
} ) ;
159
150
160
151
var KARMA_CONFIG = {
161
- frameworks : [ "mocha" , "browserify" ] ,
152
+ frameworks : [ "mocha" ] ,
162
153
basePath : "." ,
163
154
browserDisconnectTolerance : 1 ,
164
155
browserDisconnectTimeout : 600000 ,
@@ -167,12 +158,19 @@ var KARMA_CONFIG = {
167
158
mocha : MOCHA_CONFIG
168
159
} ,
169
160
preprocessors : {
170
- "test/**/*-test.js" : [ "browserify " ]
161
+ "test/**/*-test.js" : [ "webpack " ]
171
162
} ,
172
- reporters : [ "mocha" ] ,
173
- browserify : {
174
- debug : true
163
+ webpack : {
164
+ module : {
165
+ loaders : [
166
+ {
167
+ test : / \. j s o n $ / ,
168
+ loader : "json"
169
+ }
170
+ ]
171
+ }
175
172
} ,
173
+ reporters : [ "mocha" ] ,
176
174
customLaunchers : {
177
175
"SL_Chrome" : {
178
176
base : "SauceLabs" ,
@@ -213,14 +211,14 @@ var KARMA_CONFIG = {
213
211
} ,
214
212
captureTimeout : 600000 ,
215
213
sauceLabs : {
216
- testName : "node-jose" ,
214
+ testName : require ( "./package.json" ) . name ,
217
215
commandTimeout : 300
218
216
} ,
219
217
files : [ TESTS ]
220
218
} ;
221
219
var KARMA_BROWSERS = {
222
220
local : [ "Chrome" , "Firefox" ] ,
223
- saucelabs : [ "SL_Chrome" , "SL_Firefox" , "SL_Safari_7" , " SL_Safari_8", "SL_Safari_9" , "SL_IE_10" , "SL_IE_11" , "SL_EDGE" ]
221
+ saucelabs : [ "SL_Chrome" , "SL_Firefox" , "SL_Safari_8" , "SL_Safari_9" , "SL_IE_10" , "SL_IE_11" , "SL_EDGE" ]
224
222
} ;
225
223
// allow for IE on windows
226
224
if ( / ^ w i n / . test ( process . platform ) ) {
0 commit comments