aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-06-02 20:45:48 -0700
committerGravatar GitHub <noreply@github.com> 2023-06-02 20:45:48 -0700
commit3e437a6ae0d4a68f8f29c60276918d662ad7bbc7 (patch)
tree916b36f17eda8f96482da2de42b361a202f3b215 /src
parentd8e7436db02f38f74ce29b4a0e7c0efcd133ec53 (diff)
downloadbun-3e437a6ae0d4a68f8f29c60276918d662ad7bbc7.tar.gz
bun-3e437a6ae0d4a68f8f29c60276918d662ad7bbc7.tar.zst
bun-3e437a6ae0d4a68f8f29c60276918d662ad7bbc7.zip
check package name length in `shouldUnwrapRequire()` (#3183)
* make sure length is equal * add and use `indexEqualAny`
Diffstat (limited to 'src')
-rw-r--r--src/runtime.zig2
-rw-r--r--src/string_immutable.zig5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/runtime.zig b/src/runtime.zig
index 7312aa4bd..6916df6b1 100644
--- a/src/runtime.zig
+++ b/src/runtime.zig
@@ -329,7 +329,7 @@ pub const Runtime = struct {
commonjs_at_runtime: bool = false,
pub fn shouldUnwrapRequire(this: *const Features, package_name: string) bool {
- return package_name.len > 0 and strings.indexAny(this.unwrap_commonjs_packages, package_name) != null;
+ return package_name.len > 0 and strings.indexEqualAny(this.unwrap_commonjs_packages, package_name) != null;
}
pub const ReplaceableExport = union(enum) {
diff --git a/src/string_immutable.zig b/src/string_immutable.zig
index 25d4fb01a..3d1724d4e 100644
--- a/src/string_immutable.zig
+++ b/src/string_immutable.zig
@@ -127,6 +127,11 @@ pub inline fn indexAnyComptime(target: string, comptime chars: string) ?usize {
return null;
}
+pub inline fn indexEqualAny(in: anytype, target: string) ?usize {
+ for (in, 0..) |str, i| if (eqlLong(str, target, true)) return i;
+ return null;
+}
+
pub fn repeatingAlloc(allocator: std.mem.Allocator, count: usize, char: u8) ![]u8 {
var buf = try allocator.alloc(u8, count);
repeatingBuf(buf, char);