We are happy to welcome developers from the community to contribute to Taro 《Taro invites you to join in community building》

  • Submit an RFC or view the relevant RFC, you can view taro-rfcs repository
  • Share your case, just submit the mini program QR code, you can submit to taro-user-cases
  • Share your SDK, components , UI libary, project, you can submit to Examples
  • Share your experience (open source projects, tutorials, articles) you can submit to awesome-taro Or contribute to the 「Taro Community」Official Accounts

Before submitting your code for contribution, you need to spend some time reading the following to ensure that the contribution is in compliance with the specification and will help the community.

Taro Composition

NPM Package Description
babel-preset-taro The babel preset for Taro projects
@tarojs/taro Taro’s core API for application developers
@tarojs/shared The utils used internally by Taro
@tarojs/api Public API for all platform of @tarojs/taro
@tarojs/taro-h5 H5 API for @tarojs/taro
@tarojs/router Taro H5 Router
@tarojs/react React renderer for mini program based on react-reconciler
@tarojs/cli Taro Development Tools
@tarojs/extend Taro extensions, including jQuery API, etc.
@tarojs/helper Internal use of auxiliary method sets for CLI and runner
@tarojs/service Taro Plugin Kernel
@tarojs/taro-loader Webpack loader exposed for use by @tarojs/mini-runner and @tarojs/webpack-runner
@tarojs/runner-utils Common tool functions exposed to @tarojs/mini-runner and @tarojs/webpack-runner
@tarojs/webpack-runner Taro H5 Webpack package builder
@tarojs/mini-runner Taro mini program Webpack package tools
@tarojs/components Taro H5 Standard component library
@tarojs/taroize Taro Mini Program Reverse compiler
@tarojs/with-weapp Runtime adapter for reverse conversion
eslint-config-taro Taro ESLint Rules
eslint-plugin-taro Taro ESLint Plugin

Issue Guides

If you are submitting a bug report, please click New issue

If you want to implement an important feature for Taro, you need to write an RFC document first, following Taro’s RFC System,The code can be submitted only after it has been discussed and refined by the community.

Develop Configuration

You need to make sure your Node.js version is greater than 8 to clone the repository locally. Run the following command.

  1. $ npm install # or yarn
  2. $ npm run bootstrap
  3. $ npm run build

Submit Code

Taro repository adheres to the Angular Style Commit Message Conventions,So be sure to follow this when entering your commit message, please make sure to follow this convention when publish.

Code Style

  • JavaScript:JavaScript style Follow JavaScript Standard Style
  • TypeScript:TypeScript style Follow [JavaScript Standard Style](https://github.com/standard/See tslint.json and tsconfig.json in the relevant package directory for details.
  • Styles:follow the .stylelintrc style in the relevant package directory.

Pull Request Guides

  1. Make sure that npm run build compiles successfully;
  2. Be sure to submit code that follows the specifications specified in .eslintrc, .tslintrc, .stylelintrc in the relevant package;
  3. When the package.json of the package in question contains the npm test command, it must be ensured that all test cases are required to pass;
  4. When a test case is available for the package in question, add the corresponding test case to your submitted code as well;
  5. When contribute Code, the commit message needs to follow Angular Style Commit Message Conventions
  6. If the contribute code is very complex, you can split the PR into several commits. We will squash when merging.

Credits

Thanks to all the developers who have contributed code to Taro:

Taro Composition - 图1