Repository navigation
feat(v1.55.0): add move-connections-config-imports codemod - #169
Conversation
|
Review-blocked: dynamic import detection currently regex-scans source text, so a comment/string containing |
|
Fresh review blocker at abdc55b: dynamic-import |
|
Real-source QA blocker at 0ffc308: dry-run on clean Backstage snapshot inserted TODO for unrelated type-only |
…OLE-149-PR-169-recovery-writer.-User-merged-CI-PR-174-GitHub-merge-a98cf3fa-ori-5d757385-5a0038a-794c-s0-t0
Summary
Closes #149
Evidence
Full
yarn testreproducibly generated a 145-byte untrackedcodemods/v1.55.0/remove-relations-compatibility-config/tests/flow-inline-comment-preserved-when-catalog-emptied/metrics.json(blob42847c1041d21d4278619381aa2d51455bc1b654) from previously merged feat(v1.55.0): add remove-relations-compatibility-config codemod #162. Verified this was the only untracked state, backed it up outside the worktree, removed only that generated artifact; worktree clean before push and after pre-push hooks.Prior independent review found file-wide namespace TODO suppression across two ambient modules sharing alias
C.e3adcb5scopes detection to the adjacent comment for each declaration and inserts after the import line, retaining indentation and trailing comments. The two-module fixture failed before the fix and passes now; a second fixture confirms byte-idempotence. Dynamic-import TODO remains intentionally file-level (one generic annotation per file); directive TODO detection was already declaration-local.38/38 package fixtures and workflow validation pass. Disposable shipped-workflow dry-run/apply/repeat on
.tsand.d.tsproduced expected namespace and sole-moved diagnostic-directive TODOs, retained trailing comments, compiled with TypeScript 7 strict--noEmit --skipLibCheck false, and repeated byte-identically. A bounded synthetic 500-file shipped-workflow run completed in 4s with 500 TODOs; repeat completed in 2s without byte changes. Not a real-project performance guarantee.Root
yarn format,yarn format:check,yarn lint,yarn test, andyarn check:changedpassed. Installed Husky pre-commit (lint-staged and package test) and pre-push (check:changed) passed; ordinary fast-forward push from verified52930f3115f617c0232ab13b095a6879e644bd6b. Existing minor changeset remains; no version edits or root README PR diff.Exact-head CI e3adcb5: Test and Changeset Check passed. Fresh independent review completed (no blockers at exact head); ready for review.
Merge Danger
Door: two-way
Scoped codemod logic and fixtures; revert the PR merge if post-merge behavior regresses.
Blast Radius: low
Only
@backstage/move-connections-config-importstransform behavior. Declarations with adjacent diagnostic directives remain unchanged with a manual-review TODO; other dynamic/namespace uses without provable single-subpath provenance still receive a TODO. No version fields changed; initial minor changeset already present. Do not merge before human review.