voidzero-dev / voidzero-dev/vite-plus
Support ESLint migration for monorepo workspace packages
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 261
- Avg merge
- 1d 34m
- Merged PRs (30d)
- 135
Description
## Feature Request
### Problem
When migrating a monorepo to Vite+, the ESLint migration only looks for a root config:
> ESLint detected in workspace packages but no root config found. Package-level ESLint must be migrated manually.
In monorepos like [TresJS](https://github.com/Tresjs/tres), ESLint is configured per-package using a shared config (`@tresjs/eslint-config` wrapping `@antfu/eslint-config`) with custom rules (Vue attribute limits, curly braces, stylistic formatting, etc.). There's no root-level ESLint config — each package has its own `eslint.config.mjs`.
The current migration doesn't iterate over workspace packages to migrate them individually.
### Real-world example
- Monorepo: https://github.com/Tresjs/tres
- Shared config: `@tresjs/eslint-config` (wraps `@antfu/eslint-config`)
- Custom rules include: Vue attribute limits, curly braces enforcement, stylistic formatting
- Each package (`core`, `cientos`, `nuxt`, `post-processing`, etc.) has its own `eslint.config.mjs` importing the shared config
Contributor guide
Assessment
This issue has not been assessed yet.