【问题标题】:Eslint glob (**) is not considering all directories recursivelyEslint glob (**) 没有递归地考虑所有目录
【发布时间】:2019-06-07 12:16:03
【问题描述】:

我使用的是 OSX,在我的 package.json 文件中我有脚本条目:

"lint": "eslint ./src/**/*.js"

但是,当我运行npm lint 时,仅考虑将第一级目录进行 linting,例如。 ./src/dir/* 不是 ./src/dir/nested_dir/*

我的印象是** glob 表示递归搜索?

有谁知道我怎样才能使它按预期运行?

【问题讨论】:

    标签: javascript eslint lint


    【解决方案1】:

    在 Github 上出现了一些谷歌搜索 this thread

    之前(不工作):"lint": "eslint ./src/**/*.js"

    之后(工作):"lint": "eslint './src/**/*.js'"

    【讨论】:

    • 这适用于 macOS,但是当我在 Windows 上尝试时它失败了。这在 macOS 和 Windows 上似乎都很好。 "lint": "eslint \"./src/**/*.js\""
    • 对我不起作用。在 linux 上只深入一级
    • 适用于我的 Windows 和 Linux
    • 就是这样!我的 GitLab linting 抱怨,而本地很好(忽略一个文件)添加单引号使其一致
    【解决方案2】:

    试试这个:

    "lint": "eslint src --ext .js"
    

    或者对于多个扩展:

    "lint": "eslint src --ext .js,.jsx,.ts,.tsx"
    

    eslint's docs上查看更多信息

    【讨论】:

    • 第二个做到了!
    【解决方案3】:

    此命令在 monorepos 中递归工作(第一个 glob 用于包中的所有子文件夹,第二个用于 src 中的任何子文件夹)。如果没有第二个 glob,该命令将不起作用。

    "lint": "eslint 'packages/**/src/**' --ext .ts,.tsx"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2021-10-31
      • 2010-12-31
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多