Skip to content

Latest commit

 

History

History
196 lines (130 loc) · 4.76 KB

File metadata and controls

196 lines (130 loc) · 4.76 KB

贡献指南

感谢你为 VuReact Core 做出贡献。本文档聚焦这个仓库里实际采用的贡献流程,而不是通用的开源模板说明。

开始之前

请先确认本地环境符合当前工作区要求:

  • Node.js >= 20.19.0
  • 推荐使用 pnpm 10+
  • Git

本仓库是一个 pnpm workspace,主要包含两个包:

  • @vureact/compiler-core
  • @vureact/runtime-core

提交代码前,也请阅读行为准则,并了解所有贡献均按 MIT License 发布。

先选择合适的协作入口

如果变更影响较大,请先讨论,再开始实现。

以下类型的改动,必须先创建或参与 Issue / Discussion 再动手写代码:

  • 新功能
  • 破坏性变更
  • 架构调整
  • 大型重构

请优先使用仓库现有的 GitHub 模板和渠道:

如果只是简单的错别字修复或直接明了的文档改进,可以直接提交 Pull Request。

本地准备

  1. 先在 GitHub 上 Fork 仓库。

  2. 克隆你的 Fork 并进入工作区:

    git clone https://github.com/YOUR_USERNAME/core.git
    cd core
  3. 安装依赖:

    pnpm install
  4. 运行测试确保环境正常:

    pnpm test:compiler-core
    pnpm test:adapter-hooks
    pnpm test:adapter-utils
    pnpm test:adapter-components
  5. 构建你将要修改的包:

    pnpm build:compiler-core
    pnpm build:runtime-core
  6. 基于上游最新默认分支创建你的工作分支。

开始修改

请尽量让每次改动保持聚焦,方便审查和回归验证。

  • 遵循现有代码风格和目录结构。
  • 如果行为发生变化,请同步更新文档。
  • 如果改动影响行为,请补充或更新测试。
  • 不要把无关重构混进同一个 Pull Request。

如果你的改动同时影响两个包,请在 PR 描述里明确说明它们之间的关系,方便评审确认联动影响。

验证改动

请运行与你修改范围相匹配的检查。相比笼统地写“全部测试通过”,我们更鼓励你提供范围明确的定向验证结果。

格式检查

在工作区根目录运行 Prettier 检查:

pnpm format:check

compiler-core

运行测试套件:

pnpm test:compiler-core

运行单独模块测试:

cd packages/compiler-core

pnpm test:fixture "<任意 __tests__ 目录下的测试文件夹名称>"
# 例如:pnpm test:fixture "define-model"

# 可强制更新预期输出文件
pnpm test:fixture-update "<同上的占位文本>"

若出现 [vureact] 相关告警属于正常现象,因为这些告警是由有意引入的边界情况所触发,而非 Jest 测试错误。

运行包构建:

pnpm build:compiler-core

runtime-core

根据你修改的区域,运行对应的根脚本:

pnpm test:adapter-hooks
pnpm test:adapter-utils
pnpm test:adapter-components

同时建议运行相关构建:

pnpm build:runtime-core

提交 Commit 并创建 PR

建议使用清晰的提交信息,并遵循 Conventional Commits:

<type>[optional scope]: <description>

本仓库最常用的类型包括:

  • feat
  • fix
  • docs
  • refactor
  • test
  • build
  • ci
  • chore

示例:

feat(compiler-core): improve scoped style transform output
fix(runtime-core): correct adapter hook update timing
docs: rewrite contribution guide

提交 Pull Request 之前,请确认:

  • 已按需要 rebase 或合并上游最新默认分支
  • 本次改动相关的构建与验证已在本地通过
  • 如果有用户可见行为变化,相关文档已同步更新

创建 PR 时,请遵循现有模板:

PR 描述中应至少包含:

  • 关联的 Issue
  • 受影响的包
  • 你实际运行过的验证步骤
  • 仅在确有帮助时附上截图

评审预期

评审者可能会要求你补充背景、缩小改动范围,或增加验证说明。这些要求的目标是保持项目长期可维护。

为了让评审更顺畅:

  • 保持 PR 聚焦
  • 对反馈给出明确更新
  • 主动说明取舍和已知后续工作
  • 除非确有必要,不要用 force-push 抹掉讨论上下文

如果你不确定应该由谁评审,可以参考仓库中的 CODEOWNERS