---
title: "Nuxt Integration"
description: "Use @pleaseai/eslint-config together with @nuxt/eslint in a Nuxt project."
---

> Documentation Index
> Fetch the complete documentation index at: https://code-style.pages.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Nuxt Integration

[`@nuxt/eslint`](https://eslint.nuxt.com/packages/module) is the official ESLint module for Nuxt. It generates a project-aware flat config at `./.nuxt/eslint.config.mjs` that knows about your auto-imports, components directory, and pages, so ESLint can correctly resolve Nuxt globals without manual rules.

`@pleaseai/eslint-config` composes cleanly with `@nuxt/eslint` — the module supplies the Nuxt-specific rules, and `@pleaseai/eslint-config` provides the rest.

## Quick Setup

Add the module with Nuxi — it installs `@nuxt/eslint` and wires it into `nuxt.config.ts` automatically:

```bash title="Terminal"
npx nuxi@latest module add eslint
```

This gives you a default setup that pulls in ESLint's JS, TS, and Vue plugins on top of the Nuxt-aware rules.

## Custom Config Presets

By default the module installs the JS, TS, and Vue plugins with their recommended rules. Since `@pleaseai/eslint-config` (via `@antfu/eslint-config`) already covers those, disable the default preset by setting `standalone: false` so the module only emits Nuxt-specific rules:

```ts title="nuxt.config.ts"
export default defineNuxtConfig({
  modules: [
    '@nuxt/eslint',
  ],
  eslint: {
    config: {
      standalone: false,
    },
  },
})
```

Then create `eslint.config.mjs` that wraps `@pleaseai/eslint-config` with the `withNuxt` helper generated by the module:

```js title="eslint.config.mjs"
// @ts-check
import pleaseai from '@pleaseai/eslint-config'
import withNuxt from './.nuxt/eslint.config.mjs'

export default withNuxt(
  pleaseai({
    // ...@pleaseai/eslint-config options
    vue: true,
  }),
  // ...your other flat config items
)
```

`withNuxt` merges its arguments after the Nuxt-aware rules, so anything you pass (including the `@pleaseai/eslint-config` output) takes precedence over the defaults provided by `@nuxt/eslint`.

## Why `standalone: false`?

Without it, `@nuxt/eslint` and `@pleaseai/eslint-config` both install the JS/TS/Vue plugins, producing duplicate-rule warnings and doubling the resolved config size. Setting `standalone: false` scopes the module down to the parts that only Nuxt knows about (auto-imports, component directory globals, page structure) and lets `@pleaseai/eslint-config` own the language tooling.

## Running ESLint

The standard `lint` / `lint:fix` scripts documented on the [main ESLint Config page](/en/eslint-config#npm-scripts) work unchanged once `@nuxt/eslint` is wired up.

:::note
See the [`@nuxt/eslint` module docs](https://eslint.nuxt.com/packages/module) for additional options like custom rule overrides, per-directory configs, and dev-mode integration.
:::

Source: https://code-style.pages.dev/en/eslint-config/nuxt/index.mdx
