Repository navigation
Commit ecbaf36
committed
fix(ui): 重名检测不再走原型链
终局全分支评审发现(Minor,控制方直接修并自证):
`if (merged[name])` 会走原型链,名为 constructor 的图标(命名规范 /^[a-z][a-z0-9-]*$/ 恰好放行)
即使毫无重名也会因取到 Object.prototype.constructor 而抛「图标重名」——误导性的启动期崩溃。
改为 Object.prototype.hasOwnProperty.call(merged, name)。不用 Object.hasOwn:它是 ES2022,
而本仓 lib 为 ES2020。
探针自证(真实模块):临时插入一个名为 constructor 的图标 -> 模块正常导入(9 用例中 8 个照跑),
唯一失败是「恰好 24 个」的名单计数;若为旧代码,导入期即抛错、9 个用例全灭。逐字节还原后 21/21。
门禁:tsc exit 0 · 全量 103 files / 809 tests exit 0。1 parent 7cbf555 commit ecbaf36
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
31 | 35 | | |
32 | 36 | | |
33 | 37 | | |
| |||
0 commit comments