@nuxt/eslint-config
Nuxt 3 项目的共享 ESLint 配置。默认情况下不带任何观点,但可自定义。
配置格式
此包提供两种不同的 ESLint 配置
扁平配置格式
扁平配置格式是 ESLint 的未来,旨在更加灵活且项目感知。条目 @nuxt/eslint-config/flat
提供了一个工厂函数,用于为 Nuxt 3 项目创建项目感知的 ESLint 配置。它默认情况下不带任何观点,但可以通过向工厂函数传递选项进行自定义。由 @nuxt/eslint
模块用于生成项目感知的 ESLint 配置。
- 在你的
devDependencies
中安装此包和eslint
。
yarn add --dev @nuxt/eslint-config eslint
- 从
@nuxt/eslint-config/flat
条目在你的eslint.config.mjs
中导入配置工厂函数
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
export default createConfigForNuxt({
// options here
})
你可能还想在你的 package.json
中添加一个脚本条目
{
"scripts": {
"lint": "eslint ."
}
}
自定义配置
请注意,createConfigForNuxt()
返回一个可链式调用的 FlatConfigComposer
实例,来自 eslint-flat-config-utils
,它允许你轻松地操作 ESLint 扁平配置。如果你想与其他配置结合,可以使用 .append()
方法
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
export default createConfigForNuxt({
// options here
})
.prepend(
// ...Prepend some flat configs in front
)
// Override some rules in a specific config, based on their name
.override('nuxt/typescript', {
rules: {
// ...Override rules, for example:
'@typescript-eslint/ban-types': 'off'
}
})
// ...you can chain more operations as needed
FlatConfigComposer
也是一个 Promise 对象,你可以使用 await
获取最终的配置对象。
模块作者
此配置还为模块/库作者提供规则。你可以通过将 features.tooling
选项设置为 true
来启用它们
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
export default createConfigForNuxt({
features: {
tooling: true
}
})
这将启用使用 unicorn
、regexp
和 jsdoc
插件的规则,以确保你的模块遵循最佳实践。
你还可以通过提供一个对象,其中规则名称设置为 false
来单独关闭它们
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
export default createConfigForNuxt({
features: {
tooling: {
regexp: false,
}
}
})
旧版配置格式
旧版配置为 ESLint 配置 TypeScript 和 Vue 集成。它不带任何观点且是静态的,不包含样式规则或项目感知设置。
- 在你的
devDependencies
中安装此包和eslint
。
yarn add --dev @nuxt/eslint-config eslint
- 通过创建一个
.eslintrc.cjs
来扩展默认的 Nuxt 配置
module.exports = {
root: true,
extends: ["@nuxt/eslint-config"],
};
你可能还想在你的 package.json
中添加一个脚本条目
{
"scripts": {
"lint": "eslint ."
}
}
ESLint 样式
与 ESLint 模块 类似,你可以在 features
模块选项中将 stylistic
设置为 true
来选择加入。
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
export default createConfigForNuxt({
features: {
stylistic: true // <---
}
})
在 ESLint 样式文档 中了解有关所有可用选项的更多信息。