It shipped 1.77 MB of vendored assets to every site - swagger-ui-bundle.min.js alone is larger than Redoc - in order to provide an Execute button that only the development config ever enabled. Production config had it off, testing had it off hard, and when off the routes were never bound at all. The staticdocs directory drops from 2.9 MB to 1.1 MB, and there is one fewer vendored dependency to track for licences and advisories. What replaces it: an agent has the MCP server's shopdb_call, and a human has Redoc for reading plus the 324 harvested examples in the spec for a curl that is mostly copy-paste. The read-only page was always the one that mattered. The tests this leaves behind are the interesting part. That file was named for try-it but half of it proved things about the page that stays, above all that nothing it loads comes from the internet, which is what a CDN reference costs on an air-gapped box. Those are kept and the file is renamed for what it covers. Pointing the air-gap test at redoc.standalone.js immediately failed: the bundle still carried a trailing sourceMappingURL for a .map that was never vendored, so every devtools open was a guaranteed 404 with no internet to fall back on. That was visible in a browser console and nobody had chased it, because the test had only ever been parametrised over the two Swagger files. The pragma is gone and the assertion now checks the TRAILING pragma specifically: Redoc's own code contains that string three more times, in a data: URI it assembles and in a worker blob, and a blunt "not in body" assertion fails on correct code. A first attempt to strip it with a line-anchored pattern removed 507 KB, because the bundle is minified onto long lines. Hence the anchored, byte-exact removal and the assertion that can tell a directive from source.
13 KiB
13 KiB