diff options
author | 2023-09-29 16:34:20 -0700 | |
---|---|---|
committer | 2023-09-29 16:34:20 -0700 | |
commit | a97847a49475e774695c38cff07a71eadf608c05 (patch) | |
tree | 26867f9be2eddaa0b752189a27810ed4db6ed902 /src/bun.js/modules/NodeModuleModule.h | |
parent | eddb0078b5c9ff49bf67c0f1b1c2c623f0480b77 (diff) | |
download | bun-a97847a49475e774695c38cff07a71eadf608c05.tar.gz bun-a97847a49475e774695c38cff07a71eadf608c05.tar.zst bun-a97847a49475e774695c38cff07a71eadf608c05.zip |
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 <dylan.conway567@gmail.com>
Diffstat (limited to 'src/bun.js/modules/NodeModuleModule.h')
-rw-r--r-- | src/bun.js/modules/NodeModuleModule.h | 17 |
1 files changed, 4 insertions, 13 deletions
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, |