diff options
author | 2021-09-12 00:39:57 -0700 | |
---|---|---|
committer | 2021-09-12 00:39:57 -0700 | |
commit | 350569655bcf4348d521f20cec4da7aee55ae102 (patch) | |
tree | aa278040f04d477739a16aef25991ca1ce7cd4ed /src/node_fallbacks.zig | |
parent | 092f9ac766ff532cb34587b5d93c401070cc79cf (diff) | |
download | bun-350569655bcf4348d521f20cec4da7aee55ae102.tar.gz bun-350569655bcf4348d521f20cec4da7aee55ae102.tar.zst bun-350569655bcf4348d521f20cec4da7aee55ae102.zip |
Support bundling dynamically imported modules.
Diffstat (limited to 'src/node_fallbacks.zig')
-rw-r--r-- | src/node_fallbacks.zig | 18 |
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; +} |