Files
Kristjan ESPERANTO 4a8c1194f9 refactor(module): simplify and fix configMerge (#4203)
I had a hard time understanding `configMerge` - the old `arguments`
slicing and nested loops took me a while. The jsdoc didn't help much.
After it finally clicked, I rewrote it to be readable: rest param + a
simple `for...of` instead of the `while`-stack.

And there's one real behavior fix. With this default and user config:

```js
defaults: { foo: { a: 1 } }
config:   { foo: [10, 20] }
```

the old code merged them into `{ foo: { 0: 10, 1: 20, a: 1 } }`. Now the
array just replaces the object -> `{ foo: [10, 20] }`.
I added a small test for that case.

Only affects modules using `configDeepMerge: true` that override an
object default with an array, so the impact is tiny.
2026-07-13 00:22:16 +02:00
..