From 41f4302d394a6d2696a2f7b3a6ab98474270bfa5 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Mon, 4 Jul 2022 17:17:29 -0700 Subject: Handle global require("string") --- src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp') diff --git a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp index c1b62429b..c24d67a81 100644 --- a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp +++ b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp @@ -96,19 +96,25 @@ const char* const s_importMetaObjectRequireCode = const JSC::ConstructAbility s_importMetaObjectLoadModuleCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectLoadModuleCodeConstructorKind = JSC::ConstructorKind::None; -const int s_importMetaObjectLoadModuleCodeLength = 2750; +const int s_importMetaObjectLoadModuleCodeLength = 2818; static const JSC::Intrinsic s_importMetaObjectLoadModuleCodeIntrinsic = JSC::NoIntrinsic; const char* const s_importMetaObjectLoadModuleCode = "(function (meta, resolvedSpecifier) {\n" \ " \"use strict\";\n" \ - " var Loader = globalThis.Loader;\n" \ "\n" \ " var queue = @createFIFO();\n" \ " var key = resolvedSpecifier;\n" \ - " var registry = Loader.registry;\n" \ " while (key) {\n" \ - " @fulfillModuleSync(key);\n" \ - " var entry = registry.@get(key);\n" \ + " //\n" \ + " //\n" \ + " //\n" \ + " var entry = Loader.registry.@get(key);\n" \ + "\n" \ + " if (!entry || entry.state <= @ModuleFetch) {\n" \ + " @fulfillModuleSync(key);\n" \ + " entry = Loader.registry.@get(key);\n" \ + " }\n" \ + "\n" \ "\n" \ " //\n" \ " //\n" \ @@ -182,9 +188,10 @@ const char* const s_importMetaObjectLoadModuleCode = "\n" \ " entry.dependencies = dependencies;\n" \ " key = queue.shift();\n" \ - " while (key && (registry.@get(key)?.state ?? @ModuleFetch) >= @ModuleLink) {\n" \ + " while (key && (Loader.registry.@get(key)?.state ?? @ModuleFetch) >= @ModuleLink) {\n" \ " key = queue.shift();\n" \ " }\n" \ + "\n" \ " }\n" \ "\n" \ " var linkAndEvaluateResult = Loader.linkAndEvaluateModule(\n" \ -- cgit v1.2.3