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>
48 lines
580 B
Plaintext
48 lines
580 B
Plaintext
# dependencies (bun install)
|
|
node_modules
|
|
|
|
# output
|
|
out
|
|
src/videos/**/out
|
|
dist
|
|
dist_*
|
|
.dist
|
|
runtime-scripts
|
|
*.tgz
|
|
|
|
# code coverage
|
|
coverage
|
|
*.lcov
|
|
|
|
# logs
|
|
logs
|
|
_.log
|
|
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
|
|
|
# dotenv environment variable files
|
|
.env
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
.env.local
|
|
|
|
# caches
|
|
.eslintcache
|
|
.cache
|
|
*.tsbuildinfo
|
|
|
|
# IntelliJ based IDEs
|
|
.idea
|
|
|
|
# Finder (MacOS) folder config
|
|
.DS_Store
|
|
|
|
src/config.ts
|
|
|
|
# Playwright
|
|
playwright/
|
|
.wwebjs_cache/
|
|
|
|
# generated from index.html by scripts/gen-index.ts
|
|
src/apps/officer-web/index.gen.html
|