Frequently asked questions about ESLint integration in Nuxt

This project is composed of multiple packages for different level of ESLint integration.

What to use?

For new projects, we highly recommend using the ESLint Module which provides a project-aware ESLint flat config generation and is more future-proof.

If you still use the legacy .eslintrc format, you can use the ESLint Config package to manually configure your ESLint settings. We recommend you to migrate to the flat config format if possible.

If you are maintaining your custom ESLint config and want a low-level setup, you can use the ESLint Plugin package directly to enable some Nuxt-specific rules in your config.

Package Disambiguation

Due to the historical reasons, we have quite a few packages for different ESLint integrations.

Here's a table to help you understand the differences:

All-in-one ESLint module for Nuxt 3
nuxt3 flat-config recommended
Shared config for Nuxt 3, for both flat config and legacy config.
Unopinionated but customizable.
nuxt3 flat-config legacy-config
Low-level ESLint plugin for Nuxt 3.
Legacy packages:
Runs ESLint check along side the dev server.
Now merged into the @nuxt/eslint module.
nuxt3 nuxt2 deprecated
@nuxtjs/eslint-config (note the @nuxtjs scope)
Shared config for Nuxt 2, opinionated with stylistic rules.
Maintainance mode, no longer under active development.
nuxt2 legacy-config
@nuxtjs/eslint-plugin-typescript (note the @nuxtjs scope)
TypeScript integrations for @nuxtjs/eslint-config.
Maintainance mode, no longer under active development.
nuxt2 legacy-config
ESLint plugin for Nuxt 2.
It has been replaced by @nuxt/eslint-plugin for Nuxt 3
nuxt2 deprecated