diff --git a/package.json b/package.json index 0d35aa6..5e0fff5 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "satori-html": "^0.3.2", "scrape-it": "^6.1.0", "sharp": "^0.32.6", - "svelte": "^4.2.9", + "svelte": "5.0.0-next.42", "svelte-check": "^3.6.3", "svelte-meta-tags": "^3.1.0", "svelte-preprocess": "^5.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75e395d..d094b21 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@melt-ui/svelte': specifier: ^0.50.1 - version: 0.50.1(svelte@4.2.9) + version: 0.50.1(svelte@5.0.0-next.42) '@sveltejs/adapter-vercel': specifier: ^5.1.0 version: 5.1.0(@sveltejs/kit@2.5.0) @@ -39,7 +39,7 @@ devDependencies: version: 1.2.74 '@melt-ui/pp': specifier: ^0.1.4 - version: 0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.9) + version: 0.1.4(@melt-ui/svelte@0.50.1)(svelte@5.0.0-next.42) '@playwright/test': specifier: ^1.41.1 version: 1.41.1 @@ -51,13 +51,13 @@ devDependencies: version: 3.0.1(@sveltejs/kit@2.5.0) '@sveltejs/enhanced-img': specifier: ^0.1.8 - version: 0.1.8(svelte@4.2.9) + version: 0.1.8(svelte@5.0.0-next.42) '@sveltejs/kit': specifier: ^2.5.0 - version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) + version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12) '@sveltejs/vite-plugin-svelte': specifier: ^3.0.2 - version: 3.0.2(svelte@4.2.9)(vite@5.0.12) + version: 3.0.2(svelte@5.0.0-next.42)(vite@5.0.12) '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) @@ -66,7 +66,7 @@ devDependencies: version: 5.62.0(eslint@8.56.0)(typescript@5.3.3) '@zerodevx/svelte-img': specifier: ^2.1.0 - version: 2.1.0(svelte@4.2.9) + version: 2.1.0(svelte@5.0.0-next.42) autoprefixer: specifier: ^10.4.17 version: 10.4.17(postcss@8.4.33) @@ -78,7 +78,7 @@ devDependencies: version: 8.10.0(eslint@8.56.0) eslint-plugin-svelte: specifier: ^2.35.1 - version: 2.35.1(eslint@8.56.0)(svelte@4.2.9) + version: 2.35.1(eslint@8.56.0)(svelte@5.0.0-next.42) iconify-icon: specifier: ^1.0.8 version: 1.0.8 @@ -87,7 +87,7 @@ devDependencies: version: 4.3.0 mdsvex: specifier: ^0.11.0 - version: 0.11.0(svelte@4.2.9) + version: 0.11.0(svelte@5.0.0-next.42) mdsvex-relative-images: specifier: ^1.0.3 version: 1.0.3 @@ -108,7 +108,7 @@ devDependencies: version: 3.2.4 prettier-plugin-svelte: specifier: ^3.1.2 - version: 3.1.2(prettier@3.2.4)(svelte@4.2.9) + version: 3.1.2(prettier@3.2.4)(svelte@5.0.0-next.42) sass: specifier: ^1.70.0 version: 1.70.0 @@ -125,17 +125,17 @@ devDependencies: specifier: ^0.32.6 version: 0.32.6 svelte: - specifier: ^4.2.9 - version: 4.2.9 + specifier: 5.0.0-next.42 + version: 5.0.0-next.42 svelte-check: specifier: ^3.6.3 - version: 3.6.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@4.2.9) + version: 3.6.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@5.0.0-next.42) svelte-meta-tags: specifier: ^3.1.0 - version: 3.1.0(svelte@4.2.9)(typescript@5.3.3) + version: 3.1.0(svelte@5.0.0-next.42)(typescript@5.3.3) svelte-preprocess: specifier: ^5.1.3 - version: 5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@4.2.9)(typescript@5.3.3) + version: 5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@5.0.0-next.42)(typescript@5.3.3) svelte-sequential-preprocessor: specifier: ^2.0.1 version: 2.0.1 @@ -1319,19 +1319,19 @@ packages: - supports-color dev: false - /@melt-ui/pp@0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.9): + /@melt-ui/pp@0.1.4(@melt-ui/svelte@0.50.1)(svelte@5.0.0-next.42): resolution: {integrity: sha512-zR+Kl3CZJPJBHW8V7YcdQCMI/dVcnW9Ct3yGbVaIywYVStVRS7F9uEDOea3xLLT2WTGodQePzPlUn53yKFu87g==} engines: {pnpm: '>=8.6.3'} peerDependencies: '@melt-ui/svelte': '>= 0.29.0' svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1 dependencies: - '@melt-ui/svelte': 0.50.1(svelte@4.2.9) + '@melt-ui/svelte': 0.50.1(svelte@5.0.0-next.42) estree-walker: 3.0.3 - svelte: 4.2.9 + svelte: 5.0.0-next.42 dev: true - /@melt-ui/svelte@0.50.1(svelte@4.2.9): + /@melt-ui/svelte@0.50.1(svelte@5.0.0-next.42): resolution: {integrity: sha512-MIenasd8a5jXgynNKmH5JNSrDBS0EKUK4BImgyD0R6Vbzrll6rQquBIxlh5PeqVhZ2azDIEh/yRkwaOFi2HEgw==} peerDependencies: svelte: '>=3 <5' @@ -1341,7 +1341,7 @@ packages: dequal: 2.0.3 focus-trap: 7.5.3 nanoid: 4.0.2 - svelte: 4.2.9 + svelte: 5.0.0-next.42 /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1650,7 +1650,7 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 dependencies: - '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) + '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12) dev: true /@sveltejs/adapter-vercel@5.1.0(@sveltejs/kit@2.5.0): @@ -1658,7 +1658,7 @@ packages: peerDependencies: '@sveltejs/kit': ^2.4.0 dependencies: - '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) + '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12) '@vercel/nft': 0.26.2 esbuild: 0.19.12 transitivePeerDependencies: @@ -1666,18 +1666,18 @@ packages: - supports-color dev: false - /@sveltejs/enhanced-img@0.1.8(svelte@4.2.9): + /@sveltejs/enhanced-img@0.1.8(svelte@5.0.0-next.42): resolution: {integrity: sha512-0cLVR9KiO0/t3VVm64OM7bPHTkdaT2aaz1rwoAhao+EBXR3vMvLoYXLHvz8o9/552PSV8G844RkH7qkGc3YAiQ==} dependencies: magic-string: 0.30.5 - svelte-parse-markup: 0.1.2(svelte@4.2.9) + svelte-parse-markup: 0.1.2(svelte@5.0.0-next.42) vite-imagetools: 6.2.9 transitivePeerDependencies: - rollup - svelte dev: true - /@sveltejs/kit@2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12): + /@sveltejs/kit@2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12): resolution: {integrity: sha512-1uyXvzC2Lu1FZa30T4y5jUAC21R309ZMRG0TPt+PPPbNUoDpy8zSmSNVWYaBWxYDqLGQ5oPNWvjvvF2IjJ1jmA==} engines: {node: '>=18.13'} hasBin: true @@ -1687,7 +1687,7 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.3 dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.9)(vite@5.0.12) + '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@5.0.0-next.42)(vite@5.0.12) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 4.3.2 @@ -1699,11 +1699,11 @@ packages: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.4 - svelte: 4.2.9 + svelte: 5.0.0-next.42 tiny-glob: 0.2.9 vite: 5.0.12(sass@1.70.0) - /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12): + /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12): resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} engines: {node: ^18.0.0 || >=20} peerDependencies: @@ -1711,27 +1711,27 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.9)(vite@5.0.12) + '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@5.0.0-next.42)(vite@5.0.12) debug: 4.3.4 - svelte: 4.2.9 + svelte: 5.0.0-next.42 vite: 5.0.12(sass@1.70.0) transitivePeerDependencies: - supports-color - /@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.9)(vite@5.0.12): + /@sveltejs/vite-plugin-svelte@3.0.2(svelte@5.0.0-next.42)(vite@5.0.12): resolution: {integrity: sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12) + '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.42)(vite@5.0.12) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 - svelte: 4.2.9 - svelte-hmr: 0.15.3(svelte@4.2.9) + svelte: 5.0.0-next.42 + svelte-hmr: 0.15.3(svelte@5.0.0-next.42) vite: 5.0.12(sass@1.70.0) vitefu: 0.2.5(vite@5.0.12) transitivePeerDependencies: @@ -1977,12 +1977,12 @@ packages: pretty-format: 29.7.0 dev: true - /@zerodevx/svelte-img@2.1.0(svelte@4.2.9): + /@zerodevx/svelte-img@2.1.0(svelte@5.0.0-next.42): resolution: {integrity: sha512-ktOcv5svIm8qQQ7sBnSST1zaA5mJpTp+MbzaMeDNBEw4hulwzSD0VRPtq/pvYsjacA1OAw+JIN/qmBl7doh7HA==} peerDependencies: svelte: ^3.55.1 || ^4.0.0 dependencies: - svelte: 4.2.9 + svelte: 5.0.0-next.42 vite-imagetools: 5.0.8 transitivePeerDependencies: - rollup @@ -2008,6 +2008,13 @@ packages: acorn: 8.11.2 dev: true + /acorn-typescript@1.4.13(acorn@8.11.3): + resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} + peerDependencies: + acorn: '>=8.9.0' + dependencies: + acorn: 8.11.3 + /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} @@ -2023,12 +2030,12 @@ packages: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - dev: false /acorn@8.9.0: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -2355,6 +2362,7 @@ packages: acorn: 8.9.0 estree-walker: 3.0.3 periscopic: 3.1.0 + dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -2478,6 +2486,7 @@ packages: dependencies: mdn-data: 2.0.30 source-map-js: 1.0.2 + dev: true /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} @@ -2744,7 +2753,7 @@ packages: eslint: 8.56.0 dev: true - /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.9): + /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@5.0.0-next.42): resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -2766,8 +2775,8 @@ packages: postcss-safe-parser: 6.0.0(postcss@8.4.33) postcss-selector-parser: 6.0.13 semver: 7.5.3 - svelte: 4.2.9 - svelte-eslint-parser: 0.33.1(svelte@4.2.9) + svelte: 5.0.0-next.42 + svelte-eslint-parser: 0.33.1(svelte@5.0.0-next.42) transitivePeerDependencies: - supports-color - ts-node @@ -2865,6 +2874,12 @@ packages: estraverse: 5.3.0 dev: true + /esrap@1.2.1: + resolution: {integrity: sha512-dhkcOLfN/aDdMFI1iwPEcy/XqAZzGNfgfEJjZozy2tia6u0dQoZyXzkRshHTckuNsM+c0CYQndY+uRFe3N+AIQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.5 + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -2889,6 +2904,7 @@ packages: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 + dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -3320,6 +3336,12 @@ packages: resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==} dependencies: '@types/estree': 1.0.5 + dev: true + + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} @@ -3457,6 +3479,7 @@ packages: /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true /mdsvex-relative-images@1.0.3: resolution: {integrity: sha512-3XvpnaguRAhC5gchpqCH+A5Yl28xG9WDPylVla0+k90c5LT+QqSM+hwHd1v5C7gB2cAT0AIhuMsY/g6aCw+WDg==} @@ -3465,7 +3488,7 @@ packages: unist-util-visit: 3.1.0 dev: true - /mdsvex@0.11.0(svelte@4.2.9): + /mdsvex@0.11.0(svelte@5.0.0-next.42): resolution: {integrity: sha512-gJF1s0N2nCmdxcKn8HDn0LKrN8poStqAicp6bBcsKFd/zkUBGLP5e7vnxu+g0pjBbDFOscUyI1mtHz+YK2TCDw==} peerDependencies: svelte: '>=3 <5' @@ -3473,7 +3496,7 @@ packages: '@types/unist': 2.0.6 prism-svelte: 0.4.7 prismjs: 1.29.0 - svelte: 4.2.9 + svelte: 5.0.0-next.42 vfile-message: 2.0.4 dev: true @@ -3820,6 +3843,7 @@ packages: '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.1 + dev: true /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -4294,14 +4318,14 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte@3.1.2(prettier@3.2.4)(svelte@4.2.9): + /prettier-plugin-svelte@3.1.2(prettier@3.2.4)(svelte@5.0.0-next.42): resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 dependencies: prettier: 3.2.4 - svelte: 4.2.9 + svelte: 5.0.0-next.42 dev: true /prettier@3.2.4: @@ -4807,7 +4831,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.6.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@4.2.9): + /svelte-check@3.6.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@5.0.0-next.42): resolution: {integrity: sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==} hasBin: true peerDependencies: @@ -4819,8 +4843,8 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 4.2.9 - svelte-preprocess: 5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@4.2.9)(typescript@5.3.3) + svelte: 5.0.0-next.42 + svelte-preprocess: 5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@5.0.0-next.42)(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - '@babel/core' @@ -4834,7 +4858,7 @@ packages: - sugarss dev: true - /svelte-eslint-parser@0.33.1(svelte@4.2.9): + /svelte-eslint-parser@0.33.1(svelte@5.0.0-next.42): resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4848,37 +4872,37 @@ packages: espree: 9.6.1 postcss: 8.4.33 postcss-scss: 4.0.9(postcss@8.4.33) - svelte: 4.2.9 + svelte: 5.0.0-next.42 dev: true - /svelte-hmr@0.15.3(svelte@4.2.9): + /svelte-hmr@0.15.3(svelte@5.0.0-next.42): resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: ^3.19.0 || ^4.0.0 dependencies: - svelte: 4.2.9 + svelte: 5.0.0-next.42 - /svelte-meta-tags@3.1.0(svelte@4.2.9)(typescript@5.3.3): + /svelte-meta-tags@3.1.0(svelte@5.0.0-next.42)(typescript@5.3.3): resolution: {integrity: sha512-wFBfpktSua1R5rdvQ/aFucvXmRqzDhRYrPpMQ/pL4+KL5QHIzomPf29a5WN3yDR0reSy1PXyQ2ah0+uCYCbi0g==} peerDependencies: svelte: ^3.55.0 || ^4.0.0 dependencies: schema-dts: 1.1.2(typescript@5.3.3) - svelte: 4.2.9 + svelte: 5.0.0-next.42 transitivePeerDependencies: - typescript dev: true - /svelte-parse-markup@0.1.2(svelte@4.2.9): + /svelte-parse-markup@0.1.2(svelte@5.0.0-next.42): resolution: {integrity: sha512-DycY7DJr7VqofiJ63ut1/NEG92HrWWL56VWITn/cJCu+LlZhMoBkBXT4opUitPEEwbq1nMQbv4vTKUfbOqIW1g==} peerDependencies: svelte: ^3.0.0 || ^4.0.0 dependencies: - svelte: 4.2.9 + svelte: 5.0.0-next.42 dev: true - /svelte-preprocess@5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@4.2.9)(typescript@5.3.3): + /svelte-preprocess@5.1.3(postcss-load-config@4.0.2)(postcss@8.4.33)(sass@1.70.0)(svelte@5.0.0-next.42)(typescript@5.3.3): resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==} engines: {node: '>= 16.0.0', pnpm: ^8.0.0} requiresBuild: true @@ -4924,7 +4948,7 @@ packages: sass: 1.70.0 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 4.2.9 + svelte: 5.0.0-next.42 typescript: 5.3.3 dev: true @@ -4954,6 +4978,25 @@ packages: locate-character: 3.0.0 magic-string: 0.30.5 periscopic: 3.1.0 + dev: true + + /svelte@5.0.0-next.42: + resolution: {integrity: sha512-sK/XrJTOTTCuOC8JRxAIcodScGYUuQDTilKiTFaQpHzPniPsqZTiEIOEPZvojEWeitWfbr1FHK90NjERHbpzBw==} + engines: {node: '>=18'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.5 + acorn: 8.11.3 + acorn-typescript: 1.4.13(acorn@8.11.3) + aria-query: 5.3.0 + axobject-query: 4.0.0 + esm-env: 1.0.0 + esrap: 1.2.1 + is-reference: 3.0.2 + locate-character: 3.0.0 + magic-string: 0.30.5 + zimmerframe: 1.1.0 /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -5395,3 +5438,6 @@ packages: /yoga-wasm-web@0.3.3: resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + + /zimmerframe@1.1.0: + resolution: {integrity: sha512-+AmV37r9NPUy7KcuG0Fde9AAFSD88kN5pnqvD7Pkp5WLLK0jct7hAtIDXXFDCRk3l5Mc1r2Sth3gfP2ZLE+/Qw==} diff --git a/src/lib/components/Articles.svelte b/src/lib/components/Articles.svelte index 7c0f468..073714e 100644 --- a/src/lib/components/Articles.svelte +++ b/src/lib/components/Articles.svelte @@ -2,10 +2,12 @@ import type { Article } from "$lib/types/article"; import ExternalLink from './ExternalLink.svelte'; - export let articles: Article[]; - export let totalArticles: number; - export let compact: boolean = false; - export let classes: string[] = []; + const { articles, totalArticles, compact = false, classes = [] } = $props<{ + articles: Article[]; + totalArticles: number; + compact?: boolean; + classes?: string[] + }>();
diff --git a/src/lib/components/ExternalLink.svelte b/src/lib/components/ExternalLink.svelte index 4e2fcd5..605eb96 100644 --- a/src/lib/components/ExternalLink.svelte +++ b/src/lib/components/ExternalLink.svelte @@ -1,13 +1,16 @@ diff --git a/src/lib/components/LazyImage.svelte b/src/lib/components/LazyImage.svelte index 9d8c36b..c1f451b 100644 --- a/src/lib/components/LazyImage.svelte +++ b/src/lib/components/LazyImage.svelte @@ -1,22 +1,23 @@
diff --git a/src/lib/components/Link.svelte b/src/lib/components/Link.svelte index 8457da3..89e8288 100644 --- a/src/lib/components/Link.svelte +++ b/src/lib/components/Link.svelte @@ -1,8 +1,10 @@ diff --git a/src/lib/components/Portfolio.svelte b/src/lib/components/Portfolio.svelte index b64afe0..ff3ae8c 100644 --- a/src/lib/components/Portfolio.svelte +++ b/src/lib/components/Portfolio.svelte @@ -1,11 +1,13 @@
diff --git a/src/lib/components/SEO.svelte b/src/lib/components/SEO.svelte index 74ec8a7..6665d42 100644 --- a/src/lib/components/SEO.svelte +++ b/src/lib/components/SEO.svelte @@ -9,17 +9,24 @@ siteUrl, }; - export let title = defaultMetadata.defaultTitle; - export let description = defaultMetadata.defaultDescription; - export let image = defaultMetadata.defaultImage; - export let location: string = ''; + const { + title = defaultMetadata.defaultTitle, + description = defaultMetadata.defaultDescription, + image = defaultMetadata.defaultImage, + location = '' + } = $props<{ + title?: string; + description?: string; + image?: string; + location?: string + }>(); - $: seo = { + let seo = $derived({ title, description, image: `${siteUrl}${image}`, - url: `${siteUrl}${location || ``}`, - }; + url: `${siteUrl}${location || ''}`, + }); diff --git a/src/lib/components/Tag.svelte b/src/lib/components/Tag.svelte index 2c1353a..f47d87a 100644 --- a/src/lib/components/Tag.svelte +++ b/src/lib/components/Tag.svelte @@ -1,5 +1,7 @@ {name} diff --git a/src/lib/components/bandcamp/index.svelte b/src/lib/components/bandcamp/index.svelte index a2db4bd..ca9944b 100644 --- a/src/lib/components/bandcamp/index.svelte +++ b/src/lib/components/bandcamp/index.svelte @@ -1,10 +1,10 @@ {#if showText} diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte index 7fa5778..41b3e2d 100644 --- a/src/lib/components/pagination/index.svelte +++ b/src/lib/components/pagination/index.svelte @@ -1,16 +1,18 @@
diff --git a/src/lib/components/socialImageCard.svelte b/src/lib/components/socialImageCard.svelte index cb4143f..f46cb83 100644 --- a/src/lib/components/socialImageCard.svelte +++ b/src/lib/components/socialImageCard.svelte @@ -1,11 +1,13 @@
- - \ No newline at end of file diff --git a/src/lib/renderImage.ts b/src/lib/renderImage.ts index dd74830..928018a 100644 --- a/src/lib/renderImage.ts +++ b/src/lib/renderImage.ts @@ -1,3 +1,4 @@ +import { render } from 'svelte/server'; import satori from 'satori'; import { Resvg } from '@resvg/resvg-js'; import { html as toReactNode } from 'satori-html'; @@ -10,11 +11,10 @@ import type { SvelteComponent } from 'svelte'; const fontData = read(firaSansSemiBold).arrayBuffer(); -export async function componentToPng(component: SvelteComponent, - props: Record, - height: number, width: number) { - const result = component.render(props); - const markup = toReactNode(`${result.html}`); +export async function componentToPng(component: SvelteComponent, props: Record, height: number, width: number, css: string) { + const result = render(component, { props }); + // const result = component.render(props); + const markup = toReactNode(`${result.html}`); const svg = await satori(markup, { fonts: [ diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 800eb30..d0c4e03 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -19,15 +19,15 @@ const dev = process.env.NODE_ENV !== 'production'; const siteUrl = PUBLIC_SITE_URL || 'https://bradleyshellnut.com/'; - $: { + $effect(() => { if (browser && $navigating) { NProgress.start(); } else { NProgress.done(); } - } + }); - $: metaTags = { + const metaTags = $derived({ titleTemplate: '%s | Bradley Shellnut', additionalMetaTags: [ { @@ -36,7 +36,7 @@ } ], ...$page.data.metaTagsChild - } + }); {#if !dev} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 333088c..929849d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,17 +1,12 @@ diff --git a/src/routes/about/TechListItem.svelte b/src/routes/about/TechListItem.svelte index dbbbb13..c1f93b1 100644 --- a/src/routes/about/TechListItem.svelte +++ b/src/routes/about/TechListItem.svelte @@ -1,11 +1,13 @@
{ const { page } = params; if (+page > +WALLABAG_MAX_PAGES) { - error(404, { - message: 'Not found' - }); + error(404, { message: 'Not found' }); } const resp = await fetch(`/api/articles?page=${page}`); const { articles, currentPage, totalPages, limit, totalArticles, cacheControl }: ArticlePageLoad = diff --git a/src/routes/articles/[page]/+page.svelte b/src/routes/articles/[page]/+page.svelte index d267118..0abb445 100644 --- a/src/routes/articles/[page]/+page.svelte +++ b/src/routes/articles/[page]/+page.svelte @@ -4,12 +4,8 @@ import Articles from "$lib/components/Articles.svelte"; import type { PageData } from "./$types"; - export let data: PageData; - let articles: Article[]; - let currentPage: number; - let totalArticles: number; - let limit: number; - $: ({ articles, currentPage, totalPages, totalArticles, limit } = data); + const { data } = $props(); + const { articles, currentPage, totalArticles, limit } = $state(data);
diff --git a/src/routes/og/+server.ts b/src/routes/og/+server.ts index 6f1a9ac..c0b2be6 100644 --- a/src/routes/og/+server.ts +++ b/src/routes/og/+server.ts @@ -12,6 +12,8 @@ export async function GET({ url }) { const header = url.searchParams.get('header') ?? undefined; const page = url.searchParams.get('page') ?? undefined; const content = url.searchParams.get('content') ?? ''; + const css = (await import('../../styles/socialImageCard.pcss')).default; + console.log('css', css); // @ts-expect-error: Argument of type 'typeof SocialImageCard__SvelteComponent_' is not assignable to parameter of type 'SvelteComponent' return componentToPng(SocialImageCard, { @@ -22,7 +24,7 @@ export async function GET({ url }) { width: `${width}`, height: `${height}`, url: new URL(url.origin).href - }, height, width); + }, height, width, css); } catch (e) { console.error(e); } diff --git a/src/styles/socialImageCard.pcss b/src/styles/socialImageCard.pcss new file mode 100644 index 0000000..6a303af --- /dev/null +++ b/src/styles/socialImageCard.pcss @@ -0,0 +1,66 @@ +@font-face { + font-family: 'Fira Sans'; + src: url('/src/lib/FiraSans-Bold.ttf'); +} + +.social-card { + display: flex; + flex: 1; + flex-direction: column; + justify-content: space-between; + color: #D8D8D8; + background-color: #131415; +} + +.social-card-header { + display: flex; + padding: 0 1.5rem; + flex-direction: column; + background-color: #2E2E2E; +} + +.social-card-title { + display: flex; + align-items: center; + gap: 1rem; + font-size: 1.875rem; /* 30px */ + line-height: 2.25rem; /* 36px */ + font-weight: 700; + letter-spacing: -0.025em; +} + +.social-card-image { + display: flex; + width: 4rem; + height: 4rem; +} + +.social-card-content { + display: flex; + flex-direction: column; + align-items: center; + gap: 2rem; + padding: 1.5rem; + padding-top: 0; +} + +.page { + font-size: 3.75rem; /* 60px */ + line-height: 1; + font-weight: 700; +} + +.content { + font-size: 1.25rem; /* 20px */ + line-height: 1.75rem; /* 28px */ +} + +.social-card-footer { + display: flex; + padding: 1rem 1.5rem; + align-items: center; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: 700; + background-color: #2E2E2E; +} \ No newline at end of file