Skip to content

Commit fa5ffb2

Browse files
committed
fix: fix missing main alias for npm package name ended with ".js"
1 parent b8413c8 commit fa5ffb2

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

src/package-reader.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ export default class PackageReader {
4444
.then(unit => {
4545
// add alias from package name to main file module id.
4646
// but don't add alias from "foo" to "foo/main.css".
47-
if (ext(unit.moduleId) === ext(this.name)) {
47+
const mExt = ext(unit.moduleId);
48+
const pExt = ext(this.name);
49+
if (mExt === pExt || (pExt === '.js' && !mExt)) {
4850
unit.alias = this.name;
4951
}
5052
return unit;

test/package-reader.spec.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -234,22 +234,22 @@ test('packageReader reads browser over main/module field', t => {
234234
});
235235

236236
test('packageReader reads main file with explicit ext', t => {
237-
getReader('foo', {
238-
'node_modules/foo/package.json': '{"name":"foo", "main": "./main.js"}',
239-
'node_modules/foo/main.js': "lorem"
237+
getReader('foo.js', {
238+
'node_modules/foo.js/package.json': '{"name":"foo.js", "main": "./main.js"}',
239+
'node_modules/foo.js/main.js': "lorem"
240240
}).then(r => {
241241
r.readMain().then(
242242
unit => {
243243
t.deepEqual(unit, {
244-
path: 'node_modules/foo/main.js',
244+
path: 'node_modules/foo.js/main.js',
245245
contents: 'lorem',
246-
moduleId: 'foo/main',
247-
packageName: 'foo',
248-
alias: 'foo',
246+
moduleId: 'foo.js/main',
247+
packageName: 'foo.js',
248+
alias: 'foo.js',
249249
sourceMap: undefined
250250
});
251251

252-
t.equal(r.name, 'foo');
252+
t.equal(r.name, 'foo.js');
253253
t.equal(r.mainPath, 'main.js');
254254
t.deepEqual(r.browserReplacement, {});
255255
},

0 commit comments

Comments
 (0)