final code
This commit is contained in:
commit
dcc30ded70
37
package.json
37
package.json
@ -14,28 +14,31 @@
|
|||||||
"format": "prettier --plugin-search-dir . --write ."
|
"format": "prettier --plugin-search-dir . --write ."
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@playwright/test": "^1.28.1",
|
"@playwright/test": "^1.30.0",
|
||||||
"@sveltejs/adapter-auto": "^1.0.0",
|
"@sveltejs/adapter-auto": "^1.0.2",
|
||||||
"@sveltejs/kit": "^1.0.0",
|
"@sveltejs/kit": "^1.3.10",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
"@typescript-eslint/eslint-plugin": "^5.50.0",
|
||||||
"@typescript-eslint/parser": "^5.45.0",
|
"@typescript-eslint/parser": "^5.50.0",
|
||||||
"eslint": "^8.28.0",
|
"eslint": "^8.33.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.6.0",
|
||||||
"eslint-plugin-svelte3": "^4.0.0",
|
"eslint-plugin-svelte3": "^4.0.0",
|
||||||
"prettier": "^2.8.0",
|
"prettier": "^2.8.3",
|
||||||
"prettier-plugin-svelte": "^2.8.1",
|
"prettier-plugin-svelte": "^2.9.0",
|
||||||
"prisma": "^4.9.0",
|
"prisma": "^4.9.0",
|
||||||
"rome": "^11.0.0",
|
"rome": "^11.0.0",
|
||||||
"svelte": "^3.54.0",
|
"svelte": "^3.55.1",
|
||||||
"svelte-check": "^3.0.1",
|
"svelte-check": "^3.0.3",
|
||||||
"tslib": "^2.4.1",
|
"tslib": "^2.5.0",
|
||||||
"typescript": "^4.9.3",
|
"typescript": "^4.9.5",
|
||||||
"vite": "^4.0.0",
|
"vite": "^4.1.1",
|
||||||
"vitest": "^0.25.3"
|
"vitest": "^0.25.8"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@picocss/pico": "^1.5.6",
|
"@lucia-auth/adapter-prisma": "^0.4.0",
|
||||||
"@prisma/client": "^4.9.0"
|
"@lucia-auth/sveltekit": "^0.6.2",
|
||||||
|
"@picocss/pico": "^1.5.7",
|
||||||
|
"@prisma/client": "^4.9.0",
|
||||||
|
"lucia-auth": "^0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
389
pnpm-lock.yaml
389
pnpm-lock.yaml
@ -1,49 +1,55 @@
|
|||||||
lockfileVersion: 5.4
|
lockfileVersion: 5.4
|
||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
'@picocss/pico': ^1.5.6
|
'@lucia-auth/adapter-prisma': ^0.4.0
|
||||||
'@playwright/test': ^1.28.1
|
'@lucia-auth/sveltekit': ^0.6.2
|
||||||
|
'@picocss/pico': ^1.5.7
|
||||||
|
'@playwright/test': ^1.30.0
|
||||||
'@prisma/client': ^4.9.0
|
'@prisma/client': ^4.9.0
|
||||||
'@sveltejs/adapter-auto': ^1.0.0
|
'@sveltejs/adapter-auto': ^1.0.2
|
||||||
'@sveltejs/kit': ^1.0.0
|
'@sveltejs/kit': ^1.3.10
|
||||||
'@typescript-eslint/eslint-plugin': ^5.45.0
|
'@typescript-eslint/eslint-plugin': ^5.50.0
|
||||||
'@typescript-eslint/parser': ^5.45.0
|
'@typescript-eslint/parser': ^5.50.0
|
||||||
eslint: ^8.28.0
|
eslint: ^8.33.0
|
||||||
eslint-config-prettier: ^8.5.0
|
eslint-config-prettier: ^8.6.0
|
||||||
eslint-plugin-svelte3: ^4.0.0
|
eslint-plugin-svelte3: ^4.0.0
|
||||||
prettier: ^2.8.0
|
lucia-auth: ^0.6.0
|
||||||
prettier-plugin-svelte: ^2.8.1
|
prettier: ^2.8.3
|
||||||
|
prettier-plugin-svelte: ^2.9.0
|
||||||
prisma: ^4.9.0
|
prisma: ^4.9.0
|
||||||
rome: ^11.0.0
|
rome: ^11.0.0
|
||||||
svelte: ^3.54.0
|
svelte: ^3.55.1
|
||||||
svelte-check: ^3.0.1
|
svelte-check: ^3.0.3
|
||||||
tslib: ^2.4.1
|
tslib: ^2.5.0
|
||||||
typescript: ^4.9.3
|
typescript: ^4.9.5
|
||||||
vite: ^4.0.0
|
vite: ^4.1.1
|
||||||
vitest: ^0.25.3
|
vitest: ^0.25.8
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@picocss/pico': 1.5.6
|
'@lucia-auth/adapter-prisma': 0.4.0_lucia-auth@0.6.0
|
||||||
|
'@lucia-auth/sveltekit': 0.6.2_iyasqsbplmktfcni36hpxhd3zi
|
||||||
|
'@picocss/pico': 1.5.7
|
||||||
'@prisma/client': 4.9.0_prisma@4.9.0
|
'@prisma/client': 4.9.0_prisma@4.9.0
|
||||||
|
lucia-auth: 0.6.0
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@playwright/test': 1.29.2
|
'@playwright/test': 1.30.0
|
||||||
'@sveltejs/adapter-auto': 1.0.1_@sveltejs+kit@1.1.3
|
'@sveltejs/adapter-auto': 1.0.2_@sveltejs+kit@1.3.10
|
||||||
'@sveltejs/kit': 1.1.3_svelte@3.55.1+vite@4.0.4
|
'@sveltejs/kit': 1.3.10_svelte@3.55.1+vite@4.1.1
|
||||||
'@typescript-eslint/eslint-plugin': 5.48.2_caon6io6stgpr7lz2rtbhekxqy
|
'@typescript-eslint/eslint-plugin': 5.50.0_go4drrxstycfikanvu45pi4vgq
|
||||||
'@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje
|
'@typescript-eslint/parser': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
eslint-config-prettier: 8.6.0_eslint@8.32.0
|
eslint-config-prettier: 8.6.0_eslint@8.33.0
|
||||||
eslint-plugin-svelte3: 4.0.0_tmo5zkisvhu6htudosk5k7m6pu
|
eslint-plugin-svelte3: 4.0.0_4omm2ewoudhgnmf7aocafatnc4
|
||||||
prettier: 2.8.3
|
prettier: 2.8.3
|
||||||
prettier-plugin-svelte: 2.9.0_kdmmghgdi3ngrsq6otxkjilbry
|
prettier-plugin-svelte: 2.9.0_kdmmghgdi3ngrsq6otxkjilbry
|
||||||
prisma: 4.9.0
|
prisma: 4.9.0
|
||||||
rome: 11.0.0
|
rome: 11.0.0
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
svelte-check: 3.0.2_svelte@3.55.1
|
svelte-check: 3.0.3_svelte@3.55.1
|
||||||
tslib: 2.4.1
|
tslib: 2.5.0
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
vite: 4.0.4
|
vite: 4.1.1
|
||||||
vitest: 0.25.8
|
vitest: 0.25.8
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
@ -253,7 +259,7 @@ packages:
|
|||||||
ajv: 6.12.6
|
ajv: 6.12.6
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
espree: 9.4.1
|
espree: 9.4.1
|
||||||
globals: 13.19.0
|
globals: 13.20.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
import-fresh: 3.3.0
|
import-fresh: 3.3.0
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
@ -299,6 +305,29 @@ packages:
|
|||||||
'@jridgewell/sourcemap-codec': 1.4.14
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@lucia-auth/adapter-prisma/0.4.0_lucia-auth@0.6.0:
|
||||||
|
resolution: {integrity: sha512-HMaGbVfB5KTZBs6KPqI5z6RFKVl4AKfm9u2KrrQglthpd/rWJoJRDI2oYkdcEX4Xu1FNdNJJrEtKKBtVAXYqrw==}
|
||||||
|
peerDependencies:
|
||||||
|
lucia-auth: 0.6.x
|
||||||
|
dependencies:
|
||||||
|
lucia-auth: 0.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@lucia-auth/sveltekit/0.6.2_iyasqsbplmktfcni36hpxhd3zi:
|
||||||
|
resolution: {integrity: sha512-+lOhgctcdVkPRYtJegTaEZYLFhPJOHFjdAm9cBFFjpkV6cNGuHSTxobfOn7yRy3pGVhzGFM91uOfYrJxmECOBA==}
|
||||||
|
peerDependencies:
|
||||||
|
lucia-auth: 0.5.x - 0.6.x
|
||||||
|
svelte: 3.x
|
||||||
|
dependencies:
|
||||||
|
'@noble/hashes': 1.2.0
|
||||||
|
lucia-auth: 0.6.0
|
||||||
|
svelte: 3.55.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@noble/hashes/1.2.0:
|
||||||
|
resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@nodelib/fs.scandir/2.1.5:
|
/@nodelib/fs.scandir/2.1.5:
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -320,17 +349,17 @@ packages:
|
|||||||
fastq: 1.15.0
|
fastq: 1.15.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@picocss/pico/1.5.6:
|
/@picocss/pico/1.5.7:
|
||||||
resolution: {integrity: sha512-9R+OdtMuHijKa7AQKBrng/1Q/Cd3BnEigYJXmOxI10Eka2qGGDa4b0hua8UeYu01BTtAiO70K7CQuHffU4YXGA==}
|
resolution: {integrity: sha512-RygdXNlSXieAs9jMw/AeqA1ki1kldgEYbRn8BnYZIPfRTM5NWZ4uVzMK6uMPhYlRjoT5wD/OplZvIefnCqyDCQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@playwright/test/1.29.2:
|
/@playwright/test/1.30.0:
|
||||||
resolution: {integrity: sha512-+3/GPwOgcoF0xLz/opTnahel1/y42PdcgZ4hs+BZGIUjtmEFSXGg+nFoaH3NSmuc7a6GSFwXDJ5L7VXpqzigNg==}
|
resolution: {integrity: sha512-SVxkQw1xvn/Wk/EvBnqWIq6NLo1AppwbYOjNLmyU0R1RoQ3rLEBtmjTnElcnz8VEtn11fptj1ECxK0tgURhajw==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.18
|
'@types/node': 18.11.19
|
||||||
playwright-core: 1.29.2
|
playwright-core: 1.30.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@polka/url/1.0.0-next.21:
|
/@polka/url/1.0.0-next.21:
|
||||||
@ -407,17 +436,17 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@sveltejs/adapter-auto/1.0.1_@sveltejs+kit@1.1.3:
|
/@sveltejs/adapter-auto/1.0.2_@sveltejs+kit@1.3.10:
|
||||||
resolution: {integrity: sha512-IGek24xN1wJb+gz0hyGSxbIvM7q2K+BXquyycteCWbH9MPosjw8+LuIB2HIH20thE/647UEQBNqCM9R73lAUXA==}
|
resolution: {integrity: sha512-UXpEO/gutERZnD+Z5Vi4J/ifD3WSRuCI7xwtLJTcKNQvJ6t5Xsj1X3Mw2F8Vv/XTUuxf7xPLYUgThU331r0Y9w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': ^1.0.0
|
'@sveltejs/kit': ^1.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 1.1.3_svelte@3.55.1+vite@4.0.4
|
'@sveltejs/kit': 1.3.10_svelte@3.55.1+vite@4.1.1
|
||||||
import-meta-resolve: 2.2.1
|
import-meta-resolve: 2.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/kit/1.1.3_svelte@3.55.1+vite@4.0.4:
|
/@sveltejs/kit/1.3.10_svelte@3.55.1+vite@4.1.1:
|
||||||
resolution: {integrity: sha512-LVsJjJmimUf+p26EpBEZ6lDdwk+WqNGPyy9MQ1HVYLgj5AEECATMeg8OlmUujh7bW2Tib0Cag1UWI7zMMe66WA==}
|
resolution: {integrity: sha512-I3DgWCwTYbTz4ZPCJIRkSDrKkMu0bsdk6ghqsOBVNqesf1wBdTdfkXhag3ESWgIEjUV3VUIWPQF7fnt7328mhQ==}
|
||||||
engines: {node: ^16.14 || >=18}
|
engines: {node: ^16.14 || >=18}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
@ -425,10 +454,10 @@ packages:
|
|||||||
svelte: ^3.54.0
|
svelte: ^3.54.0
|
||||||
vite: ^4.0.0
|
vite: ^4.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.0.4
|
'@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.1
|
||||||
'@types/cookie': 0.5.1
|
'@types/cookie': 0.5.1
|
||||||
cookie: 0.5.0
|
cookie: 0.5.0
|
||||||
devalue: 4.2.2
|
devalue: 4.2.3
|
||||||
esm-env: 1.0.0
|
esm-env: 1.0.0
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.27.0
|
magic-string: 0.27.0
|
||||||
@ -438,13 +467,13 @@ packages:
|
|||||||
sirv: 2.0.2
|
sirv: 2.0.2
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
undici: 5.15.0
|
undici: 5.16.0
|
||||||
vite: 4.0.4
|
vite: 4.1.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.0.4:
|
/@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.1:
|
||||||
resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==}
|
resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==}
|
||||||
engines: {node: ^14.18.0 || >= 16}
|
engines: {node: ^14.18.0 || >= 16}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -452,13 +481,13 @@ packages:
|
|||||||
vite: ^4.0.0
|
vite: ^4.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
deepmerge: 4.2.2
|
deepmerge: 4.3.0
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.27.0
|
magic-string: 0.27.0
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
svelte-hmr: 0.15.1_svelte@3.55.1
|
svelte-hmr: 0.15.1_svelte@3.55.1
|
||||||
vite: 4.0.4
|
vite: 4.1.1
|
||||||
vitefu: 0.2.4_vite@4.0.4
|
vitefu: 0.2.4_vite@4.1.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
@ -481,8 +510,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/node/18.11.18:
|
/@types/node/18.11.19:
|
||||||
resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==}
|
resolution: {integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/pug/2.0.6:
|
/@types/pug/2.0.6:
|
||||||
@ -492,15 +521,15 @@ packages:
|
|||||||
/@types/sass/1.43.1:
|
/@types/sass/1.43.1:
|
||||||
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
|
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.18
|
'@types/node': 18.11.19
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/semver/7.3.13:
|
/@types/semver/7.3.13:
|
||||||
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
|
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin/5.48.2_caon6io6stgpr7lz2rtbhekxqy:
|
/@typescript-eslint/eslint-plugin/5.50.0_go4drrxstycfikanvu45pi4vgq:
|
||||||
resolution: {integrity: sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==}
|
resolution: {integrity: sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^5.0.0
|
'@typescript-eslint/parser': ^5.0.0
|
||||||
@ -510,24 +539,25 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje
|
'@typescript-eslint/parser': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
|
||||||
'@typescript-eslint/scope-manager': 5.48.2
|
'@typescript-eslint/scope-manager': 5.50.0
|
||||||
'@typescript-eslint/type-utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje
|
'@typescript-eslint/type-utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
|
||||||
'@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje
|
'@typescript-eslint/utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
|
grapheme-splitter: 1.0.4
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
natural-compare-lite: 1.4.0
|
natural-compare-lite: 1.4.0
|
||||||
regexpp: 3.2.0
|
regexpp: 3.2.0
|
||||||
semver: 7.3.8
|
semver: 7.3.8
|
||||||
tsutils: 3.21.0_typescript@4.9.4
|
tsutils: 3.21.0_typescript@4.9.5
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser/5.48.2_7uibuqfxkfaozanbtbziikiqje:
|
/@typescript-eslint/parser/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
|
||||||
resolution: {integrity: sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==}
|
resolution: {integrity: sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
@ -536,26 +566,26 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 5.48.2
|
'@typescript-eslint/scope-manager': 5.50.0
|
||||||
'@typescript-eslint/types': 5.48.2
|
'@typescript-eslint/types': 5.50.0
|
||||||
'@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4
|
'@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/scope-manager/5.48.2:
|
/@typescript-eslint/scope-manager/5.50.0:
|
||||||
resolution: {integrity: sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==}
|
resolution: {integrity: sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.48.2
|
'@typescript-eslint/types': 5.50.0
|
||||||
'@typescript-eslint/visitor-keys': 5.48.2
|
'@typescript-eslint/visitor-keys': 5.50.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils/5.48.2_7uibuqfxkfaozanbtbziikiqje:
|
/@typescript-eslint/type-utils/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
|
||||||
resolution: {integrity: sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==}
|
resolution: {integrity: sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '*'
|
eslint: '*'
|
||||||
@ -564,23 +594,23 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4
|
'@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
|
||||||
'@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje
|
'@typescript-eslint/utils': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
tsutils: 3.21.0_typescript@4.9.4
|
tsutils: 3.21.0_typescript@4.9.5
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/types/5.48.2:
|
/@typescript-eslint/types/5.50.0:
|
||||||
resolution: {integrity: sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==}
|
resolution: {integrity: sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree/5.48.2_typescript@4.9.4:
|
/@typescript-eslint/typescript-estree/5.50.0_typescript@4.9.5:
|
||||||
resolution: {integrity: sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==}
|
resolution: {integrity: sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
@ -588,52 +618,52 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.48.2
|
'@typescript-eslint/types': 5.50.0
|
||||||
'@typescript-eslint/visitor-keys': 5.48.2
|
'@typescript-eslint/visitor-keys': 5.50.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
semver: 7.3.8
|
semver: 7.3.8
|
||||||
tsutils: 3.21.0_typescript@4.9.4
|
tsutils: 3.21.0_typescript@4.9.5
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils/5.48.2_7uibuqfxkfaozanbtbziikiqje:
|
/@typescript-eslint/utils/5.50.0_4vsywjlpuriuw3tl5oq6zy5a64:
|
||||||
resolution: {integrity: sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==}
|
resolution: {integrity: sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/json-schema': 7.0.11
|
'@types/json-schema': 7.0.11
|
||||||
'@types/semver': 7.3.13
|
'@types/semver': 7.3.13
|
||||||
'@typescript-eslint/scope-manager': 5.48.2
|
'@typescript-eslint/scope-manager': 5.50.0
|
||||||
'@typescript-eslint/types': 5.48.2
|
'@typescript-eslint/types': 5.50.0
|
||||||
'@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4
|
'@typescript-eslint/typescript-estree': 5.50.0_typescript@4.9.5
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
eslint-utils: 3.0.0_eslint@8.32.0
|
eslint-utils: 3.0.0_eslint@8.33.0
|
||||||
semver: 7.3.8
|
semver: 7.3.8
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/visitor-keys/5.48.2:
|
/@typescript-eslint/visitor-keys/5.50.0:
|
||||||
resolution: {integrity: sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==}
|
resolution: {integrity: sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.48.2
|
'@typescript-eslint/types': 5.50.0
|
||||||
eslint-visitor-keys: 3.3.0
|
eslint-visitor-keys: 3.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/acorn-jsx/5.3.2_acorn@8.8.1:
|
/acorn-jsx/5.3.2_acorn@8.8.2:
|
||||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn: 8.8.1
|
acorn: 8.8.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/acorn-walk/8.2.0:
|
/acorn-walk/8.2.0:
|
||||||
@ -641,8 +671,8 @@ packages:
|
|||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/acorn/8.8.1:
|
/acorn/8.8.2:
|
||||||
resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
|
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
@ -820,8 +850,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/deepmerge/4.2.2:
|
/deepmerge/4.3.0:
|
||||||
resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
|
resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -830,8 +860,8 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/devalue/4.2.2:
|
/devalue/4.2.3:
|
||||||
resolution: {integrity: sha512-Pkwd8qrI9O20VJ14fBNHu+on99toTNZFbgWRpZbC0zbDXpnE2WHYcrC1fHhMsF/3Ee+2yaW7vEujAT7fCYgqrA==}
|
resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/dir-glob/3.0.1:
|
/dir-glob/3.0.1:
|
||||||
@ -887,22 +917,22 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-config-prettier/8.6.0_eslint@8.32.0:
|
/eslint-config-prettier/8.6.0_eslint@8.33.0:
|
||||||
resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
|
resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=7.0.0'
|
eslint: '>=7.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-svelte3/4.0.0_tmo5zkisvhu6htudosk5k7m6pu:
|
/eslint-plugin-svelte3/4.0.0_4omm2ewoudhgnmf7aocafatnc4:
|
||||||
resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
|
resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=8.0.0'
|
eslint: '>=8.0.0'
|
||||||
svelte: ^3.2.0
|
svelte: ^3.2.0
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -922,13 +952,13 @@ packages:
|
|||||||
estraverse: 5.3.0
|
estraverse: 5.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-utils/3.0.0_eslint@8.32.0:
|
/eslint-utils/3.0.0_eslint@8.33.0:
|
||||||
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
|
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
|
||||||
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
|
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=5'
|
eslint: '>=5'
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.32.0
|
eslint: 8.33.0
|
||||||
eslint-visitor-keys: 2.1.0
|
eslint-visitor-keys: 2.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -942,8 +972,8 @@ packages:
|
|||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint/8.32.0:
|
/eslint/8.33.0:
|
||||||
resolution: {integrity: sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==}
|
resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -958,7 +988,7 @@ packages:
|
|||||||
doctrine: 3.0.0
|
doctrine: 3.0.0
|
||||||
escape-string-regexp: 4.0.0
|
escape-string-regexp: 4.0.0
|
||||||
eslint-scope: 7.1.1
|
eslint-scope: 7.1.1
|
||||||
eslint-utils: 3.0.0_eslint@8.32.0
|
eslint-utils: 3.0.0_eslint@8.33.0
|
||||||
eslint-visitor-keys: 3.3.0
|
eslint-visitor-keys: 3.3.0
|
||||||
espree: 9.4.1
|
espree: 9.4.1
|
||||||
esquery: 1.4.0
|
esquery: 1.4.0
|
||||||
@ -967,14 +997,14 @@ packages:
|
|||||||
file-entry-cache: 6.0.1
|
file-entry-cache: 6.0.1
|
||||||
find-up: 5.0.0
|
find-up: 5.0.0
|
||||||
glob-parent: 6.0.2
|
glob-parent: 6.0.2
|
||||||
globals: 13.19.0
|
globals: 13.20.0
|
||||||
grapheme-splitter: 1.0.4
|
grapheme-splitter: 1.0.4
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
import-fresh: 3.3.0
|
import-fresh: 3.3.0
|
||||||
imurmurhash: 0.1.4
|
imurmurhash: 0.1.4
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
is-path-inside: 3.0.3
|
is-path-inside: 3.0.3
|
||||||
js-sdsl: 4.2.0
|
js-sdsl: 4.3.0
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
json-stable-stringify-without-jsonify: 1.0.1
|
json-stable-stringify-without-jsonify: 1.0.1
|
||||||
levn: 0.4.1
|
levn: 0.4.1
|
||||||
@ -998,8 +1028,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
|
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn: 8.8.1
|
acorn: 8.8.2
|
||||||
acorn-jsx: 5.3.2_acorn@8.8.1
|
acorn-jsx: 5.3.2_acorn@8.8.2
|
||||||
eslint-visitor-keys: 3.3.0
|
eslint-visitor-keys: 3.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1140,8 +1170,8 @@ packages:
|
|||||||
path-is-absolute: 1.0.1
|
path-is-absolute: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/globals/13.19.0:
|
/globals/13.20.0:
|
||||||
resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
|
resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
type-fest: 0.20.2
|
type-fest: 0.20.2
|
||||||
@ -1259,8 +1289,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/js-sdsl/4.2.0:
|
/js-sdsl/4.3.0:
|
||||||
resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==}
|
resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/js-yaml/4.1.0:
|
/js-yaml/4.1.0:
|
||||||
@ -1291,8 +1321,8 @@ packages:
|
|||||||
type-check: 0.4.0
|
type-check: 0.4.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/local-pkg/0.4.2:
|
/local-pkg/0.4.3:
|
||||||
resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
|
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1320,6 +1350,13 @@ packages:
|
|||||||
yallist: 4.0.0
|
yallist: 4.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/lucia-auth/0.6.0:
|
||||||
|
resolution: {integrity: sha512-8j5nPl3RbbqGoZWULER4q+2PP7i8F3Eq3OeN7EnL+bxi4YAn5I+5FcNq/ikUCj8neOxGZyzJiRzFJq+t3r28+g==}
|
||||||
|
dependencies:
|
||||||
|
'@noble/hashes': 1.2.0
|
||||||
|
nanoid: 4.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/magic-string/0.27.0:
|
/magic-string/0.27.0:
|
||||||
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
|
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@ -1388,6 +1425,12 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/nanoid/4.0.1:
|
||||||
|
resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==}
|
||||||
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/natural-compare-lite/1.4.0:
|
/natural-compare-lite/1.4.0:
|
||||||
resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
|
resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -1477,8 +1520,8 @@ packages:
|
|||||||
engines: {node: '>=8.6'}
|
engines: {node: '>=8.6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/playwright-core/1.29.2:
|
/playwright-core/1.30.0:
|
||||||
resolution: {integrity: sha512-94QXm4PMgFoHAhlCuoWyaBYKb92yOcGVHdQLoxQ7Wjlc7Flg4aC/jbFW7xMR52OfXMVkWicue4WXE7QEegbIRA==}
|
resolution: {integrity: sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
@ -1521,8 +1564,8 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@prisma/engines': 4.9.0
|
'@prisma/engines': 4.9.0
|
||||||
|
|
||||||
/punycode/2.2.0:
|
/punycode/2.3.0:
|
||||||
resolution: {integrity: sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==}
|
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1575,8 +1618,8 @@ packages:
|
|||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/rollup/3.10.0:
|
/rollup/3.13.0:
|
||||||
resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==}
|
resolution: {integrity: sha512-HJwQtrXAc0AmyDohTJ/2c+Bx/sWPScJLlAUJ1kuD7rAkCro8Cr2SnVB2gVYBiSLxpgD2kZ24jbyXtG++GumrYQ==}
|
||||||
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@ -1657,14 +1700,14 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sorcery/0.10.0:
|
/sorcery/0.11.0:
|
||||||
resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==}
|
resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
buffer-crc32: 0.2.13
|
buffer-crc32: 0.2.13
|
||||||
minimist: 1.2.7
|
minimist: 1.2.7
|
||||||
sander: 0.5.1
|
sander: 0.5.1
|
||||||
sourcemap-codec: 1.4.8
|
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/source-map-js/1.0.2:
|
/source-map-js/1.0.2:
|
||||||
@ -1677,11 +1720,6 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sourcemap-codec/1.4.8:
|
|
||||||
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
|
||||||
deprecated: Please use @jridgewell/sourcemap-codec instead
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/streamsearch/1.1.0:
|
/streamsearch/1.1.0:
|
||||||
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
@ -1706,10 +1744,10 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-literal/1.0.0:
|
/strip-literal/1.0.1:
|
||||||
resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==}
|
resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn: 8.8.1
|
acorn: 8.8.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/supports-color/7.2.0:
|
/supports-color/7.2.0:
|
||||||
@ -1724,8 +1762,8 @@ packages:
|
|||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svelte-check/3.0.2_svelte@3.55.1:
|
/svelte-check/3.0.3_svelte@3.55.1:
|
||||||
resolution: {integrity: sha512-DkhKhV0Jt0gh7q9DBB26+J2Vfb9y4/4JWxnbkXBZha7542LOhwvj3edJFjyJ+xjdaXyInZ+YRRYc3V6wytP2ew==}
|
resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.55.0
|
svelte: ^3.55.0
|
||||||
@ -1737,8 +1775,8 @@ packages:
|
|||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
sade: 1.8.1
|
sade: 1.8.1
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
svelte-preprocess: 5.0.0_atrrhq7vg4ekua4nnyrpuardle
|
svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- coffeescript
|
- coffeescript
|
||||||
@ -1760,8 +1798,8 @@ packages:
|
|||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svelte-preprocess/5.0.0_atrrhq7vg4ekua4nnyrpuardle:
|
/svelte-preprocess/5.0.1_4x7phaipmicbaooxtnresslofa:
|
||||||
resolution: {integrity: sha512-q7lpa7i2FBu8Pa+G0MmuQQWETBwCKgsGmuq1Sf6n8q4uaG9ZLcLP0Y+etC6bF4sE6EbLxfiI38zV6RfPe3RSfg==}
|
resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==}
|
||||||
engines: {node: '>= 14.10.0'}
|
engines: {node: '>= 14.10.0'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -1802,16 +1840,15 @@ packages:
|
|||||||
'@types/sass': 1.43.1
|
'@types/sass': 1.43.1
|
||||||
detect-indent: 6.1.0
|
detect-indent: 6.1.0
|
||||||
magic-string: 0.27.0
|
magic-string: 0.27.0
|
||||||
sorcery: 0.10.0
|
sorcery: 0.11.0
|
||||||
strip-indent: 3.0.0
|
strip-indent: 3.0.0
|
||||||
svelte: 3.55.1
|
svelte: 3.55.1
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svelte/3.55.1:
|
/svelte/3.55.1:
|
||||||
resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==}
|
resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/text-table/0.2.0:
|
/text-table/0.2.0:
|
||||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||||
@ -1828,8 +1865,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
|
resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tinypool/0.3.0:
|
/tinypool/0.3.1:
|
||||||
resolution: {integrity: sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==}
|
resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -1854,18 +1891,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tslib/2.4.1:
|
/tslib/2.5.0:
|
||||||
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
|
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tsutils/3.21.0_typescript@4.9.4:
|
/tsutils/3.21.0_typescript@4.9.5:
|
||||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
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'
|
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'
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
typescript: 4.9.4
|
typescript: 4.9.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/type-check/0.4.0:
|
/type-check/0.4.0:
|
||||||
@ -1885,14 +1922,14 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/typescript/4.9.4:
|
/typescript/4.9.5:
|
||||||
resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
|
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/undici/5.15.0:
|
/undici/5.16.0:
|
||||||
resolution: {integrity: sha512-wCAZJDyjw9Myv+Ay62LAoB+hZLPW9SmKbQkbHIhMw/acKSlpn7WohdMUc/Vd4j1iSMBO0hWwU8mjB7a5p5bl8g==}
|
resolution: {integrity: sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==}
|
||||||
engines: {node: '>=12.18'}
|
engines: {node: '>=12.18'}
|
||||||
dependencies:
|
dependencies:
|
||||||
busboy: 1.6.0
|
busboy: 1.6.0
|
||||||
@ -1901,11 +1938,11 @@ packages:
|
|||||||
/uri-js/4.4.1:
|
/uri-js/4.4.1:
|
||||||
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
punycode: 2.2.0
|
punycode: 2.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/4.0.4:
|
/vite/4.1.1:
|
||||||
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
|
resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -1932,13 +1969,13 @@ packages:
|
|||||||
esbuild: 0.16.17
|
esbuild: 0.16.17
|
||||||
postcss: 8.4.21
|
postcss: 8.4.21
|
||||||
resolve: 1.22.1
|
resolve: 1.22.1
|
||||||
rollup: 3.10.0
|
rollup: 3.13.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/4.0.4_@types+node@18.11.18:
|
/vite/4.1.1_@types+node@18.11.19:
|
||||||
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
|
resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -1962,16 +1999,16 @@ packages:
|
|||||||
terser:
|
terser:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.11.18
|
'@types/node': 18.11.19
|
||||||
esbuild: 0.16.17
|
esbuild: 0.16.17
|
||||||
postcss: 8.4.21
|
postcss: 8.4.21
|
||||||
resolve: 1.22.1
|
resolve: 1.22.1
|
||||||
rollup: 3.10.0
|
rollup: 3.13.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitefu/0.2.4_vite@4.0.4:
|
/vitefu/0.2.4_vite@4.1.1:
|
||||||
resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
|
resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^3.0.0 || ^4.0.0
|
vite: ^3.0.0 || ^4.0.0
|
||||||
@ -1979,7 +2016,7 @@ packages:
|
|||||||
vite:
|
vite:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 4.0.4
|
vite: 4.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitest/0.25.8:
|
/vitest/0.25.8:
|
||||||
@ -2006,18 +2043,18 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@types/chai': 4.3.4
|
'@types/chai': 4.3.4
|
||||||
'@types/chai-subset': 1.3.3
|
'@types/chai-subset': 1.3.3
|
||||||
'@types/node': 18.11.18
|
'@types/node': 18.11.19
|
||||||
acorn: 8.8.1
|
acorn: 8.8.2
|
||||||
acorn-walk: 8.2.0
|
acorn-walk: 8.2.0
|
||||||
chai: 4.3.7
|
chai: 4.3.7
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
local-pkg: 0.4.2
|
local-pkg: 0.4.3
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
strip-literal: 1.0.0
|
strip-literal: 1.0.1
|
||||||
tinybench: 2.3.1
|
tinybench: 2.3.1
|
||||||
tinypool: 0.3.0
|
tinypool: 0.3.1
|
||||||
tinyspy: 1.0.2
|
tinyspy: 1.0.2
|
||||||
vite: 4.0.4_@types+node@18.11.18
|
vite: 4.1.1_@types+node@18.11.19
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- less
|
- less
|
||||||
- sass
|
- sass
|
||||||
|
@ -14,4 +14,39 @@ model Article {
|
|||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
title String
|
title String
|
||||||
content String
|
content String
|
||||||
|
User User @relation(fields: [userId], references: [id])
|
||||||
|
userId String
|
||||||
|
}
|
||||||
|
|
||||||
|
model User {
|
||||||
|
id String @id @unique
|
||||||
|
name String
|
||||||
|
username String @unique
|
||||||
|
articles Article[]
|
||||||
|
session Session[]
|
||||||
|
Key Key[]
|
||||||
|
|
||||||
|
@@map("user")
|
||||||
|
}
|
||||||
|
|
||||||
|
model Session {
|
||||||
|
id String @id @unique
|
||||||
|
user_id String
|
||||||
|
active_expires BigInt
|
||||||
|
idle_expires BigInt
|
||||||
|
user User @relation(references: [id], fields: [user_id], onDelete: Cascade)
|
||||||
|
|
||||||
|
@@index([user_id])
|
||||||
|
@@map("session")
|
||||||
|
}
|
||||||
|
|
||||||
|
model Key {
|
||||||
|
id String @id @unique
|
||||||
|
hashed_password String?
|
||||||
|
user_id String
|
||||||
|
primary Boolean
|
||||||
|
user User @relation(references: [id], fields: [user_id], onDelete: Cascade)
|
||||||
|
|
||||||
|
@@index([user_id])
|
||||||
|
@@map("key")
|
||||||
}
|
}
|
||||||
|
15
src/app.d.ts
vendored
15
src/app.d.ts
vendored
@ -3,11 +3,24 @@ import type { PrismaClient } from "@prisma/client"
|
|||||||
declare global {
|
declare global {
|
||||||
namespace App {
|
namespace App {
|
||||||
// interface Error {}
|
// interface Error {}
|
||||||
// interface Locals {}
|
interface Locals {
|
||||||
|
validate: import("@lucia-auth/sveltekit").Validate
|
||||||
|
validateUser: import("@lucia-auth/sveltekit").ValidateUser
|
||||||
|
setSession: import("@lucia-auth/sveltekit").SetSession
|
||||||
|
}
|
||||||
// interface PageData {}
|
// interface PageData {}
|
||||||
// interface Platform {}
|
// interface Platform {}
|
||||||
}
|
}
|
||||||
var __prisma: PrismaClient
|
var __prisma: PrismaClient
|
||||||
|
|
||||||
|
/// <reference types="lucia-auth" />
|
||||||
|
declare namespace Lucia {
|
||||||
|
type Auth = import("$lib/server/lucia").Auth
|
||||||
|
type UserAttributes = {
|
||||||
|
username: string
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {}
|
export {}
|
||||||
|
10
src/hooks.server.ts
Normal file
10
src/hooks.server.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { handleHooks } from "@lucia-auth/sveltekit"
|
||||||
|
import { auth } from "$lib/server/lucia"
|
||||||
|
import type { Handle } from "@sveltejs/kit"
|
||||||
|
import { sequence } from "@sveltejs/kit/hooks"
|
||||||
|
|
||||||
|
export const customHandle: Handle = async ({ resolve, event }) => {
|
||||||
|
return resolve(event)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const handle: Handle = sequence(handleHooks(auth), customHandle)
|
18
src/lib/server/lucia.ts
Normal file
18
src/lib/server/lucia.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import lucia from "lucia-auth"
|
||||||
|
import prismaAdapter from "@lucia-auth/adapter-prisma"
|
||||||
|
import { dev } from "$app/environment"
|
||||||
|
import { prisma } from "$lib/server/prisma"
|
||||||
|
|
||||||
|
export const auth = lucia({
|
||||||
|
adapter: prismaAdapter(prisma),
|
||||||
|
env: dev ? "DEV" : "PROD",
|
||||||
|
transformUserData: (userData) => {
|
||||||
|
return {
|
||||||
|
userId: userData.id,
|
||||||
|
username: userData.username,
|
||||||
|
name: userData.name,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
export type Auth = typeof auth
|
@ -1,8 +1,9 @@
|
|||||||
import { PrismaClient } from "@prisma/client"
|
import { PrismaClient } from "@prisma/client"
|
||||||
|
import { env } from "$env/dynamic/private"
|
||||||
|
|
||||||
const prisma = global.__prisma || new PrismaClient()
|
const prisma = global.__prisma || new PrismaClient()
|
||||||
|
|
||||||
if (process.env.NODE_ENV === "development") {
|
if (env.NODE_ENV === "development") {
|
||||||
global.__prisma = prisma
|
global.__prisma = prisma
|
||||||
}
|
}
|
||||||
|
|
||||||
|
6
src/routes/+layout.server.ts
Normal file
6
src/routes/+layout.server.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import type { LayoutServerLoad } from "./$types"
|
||||||
|
|
||||||
|
export const load: LayoutServerLoad = async ({ locals }) => {
|
||||||
|
const { user, session } = await locals.validateUser()
|
||||||
|
return { user }
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import '@picocss/pico'
|
import '@picocss/pico'
|
||||||
|
import type { PageData } from './$types'
|
||||||
|
export let data: PageData
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -12,9 +14,17 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
|
<form method="POST">
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
|
{#if !data.user}
|
||||||
<li><a href="/register">Register</a></li>
|
<li><a href="/register">Register</a></li>
|
||||||
<li><a href="/login" role="button">Login</a></li>
|
<li><a href="/login" role="button">Login</a></li>
|
||||||
|
{:else}
|
||||||
|
<li>
|
||||||
|
<button formaction="/logout" type="submit" role="button">Logout</button>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
</form>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<slot />
|
<slot />
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import type { Actions, PageServerLoad } from "./$types"
|
import type { Actions, PageServerLoad } from "./$types"
|
||||||
import { prisma } from "$lib/server/prisma"
|
import { prisma } from "$lib/server/prisma"
|
||||||
import { fail } from "@sveltejs/kit"
|
import { error, fail, redirect } from "@sveltejs/kit"
|
||||||
|
|
||||||
export const load: PageServerLoad = async () => {
|
export const load: PageServerLoad = async () => {
|
||||||
return {
|
return {
|
||||||
@ -9,7 +9,12 @@ export const load: PageServerLoad = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const actions: Actions = {
|
export const actions: Actions = {
|
||||||
createArticle: async ({ request }) => {
|
createArticle: async ({ request, locals }) => {
|
||||||
|
const { user, session } = await locals.validateUser()
|
||||||
|
if (!(user && session)) {
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
||||||
|
|
||||||
const { title, content } = Object.fromEntries(
|
const { title, content } = Object.fromEntries(
|
||||||
await request.formData(),
|
await request.formData(),
|
||||||
) as Record<string, string>
|
) as Record<string, string>
|
||||||
@ -19,6 +24,7 @@ export const actions: Actions = {
|
|||||||
data: {
|
data: {
|
||||||
title,
|
title,
|
||||||
content,
|
content,
|
||||||
|
userId: user.userId,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@ -30,13 +36,27 @@ export const actions: Actions = {
|
|||||||
status: 201,
|
status: 201,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deleteArticle: async ({ url }) => {
|
deleteArticle: async ({ url, locals }) => {
|
||||||
|
const { user, session } = await locals.validateUser()
|
||||||
|
if (!(user && session)) {
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
||||||
const id = url.searchParams.get("id")
|
const id = url.searchParams.get("id")
|
||||||
if (!id) {
|
if (!id) {
|
||||||
return fail(400, { message: "Invalid request" })
|
return fail(400, { message: "Invalid request" })
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const article = await prisma.article.findUniqueOrThrow({
|
||||||
|
where: {
|
||||||
|
id: Number(id),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
if (article.userId !== user.userId) {
|
||||||
|
throw error(403, "Not authorized")
|
||||||
|
}
|
||||||
|
|
||||||
await prisma.article.delete({
|
await prisma.article.delete({
|
||||||
where: {
|
where: {
|
||||||
id: Number(id),
|
id: Number(id),
|
||||||
|
@ -15,21 +15,25 @@
|
|||||||
<p>
|
<p>
|
||||||
{article.content}
|
{article.content}
|
||||||
</p>
|
</p>
|
||||||
|
{#if article.userId === data.user?.userId}
|
||||||
<form action="?/deleteArticle&id={article.id}" method="POST">
|
<form action="?/deleteArticle&id={article.id}" method="POST">
|
||||||
<button type="submit" class="outline secondary">Delete Article</button>
|
<button type="submit" class="outline secondary">Delete Article</button>
|
||||||
</form>
|
</form>
|
||||||
<a href="/{article.id}" role="button" class="outline constrast" style="width: 100%;"
|
<a href="/{article.id}" role="button" class="outline constrast" style="width: 100%;"
|
||||||
>Edit Article</a
|
>Edit Article</a
|
||||||
>
|
>
|
||||||
|
{/if}
|
||||||
</article>
|
</article>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
{#if data.user}
|
||||||
<form action="?/createArticle" method="POST">
|
<form action="?/createArticle" method="POST">
|
||||||
<h3>New Article</h3>
|
<h3>New Article</h3>
|
||||||
<label for="title"> Title </label>
|
<label for="title"> Title </label>
|
||||||
<input type="text" id="title" name="title" />
|
<input type="text" id="title" name="title" />
|
||||||
<label for="title"> Title </label>
|
<label for="title"> Content </label>
|
||||||
<textarea id="content" name="content" rows={5} />
|
<textarea id="content" name="content" rows={5} />
|
||||||
<button type="submit">Add Article</button>
|
<button type="submit">Add Article</button>
|
||||||
</form>
|
</form>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,8 +2,13 @@ import type { Actions, PageServerLoad } from "./$types"
|
|||||||
import { prisma } from "$lib/server/prisma"
|
import { prisma } from "$lib/server/prisma"
|
||||||
import { error, fail } from "@sveltejs/kit"
|
import { error, fail } from "@sveltejs/kit"
|
||||||
|
|
||||||
export const load: PageServerLoad = async ({ params }) => {
|
export const load: PageServerLoad = async ({ params, locals }) => {
|
||||||
const getArticle = async () => {
|
const { user, session } = await locals.validateUser()
|
||||||
|
if (!(user && session)) {
|
||||||
|
throw error(401, "Unauthorized")
|
||||||
|
}
|
||||||
|
|
||||||
|
const getArticle = async (userId: string) => {
|
||||||
const article = await prisma.article.findUnique({
|
const article = await prisma.article.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: Number(params.articleId),
|
id: Number(params.articleId),
|
||||||
@ -12,21 +17,39 @@ export const load: PageServerLoad = async ({ params }) => {
|
|||||||
if (!article) {
|
if (!article) {
|
||||||
throw error(404, "Article not found")
|
throw error(404, "Article not found")
|
||||||
}
|
}
|
||||||
|
if (article.userId !== user.userId) {
|
||||||
|
throw error(403, "Unauthorized")
|
||||||
|
}
|
||||||
|
|
||||||
return article
|
return article
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
article: getArticle(),
|
article: getArticle(user.userId),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const actions: Actions = {
|
export const actions: Actions = {
|
||||||
updateArticle: async ({ request, params }) => {
|
updateArticle: async ({ request, params, locals }) => {
|
||||||
|
const { user, session } = await locals.validateUser()
|
||||||
|
if (!(user && session)) {
|
||||||
|
throw error(401, "Unauthorized")
|
||||||
|
}
|
||||||
|
|
||||||
const { title, content } = Object.fromEntries(
|
const { title, content } = Object.fromEntries(
|
||||||
await request.formData(),
|
await request.formData(),
|
||||||
) as Record<string, string>
|
) as Record<string, string>
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const article = await prisma.article.findUniqueOrThrow({
|
||||||
|
where: {
|
||||||
|
id: Number(params.articleId),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
if (article.userId !== user.userId) {
|
||||||
|
throw error(403, "Forbidden to edit this article.")
|
||||||
|
}
|
||||||
await prisma.article.update({
|
await prisma.article.update({
|
||||||
where: {
|
where: {
|
||||||
id: Number(params.articleId),
|
id: Number(params.articleId),
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
import { auth } from "$lib/server/lucia"
|
||||||
|
import { fail, redirect } from "@sveltejs/kit"
|
||||||
|
import type { Actions, PageServerLoad } from "./$types"
|
||||||
|
|
||||||
|
export const load: PageServerLoad = async ({ locals }) => {
|
||||||
|
const session = await locals.validate()
|
||||||
|
if (session) {
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const actions: Actions = {
|
||||||
|
default: async ({ request, locals }) => {
|
||||||
|
const { username, password } = Object.fromEntries(
|
||||||
|
await request.formData(),
|
||||||
|
) as Record<string, string>
|
||||||
|
|
||||||
|
try {
|
||||||
|
const key = await auth.validateKeyPassword("username", username, password)
|
||||||
|
const session = await auth.createSession(key.userId)
|
||||||
|
locals.setSession(session)
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err)
|
||||||
|
return fail(400, { message: "Could not login user." })
|
||||||
|
}
|
||||||
|
throw redirect(302, "/")
|
||||||
|
},
|
||||||
|
}
|
15
src/routes/logout/+server.ts
Normal file
15
src/routes/logout/+server.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { auth } from "$lib/server/lucia"
|
||||||
|
import { redirect } from "@sveltejs/kit"
|
||||||
|
import type { RequestHandler } from "./$types"
|
||||||
|
|
||||||
|
export const POST: RequestHandler = async ({ locals }) => {
|
||||||
|
const session = await locals.validate()
|
||||||
|
if (!session) {
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
||||||
|
|
||||||
|
await auth.invalidateSession(session.sessionId)
|
||||||
|
locals.setSession(null)
|
||||||
|
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
import { auth } from "$lib/server/lucia"
|
||||||
|
import { fail, redirect } from "@sveltejs/kit"
|
||||||
|
import type { Actions, PageServerLoad } from "./$types"
|
||||||
|
|
||||||
|
export const load: PageServerLoad = async ({ locals }) => {
|
||||||
|
const session = await locals.validate()
|
||||||
|
if (session) {
|
||||||
|
throw redirect(302, "/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const actions: Actions = {
|
||||||
|
default: async ({ request }) => {
|
||||||
|
const { name, username, password } = Object.fromEntries(
|
||||||
|
await request.formData(),
|
||||||
|
) as Record<string, string>
|
||||||
|
|
||||||
|
try {
|
||||||
|
await auth.createUser({
|
||||||
|
key: {
|
||||||
|
providerId: "username",
|
||||||
|
providerUserId: username,
|
||||||
|
password,
|
||||||
|
},
|
||||||
|
attributes: {
|
||||||
|
name,
|
||||||
|
username,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err)
|
||||||
|
return fail(400, { message: "Could not register user" })
|
||||||
|
}
|
||||||
|
throw redirect(302, "/login")
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user