本页面为希望为 NVM (Node 版本管理器) 项目做出贡献的开发者提供了重要信息。它涵盖了开发工作流程、测试框架、贡献指南和发布流程。有关如何使用 NVM 的信息,请参阅用法,有关安装说明,请参阅安装。
在为 NVM 做出贡献之前,您需要通过克隆存储库和安装所需依赖项来设置您的开发环境。
这将安装必要的开发依赖项,包括 urchin (测试框架)、replace 和 semver,它们用于测试和发布管理。
来源: Makefile11-15 CONTRIBUTING.md35-37
在处理新功能或错误修复时,请创建一个描述性的分支名称,最好引用问题编号
修改时
bash、sh/dash、zsh)这将使用 Makefile 运行测试,Makefile 将在所有支持的 shell 中执行测试。
来源: CONTRIBUTING.md45-48 Makefile53-54
提交拉取请求之前
确保您的分支基于最新的上游代码
验证您的更改是否通过了所有测试
推送您的更改并在 GitHub 上创建拉取请求
NVM 遵循特定的提交消息格式
[Tag]: Short description of what you did
Longer description here if necessary
Fixes #1234
关键指南
Co-authored-by: Name <email> 添加协作者NVM 拥有完善的测试基础架构,以确保更改不会破坏现有功能。
来源: Makefile20-26 Makefile41-50
测试在 test/ 目录中组织成多个套件
| 测试套件 | 目的 |
|---|---|
fast | 快速测试,验证基本功能 |
installation_node | 安装 Node.js 版本的测试 |
installation_iojs | 安装 io.js 版本的测试 |
xenial | 特定于 Ubuntu Xenial 环境的测试 |
每个测试套件都包含单独的测试用例,用于验证 NVM 功能的特定方面。
来源: .travis.yml77-94 Makefile26
运行测试
这将针对所有支持的 shell 运行所有测试套件。要运行特定 shell 的测试
或者针对特定 shell 中的特定测试套件
来源: Makefile41-50 Makefile29-32
NVM 使用 Travis CI 进行持续集成测试。CI 流水线确保所有更改在合并之前都在多个环境中进行测试。
来源: .travis.yml41-94
Travis CI 配置在多个环境中测试 NVM
WITHOUT_CURL=1)这些广泛的测试确保 NVM 在各种环境中都能正常工作。
来源: .travis.yml1-94
为 NVM 发布新版本遵循 Makefile 管理的特定流程
版本化文件包括
NVM 遵循 OpenJS Foundation 的成员项目 Contributor Covenant 行为准则 v2.1。行为准则确保了所有贡献者的尊重和包容性社区。
关键方面:
ljharb@gmail.com)coc-escalation@lists.openjsf.org)有关完整的行为准则,请参阅存储库中的CODE_OF_CONDUCT.md 文件。
通过贡献 NVM,您证明:
此认证确保所有项目贡献都经过适当授权,并尊重知识产权。