贡献指南
Vuetify 是由一个惊人的社区打造的,社区中提交问题,创建拉取请求,并提供宝贵的反馈才使 Vuetify 成为可能。这是我们的工作,使你能够创建惊人的应用程序。很多时候,你会遇到一些可以做得更好的事情。也许你发现了一个 bug,或者你对附加功能有了一个想法。太好了!要开始在开发环境中工作,只需克隆 Vuetify 存储库即可。
报告问题
仓库的工单列表是专门用来提交 bug 报告和特性请求的。其它无关紧要的问题将会被立即关闭。
一般性问题,请加入 community。
尝试搜索您的工单,它或许已获得回答。
看看错误是否可用最新版本重现。
如果可重现,请提供一个简单的 codepen 或者是可被克隆并产生预期行为的仓库。
请使用 issue creator 来创建一个新的工单。
开发环境预先准备
Vuetify 包含一个本地开发环境,你可以启动该环境来测试新特性、功能和组件。然而,在你开始之前,你需要安装一些东西来帮助你管理 vuetify 的许多方面。
预先准备:安装 Commitizen
Vuetify 团队对所有库的提交都使用 Commitizen。这将帮助阅读和组织代码,只需对常规提交函数进行最小的更改。使用 npm 全局安装 Commitizen:
// Install commitizen
$ npm install -g commitizen
// Then install commitizen adapter
$ npm install -g cz-conventional-changelog
// Then create a .czrc file
$ echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
有时,使用 cmd 创建 .czrc 无法工作,如果出错,请尝试使用 VS code 在主目录中创建文件
恭喜!Commitizen 已经安装!当你提交时,请像往常一样添加文件,并将git commit -m "your message"
替换为 git cz
,然后按照提示操作。
提交指南见下面的 “Commit Guidelines w/Commitizen”
安装PM2(可选)
如果你愿意,你可以使用 PM2 同时运行和管理 Vuetify monrepo 的多个部分 (Playground, Docs, 等等)。根目录中包含一些 PM2 配置文件,它们将引导并管理 Vuetify 提供的所有配置。你需要启动 PM2:
// Use this if you dont want annoying cmd popups
$ npm install -g pm2@3.0.2
// OR
$ npm install -g pm2@latest
设置开发环境
设置你自己的开发环境非常简单!克隆 Vuetify 到你的仓库即可。
// Clone your forked repo
$ git clone <forked-vuetify-repo>
// Change to your new vuetify directory
$ cd vuetify
// Checkout the branch you are working on
$ git checkout <branch name>
// Install dependencies
$ yarn
// Build
$ yarn build
现在可以启动开发环境了!
启动开发环境
有几种方法可以在 Vuetify mono-repo 中启动开发环境:
Yarn
// All run from root directory
// To start vuetify dev
$ yarn dev
// To access your local vuetify playground:
http://localhost:8080
// To start docs
$ yarn dev docs
// To access your local docs environment:
http://localhost:8095
// To start a specific package
$ yarn dev <package name>
// To build all packages
$ yarn build
// To build a specific package
$ yarn build <package name>
// Package alias
api-generator: api
PM2
要导入预配置的 PM2 实例,请使用以下命令
// Import and start all services into PM2
$ pm2 start ecosystem.config.js
// Import and start all services into PM2 (for Windows Only)
// Currently only supports vuetify-docs
$ pm2 start ecosystem-win.config.js
// Import and start single service
$ pm2 start ecosystem.config.js --only <process name>
下面是一些与 PM2 一起用于启动/停止/重启实例的命令
// Start all services
$ pm2 start all
// Stop all services
$ pm2 stop all
// Restart all services
$ pm2 restart all
// Start/Stop/Restart single service
$ pm2 <task> <process name>
// Stop and remove all services
$ pm2 kill
// Save config
$ pm2 save
// Load your saved config
$ pm2 resurrect
目前只有两个主要的进程名:vuetify
(playground) 和 vuetify-docs
提交指南 w/Commitizen
Commitizen 为处理语义版本控制提供了一个流畅的接口。这提供了一个很好的样板文件,使得编写提交注释更加容易。
如上所述,所有提交都应该使用 commitizen 和 conventional-changelog。提交应遵循格式 <type>: <subject>
or <type>(scope): <subject>
提交类型
- feat: 提交一个新特性或功能。向后兼容的特性将在下一个 次要 中发布,而中断更改将在下一个 主要 中发布。带有中断更改的提交主体必须以
中断更改
开头,然后描述 API 是如何更改的。
fix: 提交为 vuetify 的代码库中的 bug 提供修复。
docs: 提交提供对文档的更新。
style: 提交不影响代码运行方式的代码,这些只是对格式的更改。
refactor: 提交既没有修复 bug 也没有添加特性。
perf: 提交提高性能的修改。
test: 提交添加丢失的或正确的现有测试。
chore: 其他不修改 src 或测试文件的提交。
revert: 恢复以前的提交。
提交更改/Pull requests
在进行任何提交之前,你会想要从开发中拉取最新和最好的。从这里开始,合并,并解决分支和开发之间的任何冲突。随着开发的不断推进,频繁地拉取是一个很好的经验法则。
在 git 中,添加所有相关文件。
使用 git cz
命令来通过 commitizen 提交。从这里开始,你将通过一系列的 props 进行提交。请确保选择合适的类型(参见上面的 提交指南 w/Commitizen)。
最后,git push
并且打开一个 Pull requests。
Pull Requests For Vuetify
Pull requests 与 Vuetify 有关的问题:
- 对于 bug fixes 和 documentation updates 的提交请合并至
master
。 - 对于 new features 和 enhancements 的提交请合并至
dev
- 对于 bugs 和 critical fixes 有关 v1.5/LTS 的提交请合并至
stable
- 对于任何 包含 breaking changes 的 features 提交提交请合并至
next
Pull Requests For Docs
对于任何与 Vuetify 文档相关的 pull requests,请将你的 pull requests 提交至 master
分支。
文档的拉取请求 - 语言
我们不接受除 en
以外的任何语言的文档修改。除 en
以外的所有语言的修改都必须通过我们的 Crowdin 项目提交。只需在文档的语言下拉菜单中选择 Help Translate
即可开始。在翻译完成 15% 以上的语言后才会被添加。