16 | {article.content} 17 |
18 | {#if article.userId === data.user?.userId} 19 | 22 | Edit Article 25 | {/if} 26 |├── .eslintignore
├── .eslintrc.cjs
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── README.md
├── code.png
├── package.json
├── playwright.config.ts
├── pnpm-lock.yaml
├── prisma
└── schema.prisma
├── rome.json
├── src
├── app.d.ts
├── app.html
├── hooks.server.ts
├── lib
│ └── server
│ │ ├── lucia.ts
│ │ └── prisma.ts
└── routes
│ ├── +layout.server.ts
│ ├── +layout.svelte
│ ├── +page.server.ts
│ ├── +page.svelte
│ ├── [articleId]
│ ├── +page.server.ts
│ └── +page.svelte
│ ├── login
│ ├── +page.server.ts
│ └── +page.svelte
│ ├── logout
│ └── +server.ts
│ └── register
│ ├── +page.server.ts
│ └── +page.svelte
├── static
└── favicon.png
├── svelte.config.js
├── tests
└── test.ts
├── tsconfig.json
└── vite.config.ts
/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | parser: '@typescript-eslint/parser',
4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
5 | plugins: ['svelte3', '@typescript-eslint'],
6 | ignorePatterns: ['*.cjs'],
7 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
8 | settings: {
9 | 'svelte3/typescript': () => require('typescript')
10 | },
11 | parserOptions: {
12 | sourceType: 'module',
13 | ecmaVersion: 2020
14 | },
15 | env: {
16 | browser: true,
17 | es2017: true,
18 | node: true
19 | }
20 | };
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 | vite.config.js.timestamp-*
10 | vite.config.ts.timestamp-*
11 | prisma/dev.sqlite
12 | *.sqlite-journal
13 | migration_lock*
14 | migration.sql
15 | *.code-workspace
16 | package-lock.json
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "semi": false,
6 | "printWidth": 100,
7 | "plugins": [
8 | "prettier-plugin-svelte"
9 | ],
10 | "pluginSearchDirs": [
11 | "."
12 | ],
13 | "overrides": [
14 | {
15 | "files": "*.svelte",
16 | "options": {
17 | "parser": "svelte"
18 | }
19 | }
20 | ]
21 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 |
3 | 1. Clone the repo: `git clone https://github.com/jt196/sveltekit-lucia-prisma.git`
4 | 2. Install the base packages: `npm i`
5 | 3. Initialise the Prisma db: `npx prisma migrate dev --name init`
6 | 4. Generate the Prisma client and types (is this typescript?): `npx prisma generate`
7 |
8 | # v1.0 Differences
9 |
10 | More info [here](https://lucia-auth.com/start-here/migrate-to-version-1?sveltekit)
11 |
12 | 1. The **database schema** has been every so slightly tweaked. The basic concepts and relations between models hasn't changed but check the docs for the latest version
13 | 2. The SvelteKit integration has been deprecated. Wait! **SvelteKit support is now built into the main library.** Check the [getting started page](https://lucia-auth.com/start-here/getting-started?sveltekit) for SvelteKit in the docs on how to set up the handle hook!
14 | 3. **API name changes**. There hasn't been any drastic name changes so you should be able to infer it from the autocomplete.
15 |
--------------------------------------------------------------------------------
/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huntabyte/sveltekit-lucia-prisma/b0ded019cc89947ce5230b33a0c982d7ab46f847/code.png
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sk-prisma-quickstart",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "test": "playwright test",
10 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
11 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12 | "test:unit": "vitest",
13 | "lint": "prettier --plugin-search-dir . --check . && eslint .",
14 | "format": "prettier --plugin-search-dir . --write ."
15 | },
16 | "devDependencies": {
17 | "@playwright/test": "^1.30.0",
18 | "@sveltejs/adapter-auto": "^1.0.2",
19 | "@sveltejs/kit": "^1.3.10",
20 | "@typescript-eslint/eslint-plugin": "^5.50.0",
21 | "@typescript-eslint/parser": "^5.50.0",
22 | "eslint": "^8.33.0",
23 | "eslint-config-prettier": "^8.6.0",
24 | "eslint-plugin-svelte3": "^4.0.0",
25 | "prettier": "^2.8.3",
26 | "prettier-plugin-svelte": "^2.9.0",
27 | "prisma": "^4.14.1",
28 | "rome": "^11.0.0",
29 | "svelte": "^3.55.1",
30 | "svelte-check": "^3.0.3",
31 | "tslib": "^2.5.0",
32 | "typescript": "^4.9.5",
33 | "vite": "^4.1.1",
34 | "vitest": "^0.25.8"
35 | },
36 | "type": "module",
37 | "dependencies": {
38 | "@lucia-auth/adapter-prisma": "^2.0.0",
39 | "@picocss/pico": "^1.5.7",
40 | "@prisma/client": "^4.9.0",
41 | "lucia-auth": "^1.7.0"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/playwright.config.ts:
--------------------------------------------------------------------------------
1 | import type { PlaywrightTestConfig } from '@playwright/test';
2 |
3 | const config: PlaywrightTestConfig = {
4 | webServer: {
5 | command: 'npm run build && npm run preview',
6 | port: 4173
7 | },
8 | testDir: 'tests'
9 | };
10 |
11 | export default config;
12 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@lucia-auth/adapter-prisma': ^0.4.0
5 | '@lucia-auth/sveltekit': ^0.6.2
6 | '@picocss/pico': ^1.5.7
7 | '@playwright/test': ^1.30.0
8 | '@prisma/client': ^4.9.0
9 | '@sveltejs/adapter-auto': ^1.0.2
10 | '@sveltejs/kit': ^1.3.10
11 | '@typescript-eslint/eslint-plugin': ^5.50.0
12 | '@typescript-eslint/parser': ^5.50.0
13 | eslint: ^8.33.0
14 | eslint-config-prettier: ^8.6.0
15 | eslint-plugin-svelte3: ^4.0.0
16 | lucia-auth: ^0.6.0
17 | prettier: ^2.8.3
18 | prettier-plugin-svelte: ^2.9.0
19 | prisma: ^4.9.0
20 | rome: ^11.0.0
21 | svelte: ^3.55.1
22 | svelte-check: ^3.0.3
23 | tslib: ^2.5.0
24 | typescript: ^4.9.5
25 | vite: ^4.1.1
26 | vitest: ^0.25.8
27 |
28 | dependencies:
29 | '@lucia-auth/adapter-prisma': 0.4.0_lucia-auth@0.6.0
30 | '@lucia-auth/sveltekit': 0.6.2_iyasqsbplmktfcni36hpxhd3zi
31 | '@picocss/pico': 1.5.7
32 | '@prisma/client': 4.9.0_prisma@4.9.0
33 | lucia-auth: 0.6.0
34 |
35 | devDependencies:
36 | '@playwright/test': 1.30.0
37 | '@sveltejs/adapter-auto': 1.0.2_@sveltejs+kit@1.3.10
38 | '@sveltejs/kit': 1.3.10_svelte@3.55.1+vite@4.1.1
39 | '@typescript-eslint/eslint-plugin': 5.50.0_go4drrxstycfikanvu45pi4vgq
40 | '@typescript-eslint/parser': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
41 | eslint: 8.33.0
42 | eslint-config-prettier: 8.6.0_eslint@8.33.0
43 | eslint-plugin-svelte3: 4.0.0_4omm2ewoudhgnmf7aocafatnc4
44 | prettier: 2.8.3
45 | prettier-plugin-svelte: 2.9.0_kdmmghgdi3ngrsq6otxkjilbry
46 | prisma: 4.9.0
47 | rome: 11.0.0
48 | svelte: 3.55.1
49 | svelte-check: 3.0.3_svelte@3.55.1
50 | tslib: 2.5.0
51 | typescript: 4.9.5
52 | vite: 4.1.1
53 | vitest: 0.25.8
54 |
55 | packages:
56 |
57 | /@esbuild/android-arm/0.16.17:
58 | resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==}
59 | engines: {node: '>=12'}
60 | cpu: [arm]
61 | os: [android]
62 | requiresBuild: true
63 | dev: true
64 | optional: true
65 |
66 | /@esbuild/android-arm64/0.16.17:
67 | resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==}
68 | engines: {node: '>=12'}
69 | cpu: [arm64]
70 | os: [android]
71 | requiresBuild: true
72 | dev: true
73 | optional: true
74 |
75 | /@esbuild/android-x64/0.16.17:
76 | resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==}
77 | engines: {node: '>=12'}
78 | cpu: [x64]
79 | os: [android]
80 | requiresBuild: true
81 | dev: true
82 | optional: true
83 |
84 | /@esbuild/darwin-arm64/0.16.17:
85 | resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==}
86 | engines: {node: '>=12'}
87 | cpu: [arm64]
88 | os: [darwin]
89 | requiresBuild: true
90 | dev: true
91 | optional: true
92 |
93 | /@esbuild/darwin-x64/0.16.17:
94 | resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==}
95 | engines: {node: '>=12'}
96 | cpu: [x64]
97 | os: [darwin]
98 | requiresBuild: true
99 | dev: true
100 | optional: true
101 |
102 | /@esbuild/freebsd-arm64/0.16.17:
103 | resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==}
104 | engines: {node: '>=12'}
105 | cpu: [arm64]
106 | os: [freebsd]
107 | requiresBuild: true
108 | dev: true
109 | optional: true
110 |
111 | /@esbuild/freebsd-x64/0.16.17:
112 | resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==}
113 | engines: {node: '>=12'}
114 | cpu: [x64]
115 | os: [freebsd]
116 | requiresBuild: true
117 | dev: true
118 | optional: true
119 |
120 | /@esbuild/linux-arm/0.16.17:
121 | resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==}
122 | engines: {node: '>=12'}
123 | cpu: [arm]
124 | os: [linux]
125 | requiresBuild: true
126 | dev: true
127 | optional: true
128 |
129 | /@esbuild/linux-arm64/0.16.17:
130 | resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==}
131 | engines: {node: '>=12'}
132 | cpu: [arm64]
133 | os: [linux]
134 | requiresBuild: true
135 | dev: true
136 | optional: true
137 |
138 | /@esbuild/linux-ia32/0.16.17:
139 | resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==}
140 | engines: {node: '>=12'}
141 | cpu: [ia32]
142 | os: [linux]
143 | requiresBuild: true
144 | dev: true
145 | optional: true
146 |
147 | /@esbuild/linux-loong64/0.16.17:
148 | resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
149 | engines: {node: '>=12'}
150 | cpu: [loong64]
151 | os: [linux]
152 | requiresBuild: true
153 | dev: true
154 | optional: true
155 |
156 | /@esbuild/linux-mips64el/0.16.17:
157 | resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==}
158 | engines: {node: '>=12'}
159 | cpu: [mips64el]
160 | os: [linux]
161 | requiresBuild: true
162 | dev: true
163 | optional: true
164 |
165 | /@esbuild/linux-ppc64/0.16.17:
166 | resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==}
167 | engines: {node: '>=12'}
168 | cpu: [ppc64]
169 | os: [linux]
170 | requiresBuild: true
171 | dev: true
172 | optional: true
173 |
174 | /@esbuild/linux-riscv64/0.16.17:
175 | resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==}
176 | engines: {node: '>=12'}
177 | cpu: [riscv64]
178 | os: [linux]
179 | requiresBuild: true
180 | dev: true
181 | optional: true
182 |
183 | /@esbuild/linux-s390x/0.16.17:
184 | resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==}
185 | engines: {node: '>=12'}
186 | cpu: [s390x]
187 | os: [linux]
188 | requiresBuild: true
189 | dev: true
190 | optional: true
191 |
192 | /@esbuild/linux-x64/0.16.17:
193 | resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==}
194 | engines: {node: '>=12'}
195 | cpu: [x64]
196 | os: [linux]
197 | requiresBuild: true
198 | dev: true
199 | optional: true
200 |
201 | /@esbuild/netbsd-x64/0.16.17:
202 | resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==}
203 | engines: {node: '>=12'}
204 | cpu: [x64]
205 | os: [netbsd]
206 | requiresBuild: true
207 | dev: true
208 | optional: true
209 |
210 | /@esbuild/openbsd-x64/0.16.17:
211 | resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==}
212 | engines: {node: '>=12'}
213 | cpu: [x64]
214 | os: [openbsd]
215 | requiresBuild: true
216 | dev: true
217 | optional: true
218 |
219 | /@esbuild/sunos-x64/0.16.17:
220 | resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==}
221 | engines: {node: '>=12'}
222 | cpu: [x64]
223 | os: [sunos]
224 | requiresBuild: true
225 | dev: true
226 | optional: true
227 |
228 | /@esbuild/win32-arm64/0.16.17:
229 | resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==}
230 | engines: {node: '>=12'}
231 | cpu: [arm64]
232 | os: [win32]
233 | requiresBuild: true
234 | dev: true
235 | optional: true
236 |
237 | /@esbuild/win32-ia32/0.16.17:
238 | resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==}
239 | engines: {node: '>=12'}
240 | cpu: [ia32]
241 | os: [win32]
242 | requiresBuild: true
243 | dev: true
244 | optional: true
245 |
246 | /@esbuild/win32-x64/0.16.17:
247 | resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==}
248 | engines: {node: '>=12'}
249 | cpu: [x64]
250 | os: [win32]
251 | requiresBuild: true
252 | dev: true
253 | optional: true
254 |
255 | /@eslint/eslintrc/1.4.1:
256 | resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
257 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
258 | dependencies:
259 | ajv: 6.12.6
260 | debug: 4.3.4
261 | espree: 9.4.1
262 | globals: 13.20.0
263 | ignore: 5.2.4
264 | import-fresh: 3.3.0
265 | js-yaml: 4.1.0
266 | minimatch: 3.1.2
267 | strip-json-comments: 3.1.1
268 | transitivePeerDependencies:
269 | - supports-color
270 | dev: true
271 |
272 | /@humanwhocodes/config-array/0.11.8:
273 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
274 | engines: {node: '>=10.10.0'}
275 | dependencies:
276 | '@humanwhocodes/object-schema': 1.2.1
277 | debug: 4.3.4
278 | minimatch: 3.1.2
279 | transitivePeerDependencies:
280 | - supports-color
281 | dev: true
282 |
283 | /@humanwhocodes/module-importer/1.0.1:
284 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
285 | engines: {node: '>=12.22'}
286 | dev: true
287 |
288 | /@humanwhocodes/object-schema/1.2.1:
289 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
290 | dev: true
291 |
292 | /@jridgewell/resolve-uri/3.1.0:
293 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
294 | engines: {node: '>=6.0.0'}
295 | dev: true
296 |
297 | /@jridgewell/sourcemap-codec/1.4.14:
298 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
299 | dev: true
300 |
301 | /@jridgewell/trace-mapping/0.3.17:
302 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
303 | dependencies:
304 | '@jridgewell/resolve-uri': 3.1.0
305 | '@jridgewell/sourcemap-codec': 1.4.14
306 | dev: true
307 |
308 | /@lucia-auth/adapter-prisma/0.4.0_lucia-auth@0.6.0:
309 | resolution: {integrity: sha512-HMaGbVfB5KTZBs6KPqI5z6RFKVl4AKfm9u2KrrQglthpd/rWJoJRDI2oYkdcEX4Xu1FNdNJJrEtKKBtVAXYqrw==}
310 | peerDependencies:
311 | lucia-auth: 0.6.x
312 | dependencies:
313 | lucia-auth: 0.6.0
314 | dev: false
315 |
316 | /@lucia-auth/sveltekit/0.6.2_iyasqsbplmktfcni36hpxhd3zi:
317 | resolution: {integrity: sha512-+lOhgctcdVkPRYtJegTaEZYLFhPJOHFjdAm9cBFFjpkV6cNGuHSTxobfOn7yRy3pGVhzGFM91uOfYrJxmECOBA==}
318 | peerDependencies:
319 | lucia-auth: 0.5.x - 0.6.x
320 | svelte: 3.x
321 | dependencies:
322 | '@noble/hashes': 1.2.0
323 | lucia-auth: 0.6.0
324 | svelte: 3.55.1
325 | dev: false
326 |
327 | /@noble/hashes/1.2.0:
328 | resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==}
329 | dev: false
330 |
331 | /@nodelib/fs.scandir/2.1.5:
332 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
333 | engines: {node: '>= 8'}
334 | dependencies:
335 | '@nodelib/fs.stat': 2.0.5
336 | run-parallel: 1.2.0
337 | dev: true
338 |
339 | /@nodelib/fs.stat/2.0.5:
340 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
341 | engines: {node: '>= 8'}
342 | dev: true
343 |
344 | /@nodelib/fs.walk/1.2.8:
345 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
346 | engines: {node: '>= 8'}
347 | dependencies:
348 | '@nodelib/fs.scandir': 2.1.5
349 | fastq: 1.15.0
350 | dev: true
351 |
352 | /@picocss/pico/1.5.7:
353 | resolution: {integrity: sha512-RygdXNlSXieAs9jMw/AeqA1ki1kldgEYbRn8BnYZIPfRTM5NWZ4uVzMK6uMPhYlRjoT5wD/OplZvIefnCqyDCQ==}
354 | dev: false
355 |
356 | /@playwright/test/1.30.0:
357 | resolution: {integrity: sha512-SVxkQw1xvn/Wk/EvBnqWIq6NLo1AppwbYOjNLmyU0R1RoQ3rLEBtmjTnElcnz8VEtn11fptj1ECxK0tgURhajw==}
358 | engines: {node: '>=14'}
359 | hasBin: true
360 | dependencies:
361 | '@types/node': 18.11.19
362 | playwright-core: 1.30.0
363 | dev: true
364 |
365 | /@polka/url/1.0.0-next.21:
366 | resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
367 | dev: true
368 |
369 | /@prisma/client/4.9.0_prisma@4.9.0:
370 | resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==}
371 | engines: {node: '>=14.17'}
372 | requiresBuild: true
373 | peerDependencies:
374 | prisma: '*'
375 | peerDependenciesMeta:
376 | prisma:
377 | optional: true
378 | dependencies:
379 | '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5
380 | prisma: 4.9.0
381 | dev: false
382 |
383 | /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5:
384 | resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==}
385 | dev: false
386 |
387 | /@prisma/engines/4.9.0:
388 | resolution: {integrity: sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw==}
389 | requiresBuild: true
390 |
391 | /@rometools/cli-darwin-arm64/11.0.0:
392 | resolution: {integrity: sha512-F3vkdY+s3FLIEnAjSbyHTuIPB88cLpccimW4ecid5I7S6GzGG3iUJI4xT00JhH73K4P/qW20/9r+kH1T9Du8Xg==}
393 | cpu: [arm64]
394 | os: [darwin]
395 | requiresBuild: true
396 | dev: true
397 | optional: true
398 |
399 | /@rometools/cli-darwin-x64/11.0.0:
400 | resolution: {integrity: sha512-X6jhtS6Iml4GOzgNtnLwIp/KXXhSdqeVyfv69m/AHnIzx3gQAjPZ7BPnJLvTCbhe4SKHL+uTZYFSCJpkUUKE6w==}
401 | cpu: [x64]
402 | os: [darwin]
403 | requiresBuild: true
404 | dev: true
405 | optional: true
406 |
407 | /@rometools/cli-linux-arm64/11.0.0:
408 | resolution: {integrity: sha512-dktTJJlTpmycBZ2TwhJBcAO8ztK8DdevdyZnFFxdYRvtmJgTjIsC2UFayf/SbKew8B8q1IhI0it+D6ihAeIpeg==}
409 | cpu: [arm64]
410 | os: [linux]
411 | requiresBuild: true
412 | dev: true
413 | optional: true
414 |
415 | /@rometools/cli-linux-x64/11.0.0:
416 | resolution: {integrity: sha512-WVcnXPNdWGUWo0p4NU8YzuthjYR7q+b4vRcjdxtP1DlpphZmSsoC/RSE85nEqRAz8hChcKUansVzOPM8BSsuGA==}
417 | cpu: [x64]
418 | os: [linux]
419 | requiresBuild: true
420 | dev: true
421 | optional: true
422 |
423 | /@rometools/cli-win32-arm64/11.0.0:
424 | resolution: {integrity: sha512-tPj6RThQzS7Q45jqQll7NlTYvNcsg/BEP3LYiiazqSh9FAFnMkrV6ewUcMPKWyAfiyLs7jlz4rRvdNRUSygzfQ==}
425 | cpu: [arm64]
426 | os: [win32]
427 | requiresBuild: true
428 | dev: true
429 | optional: true
430 |
431 | /@rometools/cli-win32-x64/11.0.0:
432 | resolution: {integrity: sha512-bmBai8WHxYjsGk1+je7ZTfCUCWq30WJI3pQM8pzTA674lfGTZ9ymJoZwTaIMSO4rL5V9mlO6uLunsBKso9VqOg==}
433 | cpu: [x64]
434 | os: [win32]
435 | requiresBuild: true
436 | dev: true
437 | optional: true
438 |
439 | /@sveltejs/adapter-auto/1.0.2_@sveltejs+kit@1.3.10:
440 | resolution: {integrity: sha512-UXpEO/gutERZnD+Z5Vi4J/ifD3WSRuCI7xwtLJTcKNQvJ6t5Xsj1X3Mw2F8Vv/XTUuxf7xPLYUgThU331r0Y9w==}
441 | peerDependencies:
442 | '@sveltejs/kit': ^1.0.0
443 | dependencies:
444 | '@sveltejs/kit': 1.3.10_svelte@3.55.1+vite@4.1.1
445 | import-meta-resolve: 2.2.1
446 | dev: true
447 |
448 | /@sveltejs/kit/1.3.10_svelte@3.55.1+vite@4.1.1:
449 | resolution: {integrity: sha512-I3DgWCwTYbTz4ZPCJIRkSDrKkMu0bsdk6ghqsOBVNqesf1wBdTdfkXhag3ESWgIEjUV3VUIWPQF7fnt7328mhQ==}
450 | engines: {node: ^16.14 || >=18}
451 | hasBin: true
452 | requiresBuild: true
453 | peerDependencies:
454 | svelte: ^3.54.0
455 | vite: ^4.0.0
456 | dependencies:
457 | '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.1
458 | '@types/cookie': 0.5.1
459 | cookie: 0.5.0
460 | devalue: 4.2.3
461 | esm-env: 1.0.0
462 | kleur: 4.1.5
463 | magic-string: 0.27.0
464 | mime: 3.0.0
465 | sade: 1.8.1
466 | set-cookie-parser: 2.5.1
467 | sirv: 2.0.2
468 | svelte: 3.55.1
469 | tiny-glob: 0.2.9
470 | undici: 5.16.0
471 | vite: 4.1.1
472 | transitivePeerDependencies:
473 | - supports-color
474 | dev: true
475 |
476 | /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.1:
477 | resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==}
478 | engines: {node: ^14.18.0 || >= 16}
479 | peerDependencies:
480 | svelte: ^3.54.0
481 | vite: ^4.0.0
482 | dependencies:
483 | debug: 4.3.4
484 | deepmerge: 4.3.0
485 | kleur: 4.1.5
486 | magic-string: 0.27.0
487 | svelte: 3.55.1
488 | svelte-hmr: 0.15.1_svelte@3.55.1
489 | vite: 4.1.1
490 | vitefu: 0.2.4_vite@4.1.1
491 | transitivePeerDependencies:
492 | - supports-color
493 | dev: true
494 |
495 | /@types/chai-subset/1.3.3:
496 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
497 | dependencies:
498 | '@types/chai': 4.3.4
499 | dev: true
500 |
501 | /@types/chai/4.3.4:
502 | resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==}
503 | dev: true
504 |
505 | /@types/cookie/0.5.1:
506 | resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
507 | dev: true
508 |
509 | /@types/json-schema/7.0.11:
510 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
511 | dev: true
512 |
513 | /@types/node/18.11.19:
514 | resolution: {integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==}
515 | dev: true
516 |
517 | /@types/pug/2.0.6:
518 | resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
519 | dev: true
520 |
521 | /@types/sass/1.43.1:
522 | resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
523 | dependencies:
524 | '@types/node': 18.11.19
525 | dev: true
526 |
527 | /@types/semver/7.3.13:
528 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
529 | dev: true
530 |
531 | /@typescript-eslint/eslint-plugin/5.50.0_go4drrxstycfikanvu45pi4vgq:
532 | resolution: {integrity: sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==}
533 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
534 | peerDependencies:
535 | '@typescript-eslint/parser': ^5.0.0
536 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
537 | typescript: '*'
538 | peerDependenciesMeta:
539 | typescript:
540 | optional: true
541 | dependencies:
542 | '@typescript-eslint/parser': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
543 | '@typescript-eslint/scope-manager': 5.50.0
544 | '@typescript-eslint/type-utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
545 | '@typescript-eslint/utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
546 | debug: 4.3.4
547 | eslint: 8.33.0
548 | grapheme-splitter: 1.0.4
549 | ignore: 5.2.4
550 | natural-compare-lite: 1.4.0
551 | regexpp: 3.2.0
552 | semver: 7.3.8
553 | tsutils: 3.21.0_typescript@4.9.5
554 | typescript: 4.9.5
555 | transitivePeerDependencies:
556 | - supports-color
557 | dev: true
558 |
559 | /@typescript-eslint/parser/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
560 | resolution: {integrity: sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==}
561 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
562 | peerDependencies:
563 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
564 | typescript: '*'
565 | peerDependenciesMeta:
566 | typescript:
567 | optional: true
568 | dependencies:
569 | '@typescript-eslint/scope-manager': 5.50.0
570 | '@typescript-eslint/types': 5.50.0
571 | '@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
572 | debug: 4.3.4
573 | eslint: 8.33.0
574 | typescript: 4.9.5
575 | transitivePeerDependencies:
576 | - supports-color
577 | dev: true
578 |
579 | /@typescript-eslint/scope-manager/5.50.0:
580 | resolution: {integrity: sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==}
581 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
582 | dependencies:
583 | '@typescript-eslint/types': 5.50.0
584 | '@typescript-eslint/visitor-keys': 5.50.0
585 | dev: true
586 |
587 | /@typescript-eslint/type-utils/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
588 | resolution: {integrity: sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==}
589 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
590 | peerDependencies:
591 | eslint: '*'
592 | typescript: '*'
593 | peerDependenciesMeta:
594 | typescript:
595 | optional: true
596 | dependencies:
597 | '@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
598 | '@typescript-eslint/utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
599 | debug: 4.3.4
600 | eslint: 8.33.0
601 | tsutils: 3.21.0_typescript@4.9.5
602 | typescript: 4.9.5
603 | transitivePeerDependencies:
604 | - supports-color
605 | dev: true
606 |
607 | /@typescript-eslint/types/5.50.0:
608 | resolution: {integrity: sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==}
609 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
610 | dev: true
611 |
612 | /@typescript-eslint/typescript-estree/5.50.0_typescript@4.9.5:
613 | resolution: {integrity: sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==}
614 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
615 | peerDependencies:
616 | typescript: '*'
617 | peerDependenciesMeta:
618 | typescript:
619 | optional: true
620 | dependencies:
621 | '@typescript-eslint/types': 5.50.0
622 | '@typescript-eslint/visitor-keys': 5.50.0
623 | debug: 4.3.4
624 | globby: 11.1.0
625 | is-glob: 4.0.3
626 | semver: 7.3.8
627 | tsutils: 3.21.0_typescript@4.9.5
628 | typescript: 4.9.5
629 | transitivePeerDependencies:
630 | - supports-color
631 | dev: true
632 |
633 | /@typescript-eslint/utils/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
634 | resolution: {integrity: sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==}
635 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
636 | peerDependencies:
637 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
638 | dependencies:
639 | '@types/json-schema': 7.0.11
640 | '@types/semver': 7.3.13
641 | '@typescript-eslint/scope-manager': 5.50.0
642 | '@typescript-eslint/types': 5.50.0
643 | '@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
644 | eslint: 8.33.0
645 | eslint-scope: 5.1.1
646 | eslint-utils: 3.0.0_eslint@8.33.0
647 | semver: 7.3.8
648 | transitivePeerDependencies:
649 | - supports-color
650 | - typescript
651 | dev: true
652 |
653 | /@typescript-eslint/visitor-keys/5.50.0:
654 | resolution: {integrity: sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==}
655 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
656 | dependencies:
657 | '@typescript-eslint/types': 5.50.0
658 | eslint-visitor-keys: 3.3.0
659 | dev: true
660 |
661 | /acorn-jsx/5.3.2_acorn@8.8.2:
662 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
663 | peerDependencies:
664 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
665 | dependencies:
666 | acorn: 8.8.2
667 | dev: true
668 |
669 | /acorn-walk/8.2.0:
670 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
671 | engines: {node: '>=0.4.0'}
672 | dev: true
673 |
674 | /acorn/8.8.2:
675 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
676 | engines: {node: '>=0.4.0'}
677 | hasBin: true
678 | dev: true
679 |
680 | /ajv/6.12.6:
681 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
682 | dependencies:
683 | fast-deep-equal: 3.1.3
684 | fast-json-stable-stringify: 2.1.0
685 | json-schema-traverse: 0.4.1
686 | uri-js: 4.4.1
687 | dev: true
688 |
689 | /ansi-regex/5.0.1:
690 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
691 | engines: {node: '>=8'}
692 | dev: true
693 |
694 | /ansi-styles/4.3.0:
695 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
696 | engines: {node: '>=8'}
697 | dependencies:
698 | color-convert: 2.0.1
699 | dev: true
700 |
701 | /anymatch/3.1.3:
702 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
703 | engines: {node: '>= 8'}
704 | dependencies:
705 | normalize-path: 3.0.0
706 | picomatch: 2.3.1
707 | dev: true
708 |
709 | /argparse/2.0.1:
710 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
711 | dev: true
712 |
713 | /array-union/2.1.0:
714 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
715 | engines: {node: '>=8'}
716 | dev: true
717 |
718 | /assertion-error/1.1.0:
719 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
720 | dev: true
721 |
722 | /balanced-match/1.0.2:
723 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
724 | dev: true
725 |
726 | /binary-extensions/2.2.0:
727 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
728 | engines: {node: '>=8'}
729 | dev: true
730 |
731 | /brace-expansion/1.1.11:
732 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
733 | dependencies:
734 | balanced-match: 1.0.2
735 | concat-map: 0.0.1
736 | dev: true
737 |
738 | /braces/3.0.2:
739 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
740 | engines: {node: '>=8'}
741 | dependencies:
742 | fill-range: 7.0.1
743 | dev: true
744 |
745 | /buffer-crc32/0.2.13:
746 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
747 | dev: true
748 |
749 | /busboy/1.6.0:
750 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
751 | engines: {node: '>=10.16.0'}
752 | dependencies:
753 | streamsearch: 1.1.0
754 | dev: true
755 |
756 | /callsites/3.1.0:
757 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
758 | engines: {node: '>=6'}
759 | dev: true
760 |
761 | /chai/4.3.7:
762 | resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
763 | engines: {node: '>=4'}
764 | dependencies:
765 | assertion-error: 1.1.0
766 | check-error: 1.0.2
767 | deep-eql: 4.1.3
768 | get-func-name: 2.0.0
769 | loupe: 2.3.6
770 | pathval: 1.1.1
771 | type-detect: 4.0.8
772 | dev: true
773 |
774 | /chalk/4.1.2:
775 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
776 | engines: {node: '>=10'}
777 | dependencies:
778 | ansi-styles: 4.3.0
779 | supports-color: 7.2.0
780 | dev: true
781 |
782 | /check-error/1.0.2:
783 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
784 | dev: true
785 |
786 | /chokidar/3.5.3:
787 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
788 | engines: {node: '>= 8.10.0'}
789 | dependencies:
790 | anymatch: 3.1.3
791 | braces: 3.0.2
792 | glob-parent: 5.1.2
793 | is-binary-path: 2.1.0
794 | is-glob: 4.0.3
795 | normalize-path: 3.0.0
796 | readdirp: 3.6.0
797 | optionalDependencies:
798 | fsevents: 2.3.2
799 | dev: true
800 |
801 | /color-convert/2.0.1:
802 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
803 | engines: {node: '>=7.0.0'}
804 | dependencies:
805 | color-name: 1.1.4
806 | dev: true
807 |
808 | /color-name/1.1.4:
809 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
810 | dev: true
811 |
812 | /concat-map/0.0.1:
813 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
814 | dev: true
815 |
816 | /cookie/0.5.0:
817 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
818 | engines: {node: '>= 0.6'}
819 | dev: true
820 |
821 | /cross-spawn/7.0.3:
822 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
823 | engines: {node: '>= 8'}
824 | dependencies:
825 | path-key: 3.1.1
826 | shebang-command: 2.0.0
827 | which: 2.0.2
828 | dev: true
829 |
830 | /debug/4.3.4:
831 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
832 | engines: {node: '>=6.0'}
833 | peerDependencies:
834 | supports-color: '*'
835 | peerDependenciesMeta:
836 | supports-color:
837 | optional: true
838 | dependencies:
839 | ms: 2.1.2
840 | dev: true
841 |
842 | /deep-eql/4.1.3:
843 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
844 | engines: {node: '>=6'}
845 | dependencies:
846 | type-detect: 4.0.8
847 | dev: true
848 |
849 | /deep-is/0.1.4:
850 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
851 | dev: true
852 |
853 | /deepmerge/4.3.0:
854 | resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==}
855 | engines: {node: '>=0.10.0'}
856 | dev: true
857 |
858 | /detect-indent/6.1.0:
859 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
860 | engines: {node: '>=8'}
861 | dev: true
862 |
863 | /devalue/4.2.3:
864 | resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==}
865 | dev: true
866 |
867 | /dir-glob/3.0.1:
868 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
869 | engines: {node: '>=8'}
870 | dependencies:
871 | path-type: 4.0.0
872 | dev: true
873 |
874 | /doctrine/3.0.0:
875 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
876 | engines: {node: '>=6.0.0'}
877 | dependencies:
878 | esutils: 2.0.3
879 | dev: true
880 |
881 | /es6-promise/3.3.1:
882 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
883 | dev: true
884 |
885 | /esbuild/0.16.17:
886 | resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==}
887 | engines: {node: '>=12'}
888 | hasBin: true
889 | requiresBuild: true
890 | optionalDependencies:
891 | '@esbuild/android-arm': 0.16.17
892 | '@esbuild/android-arm64': 0.16.17
893 | '@esbuild/android-x64': 0.16.17
894 | '@esbuild/darwin-arm64': 0.16.17
895 | '@esbuild/darwin-x64': 0.16.17
896 | '@esbuild/freebsd-arm64': 0.16.17
897 | '@esbuild/freebsd-x64': 0.16.17
898 | '@esbuild/linux-arm': 0.16.17
899 | '@esbuild/linux-arm64': 0.16.17
900 | '@esbuild/linux-ia32': 0.16.17
901 | '@esbuild/linux-loong64': 0.16.17
902 | '@esbuild/linux-mips64el': 0.16.17
903 | '@esbuild/linux-ppc64': 0.16.17
904 | '@esbuild/linux-riscv64': 0.16.17
905 | '@esbuild/linux-s390x': 0.16.17
906 | '@esbuild/linux-x64': 0.16.17
907 | '@esbuild/netbsd-x64': 0.16.17
908 | '@esbuild/openbsd-x64': 0.16.17
909 | '@esbuild/sunos-x64': 0.16.17
910 | '@esbuild/win32-arm64': 0.16.17
911 | '@esbuild/win32-ia32': 0.16.17
912 | '@esbuild/win32-x64': 0.16.17
913 | dev: true
914 |
915 | /escape-string-regexp/4.0.0:
916 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
917 | engines: {node: '>=10'}
918 | dev: true
919 |
920 | /eslint-config-prettier/8.6.0_eslint@8.33.0:
921 | resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
922 | hasBin: true
923 | peerDependencies:
924 | eslint: '>=7.0.0'
925 | dependencies:
926 | eslint: 8.33.0
927 | dev: true
928 |
929 | /eslint-plugin-svelte3/4.0.0_4omm2ewoudhgnmf7aocafatnc4:
930 | resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
931 | peerDependencies:
932 | eslint: '>=8.0.0'
933 | svelte: ^3.2.0
934 | dependencies:
935 | eslint: 8.33.0
936 | svelte: 3.55.1
937 | dev: true
938 |
939 | /eslint-scope/5.1.1:
940 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
941 | engines: {node: '>=8.0.0'}
942 | dependencies:
943 | esrecurse: 4.3.0
944 | estraverse: 4.3.0
945 | dev: true
946 |
947 | /eslint-scope/7.1.1:
948 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
949 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
950 | dependencies:
951 | esrecurse: 4.3.0
952 | estraverse: 5.3.0
953 | dev: true
954 |
955 | /eslint-utils/3.0.0_eslint@8.33.0:
956 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
957 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
958 | peerDependencies:
959 | eslint: '>=5'
960 | dependencies:
961 | eslint: 8.33.0
962 | eslint-visitor-keys: 2.1.0
963 | dev: true
964 |
965 | /eslint-visitor-keys/2.1.0:
966 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
967 | engines: {node: '>=10'}
968 | dev: true
969 |
970 | /eslint-visitor-keys/3.3.0:
971 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
972 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
973 | dev: true
974 |
975 | /eslint/8.33.0:
976 | resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==}
977 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
978 | hasBin: true
979 | dependencies:
980 | '@eslint/eslintrc': 1.4.1
981 | '@humanwhocodes/config-array': 0.11.8
982 | '@humanwhocodes/module-importer': 1.0.1
983 | '@nodelib/fs.walk': 1.2.8
984 | ajv: 6.12.6
985 | chalk: 4.1.2
986 | cross-spawn: 7.0.3
987 | debug: 4.3.4
988 | doctrine: 3.0.0
989 | escape-string-regexp: 4.0.0
990 | eslint-scope: 7.1.1
991 | eslint-utils: 3.0.0_eslint@8.33.0
992 | eslint-visitor-keys: 3.3.0
993 | espree: 9.4.1
994 | esquery: 1.4.0
995 | esutils: 2.0.3
996 | fast-deep-equal: 3.1.3
997 | file-entry-cache: 6.0.1
998 | find-up: 5.0.0
999 | glob-parent: 6.0.2
1000 | globals: 13.20.0
1001 | grapheme-splitter: 1.0.4
1002 | ignore: 5.2.4
1003 | import-fresh: 3.3.0
1004 | imurmurhash: 0.1.4
1005 | is-glob: 4.0.3
1006 | is-path-inside: 3.0.3
1007 | js-sdsl: 4.3.0
1008 | js-yaml: 4.1.0
1009 | json-stable-stringify-without-jsonify: 1.0.1
1010 | levn: 0.4.1
1011 | lodash.merge: 4.6.2
1012 | minimatch: 3.1.2
1013 | natural-compare: 1.4.0
1014 | optionator: 0.9.1
1015 | regexpp: 3.2.0
1016 | strip-ansi: 6.0.1
1017 | strip-json-comments: 3.1.1
1018 | text-table: 0.2.0
1019 | transitivePeerDependencies:
1020 | - supports-color
1021 | dev: true
1022 |
1023 | /esm-env/1.0.0:
1024 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
1025 | dev: true
1026 |
1027 | /espree/9.4.1:
1028 | resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
1029 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1030 | dependencies:
1031 | acorn: 8.8.2
1032 | acorn-jsx: 5.3.2_acorn@8.8.2
1033 | eslint-visitor-keys: 3.3.0
1034 | dev: true
1035 |
1036 | /esquery/1.4.0:
1037 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
1038 | engines: {node: '>=0.10'}
1039 | dependencies:
1040 | estraverse: 5.3.0
1041 | dev: true
1042 |
1043 | /esrecurse/4.3.0:
1044 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1045 | engines: {node: '>=4.0'}
1046 | dependencies:
1047 | estraverse: 5.3.0
1048 | dev: true
1049 |
1050 | /estraverse/4.3.0:
1051 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1052 | engines: {node: '>=4.0'}
1053 | dev: true
1054 |
1055 | /estraverse/5.3.0:
1056 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1057 | engines: {node: '>=4.0'}
1058 | dev: true
1059 |
1060 | /esutils/2.0.3:
1061 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1062 | engines: {node: '>=0.10.0'}
1063 | dev: true
1064 |
1065 | /fast-deep-equal/3.1.3:
1066 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1067 | dev: true
1068 |
1069 | /fast-glob/3.2.12:
1070 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1071 | engines: {node: '>=8.6.0'}
1072 | dependencies:
1073 | '@nodelib/fs.stat': 2.0.5
1074 | '@nodelib/fs.walk': 1.2.8
1075 | glob-parent: 5.1.2
1076 | merge2: 1.4.1
1077 | micromatch: 4.0.5
1078 | dev: true
1079 |
1080 | /fast-json-stable-stringify/2.1.0:
1081 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1082 | dev: true
1083 |
1084 | /fast-levenshtein/2.0.6:
1085 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1086 | dev: true
1087 |
1088 | /fastq/1.15.0:
1089 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1090 | dependencies:
1091 | reusify: 1.0.4
1092 | dev: true
1093 |
1094 | /file-entry-cache/6.0.1:
1095 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1096 | engines: {node: ^10.12.0 || >=12.0.0}
1097 | dependencies:
1098 | flat-cache: 3.0.4
1099 | dev: true
1100 |
1101 | /fill-range/7.0.1:
1102 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1103 | engines: {node: '>=8'}
1104 | dependencies:
1105 | to-regex-range: 5.0.1
1106 | dev: true
1107 |
1108 | /find-up/5.0.0:
1109 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1110 | engines: {node: '>=10'}
1111 | dependencies:
1112 | locate-path: 6.0.0
1113 | path-exists: 4.0.0
1114 | dev: true
1115 |
1116 | /flat-cache/3.0.4:
1117 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1118 | engines: {node: ^10.12.0 || >=12.0.0}
1119 | dependencies:
1120 | flatted: 3.2.7
1121 | rimraf: 3.0.2
1122 | dev: true
1123 |
1124 | /flatted/3.2.7:
1125 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1126 | dev: true
1127 |
1128 | /fs.realpath/1.0.0:
1129 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1130 | dev: true
1131 |
1132 | /fsevents/2.3.2:
1133 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1134 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1135 | os: [darwin]
1136 | requiresBuild: true
1137 | dev: true
1138 | optional: true
1139 |
1140 | /function-bind/1.1.1:
1141 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1142 | dev: true
1143 |
1144 | /get-func-name/2.0.0:
1145 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
1146 | dev: true
1147 |
1148 | /glob-parent/5.1.2:
1149 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1150 | engines: {node: '>= 6'}
1151 | dependencies:
1152 | is-glob: 4.0.3
1153 | dev: true
1154 |
1155 | /glob-parent/6.0.2:
1156 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1157 | engines: {node: '>=10.13.0'}
1158 | dependencies:
1159 | is-glob: 4.0.3
1160 | dev: true
1161 |
1162 | /glob/7.2.3:
1163 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1164 | dependencies:
1165 | fs.realpath: 1.0.0
1166 | inflight: 1.0.6
1167 | inherits: 2.0.4
1168 | minimatch: 3.1.2
1169 | once: 1.4.0
1170 | path-is-absolute: 1.0.1
1171 | dev: true
1172 |
1173 | /globals/13.20.0:
1174 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
1175 | engines: {node: '>=8'}
1176 | dependencies:
1177 | type-fest: 0.20.2
1178 | dev: true
1179 |
1180 | /globalyzer/0.1.0:
1181 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
1182 | dev: true
1183 |
1184 | /globby/11.1.0:
1185 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1186 | engines: {node: '>=10'}
1187 | dependencies:
1188 | array-union: 2.1.0
1189 | dir-glob: 3.0.1
1190 | fast-glob: 3.2.12
1191 | ignore: 5.2.4
1192 | merge2: 1.4.1
1193 | slash: 3.0.0
1194 | dev: true
1195 |
1196 | /globrex/0.1.2:
1197 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1198 | dev: true
1199 |
1200 | /graceful-fs/4.2.10:
1201 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
1202 | dev: true
1203 |
1204 | /grapheme-splitter/1.0.4:
1205 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1206 | dev: true
1207 |
1208 | /has-flag/4.0.0:
1209 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1210 | engines: {node: '>=8'}
1211 | dev: true
1212 |
1213 | /has/1.0.3:
1214 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1215 | engines: {node: '>= 0.4.0'}
1216 | dependencies:
1217 | function-bind: 1.1.1
1218 | dev: true
1219 |
1220 | /ignore/5.2.4:
1221 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1222 | engines: {node: '>= 4'}
1223 | dev: true
1224 |
1225 | /import-fresh/3.3.0:
1226 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1227 | engines: {node: '>=6'}
1228 | dependencies:
1229 | parent-module: 1.0.1
1230 | resolve-from: 4.0.0
1231 | dev: true
1232 |
1233 | /import-meta-resolve/2.2.1:
1234 | resolution: {integrity: sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==}
1235 | dev: true
1236 |
1237 | /imurmurhash/0.1.4:
1238 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1239 | engines: {node: '>=0.8.19'}
1240 | dev: true
1241 |
1242 | /inflight/1.0.6:
1243 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1244 | dependencies:
1245 | once: 1.4.0
1246 | wrappy: 1.0.2
1247 | dev: true
1248 |
1249 | /inherits/2.0.4:
1250 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1251 | dev: true
1252 |
1253 | /is-binary-path/2.1.0:
1254 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1255 | engines: {node: '>=8'}
1256 | dependencies:
1257 | binary-extensions: 2.2.0
1258 | dev: true
1259 |
1260 | /is-core-module/2.11.0:
1261 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1262 | dependencies:
1263 | has: 1.0.3
1264 | dev: true
1265 |
1266 | /is-extglob/2.1.1:
1267 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1268 | engines: {node: '>=0.10.0'}
1269 | dev: true
1270 |
1271 | /is-glob/4.0.3:
1272 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1273 | engines: {node: '>=0.10.0'}
1274 | dependencies:
1275 | is-extglob: 2.1.1
1276 | dev: true
1277 |
1278 | /is-number/7.0.0:
1279 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1280 | engines: {node: '>=0.12.0'}
1281 | dev: true
1282 |
1283 | /is-path-inside/3.0.3:
1284 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1285 | engines: {node: '>=8'}
1286 | dev: true
1287 |
1288 | /isexe/2.0.0:
1289 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1290 | dev: true
1291 |
1292 | /js-sdsl/4.3.0:
1293 | resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==}
1294 | dev: true
1295 |
1296 | /js-yaml/4.1.0:
1297 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1298 | hasBin: true
1299 | dependencies:
1300 | argparse: 2.0.1
1301 | dev: true
1302 |
1303 | /json-schema-traverse/0.4.1:
1304 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1305 | dev: true
1306 |
1307 | /json-stable-stringify-without-jsonify/1.0.1:
1308 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1309 | dev: true
1310 |
1311 | /kleur/4.1.5:
1312 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1313 | engines: {node: '>=6'}
1314 | dev: true
1315 |
1316 | /levn/0.4.1:
1317 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1318 | engines: {node: '>= 0.8.0'}
1319 | dependencies:
1320 | prelude-ls: 1.2.1
1321 | type-check: 0.4.0
1322 | dev: true
1323 |
1324 | /local-pkg/0.4.3:
1325 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
1326 | engines: {node: '>=14'}
1327 | dev: true
1328 |
1329 | /locate-path/6.0.0:
1330 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1331 | engines: {node: '>=10'}
1332 | dependencies:
1333 | p-locate: 5.0.0
1334 | dev: true
1335 |
1336 | /lodash.merge/4.6.2:
1337 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1338 | dev: true
1339 |
1340 | /loupe/2.3.6:
1341 | resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
1342 | dependencies:
1343 | get-func-name: 2.0.0
1344 | dev: true
1345 |
1346 | /lru-cache/6.0.0:
1347 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1348 | engines: {node: '>=10'}
1349 | dependencies:
1350 | yallist: 4.0.0
1351 | dev: true
1352 |
1353 | /lucia-auth/0.6.0:
1354 | resolution: {integrity: sha512-8j5nPl3RbbqGoZWULER4q+2PP7i8F3Eq3OeN7EnL+bxi4YAn5I+5FcNq/ikUCj8neOxGZyzJiRzFJq+t3r28+g==}
1355 | dependencies:
1356 | '@noble/hashes': 1.2.0
1357 | nanoid: 4.0.1
1358 | dev: false
1359 |
1360 | /magic-string/0.27.0:
1361 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1362 | engines: {node: '>=12'}
1363 | dependencies:
1364 | '@jridgewell/sourcemap-codec': 1.4.14
1365 | dev: true
1366 |
1367 | /merge2/1.4.1:
1368 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1369 | engines: {node: '>= 8'}
1370 | dev: true
1371 |
1372 | /micromatch/4.0.5:
1373 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1374 | engines: {node: '>=8.6'}
1375 | dependencies:
1376 | braces: 3.0.2
1377 | picomatch: 2.3.1
1378 | dev: true
1379 |
1380 | /mime/3.0.0:
1381 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
1382 | engines: {node: '>=10.0.0'}
1383 | hasBin: true
1384 | dev: true
1385 |
1386 | /min-indent/1.0.1:
1387 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1388 | engines: {node: '>=4'}
1389 | dev: true
1390 |
1391 | /minimatch/3.1.2:
1392 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1393 | dependencies:
1394 | brace-expansion: 1.1.11
1395 | dev: true
1396 |
1397 | /minimist/1.2.7:
1398 | resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
1399 | dev: true
1400 |
1401 | /mkdirp/0.5.6:
1402 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1403 | hasBin: true
1404 | dependencies:
1405 | minimist: 1.2.7
1406 | dev: true
1407 |
1408 | /mri/1.2.0:
1409 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1410 | engines: {node: '>=4'}
1411 | dev: true
1412 |
1413 | /mrmime/1.0.1:
1414 | resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
1415 | engines: {node: '>=10'}
1416 | dev: true
1417 |
1418 | /ms/2.1.2:
1419 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1420 | dev: true
1421 |
1422 | /nanoid/3.3.4:
1423 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1424 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1425 | hasBin: true
1426 | dev: true
1427 |
1428 | /nanoid/4.0.1:
1429 | resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==}
1430 | engines: {node: ^14 || ^16 || >=18}
1431 | hasBin: true
1432 | dev: false
1433 |
1434 | /natural-compare-lite/1.4.0:
1435 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
1436 | dev: true
1437 |
1438 | /natural-compare/1.4.0:
1439 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1440 | dev: true
1441 |
1442 | /normalize-path/3.0.0:
1443 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1444 | engines: {node: '>=0.10.0'}
1445 | dev: true
1446 |
1447 | /once/1.4.0:
1448 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1449 | dependencies:
1450 | wrappy: 1.0.2
1451 | dev: true
1452 |
1453 | /optionator/0.9.1:
1454 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1455 | engines: {node: '>= 0.8.0'}
1456 | dependencies:
1457 | deep-is: 0.1.4
1458 | fast-levenshtein: 2.0.6
1459 | levn: 0.4.1
1460 | prelude-ls: 1.2.1
1461 | type-check: 0.4.0
1462 | word-wrap: 1.2.3
1463 | dev: true
1464 |
1465 | /p-limit/3.1.0:
1466 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1467 | engines: {node: '>=10'}
1468 | dependencies:
1469 | yocto-queue: 0.1.0
1470 | dev: true
1471 |
1472 | /p-locate/5.0.0:
1473 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1474 | engines: {node: '>=10'}
1475 | dependencies:
1476 | p-limit: 3.1.0
1477 | dev: true
1478 |
1479 | /parent-module/1.0.1:
1480 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1481 | engines: {node: '>=6'}
1482 | dependencies:
1483 | callsites: 3.1.0
1484 | dev: true
1485 |
1486 | /path-exists/4.0.0:
1487 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1488 | engines: {node: '>=8'}
1489 | dev: true
1490 |
1491 | /path-is-absolute/1.0.1:
1492 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1493 | engines: {node: '>=0.10.0'}
1494 | dev: true
1495 |
1496 | /path-key/3.1.1:
1497 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1498 | engines: {node: '>=8'}
1499 | dev: true
1500 |
1501 | /path-parse/1.0.7:
1502 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1503 | dev: true
1504 |
1505 | /path-type/4.0.0:
1506 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1507 | engines: {node: '>=8'}
1508 | dev: true
1509 |
1510 | /pathval/1.1.1:
1511 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
1512 | dev: true
1513 |
1514 | /picocolors/1.0.0:
1515 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1516 | dev: true
1517 |
1518 | /picomatch/2.3.1:
1519 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1520 | engines: {node: '>=8.6'}
1521 | dev: true
1522 |
1523 | /playwright-core/1.30.0:
1524 | resolution: {integrity: sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==}
1525 | engines: {node: '>=14'}
1526 | hasBin: true
1527 | dev: true
1528 |
1529 | /postcss/8.4.21:
1530 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
1531 | engines: {node: ^10 || ^12 || >=14}
1532 | dependencies:
1533 | nanoid: 3.3.4
1534 | picocolors: 1.0.0
1535 | source-map-js: 1.0.2
1536 | dev: true
1537 |
1538 | /prelude-ls/1.2.1:
1539 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1540 | engines: {node: '>= 0.8.0'}
1541 | dev: true
1542 |
1543 | /prettier-plugin-svelte/2.9.0_kdmmghgdi3ngrsq6otxkjilbry:
1544 | resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==}
1545 | peerDependencies:
1546 | prettier: ^1.16.4 || ^2.0.0
1547 | svelte: ^3.2.0
1548 | dependencies:
1549 | prettier: 2.8.3
1550 | svelte: 3.55.1
1551 | dev: true
1552 |
1553 | /prettier/2.8.3:
1554 | resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==}
1555 | engines: {node: '>=10.13.0'}
1556 | hasBin: true
1557 | dev: true
1558 |
1559 | /prisma/4.9.0:
1560 | resolution: {integrity: sha512-bS96oZ5oDFXYgoF2l7PJ3Mp1wWWfLOo8B/jAfbA2Pn0Wm5Z/owBHzaMQKS3i1CzVBDWWPVnOohmbJmjvkcHS5w==}
1561 | engines: {node: '>=14.17'}
1562 | hasBin: true
1563 | requiresBuild: true
1564 | dependencies:
1565 | '@prisma/engines': 4.9.0
1566 |
1567 | /punycode/2.3.0:
1568 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
1569 | engines: {node: '>=6'}
1570 | dev: true
1571 |
1572 | /queue-microtask/1.2.3:
1573 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1574 | dev: true
1575 |
1576 | /readdirp/3.6.0:
1577 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1578 | engines: {node: '>=8.10.0'}
1579 | dependencies:
1580 | picomatch: 2.3.1
1581 | dev: true
1582 |
1583 | /regexpp/3.2.0:
1584 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
1585 | engines: {node: '>=8'}
1586 | dev: true
1587 |
1588 | /resolve-from/4.0.0:
1589 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1590 | engines: {node: '>=4'}
1591 | dev: true
1592 |
1593 | /resolve/1.22.1:
1594 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1595 | hasBin: true
1596 | dependencies:
1597 | is-core-module: 2.11.0
1598 | path-parse: 1.0.7
1599 | supports-preserve-symlinks-flag: 1.0.0
1600 | dev: true
1601 |
1602 | /reusify/1.0.4:
1603 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1604 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1605 | dev: true
1606 |
1607 | /rimraf/2.7.1:
1608 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1609 | hasBin: true
1610 | dependencies:
1611 | glob: 7.2.3
1612 | dev: true
1613 |
1614 | /rimraf/3.0.2:
1615 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1616 | hasBin: true
1617 | dependencies:
1618 | glob: 7.2.3
1619 | dev: true
1620 |
1621 | /rollup/3.13.0:
1622 | resolution: {integrity: sha512-HJwQtrXAc0AmyDohTJ/2c+Bx/sWPScJLlAUJ1kuD7rAkCro8Cr2SnVB2gVYBiSLxpgD2kZ24jbyXtG++GumrYQ==}
1623 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1624 | hasBin: true
1625 | optionalDependencies:
1626 | fsevents: 2.3.2
1627 | dev: true
1628 |
1629 | /rome/11.0.0:
1630 | resolution: {integrity: sha512-rRo6JOwpMLc3OkeTDRXkrmrDqnxDvZ75GS4f0jLDBNmRgDXWbu0F8eVnJoRn+VbK2AE7vWvhVOMBjnWowcopkQ==}
1631 | engines: {node: '>=14.*'}
1632 | hasBin: true
1633 | requiresBuild: true
1634 | optionalDependencies:
1635 | '@rometools/cli-darwin-arm64': 11.0.0
1636 | '@rometools/cli-darwin-x64': 11.0.0
1637 | '@rometools/cli-linux-arm64': 11.0.0
1638 | '@rometools/cli-linux-x64': 11.0.0
1639 | '@rometools/cli-win32-arm64': 11.0.0
1640 | '@rometools/cli-win32-x64': 11.0.0
1641 | dev: true
1642 |
1643 | /run-parallel/1.2.0:
1644 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1645 | dependencies:
1646 | queue-microtask: 1.2.3
1647 | dev: true
1648 |
1649 | /sade/1.8.1:
1650 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1651 | engines: {node: '>=6'}
1652 | dependencies:
1653 | mri: 1.2.0
1654 | dev: true
1655 |
1656 | /sander/0.5.1:
1657 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1658 | dependencies:
1659 | es6-promise: 3.3.1
1660 | graceful-fs: 4.2.10
1661 | mkdirp: 0.5.6
1662 | rimraf: 2.7.1
1663 | dev: true
1664 |
1665 | /semver/7.3.8:
1666 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
1667 | engines: {node: '>=10'}
1668 | hasBin: true
1669 | dependencies:
1670 | lru-cache: 6.0.0
1671 | dev: true
1672 |
1673 | /set-cookie-parser/2.5.1:
1674 | resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==}
1675 | dev: true
1676 |
1677 | /shebang-command/2.0.0:
1678 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1679 | engines: {node: '>=8'}
1680 | dependencies:
1681 | shebang-regex: 3.0.0
1682 | dev: true
1683 |
1684 | /shebang-regex/3.0.0:
1685 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1686 | engines: {node: '>=8'}
1687 | dev: true
1688 |
1689 | /sirv/2.0.2:
1690 | resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
1691 | engines: {node: '>= 10'}
1692 | dependencies:
1693 | '@polka/url': 1.0.0-next.21
1694 | mrmime: 1.0.1
1695 | totalist: 3.0.0
1696 | dev: true
1697 |
1698 | /slash/3.0.0:
1699 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1700 | engines: {node: '>=8'}
1701 | dev: true
1702 |
1703 | /sorcery/0.11.0:
1704 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1705 | hasBin: true
1706 | dependencies:
1707 | '@jridgewell/sourcemap-codec': 1.4.14
1708 | buffer-crc32: 0.2.13
1709 | minimist: 1.2.7
1710 | sander: 0.5.1
1711 | dev: true
1712 |
1713 | /source-map-js/1.0.2:
1714 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1715 | engines: {node: '>=0.10.0'}
1716 | dev: true
1717 |
1718 | /source-map/0.6.1:
1719 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1720 | engines: {node: '>=0.10.0'}
1721 | dev: true
1722 |
1723 | /streamsearch/1.1.0:
1724 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1725 | engines: {node: '>=10.0.0'}
1726 | dev: true
1727 |
1728 | /strip-ansi/6.0.1:
1729 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1730 | engines: {node: '>=8'}
1731 | dependencies:
1732 | ansi-regex: 5.0.1
1733 | dev: true
1734 |
1735 | /strip-indent/3.0.0:
1736 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1737 | engines: {node: '>=8'}
1738 | dependencies:
1739 | min-indent: 1.0.1
1740 | dev: true
1741 |
1742 | /strip-json-comments/3.1.1:
1743 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1744 | engines: {node: '>=8'}
1745 | dev: true
1746 |
1747 | /strip-literal/1.0.1:
1748 | resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
1749 | dependencies:
1750 | acorn: 8.8.2
1751 | dev: true
1752 |
1753 | /supports-color/7.2.0:
1754 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1755 | engines: {node: '>=8'}
1756 | dependencies:
1757 | has-flag: 4.0.0
1758 | dev: true
1759 |
1760 | /supports-preserve-symlinks-flag/1.0.0:
1761 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1762 | engines: {node: '>= 0.4'}
1763 | dev: true
1764 |
1765 | /svelte-check/3.0.3_svelte@3.55.1:
1766 | resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==}
1767 | hasBin: true
1768 | peerDependencies:
1769 | svelte: ^3.55.0
1770 | dependencies:
1771 | '@jridgewell/trace-mapping': 0.3.17
1772 | chokidar: 3.5.3
1773 | fast-glob: 3.2.12
1774 | import-fresh: 3.3.0
1775 | picocolors: 1.0.0
1776 | sade: 1.8.1
1777 | svelte: 3.55.1
1778 | svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa
1779 | typescript: 4.9.5
1780 | transitivePeerDependencies:
1781 | - '@babel/core'
1782 | - coffeescript
1783 | - less
1784 | - postcss
1785 | - postcss-load-config
1786 | - pug
1787 | - sass
1788 | - stylus
1789 | - sugarss
1790 | dev: true
1791 |
1792 | /svelte-hmr/0.15.1_svelte@3.55.1:
1793 | resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==}
1794 | engines: {node: ^12.20 || ^14.13.1 || >= 16}
1795 | peerDependencies:
1796 | svelte: '>=3.19.0'
1797 | dependencies:
1798 | svelte: 3.55.1
1799 | dev: true
1800 |
1801 | /svelte-preprocess/5.0.1_4x7phaipmicbaooxtnresslofa:
1802 | resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==}
1803 | engines: {node: '>= 14.10.0'}
1804 | requiresBuild: true
1805 | peerDependencies:
1806 | '@babel/core': ^7.10.2
1807 | coffeescript: ^2.5.1
1808 | less: ^3.11.3 || ^4.0.0
1809 | postcss: ^7 || ^8
1810 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
1811 | pug: ^3.0.0
1812 | sass: ^1.26.8
1813 | stylus: ^0.55.0
1814 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
1815 | svelte: ^3.23.0
1816 | typescript: ^3.9.5 || ^4.0.0
1817 | peerDependenciesMeta:
1818 | '@babel/core':
1819 | optional: true
1820 | coffeescript:
1821 | optional: true
1822 | less:
1823 | optional: true
1824 | postcss:
1825 | optional: true
1826 | postcss-load-config:
1827 | optional: true
1828 | pug:
1829 | optional: true
1830 | sass:
1831 | optional: true
1832 | stylus:
1833 | optional: true
1834 | sugarss:
1835 | optional: true
1836 | typescript:
1837 | optional: true
1838 | dependencies:
1839 | '@types/pug': 2.0.6
1840 | '@types/sass': 1.43.1
1841 | detect-indent: 6.1.0
1842 | magic-string: 0.27.0
1843 | sorcery: 0.11.0
1844 | strip-indent: 3.0.0
1845 | svelte: 3.55.1
1846 | typescript: 4.9.5
1847 | dev: true
1848 |
1849 | /svelte/3.55.1:
1850 | resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==}
1851 | engines: {node: '>= 8'}
1852 |
1853 | /text-table/0.2.0:
1854 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1855 | dev: true
1856 |
1857 | /tiny-glob/0.2.9:
1858 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
1859 | dependencies:
1860 | globalyzer: 0.1.0
1861 | globrex: 0.1.2
1862 | dev: true
1863 |
1864 | /tinybench/2.3.1:
1865 | resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
1866 | dev: true
1867 |
1868 | /tinypool/0.3.1:
1869 | resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
1870 | engines: {node: '>=14.0.0'}
1871 | dev: true
1872 |
1873 | /tinyspy/1.0.2:
1874 | resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==}
1875 | engines: {node: '>=14.0.0'}
1876 | dev: true
1877 |
1878 | /to-regex-range/5.0.1:
1879 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1880 | engines: {node: '>=8.0'}
1881 | dependencies:
1882 | is-number: 7.0.0
1883 | dev: true
1884 |
1885 | /totalist/3.0.0:
1886 | resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==}
1887 | engines: {node: '>=6'}
1888 | dev: true
1889 |
1890 | /tslib/1.14.1:
1891 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
1892 | dev: true
1893 |
1894 | /tslib/2.5.0:
1895 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
1896 | dev: true
1897 |
1898 | /tsutils/3.21.0_typescript@4.9.5:
1899 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
1900 | engines: {node: '>= 6'}
1901 | peerDependencies:
1902 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
1903 | dependencies:
1904 | tslib: 1.14.1
1905 | typescript: 4.9.5
1906 | dev: true
1907 |
1908 | /type-check/0.4.0:
1909 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1910 | engines: {node: '>= 0.8.0'}
1911 | dependencies:
1912 | prelude-ls: 1.2.1
1913 | dev: true
1914 |
1915 | /type-detect/4.0.8:
1916 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
1917 | engines: {node: '>=4'}
1918 | dev: true
1919 |
1920 | /type-fest/0.20.2:
1921 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1922 | engines: {node: '>=10'}
1923 | dev: true
1924 |
1925 | /typescript/4.9.5:
1926 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
1927 | engines: {node: '>=4.2.0'}
1928 | hasBin: true
1929 | dev: true
1930 |
1931 | /undici/5.16.0:
1932 | resolution: {integrity: sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==}
1933 | engines: {node: '>=12.18'}
1934 | dependencies:
1935 | busboy: 1.6.0
1936 | dev: true
1937 |
1938 | /uri-js/4.4.1:
1939 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1940 | dependencies:
1941 | punycode: 2.3.0
1942 | dev: true
1943 |
1944 | /vite/4.1.1:
1945 | resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
1946 | engines: {node: ^14.18.0 || >=16.0.0}
1947 | hasBin: true
1948 | peerDependencies:
1949 | '@types/node': '>= 14'
1950 | less: '*'
1951 | sass: '*'
1952 | stylus: '*'
1953 | sugarss: '*'
1954 | terser: ^5.4.0
1955 | peerDependenciesMeta:
1956 | '@types/node':
1957 | optional: true
1958 | less:
1959 | optional: true
1960 | sass:
1961 | optional: true
1962 | stylus:
1963 | optional: true
1964 | sugarss:
1965 | optional: true
1966 | terser:
1967 | optional: true
1968 | dependencies:
1969 | esbuild: 0.16.17
1970 | postcss: 8.4.21
1971 | resolve: 1.22.1
1972 | rollup: 3.13.0
1973 | optionalDependencies:
1974 | fsevents: 2.3.2
1975 | dev: true
1976 |
1977 | /vite/4.1.1_@types+node@18.11.19:
1978 | resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
1979 | engines: {node: ^14.18.0 || >=16.0.0}
1980 | hasBin: true
1981 | peerDependencies:
1982 | '@types/node': '>= 14'
1983 | less: '*'
1984 | sass: '*'
1985 | stylus: '*'
1986 | sugarss: '*'
1987 | terser: ^5.4.0
1988 | peerDependenciesMeta:
1989 | '@types/node':
1990 | optional: true
1991 | less:
1992 | optional: true
1993 | sass:
1994 | optional: true
1995 | stylus:
1996 | optional: true
1997 | sugarss:
1998 | optional: true
1999 | terser:
2000 | optional: true
2001 | dependencies:
2002 | '@types/node': 18.11.19
2003 | esbuild: 0.16.17
2004 | postcss: 8.4.21
2005 | resolve: 1.22.1
2006 | rollup: 3.13.0
2007 | optionalDependencies:
2008 | fsevents: 2.3.2
2009 | dev: true
2010 |
2011 | /vitefu/0.2.4_vite@4.1.1:
2012 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
2013 | peerDependencies:
2014 | vite: ^3.0.0 || ^4.0.0
2015 | peerDependenciesMeta:
2016 | vite:
2017 | optional: true
2018 | dependencies:
2019 | vite: 4.1.1
2020 | dev: true
2021 |
2022 | /vitest/0.25.8:
2023 | resolution: {integrity: sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==}
2024 | engines: {node: '>=v14.16.0'}
2025 | hasBin: true
2026 | peerDependencies:
2027 | '@edge-runtime/vm': '*'
2028 | '@vitest/browser': '*'
2029 | '@vitest/ui': '*'
2030 | happy-dom: '*'
2031 | jsdom: '*'
2032 | peerDependenciesMeta:
2033 | '@edge-runtime/vm':
2034 | optional: true
2035 | '@vitest/browser':
2036 | optional: true
2037 | '@vitest/ui':
2038 | optional: true
2039 | happy-dom:
2040 | optional: true
2041 | jsdom:
2042 | optional: true
2043 | dependencies:
2044 | '@types/chai': 4.3.4
2045 | '@types/chai-subset': 1.3.3
2046 | '@types/node': 18.11.19
2047 | acorn: 8.8.2
2048 | acorn-walk: 8.2.0
2049 | chai: 4.3.7
2050 | debug: 4.3.4
2051 | local-pkg: 0.4.3
2052 | source-map: 0.6.1
2053 | strip-literal: 1.0.1
2054 | tinybench: 2.3.1
2055 | tinypool: 0.3.1
2056 | tinyspy: 1.0.2
2057 | vite: 4.1.1_@types+node@18.11.19
2058 | transitivePeerDependencies:
2059 | - less
2060 | - sass
2061 | - stylus
2062 | - sugarss
2063 | - supports-color
2064 | - terser
2065 | dev: true
2066 |
2067 | /which/2.0.2:
2068 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2069 | engines: {node: '>= 8'}
2070 | hasBin: true
2071 | dependencies:
2072 | isexe: 2.0.0
2073 | dev: true
2074 |
2075 | /word-wrap/1.2.3:
2076 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2077 | engines: {node: '>=0.10.0'}
2078 | dev: true
2079 |
2080 | /wrappy/1.0.2:
2081 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2082 | dev: true
2083 |
2084 | /yallist/4.0.0:
2085 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2086 | dev: true
2087 |
2088 | /yocto-queue/0.1.0:
2089 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2090 | engines: {node: '>=10'}
2091 | dev: true
2092 |
--------------------------------------------------------------------------------
/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | // This is your Prisma schema file,
2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema
3 |
4 | generator client {
5 | provider = "prisma-client-js"
6 | }
7 |
8 | datasource db {
9 | provider = "sqlite"
10 | url = "file:./dev.sqlite"
11 | }
12 |
13 | model Article {
14 | id Int @id @default(autoincrement())
15 | title String
16 | content String
17 | auth_user AuthUser @relation(fields: [userId], references: [id])
18 | userId String
19 | }
20 |
21 | model AuthUser {
22 | id String @id @unique
23 | name String
24 | username String @unique
25 | articles Article[]
26 | auth_session AuthSession[]
27 | auth_key AuthKey[]
28 |
29 | @@map("auth_user")
30 | }
31 |
32 | model AuthSession {
33 | id String @id @unique
34 | user_id String
35 | active_expires BigInt
36 | idle_expires BigInt
37 | auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
38 |
39 | @@index([user_id])
40 | @@map("auth_session")
41 | }
42 |
43 | model AuthKey {
44 | id String @id @unique
45 | hashed_password String?
46 | user_id String
47 | primary_key Boolean
48 | expires BigInt?
49 | auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
50 |
51 | @@index([user_id])
52 | @@map("auth_key")
53 | }
54 |
--------------------------------------------------------------------------------
/rome.json:
--------------------------------------------------------------------------------
1 | {
2 | "linter": {
3 | "enabled": true,
4 | "rules": {
5 | "recommended": true
6 | }
7 | },
8 | "javascript": {
9 | "formatter": {
10 | "semicolons": "asNeeded"
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/src/app.d.ts:
--------------------------------------------------------------------------------
1 | import type { PrismaClient } from '@prisma/client'
2 |
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | interface Locals {
7 | auth: import('lucia-auth').AuthRequest
8 | }
9 | // interface PageData {}
10 | // interface Platform {}
11 | }
12 | var __prisma: PrismaClient
13 |
14 | ///
16 | {article.content} 17 |
18 | {#if article.userId === data.user?.userId} 19 | 22 | Edit Article 25 | {/if} 26 |Don't have an account? Register
15 | -------------------------------------------------------------------------------- /src/routes/logout/+server.ts: -------------------------------------------------------------------------------- 1 | import { auth } from '$lib/server/lucia' 2 | import { redirect } from '@sveltejs/kit' 3 | import type { RequestHandler } from './$types' 4 | 5 | export const POST: RequestHandler = async ({ locals }) => { 6 | const session = await locals.auth.validate() 7 | if (!session) { 8 | throw redirect(302, '/') 9 | } 10 | 11 | await auth.invalidateSession(session.sessionId) 12 | locals.auth.setSession(null) 13 | 14 | throw redirect(302, '/') 15 | } 16 | -------------------------------------------------------------------------------- /src/routes/register/+page.server.ts: -------------------------------------------------------------------------------- 1 | import { auth } from '$lib/server/lucia' 2 | import { fail, redirect } from '@sveltejs/kit' 3 | import type { Actions, PageServerLoad } from './$types' 4 | 5 | export const load: PageServerLoad = async ({ locals }) => { 6 | const session = await locals.auth.validate() 7 | if (session) { 8 | throw redirect(302, '/') 9 | } 10 | } 11 | 12 | export const actions: Actions = { 13 | default: async ({ request }) => { 14 | const { name, username, password } = Object.fromEntries(await request.formData()) as Record< 15 | string, 16 | string 17 | > 18 | try { 19 | await auth.createUser({ 20 | primaryKey: { 21 | providerId: 'username', 22 | providerUserId: username, 23 | password 24 | }, 25 | attributes: { 26 | name, 27 | username 28 | } 29 | }) 30 | } catch (err) { 31 | console.error(err) 32 | return fail(400, { message: 'Could not register user' }) 33 | } 34 | throw redirect(302, '/login') 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/routes/register/+page.svelte: -------------------------------------------------------------------------------- 1 | 18 |Already have an account? Login
19 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huntabyte/sveltekit-lucia-prisma/b0ded019cc89947ce5230b33a0c982d7ab46f847/static/favicon.png -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import { vitePreprocess } from '@sveltejs/kit/vite'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors 7 | // for more information about preprocessors 8 | preprocess: vitePreprocess(), 9 | 10 | kit: { 11 | adapter: adapter() 12 | } 13 | }; 14 | 15 | export default config; 16 | -------------------------------------------------------------------------------- /tests/test.ts: -------------------------------------------------------------------------------- 1 | import { expect, test } from '@playwright/test'; 2 | 3 | test('index page has expected h1', async ({ page }) => { 4 | await page.goto('/'); 5 | expect(await page.textContent('h1')).toBe('Welcome to SvelteKit'); 6 | }); 7 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true 12 | } 13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias 14 | // 15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 16 | // from the referenced tsconfig.json - TypeScript does not merge them in 17 | } 18 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import type { UserConfig } from 'vite'; 3 | 4 | const config: UserConfig = { 5 | plugins: [sveltekit()], 6 | test: { 7 | include: ['src/**/*.{test,spec}.{js,ts}'] 8 | } 9 | }; 10 | 11 | export default config; 12 | --------------------------------------------------------------------------------