【发布时间】:2019-11-19 23:39:26
【问题描述】:
我在某处听说可以为所有 Lerna 子存储库创建一个 ESlint 预设,但是当开始积极收集有关此信息时并没有找到明确的信息。
为什么它很有吸引力
如果我想更改所有子存储库的 ESLint(或 TSLint)设置,则在每个项目中编辑 .eslintrc 需要一些时间。
问题
当然,我们可以将.eslintrc放在monorepo的顶层(与lerna.json在同一层)。但是当我们在 IDE 中打开其中一个子存储库时,它不会在项目外搜索.eslintrc。所以我想.eslintrc 必须在每个子存储库的根目录中。 Lerna 解决了这个问题吗?
【问题讨论】:
-
您找到解决方案了吗?我也在处理这个问题
-
@Leon,不幸的是,还没有。目前我为每个包使用不同的 ESLint 文件。从理论上讲,您可以将 ESLint 预设创建为包,并从该包中继承所有其他 ESLint 配置。
-
我是什么,我在项目的根目录中创建了我的配置,然后在包中创建了符号链接。形成一个eslint的观点每个项目似乎都有自己的文件,但实际上只有一个
-
@Leon,我很抱歉英语不好,但我的建议不同。我建议您在“包”之一中创建shareable ESLint config,而不是在项目的根目录中。然后,在每个其他项目中创建 ESLint 配置,并从包中的可共享预设扩展它。如您所知,Lerna 将提供包之间的访问。我还没有尝试过这个解决方案,所以如果它不起作用,请见谅。
-
@Leon 让我们希望开发出更优雅的解决方案。