From c0b0ea4493fcde9ca12121ffbcc05dc4613061ed Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 29 Apr 2023 06:25:19 +0200 Subject: [PATCH] remove preact --- pnpm-lock.yaml | 110 +----------------- website/astro.config.mjs | 4 - website/package.json | 2 - website/src/components/Header/Header.astro | 4 - .../src/components/Header/SidebarToggle.tsx | 39 ------- .../components/PageContent/PageContent.astro | 4 - .../components/RightSidebar/MoreMenu.astro | 4 - .../RightSidebar/TableOfContents.tsx | 13 +-- .../RightSidebar/ThemeToggleButton.css | 37 ------ .../RightSidebar/ThemeToggleButton.tsx | 70 ----------- 10 files changed, 6 insertions(+), 281 deletions(-) delete mode 100644 website/src/components/Header/SidebarToggle.tsx delete mode 100644 website/src/components/RightSidebar/ThemeToggleButton.css delete mode 100644 website/src/components/RightSidebar/ThemeToggleButton.tsx diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51ce8420..f2373288 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -474,9 +474,6 @@ importers: '@astrojs/mdx': specifier: ^0.13.0 version: 0.13.0(rollup@3.12.0) - '@astrojs/preact': - specifier: ^1.2.0 - version: 1.2.0(preact@10.11.3) '@astrojs/react': specifier: ^1.2.2 version: 1.2.2(@types/react-dom@18.0.10)(@types/react@18.0.27)(react-dom@18.2.0)(react@18.2.0) @@ -573,9 +570,6 @@ importers: nanostores: specifier: ^0.8.1 version: 0.8.1 - preact: - specifier: ^10.7.3 - version: 10.11.3 react: specifier: ^18.2.0 version: 18.2.0 @@ -831,22 +825,6 @@ packages: uvu: 0.5.6 vfile-message: 3.1.3 - /@astrojs/preact@1.2.0(preact@10.11.3): - resolution: {integrity: sha512-Vm8rkBIE3cNlxhFoUO2Rsv5RxSP7x7Oi9J6qz8+91lwAIjdm6oyDOrrBmdGqsONJ1MqnjPG4EPmIZJGuFtz2SQ==} - engines: {node: ^14.18.0 || >=16.12.0} - peerDependencies: - preact: ^10.6.5 - dependencies: - '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx': 7.20.13(@babel/core@7.20.12) - '@preact/signals': 1.1.3(preact@10.11.3) - babel-plugin-module-resolver: 4.1.0 - preact: 10.11.3 - preact-render-to-string: 5.2.6(preact@10.11.3) - transitivePeerDependencies: - - supports-color - dev: false - /@astrojs/prism@1.0.2: resolution: {integrity: sha512-o3cUVoAuALDqdN5puNlsN2eO4Yi1kDh68YO8V7o6U4Ts+J/mMayzlJ7JsgYAmob0xrf/XnADVgu8khfMv/w3uA==} engines: {node: ^14.18.0 || >=16.12.0} @@ -2974,19 +2952,6 @@ packages: /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - /@preact/signals-core@1.2.3: - resolution: {integrity: sha512-Kui4p7PMcEQevBgsTO0JBo3gyQ88Q3qzEvsVCuSp11t0JcN4DmGCTJcGRVSCq7Bn7lGxJBO+57jNSzDoDJ+QmA==} - dev: false - - /@preact/signals@1.1.3(preact@10.11.3): - resolution: {integrity: sha512-N09DuAVvc90bBZVRwD+aFhtGyHAmJLhS3IFoawO/bYJRcil4k83nBOchpCEoS0s5+BXBpahgp0Mjf+IOqP57Og==} - peerDependencies: - preact: 10.x - dependencies: - '@preact/signals-core': 1.2.3 - preact: 10.11.3 - dev: false - /@proload/core@0.3.3: resolution: {integrity: sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==} dependencies: @@ -4501,17 +4466,6 @@ packages: - debug dev: true - /babel-plugin-module-resolver@4.1.0: - resolution: {integrity: sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==} - engines: {node: '>= 8.0.0'} - dependencies: - find-babel-config: 1.2.0 - glob: 7.2.3 - pkg-up: 3.1.0 - reselect: 4.1.7 - resolve: 1.22.1 - dev: false - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.12): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: @@ -6525,14 +6479,6 @@ packages: dependencies: to-regex-range: 5.0.1 - /find-babel-config@1.2.0: - resolution: {integrity: sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==} - engines: {node: '>=4.0.0'} - dependencies: - json5: 0.5.1 - path-exists: 3.0.0 - dev: false - /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} @@ -6556,13 +6502,6 @@ packages: locate-path: 2.0.0 dev: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: false - /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -7962,11 +7901,6 @@ packages: /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - /json5@0.5.1: - resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} - hasBin: true - dev: false - /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -8239,14 +8173,6 @@ packages: path-exists: 3.0.0 dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: false - /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -9786,13 +9712,6 @@ packages: p-limit: 1.3.0 dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: false - /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -9962,6 +9881,7 @@ packages: /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} + dev: true /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -10086,13 +10006,6 @@ packages: mlly: 1.2.0 pathe: 1.1.0 - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} - dependencies: - find-up: 3.0.0 - dev: false - /pkg@5.8.0: resolution: {integrity: sha512-8h9PUDYFi+LOMLbIyGRdP21g08mAtHidSpofSrf8LWhxUWGHymaRzcopEGiynB5EhQmZUKM6PQ9kCImV2TpdjQ==} hasBin: true @@ -10204,19 +10117,6 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string@5.2.6(preact@10.11.3): - resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} - peerDependencies: - preact: '>=10' - dependencies: - preact: 10.11.3 - pretty-format: 3.8.0 - dev: false - - /preact@10.11.3: - resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} - dev: false - /prebuild-install@6.1.4: resolution: {integrity: sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==} engines: {node: '>=6'} @@ -10308,10 +10208,6 @@ packages: ansi-styles: 5.2.0 react-is: 17.0.2 - /pretty-format@3.8.0: - resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} - dev: false - /prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} @@ -10837,10 +10733,6 @@ packages: lodash: 4.17.21 dev: true - /reselect@4.1.7: - resolution: {integrity: sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==} - dev: false - /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} diff --git a/website/astro.config.mjs b/website/astro.config.mjs index a90ce0f6..bedf4620 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -1,5 +1,4 @@ import { defineConfig } from 'astro/config'; -import preact from '@astrojs/preact'; import react from '@astrojs/react'; import mdx from '@astrojs/mdx'; @@ -47,9 +46,6 @@ const options = { // https://astro.build/config export default defineConfig({ integrations: [ - // Enable Preact to support Preact JSX components. - preact(), - // Enable React for the Algolia search component. react(), mdx(options), tailwind(), diff --git a/website/package.json b/website/package.json index af64b0e7..0a7a2c78 100644 --- a/website/package.json +++ b/website/package.json @@ -14,7 +14,6 @@ "dependencies": { "@algolia/client-search": "^4.13.1", "@astrojs/mdx": "^0.13.0", - "@astrojs/preact": "^1.2.0", "@astrojs/react": "^1.2.2", "@astrojs/tailwind": "^2.1.3", "@docsearch/css": "^3.1.0", @@ -47,7 +46,6 @@ "fraction.js": "^4.2.0", "nanoid": "^4.0.0", "nanostores": "^0.8.1", - "preact": "^10.7.3", "react": "^18.2.0", "react-dom": "^18.2.0", "rehype-autolink-headings": "^6.1.1", diff --git a/website/src/components/Header/Header.astro b/website/src/components/Header/Header.astro index 9e2a34c8..5912569d 100644 --- a/website/src/components/Header/Header.astro +++ b/website/src/components/Header/Header.astro @@ -2,7 +2,6 @@ // import { getLanguageFromURL, KNOWN_LANGUAGE_CODES } from '../../languages'; import * as CONFIG from '../../config'; // import AstroLogo from './AstroLogo.astro'; -import SidebarToggle from './SidebarToggle'; // import LanguageSelect from './LanguageSelect'; import Search from './Search'; import CommandLineIcon from '@heroicons/react/20/solid/CommandLineIcon'; @@ -23,9 +22,6 @@ const sidebar = SIDEBAR[langCode]; class="flex justify-between py-2 px-4 items-center h-14 max-h-14 bg-lineHighlight text-foreground" title="Top Navigation" > -

diff --git a/website/src/components/Header/SidebarToggle.tsx b/website/src/components/Header/SidebarToggle.tsx deleted file mode 100644 index e07beb29..00000000 --- a/website/src/components/Header/SidebarToggle.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/** @jsxImportSource preact */ -import type { FunctionalComponent } from 'preact'; -import { useState, useEffect } from 'preact/hooks'; - -const MenuToggle: FunctionalComponent = () => { - const [sidebarShown, setSidebarShown] = useState(false); - - useEffect(() => { - const body = document.querySelector('body')!; - if (sidebarShown) { - body.classList.add('mobile-sidebar-toggle'); - } else { - body.classList.remove('mobile-sidebar-toggle'); - } - }, [sidebarShown]); - - return ( - - ); -}; - -export default MenuToggle; diff --git a/website/src/components/PageContent/PageContent.astro b/website/src/components/PageContent/PageContent.astro index 367e80e2..9c433945 100644 --- a/website/src/components/PageContent/PageContent.astro +++ b/website/src/components/PageContent/PageContent.astro @@ -18,10 +18,6 @@ const currentPage = Astro.url.pathname;
-
diff --git a/website/src/components/RightSidebar/MoreMenu.astro b/website/src/components/RightSidebar/MoreMenu.astro index e68ec6f3..7b606a1b 100644 --- a/website/src/components/RightSidebar/MoreMenu.astro +++ b/website/src/components/RightSidebar/MoreMenu.astro @@ -1,5 +1,4 @@ --- -import ThemeToggleButton from './ThemeToggleButton'; import * as CONFIG from '../../config'; type Props = { @@ -64,6 +63,3 @@ const showMoreSection = CONFIG.COMMUNITY_INVITE_URL; ) } -
- -
diff --git a/website/src/components/RightSidebar/TableOfContents.tsx b/website/src/components/RightSidebar/TableOfContents.tsx index 99c0eb54..7ad31ceb 100644 --- a/website/src/components/RightSidebar/TableOfContents.tsx +++ b/website/src/components/RightSidebar/TableOfContents.tsx @@ -1,17 +1,14 @@ import { unescape } from 'html-escaper'; import type { MarkdownHeading } from 'astro'; -import type { FunctionalComponent } from 'preact'; -import { useState, useEffect, useRef } from 'preact/hooks'; +import type { FC } from 'react'; +import { useState, useEffect, useRef } from 'react'; type ItemOffsets = { id: string; topOffset: number; }; -const TableOfContents: FunctionalComponent<{ headings: MarkdownHeading[]; currentPage: string }> = ({ - headings = [], - currentPage, -}) => { +const TableOfContents: FC<{ headings: MarkdownHeading[]; currentPage: string }> = ({ headings = [], currentPage }) => { const toc = useRef(); const onThisPageID = 'on-this-page-heading'; const itemOffsets = useRef([]); @@ -73,8 +70,8 @@ const TableOfContents: FunctionalComponent<{ headings: MarkdownHeading[]; curren