From 3bc93857dd80a9a8bd0eb1e985d9b54a3d002a5a Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 22 Jun 2026 18:56:51 -0400 Subject: [PATCH] fix(build): replace optional TypeScript params to fix SSR build esbuild strips ': Type' from 'param?: Type' but leaves 'param?' in the output, which is invalid JavaScript and causes Rollup to fail during the Vite SSR build. Changed all 5 occurrences across source files from 'param?: Type' to 'param: Type | undefined = undefined', preserving the same optional semantics while producing valid JavaScript after stripping. Co-Authored-By: Claude Sonnet 4.6 --- package-lock.json | 35 +++++++++++++++---- .../ae_comp__badge_print_controls.svelte | 2 +- .../(launcher)/launcher_file_cont.svelte | 2 +- .../reports/reports_file_downloads.svelte | 2 +- .../ae_comp__journal_entry_obj_id_view.svelte | 2 +- ...ae_comp__modal_journal_entry_config.svelte | 2 +- 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index e23c435d..434bacbc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1885,6 +1885,28 @@ } } }, + "node_modules/@rollup/plugin-replace": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz", + "integrity": "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/pluginutils": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", @@ -2356,15 +2378,16 @@ } }, "node_modules/@sveltejs/adapter-node": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.5.4.tgz", - "integrity": "sha512-45X92CXW+2J8ZUzPv3eLlKWEzINKiiGeFWTjyER4ZN4sGgNoaoeSkCY/QYNxHpPXy71QPsctwccBo9jJs0ySPQ==", + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.5.6.tgz", + "integrity": "sha512-OSclz7clrNzpks+CHoPVmc/eZ/+Kz/0VSf4t65TIrw+FXPBXGuqtHOCMITel2ovbyKrx05MQ4HiUj4X0nhueWA==", "dev": true, "license": "MIT", "dependencies": { "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.0", + "@rollup/plugin-replace": "^6.0.3", "rollup": "^4.59.0" }, "peerDependencies": { @@ -2382,9 +2405,9 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.66.0", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.66.0.tgz", - "integrity": "sha512-7nN4Ur4+nofZ36DVo83JbRe02m61Vc+I441mML/DYa1pUTZ/x26+lbrdqPen8gjmsUc6flMtHEqAtn0UfmfvAw==", + "version": "2.67.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.67.0.tgz", + "integrity": "sha512-JXHbsDwRes1Wgyof3q5ApzzpbCWvinKXMQCiV67TFO6xlZPYLoK0fq3xQMqSicDMgCtFGqLkrQXkseOcASdZ8A==", "devOptional": true, "license": "MIT", "dependencies": { diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_print_controls.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_print_controls.svelte index 770dae65..bda2d07d 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_print_controls.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_print_controls.svelte @@ -958,7 +958,7 @@ let allow_tracking_open = $derived( field_key: string, on_save: () => void, on_cancel: () => void, - on_revert?: () => void, + on_revert: (() => void) | undefined = undefined, is_dirty = false )} {@const status = field_save_status[field_key]} diff --git a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte index 464bbc02..c7182d05 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte @@ -134,7 +134,7 @@ let screen_saver_exts = ['jpg', 'png', 'PNG', 'webp']; */ function get_launch_profile( extension: string, - file_obj?: any + file_obj: any = undefined ): LaunchProfile { const native_device = ($ae_loc as any).native_device ?? null; const device_profiles = diff --git a/src/routes/events/[event_id]/(pres_mgmt)/reports/reports_file_downloads.svelte b/src/routes/events/[event_id]/(pres_mgmt)/reports/reports_file_downloads.svelte index ce0c315c..d13cb690 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/reports/reports_file_downloads.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/reports/reports_file_downloads.svelte @@ -50,7 +50,7 @@ function clean_affix(s: string): string { } // For filename parts: also strip leading/trailing underscores and collapse runs. -function clean_part(s: any, max?: number): string { +function clean_part(s: any, max: number | undefined = undefined): string { if (!s) return ''; const out = ae_util .clean_filename(String(s)) diff --git a/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte b/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte index 363e0194..3f662118 100644 --- a/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte +++ b/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte @@ -273,7 +273,7 @@ async function run_decryption_workflow() { is_processing = false; } -async function update_journal_entry(fields_kv?: key_val) { +async function update_journal_entry(fields_kv: key_val | undefined = undefined) { if (!$ae_loc.trusted_access || save_status === 'saving' || is_processing) return; diff --git a/src/routes/journals/ae_comp__modal_journal_entry_config.svelte b/src/routes/journals/ae_comp__modal_journal_entry_config.svelte index 869b81d6..8129775a 100644 --- a/src/routes/journals/ae_comp__modal_journal_entry_config.svelte +++ b/src/routes/journals/ae_comp__modal_journal_entry_config.svelte @@ -57,7 +57,7 @@ let { let tab: 'actions' | 'meta' | 'security' | 'json' = $state('actions'); -const normalize_date = (val?: string | Date | null) => { +const normalize_date = (val: string | Date | null | undefined = undefined) => { if (!val) return null; if (val instanceof Date) return val.toISOString().slice(0, 16); return val.slice(0, 16);