├── .env
├── .gitignore
├── .nvmrc
├── .vscode
├── extensions.json
└── launch.json
├── README.md
├── astro.config.mjs
├── default_template.md
├── package.json
├── pnpm-lock.yaml
├── public
└── favicon.svg
├── src
├── components
│ ├── layout.astro
│ └── nav.astro
├── env.d.ts
├── pages
│ ├── index.astro
│ ├── login.astro
│ └── profile.astro
└── utils
│ ├── config.ts
│ ├── supabaseBrowser.ts
│ └── supabaseServer.ts
└── tsconfig.json
/.env:
--------------------------------------------------------------------------------
1 |
2 | PUBLIC_SUPABASE_URL=
3 | PUBLIC_SUPABASE_ANON_KEY=
4 | PUBLIC_APP_URL=
5 | # used as prefix for cookie
6 | PUBLIC_SUPABASE_COOKIE_PRE=
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # build output
2 | dist/
3 | # generated types
4 | .astro/
5 |
6 | # dependencies
7 | node_modules/
8 |
9 | # logs
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | pnpm-debug.log*
14 |
15 |
16 | # environment variables
17 | .env
18 | .env.production
19 | .env.development
20 |
21 | # macOS-specific files
22 | .DS_Store
23 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v22.11.0
2 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["astro-build.astro-vscode"],
3 | "unwantedRecommendations": []
4 | }
5 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "command": "./node_modules/.bin/astro dev",
6 | "name": "Development server",
7 | "request": "launch",
8 | "type": "node-terminal"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
Supabase + Astro = ❤️
3 |
4 | This is a basic astro template with supabase SSR integration.
5 |
6 | The auth flow is made on the client,
7 | tokens are then passed to the server through cookies,
8 | the authentication for private pages is performed on the server.
9 |
10 |
11 | ## Prerequisites
12 | The template builds on top of Astro's default blank theme, the structure should be self explanatory but if you have any doubts you'll probably find most answers in the astro docs.
13 |
14 | For the service I'm using the supabase local development setup.
15 | Supabase should be configured with "user management data" template (in the SQL editor), in alternative you can run the sql queries following [this](https://supabase.com/docs/guides/getting-started/tutorials/with-react#set-up-the-database-schema) guide (just for the supabase configuration).
16 |
17 | A boilerplate .env file with placeholders is provided, you'll need to add your supabase keys there.
18 |
19 | ## Disclaimer
20 | NB: This template is an opinionated take, any feedback is welcome!
21 |
22 | ## Structure
23 | 3 pages are provided:
24 |
25 | - home (current page): which has no authentication requirements.
26 | - profile: reachable only if authenticated.
27 | - login: if authentication is already in place it will redirect to the home page.
28 |
--------------------------------------------------------------------------------
/astro.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'astro/config';
2 | import node from '@astrojs/node';
3 |
4 | // https://astro.build/config
5 | export default defineConfig({
6 | output: 'server',
7 | adapter: node({
8 | mode: 'standalone'
9 | })
10 | });
11 |
--------------------------------------------------------------------------------
/default_template.md:
--------------------------------------------------------------------------------
1 | # Astro Starter Kit: Minimal
2 |
3 | ```
4 | npm create astro@latest -- --template minimal
5 | ```
6 |
7 | [](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
8 | [](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
9 | [](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
10 |
11 | > 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
12 |
13 | ## 🚀 Project Structure
14 |
15 | Inside of your Astro project, you'll see the following folders and files:
16 |
17 | ```
18 | /
19 | ├── public/
20 | ├── src/
21 | │ └── pages/
22 | │ └── index.astro
23 | └── package.json
24 | ```
25 |
26 | Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
27 |
28 | There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
29 |
30 | Any static assets, like images, can be placed in the `public/` directory.
31 |
32 | ## 🧞 Commands
33 |
34 | All commands are run from the root of the project, from a terminal:
35 |
36 | | Command | Action |
37 | | :------------------------ | :----------------------------------------------- |
38 | | `npm install` | Installs dependencies |
39 | | `npm run dev` | Starts local dev server at `localhost:3000` |
40 | | `npm run build` | Build your production site to `./dist/` |
41 | | `npm run preview` | Preview your build locally, before deploying |
42 | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
43 | | `npm run astro -- --help` | Get help using the Astro CLI |
44 |
45 | ## 👀 Want to learn more?
46 |
47 | Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
48 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "astro-supabase-ss-auth",
3 | "type": "module",
4 | "version": "0.0.1",
5 | "scripts": {
6 | "dev": "astro dev --port 3000",
7 | "start": "npm run dev",
8 | "build": "astro build",
9 | "preview": "astro preview --port 3000",
10 | "astro": "astro"
11 | },
12 | "dependencies": {
13 | "@astrojs/node": "^9.1.3",
14 | "@supabase/supabase-js": "^2.45.3",
15 | "astro": "^5.5.4"
16 | },
17 | "packageManager": "pnpm@9.12.3+sha256.24235772cc4ac82a62627cd47f834c72667a2ce87799a846ec4e8e555e2d4b8b"
18 | }
19 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@astrojs/node':
12 | specifier: ^9.1.3
13 | version: 9.1.3(astro@5.5.4(@types/node@22.5.2)(rollup@4.36.0)(typescript@5.5.4))
14 | '@supabase/supabase-js':
15 | specifier: ^2.45.3
16 | version: 2.45.3
17 | astro:
18 | specifier: ^5.5.4
19 | version: 5.5.4(@types/node@22.5.2)(rollup@4.36.0)(typescript@5.5.4)
20 |
21 | packages:
22 |
23 | '@astrojs/compiler@2.11.0':
24 | resolution: {integrity: sha512-zZOO7i+JhojO8qmlyR/URui6LyfHJY6m+L9nwyX5GiKD78YoRaZ5tzz6X0fkl+5bD3uwlDHayf6Oe8Fu36RKNg==}
25 |
26 | '@astrojs/internal-helpers@0.6.1':
27 | resolution: {integrity: sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==}
28 |
29 | '@astrojs/markdown-remark@6.3.1':
30 | resolution: {integrity: sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg==}
31 |
32 | '@astrojs/node@9.1.3':
33 | resolution: {integrity: sha512-YcVxEmeZU8khNdrPYNPN3j//4tYPM+Pw6CthAJ6VE/bw65qEX7ErMRApalY2tibc3YhCeHMmsO9rXGhyW0NNyA==}
34 | peerDependencies:
35 | astro: ^5.3.0
36 |
37 | '@astrojs/prism@3.2.0':
38 | resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==}
39 | engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
40 |
41 | '@astrojs/telemetry@3.2.0':
42 | resolution: {integrity: sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ==}
43 | engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
44 |
45 | '@babel/helper-string-parser@7.24.8':
46 | resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
47 | engines: {node: '>=6.9.0'}
48 |
49 | '@babel/helper-validator-identifier@7.24.7':
50 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
51 | engines: {node: '>=6.9.0'}
52 |
53 | '@babel/parser@7.25.6':
54 | resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
55 | engines: {node: '>=6.0.0'}
56 | hasBin: true
57 |
58 | '@babel/types@7.25.6':
59 | resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==}
60 | engines: {node: '>=6.9.0'}
61 |
62 | '@emnapi/runtime@1.2.0':
63 | resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
64 |
65 | '@esbuild/aix-ppc64@0.25.1':
66 | resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
67 | engines: {node: '>=18'}
68 | cpu: [ppc64]
69 | os: [aix]
70 |
71 | '@esbuild/android-arm64@0.25.1':
72 | resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
73 | engines: {node: '>=18'}
74 | cpu: [arm64]
75 | os: [android]
76 |
77 | '@esbuild/android-arm@0.25.1':
78 | resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
79 | engines: {node: '>=18'}
80 | cpu: [arm]
81 | os: [android]
82 |
83 | '@esbuild/android-x64@0.25.1':
84 | resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
85 | engines: {node: '>=18'}
86 | cpu: [x64]
87 | os: [android]
88 |
89 | '@esbuild/darwin-arm64@0.25.1':
90 | resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
91 | engines: {node: '>=18'}
92 | cpu: [arm64]
93 | os: [darwin]
94 |
95 | '@esbuild/darwin-x64@0.25.1':
96 | resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
97 | engines: {node: '>=18'}
98 | cpu: [x64]
99 | os: [darwin]
100 |
101 | '@esbuild/freebsd-arm64@0.25.1':
102 | resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
103 | engines: {node: '>=18'}
104 | cpu: [arm64]
105 | os: [freebsd]
106 |
107 | '@esbuild/freebsd-x64@0.25.1':
108 | resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
109 | engines: {node: '>=18'}
110 | cpu: [x64]
111 | os: [freebsd]
112 |
113 | '@esbuild/linux-arm64@0.25.1':
114 | resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
115 | engines: {node: '>=18'}
116 | cpu: [arm64]
117 | os: [linux]
118 |
119 | '@esbuild/linux-arm@0.25.1':
120 | resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
121 | engines: {node: '>=18'}
122 | cpu: [arm]
123 | os: [linux]
124 |
125 | '@esbuild/linux-ia32@0.25.1':
126 | resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
127 | engines: {node: '>=18'}
128 | cpu: [ia32]
129 | os: [linux]
130 |
131 | '@esbuild/linux-loong64@0.25.1':
132 | resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
133 | engines: {node: '>=18'}
134 | cpu: [loong64]
135 | os: [linux]
136 |
137 | '@esbuild/linux-mips64el@0.25.1':
138 | resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
139 | engines: {node: '>=18'}
140 | cpu: [mips64el]
141 | os: [linux]
142 |
143 | '@esbuild/linux-ppc64@0.25.1':
144 | resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
145 | engines: {node: '>=18'}
146 | cpu: [ppc64]
147 | os: [linux]
148 |
149 | '@esbuild/linux-riscv64@0.25.1':
150 | resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
151 | engines: {node: '>=18'}
152 | cpu: [riscv64]
153 | os: [linux]
154 |
155 | '@esbuild/linux-s390x@0.25.1':
156 | resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
157 | engines: {node: '>=18'}
158 | cpu: [s390x]
159 | os: [linux]
160 |
161 | '@esbuild/linux-x64@0.25.1':
162 | resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
163 | engines: {node: '>=18'}
164 | cpu: [x64]
165 | os: [linux]
166 |
167 | '@esbuild/netbsd-arm64@0.25.1':
168 | resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
169 | engines: {node: '>=18'}
170 | cpu: [arm64]
171 | os: [netbsd]
172 |
173 | '@esbuild/netbsd-x64@0.25.1':
174 | resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
175 | engines: {node: '>=18'}
176 | cpu: [x64]
177 | os: [netbsd]
178 |
179 | '@esbuild/openbsd-arm64@0.25.1':
180 | resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
181 | engines: {node: '>=18'}
182 | cpu: [arm64]
183 | os: [openbsd]
184 |
185 | '@esbuild/openbsd-x64@0.25.1':
186 | resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
187 | engines: {node: '>=18'}
188 | cpu: [x64]
189 | os: [openbsd]
190 |
191 | '@esbuild/sunos-x64@0.25.1':
192 | resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
193 | engines: {node: '>=18'}
194 | cpu: [x64]
195 | os: [sunos]
196 |
197 | '@esbuild/win32-arm64@0.25.1':
198 | resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
199 | engines: {node: '>=18'}
200 | cpu: [arm64]
201 | os: [win32]
202 |
203 | '@esbuild/win32-ia32@0.25.1':
204 | resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
205 | engines: {node: '>=18'}
206 | cpu: [ia32]
207 | os: [win32]
208 |
209 | '@esbuild/win32-x64@0.25.1':
210 | resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
211 | engines: {node: '>=18'}
212 | cpu: [x64]
213 | os: [win32]
214 |
215 | '@img/sharp-darwin-arm64@0.33.5':
216 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
217 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
218 | cpu: [arm64]
219 | os: [darwin]
220 |
221 | '@img/sharp-darwin-x64@0.33.5':
222 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
223 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
224 | cpu: [x64]
225 | os: [darwin]
226 |
227 | '@img/sharp-libvips-darwin-arm64@1.0.4':
228 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
229 | cpu: [arm64]
230 | os: [darwin]
231 |
232 | '@img/sharp-libvips-darwin-x64@1.0.4':
233 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
234 | cpu: [x64]
235 | os: [darwin]
236 |
237 | '@img/sharp-libvips-linux-arm64@1.0.4':
238 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
239 | cpu: [arm64]
240 | os: [linux]
241 |
242 | '@img/sharp-libvips-linux-arm@1.0.5':
243 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
244 | cpu: [arm]
245 | os: [linux]
246 |
247 | '@img/sharp-libvips-linux-s390x@1.0.4':
248 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
249 | cpu: [s390x]
250 | os: [linux]
251 |
252 | '@img/sharp-libvips-linux-x64@1.0.4':
253 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
254 | cpu: [x64]
255 | os: [linux]
256 |
257 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
258 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
259 | cpu: [arm64]
260 | os: [linux]
261 |
262 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
263 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
264 | cpu: [x64]
265 | os: [linux]
266 |
267 | '@img/sharp-linux-arm64@0.33.5':
268 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
269 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
270 | cpu: [arm64]
271 | os: [linux]
272 |
273 | '@img/sharp-linux-arm@0.33.5':
274 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
275 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
276 | cpu: [arm]
277 | os: [linux]
278 |
279 | '@img/sharp-linux-s390x@0.33.5':
280 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
281 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
282 | cpu: [s390x]
283 | os: [linux]
284 |
285 | '@img/sharp-linux-x64@0.33.5':
286 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
287 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
288 | cpu: [x64]
289 | os: [linux]
290 |
291 | '@img/sharp-linuxmusl-arm64@0.33.5':
292 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
293 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
294 | cpu: [arm64]
295 | os: [linux]
296 |
297 | '@img/sharp-linuxmusl-x64@0.33.5':
298 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
299 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
300 | cpu: [x64]
301 | os: [linux]
302 |
303 | '@img/sharp-wasm32@0.33.5':
304 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
305 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
306 | cpu: [wasm32]
307 |
308 | '@img/sharp-win32-ia32@0.33.5':
309 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
310 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
311 | cpu: [ia32]
312 | os: [win32]
313 |
314 | '@img/sharp-win32-x64@0.33.5':
315 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
316 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
317 | cpu: [x64]
318 | os: [win32]
319 |
320 | '@jridgewell/sourcemap-codec@1.5.0':
321 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
322 |
323 | '@oslojs/encoding@1.1.0':
324 | resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
325 |
326 | '@rollup/pluginutils@5.1.4':
327 | resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
328 | engines: {node: '>=14.0.0'}
329 | peerDependencies:
330 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
331 | peerDependenciesMeta:
332 | rollup:
333 | optional: true
334 |
335 | '@rollup/rollup-android-arm-eabi@4.36.0':
336 | resolution: {integrity: sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==}
337 | cpu: [arm]
338 | os: [android]
339 |
340 | '@rollup/rollup-android-arm64@4.36.0':
341 | resolution: {integrity: sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==}
342 | cpu: [arm64]
343 | os: [android]
344 |
345 | '@rollup/rollup-darwin-arm64@4.36.0':
346 | resolution: {integrity: sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==}
347 | cpu: [arm64]
348 | os: [darwin]
349 |
350 | '@rollup/rollup-darwin-x64@4.36.0':
351 | resolution: {integrity: sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==}
352 | cpu: [x64]
353 | os: [darwin]
354 |
355 | '@rollup/rollup-freebsd-arm64@4.36.0':
356 | resolution: {integrity: sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==}
357 | cpu: [arm64]
358 | os: [freebsd]
359 |
360 | '@rollup/rollup-freebsd-x64@4.36.0':
361 | resolution: {integrity: sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==}
362 | cpu: [x64]
363 | os: [freebsd]
364 |
365 | '@rollup/rollup-linux-arm-gnueabihf@4.36.0':
366 | resolution: {integrity: sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==}
367 | cpu: [arm]
368 | os: [linux]
369 |
370 | '@rollup/rollup-linux-arm-musleabihf@4.36.0':
371 | resolution: {integrity: sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==}
372 | cpu: [arm]
373 | os: [linux]
374 |
375 | '@rollup/rollup-linux-arm64-gnu@4.36.0':
376 | resolution: {integrity: sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==}
377 | cpu: [arm64]
378 | os: [linux]
379 |
380 | '@rollup/rollup-linux-arm64-musl@4.36.0':
381 | resolution: {integrity: sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==}
382 | cpu: [arm64]
383 | os: [linux]
384 |
385 | '@rollup/rollup-linux-loongarch64-gnu@4.36.0':
386 | resolution: {integrity: sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==}
387 | cpu: [loong64]
388 | os: [linux]
389 |
390 | '@rollup/rollup-linux-powerpc64le-gnu@4.36.0':
391 | resolution: {integrity: sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==}
392 | cpu: [ppc64]
393 | os: [linux]
394 |
395 | '@rollup/rollup-linux-riscv64-gnu@4.36.0':
396 | resolution: {integrity: sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==}
397 | cpu: [riscv64]
398 | os: [linux]
399 |
400 | '@rollup/rollup-linux-s390x-gnu@4.36.0':
401 | resolution: {integrity: sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==}
402 | cpu: [s390x]
403 | os: [linux]
404 |
405 | '@rollup/rollup-linux-x64-gnu@4.36.0':
406 | resolution: {integrity: sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==}
407 | cpu: [x64]
408 | os: [linux]
409 |
410 | '@rollup/rollup-linux-x64-musl@4.36.0':
411 | resolution: {integrity: sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==}
412 | cpu: [x64]
413 | os: [linux]
414 |
415 | '@rollup/rollup-win32-arm64-msvc@4.36.0':
416 | resolution: {integrity: sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==}
417 | cpu: [arm64]
418 | os: [win32]
419 |
420 | '@rollup/rollup-win32-ia32-msvc@4.36.0':
421 | resolution: {integrity: sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==}
422 | cpu: [ia32]
423 | os: [win32]
424 |
425 | '@rollup/rollup-win32-x64-msvc@4.36.0':
426 | resolution: {integrity: sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==}
427 | cpu: [x64]
428 | os: [win32]
429 |
430 | '@shikijs/core@3.2.1':
431 | resolution: {integrity: sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ==}
432 |
433 | '@shikijs/engine-javascript@3.2.1':
434 | resolution: {integrity: sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q==}
435 |
436 | '@shikijs/engine-oniguruma@3.2.1':
437 | resolution: {integrity: sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==}
438 |
439 | '@shikijs/langs@3.2.1':
440 | resolution: {integrity: sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==}
441 |
442 | '@shikijs/themes@3.2.1':
443 | resolution: {integrity: sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==}
444 |
445 | '@shikijs/types@3.2.1':
446 | resolution: {integrity: sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==}
447 |
448 | '@shikijs/vscode-textmate@10.0.2':
449 | resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
450 |
451 | '@supabase/auth-js@2.65.0':
452 | resolution: {integrity: sha512-+wboHfZufAE2Y612OsKeVP4rVOeGZzzMLD/Ac3HrTQkkY4qXNjI6Af9gtmxwccE5nFvTiF114FEbIQ1hRq5uUw==}
453 |
454 | '@supabase/functions-js@2.4.1':
455 | resolution: {integrity: sha512-8sZ2ibwHlf+WkHDUZJUXqqmPvWQ3UHN0W30behOJngVh/qHHekhJLCFbh0AjkE9/FqqXtf9eoVvmYgfCLk5tNA==}
456 |
457 | '@supabase/node-fetch@2.6.15':
458 | resolution: {integrity: sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==}
459 | engines: {node: 4.x || >=6.0.0}
460 |
461 | '@supabase/postgrest-js@1.15.8':
462 | resolution: {integrity: sha512-YunjXpoQjQ0a0/7vGAvGZA2dlMABXFdVI/8TuVKtlePxyT71sl6ERl6ay1fmIeZcqxiuFQuZw/LXUuStUG9bbg==}
463 |
464 | '@supabase/realtime-js@2.10.2':
465 | resolution: {integrity: sha512-qyCQaNg90HmJstsvr2aJNxK2zgoKh9ZZA8oqb7UT2LCh3mj9zpa3Iwu167AuyNxsxrUE8eEJ2yH6wLCij4EApA==}
466 |
467 | '@supabase/storage-js@2.7.0':
468 | resolution: {integrity: sha512-iZenEdO6Mx9iTR6T7wC7sk6KKsoDPLq8rdu5VRy7+JiT1i8fnqfcOr6mfF2Eaqky9VQzhP8zZKQYjzozB65Rig==}
469 |
470 | '@supabase/supabase-js@2.45.3':
471 | resolution: {integrity: sha512-4wAux6cuVMrdH/qUjKn6p3p3L9AtAO3Une6ojIrtpCj1RaXKVoyIATiacSRAI+pKff6XZBVCGC29v+z4Jo/uSw==}
472 |
473 | '@types/debug@4.1.12':
474 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
475 |
476 | '@types/estree@1.0.5':
477 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
478 |
479 | '@types/estree@1.0.6':
480 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
481 |
482 | '@types/hast@3.0.4':
483 | resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
484 |
485 | '@types/mdast@4.0.4':
486 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
487 |
488 | '@types/ms@0.7.34':
489 | resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
490 |
491 | '@types/nlcst@2.0.3':
492 | resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
493 |
494 | '@types/node@22.5.2':
495 | resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==}
496 |
497 | '@types/phoenix@1.6.5':
498 | resolution: {integrity: sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==}
499 |
500 | '@types/unist@3.0.3':
501 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
502 |
503 | '@types/ws@8.5.12':
504 | resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==}
505 |
506 | '@ungap/structured-clone@1.2.0':
507 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
508 |
509 | acorn@8.14.1:
510 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
511 | engines: {node: '>=0.4.0'}
512 | hasBin: true
513 |
514 | ansi-align@3.0.1:
515 | resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
516 |
517 | ansi-regex@5.0.1:
518 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
519 | engines: {node: '>=8'}
520 |
521 | ansi-regex@6.0.1:
522 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
523 | engines: {node: '>=12'}
524 |
525 | ansi-styles@6.2.1:
526 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
527 | engines: {node: '>=12'}
528 |
529 | anymatch@3.1.3:
530 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
531 | engines: {node: '>= 8'}
532 |
533 | argparse@2.0.1:
534 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
535 |
536 | aria-query@5.3.2:
537 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
538 | engines: {node: '>= 0.4'}
539 |
540 | array-iterate@2.0.1:
541 | resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
542 |
543 | astro@5.5.4:
544 | resolution: {integrity: sha512-rc9Mj6dIKM9ylTSQ0/S1l5f1iSDNs0PEjRMnvVpZ0W+wfBCu99JEuXy+fiWDNT6gf60bC4dKQehZxZGdSJB9kg==}
545 | engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
546 | hasBin: true
547 |
548 | axobject-query@4.1.0:
549 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
550 | engines: {node: '>= 0.4'}
551 |
552 | bail@2.0.2:
553 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
554 |
555 | base-64@1.0.0:
556 | resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==}
557 |
558 | boxen@8.0.1:
559 | resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
560 | engines: {node: '>=18'}
561 |
562 | camelcase@8.0.0:
563 | resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
564 | engines: {node: '>=16'}
565 |
566 | ccount@2.0.1:
567 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
568 |
569 | chalk@5.3.0:
570 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
571 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
572 |
573 | character-entities-html4@2.1.0:
574 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
575 |
576 | character-entities-legacy@3.0.0:
577 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
578 |
579 | character-entities@2.0.2:
580 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
581 |
582 | chokidar@4.0.3:
583 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
584 | engines: {node: '>= 14.16.0'}
585 |
586 | ci-info@4.2.0:
587 | resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
588 | engines: {node: '>=8'}
589 |
590 | cli-boxes@3.0.0:
591 | resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
592 | engines: {node: '>=10'}
593 |
594 | clsx@2.1.1:
595 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
596 | engines: {node: '>=6'}
597 |
598 | color-convert@2.0.1:
599 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
600 | engines: {node: '>=7.0.0'}
601 |
602 | color-name@1.1.4:
603 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
604 |
605 | color-string@1.9.1:
606 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
607 |
608 | color@4.2.3:
609 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
610 | engines: {node: '>=12.5.0'}
611 |
612 | comma-separated-tokens@2.0.3:
613 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
614 |
615 | common-ancestor-path@1.0.1:
616 | resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
617 |
618 | cookie-es@1.2.2:
619 | resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
620 |
621 | cookie@1.0.2:
622 | resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
623 | engines: {node: '>=18'}
624 |
625 | crossws@0.3.4:
626 | resolution: {integrity: sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==}
627 |
628 | cssesc@3.0.0:
629 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
630 | engines: {node: '>=4'}
631 | hasBin: true
632 |
633 | debug@4.3.6:
634 | resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
635 | engines: {node: '>=6.0'}
636 | peerDependencies:
637 | supports-color: '*'
638 | peerDependenciesMeta:
639 | supports-color:
640 | optional: true
641 |
642 | debug@4.4.0:
643 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
644 | engines: {node: '>=6.0'}
645 | peerDependencies:
646 | supports-color: '*'
647 | peerDependenciesMeta:
648 | supports-color:
649 | optional: true
650 |
651 | decode-named-character-reference@1.0.2:
652 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
653 |
654 | defu@6.1.4:
655 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
656 |
657 | depd@2.0.0:
658 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
659 | engines: {node: '>= 0.8'}
660 |
661 | dequal@2.0.3:
662 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
663 | engines: {node: '>=6'}
664 |
665 | destr@2.0.3:
666 | resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
667 |
668 | destroy@1.2.0:
669 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
670 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
671 |
672 | detect-libc@2.0.3:
673 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
674 | engines: {node: '>=8'}
675 |
676 | deterministic-object-hash@2.0.2:
677 | resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
678 | engines: {node: '>=18'}
679 |
680 | devalue@5.1.1:
681 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
682 |
683 | devlop@1.1.0:
684 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
685 |
686 | diff@5.2.0:
687 | resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
688 | engines: {node: '>=0.3.1'}
689 |
690 | dlv@1.1.3:
691 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
692 |
693 | dset@3.1.4:
694 | resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
695 | engines: {node: '>=4'}
696 |
697 | ee-first@1.1.1:
698 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
699 |
700 | emoji-regex-xs@1.0.0:
701 | resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
702 |
703 | emoji-regex@10.4.0:
704 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
705 |
706 | emoji-regex@8.0.0:
707 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
708 |
709 | encodeurl@2.0.0:
710 | resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
711 | engines: {node: '>= 0.8'}
712 |
713 | entities@4.5.0:
714 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
715 | engines: {node: '>=0.12'}
716 |
717 | es-module-lexer@1.6.0:
718 | resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
719 |
720 | esbuild@0.25.1:
721 | resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
722 | engines: {node: '>=18'}
723 | hasBin: true
724 |
725 | escape-html@1.0.3:
726 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
727 |
728 | escape-string-regexp@5.0.0:
729 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
730 | engines: {node: '>=12'}
731 |
732 | estree-walker@2.0.2:
733 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
734 |
735 | estree-walker@3.0.3:
736 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
737 |
738 | etag@1.8.1:
739 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
740 | engines: {node: '>= 0.6'}
741 |
742 | eventemitter3@5.0.1:
743 | resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
744 |
745 | extend@3.0.2:
746 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
747 |
748 | fdir@6.4.3:
749 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
750 | peerDependencies:
751 | picomatch: ^3 || ^4
752 | peerDependenciesMeta:
753 | picomatch:
754 | optional: true
755 |
756 | flattie@1.1.1:
757 | resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
758 | engines: {node: '>=8'}
759 |
760 | fresh@0.5.2:
761 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
762 | engines: {node: '>= 0.6'}
763 |
764 | fsevents@2.3.3:
765 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
766 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
767 | os: [darwin]
768 |
769 | get-east-asian-width@1.2.0:
770 | resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
771 | engines: {node: '>=18'}
772 |
773 | github-slugger@2.0.0:
774 | resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
775 |
776 | h3@1.15.1:
777 | resolution: {integrity: sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA==}
778 |
779 | hast-util-from-html@2.0.2:
780 | resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==}
781 |
782 | hast-util-from-html@2.0.3:
783 | resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
784 |
785 | hast-util-from-parse5@8.0.1:
786 | resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==}
787 |
788 | hast-util-is-element@3.0.0:
789 | resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
790 |
791 | hast-util-parse-selector@4.0.0:
792 | resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
793 |
794 | hast-util-raw@9.0.4:
795 | resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==}
796 |
797 | hast-util-to-html@9.0.2:
798 | resolution: {integrity: sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==}
799 |
800 | hast-util-to-html@9.0.5:
801 | resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
802 |
803 | hast-util-to-parse5@8.0.0:
804 | resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
805 |
806 | hast-util-to-text@4.0.2:
807 | resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
808 |
809 | hast-util-whitespace@3.0.0:
810 | resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
811 |
812 | hastscript@8.0.0:
813 | resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
814 |
815 | html-escaper@3.0.3:
816 | resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
817 |
818 | html-void-elements@3.0.0:
819 | resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
820 |
821 | http-cache-semantics@4.1.1:
822 | resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
823 |
824 | http-errors@2.0.0:
825 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
826 | engines: {node: '>= 0.8'}
827 |
828 | import-meta-resolve@4.1.0:
829 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
830 |
831 | inherits@2.0.4:
832 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
833 |
834 | iron-webcrypto@1.2.1:
835 | resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
836 |
837 | is-arrayish@0.3.2:
838 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
839 |
840 | is-docker@3.0.0:
841 | resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
842 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
843 | hasBin: true
844 |
845 | is-fullwidth-code-point@3.0.0:
846 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
847 | engines: {node: '>=8'}
848 |
849 | is-inside-container@1.0.0:
850 | resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
851 | engines: {node: '>=14.16'}
852 | hasBin: true
853 |
854 | is-plain-obj@4.1.0:
855 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
856 | engines: {node: '>=12'}
857 |
858 | is-wsl@3.1.0:
859 | resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
860 | engines: {node: '>=16'}
861 |
862 | js-yaml@4.1.0:
863 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
864 | hasBin: true
865 |
866 | kleur@3.0.3:
867 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
868 | engines: {node: '>=6'}
869 |
870 | kleur@4.1.5:
871 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
872 | engines: {node: '>=6'}
873 |
874 | longest-streak@3.1.0:
875 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
876 |
877 | lru-cache@10.4.3:
878 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
879 |
880 | magic-string@0.30.17:
881 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
882 |
883 | magicast@0.3.5:
884 | resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
885 |
886 | markdown-table@3.0.3:
887 | resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
888 |
889 | mdast-util-definitions@6.0.0:
890 | resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
891 |
892 | mdast-util-find-and-replace@3.0.1:
893 | resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
894 |
895 | mdast-util-from-markdown@2.0.1:
896 | resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
897 |
898 | mdast-util-gfm-autolink-literal@2.0.1:
899 | resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
900 |
901 | mdast-util-gfm-footnote@2.0.0:
902 | resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
903 |
904 | mdast-util-gfm-strikethrough@2.0.0:
905 | resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
906 |
907 | mdast-util-gfm-table@2.0.0:
908 | resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
909 |
910 | mdast-util-gfm-task-list-item@2.0.0:
911 | resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
912 |
913 | mdast-util-gfm@3.0.0:
914 | resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
915 |
916 | mdast-util-phrasing@4.1.0:
917 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
918 |
919 | mdast-util-to-hast@13.2.0:
920 | resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
921 |
922 | mdast-util-to-markdown@2.1.0:
923 | resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
924 |
925 | mdast-util-to-string@4.0.0:
926 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
927 |
928 | micromark-core-commonmark@2.0.1:
929 | resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
930 |
931 | micromark-extension-gfm-autolink-literal@2.1.0:
932 | resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
933 |
934 | micromark-extension-gfm-footnote@2.1.0:
935 | resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
936 |
937 | micromark-extension-gfm-strikethrough@2.1.0:
938 | resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
939 |
940 | micromark-extension-gfm-table@2.1.0:
941 | resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==}
942 |
943 | micromark-extension-gfm-tagfilter@2.0.0:
944 | resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
945 |
946 | micromark-extension-gfm-task-list-item@2.1.0:
947 | resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
948 |
949 | micromark-extension-gfm@3.0.0:
950 | resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
951 |
952 | micromark-factory-destination@2.0.0:
953 | resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
954 |
955 | micromark-factory-label@2.0.0:
956 | resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
957 |
958 | micromark-factory-space@2.0.0:
959 | resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
960 |
961 | micromark-factory-title@2.0.0:
962 | resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
963 |
964 | micromark-factory-whitespace@2.0.0:
965 | resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
966 |
967 | micromark-util-character@2.1.0:
968 | resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
969 |
970 | micromark-util-chunked@2.0.0:
971 | resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
972 |
973 | micromark-util-classify-character@2.0.0:
974 | resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
975 |
976 | micromark-util-combine-extensions@2.0.0:
977 | resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
978 |
979 | micromark-util-decode-numeric-character-reference@2.0.1:
980 | resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
981 |
982 | micromark-util-decode-string@2.0.0:
983 | resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
984 |
985 | micromark-util-encode@2.0.0:
986 | resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
987 |
988 | micromark-util-html-tag-name@2.0.0:
989 | resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
990 |
991 | micromark-util-normalize-identifier@2.0.0:
992 | resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
993 |
994 | micromark-util-resolve-all@2.0.0:
995 | resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
996 |
997 | micromark-util-sanitize-uri@2.0.0:
998 | resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
999 |
1000 | micromark-util-subtokenize@2.0.1:
1001 | resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
1002 |
1003 | micromark-util-symbol@2.0.0:
1004 | resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
1005 |
1006 | micromark-util-types@2.0.0:
1007 | resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
1008 |
1009 | micromark@4.0.0:
1010 | resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
1011 |
1012 | mime-db@1.52.0:
1013 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1014 | engines: {node: '>= 0.6'}
1015 |
1016 | mime-types@2.1.35:
1017 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1018 | engines: {node: '>= 0.6'}
1019 |
1020 | mrmime@2.0.1:
1021 | resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
1022 | engines: {node: '>=10'}
1023 |
1024 | ms@2.1.2:
1025 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1026 |
1027 | ms@2.1.3:
1028 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1029 |
1030 | nanoid@3.3.11:
1031 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1032 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1033 | hasBin: true
1034 |
1035 | neotraverse@0.6.18:
1036 | resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==}
1037 | engines: {node: '>= 10'}
1038 |
1039 | nlcst-to-string@4.0.0:
1040 | resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
1041 |
1042 | node-fetch-native@1.6.6:
1043 | resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
1044 |
1045 | node-mock-http@1.0.0:
1046 | resolution: {integrity: sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==}
1047 |
1048 | normalize-path@3.0.0:
1049 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1050 | engines: {node: '>=0.10.0'}
1051 |
1052 | ofetch@1.4.1:
1053 | resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
1054 |
1055 | on-finished@2.4.1:
1056 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
1057 | engines: {node: '>= 0.8'}
1058 |
1059 | oniguruma-parser@0.5.4:
1060 | resolution: {integrity: sha512-yNxcQ8sKvURiTwP0mV6bLQCYE7NKfKRRWunhbZnXgxSmB1OXa1lHrN3o4DZd+0Si0kU5blidK7BcROO8qv5TZA==}
1061 |
1062 | oniguruma-to-es@4.1.0:
1063 | resolution: {integrity: sha512-SNwG909cSLo4vPyyPbU/VJkEc9WOXqu2ycBlfd1UCXLqk1IijcQktSBb2yRQ2UFPsDhpkaf+C1dtT3PkLK/yWA==}
1064 |
1065 | p-limit@6.2.0:
1066 | resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
1067 | engines: {node: '>=18'}
1068 |
1069 | p-queue@8.1.0:
1070 | resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==}
1071 | engines: {node: '>=18'}
1072 |
1073 | p-timeout@6.1.2:
1074 | resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==}
1075 | engines: {node: '>=14.16'}
1076 |
1077 | package-manager-detector@1.1.0:
1078 | resolution: {integrity: sha512-Y8f9qUlBzW8qauJjd/eu6jlpJZsuPJm2ZAV0cDVd420o4EdpH5RPdoCv+60/TdJflGatr4sDfpAL6ArWZbM5tA==}
1079 |
1080 | parse-latin@7.0.0:
1081 | resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
1082 |
1083 | parse5@7.1.2:
1084 | resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
1085 |
1086 | picocolors@1.1.1:
1087 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1088 |
1089 | picomatch@2.3.1:
1090 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1091 | engines: {node: '>=8.6'}
1092 |
1093 | picomatch@4.0.2:
1094 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1095 | engines: {node: '>=12'}
1096 |
1097 | postcss@8.5.3:
1098 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
1099 | engines: {node: ^10 || ^12 || >=14}
1100 |
1101 | prismjs@1.29.0:
1102 | resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
1103 | engines: {node: '>=6'}
1104 |
1105 | prompts@2.4.2:
1106 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
1107 | engines: {node: '>= 6'}
1108 |
1109 | property-information@6.5.0:
1110 | resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
1111 |
1112 | property-information@7.0.0:
1113 | resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
1114 |
1115 | radix3@1.1.2:
1116 | resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
1117 |
1118 | range-parser@1.2.1:
1119 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
1120 | engines: {node: '>= 0.6'}
1121 |
1122 | readdirp@4.1.2:
1123 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
1124 | engines: {node: '>= 14.18.0'}
1125 |
1126 | regex-recursion@6.0.2:
1127 | resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
1128 |
1129 | regex-utilities@2.3.0:
1130 | resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
1131 |
1132 | regex@6.0.1:
1133 | resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
1134 |
1135 | rehype-parse@9.0.0:
1136 | resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==}
1137 |
1138 | rehype-raw@7.0.0:
1139 | resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
1140 |
1141 | rehype-stringify@10.0.0:
1142 | resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==}
1143 |
1144 | rehype-stringify@10.0.1:
1145 | resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
1146 |
1147 | rehype@13.0.2:
1148 | resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==}
1149 |
1150 | remark-gfm@4.0.1:
1151 | resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
1152 |
1153 | remark-parse@11.0.0:
1154 | resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
1155 |
1156 | remark-rehype@11.1.1:
1157 | resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
1158 |
1159 | remark-smartypants@3.0.2:
1160 | resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
1161 | engines: {node: '>=16.0.0'}
1162 |
1163 | remark-stringify@11.0.0:
1164 | resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
1165 |
1166 | retext-latin@4.0.0:
1167 | resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
1168 |
1169 | retext-smartypants@6.1.1:
1170 | resolution: {integrity: sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==}
1171 |
1172 | retext-stringify@4.0.0:
1173 | resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
1174 |
1175 | retext@9.0.0:
1176 | resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
1177 |
1178 | rollup@4.36.0:
1179 | resolution: {integrity: sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==}
1180 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1181 | hasBin: true
1182 |
1183 | semver@7.7.1:
1184 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1185 | engines: {node: '>=10'}
1186 | hasBin: true
1187 |
1188 | send@1.1.0:
1189 | resolution: {integrity: sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA==}
1190 | engines: {node: '>= 18'}
1191 |
1192 | server-destroy@1.0.1:
1193 | resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==}
1194 |
1195 | setprototypeof@1.2.0:
1196 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
1197 |
1198 | sharp@0.33.5:
1199 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
1200 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1201 |
1202 | shiki@3.2.1:
1203 | resolution: {integrity: sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ==}
1204 |
1205 | simple-swizzle@0.2.2:
1206 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1207 |
1208 | sisteransi@1.0.5:
1209 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
1210 |
1211 | smol-toml@1.3.1:
1212 | resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==}
1213 | engines: {node: '>= 18'}
1214 |
1215 | source-map-js@1.2.0:
1216 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
1217 | engines: {node: '>=0.10.0'}
1218 |
1219 | source-map-js@1.2.1:
1220 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1221 | engines: {node: '>=0.10.0'}
1222 |
1223 | space-separated-tokens@2.0.2:
1224 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
1225 |
1226 | statuses@2.0.1:
1227 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
1228 | engines: {node: '>= 0.8'}
1229 |
1230 | string-width@4.2.3:
1231 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1232 | engines: {node: '>=8'}
1233 |
1234 | string-width@7.2.0:
1235 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
1236 | engines: {node: '>=18'}
1237 |
1238 | stringify-entities@4.0.4:
1239 | resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
1240 |
1241 | strip-ansi@6.0.1:
1242 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1243 | engines: {node: '>=8'}
1244 |
1245 | strip-ansi@7.1.0:
1246 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1247 | engines: {node: '>=12'}
1248 |
1249 | tinyexec@0.3.2:
1250 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
1251 |
1252 | tinyglobby@0.2.12:
1253 | resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==}
1254 | engines: {node: '>=12.0.0'}
1255 |
1256 | to-fast-properties@2.0.0:
1257 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1258 | engines: {node: '>=4'}
1259 |
1260 | toidentifier@1.0.1:
1261 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
1262 | engines: {node: '>=0.6'}
1263 |
1264 | tr46@0.0.3:
1265 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1266 |
1267 | trim-lines@3.0.1:
1268 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
1269 |
1270 | trough@2.2.0:
1271 | resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
1272 |
1273 | tsconfck@3.1.5:
1274 | resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==}
1275 | engines: {node: ^18 || >=20}
1276 | hasBin: true
1277 | peerDependencies:
1278 | typescript: ^5.0.0
1279 | peerDependenciesMeta:
1280 | typescript:
1281 | optional: true
1282 |
1283 | tslib@2.7.0:
1284 | resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
1285 |
1286 | type-fest@4.37.0:
1287 | resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==}
1288 | engines: {node: '>=16'}
1289 |
1290 | typescript@5.5.4:
1291 | resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
1292 | engines: {node: '>=14.17'}
1293 | hasBin: true
1294 |
1295 | ufo@1.5.4:
1296 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
1297 |
1298 | ultrahtml@1.5.3:
1299 | resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==}
1300 |
1301 | uncrypto@0.1.3:
1302 | resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
1303 |
1304 | undici-types@6.19.8:
1305 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
1306 |
1307 | unified@11.0.5:
1308 | resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
1309 |
1310 | unist-util-find-after@5.0.0:
1311 | resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
1312 |
1313 | unist-util-is@6.0.0:
1314 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
1315 |
1316 | unist-util-modify-children@4.0.0:
1317 | resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
1318 |
1319 | unist-util-position@5.0.0:
1320 | resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
1321 |
1322 | unist-util-remove-position@5.0.0:
1323 | resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
1324 |
1325 | unist-util-stringify-position@4.0.0:
1326 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
1327 |
1328 | unist-util-visit-children@3.0.0:
1329 | resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
1330 |
1331 | unist-util-visit-parents@6.0.1:
1332 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
1333 |
1334 | unist-util-visit@5.0.0:
1335 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
1336 |
1337 | unstorage@1.15.0:
1338 | resolution: {integrity: sha512-m40eHdGY/gA6xAPqo8eaxqXgBuzQTlAKfmB1iF7oCKXE1HfwHwzDJBywK+qQGn52dta+bPlZluPF7++yR3p/bg==}
1339 | peerDependencies:
1340 | '@azure/app-configuration': ^1.8.0
1341 | '@azure/cosmos': ^4.2.0
1342 | '@azure/data-tables': ^13.3.0
1343 | '@azure/identity': ^4.6.0
1344 | '@azure/keyvault-secrets': ^4.9.0
1345 | '@azure/storage-blob': ^12.26.0
1346 | '@capacitor/preferences': ^6.0.3
1347 | '@deno/kv': '>=0.9.0'
1348 | '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0
1349 | '@planetscale/database': ^1.19.0
1350 | '@upstash/redis': ^1.34.3
1351 | '@vercel/blob': '>=0.27.1'
1352 | '@vercel/kv': ^1.0.1
1353 | aws4fetch: ^1.0.20
1354 | db0: '>=0.2.1'
1355 | idb-keyval: ^6.2.1
1356 | ioredis: ^5.4.2
1357 | uploadthing: ^7.4.4
1358 | peerDependenciesMeta:
1359 | '@azure/app-configuration':
1360 | optional: true
1361 | '@azure/cosmos':
1362 | optional: true
1363 | '@azure/data-tables':
1364 | optional: true
1365 | '@azure/identity':
1366 | optional: true
1367 | '@azure/keyvault-secrets':
1368 | optional: true
1369 | '@azure/storage-blob':
1370 | optional: true
1371 | '@capacitor/preferences':
1372 | optional: true
1373 | '@deno/kv':
1374 | optional: true
1375 | '@netlify/blobs':
1376 | optional: true
1377 | '@planetscale/database':
1378 | optional: true
1379 | '@upstash/redis':
1380 | optional: true
1381 | '@vercel/blob':
1382 | optional: true
1383 | '@vercel/kv':
1384 | optional: true
1385 | aws4fetch:
1386 | optional: true
1387 | db0:
1388 | optional: true
1389 | idb-keyval:
1390 | optional: true
1391 | ioredis:
1392 | optional: true
1393 | uploadthing:
1394 | optional: true
1395 |
1396 | vfile-location@5.0.3:
1397 | resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
1398 |
1399 | vfile-message@4.0.2:
1400 | resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
1401 |
1402 | vfile@6.0.3:
1403 | resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
1404 |
1405 | vite@6.2.2:
1406 | resolution: {integrity: sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==}
1407 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1408 | hasBin: true
1409 | peerDependencies:
1410 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
1411 | jiti: '>=1.21.0'
1412 | less: '*'
1413 | lightningcss: ^1.21.0
1414 | sass: '*'
1415 | sass-embedded: '*'
1416 | stylus: '*'
1417 | sugarss: '*'
1418 | terser: ^5.16.0
1419 | tsx: ^4.8.1
1420 | yaml: ^2.4.2
1421 | peerDependenciesMeta:
1422 | '@types/node':
1423 | optional: true
1424 | jiti:
1425 | optional: true
1426 | less:
1427 | optional: true
1428 | lightningcss:
1429 | optional: true
1430 | sass:
1431 | optional: true
1432 | sass-embedded:
1433 | optional: true
1434 | stylus:
1435 | optional: true
1436 | sugarss:
1437 | optional: true
1438 | terser:
1439 | optional: true
1440 | tsx:
1441 | optional: true
1442 | yaml:
1443 | optional: true
1444 |
1445 | vitefu@1.0.6:
1446 | resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==}
1447 | peerDependencies:
1448 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
1449 | peerDependenciesMeta:
1450 | vite:
1451 | optional: true
1452 |
1453 | web-namespaces@2.0.1:
1454 | resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
1455 |
1456 | webidl-conversions@3.0.1:
1457 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1458 |
1459 | whatwg-url@5.0.0:
1460 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1461 |
1462 | which-pm-runs@1.1.0:
1463 | resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
1464 | engines: {node: '>=4'}
1465 |
1466 | widest-line@5.0.0:
1467 | resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
1468 | engines: {node: '>=18'}
1469 |
1470 | wrap-ansi@9.0.0:
1471 | resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
1472 | engines: {node: '>=18'}
1473 |
1474 | ws@8.18.0:
1475 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
1476 | engines: {node: '>=10.0.0'}
1477 | peerDependencies:
1478 | bufferutil: ^4.0.1
1479 | utf-8-validate: '>=5.0.2'
1480 | peerDependenciesMeta:
1481 | bufferutil:
1482 | optional: true
1483 | utf-8-validate:
1484 | optional: true
1485 |
1486 | xxhash-wasm@1.1.0:
1487 | resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
1488 |
1489 | yargs-parser@21.1.1:
1490 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
1491 | engines: {node: '>=12'}
1492 |
1493 | yocto-queue@1.1.1:
1494 | resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
1495 | engines: {node: '>=12.20'}
1496 |
1497 | yocto-spinner@0.2.1:
1498 | resolution: {integrity: sha512-lHHxjh0bXaLgdJy3cNnVb/F9myx3CkhrvSOEVTkaUgNMXnYFa2xYPVhtGnqhh3jErY2gParBOHallCbc7NrlZQ==}
1499 | engines: {node: '>=18.19'}
1500 |
1501 | yoctocolors@2.1.1:
1502 | resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
1503 | engines: {node: '>=18'}
1504 |
1505 | zod-to-json-schema@3.24.5:
1506 | resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==}
1507 | peerDependencies:
1508 | zod: ^3.24.1
1509 |
1510 | zod-to-ts@1.2.0:
1511 | resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==}
1512 | peerDependencies:
1513 | typescript: ^4.9.4 || ^5.0.2
1514 | zod: ^3
1515 |
1516 | zod@3.24.2:
1517 | resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
1518 |
1519 | zwitch@2.0.4:
1520 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
1521 |
1522 | snapshots:
1523 |
1524 | '@astrojs/compiler@2.11.0': {}
1525 |
1526 | '@astrojs/internal-helpers@0.6.1': {}
1527 |
1528 | '@astrojs/markdown-remark@6.3.1':
1529 | dependencies:
1530 | '@astrojs/internal-helpers': 0.6.1
1531 | '@astrojs/prism': 3.2.0
1532 | github-slugger: 2.0.0
1533 | hast-util-from-html: 2.0.3
1534 | hast-util-to-text: 4.0.2
1535 | import-meta-resolve: 4.1.0
1536 | js-yaml: 4.1.0
1537 | mdast-util-definitions: 6.0.0
1538 | rehype-raw: 7.0.0
1539 | rehype-stringify: 10.0.1
1540 | remark-gfm: 4.0.1
1541 | remark-parse: 11.0.0
1542 | remark-rehype: 11.1.1
1543 | remark-smartypants: 3.0.2
1544 | shiki: 3.2.1
1545 | smol-toml: 1.3.1
1546 | unified: 11.0.5
1547 | unist-util-remove-position: 5.0.0
1548 | unist-util-visit: 5.0.0
1549 | unist-util-visit-parents: 6.0.1
1550 | vfile: 6.0.3
1551 | transitivePeerDependencies:
1552 | - supports-color
1553 |
1554 | '@astrojs/node@9.1.3(astro@5.5.4(@types/node@22.5.2)(rollup@4.36.0)(typescript@5.5.4))':
1555 | dependencies:
1556 | '@astrojs/internal-helpers': 0.6.1
1557 | astro: 5.5.4(@types/node@22.5.2)(rollup@4.36.0)(typescript@5.5.4)
1558 | send: 1.1.0
1559 | server-destroy: 1.0.1
1560 | transitivePeerDependencies:
1561 | - supports-color
1562 |
1563 | '@astrojs/prism@3.2.0':
1564 | dependencies:
1565 | prismjs: 1.29.0
1566 |
1567 | '@astrojs/telemetry@3.2.0':
1568 | dependencies:
1569 | ci-info: 4.2.0
1570 | debug: 4.4.0
1571 | dlv: 1.1.3
1572 | dset: 3.1.4
1573 | is-docker: 3.0.0
1574 | is-wsl: 3.1.0
1575 | which-pm-runs: 1.1.0
1576 | transitivePeerDependencies:
1577 | - supports-color
1578 |
1579 | '@babel/helper-string-parser@7.24.8': {}
1580 |
1581 | '@babel/helper-validator-identifier@7.24.7': {}
1582 |
1583 | '@babel/parser@7.25.6':
1584 | dependencies:
1585 | '@babel/types': 7.25.6
1586 |
1587 | '@babel/types@7.25.6':
1588 | dependencies:
1589 | '@babel/helper-string-parser': 7.24.8
1590 | '@babel/helper-validator-identifier': 7.24.7
1591 | to-fast-properties: 2.0.0
1592 |
1593 | '@emnapi/runtime@1.2.0':
1594 | dependencies:
1595 | tslib: 2.7.0
1596 | optional: true
1597 |
1598 | '@esbuild/aix-ppc64@0.25.1':
1599 | optional: true
1600 |
1601 | '@esbuild/android-arm64@0.25.1':
1602 | optional: true
1603 |
1604 | '@esbuild/android-arm@0.25.1':
1605 | optional: true
1606 |
1607 | '@esbuild/android-x64@0.25.1':
1608 | optional: true
1609 |
1610 | '@esbuild/darwin-arm64@0.25.1':
1611 | optional: true
1612 |
1613 | '@esbuild/darwin-x64@0.25.1':
1614 | optional: true
1615 |
1616 | '@esbuild/freebsd-arm64@0.25.1':
1617 | optional: true
1618 |
1619 | '@esbuild/freebsd-x64@0.25.1':
1620 | optional: true
1621 |
1622 | '@esbuild/linux-arm64@0.25.1':
1623 | optional: true
1624 |
1625 | '@esbuild/linux-arm@0.25.1':
1626 | optional: true
1627 |
1628 | '@esbuild/linux-ia32@0.25.1':
1629 | optional: true
1630 |
1631 | '@esbuild/linux-loong64@0.25.1':
1632 | optional: true
1633 |
1634 | '@esbuild/linux-mips64el@0.25.1':
1635 | optional: true
1636 |
1637 | '@esbuild/linux-ppc64@0.25.1':
1638 | optional: true
1639 |
1640 | '@esbuild/linux-riscv64@0.25.1':
1641 | optional: true
1642 |
1643 | '@esbuild/linux-s390x@0.25.1':
1644 | optional: true
1645 |
1646 | '@esbuild/linux-x64@0.25.1':
1647 | optional: true
1648 |
1649 | '@esbuild/netbsd-arm64@0.25.1':
1650 | optional: true
1651 |
1652 | '@esbuild/netbsd-x64@0.25.1':
1653 | optional: true
1654 |
1655 | '@esbuild/openbsd-arm64@0.25.1':
1656 | optional: true
1657 |
1658 | '@esbuild/openbsd-x64@0.25.1':
1659 | optional: true
1660 |
1661 | '@esbuild/sunos-x64@0.25.1':
1662 | optional: true
1663 |
1664 | '@esbuild/win32-arm64@0.25.1':
1665 | optional: true
1666 |
1667 | '@esbuild/win32-ia32@0.25.1':
1668 | optional: true
1669 |
1670 | '@esbuild/win32-x64@0.25.1':
1671 | optional: true
1672 |
1673 | '@img/sharp-darwin-arm64@0.33.5':
1674 | optionalDependencies:
1675 | '@img/sharp-libvips-darwin-arm64': 1.0.4
1676 | optional: true
1677 |
1678 | '@img/sharp-darwin-x64@0.33.5':
1679 | optionalDependencies:
1680 | '@img/sharp-libvips-darwin-x64': 1.0.4
1681 | optional: true
1682 |
1683 | '@img/sharp-libvips-darwin-arm64@1.0.4':
1684 | optional: true
1685 |
1686 | '@img/sharp-libvips-darwin-x64@1.0.4':
1687 | optional: true
1688 |
1689 | '@img/sharp-libvips-linux-arm64@1.0.4':
1690 | optional: true
1691 |
1692 | '@img/sharp-libvips-linux-arm@1.0.5':
1693 | optional: true
1694 |
1695 | '@img/sharp-libvips-linux-s390x@1.0.4':
1696 | optional: true
1697 |
1698 | '@img/sharp-libvips-linux-x64@1.0.4':
1699 | optional: true
1700 |
1701 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
1702 | optional: true
1703 |
1704 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
1705 | optional: true
1706 |
1707 | '@img/sharp-linux-arm64@0.33.5':
1708 | optionalDependencies:
1709 | '@img/sharp-libvips-linux-arm64': 1.0.4
1710 | optional: true
1711 |
1712 | '@img/sharp-linux-arm@0.33.5':
1713 | optionalDependencies:
1714 | '@img/sharp-libvips-linux-arm': 1.0.5
1715 | optional: true
1716 |
1717 | '@img/sharp-linux-s390x@0.33.5':
1718 | optionalDependencies:
1719 | '@img/sharp-libvips-linux-s390x': 1.0.4
1720 | optional: true
1721 |
1722 | '@img/sharp-linux-x64@0.33.5':
1723 | optionalDependencies:
1724 | '@img/sharp-libvips-linux-x64': 1.0.4
1725 | optional: true
1726 |
1727 | '@img/sharp-linuxmusl-arm64@0.33.5':
1728 | optionalDependencies:
1729 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
1730 | optional: true
1731 |
1732 | '@img/sharp-linuxmusl-x64@0.33.5':
1733 | optionalDependencies:
1734 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
1735 | optional: true
1736 |
1737 | '@img/sharp-wasm32@0.33.5':
1738 | dependencies:
1739 | '@emnapi/runtime': 1.2.0
1740 | optional: true
1741 |
1742 | '@img/sharp-win32-ia32@0.33.5':
1743 | optional: true
1744 |
1745 | '@img/sharp-win32-x64@0.33.5':
1746 | optional: true
1747 |
1748 | '@jridgewell/sourcemap-codec@1.5.0': {}
1749 |
1750 | '@oslojs/encoding@1.1.0': {}
1751 |
1752 | '@rollup/pluginutils@5.1.4(rollup@4.36.0)':
1753 | dependencies:
1754 | '@types/estree': 1.0.5
1755 | estree-walker: 2.0.2
1756 | picomatch: 4.0.2
1757 | optionalDependencies:
1758 | rollup: 4.36.0
1759 |
1760 | '@rollup/rollup-android-arm-eabi@4.36.0':
1761 | optional: true
1762 |
1763 | '@rollup/rollup-android-arm64@4.36.0':
1764 | optional: true
1765 |
1766 | '@rollup/rollup-darwin-arm64@4.36.0':
1767 | optional: true
1768 |
1769 | '@rollup/rollup-darwin-x64@4.36.0':
1770 | optional: true
1771 |
1772 | '@rollup/rollup-freebsd-arm64@4.36.0':
1773 | optional: true
1774 |
1775 | '@rollup/rollup-freebsd-x64@4.36.0':
1776 | optional: true
1777 |
1778 | '@rollup/rollup-linux-arm-gnueabihf@4.36.0':
1779 | optional: true
1780 |
1781 | '@rollup/rollup-linux-arm-musleabihf@4.36.0':
1782 | optional: true
1783 |
1784 | '@rollup/rollup-linux-arm64-gnu@4.36.0':
1785 | optional: true
1786 |
1787 | '@rollup/rollup-linux-arm64-musl@4.36.0':
1788 | optional: true
1789 |
1790 | '@rollup/rollup-linux-loongarch64-gnu@4.36.0':
1791 | optional: true
1792 |
1793 | '@rollup/rollup-linux-powerpc64le-gnu@4.36.0':
1794 | optional: true
1795 |
1796 | '@rollup/rollup-linux-riscv64-gnu@4.36.0':
1797 | optional: true
1798 |
1799 | '@rollup/rollup-linux-s390x-gnu@4.36.0':
1800 | optional: true
1801 |
1802 | '@rollup/rollup-linux-x64-gnu@4.36.0':
1803 | optional: true
1804 |
1805 | '@rollup/rollup-linux-x64-musl@4.36.0':
1806 | optional: true
1807 |
1808 | '@rollup/rollup-win32-arm64-msvc@4.36.0':
1809 | optional: true
1810 |
1811 | '@rollup/rollup-win32-ia32-msvc@4.36.0':
1812 | optional: true
1813 |
1814 | '@rollup/rollup-win32-x64-msvc@4.36.0':
1815 | optional: true
1816 |
1817 | '@shikijs/core@3.2.1':
1818 | dependencies:
1819 | '@shikijs/types': 3.2.1
1820 | '@shikijs/vscode-textmate': 10.0.2
1821 | '@types/hast': 3.0.4
1822 | hast-util-to-html: 9.0.5
1823 |
1824 | '@shikijs/engine-javascript@3.2.1':
1825 | dependencies:
1826 | '@shikijs/types': 3.2.1
1827 | '@shikijs/vscode-textmate': 10.0.2
1828 | oniguruma-to-es: 4.1.0
1829 |
1830 | '@shikijs/engine-oniguruma@3.2.1':
1831 | dependencies:
1832 | '@shikijs/types': 3.2.1
1833 | '@shikijs/vscode-textmate': 10.0.2
1834 |
1835 | '@shikijs/langs@3.2.1':
1836 | dependencies:
1837 | '@shikijs/types': 3.2.1
1838 |
1839 | '@shikijs/themes@3.2.1':
1840 | dependencies:
1841 | '@shikijs/types': 3.2.1
1842 |
1843 | '@shikijs/types@3.2.1':
1844 | dependencies:
1845 | '@shikijs/vscode-textmate': 10.0.2
1846 | '@types/hast': 3.0.4
1847 |
1848 | '@shikijs/vscode-textmate@10.0.2': {}
1849 |
1850 | '@supabase/auth-js@2.65.0':
1851 | dependencies:
1852 | '@supabase/node-fetch': 2.6.15
1853 |
1854 | '@supabase/functions-js@2.4.1':
1855 | dependencies:
1856 | '@supabase/node-fetch': 2.6.15
1857 |
1858 | '@supabase/node-fetch@2.6.15':
1859 | dependencies:
1860 | whatwg-url: 5.0.0
1861 |
1862 | '@supabase/postgrest-js@1.15.8':
1863 | dependencies:
1864 | '@supabase/node-fetch': 2.6.15
1865 |
1866 | '@supabase/realtime-js@2.10.2':
1867 | dependencies:
1868 | '@supabase/node-fetch': 2.6.15
1869 | '@types/phoenix': 1.6.5
1870 | '@types/ws': 8.5.12
1871 | ws: 8.18.0
1872 | transitivePeerDependencies:
1873 | - bufferutil
1874 | - utf-8-validate
1875 |
1876 | '@supabase/storage-js@2.7.0':
1877 | dependencies:
1878 | '@supabase/node-fetch': 2.6.15
1879 |
1880 | '@supabase/supabase-js@2.45.3':
1881 | dependencies:
1882 | '@supabase/auth-js': 2.65.0
1883 | '@supabase/functions-js': 2.4.1
1884 | '@supabase/node-fetch': 2.6.15
1885 | '@supabase/postgrest-js': 1.15.8
1886 | '@supabase/realtime-js': 2.10.2
1887 | '@supabase/storage-js': 2.7.0
1888 | transitivePeerDependencies:
1889 | - bufferutil
1890 | - utf-8-validate
1891 |
1892 | '@types/debug@4.1.12':
1893 | dependencies:
1894 | '@types/ms': 0.7.34
1895 |
1896 | '@types/estree@1.0.5': {}
1897 |
1898 | '@types/estree@1.0.6': {}
1899 |
1900 | '@types/hast@3.0.4':
1901 | dependencies:
1902 | '@types/unist': 3.0.3
1903 |
1904 | '@types/mdast@4.0.4':
1905 | dependencies:
1906 | '@types/unist': 3.0.3
1907 |
1908 | '@types/ms@0.7.34': {}
1909 |
1910 | '@types/nlcst@2.0.3':
1911 | dependencies:
1912 | '@types/unist': 3.0.3
1913 |
1914 | '@types/node@22.5.2':
1915 | dependencies:
1916 | undici-types: 6.19.8
1917 |
1918 | '@types/phoenix@1.6.5': {}
1919 |
1920 | '@types/unist@3.0.3': {}
1921 |
1922 | '@types/ws@8.5.12':
1923 | dependencies:
1924 | '@types/node': 22.5.2
1925 |
1926 | '@ungap/structured-clone@1.2.0': {}
1927 |
1928 | acorn@8.14.1: {}
1929 |
1930 | ansi-align@3.0.1:
1931 | dependencies:
1932 | string-width: 4.2.3
1933 |
1934 | ansi-regex@5.0.1: {}
1935 |
1936 | ansi-regex@6.0.1: {}
1937 |
1938 | ansi-styles@6.2.1: {}
1939 |
1940 | anymatch@3.1.3:
1941 | dependencies:
1942 | normalize-path: 3.0.0
1943 | picomatch: 2.3.1
1944 |
1945 | argparse@2.0.1: {}
1946 |
1947 | aria-query@5.3.2: {}
1948 |
1949 | array-iterate@2.0.1: {}
1950 |
1951 | astro@5.5.4(@types/node@22.5.2)(rollup@4.36.0)(typescript@5.5.4):
1952 | dependencies:
1953 | '@astrojs/compiler': 2.11.0
1954 | '@astrojs/internal-helpers': 0.6.1
1955 | '@astrojs/markdown-remark': 6.3.1
1956 | '@astrojs/telemetry': 3.2.0
1957 | '@oslojs/encoding': 1.1.0
1958 | '@rollup/pluginutils': 5.1.4(rollup@4.36.0)
1959 | acorn: 8.14.1
1960 | aria-query: 5.3.2
1961 | axobject-query: 4.1.0
1962 | boxen: 8.0.1
1963 | ci-info: 4.2.0
1964 | clsx: 2.1.1
1965 | common-ancestor-path: 1.0.1
1966 | cookie: 1.0.2
1967 | cssesc: 3.0.0
1968 | debug: 4.4.0
1969 | deterministic-object-hash: 2.0.2
1970 | devalue: 5.1.1
1971 | diff: 5.2.0
1972 | dlv: 1.1.3
1973 | dset: 3.1.4
1974 | es-module-lexer: 1.6.0
1975 | esbuild: 0.25.1
1976 | estree-walker: 3.0.3
1977 | flattie: 1.1.1
1978 | github-slugger: 2.0.0
1979 | html-escaper: 3.0.3
1980 | http-cache-semantics: 4.1.1
1981 | js-yaml: 4.1.0
1982 | kleur: 4.1.5
1983 | magic-string: 0.30.17
1984 | magicast: 0.3.5
1985 | mrmime: 2.0.1
1986 | neotraverse: 0.6.18
1987 | p-limit: 6.2.0
1988 | p-queue: 8.1.0
1989 | package-manager-detector: 1.1.0
1990 | picomatch: 4.0.2
1991 | prompts: 2.4.2
1992 | rehype: 13.0.2
1993 | semver: 7.7.1
1994 | shiki: 3.2.1
1995 | tinyexec: 0.3.2
1996 | tinyglobby: 0.2.12
1997 | tsconfck: 3.1.5(typescript@5.5.4)
1998 | ultrahtml: 1.5.3
1999 | unist-util-visit: 5.0.0
2000 | unstorage: 1.15.0
2001 | vfile: 6.0.3
2002 | vite: 6.2.2(@types/node@22.5.2)
2003 | vitefu: 1.0.6(vite@6.2.2(@types/node@22.5.2))
2004 | xxhash-wasm: 1.1.0
2005 | yargs-parser: 21.1.1
2006 | yocto-spinner: 0.2.1
2007 | zod: 3.24.2
2008 | zod-to-json-schema: 3.24.5(zod@3.24.2)
2009 | zod-to-ts: 1.2.0(typescript@5.5.4)(zod@3.24.2)
2010 | optionalDependencies:
2011 | sharp: 0.33.5
2012 | transitivePeerDependencies:
2013 | - '@azure/app-configuration'
2014 | - '@azure/cosmos'
2015 | - '@azure/data-tables'
2016 | - '@azure/identity'
2017 | - '@azure/keyvault-secrets'
2018 | - '@azure/storage-blob'
2019 | - '@capacitor/preferences'
2020 | - '@deno/kv'
2021 | - '@netlify/blobs'
2022 | - '@planetscale/database'
2023 | - '@types/node'
2024 | - '@upstash/redis'
2025 | - '@vercel/blob'
2026 | - '@vercel/kv'
2027 | - aws4fetch
2028 | - db0
2029 | - idb-keyval
2030 | - ioredis
2031 | - jiti
2032 | - less
2033 | - lightningcss
2034 | - rollup
2035 | - sass
2036 | - sass-embedded
2037 | - stylus
2038 | - sugarss
2039 | - supports-color
2040 | - terser
2041 | - tsx
2042 | - typescript
2043 | - uploadthing
2044 | - yaml
2045 |
2046 | axobject-query@4.1.0: {}
2047 |
2048 | bail@2.0.2: {}
2049 |
2050 | base-64@1.0.0: {}
2051 |
2052 | boxen@8.0.1:
2053 | dependencies:
2054 | ansi-align: 3.0.1
2055 | camelcase: 8.0.0
2056 | chalk: 5.3.0
2057 | cli-boxes: 3.0.0
2058 | string-width: 7.2.0
2059 | type-fest: 4.37.0
2060 | widest-line: 5.0.0
2061 | wrap-ansi: 9.0.0
2062 |
2063 | camelcase@8.0.0: {}
2064 |
2065 | ccount@2.0.1: {}
2066 |
2067 | chalk@5.3.0: {}
2068 |
2069 | character-entities-html4@2.1.0: {}
2070 |
2071 | character-entities-legacy@3.0.0: {}
2072 |
2073 | character-entities@2.0.2: {}
2074 |
2075 | chokidar@4.0.3:
2076 | dependencies:
2077 | readdirp: 4.1.2
2078 |
2079 | ci-info@4.2.0: {}
2080 |
2081 | cli-boxes@3.0.0: {}
2082 |
2083 | clsx@2.1.1: {}
2084 |
2085 | color-convert@2.0.1:
2086 | dependencies:
2087 | color-name: 1.1.4
2088 | optional: true
2089 |
2090 | color-name@1.1.4:
2091 | optional: true
2092 |
2093 | color-string@1.9.1:
2094 | dependencies:
2095 | color-name: 1.1.4
2096 | simple-swizzle: 0.2.2
2097 | optional: true
2098 |
2099 | color@4.2.3:
2100 | dependencies:
2101 | color-convert: 2.0.1
2102 | color-string: 1.9.1
2103 | optional: true
2104 |
2105 | comma-separated-tokens@2.0.3: {}
2106 |
2107 | common-ancestor-path@1.0.1: {}
2108 |
2109 | cookie-es@1.2.2: {}
2110 |
2111 | cookie@1.0.2: {}
2112 |
2113 | crossws@0.3.4:
2114 | dependencies:
2115 | uncrypto: 0.1.3
2116 |
2117 | cssesc@3.0.0: {}
2118 |
2119 | debug@4.3.6:
2120 | dependencies:
2121 | ms: 2.1.2
2122 |
2123 | debug@4.4.0:
2124 | dependencies:
2125 | ms: 2.1.3
2126 |
2127 | decode-named-character-reference@1.0.2:
2128 | dependencies:
2129 | character-entities: 2.0.2
2130 |
2131 | defu@6.1.4: {}
2132 |
2133 | depd@2.0.0: {}
2134 |
2135 | dequal@2.0.3: {}
2136 |
2137 | destr@2.0.3: {}
2138 |
2139 | destroy@1.2.0: {}
2140 |
2141 | detect-libc@2.0.3:
2142 | optional: true
2143 |
2144 | deterministic-object-hash@2.0.2:
2145 | dependencies:
2146 | base-64: 1.0.0
2147 |
2148 | devalue@5.1.1: {}
2149 |
2150 | devlop@1.1.0:
2151 | dependencies:
2152 | dequal: 2.0.3
2153 |
2154 | diff@5.2.0: {}
2155 |
2156 | dlv@1.1.3: {}
2157 |
2158 | dset@3.1.4: {}
2159 |
2160 | ee-first@1.1.1: {}
2161 |
2162 | emoji-regex-xs@1.0.0: {}
2163 |
2164 | emoji-regex@10.4.0: {}
2165 |
2166 | emoji-regex@8.0.0: {}
2167 |
2168 | encodeurl@2.0.0: {}
2169 |
2170 | entities@4.5.0: {}
2171 |
2172 | es-module-lexer@1.6.0: {}
2173 |
2174 | esbuild@0.25.1:
2175 | optionalDependencies:
2176 | '@esbuild/aix-ppc64': 0.25.1
2177 | '@esbuild/android-arm': 0.25.1
2178 | '@esbuild/android-arm64': 0.25.1
2179 | '@esbuild/android-x64': 0.25.1
2180 | '@esbuild/darwin-arm64': 0.25.1
2181 | '@esbuild/darwin-x64': 0.25.1
2182 | '@esbuild/freebsd-arm64': 0.25.1
2183 | '@esbuild/freebsd-x64': 0.25.1
2184 | '@esbuild/linux-arm': 0.25.1
2185 | '@esbuild/linux-arm64': 0.25.1
2186 | '@esbuild/linux-ia32': 0.25.1
2187 | '@esbuild/linux-loong64': 0.25.1
2188 | '@esbuild/linux-mips64el': 0.25.1
2189 | '@esbuild/linux-ppc64': 0.25.1
2190 | '@esbuild/linux-riscv64': 0.25.1
2191 | '@esbuild/linux-s390x': 0.25.1
2192 | '@esbuild/linux-x64': 0.25.1
2193 | '@esbuild/netbsd-arm64': 0.25.1
2194 | '@esbuild/netbsd-x64': 0.25.1
2195 | '@esbuild/openbsd-arm64': 0.25.1
2196 | '@esbuild/openbsd-x64': 0.25.1
2197 | '@esbuild/sunos-x64': 0.25.1
2198 | '@esbuild/win32-arm64': 0.25.1
2199 | '@esbuild/win32-ia32': 0.25.1
2200 | '@esbuild/win32-x64': 0.25.1
2201 |
2202 | escape-html@1.0.3: {}
2203 |
2204 | escape-string-regexp@5.0.0: {}
2205 |
2206 | estree-walker@2.0.2: {}
2207 |
2208 | estree-walker@3.0.3:
2209 | dependencies:
2210 | '@types/estree': 1.0.5
2211 |
2212 | etag@1.8.1: {}
2213 |
2214 | eventemitter3@5.0.1: {}
2215 |
2216 | extend@3.0.2: {}
2217 |
2218 | fdir@6.4.3(picomatch@4.0.2):
2219 | optionalDependencies:
2220 | picomatch: 4.0.2
2221 |
2222 | flattie@1.1.1: {}
2223 |
2224 | fresh@0.5.2: {}
2225 |
2226 | fsevents@2.3.3:
2227 | optional: true
2228 |
2229 | get-east-asian-width@1.2.0: {}
2230 |
2231 | github-slugger@2.0.0: {}
2232 |
2233 | h3@1.15.1:
2234 | dependencies:
2235 | cookie-es: 1.2.2
2236 | crossws: 0.3.4
2237 | defu: 6.1.4
2238 | destr: 2.0.3
2239 | iron-webcrypto: 1.2.1
2240 | node-mock-http: 1.0.0
2241 | radix3: 1.1.2
2242 | ufo: 1.5.4
2243 | uncrypto: 0.1.3
2244 |
2245 | hast-util-from-html@2.0.2:
2246 | dependencies:
2247 | '@types/hast': 3.0.4
2248 | devlop: 1.1.0
2249 | hast-util-from-parse5: 8.0.1
2250 | parse5: 7.1.2
2251 | vfile: 6.0.3
2252 | vfile-message: 4.0.2
2253 |
2254 | hast-util-from-html@2.0.3:
2255 | dependencies:
2256 | '@types/hast': 3.0.4
2257 | devlop: 1.1.0
2258 | hast-util-from-parse5: 8.0.1
2259 | parse5: 7.1.2
2260 | vfile: 6.0.3
2261 | vfile-message: 4.0.2
2262 |
2263 | hast-util-from-parse5@8.0.1:
2264 | dependencies:
2265 | '@types/hast': 3.0.4
2266 | '@types/unist': 3.0.3
2267 | devlop: 1.1.0
2268 | hastscript: 8.0.0
2269 | property-information: 6.5.0
2270 | vfile: 6.0.3
2271 | vfile-location: 5.0.3
2272 | web-namespaces: 2.0.1
2273 |
2274 | hast-util-is-element@3.0.0:
2275 | dependencies:
2276 | '@types/hast': 3.0.4
2277 |
2278 | hast-util-parse-selector@4.0.0:
2279 | dependencies:
2280 | '@types/hast': 3.0.4
2281 |
2282 | hast-util-raw@9.0.4:
2283 | dependencies:
2284 | '@types/hast': 3.0.4
2285 | '@types/unist': 3.0.3
2286 | '@ungap/structured-clone': 1.2.0
2287 | hast-util-from-parse5: 8.0.1
2288 | hast-util-to-parse5: 8.0.0
2289 | html-void-elements: 3.0.0
2290 | mdast-util-to-hast: 13.2.0
2291 | parse5: 7.1.2
2292 | unist-util-position: 5.0.0
2293 | unist-util-visit: 5.0.0
2294 | vfile: 6.0.3
2295 | web-namespaces: 2.0.1
2296 | zwitch: 2.0.4
2297 |
2298 | hast-util-to-html@9.0.2:
2299 | dependencies:
2300 | '@types/hast': 3.0.4
2301 | '@types/unist': 3.0.3
2302 | ccount: 2.0.1
2303 | comma-separated-tokens: 2.0.3
2304 | hast-util-whitespace: 3.0.0
2305 | html-void-elements: 3.0.0
2306 | mdast-util-to-hast: 13.2.0
2307 | property-information: 6.5.0
2308 | space-separated-tokens: 2.0.2
2309 | stringify-entities: 4.0.4
2310 | zwitch: 2.0.4
2311 |
2312 | hast-util-to-html@9.0.5:
2313 | dependencies:
2314 | '@types/hast': 3.0.4
2315 | '@types/unist': 3.0.3
2316 | ccount: 2.0.1
2317 | comma-separated-tokens: 2.0.3
2318 | hast-util-whitespace: 3.0.0
2319 | html-void-elements: 3.0.0
2320 | mdast-util-to-hast: 13.2.0
2321 | property-information: 7.0.0
2322 | space-separated-tokens: 2.0.2
2323 | stringify-entities: 4.0.4
2324 | zwitch: 2.0.4
2325 |
2326 | hast-util-to-parse5@8.0.0:
2327 | dependencies:
2328 | '@types/hast': 3.0.4
2329 | comma-separated-tokens: 2.0.3
2330 | devlop: 1.1.0
2331 | property-information: 6.5.0
2332 | space-separated-tokens: 2.0.2
2333 | web-namespaces: 2.0.1
2334 | zwitch: 2.0.4
2335 |
2336 | hast-util-to-text@4.0.2:
2337 | dependencies:
2338 | '@types/hast': 3.0.4
2339 | '@types/unist': 3.0.3
2340 | hast-util-is-element: 3.0.0
2341 | unist-util-find-after: 5.0.0
2342 |
2343 | hast-util-whitespace@3.0.0:
2344 | dependencies:
2345 | '@types/hast': 3.0.4
2346 |
2347 | hastscript@8.0.0:
2348 | dependencies:
2349 | '@types/hast': 3.0.4
2350 | comma-separated-tokens: 2.0.3
2351 | hast-util-parse-selector: 4.0.0
2352 | property-information: 6.5.0
2353 | space-separated-tokens: 2.0.2
2354 |
2355 | html-escaper@3.0.3: {}
2356 |
2357 | html-void-elements@3.0.0: {}
2358 |
2359 | http-cache-semantics@4.1.1: {}
2360 |
2361 | http-errors@2.0.0:
2362 | dependencies:
2363 | depd: 2.0.0
2364 | inherits: 2.0.4
2365 | setprototypeof: 1.2.0
2366 | statuses: 2.0.1
2367 | toidentifier: 1.0.1
2368 |
2369 | import-meta-resolve@4.1.0: {}
2370 |
2371 | inherits@2.0.4: {}
2372 |
2373 | iron-webcrypto@1.2.1: {}
2374 |
2375 | is-arrayish@0.3.2:
2376 | optional: true
2377 |
2378 | is-docker@3.0.0: {}
2379 |
2380 | is-fullwidth-code-point@3.0.0: {}
2381 |
2382 | is-inside-container@1.0.0:
2383 | dependencies:
2384 | is-docker: 3.0.0
2385 |
2386 | is-plain-obj@4.1.0: {}
2387 |
2388 | is-wsl@3.1.0:
2389 | dependencies:
2390 | is-inside-container: 1.0.0
2391 |
2392 | js-yaml@4.1.0:
2393 | dependencies:
2394 | argparse: 2.0.1
2395 |
2396 | kleur@3.0.3: {}
2397 |
2398 | kleur@4.1.5: {}
2399 |
2400 | longest-streak@3.1.0: {}
2401 |
2402 | lru-cache@10.4.3: {}
2403 |
2404 | magic-string@0.30.17:
2405 | dependencies:
2406 | '@jridgewell/sourcemap-codec': 1.5.0
2407 |
2408 | magicast@0.3.5:
2409 | dependencies:
2410 | '@babel/parser': 7.25.6
2411 | '@babel/types': 7.25.6
2412 | source-map-js: 1.2.0
2413 |
2414 | markdown-table@3.0.3: {}
2415 |
2416 | mdast-util-definitions@6.0.0:
2417 | dependencies:
2418 | '@types/mdast': 4.0.4
2419 | '@types/unist': 3.0.3
2420 | unist-util-visit: 5.0.0
2421 |
2422 | mdast-util-find-and-replace@3.0.1:
2423 | dependencies:
2424 | '@types/mdast': 4.0.4
2425 | escape-string-regexp: 5.0.0
2426 | unist-util-is: 6.0.0
2427 | unist-util-visit-parents: 6.0.1
2428 |
2429 | mdast-util-from-markdown@2.0.1:
2430 | dependencies:
2431 | '@types/mdast': 4.0.4
2432 | '@types/unist': 3.0.3
2433 | decode-named-character-reference: 1.0.2
2434 | devlop: 1.1.0
2435 | mdast-util-to-string: 4.0.0
2436 | micromark: 4.0.0
2437 | micromark-util-decode-numeric-character-reference: 2.0.1
2438 | micromark-util-decode-string: 2.0.0
2439 | micromark-util-normalize-identifier: 2.0.0
2440 | micromark-util-symbol: 2.0.0
2441 | micromark-util-types: 2.0.0
2442 | unist-util-stringify-position: 4.0.0
2443 | transitivePeerDependencies:
2444 | - supports-color
2445 |
2446 | mdast-util-gfm-autolink-literal@2.0.1:
2447 | dependencies:
2448 | '@types/mdast': 4.0.4
2449 | ccount: 2.0.1
2450 | devlop: 1.1.0
2451 | mdast-util-find-and-replace: 3.0.1
2452 | micromark-util-character: 2.1.0
2453 |
2454 | mdast-util-gfm-footnote@2.0.0:
2455 | dependencies:
2456 | '@types/mdast': 4.0.4
2457 | devlop: 1.1.0
2458 | mdast-util-from-markdown: 2.0.1
2459 | mdast-util-to-markdown: 2.1.0
2460 | micromark-util-normalize-identifier: 2.0.0
2461 | transitivePeerDependencies:
2462 | - supports-color
2463 |
2464 | mdast-util-gfm-strikethrough@2.0.0:
2465 | dependencies:
2466 | '@types/mdast': 4.0.4
2467 | mdast-util-from-markdown: 2.0.1
2468 | mdast-util-to-markdown: 2.1.0
2469 | transitivePeerDependencies:
2470 | - supports-color
2471 |
2472 | mdast-util-gfm-table@2.0.0:
2473 | dependencies:
2474 | '@types/mdast': 4.0.4
2475 | devlop: 1.1.0
2476 | markdown-table: 3.0.3
2477 | mdast-util-from-markdown: 2.0.1
2478 | mdast-util-to-markdown: 2.1.0
2479 | transitivePeerDependencies:
2480 | - supports-color
2481 |
2482 | mdast-util-gfm-task-list-item@2.0.0:
2483 | dependencies:
2484 | '@types/mdast': 4.0.4
2485 | devlop: 1.1.0
2486 | mdast-util-from-markdown: 2.0.1
2487 | mdast-util-to-markdown: 2.1.0
2488 | transitivePeerDependencies:
2489 | - supports-color
2490 |
2491 | mdast-util-gfm@3.0.0:
2492 | dependencies:
2493 | mdast-util-from-markdown: 2.0.1
2494 | mdast-util-gfm-autolink-literal: 2.0.1
2495 | mdast-util-gfm-footnote: 2.0.0
2496 | mdast-util-gfm-strikethrough: 2.0.0
2497 | mdast-util-gfm-table: 2.0.0
2498 | mdast-util-gfm-task-list-item: 2.0.0
2499 | mdast-util-to-markdown: 2.1.0
2500 | transitivePeerDependencies:
2501 | - supports-color
2502 |
2503 | mdast-util-phrasing@4.1.0:
2504 | dependencies:
2505 | '@types/mdast': 4.0.4
2506 | unist-util-is: 6.0.0
2507 |
2508 | mdast-util-to-hast@13.2.0:
2509 | dependencies:
2510 | '@types/hast': 3.0.4
2511 | '@types/mdast': 4.0.4
2512 | '@ungap/structured-clone': 1.2.0
2513 | devlop: 1.1.0
2514 | micromark-util-sanitize-uri: 2.0.0
2515 | trim-lines: 3.0.1
2516 | unist-util-position: 5.0.0
2517 | unist-util-visit: 5.0.0
2518 | vfile: 6.0.3
2519 |
2520 | mdast-util-to-markdown@2.1.0:
2521 | dependencies:
2522 | '@types/mdast': 4.0.4
2523 | '@types/unist': 3.0.3
2524 | longest-streak: 3.1.0
2525 | mdast-util-phrasing: 4.1.0
2526 | mdast-util-to-string: 4.0.0
2527 | micromark-util-decode-string: 2.0.0
2528 | unist-util-visit: 5.0.0
2529 | zwitch: 2.0.4
2530 |
2531 | mdast-util-to-string@4.0.0:
2532 | dependencies:
2533 | '@types/mdast': 4.0.4
2534 |
2535 | micromark-core-commonmark@2.0.1:
2536 | dependencies:
2537 | decode-named-character-reference: 1.0.2
2538 | devlop: 1.1.0
2539 | micromark-factory-destination: 2.0.0
2540 | micromark-factory-label: 2.0.0
2541 | micromark-factory-space: 2.0.0
2542 | micromark-factory-title: 2.0.0
2543 | micromark-factory-whitespace: 2.0.0
2544 | micromark-util-character: 2.1.0
2545 | micromark-util-chunked: 2.0.0
2546 | micromark-util-classify-character: 2.0.0
2547 | micromark-util-html-tag-name: 2.0.0
2548 | micromark-util-normalize-identifier: 2.0.0
2549 | micromark-util-resolve-all: 2.0.0
2550 | micromark-util-subtokenize: 2.0.1
2551 | micromark-util-symbol: 2.0.0
2552 | micromark-util-types: 2.0.0
2553 |
2554 | micromark-extension-gfm-autolink-literal@2.1.0:
2555 | dependencies:
2556 | micromark-util-character: 2.1.0
2557 | micromark-util-sanitize-uri: 2.0.0
2558 | micromark-util-symbol: 2.0.0
2559 | micromark-util-types: 2.0.0
2560 |
2561 | micromark-extension-gfm-footnote@2.1.0:
2562 | dependencies:
2563 | devlop: 1.1.0
2564 | micromark-core-commonmark: 2.0.1
2565 | micromark-factory-space: 2.0.0
2566 | micromark-util-character: 2.1.0
2567 | micromark-util-normalize-identifier: 2.0.0
2568 | micromark-util-sanitize-uri: 2.0.0
2569 | micromark-util-symbol: 2.0.0
2570 | micromark-util-types: 2.0.0
2571 |
2572 | micromark-extension-gfm-strikethrough@2.1.0:
2573 | dependencies:
2574 | devlop: 1.1.0
2575 | micromark-util-chunked: 2.0.0
2576 | micromark-util-classify-character: 2.0.0
2577 | micromark-util-resolve-all: 2.0.0
2578 | micromark-util-symbol: 2.0.0
2579 | micromark-util-types: 2.0.0
2580 |
2581 | micromark-extension-gfm-table@2.1.0:
2582 | dependencies:
2583 | devlop: 1.1.0
2584 | micromark-factory-space: 2.0.0
2585 | micromark-util-character: 2.1.0
2586 | micromark-util-symbol: 2.0.0
2587 | micromark-util-types: 2.0.0
2588 |
2589 | micromark-extension-gfm-tagfilter@2.0.0:
2590 | dependencies:
2591 | micromark-util-types: 2.0.0
2592 |
2593 | micromark-extension-gfm-task-list-item@2.1.0:
2594 | dependencies:
2595 | devlop: 1.1.0
2596 | micromark-factory-space: 2.0.0
2597 | micromark-util-character: 2.1.0
2598 | micromark-util-symbol: 2.0.0
2599 | micromark-util-types: 2.0.0
2600 |
2601 | micromark-extension-gfm@3.0.0:
2602 | dependencies:
2603 | micromark-extension-gfm-autolink-literal: 2.1.0
2604 | micromark-extension-gfm-footnote: 2.1.0
2605 | micromark-extension-gfm-strikethrough: 2.1.0
2606 | micromark-extension-gfm-table: 2.1.0
2607 | micromark-extension-gfm-tagfilter: 2.0.0
2608 | micromark-extension-gfm-task-list-item: 2.1.0
2609 | micromark-util-combine-extensions: 2.0.0
2610 | micromark-util-types: 2.0.0
2611 |
2612 | micromark-factory-destination@2.0.0:
2613 | dependencies:
2614 | micromark-util-character: 2.1.0
2615 | micromark-util-symbol: 2.0.0
2616 | micromark-util-types: 2.0.0
2617 |
2618 | micromark-factory-label@2.0.0:
2619 | dependencies:
2620 | devlop: 1.1.0
2621 | micromark-util-character: 2.1.0
2622 | micromark-util-symbol: 2.0.0
2623 | micromark-util-types: 2.0.0
2624 |
2625 | micromark-factory-space@2.0.0:
2626 | dependencies:
2627 | micromark-util-character: 2.1.0
2628 | micromark-util-types: 2.0.0
2629 |
2630 | micromark-factory-title@2.0.0:
2631 | dependencies:
2632 | micromark-factory-space: 2.0.0
2633 | micromark-util-character: 2.1.0
2634 | micromark-util-symbol: 2.0.0
2635 | micromark-util-types: 2.0.0
2636 |
2637 | micromark-factory-whitespace@2.0.0:
2638 | dependencies:
2639 | micromark-factory-space: 2.0.0
2640 | micromark-util-character: 2.1.0
2641 | micromark-util-symbol: 2.0.0
2642 | micromark-util-types: 2.0.0
2643 |
2644 | micromark-util-character@2.1.0:
2645 | dependencies:
2646 | micromark-util-symbol: 2.0.0
2647 | micromark-util-types: 2.0.0
2648 |
2649 | micromark-util-chunked@2.0.0:
2650 | dependencies:
2651 | micromark-util-symbol: 2.0.0
2652 |
2653 | micromark-util-classify-character@2.0.0:
2654 | dependencies:
2655 | micromark-util-character: 2.1.0
2656 | micromark-util-symbol: 2.0.0
2657 | micromark-util-types: 2.0.0
2658 |
2659 | micromark-util-combine-extensions@2.0.0:
2660 | dependencies:
2661 | micromark-util-chunked: 2.0.0
2662 | micromark-util-types: 2.0.0
2663 |
2664 | micromark-util-decode-numeric-character-reference@2.0.1:
2665 | dependencies:
2666 | micromark-util-symbol: 2.0.0
2667 |
2668 | micromark-util-decode-string@2.0.0:
2669 | dependencies:
2670 | decode-named-character-reference: 1.0.2
2671 | micromark-util-character: 2.1.0
2672 | micromark-util-decode-numeric-character-reference: 2.0.1
2673 | micromark-util-symbol: 2.0.0
2674 |
2675 | micromark-util-encode@2.0.0: {}
2676 |
2677 | micromark-util-html-tag-name@2.0.0: {}
2678 |
2679 | micromark-util-normalize-identifier@2.0.0:
2680 | dependencies:
2681 | micromark-util-symbol: 2.0.0
2682 |
2683 | micromark-util-resolve-all@2.0.0:
2684 | dependencies:
2685 | micromark-util-types: 2.0.0
2686 |
2687 | micromark-util-sanitize-uri@2.0.0:
2688 | dependencies:
2689 | micromark-util-character: 2.1.0
2690 | micromark-util-encode: 2.0.0
2691 | micromark-util-symbol: 2.0.0
2692 |
2693 | micromark-util-subtokenize@2.0.1:
2694 | dependencies:
2695 | devlop: 1.1.0
2696 | micromark-util-chunked: 2.0.0
2697 | micromark-util-symbol: 2.0.0
2698 | micromark-util-types: 2.0.0
2699 |
2700 | micromark-util-symbol@2.0.0: {}
2701 |
2702 | micromark-util-types@2.0.0: {}
2703 |
2704 | micromark@4.0.0:
2705 | dependencies:
2706 | '@types/debug': 4.1.12
2707 | debug: 4.4.0
2708 | decode-named-character-reference: 1.0.2
2709 | devlop: 1.1.0
2710 | micromark-core-commonmark: 2.0.1
2711 | micromark-factory-space: 2.0.0
2712 | micromark-util-character: 2.1.0
2713 | micromark-util-chunked: 2.0.0
2714 | micromark-util-combine-extensions: 2.0.0
2715 | micromark-util-decode-numeric-character-reference: 2.0.1
2716 | micromark-util-encode: 2.0.0
2717 | micromark-util-normalize-identifier: 2.0.0
2718 | micromark-util-resolve-all: 2.0.0
2719 | micromark-util-sanitize-uri: 2.0.0
2720 | micromark-util-subtokenize: 2.0.1
2721 | micromark-util-symbol: 2.0.0
2722 | micromark-util-types: 2.0.0
2723 | transitivePeerDependencies:
2724 | - supports-color
2725 |
2726 | mime-db@1.52.0: {}
2727 |
2728 | mime-types@2.1.35:
2729 | dependencies:
2730 | mime-db: 1.52.0
2731 |
2732 | mrmime@2.0.1: {}
2733 |
2734 | ms@2.1.2: {}
2735 |
2736 | ms@2.1.3: {}
2737 |
2738 | nanoid@3.3.11: {}
2739 |
2740 | neotraverse@0.6.18: {}
2741 |
2742 | nlcst-to-string@4.0.0:
2743 | dependencies:
2744 | '@types/nlcst': 2.0.3
2745 |
2746 | node-fetch-native@1.6.6: {}
2747 |
2748 | node-mock-http@1.0.0: {}
2749 |
2750 | normalize-path@3.0.0: {}
2751 |
2752 | ofetch@1.4.1:
2753 | dependencies:
2754 | destr: 2.0.3
2755 | node-fetch-native: 1.6.6
2756 | ufo: 1.5.4
2757 |
2758 | on-finished@2.4.1:
2759 | dependencies:
2760 | ee-first: 1.1.1
2761 |
2762 | oniguruma-parser@0.5.4: {}
2763 |
2764 | oniguruma-to-es@4.1.0:
2765 | dependencies:
2766 | emoji-regex-xs: 1.0.0
2767 | oniguruma-parser: 0.5.4
2768 | regex: 6.0.1
2769 | regex-recursion: 6.0.2
2770 |
2771 | p-limit@6.2.0:
2772 | dependencies:
2773 | yocto-queue: 1.1.1
2774 |
2775 | p-queue@8.1.0:
2776 | dependencies:
2777 | eventemitter3: 5.0.1
2778 | p-timeout: 6.1.2
2779 |
2780 | p-timeout@6.1.2: {}
2781 |
2782 | package-manager-detector@1.1.0: {}
2783 |
2784 | parse-latin@7.0.0:
2785 | dependencies:
2786 | '@types/nlcst': 2.0.3
2787 | '@types/unist': 3.0.3
2788 | nlcst-to-string: 4.0.0
2789 | unist-util-modify-children: 4.0.0
2790 | unist-util-visit-children: 3.0.0
2791 | vfile: 6.0.3
2792 |
2793 | parse5@7.1.2:
2794 | dependencies:
2795 | entities: 4.5.0
2796 |
2797 | picocolors@1.1.1: {}
2798 |
2799 | picomatch@2.3.1: {}
2800 |
2801 | picomatch@4.0.2: {}
2802 |
2803 | postcss@8.5.3:
2804 | dependencies:
2805 | nanoid: 3.3.11
2806 | picocolors: 1.1.1
2807 | source-map-js: 1.2.1
2808 |
2809 | prismjs@1.29.0: {}
2810 |
2811 | prompts@2.4.2:
2812 | dependencies:
2813 | kleur: 3.0.3
2814 | sisteransi: 1.0.5
2815 |
2816 | property-information@6.5.0: {}
2817 |
2818 | property-information@7.0.0: {}
2819 |
2820 | radix3@1.1.2: {}
2821 |
2822 | range-parser@1.2.1: {}
2823 |
2824 | readdirp@4.1.2: {}
2825 |
2826 | regex-recursion@6.0.2:
2827 | dependencies:
2828 | regex-utilities: 2.3.0
2829 |
2830 | regex-utilities@2.3.0: {}
2831 |
2832 | regex@6.0.1:
2833 | dependencies:
2834 | regex-utilities: 2.3.0
2835 |
2836 | rehype-parse@9.0.0:
2837 | dependencies:
2838 | '@types/hast': 3.0.4
2839 | hast-util-from-html: 2.0.2
2840 | unified: 11.0.5
2841 |
2842 | rehype-raw@7.0.0:
2843 | dependencies:
2844 | '@types/hast': 3.0.4
2845 | hast-util-raw: 9.0.4
2846 | vfile: 6.0.3
2847 |
2848 | rehype-stringify@10.0.0:
2849 | dependencies:
2850 | '@types/hast': 3.0.4
2851 | hast-util-to-html: 9.0.2
2852 | unified: 11.0.5
2853 |
2854 | rehype-stringify@10.0.1:
2855 | dependencies:
2856 | '@types/hast': 3.0.4
2857 | hast-util-to-html: 9.0.2
2858 | unified: 11.0.5
2859 |
2860 | rehype@13.0.2:
2861 | dependencies:
2862 | '@types/hast': 3.0.4
2863 | rehype-parse: 9.0.0
2864 | rehype-stringify: 10.0.0
2865 | unified: 11.0.5
2866 |
2867 | remark-gfm@4.0.1:
2868 | dependencies:
2869 | '@types/mdast': 4.0.4
2870 | mdast-util-gfm: 3.0.0
2871 | micromark-extension-gfm: 3.0.0
2872 | remark-parse: 11.0.0
2873 | remark-stringify: 11.0.0
2874 | unified: 11.0.5
2875 | transitivePeerDependencies:
2876 | - supports-color
2877 |
2878 | remark-parse@11.0.0:
2879 | dependencies:
2880 | '@types/mdast': 4.0.4
2881 | mdast-util-from-markdown: 2.0.1
2882 | micromark-util-types: 2.0.0
2883 | unified: 11.0.5
2884 | transitivePeerDependencies:
2885 | - supports-color
2886 |
2887 | remark-rehype@11.1.1:
2888 | dependencies:
2889 | '@types/hast': 3.0.4
2890 | '@types/mdast': 4.0.4
2891 | mdast-util-to-hast: 13.2.0
2892 | unified: 11.0.5
2893 | vfile: 6.0.3
2894 |
2895 | remark-smartypants@3.0.2:
2896 | dependencies:
2897 | retext: 9.0.0
2898 | retext-smartypants: 6.1.1
2899 | unified: 11.0.5
2900 | unist-util-visit: 5.0.0
2901 |
2902 | remark-stringify@11.0.0:
2903 | dependencies:
2904 | '@types/mdast': 4.0.4
2905 | mdast-util-to-markdown: 2.1.0
2906 | unified: 11.0.5
2907 |
2908 | retext-latin@4.0.0:
2909 | dependencies:
2910 | '@types/nlcst': 2.0.3
2911 | parse-latin: 7.0.0
2912 | unified: 11.0.5
2913 |
2914 | retext-smartypants@6.1.1:
2915 | dependencies:
2916 | '@types/nlcst': 2.0.3
2917 | nlcst-to-string: 4.0.0
2918 | unist-util-visit: 5.0.0
2919 |
2920 | retext-stringify@4.0.0:
2921 | dependencies:
2922 | '@types/nlcst': 2.0.3
2923 | nlcst-to-string: 4.0.0
2924 | unified: 11.0.5
2925 |
2926 | retext@9.0.0:
2927 | dependencies:
2928 | '@types/nlcst': 2.0.3
2929 | retext-latin: 4.0.0
2930 | retext-stringify: 4.0.0
2931 | unified: 11.0.5
2932 |
2933 | rollup@4.36.0:
2934 | dependencies:
2935 | '@types/estree': 1.0.6
2936 | optionalDependencies:
2937 | '@rollup/rollup-android-arm-eabi': 4.36.0
2938 | '@rollup/rollup-android-arm64': 4.36.0
2939 | '@rollup/rollup-darwin-arm64': 4.36.0
2940 | '@rollup/rollup-darwin-x64': 4.36.0
2941 | '@rollup/rollup-freebsd-arm64': 4.36.0
2942 | '@rollup/rollup-freebsd-x64': 4.36.0
2943 | '@rollup/rollup-linux-arm-gnueabihf': 4.36.0
2944 | '@rollup/rollup-linux-arm-musleabihf': 4.36.0
2945 | '@rollup/rollup-linux-arm64-gnu': 4.36.0
2946 | '@rollup/rollup-linux-arm64-musl': 4.36.0
2947 | '@rollup/rollup-linux-loongarch64-gnu': 4.36.0
2948 | '@rollup/rollup-linux-powerpc64le-gnu': 4.36.0
2949 | '@rollup/rollup-linux-riscv64-gnu': 4.36.0
2950 | '@rollup/rollup-linux-s390x-gnu': 4.36.0
2951 | '@rollup/rollup-linux-x64-gnu': 4.36.0
2952 | '@rollup/rollup-linux-x64-musl': 4.36.0
2953 | '@rollup/rollup-win32-arm64-msvc': 4.36.0
2954 | '@rollup/rollup-win32-ia32-msvc': 4.36.0
2955 | '@rollup/rollup-win32-x64-msvc': 4.36.0
2956 | fsevents: 2.3.3
2957 |
2958 | semver@7.7.1: {}
2959 |
2960 | send@1.1.0:
2961 | dependencies:
2962 | debug: 4.3.6
2963 | destroy: 1.2.0
2964 | encodeurl: 2.0.0
2965 | escape-html: 1.0.3
2966 | etag: 1.8.1
2967 | fresh: 0.5.2
2968 | http-errors: 2.0.0
2969 | mime-types: 2.1.35
2970 | ms: 2.1.3
2971 | on-finished: 2.4.1
2972 | range-parser: 1.2.1
2973 | statuses: 2.0.1
2974 | transitivePeerDependencies:
2975 | - supports-color
2976 |
2977 | server-destroy@1.0.1: {}
2978 |
2979 | setprototypeof@1.2.0: {}
2980 |
2981 | sharp@0.33.5:
2982 | dependencies:
2983 | color: 4.2.3
2984 | detect-libc: 2.0.3
2985 | semver: 7.7.1
2986 | optionalDependencies:
2987 | '@img/sharp-darwin-arm64': 0.33.5
2988 | '@img/sharp-darwin-x64': 0.33.5
2989 | '@img/sharp-libvips-darwin-arm64': 1.0.4
2990 | '@img/sharp-libvips-darwin-x64': 1.0.4
2991 | '@img/sharp-libvips-linux-arm': 1.0.5
2992 | '@img/sharp-libvips-linux-arm64': 1.0.4
2993 | '@img/sharp-libvips-linux-s390x': 1.0.4
2994 | '@img/sharp-libvips-linux-x64': 1.0.4
2995 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
2996 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
2997 | '@img/sharp-linux-arm': 0.33.5
2998 | '@img/sharp-linux-arm64': 0.33.5
2999 | '@img/sharp-linux-s390x': 0.33.5
3000 | '@img/sharp-linux-x64': 0.33.5
3001 | '@img/sharp-linuxmusl-arm64': 0.33.5
3002 | '@img/sharp-linuxmusl-x64': 0.33.5
3003 | '@img/sharp-wasm32': 0.33.5
3004 | '@img/sharp-win32-ia32': 0.33.5
3005 | '@img/sharp-win32-x64': 0.33.5
3006 | optional: true
3007 |
3008 | shiki@3.2.1:
3009 | dependencies:
3010 | '@shikijs/core': 3.2.1
3011 | '@shikijs/engine-javascript': 3.2.1
3012 | '@shikijs/engine-oniguruma': 3.2.1
3013 | '@shikijs/langs': 3.2.1
3014 | '@shikijs/themes': 3.2.1
3015 | '@shikijs/types': 3.2.1
3016 | '@shikijs/vscode-textmate': 10.0.2
3017 | '@types/hast': 3.0.4
3018 |
3019 | simple-swizzle@0.2.2:
3020 | dependencies:
3021 | is-arrayish: 0.3.2
3022 | optional: true
3023 |
3024 | sisteransi@1.0.5: {}
3025 |
3026 | smol-toml@1.3.1: {}
3027 |
3028 | source-map-js@1.2.0: {}
3029 |
3030 | source-map-js@1.2.1: {}
3031 |
3032 | space-separated-tokens@2.0.2: {}
3033 |
3034 | statuses@2.0.1: {}
3035 |
3036 | string-width@4.2.3:
3037 | dependencies:
3038 | emoji-regex: 8.0.0
3039 | is-fullwidth-code-point: 3.0.0
3040 | strip-ansi: 6.0.1
3041 |
3042 | string-width@7.2.0:
3043 | dependencies:
3044 | emoji-regex: 10.4.0
3045 | get-east-asian-width: 1.2.0
3046 | strip-ansi: 7.1.0
3047 |
3048 | stringify-entities@4.0.4:
3049 | dependencies:
3050 | character-entities-html4: 2.1.0
3051 | character-entities-legacy: 3.0.0
3052 |
3053 | strip-ansi@6.0.1:
3054 | dependencies:
3055 | ansi-regex: 5.0.1
3056 |
3057 | strip-ansi@7.1.0:
3058 | dependencies:
3059 | ansi-regex: 6.0.1
3060 |
3061 | tinyexec@0.3.2: {}
3062 |
3063 | tinyglobby@0.2.12:
3064 | dependencies:
3065 | fdir: 6.4.3(picomatch@4.0.2)
3066 | picomatch: 4.0.2
3067 |
3068 | to-fast-properties@2.0.0: {}
3069 |
3070 | toidentifier@1.0.1: {}
3071 |
3072 | tr46@0.0.3: {}
3073 |
3074 | trim-lines@3.0.1: {}
3075 |
3076 | trough@2.2.0: {}
3077 |
3078 | tsconfck@3.1.5(typescript@5.5.4):
3079 | optionalDependencies:
3080 | typescript: 5.5.4
3081 |
3082 | tslib@2.7.0:
3083 | optional: true
3084 |
3085 | type-fest@4.37.0: {}
3086 |
3087 | typescript@5.5.4: {}
3088 |
3089 | ufo@1.5.4: {}
3090 |
3091 | ultrahtml@1.5.3: {}
3092 |
3093 | uncrypto@0.1.3: {}
3094 |
3095 | undici-types@6.19.8: {}
3096 |
3097 | unified@11.0.5:
3098 | dependencies:
3099 | '@types/unist': 3.0.3
3100 | bail: 2.0.2
3101 | devlop: 1.1.0
3102 | extend: 3.0.2
3103 | is-plain-obj: 4.1.0
3104 | trough: 2.2.0
3105 | vfile: 6.0.3
3106 |
3107 | unist-util-find-after@5.0.0:
3108 | dependencies:
3109 | '@types/unist': 3.0.3
3110 | unist-util-is: 6.0.0
3111 |
3112 | unist-util-is@6.0.0:
3113 | dependencies:
3114 | '@types/unist': 3.0.3
3115 |
3116 | unist-util-modify-children@4.0.0:
3117 | dependencies:
3118 | '@types/unist': 3.0.3
3119 | array-iterate: 2.0.1
3120 |
3121 | unist-util-position@5.0.0:
3122 | dependencies:
3123 | '@types/unist': 3.0.3
3124 |
3125 | unist-util-remove-position@5.0.0:
3126 | dependencies:
3127 | '@types/unist': 3.0.3
3128 | unist-util-visit: 5.0.0
3129 |
3130 | unist-util-stringify-position@4.0.0:
3131 | dependencies:
3132 | '@types/unist': 3.0.3
3133 |
3134 | unist-util-visit-children@3.0.0:
3135 | dependencies:
3136 | '@types/unist': 3.0.3
3137 |
3138 | unist-util-visit-parents@6.0.1:
3139 | dependencies:
3140 | '@types/unist': 3.0.3
3141 | unist-util-is: 6.0.0
3142 |
3143 | unist-util-visit@5.0.0:
3144 | dependencies:
3145 | '@types/unist': 3.0.3
3146 | unist-util-is: 6.0.0
3147 | unist-util-visit-parents: 6.0.1
3148 |
3149 | unstorage@1.15.0:
3150 | dependencies:
3151 | anymatch: 3.1.3
3152 | chokidar: 4.0.3
3153 | destr: 2.0.3
3154 | h3: 1.15.1
3155 | lru-cache: 10.4.3
3156 | node-fetch-native: 1.6.6
3157 | ofetch: 1.4.1
3158 | ufo: 1.5.4
3159 |
3160 | vfile-location@5.0.3:
3161 | dependencies:
3162 | '@types/unist': 3.0.3
3163 | vfile: 6.0.3
3164 |
3165 | vfile-message@4.0.2:
3166 | dependencies:
3167 | '@types/unist': 3.0.3
3168 | unist-util-stringify-position: 4.0.0
3169 |
3170 | vfile@6.0.3:
3171 | dependencies:
3172 | '@types/unist': 3.0.3
3173 | vfile-message: 4.0.2
3174 |
3175 | vite@6.2.2(@types/node@22.5.2):
3176 | dependencies:
3177 | esbuild: 0.25.1
3178 | postcss: 8.5.3
3179 | rollup: 4.36.0
3180 | optionalDependencies:
3181 | '@types/node': 22.5.2
3182 | fsevents: 2.3.3
3183 |
3184 | vitefu@1.0.6(vite@6.2.2(@types/node@22.5.2)):
3185 | optionalDependencies:
3186 | vite: 6.2.2(@types/node@22.5.2)
3187 |
3188 | web-namespaces@2.0.1: {}
3189 |
3190 | webidl-conversions@3.0.1: {}
3191 |
3192 | whatwg-url@5.0.0:
3193 | dependencies:
3194 | tr46: 0.0.3
3195 | webidl-conversions: 3.0.1
3196 |
3197 | which-pm-runs@1.1.0: {}
3198 |
3199 | widest-line@5.0.0:
3200 | dependencies:
3201 | string-width: 7.2.0
3202 |
3203 | wrap-ansi@9.0.0:
3204 | dependencies:
3205 | ansi-styles: 6.2.1
3206 | string-width: 7.2.0
3207 | strip-ansi: 7.1.0
3208 |
3209 | ws@8.18.0: {}
3210 |
3211 | xxhash-wasm@1.1.0: {}
3212 |
3213 | yargs-parser@21.1.1: {}
3214 |
3215 | yocto-queue@1.1.1: {}
3216 |
3217 | yocto-spinner@0.2.1:
3218 | dependencies:
3219 | yoctocolors: 2.1.1
3220 |
3221 | yoctocolors@2.1.1: {}
3222 |
3223 | zod-to-json-schema@3.24.5(zod@3.24.2):
3224 | dependencies:
3225 | zod: 3.24.2
3226 |
3227 | zod-to-ts@1.2.0(typescript@5.5.4)(zod@3.24.2):
3228 | dependencies:
3229 | typescript: 5.5.4
3230 | zod: 3.24.2
3231 |
3232 | zod@3.24.2: {}
3233 |
3234 | zwitch@2.0.4: {}
3235 |
--------------------------------------------------------------------------------
/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/src/components/layout.astro:
--------------------------------------------------------------------------------
1 | ---
2 | interface Props {
3 | title: string;
4 | isLoggedIn: boolean;
5 | }
6 |
7 | const { title, isLoggedIn } = Astro.props;
8 | ---
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Supabase Astro Serverside auth - {title}
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
77 |
--------------------------------------------------------------------------------
/src/components/nav.astro:
--------------------------------------------------------------------------------
1 | ---
2 | interface Props {
3 | activeUrl: string;
4 | isLoggedIn: boolean;
5 | }
6 |
7 | const { activeUrl, isLoggedIn } = Astro.props
8 | const pages = isLoggedIn ? ['home', 'profile'] : ['home', 'login']
9 |
10 | ---
11 |
20 |
64 |
65 |
76 |
--------------------------------------------------------------------------------
/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/src/pages/index.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import Layout from '../components/layout.astro'
3 | import Nav from '../components/nav.astro'
4 | import * as readme from '../../README.md'
5 | import { getUser } from '../utils/supabaseServer'
6 | import { accessTokenName, refreshTokenName } from '../utils/config'
7 |
8 | // we use README.md as content of the homepage
9 | const readmeCompiledContent = readme.compiledContent()
10 |
11 | const accessToken = Astro.cookies.get(accessTokenName)?.value
12 | const refreshToken = Astro.cookies.get(refreshTokenName)?.value
13 |
14 | const userData = await getUser({ accessToken, refreshToken })
15 | const isLoggedIn = !!userData
16 | ---
17 |
18 |
19 |
22 |
23 |
39 |
--------------------------------------------------------------------------------
/src/pages/login.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import Layout from '../components/layout.astro'
3 | import Nav from '../components/nav.astro'
4 | import { accessTokenName, refreshTokenName } from '../utils/config'
5 | import { getUser } from '../utils/supabaseServer'
6 |
7 | const accessToken = Astro.cookies.get(accessTokenName)?.value
8 | const refreshToken = Astro.cookies.get(refreshTokenName)?.value
9 |
10 | // in case the user is already logged in we redirect to profile page
11 | const userData = await getUser({ accessToken, refreshToken })
12 | if (userData) {
13 | return Astro.redirect('/')
14 | }
15 |
16 | ---
17 |
18 |
19 |
20 | Sign in via magic link with your email below
21 |
34 |
35 |
36 |
70 |
71 |
78 |
--------------------------------------------------------------------------------
/src/pages/profile.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import Layout from '../components/layout.astro'
3 | import Nav from '../components/nav.astro'
4 | import { getUser } from '../utils/supabaseServer'
5 | import { accessTokenName, refreshTokenName } from '../utils/config'
6 |
7 | const accessToken = Astro.cookies.get(accessTokenName)?.value
8 | const refreshToken = Astro.cookies.get(refreshTokenName)?.value
9 |
10 | const userData = await getUser({ accessToken, refreshToken })
11 |
12 | // the profile page is private
13 | if (!userData) {
14 | return Astro.redirect('/login')
15 | }
16 |
17 |
18 | ---
19 |
20 |
21 |
22 |
23 | Profile
24 |
51 |
52 |
73 |
--------------------------------------------------------------------------------
/src/utils/config.ts:
--------------------------------------------------------------------------------
1 |
2 | export const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL
3 | export const supabaseAnonKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY
4 | export const cookiePrefix = import.meta.env.PUBLIC_SUPABASE_COOKIE_PRE
5 |
6 | export const appMailRedirects = import.meta.env.PUBLIC_APP_URL
7 |
8 | export const accessTokenName = `${import.meta.env.PUBLIC_SUPABASE_COOKIE_PRE}-access-token`
9 | export const refreshTokenName = `${import.meta.env.PUBLIC_SUPABASE_COOKIE_PRE}-refresh-token`
10 |
--------------------------------------------------------------------------------
/src/utils/supabaseBrowser.ts:
--------------------------------------------------------------------------------
1 | import { createClient } from "@supabase/supabase-js"
2 | import { supabaseUrl, supabaseAnonKey } from "./config"
3 |
4 | export const supabase = createClient(supabaseUrl, supabaseAnonKey)
5 |
--------------------------------------------------------------------------------
/src/utils/supabaseServer.ts:
--------------------------------------------------------------------------------
1 | import { createClient } from "@supabase/supabase-js"
2 |
3 | import { supabaseUrl, supabaseAnonKey } from "./config"
4 |
5 | // to be used on server
6 | export const supabase = createClient(supabaseUrl, supabaseAnonKey, {auth: { persistSession: false } })
7 |
8 | export const getUser = async (arg: {
9 | accessToken: string | undefined,
10 | refreshToken: string | undefined,
11 | }) => {
12 | const {accessToken, refreshToken } = arg
13 |
14 | try {
15 | if (!accessToken) throw "No accessToken"
16 | if (!refreshToken) throw "No refreshToken"
17 |
18 | //@todo retrieve also the email of the user
19 | await supabase.auth.setSession({
20 | access_token: accessToken,
21 | refresh_token: refreshToken,
22 | })
23 |
24 |
25 | const sessionReq = await supabase.auth.getSession()
26 | const user = sessionReq?.data?.session?.user
27 |
28 | if (!user) throw "No user"
29 | const { data, error } = await supabase
30 | .from("profiles")
31 | .select("username, website, avatar_url")
32 | .eq("id", user.id)
33 | .single()
34 |
35 | if (error && error.code !== 'PGRST116') {
36 | console.log('pgsql error:', error)
37 | throw error
38 | }
39 | const { id, email, phone } = user
40 | return {
41 | ...data,
42 | id,
43 | email,
44 | phone
45 | }
46 | } catch (e) {
47 | console.log(e)
48 | return undefined
49 | }
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "astro/tsconfigs/strictest"
3 | }
--------------------------------------------------------------------------------