如何贡献
提报缺陷
如果你发现了缺陷,我们非常鼓励你向项目维护者提报。你可以在项目的 issue 跟踪器上新建一个 issue,或者直接提一个修复该缺陷的 pull request。 提报缺陷时提供尽可能多的信息总是有帮助的; 如果你还能提供一个能复现该缺陷的示例,那就帮了大忙。
我想贡献代码——该怎么做?
fork 该仓库、做出你的改动,然后提交一个 pull request。在提交之前:
- 确保你的改动有充分的测试,并且你已经更新了项目文档。
- 确保测试(
yarn run test)和构建(yarn run build) 在你本机上都能正常运行并全部通过。
提交改动有什么建议吗?
我们确实很感谢代码贡献,但分诊和整合外部提交的代码改动可能非常耗时。 在准备 pull request 时请考虑以下几点:
- 功能适合放进这个仓库。如果不确定,可以先在论坛上发帖问问。
- 代码质量可以接受。我们没有定义成文的编码规范, 但请确保它能通过 ESLint,并且看起来与仓库里其余代码风格一致。
- 设计质量可以接受。这一点比较主观,建议到论坛上寻求具体指导。
- pull request 的范围不要太大。请考虑为每个特性分别提 PR, 因为大的 PR 理解起来非常耗时。
- 我们会尽快对你的 pull request 给出反馈。遵循上面这些建议 有助于确保你的改动得到评审。
我的改动需要更新 package.json 里的依赖——流程是什么?
一般来说你通常不需要更新那些 package.json 文件。
但如果确实需要,你还必须同时更新 Cornerstone3D 的各个 lock 文件;
也就是说,你得在不带 --frozen-lockfile 标志的情况下
分别执行一次 yarn 和 bun 的 install。
危险
更新 package.json 文件必须谨慎,以免引入存在漏洞的第三方包和 / 或版本。
在提交并推送代码之前,添加新包和 / 或新版本时应当这样做:
- 尽职调查:研究所添加的包和 / 或版本是否存在已知漏洞。
- 更新
package.json文件。 - 执行
yarn run install:update-lockfile。 这会同时更新yarn.lock和bun.lock两个文件。 - 执行
yarn run audit做最后一道安全检查。 它会同时运行yarn audit和bun audit。 - 把
yarn.lock和bun.lock两个文件都包含在你的提交里。
如果你的调查或审计发现了高风险漏洞,不要提交或推送你的改动! 低风险和中风险漏洞是可以接受的。