From a97847a49475e774695c38cff07a71eadf608c05 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Fri, 29 Sep 2023 16:34:20 -0700 Subject: Implement virtual module support in `Bun.plugin` (#6167) * Add support for `build.module` in `Bun.plugin` * Another test * Update docs * Update isBuiltinModule.cpp --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Dylan Conway --- src/bun.js/modules/NodeModuleModule.h | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'src/bun.js/modules/NodeModuleModule.h') diff --git a/src/bun.js/modules/NodeModuleModule.h b/src/bun.js/modules/NodeModuleModule.h index ddb273de4..0da967f65 100644 --- a/src/bun.js/modules/NodeModuleModule.h +++ b/src/bun.js/modules/NodeModuleModule.h @@ -1,8 +1,11 @@ +#pragma once + #include "CommonJSModuleRecord.h" #include "ImportMetaObject.h" #include "JavaScriptCore/JSBoundFunction.h" #include "JavaScriptCore/ObjectConstructor.h" #include "_NativeModule.h" +#include "isBuiltinModule.h" using namespace Zig; using namespace JSC; @@ -88,18 +91,6 @@ static constexpr ASCIILiteral builtinModuleNames[] = { "zlib"_s, }; -static bool isBuiltinModule(const String &namePossiblyWithNodePrefix) { - String name = namePossiblyWithNodePrefix; - if (name.startsWith("node:"_s)) - name = name.substringSharingImpl(5); - - for (auto &builtinModule : builtinModuleNames) { - if (name == builtinModule) - return true; - } - return false; -} - JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleModuleConstructor, (JSC::JSGlobalObject * globalObject, JSC::CallFrame *callFrame)) { @@ -158,7 +149,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionIsBuiltinModule, auto moduleStr = moduleName.toWTFString(globalObject); RETURN_IF_EXCEPTION(scope, JSValue::encode(jsBoolean(false))); - return JSValue::encode(jsBoolean(isBuiltinModule(moduleStr))); + return JSValue::encode(jsBoolean(Bun::isBuiltinModule(moduleStr))); } JSC_DEFINE_HOST_FUNCTION(jsFunctionWrap, (JSC::JSGlobalObject * globalObject, -- cgit v1.2.3