Skip to content

Support ESLint migration for monorepo workspace packages #1168

Description

@alvarosabu

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, 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

Metadata

Metadata

Assignees

Labels

migrationVite+ migration related issues

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions