generate index.html's absolute URLs from PUBLIC_URL
index.html hardcoded the deployment's domain in eight places, so every instance had to carry its own edit of the file — the only thing separating the rezio branch from master. The tags genuinely need absolute URLs. OpenGraph is fetched standalone by crawlers, and Bun's HTML bundler treats a root-relative href as an asset to resolve on disk, failing the build with "Could not resolve: /favicon.ico" — external URLs are the only form it passes through untouched. Bun's HTML import offers no substitution hook, so scripts/gen-index.ts swaps __PUBLIC_URL__ for the value in .env and writes index.gen.html, which the server imports. index.html is the tracked template and is now identical on every deployment; index.gen.html is gitignored. predev/prestart run the generator, and it is idempotent so --watch does not loop. Substituting also fixes the manifest: an absolute URL puts its fetch in CORS mode, which failed whenever the hardcoded domain was not the serving origin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7ef0e90cc4
commit
52ddf7df0e
@@ -42,3 +42,6 @@ src/config.ts
|
||||
# Playwright
|
||||
playwright/
|
||||
.wwebjs_cache/
|
||||
|
||||
# generated from index.html by scripts/gen-index.ts
|
||||
src/apps/officer-web/index.gen.html
|
||||
|
||||
Reference in New Issue
Block a user