You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reconcile cross-document inconsistencies in testing docs
Align fixture counts and salesforce match numbers between TESTING_PLAN.md
and TESTING_REPORT.md, reword the report's bottom-line regression claim to
match the resolved list, add a headline-repo column so summary verdicts
match the numbers shown, and mark Phase 2 priorities as sampled where the
report has already closed the loop.
Made-with: Cursor
@@ -182,22 +182,24 @@ For modern React 18/19 coverage, `calcom/cal.com` is a strong fourth repo even t
182
182
183
183
The codemods below were imported into the current branch from `align-with-legacy-codemods` on 2026-04-20. Because many of them target legacy code patterns that are harder to find reliably in modern public repos, the first evaluation pass should rely on their curated fixture suites, differential tests, and targeted error/warning tests.
184
184
185
+
The **Next Real-Repo Priority** column reflects *pre-sampling* planning intent. Rows whose real-repo pass has since been completed in `TESTING_REPORT.md` are marked **Sampled** with a one-line outcome — those rows no longer need further real-repo work to unblock parity decisions.
- Match counts are approximate (from grep.app searches, may include comments/docs)
270
+
-**Match counts in the per-codemod tables above are raw grep.app hits — not file counts.** They are approximate and may include comments, docs, or multiple occurrences in the same file. The authoritative *files transformed* numbers live in `TESTING_REPORT.md`, where they are consistently smaller than the raw match counts reported here.
269
271
- Some repos are archived/unmaintained — that's fine for testing, the code patterns are what matter
270
272
-`useFormState` testing is synthetic-only; recommend documenting this proactively for the React team
271
273
-`useContext` is so widespread that any React 16.8+ repo works; no need for a dedicated test repo
|`replace-reactdom-render`|**Safe but conservative**| 4 | 4 |`youzan/zent` remains clean; on `salesforce/design-system-react`, JSSG now skips unsafe helper patterns that rely on the return value of `ReactDOM.render(...)`|
22
-
|`replace-act-import`|**JSSG wins**|**18**| 18 |`react-beautiful-dnd` still shows the 6× coverage win; `MetaMask` adds an 18-file semantic-parity check |
23
-
|`use-context-hook`|**JSSG wins**|**30**| 29 |`youzan/zent` was byte-identical; `cal.com` adds 2 real call sites and avoids 1 unused-import false positive; `salesforce/design-system-react` adds a 6-file JS spot-check |
|`replace-use-form-state`|**Perfect parity**| 1 | 1 | Fixed: now moves import from `react-dom` to `react`|
26
-
|`react-proptypes-to-prop-types`|**JSSG wins**|**135**| 109 | Official legacy transform is not on the registry, but local jscodeshift evaluation shows JSSG handles 26 additional real files that the upstream transform errors on |
27
-
28
-
**Bottom line**: real-repo coverage is broader than before. The last confirmed functional regression class from this pass was in `replace-reactdom-render`, and it is now closed by conservatively skipping return-value-dependent helper patterns instead of rewriting them unsafely. The imported codemods also gained two stronger real-repo signals: `error-boundaries` now has exact-source parity on `DataTurks`, and `react-native-view-prop-types` now has a real-world safety win on `react-native-snap-carousel`.
19
+
> **Reading this table**: each codemod was exercised against more than one repo slice. The `JSSG Files / Legacy Files` columns below show the **headline repo** for that codemod (identified in the `Source repo` column), not a union across all slices. Per-repo breakdowns live in the detailed sections.
|`replace-reactdom-render`|**Safe but conservative**|`youzan/zent`| 4 | 4 |`youzan/zent` remains clean; on `salesforce/design-system-react`, JSSG transforms 1 file and legacy transforms 6 because JSSG now skips unsafe helper patterns that rely on the return value of `ReactDOM.render(...)` (see §1) |
24
+
|`replace-act-import`|**JSSG wins**|`MetaMask/metamask-extension`|**18**| 18 | Shown repo is a parity check; the "JSSG wins" verdict comes from `react-beautiful-dnd` where JSSG transforms 6 files vs legacy 1 (see §2) |
25
+
|`use-context-hook`|**JSSG wins**|`calcom/cal.diy` (`v6.2.0`) |**30**| 29 |`youzan/zent` was byte-identical 47/47 (see §3); `cal.com` adds 2 real call sites and avoids 1 unused-import false positive; `salesforce/design-system-react` adds a 6-file JS spot-check |
|`replace-use-form-state`|**Perfect parity**| synthetic fixture | 1 | 1 | Fixed: now moves import from `react-dom` to `react`|
28
+
|`react-proptypes-to-prop-types`|**JSSG wins**|`nylas/nylas-mail`|**135**| 109 | Official legacy transform is not on the registry, but local jscodeshift evaluation shows JSSG handles 26 additional real files that the upstream transform errors on |
29
+
30
+
**Bottom line**: real-repo coverage is broader than before. Every functional regression surfaced during this pass has been resolved (see the full list in *Resolved Regressions* below); the most recent coverage-shaped gap in `replace-reactdom-render` is now closed by conservatively skipping return-value-dependent helper patterns instead of rewriting them unsafely. The imported codemods also gained two stronger real-repo signals: `error-boundaries` now has exact-source parity on `DataTurks`, and `react-native-view-prop-types` now has a real-world safety win on `react-native-snap-carousel`.
0 commit comments