From 756d6b02580c5e7ede65367116363e0970d1a6fa Mon Sep 17 00:00:00 2001 From: Stefan Imhoff Date: Fri, 3 Jan 2025 14:39:54 +0100 Subject: [PATCH] refactor: replace preact with react --- astro.config.mjs | 6 +- icons-generate.cjs | 5 +- package.json | 14 +- pnpm-lock.yaml | 237 ++++++--------------------- src/components/Backlink.astro | 2 +- src/components/DownloadLink.astro | 2 +- src/components/EmailLink.astro | 2 +- src/components/MoreLink.astro | 2 +- src/components/Pagination.astro | 4 +- src/components/RSSLink.astro | 2 +- src/components/SearchLink.astro | 2 +- src/components/SearchModal.astro | 2 +- src/components/SocialLinks.astro | 16 +- src/components/ThemeToggle.astro | 2 +- src/components/UpLink.astro | 2 +- src/components/icons/ArrowLeft.tsx | 2 +- src/components/icons/ArrowLeftS.tsx | 2 +- src/components/icons/ArrowRight.tsx | 2 +- src/components/icons/ArrowRightS.tsx | 2 +- src/components/icons/ArrowUp.tsx | 2 +- src/components/icons/Circle.tsx | 2 +- src/components/icons/Close.tsx | 2 +- src/components/icons/Download.tsx | 2 +- src/components/icons/Github.tsx | 4 +- src/components/icons/Instagram.tsx | 4 +- src/components/icons/Mail.tsx | 2 +- src/components/icons/MailSend.tsx | 2 +- src/components/icons/Rss.tsx | 2 +- src/components/icons/Search.tsx | 4 +- src/components/icons/Twitter.tsx | 4 +- src/components/icons/TwitterX.tsx | 2 +- tsconfig.json | 2 +- 32 files changed, 97 insertions(+), 245 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 6a9b4c2..5643fea 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,6 +1,6 @@ import mdx from '@astrojs/mdx'; -import preact from '@astrojs/preact'; import prefetch from '@astrojs/prefetch'; +import react from '@astrojs/react'; import sitemap from '@astrojs/sitemap'; import tailwind from '@astrojs/tailwind'; import swup from '@swup/astro'; @@ -28,9 +28,7 @@ export default defineConfig({ remarkPlugins: [remarkReadingTime, remarkWidont], }), tailwind(), - preact({ - compat: true, - }), + react(), swup({ globalInstance: true }), prefetch(), pagefind(), diff --git a/icons-generate.cjs b/icons-generate.cjs index 6a9ba41..d47705c 100644 --- a/icons-generate.cjs +++ b/icons-generate.cjs @@ -31,9 +31,10 @@ const generateIcons = async (iconFiles) => { svg, { plugins: ['@svgr/plugin-svgo', '@svgr/plugin-jsx'], - dimensions: false, + dimensions: true, typescript: true, - jsxRuntime: 'classic-preact', + jsxRuntime: 'automatic', + jsxImportSource: 'react', }, { componentName: iconName } ); diff --git a/package.json b/package.json index 68fd04f..9c701e2 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,8 @@ "dependencies": { "@astro-community/astro-embed-youtube": "^0.5.2", "@astrojs/mdx": "^3.1.3", - "@astrojs/preact": "^3.5.1", "@astrojs/prefetch": "^0.4.1", - "@astrojs/react": "^3.6.1", + "@astrojs/react": "^3.6.2", "@astrojs/rss": "^4.0.7", "@astrojs/sitemap": "^3.1.6", "@astrojs/tailwind": "^5.1.0", @@ -46,10 +45,9 @@ "object-hash": "^3.0.0", "postcss": "^8.4.38", "potrace": "^2.1.8", - "preact": "^10.22.0", - "react": "npm:@preact/compat@latest", + "react": "^18.3.1", "react-chartjs-2": "^5.2.0", - "react-dom": "npm:@preact/compat@latest", + "react-dom": "^18.3.1", "reading-time": "^1.5.0", "swup": "^4.6.1", "tailwindcss": "^3.4.3", @@ -91,11 +89,5 @@ "tailwindcss-opentype": "^1.1.0", "typescript": "^5.4.5", "vite": "^5.2.11" - }, - "pnpm": { - "overrides": { - "react": "npm:@preact/compat@latest", - "react-dom": "npm:@preact/compat@latest" - } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a87f44a..da543ae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - react: npm:@preact/compat@latest - react-dom: npm:@preact/compat@latest - importers: .: @@ -18,15 +14,12 @@ importers: '@astrojs/mdx': specifier: ^3.1.3 version: 3.1.3(astro@4.14.0(@types/node@22.3.0)(rollup@4.20.0)(terser@5.31.6)(typescript@5.5.4)) - '@astrojs/preact': - specifier: ^3.5.1 - version: 3.5.1(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) '@astrojs/prefetch': specifier: ^0.4.1 version: 0.4.1 '@astrojs/react': - specifier: ^3.6.1 - version: 3.6.2(@preact/compat@17.1.2(preact@10.23.2))(@preact/compat@17.1.2(preact@10.23.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) + specifier: ^3.6.2 + version: 3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) '@astrojs/rss': specifier: ^4.0.7 version: 4.0.7 @@ -105,18 +98,15 @@ importers: potrace: specifier: ^2.1.8 version: 2.1.8 - preact: - specifier: ^10.22.0 - version: 10.23.2 react: - specifier: npm:@preact/compat@latest - version: '@preact/compat@17.1.2(preact@10.23.2)' + specifier: ^18.3.1 + version: 18.3.1 react-chartjs-2: specifier: ^5.2.0 - version: 5.2.0(@preact/compat@17.1.2(preact@10.23.2))(chart.js@4.4.3) + version: 5.2.0(chart.js@4.4.3)(react@18.3.1) react-dom: - specifier: npm:@preact/compat@latest - version: '@preact/compat@17.1.2(preact@10.23.2)' + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) reading-time: specifier: ^1.5.0 version: 1.5.0 @@ -290,12 +280,6 @@ packages: peerDependencies: astro: ^4.8.0 - '@astrojs/preact@3.5.1': - resolution: {integrity: sha512-sKF0Di7kwr2pMAc0PbEGuNF9AhJdLImQqtbgUUP3x75zaBg6mJsHmVt5jMqYpW4zWBfLuqACTaNLxWwu6u4nzw==} - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} - peerDependencies: - preact: ^10.6.5 - '@astrojs/prefetch@0.4.1': resolution: {integrity: sha512-bpC875BqeIuWVgqhi4X814ftzzbKocaLkiZczaj8k5J2SRpueIGkww3XmD+yY/Ekkm9j30aS3neVO6wSm4IJNA==} deprecated: '@astrojs/prefetch is deprecated in favor of the builtin prefetch option. Please see the migration guide for more information: https://docs.astro.build/en/guides/prefetch/#migrating-from-astrojsprefetch' @@ -310,8 +294,8 @@ packages: peerDependencies: '@types/react': ^17.0.50 || ^18.0.21 '@types/react-dom': ^17.0.17 || ^18.0.6 - react: npm:@preact/compat@latest - react-dom: npm:@preact/compat@latest + react: ^17.0.2 || ^18.0.0 || ^19.0.0-beta + react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0-beta '@astrojs/rss@4.0.7': resolution: {integrity: sha512-ZEG55XFB19l+DplUvBISmz04UbjDtKliRO4Y5+ERRhAMjgCVVobEBNE6ZwWG1h6orWUocy4nfPihKXDyB73x9g==} @@ -1911,42 +1895,6 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@preact/compat@17.1.2': - resolution: {integrity: sha512-7pOZN9lMDDRQ+6aWvjwTp483KR8/zOpfS83wmOo3zfuLKdngS8/5RLbsFWzFZMGdYlotAhX980hJ75bjOHTwWg==} - peerDependencies: - preact: '*' - - '@preact/preset-vite@2.8.2': - resolution: {integrity: sha512-m3tl+M8IO8jgiHnk+7LSTFl8axdPXloewi7iGVLdmCwf34XOzEUur0bZVewW4DUbUipFjTS2CXu27+5f/oexBA==} - peerDependencies: - '@babel/core': 7.x - vite: 2.x || 3.x || 4.x || 5.x - - '@preact/signals-core@1.8.0': - resolution: {integrity: sha512-OBvUsRZqNmjzCZXWLxkZfhcgT+Fk8DDcT/8vD6a1xhDemodyy87UJRJfASMuSD8FaAIeGgGm85ydXhm7lr4fyA==} - - '@preact/signals@1.3.0': - resolution: {integrity: sha512-EOMeg42SlLS72dhoq6Vjq08havnLseWmPQ8A0YsgIAqMgWgx7V1a39+Pxo6i7SY5NwJtH4849JogFq3M67AzWg==} - peerDependencies: - preact: 10.x - - '@prefresh/babel-plugin@0.5.1': - resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} - - '@prefresh/core@1.5.2': - resolution: {integrity: sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==} - peerDependencies: - preact: ^10.0.0 - - '@prefresh/utils@1.2.0': - resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} - - '@prefresh/vite@2.4.6': - resolution: {integrity: sha512-miYbTl2J1YNaQJWyWHJzyIpNh7vKUuXC1qCDRzPeWjhQ+9bxeXkUBGDGd9I1f37R5GQYi1S65AN5oR0BR2WzvQ==} - peerDependencies: - preact: ^10.4.0 - vite: '>=2.0.0' - '@rollup/plugin-alias@3.1.9': resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} @@ -2677,11 +2625,6 @@ packages: babel-plugin-transform-async-to-promises@0.8.18: resolution: {integrity: sha512-WpOrF76nUHijnNn10eBGOHZmXQC8JYRME9rOLxStOga7Av2VO53ehVFvVNImMksVtQuL2/7ZNxEgxnx7oo/3Hw==} - babel-plugin-transform-hook-names@1.0.2: - resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} - peerDependencies: - '@babel/core': ^7.12.10 - babel-plugin-transform-replace-expressions@0.2.0: resolution: {integrity: sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA==} peerDependencies: @@ -3949,10 +3892,6 @@ packages: hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - header-case@2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} @@ -4443,9 +4382,6 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -4554,6 +4490,10 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -4573,10 +4513,6 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} - make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -4912,9 +4848,6 @@ packages: encoding: optional: true - node-html-parser@6.1.13: - resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} - node-plop@0.32.0: resolution: {integrity: sha512-lKFSRSRuDHhwDKMUobdsvaWCbbDRbV3jMUSMiajQSQux1aNUevAZVxUHc2JERI//W8ABPRbi3ebYuSuIzkNIpQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5736,14 +5669,6 @@ packages: potrace@2.1.8: resolution: {integrity: sha512-V9hI7UMJyEhNZjM8CbZaP/804ZRLgzWkCS9OOYnEZkszzj3zKR/erRdj0uFMcN3pp6x4B+AIZebmkQgGRinG/g==} - preact-render-to-string@6.5.9: - resolution: {integrity: sha512-Fn9R89h6qrQeSRmsH2O2fWzqpVwsJgEL9UTly5nGEV2ldhVuG+9JhXdNJ6zreIkOZcBT20+AOMwlG1x72znJ+g==} - peerDependencies: - preact: '>=10' - - preact@10.23.2: - resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} - prebuild-install@7.1.2: resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} engines: {node: '>=10'} @@ -5915,12 +5840,21 @@ packages: resolution: {integrity: sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==} peerDependencies: chart.js: ^4.1.1 - react: npm:@preact/compat@latest + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} @@ -6168,6 +6102,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scrl@2.0.0: resolution: {integrity: sha512-BbbVXxrOn58Ge4wjOORIRVZamssQu08ISLL/AC2z9aATIsKqZLESwZVW5YR0Yz0C7qqDRHb4yNXJlQ8yW0SGHw==} @@ -6338,10 +6275,6 @@ packages: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - stack-trace@1.0.0-pre2: - resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} - engines: {node: '>=16'} - stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} @@ -7315,20 +7248,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/preact@3.5.1(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6))': - dependencies: - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@preact/preset-vite': 2.8.2(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) - '@preact/signals': 1.3.0(preact@10.23.2) - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.25.2) - preact: 10.23.2 - preact-render-to-string: 6.5.9(preact@10.23.2) - transitivePeerDependencies: - - '@babel/core' - - supports-color - - vite - '@astrojs/prefetch@0.4.1': dependencies: throttles: 1.0.1 @@ -7337,13 +7256,13 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/react@3.6.2(@preact/compat@17.1.2(preact@10.23.2))(@preact/compat@17.1.2(preact@10.23.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6))': + '@astrojs/react@3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6))': dependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@vitejs/plugin-react': 4.3.1(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) - react: '@preact/compat@17.1.2(preact@10.23.2)' - react-dom: '@preact/compat@17.1.2(preact@10.23.2)' + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.5.3 transitivePeerDependencies: - supports-color @@ -9197,57 +9116,6 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@preact/compat@17.1.2(preact@10.23.2)': - dependencies: - preact: 10.23.2 - - '@preact/preset-vite@2.8.2(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6))': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@prefresh/vite': 2.4.6(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6)) - '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.25.2) - debug: 4.3.6 - kolorist: 1.8.0 - magic-string: 0.30.5 - node-html-parser: 6.1.13 - resolve: 1.22.8 - source-map: 0.7.4 - stack-trace: 1.0.0-pre2 - vite: 5.4.0(@types/node@22.3.0)(terser@5.31.6) - transitivePeerDependencies: - - preact - - supports-color - - '@preact/signals-core@1.8.0': {} - - '@preact/signals@1.3.0(preact@10.23.2)': - dependencies: - '@preact/signals-core': 1.8.0 - preact: 10.23.2 - - '@prefresh/babel-plugin@0.5.1': {} - - '@prefresh/core@1.5.2(preact@10.23.2)': - dependencies: - preact: 10.23.2 - - '@prefresh/utils@1.2.0': {} - - '@prefresh/vite@2.4.6(preact@10.23.2)(vite@5.4.0(@types/node@22.3.0)(terser@5.31.6))': - dependencies: - '@babel/core': 7.25.2 - '@prefresh/babel-plugin': 0.5.1 - '@prefresh/core': 1.5.2(preact@10.23.2) - '@prefresh/utils': 1.2.0 - '@rollup/pluginutils': 4.2.1 - preact: 10.23.2 - vite: 5.4.0(@types/node@22.3.0)(terser@5.31.6) - transitivePeerDependencies: - - supports-color - '@rollup/plugin-alias@3.1.9(rollup@2.79.1)': dependencies: rollup: 2.79.1 @@ -10187,10 +10055,6 @@ snapshots: babel-plugin-transform-async-to-promises@0.8.18: {} - babel-plugin-transform-hook-names@1.0.2(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - babel-plugin-transform-replace-expressions@0.2.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -11844,8 +11708,6 @@ snapshots: property-information: 6.5.0 space-separated-tokens: 2.0.2 - he@1.2.0: {} - header-case@2.0.4: dependencies: capital-case: 1.0.4 @@ -12275,8 +12137,6 @@ snapshots: kleur@4.1.5: {} - kolorist@1.8.0: {} - language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -12410,6 +12270,10 @@ snapshots: longest-streak@3.1.0: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + lower-case@2.0.2: dependencies: tslib: 2.6.3 @@ -12430,10 +12294,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.5: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - make-dir@3.1.0: dependencies: semver: 6.3.1 @@ -13047,11 +12907,6 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-html-parser@6.1.13: - dependencies: - css-select: 5.1.0 - he: 1.2.0 - node-plop@0.32.0: dependencies: '@types/inquirer': 9.0.7 @@ -13870,12 +13725,6 @@ snapshots: transitivePeerDependencies: - debug - preact-render-to-string@6.5.9(preact@10.23.2): - dependencies: - preact: 10.23.2 - - preact@10.23.2: {} - prebuild-install@7.1.2: dependencies: detect-libc: 2.0.3 @@ -13980,13 +13829,23 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-chartjs-2@5.2.0(@preact/compat@17.1.2(preact@10.23.2))(chart.js@4.4.3): + react-chartjs-2@5.2.0(chart.js@4.4.3)(react@18.3.1): dependencies: chart.js: 4.4.3 - react: '@preact/compat@17.1.2(preact@10.23.2)' + react: 18.3.1 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 react-refresh@0.14.2: {} + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + read-cache@1.0.0: dependencies: pify: 2.3.0 @@ -14333,6 +14192,10 @@ snapshots: sax@1.4.1: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scrl@2.0.0: {} section-matter@1.0.0: @@ -14533,8 +14396,6 @@ snapshots: stable@0.1.8: {} - stack-trace@1.0.0-pre2: {} - stdin-discarder@0.2.2: {} stop-iteration-iterator@1.0.0: diff --git a/src/components/Backlink.astro b/src/components/Backlink.astro index a09b8f7..71161d0 100644 --- a/src/components/Backlink.astro +++ b/src/components/Backlink.astro @@ -29,7 +29,7 @@ const { backLink, class: className, ...props } = Astro.props; type="button" tabindex={-1} > -