2017-03-21 79 views
3

我有幾個存儲庫與其他類型的實用程序文件共享相同種類的配置文件(例如,.eslintrc,.babelrc,karma.conf.js)。我希望能夠提取出來,並能夠在所有回購中利用它們。實現這一目標的最佳方法有哪些?在多個代碼庫中共享業力,eslint等文件

  1. 創建新的回購並將其作爲npm模塊發佈。然後,導入並根據需要使用它?
  2. 創建一個基本上生成所需文件的CLI工具?
  3. Symlinking?
  4. 其他?

我覺得選項1是理想的,但是,我不知道如何能夠引用未導出的文件。例如,如何使用npm模塊中的.eslintrc文件回購一個回購?

回答

3

當您需要在CI服務器上運行構建和測試時,Symlinking將無法正常工作,但可能需要檢查lerna,它將monorepo中的多個程序包進行包裝。

我已經嘗試過CLI方法,但最終與私有npm「微」模塊一起去了,我只是根據需要放入package.json

出了什麼毛病CLI:

  • 它引入了你需要建立一些機制來讓CLI更新自身
  • 每個團隊成員必須安裝在他們的機器
  • 在全局依賴它增加了一個抽象層,你的項目

要從NPM模塊中使用特定.eslintrc,你可以通過一個eslint AR --config g與你的.eslintrc路徑。

請記住,這些工具(eslint,babel,karma,mocha等)有時很難配置和更新,所以最好保持自己的代碼庫不變,並重復配置文件有抽象層。

相關問題