Skip to content

Commit 8f62598

Browse files
authored
Build: upgrade build environment (#70)
1 parent 0c04523 commit 8f62598

File tree

2 files changed

+35
-38
lines changed

2 files changed

+35
-38
lines changed

gulpfile.js

+30-32
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var ARGV = require("yargs").
2525
help("help").
2626
argv;
2727

28-
var browserify = require("browserify"),
28+
var webpack = require("webpack-stream"),
2929
clone = require("lodash.clone"),
3030
gulp = require("gulp"),
3131
karma = require("karma"),
@@ -119,46 +119,37 @@ gulp.task("test:nodejs", function(cb) {
119119
});
120120

121121
// ### 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) {
127123
var pkg = require("./package.json");
128124

129125
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"));
146137
}
147138

148139
gulp.task("bundle", function() {
149140
return doBrowserify();
150141
});
151142

152143
gulp.task("minify", function() {
153-
var uglify = require("gulp-uglify");
154-
155144
return doBrowserify(".min.js", [
156-
uglify()
145+
new webpack.webpack.optimize.UglifyJsPlugin({
146+
minimize: true
147+
})
157148
]);
158149
});
159150

160151
var KARMA_CONFIG = {
161-
frameworks: ["mocha", "browserify"],
152+
frameworks: ["mocha"],
162153
basePath: ".",
163154
browserDisconnectTolerance: 1,
164155
browserDisconnectTimeout: 600000,
@@ -167,12 +158,19 @@ var KARMA_CONFIG = {
167158
mocha: MOCHA_CONFIG
168159
},
169160
preprocessors: {
170-
"test/**/*-test.js": ["browserify"]
161+
"test/**/*-test.js": ["webpack"]
171162
},
172-
reporters: ["mocha"],
173-
browserify: {
174-
debug: true
163+
webpack: {
164+
module: {
165+
loaders: [
166+
{
167+
test: /\.json$/,
168+
loader: "json"
169+
}
170+
]
171+
}
175172
},
173+
reporters: ["mocha"],
176174
customLaunchers: {
177175
"SL_Chrome": {
178176
base: "SauceLabs",
@@ -213,14 +211,14 @@ var KARMA_CONFIG = {
213211
},
214212
captureTimeout: 600000,
215213
sauceLabs: {
216-
testName: "node-jose",
214+
testName: require("./package.json").name,
217215
commandTimeout: 300
218216
},
219217
files: [TESTS]
220218
};
221219
var KARMA_BROWSERS = {
222220
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"]
224222
};
225223
// allow for IE on windows
226224
if (/^win/.test(process.platform)) {

package.json

+5-6
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
"uuid": "^2.0.1"
4545
},
4646
"devDependencies": {
47-
"browserify": "^13.0.0",
4847
"browserify-istanbul": "^2.0.0",
4948
"chai": "^3.5.0",
5049
"conventional-changelog": "^1.1.0",
@@ -54,12 +53,11 @@
5453
"gulp-istanbul": "^0.10.4",
5554
"gulp-mocha": "^2.0.0",
5655
"gulp-rename": "^1.2.0",
57-
"gulp-sourcemaps": "^1.3.0",
5856
"gulp-uglify": "^1.1.0",
5957
"istanbul": "^0.4.0",
6058
"jose-cookbook": "git+https://github.com/ietf-jose/cookbook.git",
61-
"karma": "^0.13.22",
62-
"karma-browserify": "^5.0.3",
59+
"json-loader": "^0.5.4",
60+
"karma": "^1.2.0",
6361
"karma-chrome-launcher": "^0.2.3",
6462
"karma-coverage": "^0.5.3",
6563
"karma-firefox-launcher": "^0.1.4",
@@ -68,14 +66,15 @@
6866
"karma-mocha-reporter": "^2.0.0",
6967
"karma-safari-launcher": "^0.1.1",
7068
"karma-sauce-launcher": "^0.3.1",
69+
"karma-webpack": "^1.8.0",
7170
"lodash.bind": "^4.1.3",
7271
"lodash.clonedeep": "^4.3.2",
7372
"lodash.foreach": "^4.2.0",
7473
"mocha": "^2.1.0",
7574
"run-sequence": "^1.0.2",
76-
"vinyl-buffer": "^1.0.0",
77-
"vinyl-source-stream": "^1.0.0",
7875
"watchify": "^3.7.0",
76+
"webpack": "^1.13.2",
77+
"webpack-stream": "^3.2.0",
7978
"yargs": "^4.6.0"
8079
},
8180
"browser": {

0 commit comments

Comments
 (0)