如何在 ESLint 中抑制“没有与模式匹配的文件”消息?

Jac*_*Dev 33 continuous-integration eslint

在我的 CI 设置中,我有一个针对所有 JS 文件运行 eslint 的测试。如果不存在 JS 文件,则当前正在抛出错误。我更喜欢它是否在不存在 JS 文件时成功。这可能吗?

$ eslint "./src/assets/scripts/**/*.js"

Oops! Something went wrong! :(

ESLint: 5.7.0.
No files matching the pattern "./src/assets/scripts/**/*.js" were found.
Please check for typing mistakes in the pattern.

ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

小智 45

--no-error-on-unmatched-pattern标志是在v6.8.0ESLint中添加的。

https://eslint.org/docs/user-guide/command-line-interface#no-error-on-unmatched-pattern

  • 这只是在发生不匹配的模式时隐藏错误。我在下面建议我的解决方案。 (2认同)

Seb*_*ráč 24

对我有用的是 changing single quotes to escaped double quotes

所以从:

"lint": "eslint '**/*.{ts,tsx}'"
Run Code Online (Sandbox Code Playgroud)

到:

"lint": "eslint \"**/*.{ts,tsx}\""
Run Code Online (Sandbox Code Playgroud)

原因是因为它取决于您使用的控制台 - 可能是操作系统(这就是为什么它可以为您工作,而对其他人不起作用,反之亦然)来源:https : //dev.to/gruckion/comment/b65c

  • 为我工作!谢谢。@塞巴斯蒂安·沃拉奇 (3认同)
  • 这在 Windows 中对我有用 (3认同)
  • 这很酷,但与问题无关 (3认同)
  • @MichaelPearson 这实际上修复了问题中描述的错误(不像隐藏错误,因为它是在接受的答案中) (2认同)

Jac*_*Dev 6

能够在 ESLint 的 GitHub 上挖掘出这个已关闭的问题。听起来这是一个常见问题,除了按照 @user2864740 的建议在尝试 lint 之前手动检查文件是否存在之外,没有好的解决方法


Ran*_*all 5

我有同样的错误

未找到与模式“.ts”匹配的文件

我刚刚删除了.js, .ts, .tsx配置中类型之间的空格,它就可以工作了。

从:

"lint": "eslint --ignore-path .gitignore --ext .js, .ts, .tsx .",
Run Code Online (Sandbox Code Playgroud)

 "lint": "eslint --ignore-path .gitignore --ext .js,.ts,.tsx .",
Run Code Online (Sandbox Code Playgroud)


Mr.*_*r.7 5

就我而言,我必须从

"lint": "eslint \"**/*.{ts, tsx}\""
Run Code Online (Sandbox Code Playgroud)

"lint": "eslint \"**/*.{ts,tsx}\""
Run Code Online (Sandbox Code Playgroud)

ts这实际上是& tsx/ js&之间的空格jsx

  • 这只是我的答案副本。 (2认同)