Skip to content

Declare Player as a peer dependency and adopt Player 1.0 tooling scopes - #19

Merged
sugarmanz merged 3 commits into
mainfrom
feat/player-0.15-peer-deps-tooling-migration
Jul 27, 2026
Merged

Declare Player as a peer dependency and adopt Player 1.0 tooling scopes#19
sugarmanz merged 3 commits into
mainfrom
feat/player-0.15-peer-deps-tooling-migration

Conversation

@sugarmanz

@sugarmanz sugarmanz commented Jul 25, 2026

Copy link
Copy Markdown
Member

Converts the base devtools plugins (@player-devtools/plugin, plugin-react, types) to declare @player-ui/* as open-ended peer dependencies (>=0.15.4) instead of pinned runtime dependencies, so consumers own the Player version. Aligns all @player-ui/* to >=0.15.4, migrates the deprecated @player-tools/* tooling to the new @player-cli / @player-lang / @xlr-lib scopes, bumps @devtools-ui/plugin to 0.4.1, and bumps rules_player to v2.5.0 (for the parameterized DSL cli / dsl_package, and its Kotlin ABI-check tooling).

Change Type

  • patch
  • minor
  • major

Peer-dep conversion changes install requirements for consumers; no breaking change to the devtools API surface.

Verification

  • JS/TS: all vitest / eslint / typecheck suites pass; emitted peerDependencies: >=0.15.4 confirmed on the base plugins (no runtime @player-ui/* dependency)
  • JVM: unit tests, lint, and Kotlin ABI checks pass; golden .api baselines added for the JVM + Android libraries (previously unbaselined)
  • Android: plugin/basic/profiler libraries build; unit test + lint pass (Maven 0.15.4)
  • iOS: all Swift libraries compile (SPM resolves 0.15.5 within from: 0.15.4); the build-ios-trunk CI job passes
  • No @player-tools/* remain anywhere in the lockfile
  • Full local suite green (98/98) and all 8 CI checks pass

Notes

  • @devtools-ui/plugin@0.4.1 is the stable release carrying the same 0.15 DSL migration (@player-lang/react-dsl), so no @player-tools/* peers are pulled in.

Release Notes

  • The devtools plugins now declare @player-ui/* as peer dependencies (>=0.15.4). Consumers must provide a compatible @player-ui/player (plus react/types) — any version from 0.15.4 onward, including 1.x, satisfies it.
  • Build tooling migrated off the deprecated @player-tools/* scope to @player-cli, @player-lang, and @xlr-lib.

Convert the base plugins (@player-devtools/plugin, plugin-react, types)
to declare @player-ui/* as open-ended peer dependencies (>=0.15.4)
instead of pinned runtime dependencies, so consumers control the Player
version. Align all @player-ui/* to >=0.15.4, migrate the deprecated
@player-tools/* tooling to the new @player-cli / @player-lang / @xlr-lib
scopes, and bump @devtools-ui/plugin to the 0.15 canary. Bump
rules_player to v2.5.0 for parameterized DSL cli/dsl_package.
@sugarmanz
sugarmanz requested a review from a team as a code owner July 25, 2026 01:37
@sugarmanz

Copy link
Copy Markdown
Member Author

/canary

The rules_player v2.5.0 bump activates kt ABI-check test targets that
compare each library's public ABI against a checked-in golden .api file.
None existed, so plugin-abi-check failed in CI. Generate the golden
baselines via the -abi-update targets (messenger, plugin, basic,
profiler; JVM + Android). Android dumps are empty — those libraries
expose no public Kotlin ABI.
The 0.15 migration canary (0.4.1--canary.62.3837) has been promoted to
the stable 0.4.1 release. Re-pin off the canary now that it exists as a
real release.

@KVSRoyal KVSRoyal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm! Good job remembering to update both Package.swift files. That slips by undetected a lot of the time. Appreciate it

@sugarmanz
sugarmanz merged commit 2252c75 into main Jul 27, 2026
8 checks passed
@sugarmanz
sugarmanz deleted the feat/player-0.15-peer-deps-tooling-migration branch July 27, 2026 22:34
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.

2 participants