voidzero-dev / voidzero-dev/vite-plus
Remove allowCompoundComponents migration workaround after upstream support
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 261
- Avg merge
- 1d 34m
- Merged PRs (30d)
- 135
Description
PR #2702 adds a temporary migration workaround for `eslint-plugin-react-refresh@0.5.7`. Its Vite preset enables `allowCompoundComponents`. `@oxlint/migrate@1.82.0` copies this option to `react/only-export-components`, but the bundled Oxlint rejects it. Migration therefore removes the option from root and override rules and warns the user.
Remove this workaround when the bundled `@oxlint/migrate` and Oxlint support the option end to end. Migrator support alone is insufficient if Oxlint still rejects the generated configuration. The final behavior must preserve `allowCompoundComponents` and accept the migrated configuration in `vp check`.
- [ ] Update the bundled dependencies to versions that support `allowCompoundComponents`.
- [ ] Remove `stripUnsupportedReactRefreshOption`, its root and override calls, and the related warning from `packages/cli/src/migration/migrator/eslint.ts`.
- [ ] Replace the temporary schema guard and option-removal assertions in `packages/cli/src/migration/__tests__/react-refresh-options.spec.ts` with coverage that preserves the option in root and override rules without a warning.
- [ ] Update the `new_create_vite_migrates_eslint_prettier` snapshot to retain the supported option. Keep its `vp check` step and confirm that the generated React TypeScript project accepts the configuration.
The schema guard in #2702 will fail when the installed Oxlint schema gains the option, so the workaround is reviewed during the dependency update.
Contributor guide
Research direction
Start by checking the bundled dependency versions and the schema support for allowCompoundComponents. Read packages/cli/src/migration/migrator/eslint.ts and packages/cli/src/migration/__tests__/react-refresh-options.spec.ts, then update the related new_create_vite_migrates_eslint_prettier snapshot. Done means root and override rules preserve the option without a warning, and the generated React TypeScript project passes its vp check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vite
- Domain
- cli, testing, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100