Evaluating Plugins

Third-Party Integration and Evaluating a Plugin Before You Depend On It

Every plugin is native code you ship and must keep building on next year's cordova-android. Many services, from maps to payments, offer a web SDK that needs only a CSP entry (CSP and Viewport Tags) instead of a community plugin. Before choosing a plugin, spend two minutes on the registry:

vet: release date, weekly downloads, license and platforms of candidate plugins
for p in cordova-plugin-x-socialsharing cordova-plugin-firebasex \
         cordova-plugin-background-mode cordova-plugin-inappbrowser; do
  npm view "$p" --json | node -e '
    const m = JSON.parse(require("fs").readFileSync(0));
    fetch(`https://api.npmjs.org/downloads/point/last-week/${m.name}`).then((r) => r.json())
      .then((d) => console.log(m.name, m.version, m.time[m.version].slice(0, 10),
        `${d.downloads}/wk`, m.license, (m.cordova?.platforms || []).join(",")));'
done
Output
cordova-plugin-x-socialsharing 6.0.4 2022-09-07 12741/wk MIT ios,android,wp8,windows,web
cordova-plugin-firebasex 20.0.2 2026-06-06 2995/wk MIT android,ios
cordova-plugin-background-mode 0.7.3 2019-08-07 2421/wk Apache 2.0 ios,android,browser
cordova-plugin-inappbrowser 7.0.0 2026-06-22 45880/wk Apache-2.0 android,browser,ios

Downloads measure inertia as much as quality: the background-mode plugin still draws 2,421 installs a week seven years after its last release. Then check the repository itself:

A checklist before adding a third-party plugin
Question Where to look Warning sign
Is it maintained? Last release, open issues No release in two years
Does it build on your platform? <engine> in plugin.xml An upper bound below your version
What does it add? Permissions, frameworks More than the feature needs
Can you replace it? A web API or Capacitor 243,123 plugin None, for core features
Is the license compatible? license in package.json Missing or GPL in a closed app

If a plugin fails the check but you need the feature, fork it into your organization and pin your fork's Git 1,932 URL, or write the few native methods you need yourself (Custom Plugins).