Skip to content

Build shared browser UI as an npm project - #34

Merged
storytellerF merged 1 commit into
storytellerF:mainfrom
AgentStart1:codex/npm-web-project
Oct 3, 2026
Merged

storytellerF merged 1 commit into
storytellerF:mainfrom
AgentStart1:codex/npm-web-project

Conversation

@AgentStart1

Copy link
Copy Markdown
Contributor

The shared browser UI previously shipped manually vendored dependencies, so dependency upgrades required copying assets into Android resources. Move it into an independent npm project under web/ and build its distribution automatically for every Android variant.

  • Manage Markdown, icons, and build/test tools through package.json and package-lock.json; enable weekly Dependabot npm updates.
  • Bundle JS/CSS with esbuild, copy HTML and referenced icons, and generate third-party license notices from bundled packages.
  • Register generated Java resources through the AGP variant API so Gradle installs locked dependencies and packages the web distribution into APKs.
  • Configure Node.js 24 in test/release workflows, run browser tests against the built distribution, and verify APK resources against that distribution. No CI locking was added.
  • Document the npm workflow and Node.js 24 build prerequisite.

Validation:

  • 12 web tests and the Chromium browser regression suite passed.
  • 63 JVM tests passed, including real Ktor route and generated-resource checks.
  • Debug, Alpha, and Release builds passed; Alpha/Release ran R8. Earlier combined runs lost the Gradle daemon; separate retries completed successfully.
  • All 15 APKs contain the expected 16 web resources, matching the npm distribution byte-for-byte.
  • Android device runtime testing was not performed for this change.

@storytellerF
storytellerF merged commit 0d9a83c into storytellerF:main Oct 3, 2026
1 check passed
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