docs: correct param?: Type mistake impact — breaks dev HMR, not just builds

Mistake #19 (and BOOTSTRAP item #10) incorrectly stated the dev server is
unaffected. In practice, saving the file triggers Vite HMR which hits the
same SyntaxError and crashes the page with a 500. Confirmed in session where
sign_in_out.svelte used presenter_id_hint?: string | null.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-06-23 14:39:52 -04:00
parent 6d5c87bad0
commit 52d1dca32a
2 changed files with 9 additions and 5 deletions

View File

@@ -308,8 +308,10 @@ Read this section first, then open the reference doc when your task touches one
field, SWR-await-after-write races, and stateful/conditional sync gates that desync local field, SWR-await-after-write races, and stateful/conditional sync gates that desync local
state from history rather than current config. See the Pres Mgmt Config sync overhaul state from history rather than current config. See the Pres Mgmt Config sync overhaul
(2026-06-16) in `PROJECT__AE_Events_PressMgmt_Config_Cleanup.md` for the full incident. (2026-06-16) in `PROJECT__AE_Events_PressMgmt_Config_Cleanup.md` for the full incident.
10. **`param?: Type` in `.svelte` function/snippet parameters** — breaks `vite build` (SSR step) 10. **`param?: Type` in `.svelte` function/snippet parameters** — breaks both dev and production.
silently: dev server is fine, Docker/production builds fail with "Expected ',', got '?'". In dev mode, saving the file triggers HMR which produces `SyntaxError: missing ) after formal
parameters` and crashes the page with a 500. In production, `vite build` fails at the SSR step
with "Expected ',', got '?'". `npx svelte-check` does NOT catch this — it requires a full build.
Use `param: Type | undefined = undefined` instead. See mistake #19 in the reference doc. Use `param: Type | undefined = undefined` instead. See mistake #19 in the reference doc.
The reference doc also includes a short archive list for older, less-relevant historical incidents. The reference doc also includes a short archive list for older, less-relevant historical incidents.

View File

@@ -250,9 +250,11 @@ the gate is ever actually in the "off" state before assuming it needs to exist.
### 19) `param?: Type` in `.svelte` function or snippet parameter positions ### 19) `param?: Type` in `.svelte` function or snippet parameter positions
**Impact:** `vite build` SSR step fails with "Expected ',', got '?'" — Docker builds and **Impact:** Breaks both dev and production. In dev mode, Vite's HMR recompile produces
production deploys break. Dev server is unaffected (different code path), so the error is `SyntaxError: missing ) after formal parameters` in `app.js`, which crashes the page with a
invisible in local development and only surfaces in CI/CD or the first clean Docker build. 500 error immediately after saving the file. In production, `vite build` fails at the SSR
step with "Expected ',', got '?'" — Docker builds and deploys break. The error surfaces in
both environments; do not assume the dev server is a safe testing ground for this.
**What happened:** Source files used TypeScript optional-parameter syntax (`param?: Type`) **What happened:** Source files used TypeScript optional-parameter syntax (`param?: Type`)
inside `.svelte` `<script lang="ts">` functions and `{#snippet}` parameter lists. esbuild inside `.svelte` `<script lang="ts">` functions and `{#snippet}` parameter lists. esbuild