voidzero-dev / voidzero-dev/vite-plus

Support ESLint migration for monorepo workspace packages

Open
#1,168 0 comments 4 reactions 1 assignee Claimed by @fengmk2 View on GitHub
migration
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.