Skip to content

Commit 1d5e3f0

Browse files
committed
Merge pull request #64 from mvayngrib/alt-browser
fall back to 'browser' in deps without alt-browser field
2 parents aa48bfd + fffcf3b commit 1d5e3f0

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ function normalizeBrowserFieldName(browser) {
312312

313313
function getReplacements(info, browser) {
314314
browser = normalizeBrowserFieldName(browser);
315-
var replacements = info[browser];
315+
var replacements = info[browser] || info.browser;
316316

317317
// support legacy browserify field for easier migration from legacy
318318
// many packages used this field historically

test/fixtures/node_modules/alt-browser-field/foo.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/fixtures/node_modules/alt-browser-field/package.json

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/modules.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,3 +263,19 @@ test('alt-browser deep module reference mapping', function(done) {
263263
done();
264264
});
265265
});
266+
267+
test('alt-browser fallback to "browser" on deps of deps', function(done) {
268+
var parent = {
269+
filename: fixtures_dir + '/alt-browser-field/foo.js',
270+
package: { main: './index.js' },
271+
browser: 'chromeapp'
272+
};
273+
274+
resolve('foobar', parent, function(err, path, pkg) {
275+
assert.ifError(err);
276+
assert.equal(path, require.resolve('./fixtures/node_modules/module-k/browser'));
277+
assert.equal(pkg.main, './browser.js');
278+
assert.equal(pkg.browser['./index.js'], './browser.js');
279+
done();
280+
});
281+
});

0 commit comments

Comments
 (0)