chore: sync plus with upstream main (conflicts)#80
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📝 WalkthroughWalkthroughThis pull request rebrands and migrates the Capacitor packages from the Cap-go/capacitor-plus fork to the official Ionic Team Capacitor repository. Package names change from ChangesPackage and Documentation Rebranding to Official Capacitor
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
cli/src/ios/update.tsOops! Something went wrong! :( ESLint: 8.57.1 ESLint couldn't find the plugin "@typescript-eslint/eslint-plugin". (The package "@typescript-eslint/eslint-plugin" was not found when loaded as a Node module from the directory "".) It's likely that the plugin isn't installed correctly. Try reinstalling by running the following: The plugin "@typescript-eslint/eslint-plugin" was referenced from the config file in "package.json » If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. cli/src/ipc.tsOops! Something went wrong! :( ESLint: 8.57.1 ESLint couldn't find the plugin "@typescript-eslint/eslint-plugin". (The package "@typescript-eslint/eslint-plugin" was not found when loaded as a Node module from the directory "".) It's likely that the plugin isn't installed correctly. Try reinstalling by running the following: The plugin "@typescript-eslint/eslint-plugin" was referenced from the config file in "package.json » If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
ios/package.json (2)
8-13:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRepository URLs inconsistent with package rename.
The package name has been changed to
@capacitor/ios(line 2) with Ionic Team branding (lines 4-6), but the repository and bugs URLs still point toCap-go/capacitor-plus. If this package is truly migrating to the official@capacitor/*scope, these URLs should point toionic-team/capacitor. If this fork is meant to remain separate, clarify the intended package distribution strategy.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@ios/package.json` around lines 8 - 13, The repository and bugs URLs in package.json (the repository.url and bugs.url fields) still point to Cap-go/capacitor-plus while the package "name" is set to "@capacitor/ios"; update those fields to the correct upstream if this is migrating to the official scope (e.g., change repository.url to git+https://github.com/ionic-team/capacitor.git and bugs.url to https://github.com/ionic-team/capacitor/issues) or, if this fork is intentional, update the package "name" and README to clearly indicate the fork and keep repository.url and bugs.url pointing to Cap-go/capacitor-plus so package metadata consistently reflects the distribution strategy.
27-29:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winRemove
@capacitor-plus/corepeer dependency; keep only@capacitor/core.The dual listing includes
@capacitor-plus/core(line 28), which does not exist in this repository—the actual core package is named@capacitor/core(found incore/package.json). The sync-peer-dependencies script searches for a package named@capacitor-plus/core, which will fail since only@capacitor/coreexists. This creates a broken dependency configuration where consumers cannot install@capacitor-plus/coreand causes the peer dependency synchronization script to fail. Remove the non-existent@capacitor-plus/corereference and keep only@capacitor/core.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@ios/package.json` around lines 27 - 29, Remove the non-existent peer dependency entry "@capacitor-plus/core" from the package.json peerDependencies and leave only "@capacitor/core" (i.e., delete the "@capacitor-plus/core" key so peerDependencies contains just "@capacitor/core": "^8.3.0") to prevent the sync-peer-dependencies script from searching for a package that doesn't exist.
♻️ Duplicate comments (1)
core/package.json (1)
8-13:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRepository URLs inconsistent with package rename.
The package name has been changed to
@capacitor/core(line 2) with Ionic Team branding (lines 4-6), but the repository and bugs URLs still point toCap-go/capacitor-plus. This is the same inconsistency as inios/package.json. Confirm the intended publishing strategy and update URLs accordingly to point toionic-team/capacitorif this is a true migration, or maintain separate branding if this remains a fork.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@core/package.json` around lines 8 - 13, The repository and bugs URLs in package.json ("repository" and "bugs") are still pointing to Cap-go/capacitor-plus while the package name is changed to "@capacitor/core"; confirm the intended upstream (true migration to ionic-team/capacitor vs fork) and update the "repository.url" and "bugs.url" fields to the correct URLs (e.g., git+https://github.com/ionic-team/capacitor.git and https://github.com/ionic-team/capacitor/issues) or preserve Cap-go addresses if this remains a fork—also mirror the same change in ios/package.json to keep both manifests consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@android/package.json`:
- Around line 2-6: Update package.json to mark `@capacitor/core` as optional in
peerDependenciesMeta: add a peerDependenciesMeta entry for "@capacitor/core"
with "optional": true (while keeping the current peerDependencies that list both
"@capacitor-plus/core" and "@capacitor/core"), so npm will not require
installing `@capacitor/core`; modify the peerDependenciesMeta object (or create it
if missing) to reference the "@capacitor/core" key and set optional to true to
reflect the runtime fallback behavior used by the code that tries
`@capacitor-plus/core` first.
In `@CHANGELOG.md`:
- Around line 6-30: The CHANGELOG.md was manually edited in this PR but is
CI/CD-managed; revert the manual changes to CHANGELOG.md (undo the edits that
introduced overlapping 8.3.x content) so the file matches the autogenerated
state from the target branch, and remove it from the commit (or restore it using
the main branch version) so CI can regenerate it; ensure no further manual edits
to CHANGELOG.md are included in the branch before merging.
---
Outside diff comments:
In `@ios/package.json`:
- Around line 8-13: The repository and bugs URLs in package.json (the
repository.url and bugs.url fields) still point to Cap-go/capacitor-plus while
the package "name" is set to "@capacitor/ios"; update those fields to the
correct upstream if this is migrating to the official scope (e.g., change
repository.url to git+https://github.com/ionic-team/capacitor.git and bugs.url
to https://github.com/ionic-team/capacitor/issues) or, if this fork is
intentional, update the package "name" and README to clearly indicate the fork
and keep repository.url and bugs.url pointing to Cap-go/capacitor-plus so
package metadata consistently reflects the distribution strategy.
- Around line 27-29: Remove the non-existent peer dependency entry
"@capacitor-plus/core" from the package.json peerDependencies and leave only
"@capacitor/core" (i.e., delete the "@capacitor-plus/core" key so
peerDependencies contains just "@capacitor/core": "^8.3.0") to prevent the
sync-peer-dependencies script from searching for a package that doesn't exist.
---
Duplicate comments:
In `@core/package.json`:
- Around line 8-13: The repository and bugs URLs in package.json ("repository"
and "bugs") are still pointing to Cap-go/capacitor-plus while the package name
is changed to "@capacitor/core"; confirm the intended upstream (true migration
to ionic-team/capacitor vs fork) and update the "repository.url" and "bugs.url"
fields to the correct URLs (e.g.,
git+https://github.com/ionic-team/capacitor.git and
https://github.com/ionic-team/capacitor/issues) or preserve Cap-go addresses if
this remains a fork—also mirror the same change in ios/package.json to keep both
manifests consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e7730283-aa7d-4327-9ad0-d54dd3181533
📒 Files selected for processing (11)
CHANGELOG.mdandroid/CHANGELOG.mdandroid/package.jsoncli/CHANGELOG.mdcli/package.jsoncli/src/ios/update.tscli/src/ipc.tscore/CHANGELOG.mdcore/package.jsonios/CHANGELOG.mdios/package.json
| "name": "@capacitor/android", | ||
| "version": "8.3.4", | ||
| "description": "Capacitor+: Enhanced Capacitor with automated upstream sync - Cross-platform apps with JavaScript and the web", | ||
| "homepage": "https://capgo.app/docs/plugins/capacitor-plus/", | ||
| "author": "Capgo Team <support@capgo.app> (https://capgo.app)", | ||
| "description": "Capacitor: Cross-platform apps with JavaScript and the web", | ||
| "homepage": "https://capacitorjs.com", | ||
| "author": "Ionic Team <hi@ionic.io> (https://ionic.io)", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify whether both peers are currently mandatory and whether optional metadata exists.
jq '.name, .peerDependencies, .peerDependenciesMeta' android/package.json
# Check how widespread this dual-peer pattern is.
rg -n --iglob '**/package.json' '"@capacitor-plus/core"|peerDependenciesMeta'Repository: Cap-go/capacitor-plus
Length of output: 281
🏁 Script executed:
# Check for any documentation or comments explaining the dual-peer dependency
find . -name "README*" -o -name "CHANGELOG*" | head -5 | xargs -I {} sh -c 'echo "=== {} ===" && cat {} | head -30'Repository: Cap-go/capacitor-plus
Length of output: 10129
🏁 Script executed:
# Check git history or comments around the peerDependencies
git log --oneline -n 20 -- android/package.json 2>/dev/null || echo "Git history unavailable"Repository: Cap-go/capacitor-plus
Length of output: 140
🏁 Script executed:
# Search for any references or explanations about `@capacitor-plus/core` in the codebase
rg -i "capacitor-plus/core" --type md --type js --type ts -B2 -A2 | head -50Repository: Cap-go/capacitor-plus
Length of output: 2830
Mark @capacitor/core as optional in peerDependencies.
The dual peer dependency exists to support fallback compatibility (code tries @capacitor-plus/core first, then @capacitor/core), but declaring both as required forces npm to resolve and install both packages, creating unnecessary constraints. Mark @capacitor/core as optional in peerDependenciesMeta to reflect the actual runtime fallback behavior.
Suggested fix
"peerDependencies": {
"@capacitor-plus/core": "^8.3.0",
"@capacitor/core": "^8.3.0"
},
+ "peerDependenciesMeta": {
+ "@capacitor/core": {
+ "optional": true
+ }
+ },🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@android/package.json` around lines 2 - 6, Update package.json to mark
`@capacitor/core` as optional in peerDependenciesMeta: add a peerDependenciesMeta
entry for "@capacitor/core" with "optional": true (while keeping the current
peerDependencies that list both "@capacitor-plus/core" and "@capacitor/core"),
so npm will not require installing `@capacitor/core`; modify the
peerDependenciesMeta object (or create it if missing) to reference the
"@capacitor/core" key and set optional to true to reflect the runtime fallback
behavior used by the code that tries `@capacitor-plus/core` first.
| ## [8.3.4](https://github.com/ionic-team/capacitor/compare/8.3.3...8.3.4) (2026-05-12) | ||
|
|
||
| **Note:** Version bump only for package capacitor | ||
|
|
||
| ## [8.3.3](https://github.com/ionic-team/capacitor/compare/8.3.2...8.3.3) (2026-05-08) | ||
|
|
||
| ### Bug Fixes | ||
|
|
||
| - **cli:** copy plugin files in CocoaPods projects ([#8467](https://github.com/ionic-team/capacitor/issues/8467)) ([b2d7719](https://github.com/ionic-team/capacitor/commit/b2d771926a180e60deea31992d7d4abcd5ca3bc7)) | ||
|
|
||
| ## [8.3.2](https://github.com/ionic-team/capacitor/compare/8.3.1...8.3.2) (2026-05-07) | ||
|
|
||
| ### Bug Fixes | ||
|
|
||
| - **cli:** add cSettings support for compiler flags in generated Package.swift ([#8448](https://github.com/ionic-team/capacitor/issues/8448)) ([0bd0676](https://github.com/ionic-team/capacitor/commit/0bd0676315c5fd77e50312dd7b5bf4990dcbd7d0)) | ||
| - **cli:** add system framework and weak framework support in SPM Package.swift ([#8447](https://github.com/ionic-team/capacitor/issues/8447)) ([3232f0f](https://github.com/ionic-team/capacitor/commit/3232f0fe1d9811b0b5c500e3dc05cb8a250177f8)) | ||
| - **cli:** correct Capacitor plugin SPM compat check ([#8440](https://github.com/ionic-team/capacitor/issues/8440)) ([e5ccc45](https://github.com/ionic-team/capacitor/commit/e5ccc451dda27d56bca824ed644bd20fe4d988cb)) | ||
| - **cli:** generate binaryTarget entries for custom xcframeworks in Package.swift ([#8445](https://github.com/ionic-team/capacitor/issues/8445)) ([1f7e33f](https://github.com/ionic-team/capacitor/commit/1f7e33fca43d183332ec19d22b0d75ef81d8cc6d)) | ||
| - **cli:** generate resource entries in Package.swift ([#8455](https://github.com/ionic-team/capacitor/issues/8455)) ([790bd27](https://github.com/ionic-team/capacitor/commit/790bd27123497111984227010c3162cec94a108e)) | ||
| - **cli:** handle Cordova plugins without iOS source files ([#8443](https://github.com/ionic-team/capacitor/issues/8443)) ([0da130e](https://github.com/ionic-team/capacitor/commit/0da130eb7a861bee4e2c35bc0aac53ba9c983fc3)) | ||
| - **cli:** link plugin dependencies in Package.swift ([#8457](https://github.com/ionic-team/capacitor/issues/8457)) ([b3c769e](https://github.com/ionic-team/capacitor/commit/b3c769e856c826b1174518877cf86ac7ce73bf09)) | ||
| - **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf)) | ||
| - **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4)) | ||
|
|
||
| ## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16) |
There was a problem hiding this comment.
Revert manual changelog edits and let CI regenerate.
This file was manually altered (including overlapping 8.3.x release content), but this repository treats CHANGELOG.md as CI/CD-managed output, so these edits should not be merged from this PR branch.
As per coding guidelines, "Do not manually edit CHANGELOG.md; it is managed automatically by CI/CD".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` around lines 6 - 30, The CHANGELOG.md was manually edited in
this PR but is CI/CD-managed; revert the manual changes to CHANGELOG.md (undo
the edits that introduced overlapping 8.3.x content) so the file matches the
autogenerated state from the target branch, and remove it from the commit (or
restore it using the main branch version) so CI can regenerate it; ensure no
further manual edits to CHANGELOG.md are included in the branch before merging.
Merge Conflict Resolution Required
The automatic sync of the
plusbranch with upstream main encountered merge conflicts.What happened
Action needed: Review the branch and resolve any remaining concerns before merging.
This PR was created automatically by the Capacitor+ sync workflow
Summary by CodeRabbit
Chores
Bug Fixes
Documentation