diff --git a/astro.config.mjs b/astro.config.mjs index 670aa965d..43291cbcf 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,5 +1,4 @@ // https://astro.build/config -import preact from '@astrojs/preact'; import sitemap from '@astrojs/sitemap'; import tailwind from '@astrojs/tailwind'; import compress from 'astro-compress'; @@ -8,6 +7,8 @@ import rehypeExternalLinks from 'rehype-external-links'; import { fileURLToPath } from 'node:url'; import { serializeSitemap, shouldIndexPage } from './sitemap.mjs'; +import react from '@astrojs/react'; + // https://astro.build/config export default defineConfig({ site: 'https://roadmap.sh/', @@ -31,11 +32,9 @@ export default defineConfig({ 'https://cs.fyi', 'https://roadmap.sh', ]; - if (whiteListedStarts.some((start) => href.startsWith(start))) { return []; } - return 'noopener noreferrer nofollow'; }, }, @@ -75,6 +74,6 @@ export default defineConfig({ CSS: false, JavaScript: false, }), - preact(), + react(), ], }); diff --git a/package.json b/package.json index 7bc3b6a61..ccd48fe02 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,13 @@ "test:e2e": "playwright test" }, "dependencies": { - "@astrojs/preact": "^2.2.1", + "@astrojs/react": "^2.2.2", "@astrojs/sitemap": "^1.3.3", "@astrojs/tailwind": "^3.1.3", "@fingerprintjs/fingerprintjs": "^3.4.1", - "@nanostores/preact": "^0.5.0", + "@nanostores/react": "^0.7.1", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", "astro": "^2.6.6", "astro-compress": "^2.0.8", "jose": "^4.14.4", @@ -33,7 +35,8 @@ "nanostores": "^0.9.2", "node-html-parser": "^6.1.5", "npm-check-updates": "^16.10.12", - "preact": "^10.15.1", + "react": "^18.0.0", + "react-dom": "^18.0.0", "rehype-external-links": "^2.1.0", "roadmap-renderer": "^1.0.6", "slugify": "^1.6.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d29641f29..27a0194a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: - '@astrojs/preact': - specifier: ^2.2.1 - version: 2.2.1(preact@10.15.1) + '@astrojs/react': + specifier: ^2.2.2 + version: 2.2.2(@types/react-dom@18.0.6)(@types/react@18.0.21)(react-dom@18.0.0)(react@18.0.0) '@astrojs/sitemap': specifier: ^1.3.3 version: 1.3.3 @@ -17,9 +17,15 @@ dependencies: '@fingerprintjs/fingerprintjs': specifier: ^3.4.1 version: 3.4.1 - '@nanostores/preact': - specifier: ^0.5.0 - version: 0.5.0(nanostores@0.9.2)(preact@10.15.1) + '@nanostores/react': + specifier: ^0.7.1 + version: 0.7.1(nanostores@0.9.2)(react@18.0.0) + '@types/react': + specifier: ^18.0.21 + version: 18.0.21 + '@types/react-dom': + specifier: ^18.0.6 + version: 18.0.6 astro: specifier: ^2.6.6 version: 2.6.6 @@ -41,9 +47,12 @@ dependencies: npm-check-updates: specifier: ^16.10.12 version: 16.10.12 - preact: - specifier: ^10.15.1 - version: 10.15.1 + react: + specifier: ^18.0.0 + version: 18.0.0 + react-dom: + specifier: ^18.0.0 + version: 18.0.0(react@18.0.0) rehype-external-links: specifier: ^2.1.0 version: 2.1.0 @@ -106,8 +115,8 @@ packages: '@jridgewell/trace-mapping': 0.3.19 dev: false - /@astrojs/compiler@1.8.1: - resolution: {integrity: sha512-C28qplQzgIJ+JU9S+1wNx+ue2KCBUp0TTAd10EWAEkk4RsL3Tzlw0BYvLDDb4KP9jS48lXmR4/1TtZ4aavYJ8Q==} + /@astrojs/compiler@1.8.2: + resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==} /@astrojs/internal-helpers@0.1.2: resolution: {integrity: sha512-YXLk1CUDdC9P5bjFZcGjz+cE/ZDceXObDTXn/GCID4r8LjThuexxi+dlJqukmUpkSItzQqgzfWnrPLxSFPejdA==} @@ -117,14 +126,14 @@ packages: resolution: {integrity: sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==} hasBin: true dependencies: - '@astrojs/compiler': 1.8.1 + '@astrojs/compiler': 1.8.2 '@jridgewell/trace-mapping': 0.3.19 '@vscode/emmet-helper': 2.9.2 events: 3.3.0 prettier: 2.8.8 prettier-plugin-astro: 0.9.1 - vscode-css-languageservice: 6.2.6 - vscode-html-languageservice: 5.0.6 + vscode-css-languageservice: 6.2.7 + vscode-html-languageservice: 5.0.7 vscode-languageserver: 8.1.0 vscode-languageserver-protocol: 3.17.3 vscode-languageserver-textdocument: 1.0.8 @@ -142,7 +151,7 @@ packages: github-slugger: 1.5.0 import-meta-resolve: 2.2.2 rehype-raw: 6.1.1 - rehype-stringify: 9.0.3 + rehype-stringify: 9.0.4 remark-gfm: 3.0.1 remark-parse: 10.0.2 remark-rehype: 10.1.0 @@ -155,22 +164,6 @@ packages: - supports-color dev: false - /@astrojs/preact@2.2.1(preact@10.15.1): - resolution: {integrity: sha512-lObgrX/qfK2sEnGDWoyQ8KojFJ54FIKB4TeywWmgj4ZTg0yLnvvOz6ReyPQ8VfR/1MU+vWs22jE4cuZJ/vPnOA==} - engines: {node: '>=16.12.0'} - peerDependencies: - preact: ^10.6.5 - dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@preact/signals': 1.2.0(preact@10.15.1) - babel-plugin-module-resolver: 5.0.0 - preact: 10.15.1 - preact-render-to-string: 5.2.6(preact@10.15.1) - transitivePeerDependencies: - - supports-color - dev: false - /@astrojs/prism@2.1.2: resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==} engines: {node: '>=16.12.0'} @@ -178,11 +171,30 @@ packages: prismjs: 1.29.0 dev: false + /@astrojs/react@2.2.2(@types/react-dom@18.0.6)(@types/react@18.0.21)(react-dom@18.0.0)(react@18.0.0): + resolution: {integrity: sha512-fq0hbujQNi+rCh5TgO9h8drYwK0tn5Ad10nZjTSrw8e8aky/R6oMf9yuJwG5jOrzlCmJ/2r9stltSzA0xn0cHQ==} + engines: {node: '>=16.12.0'} + peerDependencies: + '@types/react': ^17.0.50 || ^18.0.21 + '@types/react-dom': ^17.0.17 || ^18.0.6 + react: ^17.0.2 || ^18.0.0 + react-dom: ^17.0.2 || ^18.0.0 + dependencies: + '@babel/core': 7.22.11 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) + '@types/react': 18.0.21 + '@types/react-dom': 18.0.6 + react: 18.0.0 + react-dom: 18.0.0(react@18.0.0) + transitivePeerDependencies: + - supports-color + dev: false + /@astrojs/sitemap@1.3.3: resolution: {integrity: sha512-TPyyb/hKxc+bHPpSoNPhsuI0QOTVzq2tueg2r0CTH1HqigYIAA2LQkCBlQzz85R+LrOZpv4kXYmhxdDcSkJCmA==} dependencies: sitemap: 7.1.1 - zod: 3.21.4 + zod: 3.22.2 dev: false /@astrojs/tailwind@3.1.3(astro@2.6.6)(tailwindcss@3.3.2): @@ -193,9 +205,9 @@ packages: dependencies: '@proload/core': 0.3.3 astro: 2.6.6 - autoprefixer: 10.4.14(postcss@8.4.27) - postcss: 8.4.27 - postcss-load-config: 4.0.1(postcss@8.4.27) + autoprefixer: 10.4.15(postcss@8.4.29) + postcss: 8.4.29 + postcss-load-config: 4.0.1(postcss@8.4.29) tailwindcss: 3.3.2 transitivePeerDependencies: - ts-node @@ -223,11 +235,11 @@ packages: undici: 5.23.0 dev: false - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.22.13 chalk: 2.4.2 dev: false @@ -236,20 +248,20 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.22.11: + resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.10 '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/helpers': 7.22.11 + '@babel/parser': 7.22.14 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -263,7 +275,7 @@ packages: resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -273,7 +285,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@babel/helper-compilation-targets@7.22.10: @@ -297,30 +309,30 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -337,14 +349,14 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@babel/helper-string-parser@7.22.5: @@ -362,19 +374,19 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.22.11: + resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.22.13: + resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.5 @@ -382,67 +394,67 @@ packages: js-tokens: 4.0.0 dev: false - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + /@babel/parser@7.22.14: + resolution: {integrity: sha512-1KucTHgOvaw/LzCVrEOAyXkr9rQlp0A1HiHRYnSUE9dmb8PvPW7o5sscg+5169r54n3vGlbx6GevTE/Iw/P3AQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) + '@babel/types': 7.22.11 dev: false /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.14 + '@babel/types': 7.22.11 dev: false - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.22.11: + resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.14 + '@babel/types': 7.22.11 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.22.11: + resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -872,7 +884,7 @@ packages: /@fingerprintjs/fingerprintjs@3.4.1: resolution: {integrity: sha512-i3TqlaIdF+4qDHP6OStMtLXCnvnoo2C156rNPm9/kIglUtnLAF45+sGkZZmVQB+58dDF0mNpaiqvKHNSR8J1Hg==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: false /@isaacs/cliui@8.0.2: @@ -923,15 +935,15 @@ packages: resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==} dev: false - /@nanostores/preact@0.5.0(nanostores@0.9.2)(preact@10.15.1): - resolution: {integrity: sha512-Zq5DEAY+kIfwJ1NPd43D1mpsbISuiD6N/SuTHrt/8jUoifLwXaReaZMAnvkvbIGOgcB1Hy++A9jZix2taNNYxQ==} + /@nanostores/react@0.7.1(nanostores@0.9.2)(react@18.0.0): + resolution: {integrity: sha512-EXQg9N4MdI4eJQz/AZLIx3hxQ6BuBmV4Q55bCd5YCSgEOAW7tGTsIZxpRXxvxLXzflNvHTBvfrDNY38TlSVBkQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} peerDependencies: nanostores: ^0.9.0 - preact: '>=10.0.0' + react: '>=18.0.0' dependencies: nanostores: 0.9.2 - preact: 10.15.1 + react: 18.0.0 dev: false /@nodelib/fs.scandir@2.1.5: @@ -1025,7 +1037,7 @@ packages: is-glob: 4.0.3 open: 9.1.0 picocolors: 1.0.0 - tslib: 2.6.1 + tslib: 2.6.2 dev: false /@playwright/test@1.35.1: @@ -1033,7 +1045,7 @@ packages: engines: {node: '>=16'} hasBin: true dependencies: - '@types/node': 20.4.9 + '@types/node': 20.5.7 playwright-core: 1.35.1 optionalDependencies: fsevents: 2.3.2 @@ -1060,19 +1072,6 @@ packages: config-chain: 1.1.13 dev: false - /@preact/signals-core@1.4.0: - resolution: {integrity: sha512-5iYoZBhELLIhUQceZI7sDTQWPb+xcVSn2qk8T/aNl/VMh+A4AiPX9YRSh4XO7fZ6pncrVxl1Iln82poVqYVbbw==} - dev: false - - /@preact/signals@1.2.0(preact@10.15.1): - resolution: {integrity: sha512-hrPOJ6L4XI/6iFJ++JitYG7W22E0+oNDkWH9W1gCutcKYCJq5tvhKcnxkLShCuctNZkwUBpu4XeIiVr5wC4NnA==} - peerDependencies: - preact: 10.x - dependencies: - '@preact/signals-core': 1.4.0 - preact: 10.15.1 - dev: false - /@proload/core@0.3.3: resolution: {integrity: sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==} dependencies: @@ -1080,23 +1079,34 @@ packages: escalade: 3.1.1 dev: false - /@sigstore/bundle@1.0.0: - resolution: {integrity: sha512-yLvrWDOh6uMOUlFCTJIZEnwOT9Xte7NPXUqVexEKGSF5XtBAuSg5du0kn3dRR0p47a4ah10Y0mNt8+uyeQXrBQ==} + /@sigstore/bundle@1.1.0: + resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.0 + '@sigstore/protobuf-specs': 0.2.1 dev: false - /@sigstore/protobuf-specs@0.2.0: - resolution: {integrity: sha512-8ZhZKAVfXjIspDWwm3D3Kvj0ddbJ0HqDZ/pOs5cx88HpT8mVsotFrg7H1UMnXOuDHz6Zykwxn4mxG3QLuN+RUg==} + /@sigstore/protobuf-specs@0.2.1: + resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false + /@sigstore/sign@1.0.0: + resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + make-fetch-happen: 11.1.1 + transitivePeerDependencies: + - supports-color + dev: false + /@sigstore/tuf@1.0.3: resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.0 + '@sigstore/protobuf-specs': 0.2.1 tuf-js: 1.1.7 transitivePeerDependencies: - supports-color @@ -1152,8 +1162,8 @@ packages: /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.14 + '@babel/types': 7.22.11 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -1162,20 +1172,20 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.14 + '@babel/types': 7.22.11 dev: false /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 dev: false /@types/css-tree@2.3.1: @@ -1197,7 +1207,7 @@ packages: /@types/hast@2.3.5: resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/html-minifier-terser@7.0.0: @@ -1219,7 +1229,7 @@ packages: /@types/mdast@3.0.12: resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/ms@0.7.31: @@ -1229,25 +1239,43 @@ packages: /@types/nlcst@1.0.1: resolution: {integrity: sha512-aVIyXt6pZiiMOtVByE4Y0gf+BLm1Cxc4ZLSK8VRHn1CgkO+kXbQwN/EBhQmhPdBMjFJCMBKtmNW2zWQuFywz8Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.4.9: - resolution: {integrity: sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==} - dev: true - /@types/node@20.5.0: resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} dev: false + /@types/node@20.5.7: + resolution: {integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==} + dev: true + /@types/parse5@6.0.3: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: false + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react-dom@18.0.6: + resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} + dependencies: + '@types/react': 18.0.21 + dev: false + + /@types/react@18.0.21: + resolution: {integrity: sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: false + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: false @@ -1258,8 +1286,12 @@ packages: '@types/node': 17.0.45 dev: false - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: false + + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: false /@types/yargs-parser@21.0.0: @@ -1276,8 +1308,8 @@ packages: vscode-uri: 2.1.2 dev: false - /@vscode/l10n@0.0.14: - resolution: {integrity: sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==} + /@vscode/l10n@0.0.16: + resolution: {integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==} dev: false /abbrev@1.1.1: @@ -1431,18 +1463,18 @@ packages: sharp: optional: true dependencies: - '@astrojs/compiler': 1.8.1 + '@astrojs/compiler': 1.8.2 '@astrojs/internal-helpers': 0.1.2 '@astrojs/language-server': 1.0.8 '@astrojs/markdown-remark': 2.2.1(astro@2.6.6) '@astrojs/telemetry': 2.1.1 '@astrojs/webapi': 2.2.0 - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/generator': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.14 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 '@types/babel__core': 7.20.1 '@types/yargs-parser': 21.0.0 acorn: 8.10.0 @@ -1470,7 +1502,7 @@ packages: ora: 6.3.1 p-limit: 4.0.0 path-to-regexp: 6.2.1 - preferred-pm: 3.0.3 + preferred-pm: 3.1.1 prompts: 2.4.2 rehype: 12.0.1 semver: 7.5.4 @@ -1481,13 +1513,13 @@ packages: strip-ansi: 7.1.0 supports-esm: 1.0.0 tsconfig-resolver: 3.0.1 - typescript: 5.1.6 + typescript: 5.2.2 unist-util-visit: 4.1.2 vfile: 5.3.7 vite: 4.4.9 vitefu: 0.2.4(vite@4.4.9) yargs-parser: 21.1.1 - zod: 3.21.4 + zod: 3.22.2 transitivePeerDependencies: - '@types/node' - less @@ -1507,19 +1539,19 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /autoprefixer@10.4.14(postcss@8.4.27): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + /autoprefixer@10.4.15(postcss@8.4.29): + resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.21.10 - caniuse-lite: 1.0.30001519 - fraction.js: 4.2.0 + caniuse-lite: 1.0.30001525 + fraction.js: 4.3.4 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.27 + postcss: 8.4.29 postcss-value-parser: 4.2.0 dev: false @@ -1535,17 +1567,6 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false - /babel-plugin-module-resolver@5.0.0: - resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==} - engines: {node: '>= 16'} - dependencies: - find-babel-config: 2.0.0 - glob: 8.1.0 - pkg-up: 3.1.0 - reselect: 4.1.8 - resolve: 1.22.4 - dev: false - /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: false @@ -1644,8 +1665,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.488 + caniuse-lite: 1.0.30001525 + electron-to-chromium: 1.4.506 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: false @@ -1688,20 +1709,20 @@ packages: streamsearch: 1.1.0 dev: false - /cacache@17.1.3: - resolution: {integrity: sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==} + /cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.2 - glob: 10.3.3 + fs-minipass: 3.0.3 + glob: 10.3.4 lru-cache: 7.18.3 - minipass: 5.0.0 + minipass: 7.0.3 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - ssri: 10.0.4 + ssri: 10.0.5 tar: 6.1.15 unique-filename: 3.0.0 dev: false @@ -1728,7 +1749,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.6.1 + tslib: 2.6.2 dev: false /camelcase-css@2.0.1: @@ -1745,8 +1766,8 @@ packages: engines: {node: '>=14.16'} dev: false - /caniuse-lite@1.0.30001519: - resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + /caniuse-lite@1.0.30001525: + resolution: {integrity: sha512-/3z+wB4icFt3r0USMwxujAqRvaD/B7rvGTsKhbhSQErVrJvkZCLhgNLJxU8MevahQVH6hCU9FsHdNUFbiwmE7Q==} dev: false /ccount@2.0.1: @@ -1799,7 +1820,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -2028,6 +2049,10 @@ packages: css-tree: 2.2.1 dev: false + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + /csv-parser@3.0.0: resolution: {integrity: sha512-s6OYSXAK3IdKqYO33y09jhypG/bSDHPuyCme/IdEHfWpLf/jKcpitVFyOC6UemgGk8v7Q5u2XE0vvwmanxhGlQ==} engines: {node: '>= 10'} @@ -2187,7 +2212,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.6.2 dev: false /dot-prop@6.0.1: @@ -2206,8 +2231,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: false - /electron-to-chromium@1.4.488: - resolution: {integrity: sha512-Dv4sTjiW7t/UWGL+H8ZkgIjtUAVZDgb/PwGWvMsCT7jipzUV/u5skbLXPFKb6iV0tiddVi/bcS2/kUrczeWgIQ==} + /electron-to-chromium@1.4.506: + resolution: {integrity: sha512-xxGct4GPAKSRlrLBtJxJFYy74W11zX6PO9GyHgl/U+2s3Dp0ZEwAklDfNHXOWcvH7zWMpsmgbR0ggEuaYAVvHA==} dev: false /email-addresses@5.0.0: @@ -2425,8 +2450,8 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - /fast-fifo@1.3.0: - resolution: {integrity: sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==} + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: @@ -2476,14 +2501,6 @@ packages: dependencies: to-regex-range: 5.0.1 - /find-babel-config@2.0.0: - resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==} - engines: {node: '>=16.0.0'} - dependencies: - json5: 2.2.3 - path-exists: 4.0.0 - dev: false - /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} @@ -2493,13 +2510,6 @@ packages: pkg-dir: 4.2.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'} @@ -2559,8 +2569,8 @@ packages: engines: {node: '>=10'} dev: false - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.4: + resolution: {integrity: sha512-pwiTgt0Q7t+GHZA4yaLjObx4vXmmdcS0iSJ19o8d/goUGgItX9UZWKWNnLHehxviD8wU2IWRsnR8cD5+yOJP2Q==} dev: false /fs-constants@1.0.0: @@ -2583,11 +2593,11 @@ packages: minipass: 3.3.6 dev: false - /fs-minipass@3.0.2: - resolution: {integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==} + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 5.0.0 + minipass: 7.0.3 dev: false /fs.realpath@1.0.0: @@ -2598,6 +2608,14 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true + dev: true + optional: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true optional: true /function-bind@1.1.1: @@ -2670,15 +2688,15 @@ packages: dependencies: is-glob: 4.0.3 - /glob@10.3.3: - resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + /glob@10.3.4: + resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.2.2 + jackspeak: 2.3.1 minimatch: 9.0.3 - minipass: 7.0.2 + minipass: 7.0.3 path-scurry: 1.10.1 dev: false @@ -2702,17 +2720,6 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: false - /global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} @@ -2817,7 +2824,7 @@ packages: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 hastscript: 7.2.0 property-information: 6.2.0 vfile: 5.3.7 @@ -2829,7 +2836,7 @@ packages: resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /hast-util-parse-selector@3.1.1: @@ -2858,7 +2865,7 @@ packages: resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 ccount: 2.0.1 comma-separated-tokens: 2.0.3 hast-util-raw: 7.2.3 @@ -3208,8 +3215,8 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: false - /jackspeak@2.2.2: - resolution: {integrity: sha512-mgNtVv4vUuaKA97yxUHoA3+FkuhtxkjdXEWOyB/N76fjy0FjezEt34oy3epBtvCvS+7DyKwqCFWx/oJLV5+kCg==} + /jackspeak@2.3.1: + resolution: {integrity: sha512-4iSY3Bh1Htv+kLhiiZunUhQ+OYXIn0ze3ulq8JeWrFKmhPAJSySV2+kdtRh2pGcCeF0s6oR8Oc+pYZynJj4t8A==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -3217,8 +3224,8 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: false - /jiti@1.19.1: - resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} + /jiti@1.19.3: + resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} hasBin: true /jju@1.4.0: @@ -3353,14 +3360,6 @@ packages: strip-bom: 3.0.0 dev: false - /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'} @@ -3402,10 +3401,17 @@ packages: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: false + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: false /lowercase-keys@3.0.0: @@ -3413,8 +3419,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} dev: false @@ -3455,20 +3461,20 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: agentkeepalive: 4.5.0 - cacache: 17.1.3 + cacache: 17.1.4 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 minipass: 5.0.0 - minipass-fetch: 3.0.3 + minipass-fetch: 3.0.4 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 - ssri: 10.0.4 + ssri: 10.0.5 transitivePeerDependencies: - supports-color dev: false @@ -3492,7 +3498,7 @@ packages: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-visit: 4.1.2 dev: false @@ -3509,7 +3515,7 @@ packages: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -3604,7 +3610,7 @@ packages: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 @@ -3936,13 +3942,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -3960,11 +3959,11 @@ packages: minipass: 3.3.6 dev: false - /minipass-fetch@3.0.3: - resolution: {integrity: sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==} + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 5.0.0 + minipass: 7.0.3 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -4016,8 +4015,8 @@ packages: engines: {node: '>=8'} dev: false - /minipass@7.0.2: - resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==} + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} engines: {node: '>=16 || 14 >=14.17'} dev: false @@ -4088,11 +4087,11 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.1 + tslib: 2.6.2 dev: false - /node-abi@3.45.0: - resolution: {integrity: sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==} + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} engines: {node: '>=10'} dependencies: semver: 7.5.4 @@ -4203,7 +4202,7 @@ packages: semver: 7.5.4 semver-utils: 1.1.4 source-map-support: 0.5.21 - spawn-please: 2.0.1 + spawn-please: 2.0.2 strip-json-comments: 5.0.1 untildify: 4.0.0 update-notifier: 6.0.2 @@ -4212,8 +4211,8 @@ packages: - supports-color dev: false - /npm-install-checks@6.1.1: - resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} + /npm-install-checks@6.2.0: + resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.5.4 @@ -4245,7 +4244,7 @@ packages: resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.1.1 + npm-install-checks: 6.2.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 semver: 7.5.4 @@ -4257,7 +4256,7 @@ packages: dependencies: make-fetch-happen: 11.1.1 minipass: 5.0.0 - minipass-fetch: 3.0.3 + minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 @@ -4382,13 +4381,6 @@ packages: yocto-queue: 1.0.0 dev: false - /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'} @@ -4432,8 +4424,8 @@ packages: '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 '@npmcli/run-script': 6.0.2 - cacache: 17.1.3 - fs-minipass: 3.0.2 + cacache: 17.1.4 + fs-minipass: 3.0.3 minipass: 4.2.8 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 @@ -4443,8 +4435,8 @@ packages: promise-retry: 2.0.1 read-package-json: 6.0.4 read-package-json-fast: 3.0.2 - sigstore: 1.8.0 - ssri: 10.0.4 + sigstore: 1.9.0 + ssri: 10.0.5 tar: 6.1.15 transitivePeerDependencies: - bluebird @@ -4455,7 +4447,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.6.2 dev: false /parse-github-url@1.0.2: @@ -4480,12 +4472,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 - dev: false - - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + tslib: 2.6.2 dev: false /path-exists@4.0.0: @@ -4513,8 +4500,8 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 - minipass: 7.0.2 + lru-cache: 10.0.1 + minipass: 7.0.3 dev: false /path-to-regexp@6.2.1: @@ -4564,40 +4551,33 @@ packages: dependencies: find-up: 4.1.0 - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} - dependencies: - find-up: 3.0.0 - dev: false - /playwright-core@1.35.1: resolution: {integrity: sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==} engines: {node: '>=16'} hasBin: true dev: true - /postcss-import@15.1.0(postcss@8.4.27): + /postcss-import@15.1.0(postcss@8.4.29): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.29 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - /postcss-js@4.0.1(postcss@8.4.27): + /postcss-js@4.0.1(postcss@8.4.29): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.27 + postcss: 8.4.29 - /postcss-load-config@4.0.1(postcss@8.4.27): + /postcss-load-config@4.0.1(postcss@8.4.29): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -4610,16 +4590,16 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.27 - yaml: 2.3.1 + postcss: 8.4.29 + yaml: 2.3.2 - /postcss-nested@6.0.1(postcss@8.4.27): + /postcss-nested@6.0.1(postcss@8.4.29): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.27 + postcss: 8.4.29 postcss-selector-parser: 6.0.13 /postcss-selector-parser@6.0.10: @@ -4640,27 +4620,14 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.29: + resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string@5.2.6(preact@10.15.1): - resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} - peerDependencies: - preact: '>=10' - dependencies: - preact: 10.15.1 - pretty-format: 3.8.0 - dev: false - - /preact@10.15.1: - resolution: {integrity: sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g==} - dev: false - /prebuild-install@7.1.1: resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} engines: {node: '>=10'} @@ -4672,7 +4639,7 @@ packages: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.45.0 + node-abi: 3.47.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -4680,8 +4647,8 @@ packages: tunnel-agent: 0.6.0 dev: false - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + /preferred-pm@3.1.1: + resolution: {integrity: sha512-CsZgOVLKHifdoRu2y66P1s6oLb2WfT5Njkcgi80I/52FWTTVkWG6z0Z13vPkXC4hsT0nMrYXqX30buH8+D2eRQ==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 @@ -4694,7 +4661,7 @@ packages: resolution: {integrity: sha512-dPzop0gKZyVGpTDQmfy+e7FKXC9JT3mlpfYA2diOVz+Ui+QR1U4G/s+OesKl2Hib2JJOtAYJs/l+ovgT0ljlFA==} engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} dependencies: - '@astrojs/compiler': 1.8.1 + '@astrojs/compiler': 1.8.2 prettier: 2.8.8 sass-formatter: 0.7.7 dev: true @@ -4703,7 +4670,7 @@ packages: resolution: {integrity: sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==} engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} dependencies: - '@astrojs/compiler': 1.8.1 + '@astrojs/compiler': 1.8.2 prettier: 2.8.8 sass-formatter: 0.7.7 synckit: 0.8.5 @@ -4770,10 +4737,6 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - /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'} @@ -4877,6 +4840,23 @@ packages: strip-json-comments: 2.0.1 dev: false + /react-dom@18.0.0(react@18.0.0): + resolution: {integrity: sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==} + peerDependencies: + react: ^18.0.0 + dependencies: + loose-envify: 1.4.0 + react: 18.0.0 + scheduler: 0.21.0 + dev: false + + /react@18.0.0: + resolution: {integrity: sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: @@ -4894,7 +4874,7 @@ packages: resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.3.3 + glob: 10.3.4 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 @@ -4941,8 +4921,8 @@ packages: unist-util-visit: 4.1.2 dev: false - /rehype-parse@8.0.4: - resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} + /rehype-parse@8.0.5: + resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} dependencies: '@types/hast': 2.3.5 hast-util-from-parse5: 7.1.2 @@ -4958,8 +4938,8 @@ packages: unified: 10.1.2 dev: false - /rehype-stringify@9.0.3: - resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==} + /rehype-stringify@9.0.4: + resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} dependencies: '@types/hast': 2.3.5 hast-util-to-html: 8.0.4 @@ -4970,8 +4950,8 @@ packages: resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} dependencies: '@types/hast': 2.3.5 - rehype-parse: 8.0.4 - rehype-stringify: 9.0.3 + rehype-parse: 8.0.5 + rehype-stringify: 9.0.4 unified: 10.1.2 dev: false @@ -5029,10 +5009,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /reselect@4.1.8: - resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} - dev: false - /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: false @@ -5116,19 +5092,19 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.3.3 + glob: 10.3.4 dev: false /roadmap-renderer@1.0.6: resolution: {integrity: sha512-IQejjIfr9RIvesNwp3SyhEq1DMQ2RdJfJhgsb1AyPuKXsfJgOG8F++Cz1p3SIcY0bnB57Q16Ke2VJLjiUVwI3Q==} dev: false - /rollup@3.27.2: - resolution: {integrity: sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==} + /rollup@3.28.1: + resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /run-applescript@5.0.0: @@ -5171,6 +5147,12 @@ packages: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: false + /scheduler@0.21.0: + resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==} + dependencies: + loose-envify: 1.4.0 + dev: false + /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -5255,13 +5237,14 @@ packages: engines: {node: '>=14'} dev: false - /sigstore@1.8.0: - resolution: {integrity: sha512-ogU8qtQ3VFBawRJ8wjsBEX/vIFeHuGs1fm4jZtjWQwjo8pfAt7T/rh+udlAN4+QUe0IzA8qRSc/YZ7dHP6kh+w==} + /sigstore@1.9.0: + resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@sigstore/bundle': 1.0.0 - '@sigstore/protobuf-specs': 0.2.0 + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/sign': 1.0.0 '@sigstore/tuf': 1.0.3 make-fetch-happen: 11.1.1 transitivePeerDependencies: @@ -5360,8 +5343,8 @@ packages: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false - /spawn-please@2.0.1: - resolution: {integrity: sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA==} + /spawn-please@2.0.2: + resolution: {integrity: sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==} engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 @@ -5393,11 +5376,11 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false - /ssri@10.0.4: - resolution: {integrity: sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==} + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 5.0.0 + minipass: 7.0.3 dev: false /stdin-discarder@0.1.0: @@ -5415,7 +5398,7 @@ packages: /streamx@2.15.1: resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: - fast-fifo: 1.3.0 + fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false @@ -5566,7 +5549,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.4.2 - tslib: 2.6.1 + tslib: 2.6.2 dev: false /tailwindcss@3.3.2: @@ -5582,17 +5565,17 @@ packages: fast-glob: 3.3.1 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.19.1 + jiti: 1.19.3 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.27 - postcss-import: 15.1.0(postcss@8.4.27) - postcss-js: 4.0.1(postcss@8.4.27) - postcss-load-config: 4.0.1(postcss@8.4.27) - postcss-nested: 6.0.1(postcss@8.4.27) + postcss: 8.4.29 + postcss-import: 15.1.0(postcss@8.4.29) + postcss-js: 4.0.1(postcss@8.4.29) + postcss-load-config: 4.0.1(postcss@8.4.29) + postcss-nested: 6.0.1(postcss@8.4.29) postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 resolve: 1.22.4 @@ -5632,7 +5615,7 @@ packages: resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 - fast-fifo: 1.3.0 + fast-fifo: 1.3.2 streamx: 2.15.1 dev: false @@ -5715,8 +5698,8 @@ packages: type-fest: 0.13.1 dev: false - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false /tuf-js@1.1.7: @@ -5757,8 +5740,8 @@ packages: is-typedarray: 1.0.0 dev: false - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -5781,7 +5764,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -5818,45 +5801,45 @@ packages: /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-modify-children@3.1.1: resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 array-iterate: 2.0.1 dev: false /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-children@2.0.2: resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 dev: false /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 dev: false @@ -5933,21 +5916,21 @@ packages: /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 vfile: 5.3.7 dev: false /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-stringify-position: 3.0.3 dev: false /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -5982,10 +5965,10 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.27 - rollup: 3.27.2 + postcss: 8.4.29 + rollup: 3.28.1 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /vitefu@0.2.4(vite@4.4.9): @@ -5999,19 +5982,19 @@ packages: vite: 4.4.9 dev: false - /vscode-css-languageservice@6.2.6: - resolution: {integrity: sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==} + /vscode-css-languageservice@6.2.7: + resolution: {integrity: sha512-Jd8wpIg5kJ15CfrieoEPvu3gGFc36sbM3qXCtjVq5zrnLEX5NhHxikMDtf8AgQsYklXiDqiZLKoBnzkJtRbTHQ==} dependencies: - '@vscode/l10n': 0.0.14 + '@vscode/l10n': 0.0.16 vscode-languageserver-textdocument: 1.0.8 vscode-languageserver-types: 3.17.3 vscode-uri: 3.0.7 dev: false - /vscode-html-languageservice@5.0.6: - resolution: {integrity: sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==} + /vscode-html-languageservice@5.0.7: + resolution: {integrity: sha512-jX+7/kUXrdOaRT8vqYR/jLxrGDib+Far8I7n/A6apuEl88k+mhIHZPwc6ezuLeiCKUCaLG4b0dqFwjVa7QL3/w==} dependencies: - '@vscode/l10n': 0.0.14 + '@vscode/l10n': 0.0.16 vscode-languageserver-textdocument: 1.0.8 vscode-languageserver-types: 3.17.3 vscode-uri: 3.0.7 @@ -6155,8 +6138,8 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} engines: {node: '>= 14'} /yargs-parser@21.1.1: @@ -6174,8 +6157,8 @@ packages: engines: {node: '>=12.20'} dev: false - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + /zod@3.22.2: + resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} dev: false /zwitch@2.0.4: diff --git a/src/components/Activity/ActivityCounters.tsx b/src/components/Activity/ActivityCounters.tsx index 4024ae33e..ea05aabbd 100644 --- a/src/components/Activity/ActivityCounters.tsx +++ b/src/components/Activity/ActivityCounters.tsx @@ -21,11 +21,11 @@ function ActivityCounter(props: ActivityCounterType) { const { text, count } = props; return ( -
-

+
+

{count}

-

{text}

+

{text}

); } @@ -34,8 +34,8 @@ export function ActivityCounters(props: ActivityCountersType) { const { done, learning, streak } = props; return ( -
-
+
+
-
+
{learningRoadmaps.length === 0 && learningBestPractices.length === 0 && } {(learningRoadmaps.length > 0 || learningBestPractices.length > 0) && ( <> -

+

Continue Following

-
+
{learningRoadmaps .sort((a, b) => { const updatedAtA = new Date(a.updatedAt); @@ -110,6 +110,7 @@ export function ActivityPage() { }) .map((roadmap) => ( -
+
+
no roadmaps -

No Progress

+

No Progress

Progress will appear here as you start tracking your{' '} - + Roadmaps {' '} or{' '} - + Best Practices {' '} progress. diff --git a/src/components/Activity/ResourceProgress.tsx b/src/components/Activity/ResourceProgress.tsx index 936e58a0b..1f931f5a7 100644 --- a/src/components/Activity/ResourceProgress.tsx +++ b/src/components/Activity/ResourceProgress.tsx @@ -1,8 +1,8 @@ -import { useState } from 'preact/hooks'; import { httpPost } from '../../lib/http'; import { getRelativeTimeString } from '../../lib/date'; import { useToast } from '../../hooks/use-toast'; import { ProgressShareButton } from '../UserProgress/ProgressShareButton'; +import { useState } from 'react'; type ResourceProgressType = { resourceType: 'roadmap' | 'best-practice'; diff --git a/src/components/AddTeamRoadmap.tsx b/src/components/AddTeamRoadmap.tsx index d3492931b..ab8b6379c 100644 --- a/src/components/AddTeamRoadmap.tsx +++ b/src/components/AddTeamRoadmap.tsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'preact/hooks'; +import { useRef, useState } from 'react'; import { useOutsideClick } from '../hooks/use-outside-click'; import { OptionType, SearchSelector } from './SearchSelector'; import type { PageType } from './CommandMenu/CommandMenu'; @@ -65,15 +65,15 @@ export function AddTeamRoadmap(props: AddTeamRoadmapProps) { )?.title; return ( -

{isLoading &&

Please wait while we verify your account..

} - {error &&

{error}

} + {error &&

{error}

}
diff --git a/src/components/AuthenticationFlow/VerificationEmailMessage.tsx b/src/components/AuthenticationFlow/VerificationEmailMessage.tsx index e219d19e4..e77440e00 100644 --- a/src/components/AuthenticationFlow/VerificationEmailMessage.tsx +++ b/src/components/AuthenticationFlow/VerificationEmailMessage.tsx @@ -1,5 +1,5 @@ import VerifyLetterIcon from '../../icons/verify-letter.svg'; -import { useEffect, useState } from 'preact/hooks'; +import { useEffect, useState } from 'react'; import { httpPost } from '../../lib/http'; export function VerificationEmailMessage() { @@ -39,13 +39,13 @@ export function VerificationEmailMessage() {
Verify Email -

+

Verify your email address

-
+

We have sent you an email at{' '} {email}. Please click the link to @@ -53,7 +53,7 @@ export function VerificationEmailMessage() { soon!

-
+
{!isEmailResent && ( <> @@ -72,12 +72,12 @@ export function VerificationEmailMessage() {

)} - {error &&

{error}

} + {error &&

{error}

} )} {isEmailResent && ( -

Verification email has been sent!

+

Verification email has been sent!

)}
diff --git a/src/components/Befriend.tsx b/src/components/Befriend.tsx index f963b881c..1a34e4a3b 100644 --- a/src/components/Befriend.tsx +++ b/src/components/Befriend.tsx @@ -1,5 +1,5 @@ -import { useEffect, useState } from 'preact/hooks'; -import { httpDelete, httpGet, httpPatch, httpPost } from '../lib/http'; +import { useEffect, useState } from 'react'; +import { httpDelete, httpGet, httpPost } from '../lib/http'; import { pageProgressMessage } from '../stores/page'; import { isLoggedIn } from '../lib/jwt'; import { showLoginPopup } from '../lib/popup'; @@ -118,7 +118,7 @@ export function Befriend() {

Error

-

+

{error || 'There was a problem, please try again.'}

@@ -149,13 +149,13 @@ export function Befriend() { />

{user.name}

-

+

After you add {user.name} as a friend, you will be able to view each other's skills and progress.

-
-
+
+
{user.status === 'none' && ( @@ -177,7 +177,7 @@ export function Befriend() { {user.status === 'sent' && ( <> - + Request Sent @@ -188,7 +188,7 @@ export function Befriend() { setIsConfirming(true); }} type="button" - class="flex w-full flex-grow cursor-pointer items-center justify-center rounded-lg border border-red-600 bg-red-600 px-3 py-2 text-center text-white hover:bg-red-700" + className="flex w-full flex-grow cursor-pointer items-center justify-center rounded-lg border border-red-600 bg-red-600 px-3 py-2 text-center text-white hover:bg-red-700" > Withdraw Request @@ -196,7 +196,7 @@ export function Befriend() { )} {isConfirming && ( - + Are you sure?{' '} -
-

Invite your Team

-

+

+

Invite your Team

+

Use the form below to invite your team members to your team. You can also invite them later.

@@ -88,7 +88,7 @@ export function Step3(props: Step3Props) {
-
+
-

Team Created

-

+

Team Created

+

Your team has been created. Happy learning!

View Team diff --git a/src/components/CreateTeam/UpdateTeamResourceModal.tsx b/src/components/CreateTeam/UpdateTeamResourceModal.tsx index 40fdcd0bf..607f3d3a6 100644 --- a/src/components/CreateTeam/UpdateTeamResourceModal.tsx +++ b/src/components/CreateTeam/UpdateTeamResourceModal.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from 'preact/hooks'; +import { useEffect, useRef, useState } from 'react'; import { wireframeJSONToSVG } from 'roadmap-renderer'; import { Spinner } from '../ReactIcons/Spinner'; import { httpGet, httpPut } from '../../lib/http'; @@ -8,7 +8,7 @@ import { useOutsideClick } from '../../hooks/use-outside-click'; import { useKeydown } from '../../hooks/use-keydown'; import type { TeamResourceConfig } from './RoadmapSelector'; import { useToast } from '../../hooks/use-toast'; -import { useStore } from '@nanostores/preact'; +import { useStore } from '@nanostores/react'; import { $currentTeam } from '../../stores/team'; export type ProgressMapProps = { @@ -148,8 +148,8 @@ export function UpdateTeamResourceModal(props: ProgressMapProps) { }, []); return ( -
-
+
+