在我用Typescript编写的项目中,我想开始对所有函数的返回类型和参数类型执行类型注释。为此,我创建了一个单独的tslint配置,它扩展了我的主配置,并在此基础上添加了此规则。我通过这个扩展配置运行tslint,并在提交更改之前检查所有暂存的文件。问题是:如果我更改了一个旧文件(其中一些文件很大),lint staged也会检查这个文件,并且不让我提交,除非我对所有文件中的所有函数进行类型注释。但这有很多工作要做,我只想在新文件上执行此操作。是否有一种方法可以将暂存文件筛选为仅在此提交中添加的文件?
发布于 2019-05-10 23:01:06
lint-staged使用另一个名为staged-git-files(sgf)的库来检索git提交之前暂存的文件列表。
以下是sgf使用的一些状态代码。
lint-staged将状态代码ACM传递给sgf包。
sgf.cwd = gitDir
*return pify(sgf)('ACM').then(files => {*
/* files is an Object{ filename: String, status: String } */
const filenames = files.map(file => file.filename)如果您希望lint-staged只检索添加的文件,那么您可以派生存储库并将AC传递给sgf。如果我们有一种方法来配置它,那将是最理想的。我在回购中提出了一个issue。我希望他们能解决这个问题
发布于 2019-02-28 17:17:36
如果您使用目录结构将“新”代码与“旧”代码分开,就可以做到这一点。在那之后,在你的lint-staged配置中只有两种不同的glob模式。
这是我所能想到的最简单的方法,而且由于您可以将.eslintrc放入子目录中,因此它与其他代码质量工具(如ESLint )配合使用时效果很好。
https://stackoverflow.com/questions/54921803
复制相似问题