From 07eb5ae4100d660c48eec893da8f9ce51c18065a Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Mon, 21 Oct 2024 16:23:01 -0400 Subject: [PATCH] chore(deps): upgrade to Svelte 5 (#1) * chore(deps): upgrade to Svelte 5 I literally just ran the migration script: https://svelte-omnisite.vercel.app/docs/svelte/v5-migration-guide#Migration-script. * chore: explicitly opt fully into Svelte 5 runes mode --- package.json | 2 +- pnpm-lock.yaml | 120 +++++++++++++--------------- src/components/ScheduleBoard.svelte | 2 +- src/components/ScheduleRow.svelte | 20 +++-- svelte.config.js | 3 + 5 files changed, 73 insertions(+), 74 deletions(-) diff --git a/package.json b/package.json index 7a7ee74..4ab8921 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "dependencies": { "@astrojs/svelte": "^5.0.0", "astro": "^4.15.3", - "svelte": "^4.0.0" + "svelte": "^5.0.0" }, "devDependencies": { "@astrojs/check": "^0.9.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d734dfa..6dd1e0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,13 +10,13 @@ importers: dependencies: '@astrojs/svelte': specifier: ^5.0.0 - version: 5.7.2(astro@4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3))(svelte@4.2.19)(typescript@5.6.3)(vite@5.4.9(@types/node@20.16.13)) + version: 5.7.2(astro@4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3))(svelte@5.0.5)(typescript@5.6.3)(vite@5.4.9(@types/node@20.16.13)) astro: specifier: ^4.15.3 version: 4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3) svelte: - specifier: ^4.0.0 - version: 4.2.19 + specifier: ^5.0.0 + version: 5.0.5 devDependencies: '@astrojs/check': specifier: ^0.9.4 @@ -26,7 +26,7 @@ importers: version: 20.16.13 svelte-check: specifier: ^4.0.5 - version: 4.0.5(svelte@4.2.19)(typescript@5.6.3) + version: 4.0.5(svelte@5.0.5)(typescript@5.6.3) packages: @@ -658,6 +658,11 @@ packages: '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} + acorn-typescript@1.4.13: + resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} + peerDependencies: + acorn: '>=8.9.0' + acorn@8.13.0: resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} engines: {node: '>=0.4.0'} @@ -785,9 +790,6 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - code-red@1.0.4: - resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -821,10 +823,6 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -914,11 +912,17 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + esm-env@1.0.0: + resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true + esrap@1.2.2: + resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -1229,9 +1233,6 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1411,9 +1412,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1632,9 +1630,9 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@4.2.19: - resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} - engines: {node: '>=16'} + svelte@5.0.5: + resolution: {integrity: sha512-f4WBlP5g8W6pEoDfx741lewMlemy+LIGpEqjGPWqnHVP92wqlQXl87U5O5Bi2tkSUrO95OxOoqwU8qlqiHmFKA==} + engines: {node: '>=18'} tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} @@ -1943,6 +1941,9 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} + zimmerframe@1.1.2: + resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} + zod-to-json-schema@3.23.3: resolution: {integrity: sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==} peerDependencies: @@ -2032,12 +2033,12 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/svelte@5.7.2(astro@4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3))(svelte@4.2.19)(typescript@5.6.3)(vite@5.4.9(@types/node@20.16.13))': + '@astrojs/svelte@5.7.2(astro@4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3))(svelte@5.0.5)(typescript@5.6.3)(vite@5.4.9(@types/node@20.16.13))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13)) astro: 4.16.6(@types/node@20.16.13)(rollup@4.24.0)(typescript@5.6.3) - svelte: 4.2.19 - svelte2tsx: 0.7.22(svelte@4.2.19)(typescript@5.6.3) + svelte: 5.0.5 + svelte2tsx: 0.7.22(svelte@5.0.5)(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -2479,24 +2480,24 @@ snapshots: '@shikijs/vscode-textmate@9.3.0': {} - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13)))(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13)))(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13)) debug: 4.3.7 - svelte: 4.2.19 + svelte: 5.0.5 vite: 5.4.9(@types/node@20.16.13) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13)))(svelte@4.2.19)(vite@5.4.9(@types/node@20.16.13)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13)))(svelte@5.0.5)(vite@5.4.9(@types/node@20.16.13)) debug: 4.3.7 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.12 - svelte: 4.2.19 - svelte-hmr: 0.16.0(svelte@4.2.19) + svelte: 5.0.5 + svelte-hmr: 0.16.0(svelte@5.0.5) vite: 5.4.9(@types/node@20.16.13) vitefu: 0.2.5(vite@5.4.9(@types/node@20.16.13)) transitivePeerDependencies: @@ -2603,6 +2604,10 @@ snapshots: '@vscode/l10n@0.0.18': {} + acorn-typescript@1.4.13(acorn@8.13.0): + dependencies: + acorn: 8.13.0 + acorn@8.13.0: {} ajv@8.17.1: @@ -2789,14 +2794,6 @@ snapshots: clsx@2.1.1: {} - code-red@1.0.4: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.6 - acorn: 8.13.0 - estree-walker: 3.0.3 - periscopic: 3.1.0 - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -2829,11 +2826,6 @@ snapshots: cookie@0.7.2: {} - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - cssesc@3.0.0: {} debug@4.3.7: @@ -2916,8 +2908,15 @@ snapshots: escape-string-regexp@5.0.0: {} + esm-env@1.0.0: {} + esprima@4.0.1: {} + esrap@1.2.2: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@types/estree': 1.0.6 + estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -3316,8 +3315,6 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdn-data@2.0.30: {} - merge2@1.4.1: {} micromark-core-commonmark@2.0.1: @@ -3604,12 +3601,6 @@ snapshots: path-exists@4.0.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.6 - estree-walker: 3.0.3 - is-reference: 3.0.2 - picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -3881,45 +3872,44 @@ snapshots: dependencies: has-flag: 3.0.0 - svelte-check@4.0.5(svelte@4.2.19)(typescript@5.6.3): + svelte-check@4.0.5(svelte@5.0.5)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.1 fdir: 6.4.2 picocolors: 1.1.1 sade: 1.8.1 - svelte: 4.2.19 + svelte: 5.0.5 typescript: 5.6.3 transitivePeerDependencies: - picomatch - svelte-hmr@0.16.0(svelte@4.2.19): + svelte-hmr@0.16.0(svelte@5.0.5): dependencies: - svelte: 4.2.19 + svelte: 5.0.5 - svelte2tsx@0.7.22(svelte@4.2.19)(typescript@5.6.3): + svelte2tsx@0.7.22(svelte@5.0.5)(typescript@5.6.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 4.2.19 + svelte: 5.0.5 typescript: 5.6.3 - svelte@4.2.19: + svelte@5.0.5: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 '@types/estree': 1.0.6 acorn: 8.13.0 + acorn-typescript: 1.4.13(acorn@8.13.0) aria-query: 5.3.2 axobject-query: 4.1.0 - code-red: 1.0.4 - css-tree: 2.3.1 - estree-walker: 3.0.3 + esm-env: 1.0.0 + esrap: 1.2.2 is-reference: 3.0.2 locate-character: 3.0.0 magic-string: 0.30.12 - periscopic: 3.1.0 + zimmerframe: 1.1.2 tinyexec@0.3.1: {} @@ -4215,6 +4205,8 @@ snapshots: yocto-queue@1.1.1: {} + zimmerframe@1.1.2: {} + zod-to-json-schema@3.23.3(zod@3.23.8): dependencies: zod: 3.23.8 diff --git a/src/components/ScheduleBoard.svelte b/src/components/ScheduleBoard.svelte index 2dff17c..a69158b 100644 --- a/src/components/ScheduleBoard.svelte +++ b/src/components/ScheduleBoard.svelte @@ -3,7 +3,7 @@ import ScheduleRow from "./ScheduleRow.svelte"; import releaseData from "../data/releases.json"; - let scheduleItems: typeof releaseData = []; + let scheduleItems: typeof releaseData = $state([]); onMount(async () => { scheduleItems = releaseData.toSorted((a, b) => diff --git a/src/components/ScheduleRow.svelte b/src/components/ScheduleRow.svelte index ffc8ce1..4348132 100644 --- a/src/components/ScheduleRow.svelte +++ b/src/components/ScheduleRow.svelte @@ -1,17 +1,21 @@