贡献指南
我们非常欢迎社区的开发者向 Taro 做出贡献,我们的共建倡议《Taro 邀你加入社区共建》。
- 提交 RFC 或者查看相关的 RFC,你可以查看 taro-rfcs 仓库
- 分享你的案例,只需提交小程序码、二维码,你可以提交到 taro-user-cases
- 分享你的 “轮子” (SDK、组件、UI、项目)你可以提交到 物料市场
- 分享你的经验(开源项目、教程、文章)你可以提交到 awesome-taro 或者给 「Taro社区」公众号投稿
在代码提交贡献之前,你需要花一些时间阅读以下内容,保证贡献是符合规范并且能帮助到社区。
Taro 组成
NPM 包 | 描述 |
---|---|
babel-preset-taro | 给 Taro 项目使用的 babel preset |
@tarojs/taro | 暴露给应用开发者的 Taro 核心 API |
@tarojs/shared | Taro 内部使用的 utils |
@tarojs/api | 暴露给 @tarojs/taro 的所有端的公有 API |
@tarojs/taro-h5 | 暴露给 @tarojs/taro 的 H5 端 API |
@tarojs/router | Taro H5 路由 |
@tarojs/react | 基于 react-reconciler 的小程序专用 React 渲染器 |
@tarojs/cli | Taro 开发工具 |
@tarojs/extend | Taro 扩展,包含 jQuery API 等 |
@tarojs/helper | 内部给 CLI 和 runner 使用辅助方法集 |
@tarojs/service | Taro 插件化内核 |
@tarojs/taro-loader | 暴露给 @tarojs/mini-runner 和 @tarojs/webpack-runner 使用的 Webpack loader |
@tarojs/runner-utils | 暴露给 @tarojs/mini-runner 和 @tarojs/webpack-runner 的公用工具函数 |
@tarojs/webpack-runner | Taro H5 端 Webpack 打包编译工具 |
@tarojs/mini-runner | Taro 小程序 端 Webpack 打包编译工具 |
@tarojs/components | Taro 标准组件库,H5 版 |
@tarojs/taroize | Taro 小程序反向编译器 |
@tarojs/with-weapp | 反向转换的运行时适配器 |
eslint-config-taro | Taro ESLint 规则 |
eslint-plugin-taro | Taro ESLint 插件 |
Issue 报告指南
如果提交的是 Bug 报告,请点击 New issue
。
如果你想为 Taro 实现一个重要功能,需要先撰写 RFC 文档,按照 Taro 的 RFC 机制进行操作,在经过社区讨论完善后才可以进行代码的提交。
开发配置
你需要保证你的 Node.js 版本大于 8,把仓库 Clone 到本地。运行以下命令:
$ npm install # or yarn
$ npm run bootstrap
$ npm run build
提交 commit
整个 Taro 仓库遵从 Angular Style Commit Message Conventions,在输入 commit message 的时候请务必遵从此规范。
代码风格
JavaScript
:JavaScript 风格遵从 JavaScript Standard Style。TypeScript
:TypeScript 风格也是 JavaScript Standard Style 的变种,详情请看相关包目录下的tslint.json
和tsconfig.json
。- 样式:遵循相关包目录下的
.stylelintrc
风格。
Pull Request 指南
- 务必保证
npm run build
能够编译成功; - 务必保证提交到代码遵循相关包中的
.eslintrc
,.tslintrc
,.stylelintrc
所规定的规范; - 当相关包的
package.json
含有npm test
命令时,必须保证所有测试用例都需要通过; - 当相关包有测试用例时,请给你提交的代码也添加相应的测试用例;
- 提交代码 commit 时,commit 信息需要遵循 Angular Style Commit Message Conventions。
- 如果提交到代码非常多或功能复杂,可以把 PR 分成几个 commit 一起提交。我们在合并时会会根据情况 squash。
Credits
感谢以下所有给 Taro 贡献过代码的开发者: