Drop 16 MB of unused binaries from the published site, and fix the linter command - #154
Merged
Merged
Conversation
docs/public/ is copied into dist/ verbatim, so everything under it is on the public site whether a page links it or not. Four presentation source files were: Präsentation1.key, diagram_old.key, logo.pptx and logo/logo_pp.key. Nothing in docs/ references any of them - they are the sources somebody exported a diagram from once, shipped to every visitor ever since. docs/public drops from 25 MB to 8.7 MB. media/diagram.md goes with them. It is markdown under public/, so VitePress never routed it - the only way to read it was to guess the raw URL - and it was checked in through a deliberate .gitignore exception. The content is authoring scratch: four Excalidraw share links (editable by anyone holding them) and an image hosted under abap2UI5/ abap2UI5-documentation, a repository that no longer exists. There is no page it belongs to and no reader it serves, so it is deleted rather than rehomed, and the .gitignore exception that carried it goes too. Co-Authored-By: Claude <noreply@anthropic.com>
Three repository names in the pages were renamed away and nothing followed them: abap2UI5-web is now abap2UI5/web-abap2UI5 (the downport, transpile and webpack tooling), and web-abap2ui5-samples is now abap2UI5/web-abap2UI5-build, the deployed artefact that GitHub Pages serves. The one reader-facing link among them - "run the samples in your browser" on What's Next - was therefore a 404, which is the worst place for one: it is the escape hatch for somebody who has no system to install on. Also give the demo the place it never had. Quickstart is where a reader without a system arrives, and it opened by telling them to install abapGit. It now opens with the live demo instead: the whole stack - framework, backend, samples - transpiled into the browser tab against an in-memory database, rebuilt daily from main. Co-Authored-By: Claude <noreply@anthropic.com>
`npx abap2ui5lint src` stood under the words "no install". Without an install there is nothing named `abap2ui5lint` to run: that is the bin this package installs, the package itself is `@abap2ui5/linter`, and npx given a bare name fetches whatever is registered under it - somebody else's package, run against the reader's source, on the page that told them it was safe to do so. Both remaining npx lines (`--fix`, `--update-baseline`) had the same shape and get the same correction, and a note now says why the command name and the package name differ, since the config file, the baseline and the in-source waivers all keep the bin name. The prose called it "abap2UI5-linter", which is neither the repository (abap2UI5/linter) nor the package. Settled on "abap2UI5 linter" for prose across all six pages, the sidebar entry and the dependabot comments; `@abap2ui5/linter` stays the package, abap2UI5/linter the repository link. Co-Authored-By: Claude <noreply@anthropic.com>
…ount Two things in config.mjs that an edit could get wrong. `Contribution` and `Sponsor` were byte-identical in themeConfig.nav and in themeConfig.sidebar, so a replace-first edit hit whichever came first and looked like it had worked. AGENTS.md documented the trap and told you to verify against the built config, which is a warning where a fix fits: the four lines now carry a `// nav` or `// sidebar` marker and each is unique. AGENTS.md says to match on the marker instead. The comment over the Sample Catalogues entry claimed "615 working apps in three repositories". resources/samples.md says 614 - 152 + 430 + 32 - and check:counts verifies those four figures against the catalogues on every run. The comment was the one copy nothing checked, and it was already wrong. It no longer carries a figure, and says where the checked ones live. Co-Authored-By: Claude <noreply@anthropic.com>
docs/configuration/troubleshooting.md carried the H1 "Debugging" and was linked from the sidebar as "Debugging" - only the file name said troubleshooting, and it said it next to a real troubleshooting page, cookbook/troubleshooting/common_failures. Two names for one page is a guess every time somebody looks for it; three when one of them belongs to something else. The file is now debugging.md and all three agree. Two links pointed at the old path - the sidebar entry and the Developer Tools link on common_failures - and both follow. The published URL moves from /configuration/troubleshooting to /configuration/debugging; nothing in the organisation links the old one. Co-Authored-By: Claude <noreply@anthropic.com>
README.md and AGENTS.md both carried a table of the six checks and both explained the three generated llms artefacts, in near-identical wording. Two copies of a description that is already load-bearing means the next change to a check lands in one of them, and the reader who happens to open the other gets a confident wrong answer. AGENTS.md keeps the long form - it is the file an agent is required to read, and the check descriptions sit next to the skip behaviour of check:samples and check:counts, which is what an agent gets wrong. README now names all six in a sentence, says what a green run means, and points at AGENTS.md for the detail. It still stands on its own for an outside contributor: what the repository is, how to start it, and roughly what CI will hold them to. Co-Authored-By: Claude <noreply@anthropic.com>
The previous commit renamed configuration/troubleshooting.md to debugging.md so that the file name, the H1 and the sidebar entry finally agree. That is right for the page, but the old URL has been published since 2023 and is linked from outside this organisation - blog posts, SAP Community answers, bookmarks - where nobody can fix it. Renaming a public documentation page without leaving something behind turns those links into 404s for a cosmetic gain. VitePress has no redirect mechanism, and files under public/ are copied into the build verbatim, so the redirect is a hand-written page rather than a config entry. Verified in the build output: dist/configuration/ now carries both debugging.html and troubleshooting.html. Co-Authored-By: Claude <noreply@anthropic.com>
Two files in this ecosystem are called llms.txt: this one, generated from the documentation, and the one in the framework repository that maps the source - the src/ layering, the public API, where each concept is implemented. They serve different readers on purpose, and the framework's copy already says so and links here. The link only went one way. An agent that found the documentation first - which is the likelier direction, since llms.txt is a web convention and this is the copy served from a site - had no way to learn the other half exists, and the two same-named files read as a mistake rather than a pair. Co-Authored-By: Claude <noreply@anthropic.com>
The LICENSE named 2023 alone, which stops being true every January. It now follows abap2UI5's own form, which keeps the true first year and does not need an annual edit nobody remembers to make. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of an ecosystem-wide audit of the abap2UI5 and cap2UI5 repositories.
docs/public/is copied verbatim into the build, so four presentation sources were downloadable from the live site on every deploy, linked from nothing:Präsentation1.key(4.5 MB),diagram_old.key(7.4 MB),logo.pptx(3.3 MB),logo/logo_pp.key. Verified unreferenced by grep first.docs/publicwent from 25 MB to 8.7 MB.diagram.mdwent with them — markdown underpublic/is never routed by VitePress, so it was unreachable except by guessing the raw URL, and its content was authoring scratch (Excalidraw share links, published to every visitor) plus an image from the renamedabap2UI5-documentation.npx abap2ui5lint srcunder the words "no install" resolves a package literally namedabap2ui5lint.abap2ui5lintis the bin name; the package is@abap2ui5/linter. Fixed in all three places it appeared, with a note on why the bin name legitimately survives in the config file, the baseline and the waiver comments. Prose normalised to "abap2UI5 linter" across six pages.abap2UI5-webandweb-abap2ui5-samplesdo not exist. The tooling repository isabap2UI5/web-abap2UI5, the artifactweb-abap2UI5-build. One of the existing live-demo links was a 404, which is why nothing in the ecosystem appeared to link the demo. A tip block onget_started/quickstart.md— the page a reader without a system lands on — now does.configuration/troubleshooting.mdpage carried the H1 "Debugging" next to a realcookbook/troubleshooting/common_failures. Renamed todebugging.md, and because the old URL has been public since 2023 and is linked from outside this organisation, a redirect page keeps it alive (VitePress has no redirect mechanism; files underpublic/are copied verbatim).Contribution/Sponsorentries are byte-identical innavandsidebar, so a replace-first edit hits the wrong one — AGENTS.md documented that trap; the lines now carry// nav/// sidebarmarkers so it is not a trap any more.llms.txtnow points at the framework's code map, which already pointed here. Two files with the same name and a one-way link read as a mistake rather than a pair.npm test3/3,docs:build126 pages no dead links,check:examples46 classes 0 findings,check:samplesup to date,check:counts4/4.check:versionis partial — the release API returns 403 through the sandbox proxy, so "matches the actual release" is unverified there; the three in-repo places agree on 1.143.0.🤖 Generated with Claude Code
https://claude.ai/code/session_01PLDFPfAK1MGq6qHeC6KKWH
Generated by Claude Code