Commit d2f24d4
committed
fix: deep-clone nested config before freezing to avoid side effects
getConfigOptions() was freezing nested plain objects in place
via Object.freeze(val), which also froze the user's original
objects since the spread copy is shallow. Now deep-clones
with JSON.parse(JSON.stringify()) before freezing, so the
returned config is immutable but the caller's originals
remain mutable.1 parent fcdd442 commit d2f24d4
2 files changed
Lines changed: 18 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
70 | | - | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
411 | 426 | | |
412 | 427 | | |
413 | 428 | | |
| |||
0 commit comments