本文档概述了向 nodemon 项目贡献的流程和标准。它提供了关于提交格式、代码标准、拉取请求程序和问题报告的指南。有关测试更改的详细信息,请参阅测试框架。
Nodemon 遵循 Angular 风格的提交格式,以方便自动生成变更日志。所有提交消息必须符合此格式。
<type>: <subject>
[optional body]
其中 <type> 是常规提交类型之一(fix、feat、docs、style、refactor 等)。例如
fix: minified scripts being removed
Also includes tests
来源: .github/CONTRIBUTING. arduous.md4-15
所有贡献必须遵守既定的代码标准,这些标准通过代码检查工具强制执行。
主要样式要求包括:
来源: .github/CONTRIBUTING.md17-19 .jshintrc .eslintrc.json
提交拉取请求时,请遵守以下指南:
修复错误时,请遵循此关键工作流程:
这种“测试先行”的方法是强制性的,以便维护者可以验证错误是否存在以及您的修复是否有效。
来源: .github/CONTRIBUTING.md22-30 test/misc/sigint.test.js
请记住,nodemon 可在多个平台和 Node.js 版本上运行。您的贡献应考虑:
如贡献指南中所述:“请记住,您正在为多个平台和 Node.js 版本进行开发,因此如果测试在您的 Mac、Linux 或 Windows 机器上通过,它*可能*不会在其他地方通过。”
来源: .github/CONTRIBUTING.md30-31
提交问题时:
nodemon --dump 的输出以供诊断来源: .github/ISSUE_TEMPLATE.md .github/CONTRIBUTING.md32-35
下图说明了 nodemon 的典型贡献工作流程:
此过程强调了测试、正确提交格式和对反馈的响应的重要性。
Nodemon 使用 JSHint 和 ESLint 来强制执行代码标准。以下是决定项目风格的关键配置:
| JSHint 规则 (.jshintrc) | 值 | 目的 |
|---|---|---|
| browser | true | 允许浏览器环境全局变量 |
| camelcase | true | 强制变量使用驼峰命名法 |
| curly | true | 要求所有控制语句使用大括号 |
| eqeqeq | true | 要求严格相等 (===) |
| indent | 2 | 将缩进设置为2个空格 |
| quotmark | 'single' | 强制字符串使用单引号 |
| unused | true | 禁止未使用变量 |
| ESLint 规则 (.eslintrc.json) | 配置 |
|---|---|
| space-before-function-paren | 具名函数不带空格,匿名函数忽略 |
| ecmaVersion | 12 (ES2021) |
这些标准确保了整个项目的代码一致性。
向 nodemon 贡献需要遵循以下既定约定:
遵循这些指南将有助于确保您的贡献顺利被接受并高效地集成到项目中。