Skip to content

fix: ship html5-module build scaffolding for app/z2ui5 - #9

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/html5-module-build-scaffolding
Jul 21, 2026
Merged

fix: ship html5-module build scaffolding for app/z2ui5#9
oblomov-dev merged 1 commit into
mainfrom
claude/html5-module-build-scaffolding

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Problem

The published app's mta.yaml declares the html5 module abap2UI5 (path app/z2ui5) with build commands npm install && npm run build:cf, but app/z2ui5 shipped only a webapp/ folder — no package.json and no build:cf script. Every mbt build (the cap2UI5 deploy-check gate) therefore died with:

npm error Missing script: "build:cf"
ERROR could not build the "abap2UI5" module ... exit status 1

i.e. the generated app was not CF-deployable, and cap2UI5's project status was red.

Fix

Add the missing html5-module scaffolding as siblings of webapp/ in src/app/z2ui5/. assemble-cap.js copies src/ verbatim and overlays only app/z2ui5/webapp, so these files survive:

  • package.json@ui5/cli devDep + build:cf (ui5 builddist, then copies xs-app.json into dist so the HTML5-repo content is complete)
  • ui5.yaml — UI5 tooling config (type: application; the UI5 runtime is loaded at request time from the ui5 destination, so the build only bundles the app's own Component-preload)
  • xs-app.json — managed-approuter routing: /resources + /test-resources → the ui5 destination, everything else → the html5-apps-repo runtime

Verification

Verified end-to-end against the real core mirror (run/input/core):

  • assemble keeps the scaffolding beside the overlaid webapp/
  • npm install && npm run build:cf on the assembled output produces a complete dist/ (Component-preload.js, manifest.json, index.html, xs-app.json)
  • Builder jest suite: 12/12 pass (adds a regression test asserting the scaffolding survives the webapp overlay)

Downstream effect

On merge to main, update_cap assembles and publishes the now-complete app/z2ui5 into cap2UI5/cap2UI5, making the app CF-deployable and turning its deploy-check green.

🤖 Generated with Claude Code


Generated by Claude Code

The published app's mta.yaml declares the html5 module `abap2UI5`
(path app/z2ui5) with build commands `npm install && npm run build:cf`,
but app/z2ui5 shipped only a webapp/ folder — no package.json and no
build:cf script. Every `mbt build` (the cap2UI5 deploy-check gate) died
with `npm error Missing script: "build:cf"`, so the app was not
CF-deployable.

Add the missing scaffolding as siblings of webapp/ in src/app/z2ui5/
(assemble copies src/ verbatim and overlays only app/z2ui5/webapp, so
these survive):
- package.json  — @ui5/cli devDep + `build:cf` (ui5 build → dist, then
  copies xs-app.json into dist so the HTML5-repo content is complete)
- ui5.yaml      — UI5 tooling config (type: application; the UI5 runtime
  is loaded at request time from the `ui5` destination, so the build
  only bundles the app's own Component-preload)
- xs-app.json   — managed-approuter routing: /resources + /test-resources
  to the ui5 destination, everything else to the html5-apps-repo runtime

Verified end-to-end against the real core mirror: assemble keeps the
scaffolding beside the overlaid webapp, and `npm install && npm run
build:cf` produces a complete dist/ (Component-preload.js, manifest.json,
index.html, xs-app.json).

Add a regression test asserting the scaffolding survives the webapp
overlay.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hv64RwyNgeCDHqvUDrst7u
@oblomov-dev
oblomov-dev merged commit 3de6866 into main Jul 21, 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