Ioniconf 2022 logo

Uniting our global community of Ionic developers and contributors. May 25, 2022.

DocsPluginsCLI

Using Cordova Plugins and Ionic Native

When developing an app that uses Capacitor, it’s possible to use both Cordova and Ionic Native plugins.

Installing Cordova Plugins

Simply install your plugin of choice, sync your project, finish any required native project configuration, and you’re ready to go:

npm install cordova-plugin-name
npx cap sync

Updating Cordova Plugins

Similar to the installation steps. Simply update the cordova plugin to the latest version then Capacitor will pick up the changes:

npm install cordova-plugin-name@2
npx cap update

If you don’t want to risk to introduce breaking changes, use npm update cordova-plugin-name instead of @2 as update respects semver.

Installing Ionic Native Plugins

Ionic Native provides TypeScript wrappers and a consistent API and naming convention for easier development with Cordova plugins. It’s supported in Capacitor, so whenever you find an Ionic Native wrapper you’d like to use, install the JavaScript code, install the corresponding Cordova plugin, then sync your project:

npm install @ionic-native/javascript-package-name
npm install cordova-plugin-name
npx cap sync

Updating Ionic Native Plugins

Similiar to the installation steps. Update the Ionic Native JavaScript library, remove then re-add the Cordova plugin, then update your project:

npm install @ionic-native/javascript-package-name@2
npm install cordova-plugin-name@2
npx cap update

Determining Installed Plugin Version

See the list of Capacitor and Cordova plugins (and their exact version numbers) installed in your project with:

npx cap ls

Important: Configuration

Capacitor does not support Cordova install variables, auto configuration, or hooks, due to our philosophy of letting you control your native project source code (meaning things like hooks are unnecessary). If your plugin requires variables or settings to be set, you’ll need to apply those configuration settings manually by mapping between the plugin’s plugin.xml and required settings on iOS and Android.

Consult the iOS and Android configuration guides for info on how to configure each platform.

Compatibility Issues

Some Cordova plugins don’t work with Capacitor or Capacitor provides a conflicting alternative. See here for details and a known incompatibility list.

Previous
<- Cordova to Capacitor Migration
Next
Known Incompatible Plugins ->
Contribute ->