Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 39e032f

Browse filesBrowse files
guybedfordMylesBorins
authored andcommitted
module: fix main lookup regression from #18728
Backport-PR-URL: #18923 PR-URL: #18788 Refs: #18728 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent f3e3429 commit 39e032f
Copy full SHA for 39e032f

File tree

Expand file treeCollapse file tree

4 files changed

+17
-5
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

4 files changed

+17
-5
lines changed
Open diff view settings
Collapse file

‎src/module_wrap.cc‎

Copy file name to clipboardExpand all lines: src/module_wrap.cc
+7-5Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ const PackageConfig& GetPackageConfig(Environment* env,
534534
}
535535

536536
auto entry = env->package_json_cache.emplace(path,
537-
PackageConfig { Exists::Yes, IsValid::Yes, has_main, "" });
537+
PackageConfig { Exists::Yes, IsValid::Yes, has_main, main_std });
538538
return entry.first->second;
539539
}
540540

@@ -575,13 +575,15 @@ Maybe<URL> ResolveMain(Environment* env, const URL& search) {
575575
GetPackageConfig(env, pkg.ToFilePath());
576576
// Note invalid package.json should throw in resolver
577577
// currently we silently ignore which is incorrect
578-
if (!pjson.exists || !pjson.is_valid || !pjson.has_main) {
578+
if (pjson.exists == Exists::No ||
579+
pjson.is_valid == IsValid::No ||
580+
pjson.has_main == HasMain::No) {
579581
return Nothing<URL>();
580582
}
581583
if (!ShouldBeTreatedAsRelativeOrAbsolutePath(pjson.main)) {
582-
return Resolve(env, "./" + pjson.main, search);
584+
return Resolve(env, "./" + pjson.main, search, IgnoreMain);
583585
}
584-
return Resolve(env, pjson.main, search);
586+
return Resolve(env, pjson.main, search, IgnoreMain);
585587
}
586588

587589
Maybe<URL> ResolveModule(Environment* env,
@@ -592,7 +594,7 @@ Maybe<URL> ResolveModule(Environment* env,
592594
do {
593595
dir = parent;
594596
Maybe<URL> check =
595-
Resolve(env, "./node_modules/" + specifier, dir, IgnoreMain);
597+
Resolve(env, "./node_modules/" + specifier, dir, CheckMain);
596598
if (!check.IsNothing()) {
597599
const size_t limit = specifier.find('/');
598600
const size_t spec_len =
Collapse file
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Flags: --experimental-modules
2+
/* eslint-disable required-modules */
3+
import assert from 'assert';
4+
import main from '../fixtures/es-modules/pjson-main';
5+
6+
assert.strictEqual(main, 'main');
Collapse file
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = 'main';
Collapse file
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"main": "main.js"
3+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.