From e626a1003a2ad2a7ae6895ad99ddc241b5524087 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 5 Aug 2026 15:14:20 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20fix:=20generate=20.nojekyll=20in?= =?UTF-8?q?stead=20of=20hand-editing=20generated=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit appended the .nojekyll rationale to docs/vendor/README.md — a file whose own first line reads "Generated by npm run build:docs. Do not edit by hand." CI's "Landing page bundle is in sync with src/" step regenerated it, the text vanished, git diff was non-empty and all three Node jobs failed. The guard did its job; I was the one who put a hand-written paragraph in a generated file. The note now lives in the generator, and build:docs writes docs/.nojekyll itself so it is part of the generated set rather than a loose file that a docs/ rewrite could drop. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK --- docs/vendor/README.md | 5 +---- scripts/build-docs.mjs | 9 ++++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/vendor/README.md b/docs/vendor/README.md index f5e9e67..b0d0a2c 100644 --- a/docs/vendor/README.md +++ b/docs/vendor/README.md @@ -4,7 +4,4 @@ Generated by `npm run build:docs`. Do not edit by hand. - `babel.min.js` — @babel/standalone 8.0.4, used by the playground to compile TypeScript with standard decorators in the browser. Vendored rather than loaded from a CDN: the previous page referenced an unpinned unpkg URL, which silently began serving Babel 8 and broke the playground. -`../.nojekyll` sits alongside these files so GitHub Pages serves the directory verbatim -instead of running it through Jekyll. Jekyll's conventions — ignoring paths that begin with -an underscore, and its default `vendor/` exclusions — are a poor fit for a hand-built page -whose playground 404s the moment one asset silently fails to publish. +- `../.nojekyll` — opts the directory out of Jekyll, so GitHub Pages serves it verbatim. Jekyll ignores paths beginning with an underscore and carries default `vendor/` exclusions, and the failure mode is an asset that silently does not publish — for this page, the playground's compiler 404ing while everything else looks fine. diff --git a/scripts/build-docs.mjs b/scripts/build-docs.mjs index 6a80e8e..0e75ebd 100644 --- a/scripts/build-docs.mjs +++ b/scripts/build-docs.mjs @@ -73,9 +73,16 @@ await writeFile( `- \`babel.min.js\` — @babel/standalone ${JSON.parse(await readFile(path.join(root, 'node_modules/@babel/standalone/package.json'), 'utf8')).version}, ` + `used by the playground to compile TypeScript with standard decorators in the browser. ` + `Vendored rather than loaded from a CDN: the previous page referenced an unpinned unpkg URL, ` + - `which silently began serving Babel 8 and broke the playground.\n` + `which silently began serving Babel 8 and broke the playground.\n\n` + + `- \`../.nojekyll\` — opts the directory out of Jekyll, so GitHub Pages serves it verbatim. ` + + `Jekyll ignores paths beginning with an underscore and carries default \`vendor/\` exclusions, ` + + `and the failure mode is an asset that silently does not publish — for this page, the ` + + `playground's compiler 404ing while everything else looks fine.\n` ); +// 5. Written rather than committed by hand so it cannot be lost in a docs/ rewrite. +await writeFile(path.join(docs, '.nojekyll'), ''); + console.log(`docs/cereale.js ${await size(path.join(docs, 'cereale.js'))}`); console.log(`docs/meta.js ${await size(path.join(docs, 'meta.js'))} (v${pkg.version})`); console.log(`docs/vendor/babel.min.js ${await size(path.join(vendor, 'babel.min.js'))}`);