Skip to content

Overview: library per control; strip the source-map comment from the vendored libraries - #15

Merged
oblomov-dev merged 2 commits into
mainfrom
claude/custom-controls-batches-libraries-vqtvpj
Aug 10, 2026
Merged

oblomov-dev merged 2 commits into
mainfrom
claude/custom-controls-batches-libraries-vqtvpj

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Two independent commits.

1. Strip the source-map comment from the vendored libraries

Six of the vendored bundles ended in //# sourceMappingURL=<name>.map. The .map files are developer tooling and are not vendored, so on the local branch that pointer resolves to a BSP page that does not exist: any browser with devtools open requests it and gets a 404 next to a custom control — the exact symptom someone would spend an afternoon chasing on an offline system. The pointer is now dropped when vendoring, and a check afterwards fails the build if a library spells one some other way. Nothing is lost — without a map the debugger shows the shipped file.

This came out of an audit of what the local branch still reaches for. The rest came back clean, and the README now records it:

Checked Result
ABAP sources an SVG xmlns (a namespace, not a fetch), a Markdown demo link, the barcode example text
samples none of them passes a URL of its own
app/webapp/cc/*.js no URL left — all of them go through LibUrls
index.html no external references
vendored CSS no @import, no url() beyond the inlined fonts
vendored JS the http hits are banner comments and marked's autolink prefix, not load addresses
runtime none of the libraries opens an XHR, a fetch, a worker or a script tag

The one thing that genuinely remains external lives outside this repository and is now named in the README: abap2UI5 bootstraps UI5 from https://sdk.openui5.org/... unless cs_config-src points at a local distribution. That is also where sap.ui.export and sap.ui.codeeditor come from.

2. Overview: a Library column, and one row per demo

z2ui5_cl_cci_sample_00 gains a Library column, because the question it could not answer was the one that decides whether a control works on a given system: what does it pull in from outside. Three kinds of answer — none for the self-contained controls, … from UI5 for what the distribution already carries, and the library's name for the rest (jsDelivr on main, this BSP on local). Deliberately without version numbers: those are pinned in package.json and would rot in ABAP on the next bump with nothing to catch it.

The CodeEditor row is gone. It launched Z2UI5_CL_CCI_SAMPLE_10 — the same app the Markdown row launches — because CodeEditor has no demo of its own; it is the editor on the left of the Markdown one. The list is one row per demo now, which is what the buttons actually do. The control itself is untouched and still documented in the README.

Column widths were retuned for the fifth column (fixed columns now add up to 49rem, description stays flexible, Library folds into the popin from tablet down).

Verified

npm run lint 0 issues (69 files), npm test 9/9, app2bsp and vendor in sync, local build rebuilt and free of sourceMappingURL, all vendored JS still passes node --check.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJz2xJiGdXe7fGyVrtFFzA


Generated by Claude Code

claude added 2 commits August 10, 2026 18:42
Six of the vendored bundles end in `//# sourceMappingURL=<name>.map`. The .map
files are developer tooling and are not vendored, so on the `local` branch that
pointer resolves to a BSP page that does not exist: any browser with devtools
open requests it and gets a 404 next to a custom control - the exact symptom
someone would spend an afternoon chasing on an offline system.

The pointer is dropped when vendoring, and a check afterwards fails the build
if a library spells one some other way. Nothing is lost: without a map the
debugger shows the shipped file.

Found while auditing what the local branch still reaches for. The rest came
back clean - the libraries carry no absolute URL they load from, the
stylesheets have no @import and no url() beyond the inlined fonts, and none of
them opens an XHR, a fetch or a script tag. The README now says so, and also
names the one thing that is genuinely still external and lives outside this
repository: the UI5 bootstrap, which abap2UI5 takes from sdk.openui5.org unless
cs_config-src points somewhere local.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJz2xJiGdXe7fGyVrtFFzA
Two changes to z2ui5_cl_cci_sample_00.

A `Library` column, because the question the overview could not answer was the
one that decides whether a control works at all on a given system: what does it
pull in from outside. Three kinds of answer - `none` for the self-contained
controls, `... from UI5` for what the UI5 distribution already carries, and the
library's name for the rest, which is loaded from jsDelivr on `main` and from
this BSP on the `local` branch. Without version numbers on purpose: they are
pinned in package.json and would rot here on the next bump with nothing to
catch it.

And the CodeEditor row is gone. It launched Z2UI5_CL_CCI_SAMPLE_10, the very
same app the Markdown row launches, because CodeEditor has no demo of its own -
it is the editor on the left of the Markdown one. The list is one row per demo
now, which is what the buttons actually do. The control itself is untouched and
still documented in the README.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJz2xJiGdXe7fGyVrtFFzA
Copilot AI lite review requested due to automatic review settings August 10, 2026 18:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@oblomov-dev
oblomov-dev merged commit 4dbf418 into main Aug 10, 2026
4 checks passed
@oblomov-dev
oblomov-dev deleted the claude/custom-controls-batches-libraries-vqtvpj branch August 10, 2026 18:49
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.

3 participants