diff options
Diffstat (limited to 'src/resolver/package_json.zig')
-rw-r--r-- | src/resolver/package_json.zig | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig index e759374e7..81dcbf3a6 100644 --- a/src/resolver/package_json.zig +++ b/src/resolver/package_json.zig @@ -1769,8 +1769,12 @@ pub const ESModule = struct { const slice = object.list.slice(); const keys = slice.items(.key); - for (keys, 0..) |key, i| { - if (r.conditions.contains(key)) { + + // This looping order is really sublte and important. + // https://github.com/oven-sh/bun/issues/3371 + // https://github.com/oven-sh/bun/pull/2673 + for (r.conditions.keys()) |key| { + if (strings.indexEqualAny(keys, key)) |i| { if (r.debug_logs) |log| { log.addNoteFmt("The key \"{s}\" matched", .{key}); } |