From fe8c8e2aa48235854b08b22cce3894434b985c6a Mon Sep 17 00:00:00 2001 From: Ainsley Date: Tue, 20 Jan 2026 07:52:55 +0000 Subject: [PATCH] fix: Upgrade svelte-hamburgers to v5.0.0 for Svelte 5 compatibility - Upgrade svelte-hamburgers from ^4.1.0 to ^5.0.0 - Update event binding syntax from on:change to onclick in Hamburger.svelte - Enable runes mode in svelte.config.js for Svelte 5 runes compilation - Verify build succeeds with new configuration The svelte-hamburgers v5.0.0 is built specifically for Svelte 5 and uses native event handlers instead of the legacy event binding syntax. Runes mode is now explicitly enabled to ensure all components compile with Svelte 5 runes. Co-Authored-By: Claude Haiku 4.5 --- .changeset/svelte-hamburgers-v5.md | 5 +++++ packages/sveltekit-helper/package.json | 2 +- .../sveltekit-helper/src/components/Hamburger.svelte | 4 +++- packages/sveltekit-helper/svelte.config.js | 4 ++++ pnpm-lock.yaml | 12 ++++++------ 5 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 .changeset/svelte-hamburgers-v5.md diff --git a/.changeset/svelte-hamburgers-v5.md b/.changeset/svelte-hamburgers-v5.md new file mode 100644 index 00000000..eb2bc8ce --- /dev/null +++ b/.changeset/svelte-hamburgers-v5.md @@ -0,0 +1,5 @@ +--- +"@ainsleydev/sveltekit-helper": patch +--- + +Upgrade svelte-hamburgers to v5.0.0 for Svelte 5 compatibility and enable runes mode diff --git a/packages/sveltekit-helper/package.json b/packages/sveltekit-helper/package.json index 58eee377..e1d01941 100644 --- a/packages/sveltekit-helper/package.json +++ b/packages/sveltekit-helper/package.json @@ -72,7 +72,7 @@ } }, "dependencies": { - "svelte-hamburgers": "^4.1.0" + "svelte-hamburgers": "^5.0.0" }, "devDependencies": { "@ainsleydev/eslint-config": "workspace:*", diff --git a/packages/sveltekit-helper/src/components/Hamburger.svelte b/packages/sveltekit-helper/src/components/Hamburger.svelte index d5be9511..b63874bc 100644 --- a/packages/sveltekit-helper/src/components/Hamburger.svelte +++ b/packages/sveltekit-helper/src/components/Hamburger.svelte @@ -45,7 +45,9 @@ export type HamburgerProps = { onChange?.(isOpen)} + onclick={() => { + onChange?.(isOpen); + }} --color="var(--hamburger-colour, var(--colour-base-light))" --layer-width="var(--hamburger-layer-width, 24px)" --layer-height="var(--hamburger-layer-height, 2px)" diff --git a/packages/sveltekit-helper/svelte.config.js b/packages/sveltekit-helper/svelte.config.js index b2016401..62ee7d5f 100644 --- a/packages/sveltekit-helper/svelte.config.js +++ b/packages/sveltekit-helper/svelte.config.js @@ -5,6 +5,10 @@ const config = { // Preprocess Svelte components with TypeScript support preprocess: vitePreprocess(), + compilerOptions: { + runes: true, + }, + kit: { // No adapter needed for library packaging }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 242215eb..49c83d10 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -250,8 +250,8 @@ importers: packages/sveltekit-helper: dependencies: svelte-hamburgers: - specifier: ^4.1.0 - version: 4.2.1(svelte@5.43.6) + specifier: ^5.0.0 + version: 5.0.0(svelte@5.43.6) devDependencies: '@ainsleydev/eslint-config': specifier: workspace:* @@ -6512,10 +6512,10 @@ packages: svelte: optional: true - svelte-hamburgers@4.2.1: - resolution: {integrity: sha512-m18lOjhGrvzTEYjWTRIPi2k1YOwO7HkJyEnXq1Foo6EOFtqzPC6j2s8PQSauh5kq/nDO4Ekfw48JADx+pDPWkw==} + svelte-hamburgers@5.0.0: + resolution: {integrity: sha512-MMb47VCozKDgn/jtmeqw+CbI3cZmkDXd/FG3VCkReMdw2YCSOaWYLsqsXiWTWoQE/oSmw1vH/Tm5mChqlsldHQ==} peerDependencies: - svelte: ^3.46.4 || ^4.0.0 + svelte: ^5.0.0 svelte2tsx@0.7.45: resolution: {integrity: sha512-cSci+mYGygYBHIZLHlm/jYlEc1acjAHqaQaDFHdEBpUueM9kSTnPpvPtSl5VkJOU1qSJ7h1K+6F/LIUYiqC8VA==} @@ -14411,7 +14411,7 @@ snapshots: optionalDependencies: svelte: 5.43.6 - svelte-hamburgers@4.2.1(svelte@5.43.6): + svelte-hamburgers@5.0.0(svelte@5.43.6): dependencies: svelte: 5.43.6