aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-24 03:53:26 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-24 03:53:26 -0800
commitffacc1d02ddd7ecf3af7589c5af19d92ce85db75 (patch)
treedc603984e6b25b777a5619369f131e4a3efb5e54
parent1be13fa192fa9ca638f04e5ff6954e7d9cb3dd7e (diff)
downloadbun-ffacc1d02ddd7ecf3af7589c5af19d92ce85db75.tar.gz
bun-ffacc1d02ddd7ecf3af7589c5af19d92ce85db75.tar.zst
bun-ffacc1d02ddd7ecf3af7589c5af19d92ce85db75.zip
Workaround strange crash
-rw-r--r--src/options.zig40
1 files changed, 18 insertions, 22 deletions
diff --git a/src/options.zig b/src/options.zig
index aceda4f0c..7aad92d39 100644
--- a/src/options.zig
+++ b/src/options.zig
@@ -1070,7 +1070,20 @@ pub fn definesFromTransformOptions(
);
}
-pub fn loadersFromTransformOptions(allocator: std.mem.Allocator, _loaders: ?Api.LoaderMap, platform: Platform) !std.StringHashMap(Loader) {
+const default_loader_ext_bun = [_]string{".node"};
+const default_loader_ext = [_]string{
+ ".jsx", ".json",
+ ".js", ".mjs",
+ ".cjs", ".css",
+
+ // https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#new-file-extensions
+ ".ts", ".tsx",
+ ".mts", ".cts",
+
+ ".toml", ".wasm",
+};
+
+pub fn loadersFromTransformOptions(allocator: std.mem.Allocator, _loaders: ?Api.LoaderMap, platform: Platform) !std.StringArrayHashMap(Loader) {
var input_loaders = _loaders orelse std.mem.zeroes(Api.LoaderMap);
var loader_values = try allocator.alloc(Loader, input_loaders.loaders.len);
@@ -1110,36 +1123,19 @@ pub fn loadersFromTransformOptions(allocator: std.mem.Allocator, _loaders: ?Api.
}
var loaders = try stringHashMapFromArrays(
- std.StringHashMap(Loader),
+ std.StringArrayHashMap(Loader),
allocator,
input_loaders.extensions,
loader_values,
);
- const default_loader_ext = comptime [_]string{
- ".jsx", ".json",
- ".js", ".mjs",
- ".cjs", ".css",
-
- // https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#new-file-extensions
- ".ts", ".tsx",
- ".mts", ".cts",
-
- ".toml", ".wasm",
- };
-
- const default_loader_ext_bun = [_]string{".node"};
inline for (default_loader_ext) |ext| {
- if (!loaders.contains(ext)) {
- try loaders.put(ext, defaultLoaders.get(ext).?);
- }
+ _ = try loaders.getOrPutValue(ext, defaultLoaders.get(ext).?);
}
if (platform.isBun()) {
inline for (default_loader_ext_bun) |ext| {
- if (!loaders.contains(ext)) {
- try loaders.put(ext, defaultLoaders.get(ext).?);
- }
+ _ = try loaders.getOrPutValue(ext, defaultLoaders.get(ext).?);
}
}
@@ -1182,7 +1178,7 @@ pub const BundleOptions = struct {
footer: string = "",
banner: string = "",
define: *defines.Define,
- loaders: std.StringHashMap(Loader),
+ loaders: std.StringArrayHashMap(Loader),
resolve_dir: string = "/",
jsx: JSX.Pragma = JSX.Pragma{},
auto_import_jsx: bool = true,