diff options
| author | 2022-07-06 23:16:18 -0700 | |
|---|---|---|
| committer | 2022-07-06 23:16:18 -0700 | |
| commit | 4601531bf015c54dc4793173f93d6c09c90c7611 (patch) | |
| tree | 219e8a41494d85bebbfe49ecd4457ea20186eb38 /src | |
| parent | 520f7e78ace42878eb2cac5bd9fae4bdc1d469c6 (diff) | |
| download | bun-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.zig | 15 |
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); |
