Docs: Updating Astro/Starlight, PageFind, Sidebar Enhancements#698
Merged
KetanReddy merged 17 commits intomainfrom Jul 31, 2025
Merged
Docs: Updating Astro/Starlight, PageFind, Sidebar Enhancements#698KetanReddy merged 17 commits intomainfrom
KetanReddy merged 17 commits intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #698 +/- ##
=======================================
Coverage 90.12% 90.13%
=======================================
Files 333 333
Lines 21131 21131
Branches 2109 2109
=======================================
+ Hits 19045 19046 +1
+ Misses 2068 2067 -1
Partials 18 18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…upgrading-starlight
…upgrading-starlight
KetanReddy
reviewed
Jul 30, 2025
KetanReddy
reviewed
Jul 30, 2025
KetanReddy
approved these changes
Jul 31, 2025
sugarmanz
reviewed
Aug 25, 2025
Comment on lines
-230
to
-264
| #### JS Runtime | ||
|
|
||
| As the core Player is written in TypeScript, we need a JVM compatible JavaScript runtime to power a JVM based Player. There are several options to choose from, however, deciding on a specific runtime implementation is difficult to do at the library layer. Different use cases may demand different trade-offs regarding supporting multiple platforms, size, and speed. Thus, the base JVM Player implementation was done with a custom runtime abstraction, powered by [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization), to enable consumers to choose the runtime based on their needs. | ||
|
|
||
| To support a specific runtime implementation, there needs to be code connecting the runtime constructs to the Player runtime abstraction. The Player project has implemented this layer for several runtimes, described below. It is possible to define your own, but the abstraction definition is not yet final, and therefore not appropriately documented. You can take inspiration from the existing implementations, or file an issue for a runtime you wish to see supported by our team. | ||
|
|
||
| | Runtimes | Platforms | | ||
| | --------------------------------------------- | --------------------------- | | ||
| | [J2V8](https://github.com/eclipsesource/J2V8) | `android`, `linux`, `macos` | | ||
| | [Hermes](https://github.com/facebook/hermes) | `android` | | ||
| | [GraalJS](https://github.com/oracle/graaljs) | `linux`, `macos`, `win` | | ||
|
|
||
| :::note | ||
| Each of the artifacts for the above are defined as `com.intuit.playerui:$runtime-$platform`, i.e. `com.intuit.playerui:j2v8-android` | ||
| ::: | ||
|
|
||
| The `HeadlessPlayer` does not define a hard dependency on any specific runtime, however, the `AndroidPlayer` does transitively depends on the `j2v8` runtime, as the first class approach. To override, the transitive dependency would need to be explicitly excluded and the actual runtime dependency would need to be added: | ||
|
|
||
| ```kotlin | ||
| dependencies { | ||
| // Android Player dependency | ||
| implementation("com.intuit.playerui", "android", PLAYER_VERSION) { | ||
| // J2V8 included for release versions | ||
| exclude(group = "com.intuit.playerui", module = "j2v8-android") | ||
| // Debuggable J2V8 included for canary versions | ||
| exclude(group = "com.intuit.playerui", module = "j2v8-android-debug") | ||
| } | ||
| // Override with Hermes runtime for example | ||
| implementation("com.intuit.playerui", "hermes-android", PLAYER_VERSION) | ||
| } | ||
| ``` | ||
|
|
||
| :::caution | ||
| If your application includes dependencies that may transitively depend on `com.intuit.playerui:android`, you would likely need to ensure the default runtime is transitively excluded from those as well, either manually or as a global strategy. | ||
| ::: |
Member
There was a problem hiding this comment.
@kharrop where did all this content go? I've been actively linking out to this content for months — we need to setup a redirect or something.
https://player-ui.github.io/latest/guides/getting-started/#js-runtime/?lang=android
Member
Author
There was a problem hiding this comment.
Thanks for flagging! Redirect fixed + content restored here: #707
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change Type (required)
Indicate the type of change your pull request is:
patchminormajorN/ADoes your PR have any documentation updates?
Release Notes
Updating Astro and Starlight to support linkable headers and other features, updating pagefind to support search enhancements, and updated sidebar navigation to simplify logic and highlight getting started.