贡献指南

Vuetify 是由一个惊人的社区打造的,社区中提交问题,创建拉取请求,并提供宝贵的反馈才使 Vuetify 成为可能。这是我们的工作,使你能够创建惊人的应用程序。很多时候,你会遇到一些可以做得更好的事情。也许你发现了一个 bug,或者你对附加功能有了一个想法。太好了!要开始在开发环境中工作,只需克隆 Vuetify 存储库即可。

报告问题

仓库的工单列表是专门用来提交 bug 报告和特性请求的。其它无关紧要的问题将会被立即关闭。

一般性问题,请加入 community

尝试搜索您的工单,它或许已获得回答。

看看错误是否可用最新版本重现。

如果可重现,请提供一个简单的 codepen 或者是可被克隆并产生预期行为的仓库。

请使用 issue creator 来创建一个新的工单。

开发环境预先准备

Vuetify 包含一个本地开发环境,你可以启动该环境来测试新特性、功能和组件。然而,在你开始之前,你需要安装一些东西来帮助你管理 vuetify 的许多方面。

预先准备:安装 Commitizen

Vuetify 团队对所有库的提交都使用 Commitizen。这将帮助阅读和组织代码,只需对常规提交函数进行最小的更改。使用 npm 全局安装 Commitizen:

  1. // Install commitizen
  2. $ npm install -g commitizen
  3. // Then install commitizen adapter
  4. $ npm install -g cz-conventional-changelog
  5. // Then create a .czrc file
  6. $ 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:

  1. // Use this if you dont want annoying cmd popups
  2. $ npm install -g pm2@3.0.2
  3. // OR
  4. $ npm install -g pm2@latest

设置开发环境

设置你自己的开发环境非常简单!克隆 Vuetify 到你的仓库即可。

  1. // Clone your forked repo
  2. $ git clone <forked-vuetify-repo>
  3. // Change to your new vuetify directory
  4. $ cd vuetify
  5. // Checkout the branch you are working on
  6. $ git checkout <branch name>
  7. // Install dependencies
  8. $ yarn
  9. // Build
  10. $ yarn build

现在可以启动开发环境了!

启动开发环境

有几种方法可以在 Vuetify mono-repo 中启动开发环境:

Yarn

  1. // All run from root directory
  2. // To start vuetify dev
  3. $ yarn dev
  4. // To access your local vuetify playground:
  5. http://localhost:8080
  6. // To start docs
  7. $ yarn dev docs
  8. // To access your local docs environment:
  9. http://localhost:8095
  10. // To start a specific package
  11. $ yarn dev <package name>
  12. // To build all packages
  13. $ yarn build
  14. // To build a specific package
  15. $ yarn build <package name>
  16. // Package alias
  17. api-generator: api

PM2

要导入预配置的 PM2 实例,请使用以下命令

  1. // Import and start all services into PM2
  2. $ pm2 start ecosystem.config.js
  3. // Import and start all services into PM2 (for Windows Only)
  4. // Currently only supports vuetify-docs
  5. $ pm2 start ecosystem-win.config.js
  6. // Import and start single service
  7. $ pm2 start ecosystem.config.js --only <process name>

下面是一些与 PM2 一起用于启动/停止/重启实例的命令

  1. // Start all services
  2. $ pm2 start all
  3. // Stop all services
  4. $ pm2 stop all
  5. // Restart all services
  6. $ pm2 restart all
  7. // Start/Stop/Restart single service
  8. $ pm2 <task> <process name>
  9. // Stop and remove all services
  10. $ pm2 kill
  11. // Save config
  12. $ pm2 save
  13. // Load your saved config
  14. $ pm2 resurrect

目前只有两个主要的进程名:vuetify (playground) 和 vuetify-docs

提交指南 w/Commitizen

Commitizen 为处理语义版本控制提供了一个流畅的接口。这提供了一个很好的样板文件,使得编写提交注释更加容易。

如上所述,所有提交都应该使用 commitizenconventional-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 fixesdocumentation updates 的提交请合并至 master
  • 对于 new featuresenhancements 的提交请合并至 dev
  • 对于 bugscritical fixes 有关 v1.5/LTS 的提交请合并至 stable
  • 对于任何 包含 breaking changesfeatures 提交提交请合并至 next

Pull Requests For Docs

对于任何与 Vuetify 文档相关的 pull requests,请将你的 pull requests 提交至 master 分支。

文档的拉取请求 - 语言

我们不接受除 en 以外的任何语言的文档修改。除 en 以外的所有语言的修改都必须通过我们的 Crowdin 项目提交。只需在文档的语言下拉菜单中选择 Help Translate 即可开始。在翻译完成 15% 以上的语言后才会被添加。