javascript - 跨多个代码库共享 karma、eslint 等文件

标签 javascript node.js karma-runner eslint

我有几个存储库共享很多相同类型的配置文件(例如 .eslintrc.babelrckarma.conf.js) 以及其他类型的实用程序文件。我希望能够将它们提取出来并能够在所有 repo 协议(protocol)中利用它们。实现这一目标的最佳方法有哪些?

  1. 创建一个新的 repo 并将其发布为 npm 模块。然后,导入它并根据需要使用它?
  2. 创建一个基本上可以生成所需文件的 CLI 工具?
  3. 符号链接(symbolic link)?
  4. 其他?

我觉得选项 1 比较理想,但是,我不确定如何才能引用未导出的文件。例如,一个 repo 如何使用此 npm 模块中的 .eslintrc 文件?

最佳答案

当您需要在 CI 服务器上运行构建和测试时,符号链接(symbolic link)将无法正常工作,但可能值得一试 lerna它将多个包包装在一个 monorepo 中。

我已经尝试过 CLI 方法,但最终还是使用了私有(private) npm“微型”模块,我只是根据需要将其放入 package.json 中。

CLI 出了什么问题:

  • 它引入了一个全局依赖项,每个团队成员都必须在他们的机器上安装该依赖项
  • 您需要建立一些机制让 CLI 自行更新
  • 它为您的项目添加了一个抽象层

要在 npm 模块中使用特定的 .eslintrc,您可以将 --config arg 与您的 .eslintrc 路径传递给 eslint .

请记住,这些工具(eslint、babel、karma、mocha 等)有时很难配置和更新,因此最好保持代码库独立,并复制配置文件而不是具有抽象层。

关于javascript - 跨多个代码库共享 karma、eslint 等文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940193/

相关文章:

javascript - karma : Cannot find module in relative path

javascript - D3 多线图 x 轴返回 NaN

javascript - 如何仅使用 jQuery 获取单击的子列表项?

javascript - 获取 POST 请求失败 : CORS header

javascript - d3.js:在 Angular 应用程序和 node.js 上运行相同的代码

jquery - jenkins 发送到以下无效地址时出错 :xxx@yyy. com

javascript - 如果 X = 宽度和 X = 高度,JS 图像检测不会为图像添加类

javascript - 在数组字段中插入文档

javascript - Mocha 测试用例的 Istanbul 尔覆盖率仅显示规范文件(测试文件)的覆盖率报告

angularjs - Karma + Jasmine 下 angular.mock.inject 的 TypeScript AngularJS Controller 测试问题