From 26286597476982767d6ad1717bc297aaba4c83ae Mon Sep 17 00:00:00 2001 From: Noel Date: Thu, 6 Oct 2022 23:53:35 +0200 Subject: [PATCH] feat: astro guide (#8714) --- .github/labeler.yml | 12 +- .github/labels.yml | 6 +- .vscode/extensions.json | 3 +- .vscode/settings.json | 5 + packages/guide/.eslintrc.json | 36 + packages/guide/.gitignore | 30 + packages/guide/.lintstagedrc.cjs | 1 + packages/guide/.prettierignore | 15 + packages/guide/.prettierrc.cjs | 1 + packages/guide/astro.config.ts | 43 + packages/guide/package.json | 86 + .../guide/public/android-chrome-192x192.png | Bin 0 -> 4567 bytes .../guide/public/android-chrome-384x384.png | Bin 0 -> 7796 bytes .../apple-touch-icon-120x120-precomposed.png | Bin 0 -> 2974 bytes .../guide/public/apple-touch-icon-120x120.png | Bin 0 -> 2677 bytes .../apple-touch-icon-152x152-precomposed.png | Bin 0 -> 3453 bytes .../guide/public/apple-touch-icon-152x152.png | Bin 0 -> 3152 bytes .../apple-touch-icon-180x180-precomposed.png | Bin 0 -> 3910 bytes .../guide/public/apple-touch-icon-180x180.png | Bin 0 -> 3505 bytes .../apple-touch-icon-60x60-precomposed.png | Bin 0 -> 1813 bytes .../guide/public/apple-touch-icon-60x60.png | Bin 0 -> 1656 bytes .../apple-touch-icon-76x76-precomposed.png | Bin 0 -> 2142 bytes .../guide/public/apple-touch-icon-76x76.png | Bin 0 -> 1974 bytes .../public/apple-touch-icon-precomposed.png | Bin 0 -> 3910 bytes packages/guide/public/apple-touch-icon.png | Bin 0 -> 3505 bytes packages/guide/public/browserconfig.xml | 12 + packages/guide/public/favicon-16x16.png | Bin 0 -> 561 bytes packages/guide/public/favicon-32x32.png | Bin 0 -> 1092 bytes packages/guide/public/favicon.ico | Bin 0 -> 15086 bytes packages/guide/public/mstile-150x150.png | Bin 0 -> 3174 bytes packages/guide/public/mstile-310x150.png | Bin 0 -> 2912 bytes packages/guide/public/mstile-310x310.png | Bin 0 -> 5927 bytes packages/guide/public/mstile-70x70.png | Bin 0 -> 2684 bytes packages/guide/public/open-graph.png | Bin 0 -> 69312 bytes packages/guide/public/powered-by-vercel.svg | 6 + packages/guide/public/safari-pinned-tab.svg | 32 + packages/guide/public/site.webmanifest | 19 + packages/guide/src/components/Danger.tsx | 18 + packages/guide/src/components/DocsLink.tsx | 3 + packages/guide/src/components/Info.tsx | 18 + packages/guide/src/components/Navbar.tsx | 70 + .../guide/src/components/ResultingCode.tsx | 3 + packages/guide/src/components/Section.tsx | 43 + packages/guide/src/components/Sidebar.tsx | 24 + .../guide/src/components/SidebarItems.tsx | 37 + .../guide/src/components/SidebarLayout.astro | 89 + packages/guide/src/components/Tip.tsx | 18 + .../guide/src/components/discord/Message.tsx | 60 + .../src/components/discord/MessageAuthor.tsx | 31 + .../components/discord/MessageAuthorReply.tsx | 21 + .../components/discord/MessageBaseReply.tsx | 20 + .../src/components/discord/MessageEmbed.tsx | 38 + .../components/discord/MessageEmbedAuthor.tsx | 13 + .../components/discord/MessageEmbedFooter.tsx | 7 + .../components/discord/MessageEmbedTitle.tsx | 7 + .../components/discord/MessageInteraction.tsx | 18 + .../src/components/discord/MessageReply.tsx | 19 + .../guide/src/components/discord/Messages.tsx | 9 + .../guide/src/layouts/SidebarLayout.astro | 58 + .../creating-your-bot/creating-commands.mdx | 244 ++ packages/guide/src/pages/home.mdx | 36 + packages/guide/src/pages/index.astro | 8 + .../src/pages/requesting-more-content.mdx | 20 + packages/guide/src/pages/test.mdx | 95 + packages/guide/src/pages/whats-new.mdx | 74 + packages/guide/src/styles/ch.css | 3 + packages/guide/src/util/constants.ts | 1 + packages/guide/tsconfig.eslint.json | 22 + packages/guide/tsconfig.json | 19 + packages/guide/types.d.ts | 1 + packages/guide/unocss.config.ts | 65 + packages/website/.eslintrc.json | 2 +- turbo.json | 4 + yarn.lock | 2317 ++++++++++++++++- 74 files changed, 3740 insertions(+), 102 deletions(-) create mode 100644 packages/guide/.eslintrc.json create mode 100644 packages/guide/.gitignore create mode 100644 packages/guide/.lintstagedrc.cjs create mode 100644 packages/guide/.prettierignore create mode 100644 packages/guide/.prettierrc.cjs create mode 100644 packages/guide/astro.config.ts create mode 100644 packages/guide/package.json create mode 100644 packages/guide/public/android-chrome-192x192.png create mode 100644 packages/guide/public/android-chrome-384x384.png create mode 100644 packages/guide/public/apple-touch-icon-120x120-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon-120x120.png create mode 100644 packages/guide/public/apple-touch-icon-152x152-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon-152x152.png create mode 100644 packages/guide/public/apple-touch-icon-180x180-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon-180x180.png create mode 100644 packages/guide/public/apple-touch-icon-60x60-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon-60x60.png create mode 100644 packages/guide/public/apple-touch-icon-76x76-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon-76x76.png create mode 100644 packages/guide/public/apple-touch-icon-precomposed.png create mode 100644 packages/guide/public/apple-touch-icon.png create mode 100644 packages/guide/public/browserconfig.xml create mode 100644 packages/guide/public/favicon-16x16.png create mode 100644 packages/guide/public/favicon-32x32.png create mode 100644 packages/guide/public/favicon.ico create mode 100644 packages/guide/public/mstile-150x150.png create mode 100644 packages/guide/public/mstile-310x150.png create mode 100644 packages/guide/public/mstile-310x310.png create mode 100644 packages/guide/public/mstile-70x70.png create mode 100644 packages/guide/public/open-graph.png create mode 100644 packages/guide/public/powered-by-vercel.svg create mode 100644 packages/guide/public/safari-pinned-tab.svg create mode 100644 packages/guide/public/site.webmanifest create mode 100644 packages/guide/src/components/Danger.tsx create mode 100644 packages/guide/src/components/DocsLink.tsx create mode 100644 packages/guide/src/components/Info.tsx create mode 100644 packages/guide/src/components/Navbar.tsx create mode 100644 packages/guide/src/components/ResultingCode.tsx create mode 100644 packages/guide/src/components/Section.tsx create mode 100644 packages/guide/src/components/Sidebar.tsx create mode 100644 packages/guide/src/components/SidebarItems.tsx create mode 100644 packages/guide/src/components/SidebarLayout.astro create mode 100644 packages/guide/src/components/Tip.tsx create mode 100644 packages/guide/src/components/discord/Message.tsx create mode 100644 packages/guide/src/components/discord/MessageAuthor.tsx create mode 100644 packages/guide/src/components/discord/MessageAuthorReply.tsx create mode 100644 packages/guide/src/components/discord/MessageBaseReply.tsx create mode 100644 packages/guide/src/components/discord/MessageEmbed.tsx create mode 100644 packages/guide/src/components/discord/MessageEmbedAuthor.tsx create mode 100644 packages/guide/src/components/discord/MessageEmbedFooter.tsx create mode 100644 packages/guide/src/components/discord/MessageEmbedTitle.tsx create mode 100644 packages/guide/src/components/discord/MessageInteraction.tsx create mode 100644 packages/guide/src/components/discord/MessageReply.tsx create mode 100644 packages/guide/src/components/discord/Messages.tsx create mode 100644 packages/guide/src/layouts/SidebarLayout.astro create mode 100644 packages/guide/src/pages/creating-your-bot/creating-commands.mdx create mode 100644 packages/guide/src/pages/home.mdx create mode 100644 packages/guide/src/pages/index.astro create mode 100644 packages/guide/src/pages/requesting-more-content.mdx create mode 100644 packages/guide/src/pages/test.mdx create mode 100644 packages/guide/src/pages/whats-new.mdx create mode 100644 packages/guide/src/styles/ch.css create mode 100644 packages/guide/src/util/constants.ts create mode 100644 packages/guide/tsconfig.eslint.json create mode 100644 packages/guide/tsconfig.json create mode 100644 packages/guide/types.d.ts create mode 100644 packages/guide/unocss.config.ts diff --git a/.github/labeler.yml b/.github/labeler.yml index bff529de6..abfc204d7 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -14,6 +14,10 @@ - packages/docgen/* - packages/docgen/**/* +'packages:guide': + - packages/guide/* + - packages/guide/**/* + 'packages:proxy': - packages/proxy/* - packages/proxy/**/* @@ -26,6 +30,10 @@ - packages/rest/* - packages/rest/**/* +'packages:util': + - packages/util/* + - packages/util/**/* + 'packages:voice': - packages/voice/* - packages/voice/**/* @@ -37,7 +45,3 @@ 'packages:ws': - packages/ws/* - packages/ws/**/* - -'packages:util': - - packages/util/* - - packages/util/**/* diff --git a/.github/labels.yml b/.github/labels.yml index be3800c49..9b214863b 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -54,20 +54,22 @@ color: 'fbca04' - name: 'packages:docgen' color: 'fbca04' +- name: 'packages:guide' + color: 'fbca04' - name: 'packages:proxy' color: 'fbca04' - name: 'packages:proxy-container' color: 'fbca04' - name: 'packages:rest' color: 'fbca04' +- name: 'packages:util' + color: 'fbca04' - name: 'packages:voice' color: 'fbca04' - name: 'packages:website' color: 'fbca04' - name: 'packages:ws' color: 'fbca04' -- name: 'packages:util' - color: 'fbca04' - name: 'performance' color: '80c042' - name: 'permissions' diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4150d593a..5e3088e0c 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,6 +8,7 @@ "eamodio.gitlens", "christian-kohler.npm-intellisense", "christian-kohler.path-intellisense", - "antfu.unocss" + "antfu.unocss", + "astro-build.astro-vscode" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 5e5138cf0..cc42e4388 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,11 +1,16 @@ { "eslint.workingDirectories": [{ "pattern": "./packages/*" }], + "eslint.validate": ["javascript", "javascriptreact", "astro", "typescript", "typescriptreact"], + "prettier.documentSelectors": ["**/*.astro"], "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll": true, "source.organizeImports": false }, + "files.associations": { + "*.mdx": "markdown" + }, "unocss.root": "./packages/website", "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/packages/guide/.eslintrc.json b/packages/guide/.eslintrc.json new file mode 100644 index 000000000..066175084 --- /dev/null +++ b/packages/guide/.eslintrc.json @@ -0,0 +1,36 @@ +{ + "extends": ["../../.eslintrc.json", "neon/react", "neon/prettier"], + "settings": { + "react": { + "version": "detect" + } + }, + "parserOptions": { + "parser": "@typescript-eslint/parser", + "extraFileExtensions": [".astro"] + }, + "overrides": [ + { + "files": ["*.astro"], + "plugins": ["astro"], + "env": { + "astro/astro": true + }, + "parser": "astro-eslint-parser", + "rules": { + "deprecation/deprecation": 0, + "react/jsx-key": 0, + "react/no-unknown-property": 0, + "react/self-closing-comp": 0 + } + }, + { + "files": ["**/*.astro/*.js", "*.astro/*.js"], + "rules": {} + } + ], + "rules": { + "react/react-in-jsx-scope": 0, + "react/jsx-filename-extension": [1, { "extensions": [".tsx", ".astro"] }] + } +} diff --git a/packages/guide/.gitignore b/packages/guide/.gitignore new file mode 100644 index 000000000..7a01b5c3b --- /dev/null +++ b/packages/guide/.gitignore @@ -0,0 +1,30 @@ +# Packages +node_modules/ + +# Log files +logs/ +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Env +.env + +# Dist +dist/ +typings/ +.cache/ +build/ +api/ +src/styles/unocss.css +.next/ + +# Miscellaneous +.tmp/ +coverage/ +.vercel +public/searchIndex diff --git a/packages/guide/.lintstagedrc.cjs b/packages/guide/.lintstagedrc.cjs new file mode 100644 index 000000000..dc17706a5 --- /dev/null +++ b/packages/guide/.lintstagedrc.cjs @@ -0,0 +1 @@ +module.exports = require('../../.lintstagedrc.json'); diff --git a/packages/guide/.prettierignore b/packages/guide/.prettierignore new file mode 100644 index 000000000..10286aa98 --- /dev/null +++ b/packages/guide/.prettierignore @@ -0,0 +1,15 @@ +# Autogenerated +CHANGELOG.md +.turbo +dist/ +docs/**/* +!docs/index.yml +!docs/README.md +coverage/ +.cache +build/ +src/styles/unocss.css +api/ +.next/ +.vercel/ +.cache/ diff --git a/packages/guide/.prettierrc.cjs b/packages/guide/.prettierrc.cjs new file mode 100644 index 000000000..f004026c7 --- /dev/null +++ b/packages/guide/.prettierrc.cjs @@ -0,0 +1 @@ +module.exports = require('../../.prettierrc.json'); diff --git a/packages/guide/astro.config.ts b/packages/guide/astro.config.ts new file mode 100644 index 000000000..bc0eddcef --- /dev/null +++ b/packages/guide/astro.config.ts @@ -0,0 +1,43 @@ +import { fileURLToPath, URL } from 'node:url'; +import image from '@astrojs/image'; +import mdx from '@astrojs/mdx'; +import react from '@astrojs/react'; +import { remarkCodeHike } from '@code-hike/mdx'; +import { defineConfig } from 'astro/config'; +import shikiThemeDarkPlus from 'shiki/themes/dark-plus.json' assert { type: 'json' }; +import Unocss from 'unocss/astro'; + +export default defineConfig({ + integrations: [ + react(), + mdx(), + image({ + serviceEntryPoint: '@astrojs/image/sharp', + }), + Unocss(), + ], + markdown: { + remarkPlugins: [[remarkCodeHike, { autoImport: false, theme: shikiThemeDarkPlus, lineNumbers: true }]], + rehypePlugins: [], + extendDefaultPlugins: true, + syntaxHighlight: false, + }, + vite: { + resolve: { + alias: { + 'ariakit/button': fileURLToPath(new URL('node_modules/ariakit/esm/button/index.js', import.meta.url)), + 'ariakit/disclosure': fileURLToPath(new URL('node_modules/ariakit/esm/disclosure/index.js', import.meta.url)), + 'ariakit-utils/dom': fileURLToPath(new URL('node_modules/ariakit-utils/esm/dom.js', import.meta.url)), + 'ariakit-utils/events': fileURLToPath(new URL('node_modules/ariakit-utils/esm/events.js', import.meta.url)), + 'ariakit-utils/focus': fileURLToPath(new URL('node_modules/ariakit-utils/esm/focus.js', import.meta.url)), + 'ariakit-utils/hooks': fileURLToPath(new URL('node_modules/ariakit-utils/esm/hooks.js', import.meta.url)), + 'ariakit-utils/misc': fileURLToPath(new URL('node_modules/ariakit-utils/esm/misc.js', import.meta.url)), + 'ariakit-utils/platform': fileURLToPath(new URL('node_modules/ariakit-utils/esm/platform.js', import.meta.url)), + 'ariakit-utils/system': fileURLToPath(new URL('node_modules/ariakit-utils/esm/system.js', import.meta.url)), + 'react-icons/fi': fileURLToPath(new URL('node_modules/react-icons/fi/index.esm.js', import.meta.url)), + 'react-icons/vsc': fileURLToPath(new URL('node_modules/react-icons/vsc/index.esm.js', import.meta.url)), + 'react-use': fileURLToPath(new URL('node_modules/react-use/esm/index.js', import.meta.url)), + }, + }, + }, +}); diff --git a/packages/guide/package.json b/packages/guide/package.json new file mode 100644 index 000000000..555c3f567 --- /dev/null +++ b/packages/guide/package.json @@ -0,0 +1,86 @@ +{ + "name": "@discordjs/guide", + "version": "0.1.0", + "description": "", + "private": true, + "scripts": { + "test": "vitest run", + "build:prod": "astro build", + "dev": "astro dev", + "preview": "astro preview", + "lint": "prettier --check . && cross-env TIMING=1 eslint src --ext mjs,js,ts,tsx,astro", + "format": "prettier --write . && cross-env TIMING=1 eslint src --ext mjs,js,ts,tsx,astro --fix" + }, + "type": "module", + "contributors": [ + "Crawl " + ], + "license": "Apache-2.0", + "keywords": [ + "discord", + "api", + "bot", + "client", + "node", + "discordapp", + "discordjs" + ], + "repository": { + "type": "git", + "url": "https://github.com/discordjs/discord.js.git" + }, + "bugs": { + "url": "https://github.com/discordjs/discord.js/issues" + }, + "homepage": "https://discord.js.org", + "dependencies": { + "@astrojs/image": "^0.9.1", + "@astrojs/mdx": "^0.11.4", + "@astrojs/react": "^1.1.4", + "@code-hike/mdx": "^0.7.4", + "@vscode/codicons": "^0.0.32", + "ariakit": "^2.0.0-next.41", + "astro": "^1.4.4", + "cmdk": "^0.1.20", + "meilisearch": "^0.28.0", + "react": "^17.0.2", + "react-custom-scrollbars-2": "^4.5.0", + "react-dom": "^17.0.2", + "react-icons": "^4.4.0", + "react-syntax-highlighter": "^15.5.0", + "react-use": "^17.4.0", + "rehype-ignore": "^1.0.1", + "rehype-pretty-code": "^0.3.2", + "rehype-raw": "^6.1.1", + "sharp": "^0.31.1", + "shiki": "^0.11.1" + }, + "devDependencies": { + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^14.4.3", + "@types/node": "^16.11.64", + "@types/react-dom": "^17.0.2", + "@types/react-syntax-highlighter": "^15.5.5", + "@unocss/cli": "^0.45.26", + "@unocss/reset": "^0.45.26", + "@vitejs/plugin-react": "^2.1.0", + "@vitest/coverage-c8": "^0.23.4", + "astro-eslint-parser": "^0.6.3", + "concurrently": "^7.4.0", + "cross-env": "^7.0.3", + "eslint": "^8.24.0", + "eslint-config-neon": "^0.1.34", + "eslint-plugin-astro": "^0.19.0", + "happy-dom": "^7.0.0", + "prettier": "^2.7.1", + "prettier-plugin-astro": "^0.5.5", + "prettier-plugin-tailwindcss": "^0.1.13", + "typescript": "^4.8.4", + "unocss": "^0.45.26", + "vercel": "^28.4.6", + "vitest": "^0.23.4" + }, + "engines": { + "node": ">=16.9.0" + } +} diff --git a/packages/guide/public/android-chrome-192x192.png b/packages/guide/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..27ce5eab5de09e1f207121f940b9d56acd2b4a49 GIT binary patch literal 4567 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 literal 0 HcmV?d00001 diff --git a/packages/guide/public/android-chrome-384x384.png b/packages/guide/public/android-chrome-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..1e9148e26600b1868a08afc72784c1d1b039ae43 GIT binary patch literal 7796 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 Z2K0{{R3FC5Sl00004XF*Lt006O% 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 bWu*%EB?OEnn`xK)Jpn+N+rgU6uBH7CfUZ20 literal 0 HcmV?d00001 diff --git a/packages/guide/public/apple-touch-icon-180x180.png b/packages/guide/public/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..9bde9f097ed44a256dad9a9d0891e6f23e96f617 GIT binary patch literal 3505 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 T&i#V_lrXTqnO>vL!-W3>Ey$^C literal 0 HcmV?d00001 diff --git a/packages/guide/public/apple-touch-icon-60x60-precomposed.png b/packages/guide/public/apple-touch-icon-60x60-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..71bc7d6d2ad5cdcc424876958441eaf1a7f53a09 GIT binary patch literal 1813 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 Ubn-$ql>h($07*qoM6N<$f-KnaZ~y=R literal 0 HcmV?d00001 diff --git a/packages/guide/public/apple-touch-icon-76x76.png b/packages/guide/public/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a42a3cab0731499b87ce5a0b5ebe068f9ecc90 GIT binary patch literal 1974 zcmV;n2TAyeP)Px%xKK<~MF|QP|Jz);UH=FP6$c0uw_N`R2o?YT{{;pT z1qc=YTwDtb8T$JAPf%F?{{CES{|yWmT>qU12onEYUH{%)`}_R(lvD}}7E)7NU~B(f z|DR)HYow&84i6d*3>}r0o2^&zh%`D54KfaTKP#<%s3!bCKo-VQ{`bNFN8$9 z?d|UUXId9EE;$+_ua`xnVE_7!RjywDh;}+GEjKeXK3#JELQc0=SYSUuNdf~8FEBcg zV*RhLvk((5;Nao4wYgDJTFA-E(bCj7IYUPvCuTL05FH@=yI3YHXv3&V`deH4oL1<_ zRdYo#--1mn8%AAZ?-~yqb#{D&RW_IMg&Q77A|ozfU}%75|DK+sT``6h89c@4a~>Zm z=H}<9sI6ouFo%bYJToLp%78H}AvHdeU5xKQN2p!-raU5BAQ&7a9UVz8C%nABIwvAN zHzg|-AN|8w``TOJQBy>{cwC~}S@oFycUgn_kby`xnq50JH-)-INJS=RcP=$5D>l0A zcwN}LRqT_~)76|`{q^~K#o&k=8ab5z`(;nNv?Z*f|X6xPfu9ax>2y0MyZlR zwWUn0P(wjgtU;iBYix5NQ$0D0ZE-uIM_;^A%b0d&HC(~Q_O4caP0MOHnOdr6LUBp2 zl11>iR)kU2fl$+&Rppdg?mJDN`g~VaBP^)vA>MmPV`TtOsZQ*1$H`s3~fem#;nJ$A};Y;1IAen|eYSl@L|Cu&TkKSMj7XKY?F z#ko}>Qa(^dDqOhC^wL>qMzxk=|1^7LLqtp>C|*Y=X@rG~^78U4GIwG#jlLWFx&QzK zIY~r8R9M69*7sW)Nf-z4ff;a@C6ooCr&0nKA&5jYDr(fIrx#;QVvlE!y{6Yo@4ffr zlIy+q-h1!eEC0vM43Gmaf%Uojalg;Q1N*Y?huPU-o&`XR7%^hRi21(*nUKJcI!h9A zB0YwYt^R?8KnCLKQvehEqHslS?uv%%66h{`B{#QWyD^f-+^JLrqnux7p5&0fdzMb2 z(9P8Z=}$j=uT`OF-F5ir_6XPvWlU)1oBPpJ40g}@SceZubc$U^yIFx)Ow7en6pq17 zbM5wkMYz_(g@Un|Eo1U9%y_W4xY*^|w=X|G-;PtO(U!1eCTIT(YRJIKHe1SXx;INCKp0EUlxR0OLw0(Lnb z55d^20L_c{dgEtP49J_F{;c=x z=;-M2v%UM@*0HJho@u!=~t%VccwtGthk__S|i1wR-)(_lcKCJ;pRS$Cxhf+OP5-GOZp)`>VratB~vQR8TMIge#Zdr zS&=f2ySZq#z3~sO-E<{}3|M-r@p1yeZqA6DZ3pc^f$>@M(>=W;f=grMVk7dO~g( z&-soty3^9~9?Ix6@j!4O4>^;GLwxwpBOc+h3GmaP#E20iMvRzg6Cgx@G{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>h($07*qo IM6N<$f+)qRf&c&j literal 0 HcmV?d00001 diff --git a/packages/guide/public/apple-touch-icon-precomposed.png b/packages/guide/public/apple-touch-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a8f3624cbc5a391368b7d9bc74effee1f40459 GIT binary patch literal 3910 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 bWu*%EB?OEnn`xK)Jpn+N+rgU6uBH7CfUZ20 literal 0 HcmV?d00001 diff --git a/packages/guide/public/apple-touch-icon.png b/packages/guide/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9bde9f097ed44a256dad9a9d0891e6f23e96f617 GIT binary patch literal 3505 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 T&i#V_lrXTqnO>vL!-W3>Ey$^C literal 0 HcmV?d00001 diff --git a/packages/guide/public/browserconfig.xml b/packages/guide/public/browserconfig.xml new file mode 100644 index 000000000..2bb68a6f3 --- /dev/null +++ b/packages/guide/public/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #090a16 + + + diff --git a/packages/guide/public/favicon-16x16.png b/packages/guide/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f4fd7f6c6add1371a8ffd2a8ef7e4761bb6173 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*uB0X`wFoLpjf5C@kS8@n(ckA$Frj3~dVxQN2;-TRbfJWrlHD=nler>frK zw$Dx_DLN));ew?e%IZ2&@|A9TRJ1}8EoQb^T8e2Kgk&Dr>fyd;@BX^FR!K>-z`afL zJ?*2WMXg@5p(eL4C%2@!%0b^!V|AgUpMQ99QQ(A0o+W-RbrGgh+7|m(r7lafH!!sB zHMh>lEGVejVeL2L_@=;MPaT)J#Y>m1d~p0%IM5?pB|(0{|871kyOw>w;G6K_h&Q)@ zqBA{R977~7$M!$vJ8U4(yk2|B&Shub&X_s#-v5o;N+xbQv;W-ubCY;Ot~0bcD2kK_ z*QW?w2$;mE!2IrDZ%m4r(e%QmjP%Co&z2|M$h;;0!1w&YXB%QgEQJ#)dBR@*&K2wQ zDF1Wj8~==cwzXUvwwT|HUAOOk{&iix3!5hG_%hij&*CaOf7|=ZoHI3)#Do8>7OtGb zHANymKKLcKl{hddb|v%EI20MVN&ZTpCOcr!XsT4pBIL!lvI6;x#X;^) z4C~Ixyacj$2Ka=y`eYVza*2_RSlNWxIYrnwME?K(KY8*DCKf>fL1`XdSz!@*K5p^j z$4|+~sDJgKPlrTlb7Q0(WG_wGON_6c3Na;@dWq-W2b7Zp`1i&^MPyVn?)9}e)E z>3cOl^S_zf1Y`NY9WEYTK0CcU*GmiOm`Ar2{+gmw6%zbx@{F1D99HFa{^%7@QwxnX ze;E@xVZyY!bEPs0-l?~zeQe1HJ+o`a7v{~cEg9pDI6US829k-IIa01@?nEt}_SIf~mHa%lP*(u$NI{JD+r6%Un zokJIBt3F-$Vr@utez4DmA6j-S0oV++~uU4k4?cAKmLPNndY9(8)bW96< zvGlddtj>j66G99wy$_%EEh}G0y!fP7XMdNmb7;bwyf=4W-+cQtO<7AxZ<>JY<22>I zB@Qj677_l-sz1#~|jYa&Gg{2~I&_j*bhrZeE|Bl$^NAZO6*C9=C`Inwyvs zLOQN*FSX2gzWiiM#>|Y{*|RNHC~Gq`TUG0NZ{;u)wBPEm*1^2Vfet1m zQ4Z$V#*PjNHs_XtriUs^8d&$+NHg2lvBvPcspw5eNlSQeczFZ!l*-D=f>+NQp5^Dc zt$Fu2Nh~FSfuZ9@iE^Bm$0}fqhF66|lmsP~D-;yvr)B1(DwI?fq$*?3oE!Zm>f=FR^A+BVNs}PnkWdUfS}}qhcEEO1(i1l0vDgPa!f^23vd`LAEPS^-7{(D*=A%;9KYW{EEKmX=N=7v? z#wxH}uHc&FdVkwA_iC3 z;zB!OuVsU(%T-vX@P&f2J{m(AV}ZWSb+kj3k$Yp{=njXCX8wwISB1vxcSoBzFC>;! zdYi&(1xK02p67hvIuolvdm1}mM}C~sT$dI%LGIcXj=@Jwm_Os@yC%$^&((%{w(1!8 zHEnupPrZ$quh*R(_x(%S)a9Jj`a8F1jfj@*!L;pN&7sSk>0%vabQ`t{xW`-CxN7ID zuNy5J+^!oo^ew`tBUa*Q`bHc|U60q|OHdFvKscKFCpU6_sLL>sF}K-cc?$C%up+um zpiA4${oUw2IsQ9iBVc_ODBO7!&gQ%>eCTKDVVdC|4f6ak@9nE(?QK;*w4eRnC^uK_ z=|}pBx~Q9c=u7(j?`gk-ZQ?V6Gu8^^1a(KtJDSzVr>_LYYzM}@fOFOrBKyXWX&}DJ z`U7lZH%L8w!f~yOSZaM|Gqk+@_F7;Z%nVHx&K&n)ePS>=H5Ew_q1cu*5O~BY;5~hR zzqdCk`VGdVNfYsx6brID2T07bj)-m7TFP0ENwY=Pl@HyiBlkXGVVFE&LM;@I%0_&2 zl*BV-K0fdvE?>Tkci(wOY&bS1L--%IrXj4QkNA>vv@j%4@*ER02j*FK>ES$SwRs_CZ;p>;`fyD9pcM1Ie@?LI{4y-N zR3`SO%?Pjc>~Q4fPTm>+4lR7_^N#hir%si*p>5z?ZtLR<>y9m$b!s1Gd|8Q}J-dm& z$vr4C3L`74Fz(1%j5&H41&1NXIdBq|rK`~+F2dfwI~-lfT$jHZ1I|^>V_rX;KQD1a z{>j@vLcvjhyvVsG&i#cu%Qf$eorloBbcx8^cbB)=>57vlb?)$I44L_-SrWwm!e9B; z&cE5M=$=_<=RNwn{iljsfjsIaAIBPq;dhb>z=D;q#Rs zZ?66NqHSDzI8QbI!a^1QIo~3vU6lBjTv`^0kcm3>2PXG4hTs4E`sf+6iV}ZWp8N2#2sP<)J(eDl8B2$0EsAhVH zVN@}_^-5aK{4Iu|Q)Yj?u6UrFwmr;HS@}^+RxhW{7x%CAzs1$otFBR%hjdE zGE`xuLbXC&u8Zu8XX@(}dMhZ4u3Rcly`>8ORH$pcj{VWLxeB40fx0ig33?rQ%%y(v zP&n8C`soLb#i9n#t$o3GXb9W2e#Ybv4QRjS(WFveuRE^G*Bu#8{mwo+c;Ag4t^Cl% zr?qe}>(TeDyOxZnI?eKh!ExA=xDa1wZNTR#>+o#M6ojkueXZBhzK4_@OkOK8Oequ7 zCde*h?$6ad`?N#t1!ee0;nb*CaVF=F_%LZPsxvEq3G4C7;0MJg>HfV$r)}(3sUuIy zFi&~ia>EhCT7OvVsTkH9?M9@q5L%b_n`ue2=G(=x5jHp z!!f5i1RlmY0^u`4#uQi4XVflQNd`+Fn_SmH7j3e!dk` zdWWJ_v)jcFn3oiS7w` z`53=67M16$$Qm0a`gL3C>C(jqSta3Eemv7IL%XzpU8R)M`k8VZhV+faUw7}umxsO( zKeSh8Wz_#X#v^%JIM{}IgTlHYrF;}-eNu)c7Z+j0kJB;bm3VZ#|6aFrYa6uwB?}jz z#cjV4WRDzy3l}bkAEG0|G4#nfC^~Tv{U6E|`$OUrk+thH6dwHv1)rb8@GZL#ZOsa7lMqJj|n&i^cnkc?Ax8ZS^x8E*NEMz3BzRk8I3vZJJUw^ArlINGK;za@4Dve!4;)K>Yyopxp!83*>E z_886Op4@vW&R(_~Xn&2iUN-qI`Ch&Y)$r-8?pfCMZa(jwb8Mx~rit;v1F<_{9(JnV z2T6WGlIK0k*2atj`*Q4q{Z1^%$NaJ~JUwL&HZNF#9VJCrlhRN6U_Vjq+M#Mv7P7*E zMUS};Kc5zOf7edDzU@_1Zg~kWZQO(hOOo;E`k_jfmn|f=2l7_s;fY=8i0sy;mVUP1 z{oZ@XNlih&2O{zD{{2Xw@hFm(RUkYm6X|d6Lwrdox_0hZt1Wrx_A{qEf}%+eOZ%ZI zGZ8m#3;N`iVbJtf;eUTPx&|dW^nGxd@OeL>lN(MzOVT+#+u65mE_>;lncw!P-w z%NF2!pYUVKGWwML>U);g9={unAFqGZ=Hfg)YRgIdPFCadOXm;gE$1)$P(0kRg);KL XbJDg-?Rl18wQHyr3^y*eVcY)$+&Efn literal 0 HcmV?d00001 diff --git a/packages/guide/public/mstile-150x150.png b/packages/guide/public/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..64f1d830b5510c3ea96354cd868e49961e30bbbd GIT binary patch literal 3174 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 literal 0 HcmV?d00001 diff --git a/packages/guide/public/mstile-310x310.png b/packages/guide/public/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..e6962c2bfdc9ed00ce8c946948f0e0674f474883 GIT binary patch literal 5927 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 literal 0 HcmV?d00001 diff --git a/packages/guide/public/mstile-70x70.png b/packages/guide/public/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5925dca64f3941567174fec29ca710c31be23f GIT binary patch literal 2684 zcmV-?3WN2DP)C00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px%lu%4mMNDaN3=0kz2{s9683=J9o+gt<&6951ST>qW4Tl)b83HX#$yIcPM zTU`HPVEg;~{QUj6T>l3M6aWAL!eReg{G1957yQ^;4-XsrTU)+f{{a9DFC8ES0T2fW z6421nU2OmTSX%=J4zI7X|6W`L2M-Dl82{N=^paEmomdhQA^qE2Y%4Mx6EOCVQ&Rt- zTWbAaaQ_z-Br+XM{B>GfZ~tO+|0`=uu0ch`V*h@Ah5z4N|LI^>Z2w~ar)pd>7BDUL zm{aEF=l|?tS#9}SV*WBLAxAhR*4Eiv|CsFT?Px(S4-FWuSn_jpe3?zve?qkV$XZ|j zqVn?dF)=$rCulT2k|;56x3{|g;$9gXC}J~>pi$r{Dl|VFB_|agA{`u;IX<4AqqlBD z>daS&Wd4<9{+{!MVokvzCRb2VSz-UAX=?vRNKuIOi+yMR78^idU}!WnKXhsSEE+{o zDs;q1OHMwUUnMU5f>;q3GyY^-{%u=1EF=1vR1+K?OU{5&+mO)ea;#zhpI`ipM#873 ztZFxyN>|KZ=(lq|s8(2C;o;+!mYkB3n8vD0qhvnkhEV^MS$%Ccy6}5KxOW#fFIqP% zTGF`xUBV z|DfXEW@>A3IYy-Ws8?K~+gtsWTfW9tWb15N;!_NB+3MDE^WHJxZOd{k`vmRSF* zD>{Z*V)k)WGwP(E{Qv*}0d!JMQvg8b*k%9#2Np?0K~#9!?U?s>8pjsLvwPSAtARy} zSRnxmLcmG{VSy!NWC;~pmg4TGVyjw~d#`bid*Zma#CDv#^xpeRp3{?8lGk7Af0H`{ zl8|iwVpcgP=gjvPmbnM+XTNvm&hFfE4;2*^6%`c~)g%d1D+)jXC;$bZ02F`%Pyh-* z0Vn_k_#Fb+Ckai6GDH)G5X0PN^sWIkN3LX9kJtk_QHe;)Awr78;xSgz7?d{vQr29a zHm=Jz`o2uc`lt(xwBguntc}WOdO=b)p4j~D?Ae=VY*;2K2;~V7U@ZlrNzB#4EyJ?L zXVS4VN{K2YlqC{Q91CT}N~>Smyg^c!JRM*y%S~?2nA~olaX%Jh?V|u8tSkU_1QLfb zDyc55p1qM}jCR20_J~~;-98FX0?Gg|+=)<0RTX@%#wsZZm6V2NlQXJ4v=wx;huZ2x%uITPlhl=6(IqH&B#y(Yy`nAzAtDf3s7BBg#nOMQFD3$sOHHh z0R&J^hN`PWr7tbh@&_=93+G^M=@Ly@f;qB13s6Ewx$?VyLIWQii*w`w-(pd z*T4M7jS|Wqz$V`7ld-gYT_Pp`qBRP_097ZO>lXk3HlUbjsl?$vz)7dJ)}B7y$uWW< z0GW=6o;bfk%8m4s!E4AZdFY0hrfOURYRIxB4lGL$})p zjRMeuZ{-4%7uFSG2avSsO}GStj>kI{PP-F=0RYMClL4>;(24)Gh*(hm!s^H81v!NY zObviySw21o0H6+p0g$q3+iFZuSYG}@$F`@=a8Q>i0I=)(GONHetP_CgAPfK&bk?oL zJQ$(9W7{jIBrXt`f>OS06?(mFHisXdt%D;>2H2`e&;{VR0a$J&;lTPkkwbg zmTZHOYXo3!Sy53@Srz~~pY+#f%0Ae?f9KBq`+q8$IdkrJ&rTw^YXF^PS=}M8nI_sy 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

PcI2o&M&)t3F0_MM!y3DdV=Ug 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 Ba~l8v literal 0 HcmV?d00001 diff --git a/packages/guide/public/powered-by-vercel.svg b/packages/guide/public/powered-by-vercel.svg new file mode 100644 index 000000000..877828684 --- /dev/null +++ b/packages/guide/public/powered-by-vercel.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/guide/public/safari-pinned-tab.svg b/packages/guide/public/safari-pinned-tab.svg new file mode 100644 index 000000000..3c4ffc825 --- /dev/null +++ b/packages/guide/public/safari-pinned-tab.svg @@ -0,0 +1,32 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + diff --git a/packages/guide/public/site.webmanifest b/packages/guide/public/site.webmanifest new file mode 100644 index 000000000..1a0f7832e --- /dev/null +++ b/packages/guide/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "discord.js guide", + "short_name": "discord.js guide", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-384x384.png", + "sizes": "384x384", + "type": "image/png" + } + ], + "theme_color": "#1a1b1e", + "background_color": "#1a1b1e", + "display": "standalone" +} diff --git a/packages/guide/src/components/Danger.tsx b/packages/guide/src/components/Danger.tsx new file mode 100644 index 000000000..e5a012ee8 --- /dev/null +++ b/packages/guide/src/components/Danger.tsx @@ -0,0 +1,18 @@ +import type { PropsWithChildren } from 'react'; +import { VscWarning } from 'react-icons/vsc'; + +export function Caution({ children }: PropsWithChildren<{}>) { + return ( +

+
+ + + +
+ Caution + {children} +
+
+
+ ); +} diff --git a/packages/guide/src/components/DocsLink.tsx b/packages/guide/src/components/DocsLink.tsx new file mode 100644 index 000000000..aa9a25620 --- /dev/null +++ b/packages/guide/src/components/DocsLink.tsx @@ -0,0 +1,3 @@ +export function DocsLink() { + return null; +} diff --git a/packages/guide/src/components/Info.tsx b/packages/guide/src/components/Info.tsx new file mode 100644 index 000000000..65a6d154b --- /dev/null +++ b/packages/guide/src/components/Info.tsx @@ -0,0 +1,18 @@ +import type { PropsWithChildren } from 'react'; +import { VscInfo } from 'react-icons/vsc'; + +export function Info({ children }: PropsWithChildren<{}>) { + return ( +
+
+ + + +
+ Info + {children} +
+
+
+ ); +} diff --git a/packages/guide/src/components/Navbar.tsx b/packages/guide/src/components/Navbar.tsx new file mode 100644 index 000000000..76f16c043 --- /dev/null +++ b/packages/guide/src/components/Navbar.tsx @@ -0,0 +1,70 @@ +import { Button } from 'ariakit/button'; +import { useState, useEffect } from 'react'; +import { FiCommand } from 'react-icons/fi'; +import { VscColorMode, VscGithubInverted, VscMenu, VscSearch } from 'react-icons/vsc'; +import { useMedia } from 'react-use'; +import { Sidebar } from './Sidebar.jsx'; +import type { MDXPage } from './SidebarItems.jsx'; + +export function Navbar({ pages }: { pages?: MDXPage[] | undefined }) { + const matches = useMedia('(min-width: 992px)', false); + const [opened, setOpened] = useState(false); + + useEffect(() => { + if (matches) { + setOpened(false); + } + }, [matches]); + + return ( + <> +
+
+
+ +
Placeholder
+
+ + + +
+
+
+
+ + + ); +} diff --git a/packages/guide/src/components/ResultingCode.tsx b/packages/guide/src/components/ResultingCode.tsx new file mode 100644 index 000000000..003e21049 --- /dev/null +++ b/packages/guide/src/components/ResultingCode.tsx @@ -0,0 +1,3 @@ +export function ResultingCode() { + return null; +} diff --git a/packages/guide/src/components/Section.tsx b/packages/guide/src/components/Section.tsx new file mode 100644 index 000000000..539c07f55 --- /dev/null +++ b/packages/guide/src/components/Section.tsx @@ -0,0 +1,43 @@ +import { Disclosure, DisclosureContent, useDisclosureState } from 'ariakit/disclosure'; +import type { PropsWithChildren } from 'react'; +import { VscChevronDown } from 'react-icons/vsc'; + +export function Section({ + title, + icon, + padded = false, + dense = false, + defaultClosed = false, + children, +}: PropsWithChildren<{ + defaultClosed?: boolean; + dense?: boolean; + icon?: JSX.Element; + padded?: boolean; + title: string; +}>) { + const disclosure = useDisclosureState({ defaultOpen: !defaultClosed }); + + return ( +
+ +
+
+ {icon ?? null} + {title} +
+ +
+
+ + {padded ?
{children}
: children} +
+
+ ); +} diff --git a/packages/guide/src/components/Sidebar.tsx b/packages/guide/src/components/Sidebar.tsx new file mode 100644 index 000000000..9e7c7f394 --- /dev/null +++ b/packages/guide/src/components/Sidebar.tsx @@ -0,0 +1,24 @@ +import { Scrollbars } from 'react-custom-scrollbars-2'; +import type { MDXPage } from './SidebarItems'; + +export function Sidebar({ pages, opened }: { opened: boolean; pages?: MDXPage[] | undefined }) { + return ( + + ); +} diff --git a/packages/guide/src/components/SidebarItems.tsx b/packages/guide/src/components/SidebarItems.tsx new file mode 100644 index 000000000..691065b9e --- /dev/null +++ b/packages/guide/src/components/SidebarItems.tsx @@ -0,0 +1,37 @@ +import type { MDXInstance } from 'astro'; +import { Section } from './Section.jsx'; + +export type MDXPage = MDXInstance<{ category: string; title: string }>; + +export function SidebarItems({ pages }: { pages: MDXPage[] }) { + const categories = pages.reduce>((acc, page) => { + if (acc[page.frontmatter.category]) { + acc[page.frontmatter.category]?.push(page); + } else { + acc[page.frontmatter.category] = [page]; + } + + return acc; + }, {}); + + return Object.keys(categories).map((category, idx) => ( +
+ {categories[category]?.map((member, index) => ( + +
+ {member.frontmatter.title} +
+
+ )) ?? null} +
+ )); +} diff --git a/packages/guide/src/components/SidebarLayout.astro b/packages/guide/src/components/SidebarLayout.astro new file mode 100644 index 000000000..fa31cd3a6 --- /dev/null +++ b/packages/guide/src/components/SidebarLayout.astro @@ -0,0 +1,89 @@ +--- +import { Navbar } from './Navbar.jsx'; +import { SidebarItems } from './SidebarItems.jsx'; + +const pages = await Astro.glob<{ category: string; title: string }>('../pages/**/*.mdx'); +--- + + +
+ +
+
+
+ +
diff --git a/packages/guide/src/components/Tip.tsx b/packages/guide/src/components/Tip.tsx new file mode 100644 index 000000000..29d8560ca --- /dev/null +++ b/packages/guide/src/components/Tip.tsx @@ -0,0 +1,18 @@ +import type { PropsWithChildren } from 'react'; +import { VscFlame } from 'react-icons/vsc'; + +export function Tip({ children }: PropsWithChildren<{}>) { + return ( +
+
+ + + +
+ Tip + {children} +
+
+
+ ); +} diff --git a/packages/guide/src/components/discord/Message.tsx b/packages/guide/src/components/discord/Message.tsx new file mode 100644 index 000000000..e748ff501 --- /dev/null +++ b/packages/guide/src/components/discord/Message.tsx @@ -0,0 +1,60 @@ +import type { PropsWithChildren, ReactNode } from 'react'; +import { DiscordMessageAuthor, type IDiscordMessageAuthor } from './MessageAuthor.jsx'; +import { DiscordMessageInteraction, type IDiscordMessageInteraction } from './MessageInteraction.jsx'; +import { DiscordMessageReply, type IDiscordMessageReply } from './MessageReply.jsx'; + +export function DiscordMessage({ + reply, + replyNode, + interaction, + interactionNode, + author, + authorNode, + followUp, + time, + children, +}: PropsWithChildren<{ + author?: IDiscordMessageAuthor | undefined; + authorNode?: ReactNode | undefined; + followUp?: boolean; + interaction?: IDiscordMessageInteraction | undefined; + interactionNode?: ReactNode | undefined; + reply?: IDiscordMessageReply | undefined; + replyNode?: ReactNode | undefined; + time?: string | undefined; +}>) { + return ( +
+
+ {(reply || replyNode) && !followUp ? reply ? : replyNode ?? null : null} + {(interaction || interactionNode) && !(reply || replyNode) && !followUp ? ( + interaction ? ( + + ) : ( + interactionNode ?? null + ) + ) : null} +
+ {followUp ? ( + + {time} + + ) : author ? ( + + ) : ( + authorNode + )} +
+ {children} +
+
+
+
+ ); +} diff --git a/packages/guide/src/components/discord/MessageAuthor.tsx b/packages/guide/src/components/discord/MessageAuthor.tsx new file mode 100644 index 000000000..6e76d63ce --- /dev/null +++ b/packages/guide/src/components/discord/MessageAuthor.tsx @@ -0,0 +1,31 @@ +export interface IDiscordMessageAuthor { + avatar: string; + bot?: boolean; + time: string; + username: string; +} + +export function DiscordMessageAuthor({ avatar, username, bot, time }: IDiscordMessageAuthor) { + return ( + <> + {`${username}'s +

+ + {username} + {bot ? ( + + BOT + + ) : null} + + + {time} + +

+ + ); +} diff --git a/packages/guide/src/components/discord/MessageAuthorReply.tsx b/packages/guide/src/components/discord/MessageAuthorReply.tsx new file mode 100644 index 000000000..e72f2d644 --- /dev/null +++ b/packages/guide/src/components/discord/MessageAuthorReply.tsx @@ -0,0 +1,21 @@ +export interface IDiscordMessageAuthorReply { + avatar: string; + bot?: boolean; + username: string; +} + +export function DiscordMessageAuthorReply({ avatar, bot, username }: IDiscordMessageAuthorReply) { + return ( + <> + {`${username}'s + {bot ? ( +
+ BOT +
+ ) : null} + + {username} + + + ); +} diff --git a/packages/guide/src/components/discord/MessageBaseReply.tsx b/packages/guide/src/components/discord/MessageBaseReply.tsx new file mode 100644 index 000000000..1c3727bbb --- /dev/null +++ b/packages/guide/src/components/discord/MessageBaseReply.tsx @@ -0,0 +1,20 @@ +import type { PropsWithChildren, ReactNode } from 'react'; +import { DiscordMessageAuthorReply, type IDiscordMessageAuthorReply } from './MessageAuthorReply.jsx'; + +export function DiscordMessageBaseReply({ + author, + authorNode, + children, +}: PropsWithChildren<{ author?: IDiscordMessageAuthorReply | undefined; authorNode?: ReactNode | undefined }>) { + return ( +
+
+ {author ? : authorNode} +
+ {children} +
+ ); +} diff --git a/packages/guide/src/components/discord/MessageEmbed.tsx b/packages/guide/src/components/discord/MessageEmbed.tsx new file mode 100644 index 000000000..7a4163485 --- /dev/null +++ b/packages/guide/src/components/discord/MessageEmbed.tsx @@ -0,0 +1,38 @@ +import type { PropsWithChildren, ReactNode } from 'react'; +import { DiscordMessageEmbedAuthor, type IDiscordMessageEmbedAuthor } from './MessageEmbedAuthor.jsx'; +import { DiscordMessageEmbedFooter, type IDiscordMessageEmbedFooter } from './MessageEmbedFooter.jsx'; +import { DiscordMessageEmbedTitle, type IDiscordMessageEmbedTitle } from './MessageEmbedTitle.jsx'; + +export interface IDiscordMessageEmbed { + author?: IDiscordMessageEmbedAuthor | undefined; + authorNode?: ReactNode | undefined; + footer?: IDiscordMessageEmbedFooter | undefined; + footerNode?: ReactNode | undefined; + title?: IDiscordMessageEmbedTitle | undefined; + titleNode?: ReactNode | undefined; +} + +export function DiscordMessageEmbed({ + author, + authorNode, + title, + titleNode, + children, + footer, + footerNode, +}: PropsWithChildren) { + return ( +
+
+
+
+ {author ? : authorNode ?? null} + {title ? : titleNode ?? null} + {children ?
{children}
: null} + {footer ? : footerNode ?? null} +
+
+
+
+ ); +} diff --git a/packages/guide/src/components/discord/MessageEmbedAuthor.tsx b/packages/guide/src/components/discord/MessageEmbedAuthor.tsx new file mode 100644 index 000000000..793970d23 --- /dev/null +++ b/packages/guide/src/components/discord/MessageEmbedAuthor.tsx @@ -0,0 +1,13 @@ +export interface IDiscordMessageEmbedAuthor { + avatar: string; + username: string; +} + +export function DiscordMessageEmbedAuthor({ avatar, username }: IDiscordMessageEmbedAuthor) { + return ( +
+ {`${username}'s + {username} +
+ ); +} diff --git a/packages/guide/src/components/discord/MessageEmbedFooter.tsx b/packages/guide/src/components/discord/MessageEmbedFooter.tsx new file mode 100644 index 000000000..c4a0687e3 --- /dev/null +++ b/packages/guide/src/components/discord/MessageEmbedFooter.tsx @@ -0,0 +1,7 @@ +export interface IDiscordMessageEmbedFooter { + content: string; +} + +export function DiscordMessageEmbedFooter({ content }: IDiscordMessageEmbedFooter) { + return
{content}
; +} diff --git a/packages/guide/src/components/discord/MessageEmbedTitle.tsx b/packages/guide/src/components/discord/MessageEmbedTitle.tsx new file mode 100644 index 000000000..0e3f2c75d --- /dev/null +++ b/packages/guide/src/components/discord/MessageEmbedTitle.tsx @@ -0,0 +1,7 @@ +export interface IDiscordMessageEmbedTitle { + title: string; +} + +export function DiscordMessageEmbedTitle({ title }: IDiscordMessageEmbedTitle) { + return
{title}
; +} diff --git a/packages/guide/src/components/discord/MessageInteraction.tsx b/packages/guide/src/components/discord/MessageInteraction.tsx new file mode 100644 index 000000000..97db2020b --- /dev/null +++ b/packages/guide/src/components/discord/MessageInteraction.tsx @@ -0,0 +1,18 @@ +import type { ReactNode } from 'react'; +import type { IDiscordMessageAuthorReply } from './MessageAuthorReply.jsx'; +import { DiscordMessageBaseReply } from './MessageBaseReply.jsx'; + +export interface IDiscordMessageInteraction { + author?: IDiscordMessageAuthorReply | undefined; + authorNode?: ReactNode | undefined; + command?: string; +} + +export function DiscordMessageInteraction({ author, authorNode, command }: IDiscordMessageInteraction) { + return ( + + used +
{command}
+
+ ); +} diff --git a/packages/guide/src/components/discord/MessageReply.tsx b/packages/guide/src/components/discord/MessageReply.tsx new file mode 100644 index 000000000..fad8e3020 --- /dev/null +++ b/packages/guide/src/components/discord/MessageReply.tsx @@ -0,0 +1,19 @@ +import type { ReactNode } from 'react'; +import type { IDiscordMessageAuthorReply } from './MessageAuthorReply.jsx'; +import { DiscordMessageBaseReply } from './MessageBaseReply.jsx'; + +export interface IDiscordMessageReply { + author?: IDiscordMessageAuthorReply | undefined; + authorNode?: ReactNode | undefined; + content: string; +} + +export function DiscordMessageReply({ author, authorNode, content }: IDiscordMessageReply) { + return ( + +
+ {content} +
+
+ ); +} diff --git a/packages/guide/src/components/discord/Messages.tsx b/packages/guide/src/components/discord/Messages.tsx new file mode 100644 index 000000000..4e0f0f48b --- /dev/null +++ b/packages/guide/src/components/discord/Messages.tsx @@ -0,0 +1,9 @@ +import type { PropsWithChildren } from 'react'; + +export function DiscordMessages({ rounded, children }: PropsWithChildren<{ rounded?: boolean }>) { + return ( +
+ {children} +
+ ); +} diff --git a/packages/guide/src/layouts/SidebarLayout.astro b/packages/guide/src/layouts/SidebarLayout.astro new file mode 100644 index 000000000..e9193cc90 --- /dev/null +++ b/packages/guide/src/layouts/SidebarLayout.astro @@ -0,0 +1,58 @@ +--- +import '@code-hike/mdx/styles.css'; +import '../styles/ch.css'; +import SidebarLayout from '../components/SidebarLayout.astro'; +import { DESCRIPTION } from '../util/constants.js'; +--- + + + + + + + + + + + + + + + + + + + + + + discord.js + + + + + + + + + + diff --git a/packages/guide/src/pages/creating-your-bot/creating-commands.mdx b/packages/guide/src/pages/creating-your-bot/creating-commands.mdx new file mode 100644 index 000000000..3a092cc1c --- /dev/null +++ b/packages/guide/src/pages/creating-your-bot/creating-commands.mdx @@ -0,0 +1,244 @@ +--- +layout: '../../layouts/SidebarLayout.astro' +title: Creating commands +category: Creating your bot +--- + +import { Tip } from '../../components/Tip.jsx'; +import { DiscordMessages } from '../../components/discord/Messages.jsx'; +import { DiscordMessage } from '../../components/discord/Message.jsx'; +import { DocsLink } from '../../components/DocsLink.jsx'; +import { ResultingCode } from '../../components/ResultingCode.jsx'; +import { CH } from '@code-hike/mdx/components'; + +# Creating commands + +This page is a follow-up and bases its code on [the previous page](/creating-your-bot/). + + + + Pong! + + + +Discord allows developers to register [slash commands](https://discord.com/developers/docs/interactions/application-commands), which provide users a first-class way of interacting directly with your application. Before being able to reply to a command, you must first register it. + +## Registering commands + +This section will cover only the bare minimum to get you started, but you can refer to our [in-depth page on registering slash commands](/interactions/slash-commands.md#registering-slash-commands) for further details. It covers guild commands, global commands, options, option types, and choices. + +### Command deployment script + +Create a `deploy-commands.js` file in your project directory. This file will be used to register and update the slash commands for your bot application. + +Since commands only need to be registered once, and updated when the definition (description, options etc) is changed, it's not necessary to connect a whole client to the gateway or do this on every `ready` event. As such, a standalone script using the lighter REST manager is preferred. + +Below is a deployment script you can use. Focus on these variables: + +- `clientId`: Your application's client id +- `guildId`: Your development server's id +- `commands`: An array of commands to register. The [slash command builder](/popular-topics/builders.md#slash-command-builders) from `discord.js` is used to build the data for your commands + + + In order to get your application's client id, go to [Discord Developer + Portal](https://discord.com/developers/applications) and choose your application. Find the id under "Application ID" + in General Information subpage. To get guild id, open Discord and go to your settings. On the "Advanced" page, turn on + "Developer Mode". This will enable a "Copy ID" button in the context menu when you right-click on a server icon, a + user's profile, etc. + + + + +```js deploy-commands.js mark=4,6:10 +const { REST, SlashCommandBuilder, Routes } = require('discord.js'); +const { clientId, guildId, token } = require('./config.json'); + +const commands = [ + new SlashCommandBuilder().setName('ping').setDescription('Replies with pong!'), + new SlashCommandBuilder().setName('server').setDescription('Replies with server info!'), + new SlashCommandBuilder().setName('user').setDescription('Replies with user info!'), +].map((command) => command.toJSON()); + +const rest = new REST({ version: '10' }).setToken(token); + +rest + .put(Routes.applicationGuildCommands(clientId, guildId), { body: commands }) + .then((data) => console.log(`Successfully registered ${data.length} application commands.`)) + .catch(console.error); +``` + +--- + +```json config.json mark=2:3 +{ + "clientId": "123456789012345678", + "guildId": "876543210987654321", + "token": "your-token-goes-here" +} +``` + + + +Once you fill in these values, run `node deploy-commands.js` in your project directory to register your commands to a single guild. It's also possible to [register commands globally](/interactions/slash-commands.md#global-commands). + + + You only need to run `node deploy-commands.js` once. You should only run it again if you add or edit existing + commands. + + +## Replying to commands + +Once you've registered your commands, you can listen for interactions via in your `index.js` file. + +You should first check if an interaction is a chat input command via `.isChatInputCommand()`, and then check the `.commandName` property to know which command it is. You can respond to interactions with `.reply()`. + + + +```js mark=5:16 +client.once('ready', () => { + console.log('Ready!'); +}); + +client.on('interactionCreate', async (interaction) => { + if (!interaction.isChatInputCommand()) return; + const { commandName } = interaction; + if (commandName === 'ping') { + await interaction.reply('Pong!'); + } else if (commandName === 'server') { + await interaction.reply('Server info.'); + } else if (commandName === 'user') { + await interaction.reply('User info.'); + } +}); +client.login(token); +``` + + + +### Server info command + +Note that servers are referred to as "guilds" in the Discord API and discord.js library. `interaction.guild` refers to the guild the interaction was sent in (a instance), which exposes properties such as `.name` or `.memberCount`. + + + +```js focus=7 +client.on('interactionCreate', async (interaction) => { + if (!interaction.isChatInputCommand()) return; + const { commandName } = interaction; + if (commandName === 'ping') { + await interaction.reply('Pong!'); + } else if (commandName === 'server') { + await interaction.reply(`Server name: ${interaction.guild.name}\nTotal members: ${interaction.guild.memberCount}`); + } else if (commandName === 'user') { + await interaction.reply('User info.'); + } +}); +``` + + + + + +

Server name: discord.js Guide

+

Total members: 2

+
+
+ +You could also display the date the server was created, or the server's verification level. You would do those in the same manner – use `interaction.guild.createdAt` or `interaction.guild.verificationLevel`, respectively. + + + Refer to the documentation for a list of all the available properties and methods! + + +### User info command + +A "user" refers to a Discord user. `interaction.user` refers to the user the interaction was sent by (a instance), which exposes properties such as `.tag` or `.id`. + + + +```js focus=9 +client.on('interactionCreate', async (interaction) => { + if (!interaction.isChatInputCommand()) return; + const { commandName } = interaction; + if (commandName === 'ping') { + await interaction.reply('Pong!'); + } else if (commandName === 'server') { + await interaction.reply(`Server name: ${interaction.guild.name}\nTotal members: ${interaction.guild.memberCount}`); + } else if (commandName === 'user') { + await interaction.reply(`Your tag: ${interaction.user.tag}\nYour id: ${interaction.user.id}`); + } +}); +``` + + + + + +

Your tag: User#0001

+

Your id: 123456789012345678

+
+
+ + + Refer to the documentation for a list of all the available properties and methods! + + +And there you have it! + +## The problem with `if`/`else if` + +If you don't plan on making more than a couple commands, then using an `if`/`else if` chain is fine; however, this isn't always the case. Using a giant `if`/`else if` chain will only hinder your development process in the long run. + +Here's a small list of reasons why you shouldn't do so: + +- Takes longer to find a piece of code you want; +- Easier to fall victim to [spaghetti code](https://en.wikipedia.org/wiki/Spaghetti_code); +- Difficult to maintain as it grows; +- Difficult to debug; +- Difficult to organize; +- General bad practice. + +Next, we'll be diving into something called a "command handler" – code that makes handling commands easier and much more efficient. This allows you to move your commands into individual files. + +## Resulting code + + diff --git a/packages/guide/src/pages/home.mdx b/packages/guide/src/pages/home.mdx new file mode 100644 index 000000000..0024e9fa9 --- /dev/null +++ b/packages/guide/src/pages/home.mdx @@ -0,0 +1,36 @@ +--- +layout: '../layouts/SidebarLayout.astro' +title: Introduction +category: Home +--- + +# Introduction + +If you're reading this, it probably means you want to learn how to make a bot with discord.js. Awesome! You've come to the right place. +This guide will teach you things such as: + +- How to get a bot [up and running](/preparations/) from scratch; +- How to properly [create](/creating-your-bot/), [organize](/creating-your-bot/command-handling.md), and expand on your commands; +- In-depth explanations and examples regarding popular topics (e.g. [reactions](/popular-topics/reactions.md), [embeds](/popular-topics/embeds.md), [canvas](/popular-topics/canvas.md)); +- Working with databases (e.g. [sequelize](/sequelize/) and [keyv](/keyv/)); +- Getting started with [sharding](/sharding/); +- And much more. + +This guide will also cover subjects like common errors and how to solve them, keeping your code clean, setting up a proper development environment, etc. +Sounds good? Great! Let's get started, then. + +## Before you begin... + +Alright, making a bot is cool and all, but there are some prerequisites to it. To create a bot with discord.js, you should have a fairly decent grasp of JavaScript itself. +While you _can_ make a bot with very little JavaScript and programming knowledge, trying to do so without understanding the language first will only hinder you. You may get stuck on many uncomplicated issues, struggle with solutions to incredibly easy problems, and all-in-all end up frustrated. Sounds pretty annoying. + +If you don't know JavaScript but would like to learn about it, here are a few links to help get you started: + +- [Eloquent JavaScript, a free online book](http://eloquentjavascript.net/) +- [JavaScript.info, a modern javascript tutorial](https://javascript.info/) +- [Codecademy's interactive JavaScript course](https://www.codecademy.com/learn/introduction-to-javascript) +- [Nodeschool, for both JavaScript and Node.js lessons](https://nodeschool.io/) +- [MDN's JavaScript guide and full documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript) +- [Google, your best friend](https://google.com) + +Take your pick, learn some JavaScript, and once you feel like you're confident enough to make a bot, come back and get started! diff --git a/packages/guide/src/pages/index.astro b/packages/guide/src/pages/index.astro new file mode 100644 index 000000000..02acc9b55 --- /dev/null +++ b/packages/guide/src/pages/index.astro @@ -0,0 +1,8 @@ +--- +--- + + + +

Hello, World!

+ + diff --git a/packages/guide/src/pages/requesting-more-content.mdx b/packages/guide/src/pages/requesting-more-content.mdx new file mode 100644 index 000000000..576ef182b --- /dev/null +++ b/packages/guide/src/pages/requesting-more-content.mdx @@ -0,0 +1,20 @@ +--- +layout: '../layouts/SidebarLayout.astro' +title: Requesting more content +category: Home +--- + +import { Tip } from '../components/Tip.jsx'; + +# Requesting more content + +Since this guide is made specifically for the discord.js community, we want to be sure to provide the most relevant and up-to-date content. We will, of course, make additions to the current pages and add new ones as we see fit, but fulfilling requests is how we know we're providing content you all want the most. + +Requests may be as simple as "add an example to the [frequently asked questions](/popular-topics/faq.html) page", or as elaborate as "add a page regarding [sharding](/sharding/)". We'll do our best to fulfill all requests, as long as they're reasonable. + +To make a request, simply head over to [the repo's issue tracker](https://github.com/discordjs/guide/issues) and [create a new issue](https://github.com/discordjs/guide/issues/new)! Title it appropriately, and let us know exactly what you mean inside the issue description. Make sure that you've looked around the site before making a request; what you want to request might already exist! + + + Remember that you can always [fork the repo](https://github.com/discordjs/guide) and [make a pull + request](https://github.com/discordjs/guide/pulls) if you want to add anything to the guide yourself! + diff --git a/packages/guide/src/pages/test.mdx b/packages/guide/src/pages/test.mdx new file mode 100644 index 000000000..7a9247eb8 --- /dev/null +++ b/packages/guide/src/pages/test.mdx @@ -0,0 +1,95 @@ +--- +title: Test +category: Test +--- + +import { DiscordMessages } from '../components/discord/Messages.jsx'; +import { DiscordMessage } from '../components/discord/Message.jsx'; +import { DiscordMessageEmbed } from '../components/discord/MessageEmbed.jsx'; + + + + 1234 + + + 1234 + + + + + + 1234 + + + + + + <> + + + + + Test + + + + diff --git a/packages/guide/src/pages/whats-new.mdx b/packages/guide/src/pages/whats-new.mdx new file mode 100644 index 000000000..d610eba06 --- /dev/null +++ b/packages/guide/src/pages/whats-new.mdx @@ -0,0 +1,74 @@ +--- +layout: '../layouts/SidebarLayout.astro' +title: What's new +category: Home +--- + +import { DiscordMessages } from '../components/discord/Messages.jsx'; +import { DiscordMessage } from '../components/discord/Message.jsx'; + +# What's new + + + + discord.js v14 has released and the guide has been updated! +
+ This includes additions and changes made in Discord, such as slash commands and message components. +
+
+ +## Site + +- Upgraded to [VuePress v2](https://v2.vuepress.vuejs.org/) +- New theme made to match the [discord.js documentation site](https://discord.js.org/) +- Discord message components upgraded to [@discord-message-components/vue](https://github.com/Danktuary/discord-message-components/blob/main/packages/vue/README.md) +- Many fixes in code blocks, grammar, consistency, etc. + +## Pages + +All content has been updated to use discord.js v14 syntax. The v13 version of the guide can be found at [https://v13.discordjs.guide/](https://v13.discordjs.guide/). + +### New + +- [Updating from v13 to v14](/additional-info/changes-in-v14.md): A list of the changes from discord.js v13 to v14 +- [Slash commands](/interactions/slash-commands.md): Registering, replying to slash commands and permissions +- [Buttons](/interactions/buttons.md): Building, sending, and receiving buttons +- [Select menus](/interactions/select-menus.md): Building, sending, and receiving select menus +- [Threads](/popular-topics/threads.md): Creating and managing threads +- [Builders](/popular-topics/builders.md): A collection of builders to use with your bot + +### Updated + +- Commando: Replaced with [Sapphire](https://sapphirejs.dev/docs/Guide/getting-started/getting-started-with-sapphire) +- [Voice](/voice/): Rewritten to use the [`@discordjs/voice`](https://github.com/discordjs/discord.js/tree/main/packages/voice) package +- [Command handling](/creating-your-bot/command-handling.md/): Updated to use slash commands + - Obsolete sections removed +- `client.on('message')` snippets updated to `client.on('interactionCreate')` + - [Message content will become a new privileged intent on August 31, 2022](https://support-dev.discord.com/hc/en-us/articles/4404772028055) + + + + Thank you to all of those that contributed to the development of discord.js and the guide! + + diff --git a/packages/guide/src/styles/ch.css b/packages/guide/src/styles/ch.css new file mode 100644 index 000000000..828b8715e --- /dev/null +++ b/packages/guide/src/styles/ch.css @@ -0,0 +1,3 @@ +.ch-frame-buttons { + display: none; +} diff --git a/packages/guide/src/util/constants.ts b/packages/guide/src/util/constants.ts new file mode 100644 index 000000000..71f3be4e2 --- /dev/null +++ b/packages/guide/src/util/constants.ts @@ -0,0 +1 @@ +export const DESCRIPTION = 'Imagine a guide... that explores the many possibilities for your discord.js bot.'; diff --git a/packages/guide/tsconfig.eslint.json b/packages/guide/tsconfig.eslint.json new file mode 100644 index 000000000..4c08f2747 --- /dev/null +++ b/packages/guide/tsconfig.eslint.json @@ -0,0 +1,22 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "allowJs": true + }, + "include": [ + "**/*.ts", + "**/*.tsx", + "**/*.js", + "**/*.cjs", + "**/*.mjs", + "**/*.jsx", + "**/*.astro", + "**/*.test.ts", + "**/*.test.js", + "**/*.test.mjs", + "**/*.spec.ts", + "**/*.spec.js", + "**/*.spec.mjs" + ], + "exclude": [] +} diff --git a/packages/guide/tsconfig.json b/packages/guide/tsconfig.json new file mode 100644 index 000000000..396305a4a --- /dev/null +++ b/packages/guide/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "isolatedModules": true, + "jsx": "preserve", + "baseUrl": ".", + "noEmit": true, + "allowJs": false, + "incremental": true, + "skipLibCheck": true, + "types": ["@astrojs/image/client"], + "paths": { + "~/*": ["./src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "types.d.ts"], + "exclude": ["node_modules"] +} diff --git a/packages/guide/types.d.ts b/packages/guide/types.d.ts new file mode 100644 index 000000000..35306c6fc --- /dev/null +++ b/packages/guide/types.d.ts @@ -0,0 +1 @@ +declare module '*.css'; diff --git a/packages/guide/unocss.config.ts b/packages/guide/unocss.config.ts new file mode 100644 index 000000000..e88462119 --- /dev/null +++ b/packages/guide/unocss.config.ts @@ -0,0 +1,65 @@ +import { defineConfig, presetTypography, presetUno, presetWebFonts } from 'unocss'; + +export default defineConfig({ + theme: { + colors: { + blurple: { + 50: '#e0e3ff', + 100: '#cdd2ff', + 200: '#9ea7ff', + 300: '#7782fa', + DEFAULT: '#5865F2', + 500: '#3d48c3', + 600: '#293294', + 700: '#1a2165', + 800: '#0e1137', + 900: '#020208', + }, + }, + }, + presets: [ + presetUno({ dark: 'class' }), + presetWebFonts({ + provider: 'bunny', + fonts: { + mono: ['JetBrains Mono', 'JetBrains Mono:400,600,700'], + }, + }), + presetTypography({ + cssExtend: { + pre: { + padding: '1em', + 'line-height': '1.5', + 'border-radius': '4px', + }, + code: { + 'font-size': '1em', + 'font-weight': 'unset', + }, + ':where(:not(pre) > code)::before': { + content: '""', + }, + ':where(:not(pre) > code)::after': { + content: '""', + }, + a: { + color: '#5865F2', + 'text-decoration': 'none', + }, + 'a > img': { + display: 'inline-block', + }, + h2: { + 'margin-top': '1.25em', + }, + h3: { + 'margin-top': '0.75em', + }, + // eslint-disable-next-line id-length + p: { + margin: '.5em 0', + }, + }, + }), + ], +}); diff --git a/packages/website/.eslintrc.json b/packages/website/.eslintrc.json index 44d5dfd52..d4eb55f48 100644 --- a/packages/website/.eslintrc.json +++ b/packages/website/.eslintrc.json @@ -1,5 +1,5 @@ { - "extends": ["../../.eslintrc.json", "neon/react", "neon/next", "neon/edge"], + "extends": ["../../.eslintrc.json", "neon/react", "neon/next", "neon/edge", "neon/prettier"], "settings": { "react": { "version": "detect" diff --git a/turbo.json b/turbo.json index fcb0447bc..d50a29be2 100644 --- a/turbo.json +++ b/turbo.json @@ -5,6 +5,10 @@ "dependsOn": ["^build"], "outputs": ["dist/**"] }, + "@discordjs/guide#build:prod": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, "@discordjs/website#build:prod": { "dependsOn": ["^build"], "outputs": [".next/**"] diff --git a/yarn.lock b/yarn.lock index e78e3081c..b396b3430 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,6 +24,13 @@ __metadata: languageName: node linkType: hard +"@altano/tiny-async-pool@npm:^1.0.2": + version: 1.0.2 + resolution: "@altano/tiny-async-pool@npm:1.0.2" + checksum: 20cb16cd1a85576bfee4b923d5efef1f1957a048268e166026e9c15304902e500147baf3ac65c3d8cfaaf6d1e78f74efd6641c0cd7ce12b97d97145f15825788 + languageName: node + linkType: hard + "@ampproject/remapping@npm:^2.1.0, @ampproject/remapping@npm:^2.2.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" @@ -113,6 +120,189 @@ __metadata: languageName: node linkType: hard +"@astrojs/compiler@npm:0.18 - 0.26 || ^0.26.0": + version: 0.26.0 + resolution: "@astrojs/compiler@npm:0.26.0" + checksum: 188ad3a0c620d2ebfd2bfd953ad68a7bdf0195a3c929d6db1637f5263670b27d6cd97470618b43d10ee334cc8b6bb23ca58306a2cba7cbcb46ffbd41be845f52 + languageName: node + linkType: hard + +"@astrojs/compiler@npm:^0.23.4": + version: 0.23.5 + resolution: "@astrojs/compiler@npm:0.23.5" + checksum: 9779b8a7fab2b467ea8637fca8129110fe3b6dbee4fc2e9fe4ec162c3f91ffd77fd447abab01a926b7440749e03c269dda65c4ca1d8759d9662f9198e56eeb01 + languageName: node + linkType: hard + +"@astrojs/compiler@npm:^0.25.0": + version: 0.25.2 + resolution: "@astrojs/compiler@npm:0.25.2" + checksum: b392128dc6e96cfd35199ecf184e9ac16a5bfd4cdf940e7f067d9283824ffd93c2e2edb23a479cd1c3a801b119c233e35176940239168c2774a101f96dbf175a + languageName: node + linkType: hard + +"@astrojs/image@npm:^0.9.1": + version: 0.9.1 + resolution: "@astrojs/image@npm:0.9.1" + dependencies: + "@altano/tiny-async-pool": ^1.0.2 + http-cache-semantics: ^4.1.0 + image-size: ^1.0.2 + magic-string: ^0.25.9 + mime: ^3.0.0 + slash: ^4.0.0 + peerDependencies: + sharp: ">=0.31.0" + peerDependenciesMeta: + sharp: + optional: true + checksum: 7a9bce51d56597de45850027d3c6925a4c261c8870da0caf2455da0180ea51cc8cd54e9c018e0f09fb45279585cf36902ba6268170ffaf60cbaa51764ce40bb1 + languageName: node + linkType: hard + +"@astrojs/language-server@npm:^0.26.2": + version: 0.26.2 + resolution: "@astrojs/language-server@npm:0.26.2" + dependencies: + "@vscode/emmet-helper": ^2.8.4 + events: ^3.3.0 + prettier: ^2.7.1 + prettier-plugin-astro: ^0.5.3 + source-map: ^0.7.3 + vscode-css-languageservice: ^6.0.1 + vscode-html-languageservice: ^5.0.0 + vscode-languageserver: ^8.0.1 + vscode-languageserver-protocol: ^3.17.1 + vscode-languageserver-textdocument: ^1.0.4 + vscode-languageserver-types: ^3.17.1 + vscode-uri: ^3.0.3 + bin: + astro-ls: bin/nodeServer.js + checksum: 1e130a011a9ac8c6e45808e8564c352bb75028e2696ba673e8db7ba4ff7aa8c0132e70ac7c9b3df0b59dc7eca94f57447b85bc7d9a392dd72c48d0dd0c055ab6 + languageName: node + linkType: hard + +"@astrojs/markdown-remark@npm:^1.1.3": + version: 1.1.3 + resolution: "@astrojs/markdown-remark@npm:1.1.3" + dependencies: + "@astrojs/micromark-extension-mdx-jsx": ^1.0.3 + "@astrojs/prism": ^1.0.0 + acorn: ^8.7.1 + acorn-jsx: ^5.3.2 + github-slugger: ^1.4.0 + hast-util-to-html: ^8.0.3 + import-meta-resolve: ^2.1.0 + mdast-util-from-markdown: ^1.2.0 + mdast-util-mdx-expression: ^1.2.1 + mdast-util-mdx-jsx: ^1.2.0 + micromark-extension-mdx-expression: ^1.0.3 + micromark-extension-mdx-md: ^1.0.0 + micromark-util-combine-extensions: ^1.0.0 + rehype-raw: ^6.1.1 + rehype-stringify: ^9.0.3 + remark-gfm: ^3.0.1 + remark-parse: ^10.0.1 + remark-rehype: ^10.1.0 + remark-smartypants: ^2.0.0 + shiki: ^0.11.1 + unified: ^10.1.2 + unist-util-map: ^3.1.1 + unist-util-visit: ^4.1.0 + vfile: ^5.3.2 + checksum: 1d8aa5226f2b746e004fb18db0b50086a674b7e31da502dea6182925f48d14972879d5be3771614ea06cc9c8872bcd0b217a69676c6bf18d5b18d534ee151553 + languageName: node + linkType: hard + +"@astrojs/mdx@npm:^0.11.4": + version: 0.11.4 + resolution: "@astrojs/mdx@npm:0.11.4" + dependencies: + "@astrojs/prism": ^1.0.1 + "@mdx-js/mdx": ^2.1.2 + "@mdx-js/rollup": ^2.1.1 + acorn: ^8.8.0 + es-module-lexer: ^0.10.5 + estree-util-visit: ^1.2.0 + github-slugger: ^1.4.0 + gray-matter: ^4.0.3 + kleur: ^4.1.4 + rehype-raw: ^6.1.1 + remark-frontmatter: ^4.0.1 + remark-gfm: ^3.0.1 + remark-smartypants: ^2.0.0 + shiki: ^0.11.1 + unist-util-visit: ^4.1.0 + vfile: ^5.3.2 + checksum: 7f4045dcab683e0a6ca7247b7a687175f5eba7ecaf710a120a0ff4058443ed4b56e802e621b2ebb9df552ef1abda7f1f0361c438bea4d21da441b2a15d5e529d + languageName: node + linkType: hard + +"@astrojs/micromark-extension-mdx-jsx@npm:^1.0.3": + version: 1.0.3 + resolution: "@astrojs/micromark-extension-mdx-jsx@npm:1.0.3" + dependencies: + "@types/acorn": ^4.0.0 + estree-util-is-identifier-name: ^2.0.0 + micromark-factory-mdx-expression: ^1.0.0 + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + vfile-message: ^3.0.0 + checksum: a020aa43e08f54b5aaf1ceee2609e2da6cecb088eed9abf7017f998cd84c6aecb9b1c0349bffd6bc11f245bfb6ba89fdbc2fe3e694f92e446fedde93e6d49fba + languageName: node + linkType: hard + +"@astrojs/prism@npm:^1.0.0, @astrojs/prism@npm:^1.0.1": + version: 1.0.1 + resolution: "@astrojs/prism@npm:1.0.1" + dependencies: + prismjs: ^1.28.0 + checksum: 185504469f68b813b786b53e2254472b7acd092bb4181fd230064ffc35990dd6d17db6fcd3ff2ebd20f5083ce13d726412995f55be5cac3b770a68e2e70c733a + languageName: node + linkType: hard + +"@astrojs/react@npm:^1.1.4": + version: 1.1.4 + resolution: "@astrojs/react@npm:1.1.4" + dependencies: + "@babel/core": ">=7.0.0-0 <8.0.0" + "@babel/plugin-transform-react-jsx": ^7.17.12 + peerDependencies: + react: ^17.0.2 || ^18.0.0 + react-dom: ^17.0.2 || ^18.0.0 + checksum: 86f97a8e892f186e9eff9ecadcf6cf7f8a192e43c670c2b3f405c2ff8b769c33c6085e3628bb3a777e12de1989cb940d716cb37216f22a956381cf8d9ea3cd2d + languageName: node + linkType: hard + +"@astrojs/telemetry@npm:^1.0.1": + version: 1.0.1 + resolution: "@astrojs/telemetry@npm:1.0.1" + dependencies: + ci-info: ^3.3.1 + debug: ^4.3.4 + dlv: ^1.1.3 + dset: ^3.1.2 + is-docker: ^3.0.0 + is-wsl: ^2.2.0 + node-fetch: ^3.2.5 + which-pm-runs: ^1.1.0 + checksum: f98e21e84e2750cde5a0eb660c18e5c745dde2ee3a84e0c471e8aed64600e7f4b76a0b1858c05f4596920f6d19f715b57552b4186db9ca583b58207f9529cc41 + languageName: node + linkType: hard + +"@astrojs/webapi@npm:^1.1.0": + version: 1.1.0 + resolution: "@astrojs/webapi@npm:1.1.0" + dependencies: + global-agent: ^3.0.0 + node-fetch: ^3.2.5 + checksum: 12f82c603622ac84513262de0408fff06652df7c0c9e6972cee3086e414e5079a8aa47525f2338d1862a22e5fddca8ef521021d350be4387fc462d6d12fb79f1 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": version: 7.18.6 resolution: "@babel/code-frame@npm:7.18.6" @@ -136,6 +326,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:>=7.0.0-0 <8.0.0, @babel/core@npm:^7.18.2, @babel/core@npm:^7.19.3": + version: 7.19.3 + resolution: "@babel/core@npm:7.19.3" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.19.3 + "@babel/helper-compilation-targets": ^7.19.3 + "@babel/helper-module-transforms": ^7.19.0 + "@babel/helpers": ^7.19.0 + "@babel/parser": ^7.19.3 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.3 + "@babel/types": ^7.19.3 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: dd883311209ad5a2c65b227daeb7247d90a382c50f4c6ad60c5ee40927eb39c34f0690d93b775c0427794261b72fa8f9296589a2dbda0782366a9f1c6de00c08 + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.18.13": version: 7.19.1 resolution: "@babel/core@npm:7.19.1" @@ -159,26 +372,14 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.19.3": +"@babel/generator@npm:^7.18.2, @babel/generator@npm:^7.19.3": version: 7.19.3 - resolution: "@babel/core@npm:7.19.3" + resolution: "@babel/generator@npm:7.19.3" dependencies: - "@ampproject/remapping": ^2.1.0 - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.19.3 - "@babel/helper-compilation-targets": ^7.19.3 - "@babel/helper-module-transforms": ^7.19.0 - "@babel/helpers": ^7.19.0 - "@babel/parser": ^7.19.3 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.3 "@babel/types": ^7.19.3 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.1 - semver: ^6.3.0 - checksum: dd883311209ad5a2c65b227daeb7247d90a382c50f4c6ad60c5ee40927eb39c34f0690d93b775c0427794261b72fa8f9296589a2dbda0782366a9f1c6de00c08 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: b1585e398f6c37f442a2fdac964a326b348fbc8fb99a6aaf4f72bbe993adb0ca792bc0a9c65e59930b2a2e55eb5aa3aab360ceb678d3d40692eb0cda2b7b6aa6 languageName: node linkType: hard @@ -193,17 +394,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/generator@npm:7.19.3" - dependencies: - "@babel/types": ^7.19.3 - "@jridgewell/gen-mapping": ^0.3.2 - jsesc: ^2.5.1 - checksum: b1585e398f6c37f442a2fdac964a326b348fbc8fb99a6aaf4f72bbe993adb0ca792bc0a9c65e59930b2a2e55eb5aa3aab360ceb678d3d40692eb0cda2b7b6aa6 - languageName: node - linkType: hard - "@babel/helper-annotate-as-pure@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" @@ -499,7 +689,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.19.3": +"@babel/parser@npm:^7.18.4, @babel/parser@npm:^7.19.3": version: 7.19.3 resolution: "@babel/parser@npm:7.19.3" bin: @@ -1242,7 +1432,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.18.10, @babel/plugin-transform-react-jsx@npm:^7.18.6": +"@babel/plugin-transform-react-jsx@npm:^7.17.12, @babel/plugin-transform-react-jsx@npm:^7.18.10, @babel/plugin-transform-react-jsx@npm:^7.18.6": version: 7.19.0 resolution: "@babel/plugin-transform-react-jsx@npm:7.19.0" dependencies: @@ -1533,7 +1723,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.19.3": +"@babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.19.3": version: 7.19.3 resolution: "@babel/traverse@npm:7.19.3" dependencies: @@ -1562,7 +1752,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.19.3": +"@babel/types@npm:^7.18.4, @babel/types@npm:^7.19.3": version: 7.19.3 resolution: "@babel/types@npm:7.19.3" dependencies: @@ -1580,6 +1770,24 @@ __metadata: languageName: node linkType: hard +"@code-hike/mdx@npm:^0.7.4": + version: 0.7.4 + resolution: "@code-hike/mdx@npm:0.7.4" + dependencies: + hast-util-to-estree: ^1.4.0 + is-plain-obj: ^3.0.0 + node-fetch: ^2.0.0 + remark-rehype: ^8.1.0 + shiki: ^0.10.1 + unified: ^9.2.2 + unist-util-visit: ^2.0.0 + unist-util-visit-parents: ^3.0.0 + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + checksum: 90805a07d56877d502d2034101206962d41d41ad7820e06c5e6e7daa5e7e7589778285471b42de2b6024d5cd207c530b4201922cd64153697ce9b9a7a91fe081 + languageName: node + linkType: hard + "@commitlint/cli@npm:^17.1.2": version: 17.1.2 resolution: "@commitlint/cli@npm:17.1.2" @@ -1939,6 +2147,56 @@ __metadata: languageName: unknown linkType: soft +"@discordjs/guide@workspace:packages/guide": + version: 0.0.0-use.local + resolution: "@discordjs/guide@workspace:packages/guide" + dependencies: + "@astrojs/image": ^0.9.1 + "@astrojs/mdx": ^0.11.4 + "@astrojs/react": ^1.1.4 + "@code-hike/mdx": ^0.7.4 + "@testing-library/react": ^13.4.0 + "@testing-library/user-event": ^14.4.3 + "@types/node": ^16.11.64 + "@types/react-dom": ^17.0.2 + "@types/react-syntax-highlighter": ^15.5.5 + "@unocss/cli": ^0.45.26 + "@unocss/reset": ^0.45.26 + "@vitejs/plugin-react": ^2.1.0 + "@vitest/coverage-c8": ^0.23.4 + "@vscode/codicons": ^0.0.32 + ariakit: ^2.0.0-next.41 + astro: ^1.4.4 + astro-eslint-parser: ^0.6.3 + cmdk: ^0.1.20 + concurrently: ^7.4.0 + cross-env: ^7.0.3 + eslint: ^8.24.0 + eslint-config-neon: ^0.1.34 + eslint-plugin-astro: ^0.19.0 + happy-dom: ^7.0.0 + meilisearch: ^0.28.0 + prettier: ^2.7.1 + prettier-plugin-astro: ^0.5.5 + prettier-plugin-tailwindcss: ^0.1.13 + react: ^17.0.2 + react-custom-scrollbars-2: ^4.5.0 + react-dom: ^17.0.2 + react-icons: ^4.4.0 + react-syntax-highlighter: ^15.5.0 + react-use: ^17.4.0 + rehype-ignore: ^1.0.1 + rehype-pretty-code: ^0.3.2 + rehype-raw: ^6.1.1 + sharp: ^0.31.1 + shiki: ^0.11.1 + typescript: ^4.8.4 + unocss: ^0.45.26 + vercel: ^28.4.6 + vitest: ^0.23.4 + languageName: unknown + linkType: soft + "@discordjs/proxy-container@workspace:packages/proxy-container": version: 0.0.0-use.local resolution: "@discordjs/proxy-container@workspace:packages/proxy-container" @@ -2197,6 +2455,31 @@ __metadata: languageName: node linkType: hard +"@emmetio/abbreviation@npm:^2.2.3": + version: 2.2.3 + resolution: "@emmetio/abbreviation@npm:2.2.3" + dependencies: + "@emmetio/scanner": ^1.0.0 + checksum: 8637ff0c2afeb7a4498bf628510a8332f3ec70474a445131125d8049dfa1b917c18210829c12e1c9044fec5d13cfb9bb498b0af670e8d4905e6dd88e215bd135 + languageName: node + linkType: hard + +"@emmetio/css-abbreviation@npm:^2.1.4": + version: 2.1.4 + resolution: "@emmetio/css-abbreviation@npm:2.1.4" + dependencies: + "@emmetio/scanner": ^1.0.0 + checksum: ede72dafc412180ced63046c648bee6e8b7a5511622ed3192f7f11d813e119fd5e71cd60b95ed6a07d2c9809d6567d8c6fb6c36a4e8dbbcca9bd19df92192eba + languageName: node + linkType: hard + +"@emmetio/scanner@npm:^1.0.0": + version: 1.0.0 + resolution: "@emmetio/scanner@npm:1.0.0" + checksum: 4e4366bf0b56de0a53de361a125dd88b9f652ffea2961a4035fe6acc46670ef483ce86a5e5b66124562a27322099170c3cbfed524b2d07ad048a84e304ab70bd + languageName: node + linkType: hard + "@es-joy/jsdoccomment@npm:~0.31.0": version: 0.31.0 resolution: "@es-joy/jsdoccomment@npm:0.31.0" @@ -2215,6 +2498,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.14.54": + version: 0.14.54 + resolution: "@esbuild/linux-loong64@npm:0.14.54" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.15.9": version: 0.15.9 resolution: "@esbuild/linux-loong64@npm:0.15.9" @@ -2706,6 +2996,13 @@ __metadata: languageName: node linkType: hard +"@ljharb/has-package-exports-patterns@npm:^0.0.2": + version: 0.0.2 + resolution: "@ljharb/has-package-exports-patterns@npm:0.0.2" + checksum: 348d421377c5c2e7e6ddf518800d30dbcdf3176d397fed2b214f49dd4ac3d1689701a463c7b89710ba32de63c87fc643565c9ff06aa066d49bc200b5e4b6655e + languageName: node + linkType: hard + "@mapbox/node-pre-gyp@npm:^1.0.5": version: 1.0.10 resolution: "@mapbox/node-pre-gyp@npm:1.0.10" @@ -2725,7 +3022,7 @@ __metadata: languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.0.0": +"@mdx-js/mdx@npm:^2.0.0, @mdx-js/mdx@npm:^2.1.2": version: 2.1.3 resolution: "@mdx-js/mdx@npm:2.1.3" dependencies: @@ -2762,6 +3059,20 @@ __metadata: languageName: node linkType: hard +"@mdx-js/rollup@npm:^2.1.1": + version: 2.1.3 + resolution: "@mdx-js/rollup@npm:2.1.3" + dependencies: + "@mdx-js/mdx": ^2.0.0 + "@rollup/pluginutils": ^4.0.0 + source-map: ^0.7.0 + vfile: ^5.0.0 + peerDependencies: + rollup: ">=2" + checksum: aca0cf297220f39c720bef6fbdd4cea9b3d1e1c2b2976c851edac233de0437ff537f87da9c0c3b7f54d7b8ec626c76e19db90006958e4221c4b67b3e71ea9c42 + languageName: node + linkType: hard + "@microsoft/api-extractor-model@npm:7.24.0": version: 7.24.0 resolution: "@microsoft/api-extractor-model@npm:7.24.0" @@ -2998,6 +3309,20 @@ __metadata: languageName: node linkType: hard +"@pkgr/utils@npm:^2.3.0, @pkgr/utils@npm:^2.3.1": + version: 2.3.1 + resolution: "@pkgr/utils@npm:2.3.1" + dependencies: + cross-spawn: ^7.0.3 + is-glob: ^4.0.3 + open: ^8.4.0 + picocolors: ^1.0.0 + tiny-glob: ^0.2.9 + tslib: ^2.4.0 + checksum: 118a1971120253740121a1db0a6658c21195b7da962acf9c124b507a3df707cfc97b0b84a16edcbd4352853b182e8337da9fc6e8e3d06c60d75ae4fb42321c75 + languageName: node + linkType: hard + "@polka/url@npm:^1.0.0-next.20": version: 1.0.0-next.21 resolution: "@polka/url@npm:1.0.0-next.21" @@ -3005,6 +3330,27 @@ __metadata: languageName: node linkType: hard +"@proload/core@npm:^0.3.3": + version: 0.3.3 + resolution: "@proload/core@npm:0.3.3" + dependencies: + deepmerge: ^4.2.2 + escalade: ^3.1.1 + checksum: bf1483f21928eabbf632b3d34bb53b0d86d0c44d22c2bf798151351c0179db4fdefa6801176bff6a6318e01caa3bc486d600d3b1afd963a57cf227168639bc7f + languageName: node + linkType: hard + +"@proload/plugin-tsm@npm:^0.2.1": + version: 0.2.1 + resolution: "@proload/plugin-tsm@npm:0.2.1" + dependencies: + tsm: ^2.1.4 + peerDependencies: + "@proload/core": ^0.3.2 + checksum: 23a0ab650f85003954257031585917be81fecef24119c2a71f097e7b397229f95a80f269822473eeffcd6d48991f202cef343a1ba3157d5d68998c5adddb4a59 + languageName: node + linkType: hard + "@qiwi/npm-registry-client@npm:^8.9.1": version: 8.9.1 resolution: "@qiwi/npm-registry-client@npm:8.9.1" @@ -3238,7 +3584,7 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^4.2.1": +"@rollup/pluginutils@npm:^4.0.0, @rollup/pluginutils@npm:^4.2.1": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" dependencies: @@ -3536,7 +3882,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.1.19": version: 7.1.19 resolution: "@types/babel__core@npm:7.1.19" dependencies: @@ -3628,6 +3974,15 @@ __metadata: languageName: node linkType: hard +"@types/estree-jsx@npm:^0.0.1": + version: 0.0.1 + resolution: "@types/estree-jsx@npm:0.0.1" + dependencies: + "@types/estree": "*" + checksum: aed43dfcbcc9c881f571618847661cd69026680466657d1443c12f51d835c7a8ccf5109a800e56c8fc33ae093f096aa937e4656ce3eb71c4f914334c389cf7be + languageName: node + linkType: hard + "@types/estree-jsx@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree-jsx@npm:1.0.0" @@ -3671,6 +4026,13 @@ __metadata: languageName: node linkType: hard +"@types/html-escaper@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/html-escaper@npm:3.0.0" + checksum: 45262fe292d132675abad3db4c9058d18e8a73e3c7e2e5b82a552e73697e5f50fead5142db432cb0685aba5b091a1ea275ae6fb96b8b1a2964ca45f8e50c0fdf + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.4 resolution: "@types/istanbul-lib-coverage@npm:2.0.4" @@ -3734,6 +4096,13 @@ __metadata: languageName: node linkType: hard +"@types/json5@npm:^0.0.30": + version: 0.0.30 + resolution: "@types/json5@npm:0.0.30" + checksum: 8802648fa736801264fde08da7c08b57be8845bd75ecf50c1eee980245f6d2c10a00f0768d0979c7ec2e4ff7e1417226e527bfb045e7e1a6e6afcaf11706a5f0 + languageName: node + linkType: hard + "@types/keyv@npm:^3.1.1": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -3797,6 +4166,15 @@ __metadata: languageName: node linkType: hard +"@types/nlcst@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/nlcst@npm:1.0.0" + dependencies: + "@types/unist": "*" + checksum: 1708c9a879d3c0b602a9f520bbb9039fd882e6072026af231a66af017d23cd97481de60cd9ad0e3b3c2c990b780b54c6a5ba7ba5d2f286ab4cf57967e1f98ee2 + languageName: node + linkType: hard + "@types/node@npm:*": version: 18.7.22 resolution: "@types/node@npm:18.7.22" @@ -3888,6 +4266,15 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:^17.0.2": + version: 17.0.17 + resolution: "@types/react-dom@npm:17.0.17" + dependencies: + "@types/react": ^17 + checksum: 23caf98aa03e968811560f92a2c8f451694253ebe16b670929b24eaf0e7fa62ba549abe9db0ac028a9d8a9086acd6ab9c6c773f163fa21224845edbc00ba6232 + languageName: node + linkType: hard + "@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.0.6": version: 18.0.6 resolution: "@types/react-dom@npm:18.0.6" @@ -3917,6 +4304,24 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^17": + version: 17.0.50 + resolution: "@types/react@npm:17.0.50" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: b5629dff7c2f3e9fcba95a19b2b3bfd78d7cacc33ba5fc26413dba653d34afcac3b93ddabe563e8062382688a1eac7db68e93739bb8e712d27637a03aaafbbb8 + languageName: node + linkType: hard + +"@types/resolve@npm:^1.17.0": + version: 1.20.2 + resolution: "@types/resolve@npm:1.20.2" + checksum: 61c2cad2499ffc8eab36e3b773945d337d848d3ac6b7b0a87c805ba814bc838ef2f262fc0f109bfd8d2e0898ff8bd80ad1025f9ff64f1f71d3d4294c9f14e5f6 + languageName: node + linkType: hard + "@types/responselike@npm:^1.0.0": version: 1.0.0 resolution: "@types/responselike@npm:1.0.0" @@ -3959,7 +4364,7 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:*, @types/unist@npm:^2.0.0": +"@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": version: 2.0.6 resolution: "@types/unist@npm:2.0.6" checksum: 25cb860ff10dde48b54622d58b23e66214211a61c84c0f15f88d38b61aa1b53d4d46e42b557924a93178c501c166aa37e28d7f6d994aba13d24685326272d5db @@ -3975,7 +4380,7 @@ __metadata: languageName: node linkType: hard -"@types/yargs-parser@npm:*": +"@types/yargs-parser@npm:*, @types/yargs-parser@npm:^21.0.0": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 @@ -4119,7 +4524,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.39.0": +"@typescript-eslint/types@npm:5.39.0, @typescript-eslint/types@npm:^5.25.0": version: 5.39.0 resolution: "@typescript-eslint/types@npm:5.39.0" checksum: 5f67fe02adc87d594b6cc8ec5387d64419d4bbff701f4da51bf9929cdc50bc613df865e5a2457f13e4a637e8dfdb1fdf15fe8138f8968462de9e54ea056cc1a7 @@ -4647,6 +5052,20 @@ __metadata: languageName: node linkType: hard +"@vscode/emmet-helper@npm:^2.8.4": + version: 2.8.4 + resolution: "@vscode/emmet-helper@npm:2.8.4" + dependencies: + emmet: ^2.3.0 + jsonc-parser: ^2.3.0 + vscode-languageserver-textdocument: ^1.0.1 + vscode-languageserver-types: ^3.15.1 + vscode-nls: ^5.0.0 + vscode-uri: ^2.1.2 + checksum: 8a0c8fec803832bd7283c6c9d6f57d8cd8c88bcad598c104e3c0d6e1a7a02f785d9cc7bc39e8fe61823548410cd59b11ae11ee987c0c927fd657f52c73335cea + languageName: node + linkType: hard + "@xobotyi/scrollbar-width@npm:^1.9.5": version: 1.9.5 resolution: "@xobotyi/scrollbar-width@npm:1.9.5" @@ -4689,7 +5108,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.8.0": +"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": version: 8.8.0 resolution: "acorn@npm:8.8.0" bin: @@ -4778,7 +5197,7 @@ __metadata: languageName: node linkType: hard -"ansi-align@npm:^3.0.0": +"ansi-align@npm:^3.0.0, ansi-align@npm:^3.0.1": version: 3.0.1 resolution: "ansi-align@npm:3.0.1" dependencies: @@ -4858,7 +5277,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.0.0": +"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0": version: 6.1.1 resolution: "ansi-styles@npm:6.1.1" checksum: f2b1ed658ead23caf77effe7b875960cacd70d1ebe47c830e191358b242d688cf52a28d55ef9b19d102f792e8c1dec34bd865db264f1c7f4f63dd3a5fa84677e @@ -5069,6 +5488,13 @@ __metadata: languageName: node linkType: hard +"array-iterate@npm:^1.0.0": + version: 1.1.4 + resolution: "array-iterate@npm:1.1.4" + checksum: 8adc65525dfa871577b7ab91b41efd61d29c4067a08ec927340d6975e45797b9f04254dda115e366fbef11fb49277ac1c166405389886c7a251e1eddca89bd08 + languageName: node + linkType: hard + "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -5157,6 +5583,15 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:0.14.2": + version: 0.14.2 + resolution: "ast-types@npm:0.14.2" + dependencies: + tslib: ^2.0.1 + checksum: 8674a77307764979f0a0b2006b7223a4b789abffaa7acbf6a1132650a799252155170173a1ff6a7fb6897f59437fc955f2707bdfc391b0797750898876e6c9ed + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -5173,6 +5608,100 @@ __metadata: languageName: node linkType: hard +"astro-eslint-parser@npm:^0.6.0, astro-eslint-parser@npm:^0.6.3": + version: 0.6.3 + resolution: "astro-eslint-parser@npm:0.6.3" + dependencies: + "@astrojs/compiler": 0.18 - 0.26 || ^0.26.0 + "@typescript-eslint/types": ^5.25.0 + astrojs-compiler-sync: ^0.2.0 + debug: ^4.3.4 + eslint-visitor-keys: ^3.0.0 + espree: ^9.0.0 + checksum: 846337a11246221c1f29d7cdea687f331539ec4341a517be5b0c9e54e0eee2a778d535add9f3a1dfe03dd998ededef3f8587126f1749b25d3b3251ace34607dc + languageName: node + linkType: hard + +"astro@npm:^1.4.4": + version: 1.4.4 + resolution: "astro@npm:1.4.4" + dependencies: + "@astrojs/compiler": ^0.25.0 + "@astrojs/language-server": ^0.26.2 + "@astrojs/markdown-remark": ^1.1.3 + "@astrojs/telemetry": ^1.0.1 + "@astrojs/webapi": ^1.1.0 + "@babel/core": ^7.18.2 + "@babel/generator": ^7.18.2 + "@babel/parser": ^7.18.4 + "@babel/plugin-transform-react-jsx": ^7.17.12 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.4 + "@proload/core": ^0.3.3 + "@proload/plugin-tsm": ^0.2.1 + "@types/babel__core": ^7.1.19 + "@types/html-escaper": ^3.0.0 + "@types/yargs-parser": ^21.0.0 + boxen: ^6.2.1 + ci-info: ^3.3.1 + common-ancestor-path: ^1.0.1 + cookie: ^0.5.0 + debug: ^4.3.4 + diff: ^5.1.0 + eol: ^0.9.1 + es-module-lexer: ^0.10.5 + esbuild: ^0.14.43 + execa: ^6.1.0 + fast-glob: ^3.2.11 + github-slugger: ^1.4.0 + gray-matter: ^4.0.3 + html-entities: ^2.3.3 + html-escaper: ^3.0.3 + kleur: ^4.1.4 + magic-string: ^0.25.9 + mime: ^3.0.0 + ora: ^6.1.0 + path-browserify: ^1.0.1 + path-to-regexp: ^6.2.1 + postcss: ^8.4.14 + postcss-load-config: ^3.1.4 + preferred-pm: ^3.0.3 + prompts: ^2.4.2 + recast: ^0.20.5 + rehype: ^12.0.1 + resolve: ^1.22.0 + rollup: ~2.78.0 + semver: ^7.3.7 + shiki: ^0.11.1 + sirv: ^2.0.2 + slash: ^4.0.0 + string-width: ^5.1.2 + strip-ansi: ^7.0.1 + supports-esm: ^1.0.0 + tsconfig-resolver: ^3.0.1 + typescript: "*" + unist-util-visit: ^4.1.0 + vfile: ^5.3.2 + vite: ~3.1.3 + yargs-parser: ^21.0.1 + zod: ^3.17.3 + bin: + astro: astro.js + checksum: 1d194534b2fd1b5a4b146d9ba6eaeb4576fc966d2ba56da597b665959c6b11a6693e61af7242ccbf27b655714f1a035f1936a3e81ad778956546f40b799af728 + languageName: node + linkType: hard + +"astrojs-compiler-sync@npm:^0.2.0": + version: 0.2.3 + resolution: "astrojs-compiler-sync@npm:0.2.3" + dependencies: + synckit: ^0.8.0 + peerDependencies: + "@astrojs/compiler": ">=0.18.0" + checksum: 9588a12c9cb69d5a4ac6925e2b26d2be021a8b36d7f97b5c41f3ca36705dc293f6e8007dcc9327126f7adf9c37973faf50a46a78d63c36fb1a5c2838a51d3f83 + languageName: node + linkType: hard + "async-sema@npm:^3.1.1": version: 3.1.1 resolution: "async-sema@npm:3.1.1" @@ -5354,6 +5883,13 @@ __metadata: languageName: node linkType: hard +"bail@npm:^1.0.0": + version: 1.0.5 + resolution: "bail@npm:1.0.5" + checksum: 6c334940d7eaa4e656a12fb12407b6555649b6deb6df04270fa806e0da82684ebe4a4e47815b271c794b40f8d6fa286e0c248b14ddbabb324a917fab09b7301a + languageName: node + linkType: hard + "bail@npm:^2.0.0": version: 2.0.2 resolution: "bail@npm:2.0.2" @@ -5429,6 +5965,17 @@ __metadata: languageName: node linkType: hard +"bl@npm:^5.0.0": + version: 5.0.0 + resolution: "bl@npm:5.0.0" + dependencies: + buffer: ^6.0.3 + inherits: ^2.0.4 + readable-stream: ^3.4.0 + checksum: 5dbbcf9cbcf55221dc21f48968bc8cd6d78faea3c653d496ff8e0c382b95e8b6c4b9e818fe67de2f97ed0cd0c219c350ccce42aca91be33e0ad12e698c615061 + languageName: node + linkType: hard + "bluebird@npm:^3.7.2": version: 3.7.2 resolution: "bluebird@npm:3.7.2" @@ -5443,6 +5990,13 @@ __metadata: languageName: node linkType: hard +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: fb29535b8bf710ef45279677a86d14f5185d604557204abd2ca5fa3fb2a5c80e04d695c8dbf13ab269991977a79bb6c04b048220a6b2a3849853faa94f4a7d77 + languageName: node + linkType: hard + "boxen@npm:^5.0.0": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -5459,6 +6013,22 @@ __metadata: languageName: node linkType: hard +"boxen@npm:^6.2.1": + version: 6.2.1 + resolution: "boxen@npm:6.2.1" + dependencies: + ansi-align: ^3.0.1 + camelcase: ^6.2.0 + chalk: ^4.1.2 + cli-boxes: ^3.0.0 + string-width: ^5.0.1 + type-fest: ^2.5.0 + widest-line: ^4.0.1 + wrap-ansi: ^8.0.1 + checksum: 2b3226092f1ff8e149c02979098c976552afa15f9e0231c9ed2dfcaaf84604494d16a6f13b647f718439f64d3140a088e822d47c7db00d2266e9ffc8d7321774 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -5527,6 +6097,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + "builtin-modules@npm:^1.1.1": version: 1.1.1 resolution: "builtin-modules@npm:1.1.1" @@ -5776,7 +6356,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:~4.1.0": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2, chalk@npm:~4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -5786,6 +6366,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.0.0": + version: 5.1.0 + resolution: "chalk@npm:5.1.0" + checksum: c1aa0bf0064a5a59bc06e3e385685fdcc5bb122159152bb57755fc48f9ef93c30cb3a36c9a2c39ead23e5261d787c87c4c097e1a889e1370478102a0112fe0e0 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -5898,7 +6485,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0, ci-info@npm:^3.4.0": +"ci-info@npm:^3.2.0, ci-info@npm:^3.3.1, ci-info@npm:^3.4.0": version: 3.4.0 resolution: "ci-info@npm:3.4.0" checksum: 7f660730170a6ce248e173b670587a0c583e31526d21afcd21f77c811c1aaeb8926999081542d1f30e12cce1df582d4c88709fa45f44c00498b46bdf21d4d21a @@ -5935,6 +6522,13 @@ __metadata: languageName: node linkType: hard +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 637d84419d293a9eac40a1c8c96a2859e7d98b24a1a317788e13c8f441be052fc899480c6acab3acc82eaf1bccda6b7542d7cdcf5c9c3cc39227175dc098d5b2 + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -5944,6 +6538,22 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-cursor@npm:4.0.0" + dependencies: + restore-cursor: ^4.0.0 + checksum: ab3f3ea2076e2176a1da29f9d64f72ec3efad51c0960898b56c8a17671365c26e67b735920530eaf7328d61f8bd41c27f46b9cf6e4e10fe2fa44b5e8c0e392cc + languageName: node + linkType: hard + +"cli-spinners@npm:^2.6.1": + version: 2.7.0 + resolution: "cli-spinners@npm:2.7.0" + checksum: a9afaf73f58d1f951fb23742f503631b3cf513f43f4c7acb1b640100eb76bfa16efbcd1994d149ffc6603a6d75dd3d4a516a76f125f90dce437de9b16fd0ee6f + languageName: node + linkType: hard + "cli-truncate@npm:^2.1.0": version: 2.1.0 resolution: "cli-truncate@npm:2.1.0" @@ -5995,6 +6605,13 @@ __metadata: languageName: node linkType: hard +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd + languageName: node + linkType: hard + "cmdk@npm:^0.1.20": version: 0.1.20 resolution: "cmdk@npm:0.1.20" @@ -6230,6 +6847,13 @@ __metadata: languageName: node linkType: hard +"common-ancestor-path@npm:^1.0.1": + version: 1.0.1 + resolution: "common-ancestor-path@npm:1.0.1" + checksum: 1d2e4186067083d8cc413f00fc2908225f04ae4e19417ded67faa6494fb313c4fcd5b28a52326d1a62b466e2b3a4325e92c31133c5fee628cdf8856b3a57c3d7 + languageName: node + linkType: hard + "common-sequence@npm:^2.0.2": version: 2.0.2 resolution: "common-sequence@npm:2.0.2" @@ -6576,6 +7200,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:^0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 + languageName: node + linkType: hard + "cookiejar@npm:^2.1.3": version: 2.1.3 resolution: "cookiejar@npm:2.1.3" @@ -6776,6 +7407,13 @@ __metadata: languageName: node linkType: hard +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.0 + resolution: "data-uri-to-buffer@npm:4.0.0" + checksum: a010653869abe8bb51259432894ac62c52bf79ad761d418d94396f48c346f2ae739c46b254e8bb5987bded8a653d467db1968db3a69bab1d33aa5567baa5cfc7 + languageName: node + linkType: hard + "date-fns@npm:^2.29.1": version: 2.29.3 resolution: "date-fns@npm:2.29.3" @@ -6908,6 +7546,15 @@ __metadata: languageName: node linkType: hard +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + languageName: node + linkType: hard + "defer-to-connect@npm:^1.0.1": version: 1.1.3 resolution: "defer-to-connect@npm:1.1.3" @@ -6915,6 +7562,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -6988,6 +7642,13 @@ __metadata: languageName: node linkType: hard +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e + languageName: node + linkType: hard + "dezalgo@npm:1.0.3": version: 1.0.3 resolution: "dezalgo@npm:1.0.3" @@ -7026,7 +7687,7 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.0.0": +"diff@npm:^5.0.0, diff@npm:^5.1.0": version: 5.1.0 resolution: "diff@npm:5.1.0" checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 @@ -7087,6 +7748,13 @@ __metadata: languageName: unknown linkType: soft +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7 + languageName: node + linkType: hard + "dmd@npm:^6.1.0": version: 6.1.0 resolution: "dmd@npm:6.1.0" @@ -7165,6 +7833,13 @@ __metadata: languageName: node linkType: hard +"dset@npm:^3.1.2": + version: 3.1.2 + resolution: "dset@npm:3.1.2" + checksum: 4f8066f517aa0a70af688c66e9a0a5590f0aada76f6edc7ba9ddb309e27d3a6d65c0a2e31ab2a84005d4c791e5327773cdde59b8ab169050330a0dc283663e87 + languageName: node + linkType: hard + "dts-critic@npm:latest": version: 3.3.11 resolution: "dts-critic@npm:3.3.11" @@ -7267,6 +7942,16 @@ __metadata: languageName: node linkType: hard +"emmet@npm:^2.3.0": + version: 2.3.6 + resolution: "emmet@npm:2.3.6" + dependencies: + "@emmetio/abbreviation": ^2.2.3 + "@emmetio/css-abbreviation": ^2.1.4 + checksum: 96d56212d76023b7ecd4fd3b269a6b85b5a38d95d3135557d6321e38955e9c322d75b135435678d7697ed3d56741494ebf3f3974b74f2b89292b65565447ba4b + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -7313,6 +7998,13 @@ __metadata: languageName: node linkType: hard +"eol@npm:^0.9.1": + version: 0.9.1 + resolution: "eol@npm:0.9.1" + checksum: ba9fa998bc8148b935dcf85585eacf049eeaf18d2ab6196710d4d1f59e7dfd0e87b18508dc67144ff8ba12f835a4a4989aeea64c98b13cca77b74b9d4b33bce5 + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -7377,6 +8069,13 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^0.10.5": + version: 0.10.5 + resolution: "es-module-lexer@npm:0.10.5" + checksum: d2f9debd9d913323322095934653e0558bb8220177645eb76d316b4afd911e8d83ffee0b748b0faa9f3ce1560db3eee4a0ac68d6c2f750c11f4250adce84cf02 + languageName: node + linkType: hard + "es-shim-unscopables@npm:^1.0.0": version: 1.0.0 resolution: "es-shim-unscopables@npm:1.0.0" @@ -7397,6 +8096,13 @@ __metadata: languageName: node linkType: hard +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: ae41332a51ec1323da6bbc5d75b7803ccdeddfae17c41b6166ebbafc8e8beb7a7b80b884b7fab1cc80df485860ac3c59d78605e860bb4f8cd816b3d6ade0d010 + languageName: node + linkType: hard + "esbuild-android-64@npm:0.14.47": version: 0.14.47 resolution: "esbuild-android-64@npm:0.14.47" @@ -7404,6 +8110,13 @@ __metadata: languageName: node linkType: hard +"esbuild-android-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-android-64@npm:0.14.54" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "esbuild-android-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-android-64@npm:0.15.9" @@ -7418,6 +8131,13 @@ __metadata: languageName: node linkType: hard +"esbuild-android-arm64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-android-arm64@npm:0.14.54" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "esbuild-android-arm64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-android-arm64@npm:0.15.9" @@ -7432,6 +8152,13 @@ __metadata: languageName: node linkType: hard +"esbuild-darwin-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-darwin-64@npm:0.14.54" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "esbuild-darwin-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-darwin-64@npm:0.15.9" @@ -7446,6 +8173,13 @@ __metadata: languageName: node linkType: hard +"esbuild-darwin-arm64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-darwin-arm64@npm:0.14.54" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "esbuild-darwin-arm64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-darwin-arm64@npm:0.15.9" @@ -7460,6 +8194,13 @@ __metadata: languageName: node linkType: hard +"esbuild-freebsd-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-freebsd-64@npm:0.14.54" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "esbuild-freebsd-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-freebsd-64@npm:0.15.9" @@ -7474,6 +8215,13 @@ __metadata: languageName: node linkType: hard +"esbuild-freebsd-arm64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-freebsd-arm64@npm:0.14.54" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "esbuild-freebsd-arm64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-freebsd-arm64@npm:0.15.9" @@ -7488,6 +8236,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-32@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-32@npm:0.14.54" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "esbuild-linux-32@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-32@npm:0.15.9" @@ -7502,6 +8257,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-64@npm:0.14.54" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "esbuild-linux-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-64@npm:0.15.9" @@ -7516,6 +8278,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-arm64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-arm64@npm:0.14.54" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "esbuild-linux-arm64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-arm64@npm:0.15.9" @@ -7530,6 +8299,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-arm@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-arm@npm:0.14.54" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "esbuild-linux-arm@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-arm@npm:0.15.9" @@ -7544,6 +8320,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-mips64le@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-mips64le@npm:0.14.54" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "esbuild-linux-mips64le@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-mips64le@npm:0.15.9" @@ -7558,6 +8341,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-ppc64le@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-ppc64le@npm:0.14.54" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "esbuild-linux-ppc64le@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-ppc64le@npm:0.15.9" @@ -7572,6 +8362,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-riscv64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-riscv64@npm:0.14.54" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "esbuild-linux-riscv64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-riscv64@npm:0.15.9" @@ -7586,6 +8383,13 @@ __metadata: languageName: node linkType: hard +"esbuild-linux-s390x@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-linux-s390x@npm:0.14.54" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "esbuild-linux-s390x@npm:0.15.9": version: 0.15.9 resolution: "esbuild-linux-s390x@npm:0.15.9" @@ -7600,6 +8404,13 @@ __metadata: languageName: node linkType: hard +"esbuild-netbsd-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-netbsd-64@npm:0.14.54" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "esbuild-netbsd-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-netbsd-64@npm:0.15.9" @@ -7614,6 +8425,13 @@ __metadata: languageName: node linkType: hard +"esbuild-openbsd-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-openbsd-64@npm:0.14.54" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "esbuild-openbsd-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-openbsd-64@npm:0.15.9" @@ -7628,6 +8446,13 @@ __metadata: languageName: node linkType: hard +"esbuild-sunos-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-sunos-64@npm:0.14.54" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "esbuild-sunos-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-sunos-64@npm:0.15.9" @@ -7642,6 +8467,13 @@ __metadata: languageName: node linkType: hard +"esbuild-windows-32@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-windows-32@npm:0.14.54" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "esbuild-windows-32@npm:0.15.9": version: 0.15.9 resolution: "esbuild-windows-32@npm:0.15.9" @@ -7656,6 +8488,13 @@ __metadata: languageName: node linkType: hard +"esbuild-windows-64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-windows-64@npm:0.14.54" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "esbuild-windows-64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-windows-64@npm:0.15.9" @@ -7670,6 +8509,13 @@ __metadata: languageName: node linkType: hard +"esbuild-windows-arm64@npm:0.14.54": + version: 0.14.54 + resolution: "esbuild-windows-arm64@npm:0.14.54" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "esbuild-windows-arm64@npm:0.15.9": version: 0.15.9 resolution: "esbuild-windows-arm64@npm:0.15.9" @@ -7748,6 +8594,80 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.14.0, esbuild@npm:^0.14.43": + version: 0.14.54 + resolution: "esbuild@npm:0.14.54" + dependencies: + "@esbuild/linux-loong64": 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dependenciesMeta: + "@esbuild/linux-loong64": + optional: true + esbuild-android-64: + optional: true + esbuild-android-arm64: + optional: true + esbuild-darwin-64: + optional: true + esbuild-darwin-arm64: + optional: true + esbuild-freebsd-64: + optional: true + esbuild-freebsd-arm64: + optional: true + esbuild-linux-32: + optional: true + esbuild-linux-64: + optional: true + esbuild-linux-arm: + optional: true + esbuild-linux-arm64: + optional: true + esbuild-linux-mips64le: + optional: true + esbuild-linux-ppc64le: + optional: true + esbuild-linux-riscv64: + optional: true + esbuild-linux-s390x: + optional: true + esbuild-netbsd-64: + optional: true + esbuild-openbsd-64: + optional: true + esbuild-sunos-64: + optional: true + esbuild-windows-32: + optional: true + esbuild-windows-64: + optional: true + esbuild-windows-arm64: + optional: true + bin: + esbuild: bin/esbuild + checksum: 49e360b1185c797f5ca3a7f5f0a75121494d97ddf691f65ed1796e6257d318f928342a97f559bb8eced6a90cf604dd22db4a30e0dbbf15edd9dbf22459b639af + languageName: node + linkType: hard + "esbuild@npm:^0.15.1, esbuild@npm:^0.15.6": version: 0.15.9 resolution: "esbuild@npm:0.15.9" @@ -7966,6 +8886,22 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-astro@npm:^0.19.0": + version: 0.19.0 + resolution: "eslint-plugin-astro@npm:0.19.0" + dependencies: + "@typescript-eslint/types": ^5.25.0 + astro-eslint-parser: ^0.6.0 + eslint-utils: ^3.0.0 + postcss: ^8.4.14 + postcss-selector-parser: ^6.0.10 + sourcemap-codec: ^1.4.8 + peerDependencies: + eslint: ">=7.0.0" + checksum: 57188b533f2994da118cfcf287b02bba85c199e0b3846829f81e0c0554aec1bb29547182fc75a35bf1ab8e8f2b4f16a88a74037e7f781a97e6b612f2779cc324 + languageName: node + linkType: hard + "eslint-plugin-cypress@npm:^2.12.1": version: 2.12.1 resolution: "eslint-plugin-cypress@npm:2.12.1" @@ -8338,7 +9274,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0": +"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0": version: 3.3.0 resolution: "eslint-visitor-keys@npm:3.3.0" checksum: d59e68a7c5a6d0146526b0eec16ce87fbf97fe46b8281e0d41384224375c4e52f5ffb9e16d48f4ea50785cde93f766b0c898e31ab89978d88b0e1720fbfb7808 @@ -8394,7 +9330,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.3.1, espree@npm:^9.4.0": +"espree@npm:^9.0.0, espree@npm:^9.3.1, espree@npm:^9.4.0": version: 9.4.0 resolution: "espree@npm:9.4.0" dependencies: @@ -8405,7 +9341,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -8447,6 +9383,13 @@ __metadata: languageName: node linkType: hard +"estree-util-attach-comments@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-attach-comments@npm:1.0.0" + checksum: 8a3279dd859afa168d8832f5d88c6b6f62a0997fb30ebce0090f15ef216246bf17d88bbd10f3b404937ff096be63218ecf551e4966eec572d0dc8d527454ff02 + languageName: node + linkType: hard + "estree-util-attach-comments@npm:^2.0.0": version: 2.1.0 resolution: "estree-util-attach-comments@npm:2.1.0" @@ -8467,6 +9410,13 @@ __metadata: languageName: node linkType: hard +"estree-util-is-identifier-name@npm:^1.1.0": + version: 1.1.0 + resolution: "estree-util-is-identifier-name@npm:1.1.0" + checksum: ec55a74708b2fdac7de8d5a1dd82caf36783993608f11b8bc0dcd3b426746ccf21ee7da86ab94e4500c292dc1dde48b7ce65e5dc41f3dc4363a499ea15db32cc + languageName: node + linkType: hard + "estree-util-is-identifier-name@npm:^2.0.0": version: 2.0.1 resolution: "estree-util-is-identifier-name@npm:2.0.1" @@ -8485,7 +9435,7 @@ __metadata: languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": +"estree-util-visit@npm:^1.0.0, estree-util-visit@npm:^1.2.0": version: 1.2.0 resolution: "estree-util-visit@npm:1.2.0" dependencies: @@ -8523,6 +9473,13 @@ __metadata: languageName: node linkType: hard +"events@npm:^3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + "execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -8604,6 +9561,15 @@ __metadata: languageName: node linkType: hard +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + "extend@npm:^3.0.0, extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -8632,7 +9598,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" dependencies: @@ -8698,6 +9664,15 @@ __metadata: languageName: node linkType: hard +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" + dependencies: + format: ^0.2.0 + checksum: c9b30f47d95769177130a9409976a899ed31eb598450fbad5b0d39f2f5f56d5f4a9ff9257e0bee8407cb0fc3ce37165657888c6aa6d78472e403893104329b72 + languageName: node + linkType: hard + "fb-watchman@npm:^2.0.0": version: 2.0.2 resolution: "fb-watchman@npm:2.0.2" @@ -8707,6 +9682,16 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: ^1.0.0 + web-streams-polyfill: ^3.0.3 + checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -8791,6 +9776,16 @@ __metadata: languageName: node linkType: hard +"find-yarn-workspace-root2@npm:1.2.16": + version: 1.2.16 + resolution: "find-yarn-workspace-root2@npm:1.2.16" + dependencies: + micromatch: ^4.0.2 + pkg-dir: ^4.2.0 + checksum: b4abdd37ab87c2172e2abab69ecbfed365d63232742cd1f0a165020fba1b200478e944ec2035c6aaf0ae142ac4c523cbf08670f45e59b242bcc295731b017825 + languageName: node + linkType: hard + "flat-cache@npm:^3.0.4": version: 3.0.4 resolution: "flat-cache@npm:3.0.4" @@ -8865,6 +9860,15 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: ^3.1.2 + checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db + languageName: node + linkType: hard + "formidable@npm:^2.0.1": version: 2.0.1 resolution: "formidable@npm:2.0.1" @@ -9235,7 +10239,7 @@ __metadata: languageName: node linkType: hard -"github-slugger@npm:^1.1.1": +"github-slugger@npm:^1.1.1, github-slugger@npm:^1.4.0": version: 1.4.0 resolution: "github-slugger@npm:1.4.0" checksum: 4f52e7a21f5c6a4c5328f01fe4fe13ae8881fea78bfe31f9e72c4038f97e3e70d52fb85aa7633a52c501dc2486874474d9abd22aa61cbe9b113099a495551c6b @@ -9315,6 +10319,20 @@ __metadata: languageName: node linkType: hard +"global-agent@npm:^3.0.0": + version: 3.0.0 + resolution: "global-agent@npm:3.0.0" + dependencies: + boolean: ^3.0.1 + es6-error: ^4.1.1 + matcher: ^3.0.0 + roarr: ^2.15.3 + semver: ^7.3.2 + serialize-error: ^7.0.1 + checksum: 75074d80733b4bd5386c47f5df028e798018025beac0ab310e9908c72bf5639e408203e7bca0130d5ee01b5f4abc6d34385d96a9f950ea5fe1979bb431c808f7 + languageName: node + linkType: hard + "global-dirs@npm:^0.1.1": version: 0.1.1 resolution: "global-dirs@npm:0.1.1" @@ -9349,6 +10367,22 @@ __metadata: languageName: node linkType: hard +"globalthis@npm:^1.0.1": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 + languageName: node + linkType: hard + +"globalyzer@npm:0.1.0": + version: 0.1.0 + resolution: "globalyzer@npm:0.1.0" + checksum: 419a0f95ba542534fac0842964d31b3dc2936a479b2b1a8a62bad7e8b61054faa9b0a06ad9f2e12593396b9b2621cac93358d9b3071d33723fb1778608d358a1 + languageName: node + linkType: hard + "globby@npm:^11.0.1, globby@npm:^11.0.3, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" @@ -9363,6 +10397,13 @@ __metadata: languageName: node linkType: hard +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: adca162494a176ce9ecf4dd232f7b802956bb1966b37f60c15e49d2e7d961b66c60826366dc2649093cad5a0d69970cfa8875bd1695b5a1a2f33dcd2aa88da3c + languageName: node + linkType: hard + "got@npm:^9.6.0": version: 9.6.0 resolution: "got@npm:9.6.0" @@ -9382,7 +10423,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da @@ -9396,6 +10437,18 @@ __metadata: languageName: node linkType: hard +"gray-matter@npm:^4.0.3": + version: 4.0.3 + resolution: "gray-matter@npm:4.0.3" + dependencies: + js-yaml: ^3.13.1 + kind-of: ^6.0.2 + section-matter: ^1.0.0 + strip-bom-string: ^1.0.0 + checksum: 37717bd424344487d655392251ce8d8878a1275ee087003e61208fba3bfd59cbb73a85b2159abf742ae95e23db04964813fdc33ae18b074208428b2528205222 + languageName: node + linkType: hard + "gzip-size@npm:^6.0.0": version: 6.0.0 resolution: "gzip-size@npm:6.0.0" @@ -9492,6 +10545,15 @@ __metadata: languageName: node linkType: hard +"has-package-exports@npm:^1.1.0": + version: 1.3.0 + resolution: "has-package-exports@npm:1.3.0" + dependencies: + "@ljharb/has-package-exports-patterns": ^0.0.2 + checksum: d3c68581c4a2f92d3a44480b757ee3a06e31c1dec7089ac88d10bf59cadb9596c69fcf0d8bf6e5c623a1bd3f0c636b8f9736894fdd9ce8757de7058e76d2b766 + languageName: node + linkType: hard + "has-property-descriptors@npm:^1.0.0": version: 1.0.0 resolution: "has-property-descriptors@npm:1.0.0" @@ -9656,6 +10718,23 @@ __metadata: languageName: node linkType: hard +"hast-util-to-estree@npm:^1.4.0": + version: 1.4.0 + resolution: "hast-util-to-estree@npm:1.4.0" + dependencies: + comma-separated-tokens: ^1.0.0 + estree-util-attach-comments: ^1.0.0 + estree-util-is-identifier-name: ^1.1.0 + hast-util-whitespace: ^1.0.0 + property-information: ^5.0.0 + space-separated-tokens: ^1.0.0 + style-to-object: ^0.3.0 + unist-util-position: ^3.1.0 + zwitch: ^1.0.0 + checksum: 00eb3e0b807fced6452b690751b8122a438bd0f761965a9c9d6580d58384b9be0a71e772d47e755507d6158b5f263e736a53acd3d16ad28cf9c624b7c82792e1 + languageName: node + linkType: hard + "hast-util-to-estree@npm:^2.0.0": version: 2.1.0 resolution: "hast-util-to-estree@npm:2.1.0" @@ -9679,6 +10758,24 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^8.0.0, hast-util-to-html@npm:^8.0.3": + version: 8.0.3 + resolution: "hast-util-to-html@npm:8.0.3" + dependencies: + "@types/hast": ^2.0.0 + ccount: ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-is-element: ^2.0.0 + hast-util-whitespace: ^2.0.0 + html-void-elements: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + stringify-entities: ^4.0.2 + unist-util-is: ^5.0.0 + checksum: 128bf69be025a37168c871899c5c3b662fd1754609e83b999406d1c4e81088bf0460cd97a048ec6953753b3c14b192ecb30a66612a17d53e6d6b98a32040f5d3 + languageName: node + linkType: hard + "hast-util-to-parse5@npm:^7.0.0": version: 7.0.0 resolution: "hast-util-to-parse5@npm:7.0.0" @@ -9702,6 +10799,13 @@ __metadata: languageName: node linkType: hard +"hast-util-whitespace@npm:^1.0.0": + version: 1.0.4 + resolution: "hast-util-whitespace@npm:1.0.4" + checksum: b7f4a1942bc78239a6fe4741aca34e3e7f84487e15e2cd2b6ca07bbba3055571763d877d7c077d7a2a029ede7500bc50a62af7b6dfe88e0644b16228b91dee0d + languageName: node + linkType: hard + "hast-util-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "hast-util-whitespace@npm:2.0.0" @@ -9783,6 +10887,13 @@ __metadata: languageName: node linkType: hard +"html-entities@npm:^2.3.3": + version: 2.3.3 + resolution: "html-entities@npm:2.3.3" + checksum: 92521501da8aa5f66fee27f0f022d6e9ceae62667dae93aa6a2f636afa71ad530b7fb24a18d4d6c124c9885970cac5f8a52dbf1731741161002816ae43f98196 + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -9790,6 +10901,13 @@ __metadata: languageName: node linkType: hard +"html-escaper@npm:^3.0.3": + version: 3.0.3 + resolution: "html-escaper@npm:3.0.3" + checksum: a2678be42c15d2ef6e629775dac0925a729f4615c6593db8358b9262c7565c4627134987c00f548eb4eb76cbc3b3392f78475cd02b022f8ae7aeb9a88280831b + languageName: node + linkType: hard + "html-void-elements@npm:^2.0.0": version: 2.0.1 resolution: "html-void-elements@npm:2.0.1" @@ -9926,6 +11044,17 @@ __metadata: languageName: node linkType: hard +"image-size@npm:^1.0.2": + version: 1.0.2 + resolution: "image-size@npm:1.0.2" + dependencies: + queue: 6.0.2 + bin: + image-size: bin/image-size.js + checksum: 01745fdb47f87cecf538e69c63f9adc5bfab30a345345c2de91105f3afbd1bfcfba1256af02bf3323077b33b0004469a837e077bf0cbb9c907e9c1e9e7547585 + languageName: node + linkType: hard + "import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -9962,6 +11091,13 @@ __metadata: languageName: node linkType: hard +"import-meta-resolve@npm:^2.1.0": + version: 2.1.0 + resolution: "import-meta-resolve@npm:2.1.0" + checksum: 4554ea5e2daecbdeb7ebe4df23ced97e6a64ad41ed26889b3c86ed896830dbbe63889c8fad49b7dea76c0f9aad46f7d32412fa727c335e11f3cc79f63a91f8e1 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -10224,6 +11360,31 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -10294,6 +11455,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -10352,6 +11520,20 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^2.0.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c + languageName: node + linkType: hard + "is-plain-obj@npm:^4.0.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -10442,6 +11624,13 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^1.1.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -10451,6 +11640,15 @@ __metadata: languageName: node linkType: hard +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + languageName: node + linkType: hard + "is-yarn-global@npm:^0.3.0": version: 0.3.0 resolution: "is-yarn-global@npm:0.3.0" @@ -11115,7 +12313,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1, js-yaml@npm:^3.7.0": +"js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.7.0": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -11327,7 +12525,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.1": +"json5@npm:^2.1.3, json5@npm:^2.2.1": version: 2.2.1 resolution: "json5@npm:2.2.1" bin: @@ -11336,6 +12534,13 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:^2.3.0": + version: 2.3.1 + resolution: "jsonc-parser@npm:2.3.1" + checksum: de37640bd1d0dcc5b2e19f2514b3c2e05832ec6fdb86da65102509524d3eef0f2cc49bd471a0b28b8af2f8069bbca8396a9bd5cad4ae04001e1893e47df265eb + languageName: node + linkType: hard + "jsonc-parser@npm:^3.0.0": version: 3.2.0 resolution: "jsonc-parser@npm:3.2.0" @@ -11413,7 +12618,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.3": +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b @@ -11436,7 +12641,7 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": +"kleur@npm:^4.0.3, kleur@npm:^4.1.4": version: 4.1.5 resolution: "kleur@npm:4.1.5" checksum: 1dc476e32741acf0b1b5b0627ffd0d722e342c1b0da14de3e8ae97821327ca08f9fb944542fb3c126d90ac5f27f9d804edbe7c585bf7d12ef495d115e0f22c12 @@ -11585,6 +12790,18 @@ __metadata: languageName: node linkType: hard +"load-yaml-file@npm:^0.2.0": + version: 0.2.0 + resolution: "load-yaml-file@npm:0.2.0" + dependencies: + graceful-fs: ^4.1.5 + js-yaml: ^3.13.0 + pify: ^4.0.1 + strip-bom: ^3.0.0 + checksum: d86d7ec7b15a1c35b40fb0d8abe710a7de83e0c1186c1d35a7eaaf8581611828089a3e706f64560c2939762bc73f18a7b85aed9335058c640e033933cf317f11 + languageName: node + linkType: hard + "local-pkg@npm:^0.4.2": version: 0.4.2 resolution: "local-pkg@npm:0.4.2" @@ -11721,6 +12938,16 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^5.1.0": + version: 5.1.0 + resolution: "log-symbols@npm:5.1.0" + dependencies: + chalk: ^5.0.0 + is-unicode-supported: ^1.1.0 + checksum: 7291b6e7f1b3df6865bdaeb9b59605c832668ac2fa0965c63b1e7dd3700349aec09c1d7d40c368d5041ff58b7f89461a56e4009471921301af7b3609cbff9a29 + languageName: node + linkType: hard + "log-update@npm:^4.0.0": version: 4.0.0 resolution: "log-update@npm:4.0.0" @@ -11816,6 +13043,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.25.9": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" + dependencies: + sourcemap-codec: ^1.4.8 + checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a + languageName: node + linkType: hard + "magic-string@npm:^0.26.2, magic-string@npm:^0.26.3": version: 0.26.4 resolution: "magic-string@npm:0.26.4" @@ -11936,6 +13172,24 @@ __metadata: languageName: node linkType: hard +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" + dependencies: + escape-string-regexp: ^4.0.0 + checksum: 8bee1a7ab7609c2c21d9c9254b6785fa708eadf289032b556d57a34e98fcd4c537659a004dafee6ce80ab157099e645c199dc52678dff1e7fb0a6684e0da4dbe + languageName: node + linkType: hard + +"mdast-util-definitions@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-definitions@npm:4.0.0" + dependencies: + unist-util-visit: ^2.0.0 + checksum: 2325f20b82b3fb8cb5fda77038ee0bbdd44f82cfca7c48a854724b58bc1fe5919630a3ce7c45e210726df59d46c881d020b2da7a493bfd1ee36eb2bbfef5d78e + languageName: node + linkType: hard + "mdast-util-definitions@npm:^5.0.0": version: 5.1.1 resolution: "mdast-util-definitions@npm:5.1.1" @@ -11958,7 +13212,7 @@ __metadata: languageName: node linkType: hard -"mdast-util-from-markdown@npm:^1.0.0": +"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.2.0": version: 1.2.0 resolution: "mdast-util-from-markdown@npm:1.2.0" dependencies: @@ -11978,6 +13232,15 @@ __metadata: languageName: node linkType: hard +"mdast-util-frontmatter@npm:^1.0.0": + version: 1.0.0 + resolution: "mdast-util-frontmatter@npm:1.0.0" + dependencies: + micromark-extension-frontmatter: ^1.0.0 + checksum: 4fae0bd9f002e3b2a95829ab8d411a64cd7acf41de9c28fac8a70d6d96498efb6409c611e8433ce9e101b8b9d37a25ce3f9144dc7c06f0669ac5451460cc28e7 + languageName: node + linkType: hard + "mdast-util-gfm-autolink-literal@npm:^1.0.0": version: 1.0.2 resolution: "mdast-util-gfm-autolink-literal@npm:1.0.2" @@ -12061,6 +13324,35 @@ __metadata: languageName: node linkType: hard +"mdast-util-mdx-expression@npm:^1.2.1": + version: 1.3.1 + resolution: "mdast-util-mdx-expression@npm:1.3.1" + dependencies: + "@types/estree-jsx": ^1.0.0 + "@types/hast": ^2.0.0 + "@types/mdast": ^3.0.0 + mdast-util-from-markdown: ^1.0.0 + mdast-util-to-markdown: ^1.0.0 + checksum: 456d59a616a274416f5b02bce64bf5245c4b7247927b4539f4db35bec5674352580fb91f51ed11f1a769d17330c44eec7ca481faf81ee839c2efe71309195225 + languageName: node + linkType: hard + +"mdast-util-mdx-jsx@npm:^1.2.0": + version: 1.2.0 + resolution: "mdast-util-mdx-jsx@npm:1.2.0" + dependencies: + "@types/estree-jsx": ^0.0.1 + "@types/mdast": ^3.0.0 + mdast-util-to-markdown: ^1.0.0 + parse-entities: ^4.0.0 + stringify-entities: ^4.0.0 + unist-util-remove-position: ^4.0.0 + unist-util-stringify-position: ^3.0.0 + vfile-message: ^3.0.0 + checksum: 1aeb8c5ac3b2ab675e3e45a9ae89c7cd0d30526029b7bb8c797fff91fafc275c1cf7350fada863776f387b6cb7ea8991a7da5821cbee01f738a6fada11938f6a + languageName: node + linkType: hard + "mdast-util-mdx-jsx@npm:^2.0.0": version: 2.1.0 resolution: "mdast-util-mdx-jsx@npm:2.1.0" @@ -12103,6 +13395,22 @@ __metadata: languageName: node linkType: hard +"mdast-util-to-hast@npm:^10.2.0": + version: 10.2.0 + resolution: "mdast-util-to-hast@npm:10.2.0" + dependencies: + "@types/mdast": ^3.0.0 + "@types/unist": ^2.0.0 + mdast-util-definitions: ^4.0.0 + mdurl: ^1.0.0 + unist-builder: ^2.0.0 + unist-util-generated: ^1.0.0 + unist-util-position: ^3.0.0 + unist-util-visit: ^2.0.0 + checksum: 72df2dd9bfa2d07b4750a333444f82e0f3752dae75b6e300cf0a716407a185eb75095a54ecad90cbd6f6d133b20dea8844ff76c1ea78612550de170b43d4fa85 + languageName: node + linkType: hard + "mdast-util-to-hast@npm:^12.1.0": version: 12.2.2 resolution: "mdast-util-to-hast@npm:12.2.2" @@ -12258,6 +13566,17 @@ __metadata: languageName: node linkType: hard +"micromark-extension-frontmatter@npm:^1.0.0": + version: 1.0.0 + resolution: "micromark-extension-frontmatter@npm:1.0.0" + dependencies: + fault: ^2.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + checksum: d0bacd6aadd6e33e26245628b93f5bcaf9a1de47787cea6807f8569213ceeb1376c37fadcf059280f5eafe6a07682bd148989e65489e99c9a3f4d523eea5f5c0 + languageName: node + linkType: hard + "micromark-extension-gfm-autolink-literal@npm:^1.0.0": version: 1.0.3 resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.3" @@ -12352,7 +13671,7 @@ __metadata: languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": +"micromark-extension-mdx-expression@npm:^1.0.0, micromark-extension-mdx-expression@npm:^1.0.3": version: 1.0.3 resolution: "micromark-extension-mdx-expression@npm:1.0.3" dependencies: @@ -12704,6 +14023,15 @@ __metadata: languageName: node linkType: hard +"mime@npm:^3.0.0": + version: 3.0.0 + resolution: "mime@npm:3.0.0" + bin: + mime: cli.js + checksum: f43f9b7bfa64534e6b05bd6062961681aeb406a5b53673b53b683f27fcc4e739989941836a355eef831f4478923651ecc739f4a5f6e20a76487b432bfd4db928 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -13128,6 +14456,22 @@ __metadata: languageName: node linkType: hard +"nlcst-to-string@npm:^2.0.0": + version: 2.0.4 + resolution: "nlcst-to-string@npm:2.0.4" + checksum: 251b5d894ca13893bfc9c4e892a0656a2effb9a053becf8c94d9655ce3d5acc50811f535b0e77cc2156f45ac4addcef29a9654fc4e5841337c86aa08fa2ea878 + languageName: node + linkType: hard + +"nlcst-to-string@npm:^3.0.0": + version: 3.1.0 + resolution: "nlcst-to-string@npm:3.1.0" + dependencies: + "@types/nlcst": ^1.0.0 + checksum: cab11f47426fcdde03759cba31c3c8763bf679f97fabdd71d5cf049ee67e2262e11e813435abec39b9abdb5849dd593a2462cca8f1ca9b60b48c446bf481fb16 + languageName: node + linkType: hard + "node-abi@npm:^3.3.0": version: 3.24.0 resolution: "node-abi@npm:3.24.0" @@ -13146,6 +14490,13 @@ __metadata: languageName: node linkType: hard +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f + languageName: node + linkType: hard + "node-fetch-native@npm:^0.1.5": version: 0.1.7 resolution: "node-fetch-native@npm:0.1.7" @@ -13153,7 +14504,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.7, node-fetch@npm:^2.x.x": +"node-fetch@npm:2.6.7, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.7, node-fetch@npm:^2.x.x": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -13167,6 +14518,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.2.5": + version: 3.2.10 + resolution: "node-fetch@npm:3.2.10" + dependencies: + data-uri-to-buffer: ^4.0.0 + fetch-blob: ^3.1.4 + formdata-polyfill: ^4.0.10 + checksum: e65322431f4897ded04197aa5923eaec63a8d53e00432de4e70a4f7006625c8dc32629c5c35f4fe8ee719a4825544d07bf53f6e146a7265914262f493e8deac1 + languageName: node + linkType: hard + "node-gyp-build@npm:^4.2.2": version: 4.5.0 resolution: "node-gyp-build@npm:4.5.0" @@ -13531,6 +14893,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.4.0": + version: 8.4.0 + resolution: "open@npm:8.4.0" + dependencies: + define-lazy-prop: ^2.0.0 + is-docker: ^2.1.1 + is-wsl: ^2.2.0 + checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c + languageName: node + linkType: hard + "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -13545,6 +14918,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^6.1.0": + version: 6.1.2 + resolution: "ora@npm:6.1.2" + dependencies: + bl: ^5.0.0 + chalk: ^5.0.0 + cli-cursor: ^4.0.0 + cli-spinners: ^2.6.1 + is-interactive: ^2.0.0 + is-unicode-supported: ^1.1.0 + log-symbols: ^5.1.0 + strip-ansi: ^7.0.1 + wcwidth: ^1.0.1 + checksum: d5af3d67ad7affcf3029ffe3ef547f3335fb72abdc382040ae8bd75ad5c629f5d165ed9e398fd4fb08100701eafbec34bb9dc3f29e919f6f75c443290faa1db2 + languageName: node + linkType: hard + "p-cancelable@npm:^1.0.0": version: 1.1.0 resolution: "p-cancelable@npm:1.1.0" @@ -13709,6 +15099,17 @@ __metadata: languageName: node linkType: hard +"parse-latin@npm:^5.0.0": + version: 5.0.0 + resolution: "parse-latin@npm:5.0.0" + dependencies: + nlcst-to-string: ^2.0.0 + unist-util-modify-children: ^2.0.0 + unist-util-visit-children: ^1.0.0 + checksum: 9dd00f91699586d3a4e7b2327df1ef8d916586b1dfccdf6d7a8fa24b4d620e8c192f613753b7ad439b0102982a21b189face2c0c117f5ce55fe54502a5f33c6e + languageName: node + linkType: hard + "parse-ms@npm:^2.1.0": version: 2.1.0 resolution: "parse-ms@npm:2.1.0" @@ -13793,6 +15194,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^6.2.1": + version: 6.2.1 + resolution: "path-to-regexp@npm:6.2.1" + checksum: f0227af8284ea13300f4293ba111e3635142f976d4197f14d5ad1f124aebd9118783dd2e5f1fe16f7273743cc3dbeddfb7493f237bb27c10fdae07020cc9b698 + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -13891,6 +15299,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b + languageName: node + linkType: hard + "pirates@npm:^4.0.1, pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -13923,7 +15338,7 @@ __metadata: languageName: node linkType: hard -"postcss-load-config@npm:^3.0.1": +"postcss-load-config@npm:^3.0.1, postcss-load-config@npm:^3.1.4": version: 3.1.4 resolution: "postcss-load-config@npm:3.1.4" dependencies: @@ -13941,7 +15356,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.9": +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.9": version: 6.0.10 resolution: "postcss-selector-parser@npm:6.0.10" dependencies: @@ -13962,6 +15377,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.14": + version: 8.4.17 + resolution: "postcss@npm:8.4.17" + dependencies: + nanoid: ^3.3.4 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: a6d9096dd711e17f7b1d18ff5dcb4fdedf3941d5a3dc8b0e4ea873b8f31972d57f73d6da9a8aed7ff389eb52190ed34f6a94f299a7f5ddc68b08a24a48f77eb9 + languageName: node + linkType: hard + "postcss@npm:^8.4.16": version: 8.4.16 resolution: "postcss@npm:8.4.16" @@ -13995,6 +15421,18 @@ __metadata: languageName: node linkType: hard +"preferred-pm@npm:^3.0.3": + version: 3.0.3 + resolution: "preferred-pm@npm:3.0.3" + dependencies: + find-up: ^5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: ^4.0.0 + which-pm: 2.0.0 + checksum: 0de0948cb6ae22213f2ad7868032d89f1e1443d9caabc22ceeb9d284f19d359d65b67fab178f4db5c8c6ca6ae34642bdc72730b70ab1899ea158e2677a88a6d0 + languageName: node + linkType: hard + "prefix-style@npm:2.0.1": version: 2.0.1 resolution: "prefix-style@npm:2.0.1" @@ -14016,6 +15454,18 @@ __metadata: languageName: node linkType: hard +"prettier-plugin-astro@npm:^0.5.3, prettier-plugin-astro@npm:^0.5.5": + version: 0.5.5 + resolution: "prettier-plugin-astro@npm:0.5.5" + dependencies: + "@astrojs/compiler": ^0.23.4 + prettier: ^2.7.1 + sass-formatter: ^0.7.5 + synckit: ^0.7.0 + checksum: b0e527645158c97c2726aaf532e920ff4a1b98fe9cd594612e2c9c399f64eaa395255ec4371b2d0a527e5dc80af93b214adbcfe2a306e622878c35e128b6a761 + languageName: node + linkType: hard + "prettier-plugin-tailwindcss@npm:^0.1.13": version: 0.1.13 resolution: "prettier-plugin-tailwindcss@npm:0.1.13" @@ -14116,7 +15566,7 @@ __metadata: languageName: node linkType: hard -"prismjs@npm:^1.27.0": +"prismjs@npm:^1.27.0, prismjs@npm:^1.28.0": version: 1.29.0 resolution: "prismjs@npm:1.29.0" checksum: 007a8869d4456ff8049dc59404e32d5666a07d99c3b0e30a18bd3b7676dfa07d1daae9d0f407f20983865fd8da56de91d09cb08e6aa61f5bc420a27c0beeaf93 @@ -14170,7 +15620,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:~2.4.2": +"prompts@npm:^2.0.1, prompts@npm:^2.4.2, prompts@npm:~2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -14277,6 +15727,15 @@ __metadata: languageName: node linkType: hard +"queue@npm:6.0.2": + version: 6.0.2 + resolution: "queue@npm:6.0.2" + dependencies: + inherits: ~2.0.3 + checksum: ebc23639248e4fe40a789f713c20548e513e053b3dc4924b6cb0ad741e3f264dcff948225c8737834dd4f9ec286dbc06a1a7c13858ea382d9379f4303bcc0916 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -14321,6 +15780,19 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:^17.0.2": + version: 17.0.2 + resolution: "react-dom@npm:17.0.2" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + scheduler: ^0.20.2 + peerDependencies: + react: 17.0.2 + checksum: 1c1eaa3bca7c7228d24b70932e3d7c99e70d1d04e13bb0843bbf321582bc25d7961d6b8a6978a58a598af2af496d1cedcfb1bf65f6b0960a0a8161cb8dab743c + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -14472,6 +15944,16 @@ __metadata: languageName: node linkType: hard +"react@npm:^17.0.2": + version: 17.0.2 + resolution: "react@npm:17.0.2" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b + languageName: node + linkType: hard + "react@npm:^18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -14569,6 +16051,18 @@ __metadata: languageName: node linkType: hard +"recast@npm:^0.20.5": + version: 0.20.5 + resolution: "recast@npm:0.20.5" + dependencies: + ast-types: 0.14.2 + esprima: ~4.0.0 + source-map: ~0.6.1 + tslib: ^2.0.1 + checksum: 14c35115cd9965950724cb2968f069a247fa79ce890643ab6dc3795c705b363f7b92a45238e9f765387c306763be9955f72047bb9d15b5d60b0a55f9e7912d5a + languageName: node + linkType: hard + "rechoir@npm:^0.6.2": version: 0.6.2 resolution: "rechoir@npm:0.6.2" @@ -14758,6 +16252,18 @@ __metadata: languageName: node linkType: hard +"rehype-parse@npm:^8.0.0": + version: 8.0.4 + resolution: "rehype-parse@npm:8.0.4" + dependencies: + "@types/hast": ^2.0.0 + hast-util-from-parse5: ^7.0.0 + parse5: ^6.0.0 + unified: ^10.0.0 + checksum: e678a5f9fa7cb91d5957f5f38bc37bc9fb90b8011a1ed6a90541ba6fff9f243c752c88b7f422cba8f5ba83ccb22942b1825654e8c3040970c703b85a6037efdf + languageName: node + linkType: hard + "rehype-pretty-code@npm:^0.3.2": version: 0.3.2 resolution: "rehype-pretty-code@npm:0.3.2" @@ -14795,6 +16301,41 @@ __metadata: languageName: node linkType: hard +"rehype-stringify@npm:^9.0.0, rehype-stringify@npm:^9.0.3": + version: 9.0.3 + resolution: "rehype-stringify@npm:9.0.3" + dependencies: + "@types/hast": ^2.0.0 + hast-util-to-html: ^8.0.0 + unified: ^10.0.0 + checksum: ff4b1f3f88f2747a9f88d84f8cd9811e892a7309574480547ddfd94022725a62e17a9ccc69f9d909620a20f2a6ad750ea74b317f06ab50955209b5c0ede5cd3f + languageName: node + linkType: hard + +"rehype@npm:^12.0.1": + version: 12.0.1 + resolution: "rehype@npm:12.0.1" + dependencies: + "@types/hast": ^2.0.0 + rehype-parse: ^8.0.0 + rehype-stringify: ^9.0.0 + unified: ^10.0.0 + checksum: 08174db96f2d8d3543266ed36368e66ae050698b989498e1987f645f500606dcae946265341c87041d7db8d21927f686029792df116e9fd293c46b02a779869a + languageName: node + linkType: hard + +"remark-frontmatter@npm:^4.0.1": + version: 4.0.1 + resolution: "remark-frontmatter@npm:4.0.1" + dependencies: + "@types/mdast": ^3.0.0 + mdast-util-frontmatter: ^1.0.0 + micromark-extension-frontmatter: ^1.0.0 + unified: ^10.0.0 + checksum: c1c448923cd0239e9eeafb42d7129c05081c9a1bca4c8164b562cbb748e80d103bfd058597a48d54000ce3c776200ab8ccd64a9679d955423f07e4a4e77f10c3 + languageName: node + linkType: hard + "remark-gfm@npm:^3.0.1": version: 3.0.1 resolution: "remark-gfm@npm:3.0.1" @@ -14817,7 +16358,7 @@ __metadata: languageName: node linkType: hard -"remark-parse@npm:^10.0.0": +"remark-parse@npm:^10.0.0, remark-parse@npm:^10.0.1": version: 10.0.1 resolution: "remark-parse@npm:10.0.1" dependencies: @@ -14828,7 +16369,7 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^10.0.0": +"remark-rehype@npm:^10.0.0, remark-rehype@npm:^10.1.0": version: 10.1.0 resolution: "remark-rehype@npm:10.1.0" dependencies: @@ -14840,6 +16381,26 @@ __metadata: languageName: node linkType: hard +"remark-rehype@npm:^8.1.0": + version: 8.1.0 + resolution: "remark-rehype@npm:8.1.0" + dependencies: + mdast-util-to-hast: ^10.2.0 + checksum: e1152464cfa83c14b570b1cb85eb9b3667795b5bed2f6b16d1c6e96c369816b07945a3c04eb0e1fd57a19cc1837969527d0056d5b6d179f1290688db2a7e2c5f + languageName: node + linkType: hard + +"remark-smartypants@npm:^2.0.0": + version: 2.0.0 + resolution: "remark-smartypants@npm:2.0.0" + dependencies: + retext: ^8.1.0 + retext-smartypants: ^5.1.0 + unist-util-visit: ^4.1.0 + checksum: dd2f82a72a664995b6f4e83d14b5ad7f0c1c6ce1bed9127cb1bcf474a978ad0bdb8ee75778b645102cddf8e2115eb68a309bac75a1aca2cd79525a8a193bd8ef + languageName: node + linkType: hard + "request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" @@ -14951,7 +16512,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -14996,7 +16557,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" dependencies: @@ -15060,6 +16621,63 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: 5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af + languageName: node + linkType: hard + +"retext-latin@npm:^3.0.0": + version: 3.1.0 + resolution: "retext-latin@npm:3.1.0" + dependencies: + "@types/nlcst": ^1.0.0 + parse-latin: ^5.0.0 + unherit: ^3.0.0 + unified: ^10.0.0 + checksum: 1c0eb7430b143b9ac91af44ed6e349df2a691004a4056d77256fc6b2dde2b06688e5b6a3474d43eb606541e39dc84c79e1704a1c768c503671fc6cdc43fd6f95 + languageName: node + linkType: hard + +"retext-smartypants@npm:^5.1.0": + version: 5.2.0 + resolution: "retext-smartypants@npm:5.2.0" + dependencies: + "@types/nlcst": ^1.0.0 + nlcst-to-string: ^3.0.0 + unified: ^10.0.0 + unist-util-visit: ^4.0.0 + checksum: 873924b0619f02e9c1b44734a2f6702e057ca6e50de32302fb8dc5499507460d4fe42e74606243bd31ca5529ee0f7d2b442bd068c3297fe4aec6c9ba7f429c13 + languageName: node + linkType: hard + +"retext-stringify@npm:^3.0.0": + version: 3.1.0 + resolution: "retext-stringify@npm:3.1.0" + dependencies: + "@types/nlcst": ^1.0.0 + nlcst-to-string: ^3.0.0 + unified: ^10.0.0 + checksum: f408b550db14dcae7d120dd5e5769d9eaf9586f1b328f77f19d4acc9e6636a25f30f6a87fd32cc2d68a79d06571a55c15b0ebf3ed581398cc280fa51fd709d3c + languageName: node + linkType: hard + +"retext@npm:^8.1.0": + version: 8.1.0 + resolution: "retext@npm:8.1.0" + dependencies: + "@types/nlcst": ^1.0.0 + retext-latin: ^3.0.0 + retext-stringify: ^3.0.0 + unified: ^10.0.0 + checksum: feea4fa8ae257133adbecaa60f9dc0e8f0496fc90c8587e4925a5e27f91fd4366068cbde71ab2aec12191135ff98d55fa671fda75ff1a5a86deeed4d85cadf49 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -15103,6 +16721,20 @@ __metadata: languageName: node linkType: hard +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" + dependencies: + boolean: ^3.0.1 + detect-node: ^2.0.4 + globalthis: ^1.0.1 + json-stringify-safe: ^5.0.1 + semver-compare: ^1.0.0 + sprintf-js: ^1.1.2 + checksum: 682e28d5491e3ae99728a35ba188f4f0ccb6347dbd492f95dc9f4bfdfe8ee63d8203ad234766ee2db88c8d7a300714304976eb095ce5c9366fe586c03a21586c + languageName: node + linkType: hard + "rollup-pluginutils@npm:^2.8.2": version: 2.8.2 resolution: "rollup-pluginutils@npm:2.8.2" @@ -15184,6 +16816,13 @@ __metadata: languageName: node linkType: hard +"s.color@npm:0.0.15": + version: 0.0.15 + resolution: "s.color@npm:0.0.15" + checksum: 28fc4896e446acc4a32c4146196493bc393b50990b5c17397cbb04b44e027db600ce5d1b241ba5f4619446f8523951cba22ae5abe19ce0b7e70e1533cde1f122 + languageName: node + linkType: hard + "sade@npm:^1.7.3": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -15234,6 +16873,25 @@ __metadata: languageName: node linkType: hard +"sass-formatter@npm:^0.7.5": + version: 0.7.5 + resolution: "sass-formatter@npm:0.7.5" + dependencies: + suf-log: ^2.5.3 + checksum: 967d789635359cf829f029595789d5e095dd0bb3e57b62d2e3ba7e013c68a89587f8c843ffcdaba0302859c4d69f0a3258f6d2131caf661775dd31868e8ae830 + languageName: node + linkType: hard + +"scheduler@npm:^0.20.2": + version: 0.20.2 + resolution: "scheduler@npm:0.20.2" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + checksum: c4b35cf967c8f0d3e65753252d0f260271f81a81e427241295c5a7b783abf4ea9e905f22f815ab66676f5313be0a25f47be582254db8f9241b259213e999b8fc + languageName: node + linkType: hard + "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -15250,6 +16908,23 @@ __metadata: languageName: node linkType: hard +"section-matter@npm:^1.0.0": + version: 1.0.0 + resolution: "section-matter@npm:1.0.0" + dependencies: + extend-shallow: ^2.0.1 + kind-of: ^6.0.0 + checksum: 3cc4131705493b2955729b075dcf562359bba66183debb0332752dc9cad35616f6da7a23e42b6cab45cd2e4bb5cda113e9e84c8f05aee77adb6b0289a0229101 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: dd1d7e2909744cf2cf71864ac718efc990297f9de2913b68e41a214319e70174b1d1793ac16e31183b128c2b9812541300cb324db8168e6cf6b570703b171c68 + languageName: node + linkType: hard + "semver-diff@npm:^3.1.1": version: 3.1.1 resolution: "semver-diff@npm:3.1.1" @@ -15297,6 +16972,15 @@ __metadata: languageName: node linkType: hard +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: ^0.13.1 + checksum: e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -15364,6 +17048,17 @@ __metadata: languageName: node linkType: hard +"shiki@npm:^0.10.1": + version: 0.10.1 + resolution: "shiki@npm:0.10.1" + dependencies: + jsonc-parser: ^3.0.0 + vscode-oniguruma: ^1.6.1 + vscode-textmate: 5.2.0 + checksum: fb746f3cb3de7e545e3b10a6cb658d3938f840e4ccc9a3c90ceb7e69a8f89dbb432171faac1e9f02a03f103684dad88ee5e54b5c4964fa6b579fca6e8e26424d + languageName: node + linkType: hard + "shiki@npm:^0.11.1": version: 0.11.1 resolution: "shiki@npm:0.11.1" @@ -15445,6 +17140,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d + languageName: node + linkType: hard + "slice-ansi@npm:^3.0.0": version: 3.0.0 resolution: "slice-ansi@npm:3.0.0" @@ -15572,7 +17274,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.7.0": +"source-map@npm:^0.7.0, source-map@npm:^0.7.3": version: 0.7.4 resolution: "source-map@npm:0.7.4" checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 @@ -15659,6 +17361,13 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:^1.1.2": + version: 1.1.2 + resolution: "sprintf-js@npm:1.1.2" + checksum: d4bb46464632b335e5faed381bd331157e0af64915a98ede833452663bc672823db49d7531c32d58798e85236581fb7342fd0270531ffc8f914e186187bf1c90 + languageName: node + linkType: hard + "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -15813,7 +17522,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^5.0.0": +"string-width@npm:^5.0.0, string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" dependencies: @@ -15880,7 +17589,7 @@ __metadata: languageName: node linkType: hard -"stringify-entities@npm:^4.0.0": +"stringify-entities@npm:^4.0.0, stringify-entities@npm:^4.0.2": version: 4.0.3 resolution: "stringify-entities@npm:4.0.3" dependencies: @@ -15917,6 +17626,13 @@ __metadata: languageName: node linkType: hard +"strip-bom-string@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-bom-string@npm:1.0.0" + checksum: 5635a3656d8512a2c194d6c8d5dee7ef0dde6802f7be9413b91e201981ad4132506656d9cf14137f019fd50f0269390d91c7f6a2601b1bee039a4859cfce4934 + languageName: node + linkType: hard + "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -16034,6 +17750,15 @@ __metadata: languageName: node linkType: hard +"suf-log@npm:^2.5.3": + version: 2.5.3 + resolution: "suf-log@npm:2.5.3" + dependencies: + s.color: 0.0.15 + checksum: 0545466dda882c6410857346640b0af46cb876951d4a5a5a2ff4be1910abf5bba73fb5d6bf72f72f2c7a0b8a96b1f2275553f2bcfefd25b98981549d492965ee + languageName: node + linkType: hard + "superagent@npm:^8.0.0": version: 8.0.0 resolution: "superagent@npm:8.0.0" @@ -16097,6 +17822,15 @@ __metadata: languageName: node linkType: hard +"supports-esm@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-esm@npm:1.0.0" + dependencies: + has-package-exports: ^1.1.0 + checksum: 3497a5886d3d9cd498ecec7679b7028e312c2c0fb897582eb06ba46caf1562aebc9b915103efb1d9e79b1bd6f0e2e2efe9d14dd4906255ceac9b79f53b91cb84 + languageName: node + linkType: hard + "supports-hyperlinks@npm:^2.0.0": version: 2.3.0 resolution: "supports-hyperlinks@npm:2.3.0" @@ -16143,6 +17877,26 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.7.0": + version: 0.7.3 + resolution: "synckit@npm:0.7.3" + dependencies: + "@pkgr/utils": ^2.3.0 + tslib: ^2.4.0 + checksum: 15b1841c16e80e84e4eb7b43680f37ad94377a032cd9f5f6fd1c9cbd32bb1b7d1cf1c32111821d4f1b5477dffb599aeda7f0c1e70c7333fbedd80951d41bf5e8 + languageName: node + linkType: hard + +"synckit@npm:^0.8.0": + version: 0.8.4 + resolution: "synckit@npm:0.8.4" + dependencies: + "@pkgr/utils": ^2.3.1 + tslib: ^2.4.0 + checksum: 83e054fe4494dab42114fc4ed36a11b85e18742d304ade3f40d3afb4ba4145d76183adba1f29e2c36e9a0a453b93a83e2387505f96a0efd901f562927a968c44 + languageName: node + linkType: hard + "table-layout@npm:^0.4.2": version: 0.4.5 resolution: "table-layout@npm:0.4.5" @@ -16370,6 +18124,16 @@ __metadata: languageName: node linkType: hard +"tiny-glob@npm:^0.2.9": + version: 0.2.9 + resolution: "tiny-glob@npm:0.2.9" + dependencies: + globalyzer: 0.1.0 + globrex: ^0.1.2 + checksum: aea5801eb6663ddf77ebb74900b8f8bd9dfcfc9b6a1cc8018cb7421590c00bf446109ff45e4b64a98e6c95ddb1255a337a5d488fb6311930e2a95334151ec9c6 + languageName: node + linkType: hard + "tinybench@npm:^2.1.5": version: 2.1.5 resolution: "tinybench@npm:2.1.5" @@ -16528,6 +18292,13 @@ __metadata: languageName: node linkType: hard +"trough@npm:^1.0.0": + version: 1.0.5 + resolution: "trough@npm:1.0.5" + checksum: d6c8564903ed00e5258bab92134b020724dbbe83148dc72e4bf6306c03ed8843efa1bcc773fa62410dd89161ecb067432dd5916501793508a9506cacbc408e25 + languageName: node + linkType: hard + "trough@npm:^2.0.0": version: 2.1.0 resolution: "trough@npm:2.1.0" @@ -16631,6 +18402,20 @@ __metadata: languageName: node linkType: hard +"tsconfig-resolver@npm:^3.0.1": + version: 3.0.1 + resolution: "tsconfig-resolver@npm:3.0.1" + dependencies: + "@types/json5": ^0.0.30 + "@types/resolve": ^1.17.0 + json5: ^2.1.3 + resolve: ^1.17.0 + strip-bom: ^4.0.0 + type-fest: ^0.13.1 + checksum: c37b2b6e605f4e912e377161d1dc7986448dc5682c81de8ad9d233ec6bdb26d27e483df084a0252611122bab29f21ce06e167a3d1d861b89cbffc3828e03b9a7 + languageName: node + linkType: hard + "tsd@npm:^0.24.1": version: 0.24.1 resolution: "tsd@npm:0.24.1" @@ -16654,7 +18439,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 @@ -16711,6 +18496,17 @@ __metadata: languageName: node linkType: hard +"tsm@npm:^2.1.4": + version: 2.2.2 + resolution: "tsm@npm:2.2.2" + dependencies: + esbuild: ^0.14.0 + bin: + tsm: bin.js + checksum: 5908f7e5167c0552b180e04f950430a5f890d95b9ac4b7f2016cbe566df2515f4b7c4f3519fa6f6edc2bf47f4b8fe38b301407d613f8b3c491b51339c098573b + languageName: node + linkType: hard + "tsup@npm:^6.2.3": version: 6.2.3 resolution: "tsup@npm:6.2.3" @@ -16902,6 +18698,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4 + languageName: node + linkType: hard + "type-fest@npm:^0.18.0": version: 0.18.1 resolution: "type-fest@npm:0.18.1" @@ -16937,6 +18740,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^2.5.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: a4ef07ece297c9fba78fc1bd6d85dff4472fe043ede98bd4710d2615d15776902b595abf62bd78339ed6278f021235fb28a96361f8be86ed754f778973a0d278 + languageName: node + linkType: hard + "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -16969,6 +18779,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:*, typescript@npm:^4.8.4, typescript@npm:~4.8.4": + version: 4.8.4 + resolution: "typescript@npm:4.8.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 + languageName: node + linkType: hard + "typescript@npm:4.3.4": version: 4.3.4 resolution: "typescript@npm:4.3.4" @@ -16989,16 +18809,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^4.8.4, typescript@npm:~4.8.4": - version: 4.8.4 - resolution: "typescript@npm:4.8.4" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 - languageName: node - linkType: hard - "typescript@npm:next": version: 4.9.0-dev.20220926 resolution: "typescript@npm:4.9.0-dev.20220926" @@ -17009,6 +18819,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@*#~builtin, typescript@patch:typescript@^4.8.4#~builtin, typescript@patch:typescript@~4.8.4#~builtin": + version: 4.8.4 + resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=7ad353" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 + languageName: node + linkType: hard + "typescript@patch:typescript@4.3.4#~builtin": version: 4.3.4 resolution: "typescript@patch:typescript@npm%3A4.3.4#~builtin::version=4.3.4&hash=7ad353" @@ -17029,16 +18849,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^4.8.4#~builtin, typescript@patch:typescript@~4.8.4#~builtin": - version: 4.8.4 - resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=7ad353" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 - languageName: node - linkType: hard - "typescript@patch:typescript@next#~builtin": version: 4.9.0-dev.20220926 resolution: "typescript@patch:typescript@npm%3A4.9.0-dev.20220926#~builtin::version=4.9.0-dev.20220926&hash=7ad353" @@ -17139,6 +18949,13 @@ __metadata: languageName: node linkType: hard +"unherit@npm:^3.0.0": + version: 3.0.0 + resolution: "unherit@npm:3.0.0" + checksum: e71c7c48aa1e47a4a489d0137d8698f9a795a880cea38c35e07b9caa1c7de7ac0764411b8726bb37897f8c55ad798b33465f6034bee252b2532801b3dd784af2 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -17170,7 +18987,7 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0, unified@npm:~10.1.2": +"unified@npm:^10.0.0, unified@npm:^10.1.2, unified@npm:~10.1.2": version: 10.1.2 resolution: "unified@npm:10.1.2" dependencies: @@ -17185,6 +19002,20 @@ __metadata: languageName: node linkType: hard +"unified@npm:^9.2.2": + version: 9.2.2 + resolution: "unified@npm:9.2.2" + dependencies: + bail: ^1.0.0 + extend: ^3.0.0 + is-buffer: ^2.0.0 + is-plain-obj: ^2.0.0 + trough: ^1.0.0 + vfile: ^4.0.0 + checksum: 7c24461be7de4145939739ce50d18227c5fbdf9b3bc5a29dabb1ce26dd3e8bd4a1c385865f6f825f3b49230953ee8b591f23beab3bb3643e3e9dc37aa8a089d5 + languageName: node + linkType: hard + "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -17212,6 +19043,13 @@ __metadata: languageName: node linkType: hard +"unist-builder@npm:^2.0.0": + version: 2.0.3 + resolution: "unist-builder@npm:2.0.3" + checksum: e946fdf77dbfc320feaece137ce4959ae2da6614abd1623bd39512dc741a9d5f313eb2ba79f8887d941365dccddec7fef4e953827475e392bf49b45336f597f6 + languageName: node + linkType: hard + "unist-builder@npm:^3.0.0": version: 3.0.0 resolution: "unist-builder@npm:3.0.0" @@ -17221,6 +19059,13 @@ __metadata: languageName: node linkType: hard +"unist-util-generated@npm:^1.0.0": + version: 1.1.6 + resolution: "unist-util-generated@npm:1.1.6" + checksum: 86239ff88a08800d52198f2f0e15911f05bab2dad17cef95550f7c2728f15ebb0344694fcc3101d05762d88adaf86cb85aa7a3300fedabd0b6d7d00b41cdcb7f + languageName: node + linkType: hard + "unist-util-generated@npm:^2.0.0": version: 2.0.0 resolution: "unist-util-generated@npm:2.0.0" @@ -17228,6 +19073,13 @@ __metadata: languageName: node linkType: hard +"unist-util-is@npm:^4.0.0": + version: 4.1.0 + resolution: "unist-util-is@npm:4.1.0" + checksum: 726484cd2adc9be75a939aeedd48720f88294899c2e4a3143da413ae593f2b28037570730d5cf5fd910ff41f3bc1501e3d636b6814c478d71126581ef695f7ea + languageName: node + linkType: hard + "unist-util-is@npm:^5.0.0": version: 5.1.1 resolution: "unist-util-is@npm:5.1.1" @@ -17235,6 +19087,24 @@ __metadata: languageName: node linkType: hard +"unist-util-map@npm:^3.1.1": + version: 3.1.2 + resolution: "unist-util-map@npm:3.1.2" + dependencies: + "@types/unist": ^2.0.0 + checksum: 8f197c59065fdf103bf4b9b6c38879d6345bcf316f8a45cb3057dcd38e44329b148d0f034a3de227b97d28dae23c8d6a4d0139f4651b0259d726f051ffe936fe + languageName: node + linkType: hard + +"unist-util-modify-children@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-modify-children@npm:2.0.0" + dependencies: + array-iterate: ^1.0.0 + checksum: 7c8e11c320e2c8f8e0f7ab32a0d5a88317a8ed40c30ef0dca1038252eae9ca31db7e24f3c77799ae086bf1f73ee8cc34056e12334b05da304287e3a5b8700034 + languageName: node + linkType: hard + "unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": version: 1.1.1 resolution: "unist-util-position-from-estree@npm:1.1.1" @@ -17244,6 +19114,13 @@ __metadata: languageName: node linkType: hard +"unist-util-position@npm:^3.0.0, unist-util-position@npm:^3.1.0": + version: 3.1.0 + resolution: "unist-util-position@npm:3.1.0" + checksum: 10b3952e32a1ffabbecad41c3946237f7059f5bb6436796da05531a285f50b97e4f37cfc2f7164676d041063f40fe1ad92fbb8ca38d3ae8747328ebe738d738f + languageName: node + linkType: hard + "unist-util-position@npm:^4.0.0": version: 4.0.3 resolution: "unist-util-position@npm:4.0.3" @@ -17263,6 +19140,15 @@ __metadata: languageName: node linkType: hard +"unist-util-stringify-position@npm:^2.0.0": + version: 2.0.3 + resolution: "unist-util-stringify-position@npm:2.0.3" + dependencies: + "@types/unist": ^2.0.2 + checksum: f755cadc959f9074fe999578a1a242761296705a7fe87f333a37c00044de74ab4b184b3812989a57d4cd12211f0b14ad397b327c3a594c7af84361b1c25a7f09 + languageName: node + linkType: hard + "unist-util-stringify-position@npm:^3.0.0": version: 3.0.2 resolution: "unist-util-stringify-position@npm:3.0.2" @@ -17272,6 +19158,23 @@ __metadata: languageName: node linkType: hard +"unist-util-visit-children@npm:^1.0.0": + version: 1.1.4 + resolution: "unist-util-visit-children@npm:1.1.4" + checksum: df41bf79851781ea1b19de854e2cfc78c9a63098f0387b32eb74b7860eb1f59bb7d12cce7ef53536baf14eea055d201e8b8268176b849a681c5a678b4d2de293 + languageName: node + linkType: hard + +"unist-util-visit-parents@npm:^3.0.0": + version: 3.1.1 + resolution: "unist-util-visit-parents@npm:3.1.1" + dependencies: + "@types/unist": ^2.0.0 + unist-util-is: ^4.0.0 + checksum: 1170e397dff88fab01e76d5154981666eb0291019d2462cff7a2961a3e76d3533b42eaa16b5b7e2d41ad42a5ea7d112301458283d255993e660511387bf67bc3 + languageName: node + linkType: hard + "unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": version: 5.1.1 resolution: "unist-util-visit-parents@npm:5.1.1" @@ -17282,7 +19185,18 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:~4.1.0": +"unist-util-visit@npm:^2.0.0": + version: 2.0.3 + resolution: "unist-util-visit@npm:2.0.3" + dependencies: + "@types/unist": ^2.0.0 + unist-util-is: ^4.0.0 + unist-util-visit-parents: ^3.0.0 + checksum: 1fe19d500e212128f96d8c3cfa3312846e586b797748a1fd195fe6479f06bc90a6f6904deb08eefc00dd58e83a1c8a32fb8677252d2273ad7a5e624525b69b8f + languageName: node + linkType: hard + +"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.0, unist-util-visit@npm:~4.1.0": version: 4.1.1 resolution: "unist-util-visit@npm:4.1.1" dependencies: @@ -17577,6 +19491,16 @@ __metadata: languageName: node linkType: hard +"vfile-message@npm:^2.0.0": + version: 2.0.4 + resolution: "vfile-message@npm:2.0.4" + dependencies: + "@types/unist": ^2.0.0 + unist-util-stringify-position: ^2.0.0 + checksum: 1bade499790f46ca5aba04bdce07a1e37c2636a8872e05cf32c26becc912826710b7eb063d30c5754fdfaeedc8a7658e78df10b3bc535c844890ec8a184f5643 + languageName: node + linkType: hard + "vfile-message@npm:^3.0.0": version: 3.1.2 resolution: "vfile-message@npm:3.1.2" @@ -17587,7 +19511,19 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.0": +"vfile@npm:^4.0.0": + version: 4.2.1 + resolution: "vfile@npm:4.2.1" + dependencies: + "@types/unist": ^2.0.0 + is-buffer: ^2.0.0 + unist-util-stringify-position: ^2.0.0 + vfile-message: ^2.0.0 + checksum: ee5726e10d170472cde778fc22e0f7499caa096eb85babea5d0ce0941455b721037ee1c9e6ae506ca2803250acd313d0f464328ead0b55cfe7cb6315f1b462d6 + languageName: node + linkType: hard + +"vfile@npm:^5.0.0, vfile@npm:^5.3.0, vfile@npm:^5.3.2": version: 5.3.5 resolution: "vfile@npm:5.3.5" dependencies: @@ -17631,6 +19567,38 @@ __metadata: languageName: node linkType: hard +"vite@npm:~3.1.3": + version: 3.1.4 + resolution: "vite@npm:3.1.4" + dependencies: + esbuild: ^0.15.6 + fsevents: ~2.3.2 + postcss: ^8.4.16 + resolve: ^1.22.1 + rollup: ~2.78.0 + peerDependencies: + less: "*" + sass: "*" + stylus: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: f3e532952b896ca7f746de0e51fc8c98ac482b2a5f0b89538ec89ac615f6edbfe45628fe4fbabab4c5fe07f6e4c2e624360af00d8c5c454af31771952b8c6e72 + languageName: node + linkType: hard + "vitest@npm:0.23.4, vitest@npm:^0.23.4": version: 0.23.4 resolution: "vitest@npm:0.23.4" @@ -17669,6 +19637,79 @@ __metadata: languageName: node linkType: hard +"vscode-css-languageservice@npm:^6.0.1": + version: 6.1.1 + resolution: "vscode-css-languageservice@npm:6.1.1" + dependencies: + vscode-languageserver-textdocument: ^1.0.7 + vscode-languageserver-types: ^3.17.2 + vscode-nls: ^5.2.0 + vscode-uri: ^3.0.4 + checksum: 483cfd9959e5803880149e74c6341f455d2d58ed5b189cf53b8e58ab705aabaa58f8e373316c05cd482db04dca9171b8c47ae247dc8e6005ecdad2b73f463992 + languageName: node + linkType: hard + +"vscode-html-languageservice@npm:^5.0.0": + version: 5.0.2 + resolution: "vscode-html-languageservice@npm:5.0.2" + dependencies: + vscode-languageserver-textdocument: ^1.0.7 + vscode-languageserver-types: ^3.17.2 + vscode-nls: ^5.2.0 + vscode-uri: ^3.0.4 + checksum: 11fa393f2115c1ecc9ff90502cd17c60268e2908ab0b794275d09d51587c9281d2d04897e2e6bd127d2d2b04bd229ed3211f3966eea3cdc5529999a9a1fcd1fb + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:8.0.2": + version: 8.0.2 + resolution: "vscode-jsonrpc@npm:8.0.2" + checksum: 9d055fd4c87ef1093b0eecb5370bfaf3402179b6639149b6d0f7e0bde60cf580091c7e07b0caff868f10f90331b17e7383c087217c077fdd1b5ae7bc23b72f77 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.2, vscode-languageserver-protocol@npm:^3.17.1": + version: 3.17.2 + resolution: "vscode-languageserver-protocol@npm:3.17.2" + dependencies: + vscode-jsonrpc: 8.0.2 + vscode-languageserver-types: 3.17.2 + checksum: f4a05d3a631af315a32a3700953c2117fa4e5c44bc03764154c6605da9cbbcb50a1b01b46f11b2f6948916d01b4948bebf1a84c135fc73b27fa839c58d0847ab + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:^1.0.1, vscode-languageserver-textdocument@npm:^1.0.4, vscode-languageserver-textdocument@npm:^1.0.7": + version: 1.0.7 + resolution: "vscode-languageserver-textdocument@npm:1.0.7" + checksum: 6018a8b2c87aeb6441419431909e9161e9659d214814193b029ca2b30d8b097d23538e4930942ef78f1440f52c57a93f7597144736b79ba1abd9f1a53c2ffbc0 + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.2, vscode-languageserver-types@npm:^3.15.1, vscode-languageserver-types@npm:^3.17.1, vscode-languageserver-types@npm:^3.17.2": + version: 3.17.2 + resolution: "vscode-languageserver-types@npm:3.17.2" + checksum: ef2d862d22f622b64de0f428773d50a5928ec6cdd485960a7564ebe4fd4a3c8bcd956f29eb15bc45a0f353846e62f39f6c764d2ab85ce774b8724411ba84342f + languageName: node + linkType: hard + +"vscode-languageserver@npm:^8.0.1": + version: 8.0.2 + resolution: "vscode-languageserver@npm:8.0.2" + dependencies: + vscode-languageserver-protocol: 3.17.2 + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: f564417bf08f5400e8381b6d0defb4e7242a04525696b1728b05524b89932047af625fac07715b4d36307e1de599cbef54d240c15101fe831aaface431f21e1b + languageName: node + linkType: hard + +"vscode-nls@npm:^5.0.0, vscode-nls@npm:^5.2.0": + version: 5.2.0 + resolution: "vscode-nls@npm:5.2.0" + checksum: c9f43c0f85000b3008fc4a3a8fc122e580f4f0402a77186c6c0f3219ca8ac258f4893c7a563d66f097a6da09951d7f5a7e6295d3e21dcbaec707937c9089b5a8 + languageName: node + linkType: hard + "vscode-oniguruma@npm:^1.6.1": version: 1.6.2 resolution: "vscode-oniguruma@npm:1.6.2" @@ -17676,6 +19717,13 @@ __metadata: languageName: node linkType: hard +"vscode-textmate@npm:5.2.0": + version: 5.2.0 + resolution: "vscode-textmate@npm:5.2.0" + checksum: 5449b42d451080f6f3649b66948f4b5ee4643c4e88cfe3558a3b31c84c78060cfdd288c4958c1690eaa5cd65d09992fa6b7c3bef9d4aa72b3651054a04624d20 + languageName: node + linkType: hard + "vscode-textmate@npm:^6.0.0": version: 6.0.0 resolution: "vscode-textmate@npm:6.0.0" @@ -17683,6 +19731,20 @@ __metadata: languageName: node linkType: hard +"vscode-uri@npm:^2.1.2": + version: 2.1.2 + resolution: "vscode-uri@npm:2.1.2" + checksum: 58c2d21018b86825b5a7f65f8879f837828a367bbf31d07ed59268fb2b56c9621a6996547d5e8f966d6ac05f0f921a7005f4541927007f788c2e4c6e5d6735e0 + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.3, vscode-uri@npm:^3.0.4": + version: 3.0.6 + resolution: "vscode-uri@npm:3.0.6" + checksum: 8b6a36553d089309c09f7aa2ca8dae321a1cb7ff5dcab35f0914d5155d3110722bdb6de67dcb727df15fecd83221d11bb4ab1274a9116b9ccc05b86cefe60dfc + languageName: node + linkType: hard + "vue-eslint-parser@npm:^9.0.1, vue-eslint-parser@npm:^9.1.0": version: 9.1.0 resolution: "vue-eslint-parser@npm:9.1.0" @@ -17723,6 +19785,15 @@ __metadata: languageName: node linkType: hard +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: 814e9d1ddcc9798f7377ffa448a5a3892232b9275ebb30a41b529607691c0491de47cba426e917a4d08ded3ee7e9ba2f3fe32e62ee3cd9c7d3bafb7754bd553c + languageName: node + linkType: hard + "web-namespaces@npm:^2.0.0": version: 2.0.1 resolution: "web-namespaces@npm:2.0.1" @@ -17730,6 +19801,13 @@ __metadata: languageName: node linkType: hard +"web-streams-polyfill@npm:^3.0.3": + version: 3.2.1 + resolution: "web-streams-polyfill@npm:3.2.1" + checksum: b119c78574b6d65935e35098c2afdcd752b84268e18746606af149e3c424e15621b6f1ff0b42b2676dc012fc4f0d313f964b41a4b5031e525faa03997457da02 + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -17808,6 +19886,23 @@ __metadata: languageName: node linkType: hard +"which-pm-runs@npm:^1.1.0": + version: 1.1.0 + resolution: "which-pm-runs@npm:1.1.0" + checksum: 39a56ee50886fb33ec710e3b36dc9fe3d0096cac44850d9ca0c6186c4cb824d6c8125f013e0562e7c94744e1e8e4a6ab695592cdb12555777c7a4368143d822c + languageName: node + linkType: hard + +"which-pm@npm:2.0.0": + version: 2.0.0 + resolution: "which-pm@npm:2.0.0" + dependencies: + load-yaml-file: ^0.2.0 + path-exists: ^4.0.0 + checksum: e556635eaf237b3a101043a21c2890af045db40eac4df3575161d4fb834c2aa65456f81c60d8ea4db2d51fe5ac549d989eeabd17278767c2e4179361338ac5ce + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -17837,6 +19932,15 @@ __metadata: languageName: node linkType: hard +"widest-line@npm:^4.0.1": + version: 4.0.1 + resolution: "widest-line@npm:4.0.1" + dependencies: + string-width: ^5.0.1 + checksum: 64c48cf27171221be5f86fc54b94dd29879165bdff1a7aa92dde723d9a8c99fb108312768a5d62c8c2b80b701fa27bbd36a1ddc58367585cd45c0db7920a0cba + languageName: node + linkType: hard + "word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" @@ -17883,6 +19987,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^8.0.1": + version: 8.0.1 + resolution: "wrap-ansi@npm:8.0.1" + dependencies: + ansi-styles: ^6.1.0 + string-width: ^5.0.1 + strip-ansi: ^7.0.1 + checksum: 5d7816e64f75544e466d58a736cb96ca47abad4ad57f48765b9735ba5601221013a37f436662340ca159208b011121e4e030de5a17180c76202e35157195a71e + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" @@ -18007,7 +20122,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.0": +"yargs-parser@npm:^21.0.0, yargs-parser@npm:^21.0.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c @@ -18104,6 +20219,20 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.17.3": + version: 3.19.1 + resolution: "zod@npm:3.19.1" + checksum: 56e420ea5845912324a8fc61833714a2aec84954e418b52660d76502183c6e62fef9447cbfa64349640c5ce190cf2c24267e006bb80f066183e2f3fa9fe11864 + languageName: node + linkType: hard + +"zwitch@npm:^1.0.0": + version: 1.0.5 + resolution: "zwitch@npm:1.0.5" + checksum: 28a1bebacab3bc60150b6b0a2ba1db2ad033f068e81f05e4892ec0ea13ae63f5d140a1d692062ac0657840c8da076f35b94433b5f1c329d7803b247de80f064a + languageName: node + linkType: hard + "zwitch@npm:^2.0.0": version: 2.0.2 resolution: "zwitch@npm:2.0.2"