我正在尝试将Airbnb的eslint规则用于我的sveltekit项目。
我有一个.eslintrc.ts
文件,其内容如下:
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
extends: ["airbnb-base"],
plugins: ["svelte3", "@typescript-eslint"],
overrides: [{ files: ["**/*.svelte"], processor: "svelte3/svelte3" }],
settings: {
"svelte3/typescript": () => require("typescript"),
},
rules: {
"no-new-object": true, // i tried to enable specific rules
},
parserOptions: {
project: ["./tsconfig.json"],
},
env: {
browser: true,
es2017: true,
node: true,
jest: true,
},
}
为什么这些规则对我不起作用呢?这里有一个违反规则的例子:
const x = new Object()
这违反了no-new-object,但不会给予错误
为什么它不工作?我期望extends: ["airbnb-base"],
给予我访问所有规则的权限。我还期望extends: ["airbnb"],
给我所有规则。两者都不起作用。
下面是我在package.json
开发依赖项中安装的一些东西:
"@typescript-eslint/eslint-plugin": "^5.54.1",
"@typescript-eslint/parser": "^5.54.1",
"eslint": "^8.35.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.7.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-svelte3": "^4.0.0",
我想学习如何激活所有的airbnb规则或一个一个激活,但没有说明如何做到这一点
我试着关注this和this,但都不起作用。我还关闭了一堆其他研究标签,没有给我带来好的结果。This也没有帮助
编辑:目前看来,问题是我有一个.eslintrc.cjs
复制eslint设置;linter正在查看那个文件,而不是我期望它查看的那个。删除那个.cjs文件让我离解决这个问题更近了一步;如果删除.cjs文件可以解决我的问题,我可能会关闭/删除此q
1条答案
按热度按时间bnlyeluc1#
当我的同事说要安装
eslint-plugin-svelte
时,解决方案出现了The page for it显示“eslint-plugin-svelte不能与eslint-plugin-svelte 3一起使用。如果您正在使用eslint-plugin-svelte 3,则需要将其删除。”
所以我安装了
eslint-plugin-svelte
,并将我的.eslintrc.cjs
(我开始使用它而不是.ts)改为:请注意,删除了对
svelte3
的提及。现在
npx eslint . --ext .ts
显示483个错误,const x = new Object()
给出警告The object literal notation {} is preferable.eslintno-new-object)
胜利