当我切换git分支时,是否应该删除.eslintcache文件?

15

当你检出一个分支并使用eslint对代码进行了lint处理,并使用--cache标志,这将生成一个.eslintcache文件。由于.eslintcache被列在我的.gitignore中,所以当你切换到另一个分支并再次进行lint处理时,缓存文件已经存在。理论上,eslint会重复使用它,但我们不能假设之前的缓存文件是有效的。因此,在切换分支时,我们应该删除.eslintcache文件吗?


2
我不明白为什么你不能检查 .eslintcache 文件。ESLint本身在缓存失效方面做得很好,而且你也会在CI中获得缓存的好处。 - IanVS
Eslint使用文件元数据进行缓存,因此我想如果不同分支中的相同文件具有相同的元数据,则不会出现问题。 - Vahid
1
以下是为什么不应该将其提交到源代码控制的示例:https://dev59.com/Mb7pa4cB1Zd3GeqPxWHJ - icc97
2个回答

4

在这个问题上找不到任何建议,但是将 .eslintcache 添加到 .gitignore 比每次手动删除更方便。


5
我认为你应该将它添加到你的.gitignore中,但我认为问题更多地是在问“是什么使缓存无效?”因为当分支切换时,代码会发生变化,因此lint缓存可能会过时。 - Edward Thomson

0

这可能有点猜测 - 但我相信当您切换分支时,将.eslintcache保留在项目中是没有问题的。

对于.eslintcache中的单个文件,它将具有类似以下信息:

    "/path/to/project/src/components/App.js": "6",
...
  {
    "size": 538,
    "mtime": 1644596159286,
    "results": "439",
    "hashOfConfig": "434"
  },
...
  {
    "filePath": "876",
    "messages": "877",
    "errorCount": 0,
    "fatalErrorCount": 0,
    "warningCount": 0,
    "fixableErrorCount": 0,
    "fixableWarningCount": 0
  },
...
  "/path/to/project/src/components/App.js",
  [],

所以缓存中有一个修改时间 - 我假设如果您切换分支,修改时间将会改变,这应该会导致缓存检测到您的分支中拉取的新文件需要重新进行Lint。

我还猜想,缓存会删除任何不存在的文件,并添加任何新文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接