nuxt / eslint-plugin-nuxt

ESLint plugin for Nuxt.js [WIP]
MIT License
129 stars 14 forks source link
eslint-plugin nuxt

[!NOTE] eslint-plugin-nuxt was designed for Nuxt 2 and will not receive active development. Since many rules are no longer relevant in Nuxt 3, we created a new nuxt plugin @nuxt/eslint-plugin for Nuxt 3 under the nuxt/eslint repository.


eslint-plugin-nuxt

Standard JS Circle CI npm version npm downloads

:sparkles: ESLint plugin for Nuxt.js

:cd: Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev
success Saved 1 new dependencies

Next, install eslint-plugin-nuxt:

$ npm install eslint-plugin-nuxt --save-dev
success Saved 1 new dependencies

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-nuxt globally.

:rocket: Usage

Add nuxt to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

  1. Use our preset to extend recommended defaults:
{
  "extends": [
    "plugin:nuxt/recommended"
  ]
}
  1. Or specify individual rules manually:
{
    "plugins": [
        "nuxt"
    ],
    "rules": {
        "nuxt/rule-name": 2
    }
}

:gear: Configs

This plugin provides four predefined configs:

:bulb: Rules

Base Rules

{
  "extends": "plugin:nuxt/base"
}
Rule ID Description
nuxt/no-env-in-context Disallow context.isServer/context.isClient in asyncData/fetch/nuxtServerInit
nuxt/no-env-in-hooks Disallow process.server/process.client in client only Vue lifecycle hooks like: mounted, beforeMount, updated...
nuxt/no-globals-in-created Disallow window/document in created/beforeCreate
nuxt/no-this-in-fetch-data Disallow this in asyncData/fetch
nuxt/no-cjs-in-config Disallow require/modules.exports/exports in nuxt.config.js

Recommended Rules

Include all the below rules, as well as all priority rules in above categories, with:

{
  "extends": "plugin:nuxt/recommended"
}
Rule ID Description
nuxt/no-timing-in-fetch-data Disallow setTimeout/setInterval in asyncData/fetch

Other Rules

Rule ID Description
nuxt/require-func-head Enforce head property in component to be a function.