npm 設(shè)置
在開發(fā)一個Npm包的時候,最開始肯定是要初始化好環(huán)境:
npm set init.author.name "scq000"
npm set init.author.email "scq000@hotmail.com"
npm set init.author.url "https://scq000.github.io"
npm set init.license 'MIT'
cat ~/.npmrc
設(shè)置好基礎(chǔ)的配置后,后續(xù)在開發(fā)新的項目的時候,會自動在package.json中帶上預(yù)先定義的配置信息。
生成changelog
對于對外使用的npm包來說,版本更新記錄是十分重要的,可以考慮使用commitzen 在每次提交代碼的時候,遵循規(guī)范。
cz-conventional-changelog 是和commitizen配套使用的規(guī)則集,通常來說項目里直接使用默認(rèn)配置即可:
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
另外,git-cz是將commitizen和git相結(jié)合的工具,根據(jù)官方文檔配置后,可以直接在命令行中執(zhí)行:
npx git-cz
就能實現(xiàn)在代碼提交的時候,提供交互式的命令行來填寫規(guī)范化的commit信息。
[圖片上傳失敗...(image-825803-1650939725828)]
githook配置
githook的配置,可以限制在每次代碼提交過程中,執(zhí)行一些前置的代碼檢測、單元測試等工作。
執(zhí)行如下命令:
npm install -D ghooks
然后,在項目的package.json配置文件里,配置一下鉤子:
config: {
ghooks: {
"pre-commit": "npm run test:single"
}
}
這樣一來,在每次執(zhí)行g(shù)it commit命令之前都會執(zhí)行我們預(yù)定義的腳本。
發(fā)布自動化
自動化在包的研發(fā)過程中是必不可少的,目前業(yè)界已經(jīng)有較多成熟的方案。
semantic
semantic-release提供了在git上實現(xiàn)自動化發(fā)布的整套解決方案,可以在項目中使用如下命令行初始化:
npx semantic-release-cli setup
隨后,根據(jù)提示進(jìn)行輸入項目信息即可
[圖片上傳失敗...(image-5f64d-1650939725829)]
自動化測試
覆蓋率及報告
對于前端代碼的自動化測試,可以借助istanbul.js來實現(xiàn)覆蓋率的統(tǒng)計:
在項目腳本中配置如下命令:
{
"script": {
"test": "nyc --reporter=html --reporter=text mocha",
"coverage": "nyc report --reporter=text-lcov | coveralls"
}
}
最終能夠生成項目整體的測試統(tǒng)計報告信息。
生成github標(biāo)志
https://shields.io是用來生成項目狀態(tài)圖標(biāo)的工具,在READEME.md文件的開頭貼上根據(jù)項目生成的圖標(biāo),就能直接根據(jù)圖標(biāo)狀態(tài)來觀測項目構(gòu)建的狀態(tài)。
[](https://scq000.github.io/xxx)[
[圖片上傳失敗...(image-84a033-1650939725829)]
總結(jié)
本篇文章提供的這些流程,可以根據(jù)自身需求集成到腳手架上,從而可以在日常維護(hù)開源項目等場景中,能夠高效開發(fā)。