【问题标题】:ESlint override rule by nested directory嵌套目录的 ESlint 覆盖规则
【发布时间】:2021-04-24 08:41:20
【问题描述】:

我想禁用嵌套目录中所有文件的规则。我只找到了确切路径或文件扩展名的示例。但这不是我想要的。

我们将它用于共享配置,但不知道该目录将在哪里。我们有很多。

我正在尝试这样的配置:

{
  overrides: [
    {
      files: [
        '**/test/**/*',
      ],
      rules: {
        "import/no-extraneous-dependencies": "off"
      }
    },
  ],
}

但是像 **/test/**/* 和许多其他的 glob 都不起作用。

有人可以帮助实现这个目标吗?

【问题讨论】:

    标签: eslint eslintrc


    【解决方案1】:

    上面的代码应该可以工作。

    你是如何测试这个的?如果它是 VSCode 之类的扩展程序,您可能需要刷新内容才能看到已加载的最新定义。

    如果您使用像 esprint 这样的 eslint 服务,您还需要重新启动它以获取最新定义。

    缓存 确保没有将 eslint 配置为缓存结果,以避免在调试时必须缓存 bust。 eslint docs

    这是一个带有多个覆盖的 react-native 应用的示例

    module.exports = {
      ...baseConfig,
      overrides: [
        typescriptOverrides,
        e2eOverrides,
        themeOverrides,
        {
          files: ['**/*.style.js'],
          rules: {
            'sort-keys': [
              'error',
              'asc',
              {
                caseSensitive: true,
                natural: true,
              },
            ],
          },
        },
        {
          files: ['**/*.test.js'],
          rules: {
            'arrow-body-style': 'off',
          },
        },
      ],
    };
    

    调试全局匹配器

    1. 在调试模式下运行 eslint 并查看所有正在运行的文件示例 DEBUG=eslint:cli-engine npx eslint src/**/*.test.js
    2. 您可以通过运行 ls 命令来测试您的 glob 模式。示例:ls ./src/**/*.test.js 将返回所有文件或“未找到匹配项”。

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2021-06-10
      • 2019-09-07
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2023-02-05
      • 2013-04-11
      相关资源
      最近更新 更多