Commit 133e8fe
committed
fix(lint,cli): os lint / os compile 不再放行一个 os validate 会拒绝的 react 页面 (#4340 后续)
`validateReactPageProps` 只手工接在 `os validate` 上,`os lint` 和 `os compile`
从来没跑过它。在 showcase 的 react 页面植入一处 gating 违规
(`<ListView filters={['no_such_col','=',stage]}>` —— 谓词命中不了任何行,
SqlDriver 吞掉 "no such column" 后返回 [],列表回空且与「本来就没数据」无法区分)
实测:
os lint os compile os validate
修复前 exit 0 放行 exit 0 放行 exit 1 拒绝
修复后 exit 1 拒绝 exit 1 拒绝 exit 1 拒绝
#4340 之后这条规则已经是整个 react 页面表面唯一的字段解析闸门:<ListView> 的
columns/fields/sort/grouping/userFilters、<ObjectForm> 的
fields/initialValues/sections/subforms、record:* 一族(与元数据表面共用同一张
COMPONENT_FIELD_SPECS)、<ObjectChart> 的 aggregate/axes,以及 searchableFields。
所以漏接不是少几条警告 —— 而是这些绑定在 build 路径上完全没人看,包括其中会 gate
的那些。
现接入 REFERENCE_INTEGRITY_RULES,`os validate` 那处手工接线随之删除,三个命令的
答案由构造保证一致。这正是 suite 设立要终结的漂移(#3583 §5 D5),也是
validateReadonlyFlowWrites 在 #4394 里刚走过的同一条路:那次是「一张 map、
两个检查、两套命令集合」,这次是「一次 JSX parse、七个 rule id、一套命令集合」。
按 charter,react-prop-missing-required / react-prop-typo 是 shape 而非解析问题,
本不属于 suite。它们随行的理由与 validateActionBodyWrites 完全相同(其注释已写明):
落在同一次 parse 的同一份 source 上,拆成第二个 member 就要把每个 react 页面
parse 两遍,而改回手工接线正是 suite 要终结的那种漂移。同时更正了那条注释里
"The ONE member here that emits two rule ids" 的说法 —— 现在不止一个。
规则行为零变化:id、严重级、文案都不动;输入也不变(`os validate` 原本就传
result.data,suite 拿到的是同一个)。#4402 的接线守卫会在下次有人想再手工接一条
规则时直接报错——本次删除 validate.ts 的直接 import 也正是被它逼出来的。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012rK2McPogrTJBKdUsThrGs1 parent 302e972 commit 133e8fe
4 files changed
Lines changed: 95 additions & 38 deletions
File tree
- .changeset
- packages
- cli/src/commands
- lint/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
454 | 454 | | |
455 | 455 | | |
456 | 456 | | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
467 | | - | |
468 | | - | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
489 | 464 | | |
490 | 465 | | |
491 | 466 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
110 | 122 | | |
111 | 123 | | |
112 | 124 | | |
| |||
221 | 233 | | |
222 | 234 | | |
223 | 235 | | |
224 | | - | |
225 | | - | |
| 236 | + | |
| 237 | + | |
226 | 238 | | |
227 | 239 | | |
228 | 240 | | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
229 | 251 | | |
230 | 252 | | |
231 | 253 | | |
| |||
247 | 269 | | |
248 | 270 | | |
249 | 271 | | |
250 | | - | |
| 272 | + | |
251 | 273 | | |
252 | | - | |
| 274 | + | |
253 | 275 | | |
254 | 276 | | |
255 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| |||
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
129 | | - | |
| 130 | + | |
| 131 | + | |
130 | 132 | | |
131 | 133 | | |
132 | 134 | | |
| |||
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
157 | 182 | | |
158 | 183 | | |
159 | 184 | | |
| |||
0 commit comments