我有几个存储库可以共享大量相同类型的配置文件(例如.eslintrc
,.babelrc
,karma.conf.js
)以及其他类型的实用程序文件。我希望能够提取出来并能够在所有回购中利用它们。有哪些实现这一目标的最佳途径?
npm
模块。然后,导入它并根据需要使用它?我认为选项1
是理想选择,但是,我不确定如何能够引用未导出的文件。例如,一个repo如何使用此.eslintrc
模块中的npm
文件?
答案 0 :(得分:3)
当您需要在CI服务器上运行构建和测试时,Symlinking不会很好地工作,但是可能值得查看lerna,它会在单个数据包中包装多个包。
我已尝试过CLI方法,但最终还是私有npm" micro"模块,我只是根据需要放入package.json
。
CLI出了什么问题:
要在npm模块中使用特定的.eslintrc
,您可以使用--config
路径将.eslintrc
arg传递给eslint。
请记住,这些工具(eslint,babel,karma,mocha等)有时很难配置和更新,因此最好保持代码库自包含,并复制配置文件而不是有抽象层。
答案 1 :(得分:0)
对于eslint
,您可以使用shareable configs。
这本质上是:
.eslintrc
文件。npm install
它随您想在哪里使用。.eslintrc
文件,并在其中调用"extends": "your-published-eslintrc"