Upgrade node-haste to v2.3.0

Summary: This updates to the latest published node-haste version, and also adapts code and tests to that version. Future upgrades should be easier.

Reviewed By: bestander

Differential Revision: D2963144

fb-gh-sync-id: 9fd2c84fc49643fb85ee5d9674a5e458d43d44ca
shipit-source-id: 9fd2c84fc49643fb85ee5d9674a5e458d43d44ca
This commit is contained in:
David Aurelio 2016-02-23 06:09:38 -08:00 committed by facebook-github-bot-7
parent ac12f98689
commit b41ad9f5dc
9 changed files with 159 additions and 149 deletions

210
npm-shrinkwrap.json generated
View File

@ -142,15 +142,15 @@
"from": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz"
},
"regenerator": {
"version": "0.8.40",
"from": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz",
"resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz"
},
"recast": {
"version": "0.10.33",
"from": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz"
},
"regenerator": {
"version": "0.8.40",
"from": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz",
"resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz"
}
}
},
@ -223,36 +223,36 @@
"from": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.33.tgz",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.33.tgz"
},
"babylon": {
"version": "5.8.29",
"from": "https://registry.npmjs.org/babylon/-/babylon-5.8.29.tgz",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.29.tgz"
},
"ast-types": {
"version": "0.8.12",
"from": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz",
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz"
},
"js-tokens": {
"version": "1.0.1",
"from": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz"
"babylon": {
"version": "5.8.29",
"from": "https://registry.npmjs.org/babylon/-/babylon-5.8.29.tgz",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.29.tgz"
},
"globals": {
"version": "6.4.1",
"from": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz",
"resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz"
},
"regenerator": {
"version": "0.8.40",
"from": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz",
"resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz"
"js-tokens": {
"version": "1.0.1",
"from": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz"
},
"recast": {
"version": "0.10.33",
"from": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz"
},
"regenerator": {
"version": "0.8.40",
"from": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz",
"resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz"
},
"source-map": {
"version": "0.5.3",
"from": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz",
@ -1895,41 +1895,41 @@
}
}
},
"ansi": {
"version": "0.3.0",
"from": "ansi@~0.3.0",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
},
"abbrev": {
"version": "1.0.7",
"from": "abbrev@1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
},
"ansi-styles": {
"version": "2.1.0",
"from": "ansi-styles@^2.1.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
"ansi": {
"version": "0.3.0",
"from": "ansi@~0.3.0",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
},
"ansi-regex": {
"version": "2.0.0",
"from": "ansi-regex@^2.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
},
"ansi-styles": {
"version": "2.1.0",
"from": "ansi-styles@^2.1.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
},
"are-we-there-yet": {
"version": "1.0.4",
"from": "are-we-there-yet@~1.0.0",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz"
},
"assert-plus": {
"version": "0.1.5",
"from": "assert-plus@^0.1.5",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
},
"asn1": {
"version": "0.1.11",
"from": "asn1@0.1.11",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
},
"assert-plus": {
"version": "0.1.5",
"from": "assert-plus@^0.1.5",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
},
"async": {
"version": "1.5.0",
"from": "async@^1.4.0",
@ -1970,16 +1970,16 @@
"from": "chalk@^1.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"
},
"commander": {
"version": "2.9.0",
"from": "commander@^2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"
},
"combined-stream": {
"version": "1.0.5",
"from": "combined-stream@~1.0.5",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"
},
"commander": {
"version": "2.9.0",
"from": "commander@^2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"
},
"concat-map": {
"version": "0.0.1",
"from": "concat-map@0.0.1",
@ -2000,16 +2000,16 @@
"from": "ctype@0.5.3",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
},
"deep-extend": {
"version": "0.2.11",
"from": "deep-extend@~0.2.5",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz"
},
"debug": {
"version": "0.7.4",
"from": "debug@~0.7.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz"
},
"deep-extend": {
"version": "0.2.11",
"from": "deep-extend@~0.2.5",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz"
},
"delayed-stream": {
"version": "1.0.0",
"from": "delayed-stream@~1.0.0",
@ -2055,41 +2055,41 @@
"from": "generate-function@^2.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
},
"graceful-fs": {
"version": "4.1.2",
"from": "graceful-fs@4.1",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz"
},
"generate-object-property": {
"version": "1.2.0",
"from": "generate-object-property@^1.1.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
},
"har-validator": {
"version": "2.0.2",
"from": "har-validator@~2.0.2",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.2.tgz"
"graceful-fs": {
"version": "4.1.2",
"from": "graceful-fs@4.1",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz"
},
"graceful-readlink": {
"version": "1.0.1",
"from": "graceful-readlink@>= 1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
},
"har-validator": {
"version": "2.0.2",
"from": "har-validator@~2.0.2",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.2.tgz"
},
"has-ansi": {
"version": "2.0.0",
"from": "has-ansi@^2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
},
"hawk": {
"version": "3.1.0",
"from": "hawk@~3.1.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz"
},
"has-unicode": {
"version": "1.0.1",
"from": "has-unicode@^1.0.0",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.1.tgz"
},
"hawk": {
"version": "3.1.0",
"from": "hawk@~3.1.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz"
},
"hoek": {
"version": "2.16.3",
"from": "hoek@2.x.x",
@ -2110,6 +2110,11 @@
"from": "ini@~1.3.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
},
"is-my-json-valid": {
"version": "2.12.2",
"from": "is-my-json-valid@^2.12.2",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz"
},
"is-property": {
"version": "1.0.2",
"from": "is-property@^1.0.0",
@ -2120,26 +2125,21 @@
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"is-my-json-valid": {
"version": "2.12.2",
"from": "is-my-json-valid@^2.12.2",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz"
},
"isstream": {
"version": "0.1.2",
"from": "isstream@~0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
},
"jsonpointer": {
"version": "2.0.0",
"from": "jsonpointer@2.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
},
"json-stringify-safe": {
"version": "5.0.1",
"from": "json-stringify-safe@~5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
},
"jsonpointer": {
"version": "2.0.0",
"from": "jsonpointer@2.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
},
"lodash._basetostring": {
"version": "3.0.1",
"from": "lodash._basetostring@^3.0.0",
@ -2150,26 +2150,26 @@
"from": "lodash._createpadding@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.1.tgz"
},
"lodash.padleft": {
"version": "3.1.1",
"from": "lodash.padleft@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
},
"lodash.pad": {
"version": "3.1.1",
"from": "lodash.pad@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.1.tgz"
},
"lodash.repeat": {
"version": "3.0.1",
"from": "lodash.repeat@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.1.tgz"
"lodash.padleft": {
"version": "3.1.1",
"from": "lodash.padleft@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
},
"lodash.padright": {
"version": "3.1.1",
"from": "lodash.padright@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz"
},
"lodash.repeat": {
"version": "3.0.1",
"from": "lodash.repeat@^3.0.0",
"resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.1.tgz"
},
"mime-db": {
"version": "1.19.0",
"from": "mime-db@~1.19.0",
@ -2190,16 +2190,16 @@
"from": "mkdirp@>=0.3.0 <0.4.0||>=0.4.0 <0.5.0||>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
},
"npmlog": {
"version": "1.2.1",
"from": "npmlog@~1.2.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz"
},
"node-uuid": {
"version": "1.4.3",
"from": "node-uuid@~1.4.3",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
},
"npmlog": {
"version": "1.2.1",
"from": "npmlog@~1.2.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz"
},
"oauth-sign": {
"version": "0.8.0",
"from": "oauth-sign@~0.8.0",
@ -2215,16 +2215,16 @@
"from": "path-is-absolute@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
},
"pinkie-promise": {
"version": "1.0.0",
"from": "pinkie-promise@^1.0.0",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz"
},
"pinkie": {
"version": "1.0.0",
"from": "pinkie@^1.0.0",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz"
},
"pinkie-promise": {
"version": "1.0.0",
"from": "pinkie-promise@^1.0.0",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz"
},
"qs": {
"version": "5.2.0",
"from": "qs@~5.2.0",
@ -2260,20 +2260,20 @@
"from": "stringstream@~0.0.4",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"
},
"supports-color": {
"version": "2.0.0",
"from": "supports-color@^2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
"strip-ansi": {
"version": "3.0.0",
"from": "strip-ansi@^3.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
},
"strip-json-comments": {
"version": "0.1.3",
"from": "strip-json-comments@0.1.x",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz"
},
"strip-ansi": {
"version": "3.0.0",
"from": "strip-ansi@^3.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
"supports-color": {
"version": "2.0.0",
"from": "supports-color@^2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
},
"tar": {
"version": "2.2.1",
@ -2290,16 +2290,16 @@
"from": "uid-number@0.0.3",
"resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz"
},
"wrappy": {
"version": "1.0.1",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
},
"tunnel-agent": {
"version": "0.4.1",
"from": "tunnel-agent@~0.4.1",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"
},
"wrappy": {
"version": "1.0.1",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
},
"xtend": {
"version": "4.0.1",
"from": "xtend@^4.0.0",
@ -3933,8 +3933,9 @@
}
},
"node-haste": {
"version": "2.0.0",
"from": "node-haste@*",
"version": "2.3.0",
"from": "node-haste@2.3.0",
"resolved": "https://registry.npmjs.org/node-haste/-/node-haste-2.3.0.tgz",
"dependencies": {
"graceful-fs": {
"version": "4.1.3",
@ -3942,9 +3943,9 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"
},
"sane": {
"version": "1.3.1",
"version": "1.3.3",
"from": "sane@>=1.3.1 <2.0.0",
"resolved": "https://registry.npmjs.org/sane/-/sane-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/sane/-/sane-1.3.3.tgz",
"dependencies": {
"exec-sh": {
"version": "0.2.0",
@ -4005,6 +4006,11 @@
"resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz"
}
}
},
"throat": {
"version": "2.0.2",
"from": "throat@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/throat/-/throat-2.0.2.tgz"
}
}
},

View File

@ -148,7 +148,7 @@
"mkdirp": "^0.5.1",
"module-deps": "^3.9.1",
"node-fetch": "^1.3.3",
"node-haste": "~2.0.0",
"node-haste": "~2.3.0",
"opn": "^3.0.2",
"optimist": "^0.6.1",
"progress": "^1.1.8",

View File

@ -2,6 +2,7 @@
jest
.dontMock('node-haste/lib/lib/getPlatformExtension')
.dontMock('node-haste/node_modules/throat')
.dontMock('../');
jest

View File

@ -10,6 +10,7 @@
jest
.setMock('worker-farm', () => () => undefined)
.dontMock('node-haste/node_modules/throat')
.dontMock('underscore')
.dontMock('../../lib/ModuleTransport')
.setMock('uglify-js')

View File

@ -25,8 +25,7 @@ describe('Transformer', function() {
var workers;
beforeEach(function() {
Cache = require('node-haste').Cache;
Cache = jest.genMockFn();
Cache.prototype.get = jest.genMockFn().mockImpl((a, b, c) => c());
workers = jest.genMockFn();

View File

@ -15,25 +15,37 @@ jest.mock('path');
const Promise = require('promise');
const Resolver = require('../');
const DependencyGraph = require('node-haste');
const path = require('path');
const _ = require('underscore');
let DependencyGraph = jest.genMockFn();
jest.setMock('node-haste', DependencyGraph);
let Module;
let Polyfill;
describe('Resolver', function() {
beforeEach(function() {
Module = require('node-haste').Module;
Polyfill = require('node-haste').Polyfill;
DependencyGraph.mockClear();
Module = jest.genMockFn().mockImpl(function() {
this.getName = jest.genMockFn();
this.getDependencies = jest.genMockFn();
this.isPolyfill = jest.genMockFn().mockReturnValue(false);
});
Polyfill = jest.genMockFn().mockImpl(function() {
var polyfill = new Module();
polyfill.isPolyfill.mockReturnValue(true);
return polyfill;
});
DependencyGraph.replacePatterns = require.requireActual('node-haste/lib/lib/replacePatterns');
DependencyGraph.prototype.createPolyfill = jest.genMockFn();
DependencyGraph.prototype.getDependencies = jest.genMockFn();
// For the polyfillDeps
path.join = jest.genMockFn().mockImpl((a, b) => b);
DependencyGraph.prototype.load.mockImpl(() => Promise.resolve());
DependencyGraph.prototype.load = jest.genMockFn().mockImpl(() => Promise.resolve());
});
class ResolutionResponseMock {
@ -60,9 +72,9 @@ describe('Resolver', function() {
function createPolyfill(id, dependencies) {
var polyfill = new Polyfill({});
polyfill.getName.mockImpl(() => Promise.resolve(id));
polyfill.getDependencies.mockImpl(() => Promise.resolve(dependencies));
polyfill.isPolyfill.mockReturnValue(true);
polyfill.getName = jest.genMockFn().mockImpl(() => Promise.resolve(id));
polyfill.getDependencies =
jest.genMockFn().mockImpl(() => Promise.resolve(dependencies));
return polyfill;
}
@ -86,30 +98,26 @@ describe('Resolver', function() {
.then(function(result) {
expect(result.mainModuleId).toEqual('index');
expect(result.dependencies[result.dependencies.length - 1]).toBe(module);
expect(_.pluck(Polyfill.mock.calls, 0)).toEqual([
{ path: 'polyfills/polyfills.js',
expect(_.pluck(DependencyGraph.prototype.createPolyfill.mock.calls, 0)).toEqual([
{ file: 'polyfills/polyfills.js',
id: 'polyfills/polyfills.js',
isPolyfill: true,
dependencies: []
},
{ id: 'polyfills/console.js',
isPolyfill: true,
path: 'polyfills/console.js',
file: 'polyfills/console.js',
dependencies: [
'polyfills/polyfills.js'
],
},
{ id: 'polyfills/error-guard.js',
isPolyfill: true,
path: 'polyfills/error-guard.js',
file: 'polyfills/error-guard.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js'
],
},
{ id: 'polyfills/String.prototype.es6.js',
isPolyfill: true,
path: 'polyfills/String.prototype.es6.js',
file: 'polyfills/String.prototype.es6.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',
@ -117,8 +125,7 @@ describe('Resolver', function() {
],
},
{ id: 'polyfills/Array.prototype.es6.js',
isPolyfill: true,
path: 'polyfills/Array.prototype.es6.js',
file: 'polyfills/Array.prototype.es6.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',
@ -127,8 +134,7 @@ describe('Resolver', function() {
],
},
{ id: 'polyfills/Array.es6.js',
isPolyfill: true,
path: 'polyfills/Array.es6.js',
file: 'polyfills/Array.es6.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',
@ -138,8 +144,7 @@ describe('Resolver', function() {
],
},
{ id: 'polyfills/Object.es7.js',
isPolyfill: true,
path: 'polyfills/Object.es7.js',
file: 'polyfills/Object.es7.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',
@ -150,8 +155,7 @@ describe('Resolver', function() {
],
},
{ id: 'polyfills/babelHelpers.js',
isPolyfill: true,
path: 'polyfills/babelHelpers.js',
file: 'polyfills/babelHelpers.js',
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',
@ -181,12 +185,14 @@ describe('Resolver', function() {
}));
});
const polyfill = {};
DependencyGraph.prototype.createPolyfill.mockReturnValueOnce(polyfill);
return depResolver.getDependencies('/root/index.js', { dev: true })
.then(function(result) {
expect(result.mainModuleId).toEqual('index');
expect(DependencyGraph.mock.instances[0].getDependencies)
.toBeCalledWith('/root/index.js', undefined, true);
expect(result.dependencies[0]).toBe(Polyfill.mock.instances[0]);
.toBeCalledWith({entryPath: '/root/index.js', recursive: true});
expect(result.dependencies[0]).toBe(polyfill);
expect(result.dependencies[result.dependencies.length - 1])
.toBe(module);
});
@ -211,10 +217,9 @@ describe('Resolver', function() {
return depResolver.getDependencies('/root/index.js', { dev: false })
.then((result) => {
expect(result.mainModuleId).toEqual('index');
expect(Polyfill.mock.calls[result.dependencies.length - 2]).toEqual([
{ path: 'some module',
expect(DependencyGraph.prototype.createPolyfill.mock.calls[result.dependencies.length - 2]).toEqual([
{ file: 'some module',
id: 'some module',
isPolyfill: true,
dependencies: [
'polyfills/polyfills.js',
'polyfills/console.js',

View File

@ -13,7 +13,6 @@ const path = require('path');
const Activity = require('../Activity');
const DependencyGraph = require('node-haste');
const replacePatterns = require('node-haste').replacePatterns;
const Polyfill = require('node-haste').Polyfill;
const declareOpts = require('../lib/declareOpts');
const Promise = require('promise');
@ -121,14 +120,13 @@ class Resolver {
return this._depGraph.getModuleForPath(entryFile);
}
getDependencies(main, options) {
const opts = getDependenciesValidateOpts(options);
return this._depGraph.getDependencies(
main,
opts.platform,
opts.recursive,
).then(resolutionResponse => {
getDependencies(entryPath, options) {
const {platform, recursive} = getDependenciesValidateOpts(options);
return this._depGraph.getDependencies({
entryPath,
platform,
recursive,
}).then(resolutionResponse => {
this._getPolyfillDependencies().reverse().forEach(
polyfill => resolutionResponse.prependDependency(polyfill)
);
@ -151,11 +149,10 @@ class Resolver {
return [
prelude,
moduleSystem
].map(moduleName => new Polyfill({
path: moduleName,
].map(moduleName => this._depGraph.createPolyfill({
file: moduleName,
id: moduleName,
dependencies: [],
isPolyfill: true,
}));
}
@ -172,11 +169,10 @@ class Resolver {
].concat(this._polyfillModuleNames);
return polyfillModuleNames.map(
(polyfillModuleName, idx) => new Polyfill({
path: polyfillModuleName,
(polyfillModuleName, idx) => this._depGraph.createPolyfill({
file: polyfillModuleName,
id: polyfillModuleName,
dependencies: polyfillModuleNames.slice(0, idx),
isPolyfill: true,
})
);
}

View File

@ -9,6 +9,7 @@
'use strict';
jest.setMock('worker-farm', function() { return () => {}; })
.dontMock('node-haste/node_modules/throat')
.dontMock('os')
.dontMock('underscore')
.dontMock('path')

View File

@ -11,6 +11,7 @@
jest.setMock('uglify-js')
.mock('net')
.mock('fs')
.dontMock('node-haste/node_modules/throat')
.dontMock('../SocketServer');
var PackagerServer = require('../../Server');