fix(caddy): evaluate {{env}} in env.js (templates mime)

Caddy `templates` only processes text/html + text/plain by default, so the
text/javascript env.js was served with {{env "API_BASE"}} unevaluated (a literal
that's also a JS parse error). Name the JS MIME types in the templates directive
so the API_BASE injection works — required for prod to point at the prod API
(staging worked only via the index.html fallback).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
david kiania 2026-06-10 13:23:26 +03:00
parent ff5945a85d
commit a6af4f5646

View file

@ -14,9 +14,13 @@
} }
# Runtime config: Caddy renders {{env "API_BASE"}} into env.js. Never cache it. # Runtime config: Caddy renders {{env "API_BASE"}} into env.js. Never cache it.
# `templates` only acts on text/html + text/plain by default, so JS responses
# are skipped unless their MIME type is named explicitly here.
handle /env.js { handle /env.js {
templates
header Cache-Control "no-store" header Cache-Control "no-store"
templates {
mime text/javascript application/javascript
}
file_server file_server
} }