Rollout and fix safety
This page centralizes rollout guidance used across rule migrations.
Phased rollout modelโ
- Start with
warnseverity to measure blast radius. - Run
--fixonly on a scoped folder first. - Review runtime-sensitive call sites manually.
- Promote to
errorafter baseline cleanup.
Fix safety expectationsโ
- Autofix-safe patterns: simple API shape substitutions where runtime behavior is equivalent.
- Suggestion-only patterns: potentially behavior-sensitive changes requiring explicit reviewer choice.
- Manual migrations: replacements that depend on local typing, nullability, or control flow assumptions.
Manual verification checklistโ
- Verify import changes are deduplicated and stable.
- Confirm narrowed types still match downstream usage.
- Validate guard/predicate behavior with tests.
- Confirm no accidental semantic changes in edge cases.
FAQโ
Why not migrate everything in one pass?โ
Large one-shot migrations make regressions harder to detect and review. Smaller batches isolate risk.
Should we always use --fix in CI?โ
No. Prefer running --fix locally and committing explicit changes. CI should validate, not rewrite, code.
How do we handle wrapper utilities?โ
Either align wrappers to canonical helpers/types used by this plugin or deprecate wrappers that duplicate behavior.