移动开发

capacitor-plugin-upgrade-v4-to-v5

cap-go/capgo-skills

Upgrades a Capacitor plugin library from v4 to v5 using `npx @capacitor/plugin-migration-v4-to-v5@latest`, then the manual checklist - `@capacitor/*` dev deps to `latest-5`, compile/target SDK 33 defaults, AGP 8.0.0, Gradle 8.0.2, `namespace` in build.gradle instead of manifest `package`, Java 17, Jetifier removal, Kotlin 1.8.20 with `kotlin-stdlib`, plus code changes - `CAPBridgedPlugin` requirements moved to instance level (`pluginId` -> `identifier`, `pluginMethods` typed `[CAPPluginMethod]`) and Android `PluginCall.getObject()` / `getArray()` may return null. Use when a plugin's peer dependency is Capacitor 4 and it must support 5, or apps on v5 fail with "Namespace not specified" in the plugin module. Do not use for app upgrades, other major versions, or non-Capacitor libraries.

  • 643 次安装
  • 74 星标
  • 收录于

安装命令

npx skills add https://github.com/cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5

SKILL.md

Capacitor Plugin Upgrade v4 to v5

Move a plugin library to Capacitor 5. Source of truth: https://capacitorjs.com/docs/updating/plugins/5-0

When to Use

  • Snapshot shows @capacitor/core 4.x in peer/dev deps and the plugin must work in Capacitor 5 apps.
  • A Capacitor 5 app fails building this plugin with Namespace not specified or Java 17 errors.
  • The plugin manually conforms to CAPBridgedPlugin or calls getObject() / getArray().

Do not use:

  • Upgrading an app -> capacitor-app-upgrade-v4-to-v5.
  • Plugin already on 5 -> capacitor-plugin-upgrade-v5-to-v6. Multi-hop -> capacitor-plugin-upgrades.

Live Project Snapshot

Plugin and Capacitor package snapshot: !node -e "const fs=require('fs');if(!fs.existsSync('package.json'))process.exit(0);const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));const out=['package.name='+(pkg.name||''),'package.version='+(pkg.version||'')];for(const section of ['peerDependencies','dependencies','devDependencies']){for(const [name,version] of Object.entries(pkg[section]||{})){if(name.startsWith('@capacitor/'))out.push(section+'.'+name+'='+version)}}console.log(out.join('\n'))"

Capacitor Plugin Upgrade v4 to v5

Move a plugin library to Capacitor 5. Source of truth: https://capacitorjs.com/docs/updating/plugins/5-0

When to Use

  • Snapshot shows @capacitor/core 4.x in peer/dev deps and the plugin must work in Capacitor 5 apps.
  • A Capacitor 5 app fails building this plugin with Namespace not specified or Java 17 errors.
  • The plugin manually conforms to CAPBridgedPlugin or calls getObject() / getArray().

Do not use:

  • Upgrading an app -> capacitor-app-upgrade-v4-to-v5.
  • Plugin already on 5 -> capacitor-plugin-upgrade-v5-to-v6. Multi-hop -> capacitor-plugin-upgrades.

Live Project Snapshot

Plugin and Capacitor package snapshot: !node -e "const fs=require('fs');if(!fs.existsSync('package.json'))process.exit(0);const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));const out=['package.name='+(pkg.name||''),'package.version='+(pkg.version||'')];for(const section of ['peerDependencies','dependencies','devDependencies']){for(const [name,version] of Object.entries(pkg[section]||{})){if(name.startsWith('@capacitor/'))out.push(section+'.'+name+'='+version)}}console.log(out.join('\n'))"