aboutsummaryrefslogtreecommitdiff
path: root/src/node_fallbacks.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_fallbacks.zig')
-rw-r--r--src/node_fallbacks.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/node_fallbacks.zig b/src/node_fallbacks.zig
index def1d6126..63a005c27 100644
--- a/src/node_fallbacks.zig
+++ b/src/node_fallbacks.zig
@@ -479,3 +479,21 @@ pub const Map = std.ComptimeStringMap(FallbackModule, .{
&.{ "isomorphic-fetch", FallbackModule.@"isomorphic-fetch" },
&.{ "@vercel/fetch", FallbackModule.@"@vercel/fetch" },
});
+
+pub fn contentsFromPath(path: string) ?string {
+ var module_name = path["/bun-vfs/node_modules/".len..];
+
+ if (module_name[0] == '@') {
+ var end = std.mem.indexOfScalar(u8, module_name, '/').? + 1;
+ end += std.mem.indexOfScalar(u8, module_name[end..], '/').?;
+
+ module_name = module_name[0..end];
+ } else {
+ module_name = module_name[0..std.mem.indexOfScalar(u8, module_name, '/').?];
+ }
+
+ if (Map.get(module_name)) |mod| {
+ return mod.code.*;
+ }
+ return null;
+}