我正在嘗試進行預提交檢查以運行不在 git 存盤庫根目錄中的命令(在 n??pm 中)(我有一個包含 npm 安裝的檔案夾“frontend”)。這聽起來微不足道,但到目前為止我還沒有找到直接支持這個的 pre-commit 包。我想出了一個解決方法,預先提交啟動一個腳本,然后腳本更改目錄,然后運行命令,但我想要更直接的東西。我嘗試過的預提交包:
- 預提交(基于 python)https://pre-commit.com/
- 預提交(基于 npm)https://github.com/observing/pre-commit
- husky(基于 npm)https://github.com/typicode/husky
這些似乎都沒有直接支持這一點
任何替代這些的軟體包都會受到歡迎,或者如果我錯過了這些地方的設定。
在這里向 husky 提出了類似的問題,但答案再次依賴于 shell 腳本:Husky npm package Pre-Commit hook not working in sub directory repository
更新:根據評論,我將修改這個問題的重點。我真的很想通過我指定的三個選項之一來了解如何做到這一點,盡管歡迎其他解決方案。
uj5u.com熱心網友回復:
我通過對存盤庫根目錄中的 package.json 和 node_modules 檔案夾進行符號鏈接來解決這個問題。
ln -s frontend/package.json package.json
ln -s frontend/node_modules node_modules
uj5u.com熱心網友回復:
使用 Husky 模塊找到了解決此問題的方法:
按照設計,husky install 必須與 .git 在同一目錄中運行,但您可以在準備腳本期間更改目錄并傳遞子目錄。假設您的子目錄是frontend:
// 包.json
{
"scripts": {
"prepare": "cd .. && husky install frontend/.husky"
}
}
在您的掛鉤中,您還需要更改目錄:
# .husky/pre-commit
# ...
cd frontend
npm run command
來自 husky 檔案的解決方案:https ://typicode.github.io/husky/#/?id=custom-directory
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/523777.html
標籤:混帐预提交钩子预提交
