Skip to content

Docs: Updating Astro/Starlight, PageFind, Sidebar Enhancements#698

Merged
KetanReddy merged 17 commits intomainfrom
docs/upgrading-starlight
Jul 31, 2025
Merged

Docs: Updating Astro/Starlight, PageFind, Sidebar Enhancements#698
KetanReddy merged 17 commits intomainfrom
docs/upgrading-starlight

Conversation

@kharrop
Copy link
Copy Markdown
Member

@kharrop kharrop commented Jul 30, 2025

Change Type (required)

Indicate the type of change your pull request is:

  • patch
  • minor
  • major
  • N/A

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

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.

@kharrop kharrop requested a review from a team as a code owner July 30, 2025 15:07
@codecov
Copy link
Copy Markdown

codecov Bot commented Jul 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.13%. Comparing base (0bd0ae2) to head (56e9c6f).
⚠️ Report is 2 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread docs/site/package.json Outdated
Comment thread docs/site/astro.config.mjs Outdated
@kharrop kharrop added the patch Increment the patch version when merged label Jul 31, 2025
@KetanReddy KetanReddy merged commit 27911fe into main Jul 31, 2025
12 checks passed
@KetanReddy KetanReddy deleted the docs/upgrading-starlight branch July 31, 2025 17:16
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.
:::
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.

@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

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Thanks for flagging! Redirect fixed + content restored here: #707

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

Labels

patch Increment the patch version when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants