aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-10 20:47:38 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-10 20:47:38 -0700
commit92e8eaf581a691cf77be6877a5dc404ee85718da (patch)
treea97158c4820dbff963d8a9f60f1ceafd44fffb59 /src
parente8e58a511f881957a9a83bd41e288476b040d620 (diff)
downloadbun-92e8eaf581a691cf77be6877a5dc404ee85718da.tar.gz
bun-92e8eaf581a691cf77be6877a5dc404ee85718da.tar.zst
bun-92e8eaf581a691cf77be6877a5dc404ee85718da.zip
[napi] Error on import .node
Diffstat (limited to 'src')
-rw-r--r--src/javascript/jsc/bindings/ZigGlobalObject.cpp30
1 files changed, 1 insertions, 29 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.cpp b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
index 3820dcef2..b1ce133fa 100644
--- a/src/javascript/jsc/bindings/ZigGlobalObject.cpp
+++ b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
@@ -1045,35 +1045,7 @@ JSC::JSInternalPromise* GlobalObject::moduleLoaderFetch(JSGlobalObject* globalOb
auto moduleKey = key.toWTFString(globalObject);
RETURN_IF_EXCEPTION(scope, promise->rejectWithCaughtException(globalObject, scope));
if (moduleKey.endsWith(".node")) {
- CString utf8 = moduleKey.utf8();
- void* handle = dlopen(utf8.data(), RTLD_LAZY);
-
- if (!handle) {
- WTF::String msg = WTF::String::fromUTF8(dlerror());
- return rejectWithError(JSC::createTypeError(globalObject, msg));
- }
-
- JSC::EncodedJSValue (*napi_register_module_v1)(JSC::JSGlobalObject * globalObject,
- JSC::EncodedJSValue exports);
-
- napi_register_module_v1 = reinterpret_cast<JSC::EncodedJSValue (*)(JSC::JSGlobalObject*,
- JSC::EncodedJSValue)>(
- dlsym(handle, "napi_register_module_v1"));
-
- if (!napi_register_module_v1) {
- dlclose(handle);
- return rejectWithError(JSC::createTypeError(globalObject, "symbol 'napi_register_module_v1' not found in native module. Is this a Node API (napi) module?"_s));
- }
- JSC::JSValue exports = JSC::constructEmptyObject(globalObject);
-
- JSC::JSValue returnedExports = JSC::JSValue::decode(napi_register_module_v1(globalObject, JSC::JSValue::encode(exports)));
-
- auto sourceCode = Napi::generateSourceCode(moduleKey, vm, returnedExports.getObject(), globalObject);
-
- scope.releaseAssertNoExceptionExceptTermination();
- auto jsSourceCode = JSC::JSSourceCode::create(vm, WTFMove(sourceCode));
- promise->resolve(globalObject, jsSourceCode);
- return promise;
+ return rejectWithError(createTypeError(globalObject, "To load Node-API modules, use require() or process.dlopen instead of import."_s));
}
auto moduleKeyZig = toZigString(moduleKey);
o/log/packages/astro?h=@astrojs/prefetch@0.0.3&follow=1'>astro/test/fixtures/vue-component (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-06-30Ci: improve times, reduce delay (#3780)Gravatar Fred K. Schott 1-14/+10
2022-06-30await error reporter (#3779)Gravatar Fred K. Schott 2-10/+25
2022-06-30[ci] formatGravatar natemoo-re 14-99/+95
2022-06-30MDX support (#3706)Gravatar Nate Moore 63-57/+1153
2022-06-30Fix integration name (`prefetch` instead of `lit`) (#3778)Gravatar hippotastic 2-1/+6
2022-06-30[ci] update lockfile (#3771)Gravatar Fred K. Bot 1-114/+112
2022-06-30Integration Docs Next Steps (#3677)Gravatar Dan Jutan 11-314/+666
2022-06-30[ci] formatGravatar tony-sull 1-2/+2
2022-06-30refactor to provide better cli error handling (#3768)Gravatar Fred K. Schott 2-43/+37
2022-06-30[ci] release (#3772)@astrojs/preact@0.3.1Gravatar Fred K. Bot 12-22/+23
2022-06-30Added Cloudflare adapter to README.md (#3773)Gravatar Isaac McFadyen 1-0/+1
2022-06-30[ci] formatGravatar hippotastic 1-5/+4
2022-06-30Fix "Invalid hook call" warning (#3769)Gravatar hippotastic 2-9/+79
2022-06-29[ci] release (#3759)astro@1.0.0-beta.59@astrojs/telemetry@0.2.2@astrojs/preact@0.3.0Gravatar Fred K. Bot 42-121/+117
2022-06-29[ci] formatGravatar FredKSchott 8-35/+36
2022-06-29manual lockfile update (#3751)Gravatar Fred K. Schott 3-2659/+2871
2022-06-29add error event to telemetry (#3750)Gravatar Fred K. Schott 16-85/+270