Skip to content

Latest commit

 

History

History
76 lines (47 loc) · 2.07 KB

CONTRIBUTING.md

File metadata and controls

76 lines (47 loc) · 2.07 KB

Contributing

This guide provides instructions for contributing to this Capacitor plugin.

Developing

Local Setup

  1. Fork and clone the repo.

  2. Install the dependencies.

    nvm use
    pnpm install
  3. Install SwiftLint if you're on macOS.

    brew install swiftlint
  4. Watch for changes

    pnpm watch

Example project

cd example
nvm use
pnpm install
pnpm start

Scripts

pnpm build

Build the plugin web assets and generate plugin API documentation using @capacitor/docgen.

It will compile the TypeScript code from src/ into ESM JavaScript in dist/esm/. These files are used in apps with bundlers when your plugin is imported.

Then, Rollup will bundle the code into a single file at dist/plugin.js. This file is used in apps without bundlers by including it as a script in index.html.

pnpm verify

Build and validate the web and native projects.

This is useful to run in CI to verify that the plugin builds for all platforms.

pnpm lint / pnpm fmt

Check formatting and code quality, autoformat/autofix if possible.

This template is integrated with ESLint, Prettier, and SwiftLint. Using these tools is completely optional, but the Capacitor Community strives to have consistent code style and structure for easier cooperation.

Publishing

Update the versions of the packages

pnpm changeset version

There is a prepublishOnly hook in package.json which prepares the plugin before publishing, so all you need to do is run:

pnpm changeset publish

Note: The files array in package.json specifies which files get published. If you rename files/directories or add files elsewhere, you may need to update it.

Note: Sometimes a publish may partially succeed. Run the publish step again to have the remaining packages succeed (assuming that they do actually compile).