diff options
author | 2022-03-04 00:20:22 -0800 | |
---|---|---|
committer | 2022-03-04 00:20:22 -0800 | |
commit | 51fbbea1d3dc2b610fe5fe525229e56b581e5c8a (patch) | |
tree | c75e063c4eb7c99737fbf7a5a2014f9546e2e218 /src/resolver/resolver.zig | |
parent | 696710fd7aedee6054947aab002aaa853e9ee731 (diff) | |
download | bun-jarred/upgrade-zig-2.tar.gz bun-jarred/upgrade-zig-2.tar.zst bun-jarred/upgrade-zig-2.zip |
upgrade zigjarred/upgrade-zig-2
Diffstat (limited to '')
-rw-r--r-- | src/resolver/resolver.zig | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/resolver/resolver.zig b/src/resolver/resolver.zig index d3d8856cb..cd907ea2c 100644 --- a/src/resolver/resolver.zig +++ b/src/resolver/resolver.zig @@ -575,7 +575,7 @@ pub const Resolver = struct { defer { if (FeatureFlags.tracing) { - if (timer) |time| { + if (timer) |*time| { // technically, this should be an atomic op r.elapsed += time.read(); } @@ -672,6 +672,13 @@ pub const Resolver = struct { return result; } + const ModuleTypeMap = _global.ComptimeStringMap(options.ModuleType, .{ + .{ ".mjs", options.ModuleType.esm }, + .{ ".mts", options.ModuleType.esm }, + .{ ".cjs", options.ModuleType.cjs }, + .{ ".cts", options.ModuleType.cjs }, + }); + pub fn finalizeResult(r: *ThisResolver, result: *Result, kind: ast.ImportKind) !void { if (result.is_external) return; @@ -693,12 +700,7 @@ pub const Resolver = struct { // If you use cjs or cts, then you're using cjs // This should win out over the module type from package.json if (!kind.isFromCSS() and module_type == .unknown and path.name.ext.len == 4) { - const FourLetterMatcher = strings.ExactSizeMatcher(4); - module_type = switch (FourLetterMatcher.match(path.name.ext)) { - FourLetterMatcher.case(".mjs"), FourLetterMatcher.case(".mts") => .esm, - FourLetterMatcher.case(".cjs"), FourLetterMatcher.case(".cts") => .cjs, - else => .unknown, - }; + module_type = ModuleTypeMap.getWithLength(path.name.ext, 4) orelse .unknown; } if (dir.getEntries()) |entries| { @@ -720,7 +722,7 @@ pub const Resolver = struct { if (query.entry.cache.fd == 0) { buf[out.len] = 0; const span = buf[0..out.len :0]; - var file = try std.fs.openFileAbsoluteZ(span, .{ .read = true }); + var file = try std.fs.openFileAbsoluteZ(span, .{ .mode = .read_only }); if (comptime !FeatureFlags.store_file_descriptors) { out = try std.os.getFdPath(query.entry.cache.fd, &buf); |