Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 1.95 KB

File metadata and controls

40 lines (28 loc) · 1.95 KB

Contributing to Expo Config Plugins

Submitting a pull request

To submit a pull request:

  1. Fork the repository and create a feature branch. (Existing contributors can create feature branches without forking. Prefix the branch name with @your-github-username/.)
  2. Run pnpm install in the root directory to generate the build files.
  3. Use conventional commits including in the PR title.
  4. Fill out the entire PR template. Ensure your code is tested locally and has continuous tests in CI.
  5. Make sure all tests pass on GitHub Actions.
  6. Wait for a review and adjust the code if necessary.

Creating a plugin

  • Plugins can be generated by running pnpm gen.
  • Add plugins to the example in apps/app to test them.
  • The example app should always stay in a state of regeneration.

Be sure to run the following scripts in the root directory to update automation tools:

  • Update dependabot: pnpm update-dependabot-config
  • Update the issue template: pnpm update-issue-template

Upgrading plugins for a new Expo version

  • Update the catalog: block in pnpm-workspace.yaml with the new SDK versions for expo, expo-module-scripts, @expo/config-plugins, and any other shared dependencies
  • Ensure every project under apps/ is updated to latest version of Expo
  • Update each library’s README.md
    • Ensuring the latest version of Expo is listed
    • Ensure the upstream package version is correct
    • Use the next version for the matching config plugin
  • Update SDK_VERSION in scripts/generate-plugin.ts

Publishing a release

Packages are published manually using the scripts in the root package.json:

  1. pnpm bump: Increments the major version of all packages.
  2. pnpm release: Publishes all packages to npm.