From 516b54578dec5506fed1d88fb6b9e2d8dc89d2ea Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Fri, 29 Apr 2022 23:21:14 -0700 Subject: [bun:ffi] it works --- src/javascript/jsc/javascript.zig | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/javascript/jsc/javascript.zig') diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index 009ef160d..5996f5808 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -1078,6 +1078,14 @@ pub const VirtualMachine = struct { .source_url = ZigString.init("node:path"), .hash = 0, }; + } else if (strings.eqlComptime(_specifier, "bun:ffi")) { + return ResolvedSource{ + .allocator = null, + .source_code = ZigString.init(@embedFile("ffi.exports.js") ++ "export const FFIType = " ++ JSC.FFI.ABIType.map_to_js_object ++ ";\n"), + .specifier = ZigString.init("bun:ffi"), + .source_url = ZigString.init("bun:ffi"), + .hash = 0, + }; } const specifier = normalizeSpecifier(_specifier); @@ -1303,11 +1311,14 @@ pub const VirtualMachine = struct { ret.result = null; ret.path = "node:fs"; return; - } - if (strings.eqlComptime(specifier, "node:path")) { + } else if (strings.eqlComptime(specifier, "node:path")) { ret.result = null; ret.path = "node:path"; return; + } else if (strings.eqlComptime(specifier, "bun:ffi")) { + ret.result = null; + ret.path = "bun:ffi"; + return; } const is_special_source = strings.eqlComptime(source, main_file_name) or js_ast.Macro.isMacroPath(source); -- cgit v1.2.3