Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
c6b482c
docs: add migration guide from 8.0 to 8.1.0
alexgerardojacinto Apr 6, 2026
0ffbbc1
chore: add section about errors
alexgerardojacinto Apr 7, 2026
16346fb
chore: add more info on PWA Notes and update Example
alexgerardojacinto Apr 7, 2026
def4d38
docs: add CONTRIBUTING.md file
alexgerardojacinto Apr 7, 2026
c7ce2d4
docs: update CONTRIBUTING.md
alexgerardojacinto Apr 8, 2026
6a668f2
chore: update CONTRIBUTING.md
alexgerardojacinto Apr 8, 2026
ba20525
docs: Update CONTRIBUTING.md
alexgerardojacinto Apr 8, 2026
de17fa2
docs: Update CONTRIBUTING.md
alexgerardojacinto Apr 8, 2026
2287523
docs: minor refactor in README.md
alexgerardojacinto Apr 8, 2026
8bee559
docs: add note for Errors in README.md
alexgerardojacinto Apr 8, 2026
cab3702
docs: added note in Errors section of README.md
alexgerardojacinto Apr 8, 2026
522752c
docs: added info about thumbnail
alexgerardojacinto Apr 8, 2026
708dd98
docs: add more examples to "Examples" section
alexgerardojacinto Apr 8, 2026
2f9849a
docs: clarify info about targetWidth and targetHeight
alexgerardojacinto Apr 8, 2026
7792f1a
docs: link to documentation instead of duplicating
alexgerardojacinto Apr 8, 2026
3fa20f1
docs: remove confusing sentence
alexgerardojacinto Apr 8, 2026
b456601
docs: add section for dataUrl
alexgerardojacinto Apr 8, 2026
9fbaeac
docs: add links to "Result type changes" section
alexgerardojacinto Apr 8, 2026
a1b3420
docs: duplicate note on width and height
alexgerardojacinto Apr 9, 2026
e730ed7
docs: removed note on "saved"
alexgerardojacinto Apr 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Contributing

This guide provides instructions for contributing to this Capacitor plugin.

## Native code

This repository contains minimal code for native Android and iOS. The implementation for native mobile exists in separate repositories:

- [Contributing for Android](https://github.com/ionic-team/ion-android-camera?tab=readme-ov-file#contributing)
- [Contributing for iOS](https://github.com/ionic-team/ion-ios-camera?tab=readme-ov-file#contributing)

## Developing

### Local Setup

1. Fork and clone the repo.
2. Install the dependencies to use the plugin.

```shell
npm install
```

3. Install SwiftLint if you're on macOS.

```shell
brew install swiftlint
```

### Scripts

#### `npm run build`

Build the plugin web assets and generate plugin API documentation using [`@capacitor/docgen`](https://github.com/ionic-team/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`.

#### `npm run verify`

Build and validate the web and native projects.

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

#### `npm run lint` / `npm run fmt`

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

The `lint` command is run in CI. We recommend running `lint` and/or `fmt` before opening a PR,

## Commits/PR's

Commits and PR's should use the [conventional-commits](https://www.conventionalcommits.org/) format so the release process can version and create changelog correctly.

## Publishing

Publishing is automated based on the branch committed to. When a commit or merge is made to a branch a release that corresponds with the branch will be created (main requires manual trigger):

| Branch Name | Build Type | NPM Tag | Example NPM Version |
| ----------- | ----------------------------- | ------- | ---------------------------------- |
| development | dev | dev | @capacitor/camera@1.0.0-dev.1 |
| next | next (these are betas/alphas) | next | @capacitor/camera@1.0.0-next.1 |
| main | latest | latest | @capacitor/camera@1.0.0 |

- In general new developments will go straight to `main`. If we want to have non-stable versions (e.g. for new Capacitor versions or when there are many changes), we may use `next` or `development` branch, and then once they are ready for stable version, open a PR to main (should be merged to keep commit hashes for `semantic-release`).

> **Note**: The [`files`](https://docs.npmjs.com/cli/configuring-npm/package-json) array in `package.json` specifies which files get published. If you rename files/directories or add files elsewhere, you may need to update it.
Loading
Loading