aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-06 23:16:18 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-06 23:16:18 -0700
commit4601531bf015c54dc4793173f93d6c09c90c7611 (patch)
tree219e8a41494d85bebbfe49ecd4457ea20186eb38 /src
parent520f7e78ace42878eb2cac5bd9fae4bdc1d469c6 (diff)
downloadbun-4601531bf015c54dc4793173f93d6c09c90c7611.tar.gz
bun-4601531bf015c54dc4793173f93d6c09c90c7611.tar.zst
bun-4601531bf015c54dc4793173f93d6c09c90c7611.zip
[tsconfig] Fix crash affecting preact
Diffstat (limited to 'src')
-rw-r--r--src/resolver/tsconfig_json.zig15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/resolver/tsconfig_json.zig b/src/resolver/tsconfig_json.zig
index 68217191a..34732beb8 100644
--- a/src/resolver/tsconfig_json.zig
+++ b/src/resolver/tsconfig_json.zig
@@ -325,9 +325,24 @@ pub const TSConfigJSON = struct {
return &([_]string{});
}
const parts_count = std.mem.count(u8, text, ".");
+
+ if (parts_count == 0) {
+ if (!js_lexer.isIdentifier(text)) {
+ const warn = source.rangeOfString(loc);
+ log.addRangeWarningFmt(source, warn, allocator, "Invalid JSX member expression: \"{s}\"", .{text}) catch {};
+ return &([_]string{});
+ }
+
+ var members = allocator.alloc(string, 1) catch unreachable;
+
+ members[0] = text;
+ return members;
+ }
+
const parts = allocator.alloc(string, parts_count) catch unreachable;
var iter = std.mem.tokenize(u8, text, ".");
var i: usize = 0;
+
while (iter.next()) |part| {
if (!js_lexer.isIdentifier(part)) {
const warn = source.rangeOfString(loc);