Skip to content

fix: avoid installing Ionic for transitive non-Ionic consumers - #11

Merged
rdlabo merged 2 commits into
mainfrom
fix/optional-ionic-peer
Oct 20, 2026
Merged

rdlabo merged 2 commits into
mainfrom
fix/optional-ionic-peer

Conversation

@rdlabo

@rdlabo rdlabo commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Plain HTML consumers of @rdlabo/capacitor-native-ui/core install Ionic, Stencil and ionicons because the required utils dependency declares Ionic as a non-optional peer.

Mark the Ionic peer optional while retaining its supported version range. Ionic consumers must continue providing Ionic; CLI and non-Ionic consumers no longer acquire it transitively. Document this boundary and add one packed-package installation regression test to the existing CLI test suite.

Related: rdlabo-dev/ionic-theme-ios27#306

Validation

  • New regression test fails before the fix and passes afterward.
  • CLI tests: 10 passed; unit tests: 16 passed.
  • Build, packed ESM verification, formatting and lint passed.
  • Actual packed Native UI consumer: baseline installs Ionic/Stencil/ionicons; overriding utils with the patched local archive installs none of them, and /core imports successfully.
  • Installing Ionic explicitly in that consumer preserves Native UI adapter and shared popover animation imports.

After a utils release, update the pinned dependency in Native UI, the iOS 27 theme, and the monorepo root development dependencies, together with their lockfiles. The theme still requires Ionic for its own functionality. This upstream fix alone does not resolve the issue for published Native UI consumers.

@rdlabo
rdlabo merged commit 63dab02 into main Oct 20, 2026
5 of 7 checks passed
@github-actions

Copy link
Copy Markdown

npm beta published

CI passed for the merge commit 63dab021b477. Install the immutable version with:

npm install @rdlabo/ionic-theme-utils@0.1.4-beta.pr11.sha63dab021b477

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant