首页 > 解决方案 > ESLint 从 node_modules 获取配置

问题描述

我有这些devDependencies

{
   // ...
   "@typescript-eslint/eslint-plugin": "^3.0.1",
   "@typescript-eslint/parser": "^3.0.1",
   "cordova-android": "^7.1.4",
   "eslint": "^7.1.0",
   "eslint-config-prettier": "^6.11.0",
   "eslint-plugin-import": "^2.20.2",
   "eslint-plugin-prettier": "^3.1.3",
   // ...
}

这是我的.eslintrc.js

module.exports = {
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/eslint-recommended',
    'plugin:@typescript-eslint/recommended',
    'prettier/@typescript-eslint',
    'plugin:prettier/recommended'
  ],
  env: {
    browser: true,
    node: true
  },
  globals: {
    mocha: true,
  },
  parserOptions: {
    parser: '@typescript-eslint/parser',
    project: './tsconfig.json'
  },
  ignorePatterns: ['dist/*', 'dest/*', 'node_modules/*'],
  plugins: ['@typescript-eslint', 'prettier']
}

这是.prettierrc.js

module.exports = {
  printWidth: 80,
  tabWidth: 2,
  singleQuote: true,
  quoteProps: 'as-needed',
  trailingComma: 'none',
  bracketSpacing: true,
  semi: false,
  useTabs: false,
  jsxBracketSameLine: false,
  proseWrap: 'never'
}

如果我运行npx eslint ./**/*.ts,我会收到此错误:

哎呀!出问题了!:(

ESLint:7.1.0

ESLint 找不到要扩展的配置“半标准”。请检查配置名称是否正确。

配置“半标准”是从“/Users/alex/src/my-app/node_modules/cordova-android/.eslintrc.yml”中的配置文件中引用的。

如果您仍有问题,请访问https://eslint.org/chat与团队聊天。

为什么 ESLint 会尝试从node_modules我添加node_modulesignorePatternsin的依赖项中选择此配置.eslintrc.js

标签: eslint

解决方案


引用 glob 模式修复了它:

npx eslint „**/*.ts“

这也有效:

npx eslint . --ext .ts

推荐阅读