Skip to content

Commit 80a4e8b

Browse files
Ensure dependencies of mainRows are added in deterministic order (#23)
The `row.deps` object contains dependency IDs in the order that they were loaded in by module-deps. That's done concurrently so the order isn't always the same. This patch sorts the list of dependencies before adding them to the bundle.
1 parent 1e980de commit 80a4e8b

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"flush-write-stream": "^1.0.2",
1717
"labeled-stream-splicer": "^2.0.0",
1818
"object-delete-value": "^1.0.0",
19-
"object-values": "^1.0.0",
2019
"outpipe": "^1.1.1",
2120
"resolve": "^1.5.0",
2221
"run-parallel": "^1.1.6",

plugin.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ var splicer = require('labeled-stream-splicer')
1010
var pack = require('browser-pack')
1111
var runParallel = require('run-parallel')
1212
var deleteValue = require('object-delete-value')
13-
var values = require('object-values')
1413
var isRequire = require('estree-is-require')
1514
var outpipe = require('outpipe')
1615
var dash = require('dash-ast')
@@ -309,10 +308,12 @@ function createSplitter (b, opts) {
309308
}
310309

311310
function gatherDependencyIds (row, arr) {
312-
var deps = values(row.deps)
311+
var sortedDeps = Object.keys(row.deps).sort().map(function (key) {
312+
return row.deps[key]
313+
})
313314
arr = arr || []
314315

315-
deps.forEach(function (id) {
316+
sortedDeps.forEach(function (id) {
316317
var dep = rowsById[id]
317318
if (!dep || arr.indexOf(dep.id) !== -1) {
318319
return

0 commit comments

Comments
 (0)