Skip to content

eslint-plugin-format not installed as dependency, breaking ESLint language servers with Yarn 4.x #620

@fabkho

Description

@fabkho

Environment


  • Operating System: Darwin
  • Node Version: v22.17.1
  • Nuxt Version: 4.1.3
  • CLI Version: 3.28.0
  • Nitro Version: 2.12.7
  • Package Manager: yarn@4.9.2
  • Builder: -
  • User Config: modules, css, modulesDir, build, compatibilityDate, vite, typescript, eslint, i18n, tailwindcss
  • Runtime Modules: @pinia/nuxt@0.11.2, @nuxtjs/i18n@10.0.4, @nuxtjs/tailwindcss@6.14.0, @nuxt/eslint@1.9.0, unplugin-turbo-console/nuxt@2.2.0, @vueuse/nuxt@13.6.0, nuxt-auto-parallel-plugins@1.1.0
  • Build Modules: -

Package

@nuxt/eslint

Reproduction

  1. Create a new Nuxt project using Yarn 4.x (with nodeLinker: node-modules)
  2. Install @nuxt/eslint following the official setup guide
  3. Configure ESLint according to docs
  4. Try to use ESLint via language server (VS Code, WebStorm, etc.)

Minimal reproduction:

npm create nuxt-app my-app cd my-app corepack enable yarn set version stable yarn add -D @nuxt/eslint eslint # Configure eslint.config.mjs as per docs # Try to use ESLint in IDE - it will fail

Commands:

yarn explain peer-requirements # Shows: @nuxt/eslint doesn't provide eslint-plugin-format to @nuxt/eslint-config

Describe the bug

Description

@nuxt/eslint-config declares eslint-plugin-format as a peer dependency, but @nuxt/eslint (the main package) only includes it in devDependencies.

This causes ESLint language servers to fail with "cannot find eslint-plugin-format" because it's not installed in the user's node_modules.

Root Cause

In packages/eslint-config/package.json:

"peerDependencies": { "eslint": "^9.0.0", "eslint-plugin-format": "*" }

But in packages/eslint/package.json:

"devDependencies": { "eslint-plugin-format": "catalog:prod" }

Expected Behavior

eslint-plugin-format should be automatically available when installing @nuxt/eslint

Current Workaround

Users must manually install:

yarn add -D eslint-plugin-format

Or use Yarn 4 package extensions in .yarnrc.yml:

packageExtensions: '@nuxt/eslint@*': dependencies: eslint-plugin-format: '*'

Additional context

No response

Logs

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions