贡献
您好!我们非常高兴您有兴趣为 Vue Devtools 贡献代码。在提交您的贡献之前,请务必花点时间阅读以下指南。
单仓库
该仓库是一个包含多个嵌套包的单仓库。
包 | 描述 |
---|---|
api | 可在 Vue 插件中安装的公共 Devtools API |
app-backend-api | 用于连接公共 API、核心和 Vue 处理程序的抽象 API |
app-backend-core | 注入页面以与 Vue 应用程序交互的主要逻辑 |
app-backend-vue1 | 支持 Vue 1 的解耦处理程序(即将推出) |
app-backend-vue2 | 支持 Vue 2 的解耦处理程序 |
app-backend-vue3 | 支持 Vue 3 的解耦处理程序 |
app-frontend | 在浏览器 Devtools 面板中显示的 Vue 应用程序 |
shell-chrome | Chrome/Firefox 扩展程序 |
shell-electron | Electron 独立应用程序 |
shell-host | 开发环境 |
shell-dev-vue2 | 用于开发的演示应用程序(Vue 2) |
shell-dev-vue3 | 用于开发的演示应用程序(Vue 3) |
开发
- 克隆 此仓库
- 在仓库根目录中运行
yarn install
以安装依赖项。 - 在两个不同的终端中运行
yarn run build:watch
(编译并监视包)和yarn run dev:vue3
(运行开发 shell)。等待第一个终端中的初始编译完成,然后再运行第二个命令。 - 一个带有测试应用程序的普通 shell 将在
https://127.0.0.1:8090
上可用。
拉取请求指南
感谢您的代码贡献!在打开 PR 之前,请务必阅读以下内容
从基本分支(例如
main
)检出一个主题分支,并合并回该分支。例如:feat/my-new-feature
。创建 PR 时,请确保您允许维护者将更改推送到您的分支。
如果添加新功能
- 提供一个令人信服的理由来添加此功能。理想情况下,您应该首先打开一个建议问题,并在开始工作之前获得批准。
如果修复错误
- 如果您正在解决一个特殊问题,请在您的 PR 标题中添加
(fix #xxxx[,#xxxx])
(#xxxx 是问题 ID)以获得更好的发布日志,例如fix: update entities encoding/decoding (fix #3899)
。 - 在 PR 中提供错误的详细描述。优先提供实时演示。
- 如果您正在解决一个特殊问题,请在您的 PR 标题中添加
在您处理 PR 时,可以进行多个小的提交 - GitHub 可以自动在合并之前将它们压缩。
- 提交消息必须遵循 提交消息约定,以便可以自动生成变更日志。
运行测试
- 运行
yarn lint
以使用 ESLint 检查代码质量。 - 运行
yarn test
以运行所有测试。(@TODO)
作为 Chrome 扩展程序进行测试
当您想使用源代码仓库构建扩展程序以获取尚未发布的功能时,这很有用。
- 克隆此仓库
cd devtools
到新创建的文件夹- 运行
yarn install
- 然后并行运行
yarn run build:watch
和yarn run dev:chrome
- 打开 Chrome 扩展程序页面(当前位于
菜单
>更多工具
>扩展程序
下) - 在右上角勾选“开发者模式”
- 点击左侧的“加载解压的”按钮,并选择文件夹:
devtools/packages/shell-chrome/
(它将有一个橙色的磁盘图标) - 确保您禁用了所有其他版本的扩展程序
作为 Firefox 扩展程序进行测试
- 安装
web-ext
$ yarn global add web-ext
此外,请确保 PATH
已设置。在 ~/.bash_profile
中类似于以下内容
$ PATH=$PATH:$(yarn global bin)
- 克隆此仓库
- 运行
yarn install
- 然后并行运行
yarn run build:watch
和yarn run dev:chrome
- 运行
yarn run:firefox
文档开发
- 克隆此仓库
cd devtools
到新创建的文件夹- 运行
yarn install
- 运行
docs:dev