aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-11 06:03:43 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-11 08:04:55 -0700
commit61901306266fac82e7121ea93fde6c8ffb5826bb (patch)
tree164ace981529b5be70a910f76a58546b9fc419e0 /src/bun.js/javascript.zig
parentf6cd941522ddf70a0b374fd030375bd2352cb3b9 (diff)
downloadbun-61901306266fac82e7121ea93fde6c8ffb5826bb.tar.gz
bun-61901306266fac82e7121ea93fde6c8ffb5826bb.tar.zst
bun-61901306266fac82e7121ea93fde6c8ffb5826bb.zip
[resolver] Stripe `file://` from import paths
Diffstat (limited to 'src/bun.js/javascript.zig')
-rw-r--r--src/bun.js/javascript.zig14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index f87c58e83..6300ae32a 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -1225,7 +1225,8 @@ pub const VirtualMachine = struct {
source
else
jsc_vm.bundler.fs.top_level_dir,
- specifier,
+ // TODO: do we need to handle things like query string params?
+ if (strings.hasPrefixComptime(specifier, "file://")) specifier["file://".len..] else specifier,
.stmt,
);
@@ -1347,12 +1348,10 @@ pub const VirtualMachine = struct {
var slice = slice_;
if (slice.len == 0) return slice;
var was_http = false;
- if (strings.hasPrefix(slice, "https://")) {
+ if (strings.hasPrefixComptime(slice, "https://")) {
slice = slice["https://".len..];
was_http = true;
- }
-
- if (strings.hasPrefix(slice, "http://")) {
+ } else if (strings.hasPrefixComptime(slice, "http://")) {
slice = slice["http://".len..];
was_http = true;
}
@@ -2781,12 +2780,17 @@ pub const HardcodedModule = enum {
.{ "node:fs/promises", "node:fs/promises" },
.{ "node:module", "node:module" },
.{ "node:path", "node:path" },
+ .{ "node:path/posix", "node:path" },
+ .{ "node:path/win32", "node:path" },
+ .{ "node:perf_hooks", "node:perf_hooks" },
.{ "node:streams/consumer", "node:streams/consumer" },
.{ "node:streams/web", "node:streams/web" },
.{ "node:timers", "node:timers" },
.{ "node:timers/promises", "node:timers/promises" },
.{ "node:url", "node:url" },
.{ "path", "node:path" },
+ .{ "path/posix", "node:path" },
+ .{ "path/win32", "node:path" },
.{ "perf_hooks", "node:perf_hooks" },
.{ "streams/consumer", "node:streams/consumer" },
.{ "streams/web", "node:streams/web" },