nestjs-starter-rest-api如何用Husky+Commitlint+SonarCloud打造规范化开发工作流
nestjs-starter-rest-api如何用HuskyCommitlintSonarCloud打造规范化开发工作流【免费下载链接】nestjs-starter-rest-apiNestJS Starter Kit. Monolithic Backend. REST API.项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-apinestjs-starter-rest-api 是一款基于 NestJS 的单体 REST API 启动套件Starter Kit。项目除业务代码外还内置了Husky Commitlint SonarCloud三件套搭配 lint-staged 与 CI 工作流让「写代码 → 提交 → 推送 → 质量门禁」全程自动运转。本文带你快速看懂这套规范化开发工作流的每一道关卡并学会如何在自己的项目中复用。 三件套如何分工先建立一个整体认知三个工具分别把守在开发流程的三个位置层层递进。工具把关位置核心职责Husky本地 Git 钩子在提交瞬间自动触发检查拦截问题代码Commitlint提交信息校验强制遵循 Conventional Commits 规范SonarCloud云端 CI 质量门禁静态扫描、测试覆盖率、质量评分本地两道关卡负责「快」云端关卡负责「全」共同保证进入主干的代码既规范又健康。 快速上手克隆仓库即可自动装好钩子git clone https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-api cd nestjs-starter-rest-api npm install注意最后一步package.json中声明了prepare: husky install执行npm install时会自动完成 Husky 钩子安装无需任何手动配置。同时pre-commit: lint-staged把提交前的代码检查也一并接好了。 第一道关卡Husky 在提交瞬间拦截问题Husky 通过.husky/目录下的两个钩子脚本介入 Git 流程.husky/pre-commit提交前执行npm run pre-commit由 lint-staged 接管。它只检查本次暂存的.ts文件并执行eslint --fix自动修复——改动越多等待越短体验友好。.husky/commit-msg提交信息写完后执行commitlint --edit对提交信息做规范校验不符合直接拒绝提交。这意味着代码格式问题在你敲下回车时就被修好了垃圾提交根本进不了仓库历史。✍️ 第二道关卡Commitlint 让提交信息统一「说话」项目的commitlint.config.js只有一行配置继承commitlint/config-conventional预设。也就是说提交信息必须符合Conventional Commits规范type(scope): subject常用 type 速查表Type含义示例feat新功能feat(auth): add jwt refresh tokenfix修复缺陷fix(user): prevent duplicate registrationdocs仅文档变更docs(readme): update quick startrefactor重构不加功能、不修缺陷refactor(acl): extract rule checktest补充或修正测试test(article): cover pagination casechore其他杂项不改 src/testchore(deps): bump nestjs to v11对比感受一下✅ 合规feat(article): add pagination to list endpoint❌ 会被拦截update some code、FIX BUG提交历史的可读性直接决定协作效率规范的提交信息还能用于自动生成 Changelog。更完整的书写约定scope 用法、Body/Footer、Breaking Change 等见项目根目录的CONTRIBUTING.md。☁️ 第三道关卡SonarCloud 云端质量门禁代码提交到远端后SonarCloud 接管「全局体检」。关键配置都在sonar-project.properties里sonar.projectKey/sonar.organization在 SonarCloud 平台上标识项目sonar.sourcessrc只分析src目录测试文件**/*.spec.ts被排除sonar.javascript.lcov.reportPathscoverage/lcov.info读取 Jest 产出的覆盖率数据sonar.testExecutionReportPathstest-report.xml读取测试执行报告这里有个巧妙设计package.json的 jest 配置中testResultsProcessor指向jest-sonar-reporter跑测试的同时自动生成 SonarCloud 需要的test-report.xml一份数据两用。云端流程由.github/workflows/sonarqube-workflow.yml驱动步骤非常清晰npm ci安装依赖npm run test:cov跑单测并产出覆盖率调用 SonarCloud 官方 Action 执行扫描并回传质量门禁结果另有build-workflow.yml推送/PR 时执行构建与tests-workflow.yml执行测试三者组合成完整的 CI 防线。❓ 常见问题FAQ钩子不生效怎么办Husky 钩子在npm install时通过prepare脚本安装。如果.husky目录缺失或未生效重新执行一次npm install即可。紧急情况下如何跳过检查git commit --no-verify可以跳过 Husky 钩子。但请仅用于极端场景——绕过本地检查的代码仍会在 SonarCloud 质量门禁处暴露问题。质量门禁Quality Gate失败了看哪里到 SonarCloud 平台对应项目仪表盘查看新增的代码异味、安全热点与覆盖率缺口修复后重新触发扫描即可。✅ 总结这套工作流的精髓在于「把规范变成自动化」pre-commit 钩子lint-staged ESLint 只检查并自动修复本次改动的文件commit-msg 钩子Commitlint 强制 Conventional Commits 提交格式SonarCloud 云端门禁覆盖率、测试报告与静态扫描一网通查。相关文件.husky/、commitlint.config.js、sonar-project.properties、.github/workflows/sonarqube-workflow.yml都可以直接借鉴到自己的 NestJS 项目中十几分钟即可复制出一套同样规范的开发工作流。【免费下载链接】nestjs-starter-rest-apiNestJS Starter Kit. Monolithic Backend. REST API.项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

5分钟搭好Electron-i18n开发环境:从GitHub Token到npm run build的完整指南

5分钟搭好Electron-i18n开发环境:从GitHub Token到npm run build的完整指南

5分钟搭好Electron-i18n开发环境:从GitHub Token到npm run build的完整指南 【免费下载链接】i18n 🌍 The home of Electrons translated documentation 项目地址: https://gitcode.com/gh_mirrors/i18n/i18n 想快速搭好 Electron-i18n 开发环境吗…

2026/11/9 9:45:48 阅读更多 →
LRU 缓存妙用:Hypermind 如何用一张 Map 记住 5 万个节点的 45 秒活跃状态

LRU 缓存妙用:Hypermind 如何用一张 Map 记住 5 万个节点的 45 秒活跃状态

LRU 缓存妙用:Hypermind 如何用一张 Map 记住 5 万个节点的 45 秒活跃状态 【免费下载链接】hypermind The High-Availability Solution to a Problem That Doesnt Exist. 项目地址: https://gitcode.com/gh_mirrors/hype/hypermind Hypermind 是一个完全去中…

2026/10/24 20:23:03 阅读更多 →
OpenObserve 大数据量查询加速:4个清单式技巧缩短文件列表过滤延迟

OpenObserve 大数据量查询加速:4个清单式技巧缩短文件列表过滤延迟

OpenObserve 大数据量查询加速:4个清单式技巧缩短文件列表过滤延迟 【免费下载链接】openobserve Open source observability platform for logs, metrics, traces, frontend monitoring, pipelines and LLM observability. A sophisticated, simple and highly per…

2026/10/24 5:41:31 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻