菜单

贡献指南

相关源文件

本文档概述了向 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

代码规范

所有贡献必须遵守既定的代码标准,这些标准通过代码检查工具强制执行。

主要样式要求包括:

  • 变量命名使用驼峰命名法
  • 字符串使用单引号
  • 正确的缩进(2个空格)
  • 严格相等 (===)
  • 无未使用的变量

来源: .github/CONTRIBUTING.md17-19 .jshintrc .eslintrc.json

拉取请求指南

提交拉取请求时,请遵守以下指南:

  • 除非有充分理由,否则通常不鼓励添加新的命令行选项
  • 为新添加的代码添加测试(尽可能镜像目录和文件结构)
  • 对文档和注释进行拼写检查
  • 除非所有测试通过,否则拉取请求将不进行代码审查

错误修复流程

修复错误时,请遵循此关键工作流程:

这种“测试先行”的方法是强制性的,以便维护者可以验证错误是否存在以及您的修复是否有效。

来源: .github/CONTRIBUTING.md22-30 test/misc/sigint.test.js

跨平台考量

请记住,nodemon 可在多个平台和 Node.js 版本上运行。您的贡献应考虑:

  • 在不同操作系统上测试(Windows、macOS、Linux)
  • 跨 Node.js 版本的兼容性
  • 平台特定行为

如贡献指南中所述:“请记住,您正在为多个平台和 Node.js 版本进行开发,因此如果测试在您的 Mac、Linux 或 Windows 机器上通过,它*可能*不会在其他地方通过。”

来源: .github/CONTRIBUTING.md30-31

问题报告指南

提交问题时:

  • 包含 nodemon --dump 的输出以供诊断
  • 如果 nodemon 在特定脚本上出现问题,请包含该脚本以帮助重现
  • 从输出中删除任何敏感/个人详细信息或令牌

来源: .github/ISSUE_TEMPLATE.md .github/CONTRIBUTING.md32-35

贡献工作流程摘要

下图说明了 nodemon 的典型贡献工作流程:

此过程强调了测试、正确提交格式和对反馈的响应的重要性。

来源: .github/CONTRIBUTING.md

代码风格强制执行

Nodemon 使用 JSHint 和 ESLint 来强制执行代码标准。以下是决定项目风格的关键配置:

JSHint 规则 (.jshintrc)目的
browsertrue允许浏览器环境全局变量
camelcasetrue强制变量使用驼峰命名法
curlytrue要求所有控制语句使用大括号
eqeqeqtrue要求严格相等 (===)
indent2将缩进设置为2个空格
quotmark'single'强制字符串使用单引号
unusedtrue禁止未使用变量
ESLint 规则 (.eslintrc.json)配置
space-before-function-paren具名函数不带空格,匿名函数忽略
ecmaVersion12 (ES2021)

这些标准确保了整个项目的代码一致性。

来源: .jshintrc .eslintrc.json

总结

向 nodemon 贡献需要遵循以下既定约定:

  1. 提交消息格式(Angular 风格)
  2. 代码风格和检查标准
  3. 错误修复的测试先行方法
  4. 全面的问题报告
  5. 跨平台兼容性

遵循这些指南将有助于确保您的贡献顺利被接受并高效地集成到项目中。