Skip to content

Migrate builder-cap2UI5 out of the cap2UI5 monorepo#1

Merged
oblomov-dev merged 3 commits into
mainfrom
claude/cap2ui5-subproject-migration-jq61r3
Jul 13, 2026
Merged

Migrate builder-cap2UI5 out of the cap2UI5 monorepo#1
oblomov-dev merged 3 commits into
mainfrom
claude/cap2ui5-subproject-migration-jq61r3

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Part of the cap2UI5 monorepo split: this repo now hosts the CAP app build project (hand-written app source in src/ + assemble/publish scripts), moved from cap2UI5/cap2UI5:builder-cap2UI5/ and adapted to the standalone world.

Changes on top of the plain move

  • New scripts/mirror-core.js — snapshots the published core package from cap2UI5/builder-abap2UI5-js into run/input/core (committed, with UPSTREAM_COMMIT, same convention as the other mirrors; MIRROR_SOURCE for local checkouts).
  • Core is now vendored into the appassemble-cap.js copies the mirrored core into the app at core/ and rewrites the dependency to "abap2UI5": "file:./core", so the published app repo is fully self-contained. Because the vendored core sits inside the app's package root, npm manages its deps as part of the app tree: the core's lock entries are merged into the app lock under core/node_modules/ — deterministic, offline, and one npm ci installs everything.
  • publish-cap.js publishes into a checkout of cap2UI5/cap2UI5 (sibling dir or PUBLISH_TARGET), preserving that repo's .git/.github/node_modules.
  • Workflowsupdate_cap (push incl. UPSTREAM_HEAD triggers from builder-abap2UI5-js, nightly 06:00, dispatch): mirror → assemble → app jest suite → publish to cap2UI5/cap2UI5 via deploy key (secret ACTION_KEY_APP, skipped when unset); test runs the same assemble + jest gate on PRs.
  • src/ — dependency now file:../run/input/core; ships the app's README, devcontainer and AGENTS.md (published targets are wiped on publish, so guidance files come from here).

Verification

  • mirror (local checkout) → assemble → npm cinpm test: green (2 suites, 11 tests)
  • assemble output verified deterministic (byte-identical lock on rebuild)

Companion PRs: cap2UI5/builder-abap2UI5-js, cap2UI5/cap2UI5, cap2UI5/builder-cap2UI5-web, cap2UI5/web-cap2UI5-build, cap2UI5/docs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ScZqNHaaKSyyd5kYTAXyFR


Generated by Claude Code

claude added 3 commits July 13, 2026 14:17
Move the CAP app build project (src/ + assemble/publish scripts) from
cap2UI5/cap2UI5:builder-cap2UI5/ into this standalone repository and adapt
it to the split:

- new scripts/mirror-core.js snapshots the published core package from
  cap2UI5/builder-abap2UI5-js into run/input/core (committed, with
  UPSTREAM_COMMIT — same convention as the other mirrors)
- assemble-cap.js now vendors the mirrored core INTO the app (core/,
  linked as file:./core instead of file:../builder-abap2UI5-js/core), so
  the published app repo is fully self-contained; the core's lock entries
  are merged into the app lock under core/node_modules/ (npm manages the
  vendored package as part of the app tree)
- publish-cap.js publishes into a checkout of cap2UI5/cap2UI5 (sibling
  directory or PUBLISH_TARGET), preserving that repo's .git/.github
- workflows: update_cap (push/nightly/dispatch) mirrors the core, builds,
  runs the app's jest suite and publishes to cap2UI5/cap2UI5 via deploy
  key (secret ACTION_KEY_APP, skipped when unset); test runs the same
  assemble + jest gate on PRs; UPSTREAM_HEAD receives the triggers from
  builder-abap2UI5-js:trigger_cap
- src/: dependency now file:../run/input/core, README/badges updated to
  the three-repo layout

Verified locally: mirror_core (local checkout) → assemble → npm ci →
npm test all green (2 suites, 11 tests); assemble output is deterministic.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ScZqNHaaKSyyd5kYTAXyFR
The published app repo is wiped on every publish (only .git/.github
survive), so the devcontainer must come from the builder source.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ScZqNHaaKSyyd5kYTAXyFR
The app-repo variant ships from src/ (published targets are wiped on every
publish, so guidance files must come from the builder source).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ScZqNHaaKSyyd5kYTAXyFR
@oblomov-dev oblomov-dev merged commit 33c9077 into main Jul 13, 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