aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/resolver/resolver.zig19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/resolver/resolver.zig b/src/resolver/resolver.zig
index aa0b28107..bbb697d92 100644
--- a/src/resolver/resolver.zig
+++ b/src/resolver/resolver.zig
@@ -701,18 +701,13 @@ pub const Resolver = struct {
// If you use mjs or mts, then you're using esm
// 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) {
- getter: {
- if (strings.eqlAnyComptime(path.name.ext, &.{ ".mjs", ".mts" })) {
- module_type = .esm;
- break :getter;
- }
-
- if (strings.eqlAnyComptime(path.name.ext, &.{ ".cjs", ".cts" })) {
- module_type = .cjs;
- break :getter;
- }
- }
+ 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,
+ };
}
if (dir.getEntries()) |entries| {