@@ -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
587589Maybe<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 =
0 commit comments