From 07c0cc4a693befd9805c0ac0eb46a95cdcbc18f7 Mon Sep 17 00:00:00 2001 From: Akis Date: Wed, 25 Jan 2023 19:11:11 +0200 Subject: [PATCH] v3 --- .github/workflows/docker-dev.yml | 53 +- .github/workflows/docker.yml | 51 +- .gitignore | 3 +- .npmrc | 1 + .prettierrc | 5 +- README.md | 10 +- compose.yml | 31 +- package.json | 47 +- pnpm-lock.yaml | 1673 +++-------------- src/app.css | 77 + src/app.d.ts | 17 +- src/app.html | 10 +- src/hooks.server.ts | 65 +- src/lib/BlogCard/Meta.svelte | 2 +- src/lib/BlogCard/PostContent.svelte | 2 +- src/lib/BlogCard/PostOuter.svelte | 2 +- src/lib/BlogCard/PostsContainer.svelte | 7 +- src/lib/BlogCard/SingleWordLists.svelte | 2 +- src/lib/BlogCard/Title.svelte | 2 +- src/lib/Card/CardInner.svelte | 36 - src/lib/Card/CardOuter.svelte | 3 - src/lib/Card/Link.svelte | 49 - src/lib/Card/LinksOuter.svelte | 3 - src/lib/Card/index.ts | 4 - src/lib/Footer.svelte | 11 +- src/lib/Form/Captcha.svelte | 33 - src/lib/Form/Form.svelte | 28 - src/lib/Form/Meta.svelte | 51 - src/lib/Form/Note.svelte | 11 - src/lib/Form/TextArea.svelte | 15 - src/lib/Form/index.ts | 5 - src/lib/Hero.svelte | 28 +- src/lib/LinkButton.svelte | 19 - src/lib/{ => Nav}/Nav.svelte | 60 +- src/lib/{ => Nav}/ThemeToggle.svelte | 2 +- src/lib/PMargin.svelte | 8 + src/lib/PageTransition.svelte | 10 + src/lib/app.css | 52 - src/lib/ghost.ts | 9 - src/lib/map.ts | 3 - src/lib/server/db.ts | 14 - src/routes/+error.svelte | 7 +- src/routes/+layout.svelte | 53 +- src/routes/+layout.ts | 7 + src/routes/+page.server.ts | 40 +- src/routes/+page.svelte | 73 +- src/routes/Announcements.svelte | 96 - src/routes/admin/+layout.server.ts | 8 - src/routes/admin/+layout.svelte | 10 - src/routes/admin/+page.svelte | 11 +- src/routes/admin/+page.ts | 7 + .../admin/announcements/+page.server.ts | 51 - src/routes/admin/announcements/+page.svelte | 55 - src/routes/api/status/+server.ts | 12 - src/routes/blog/+page.server.ts | 13 +- src/routes/blog/+page.svelte | 63 +- src/routes/blog/[title]/+page.server.ts | 19 +- src/routes/blog/[title]/+page.svelte | 78 +- src/routes/blog/authors/+page.server.ts | 16 +- src/routes/blog/authors/+page.svelte | 13 +- .../blog/authors/[author]/+page.server.ts | 24 +- src/routes/blog/authors/[author]/+page.svelte | 26 +- src/routes/blog/fetchGhost.ts | 23 + src/routes/blog/tags/+page.server.ts | 15 +- src/routes/blog/tags/+page.svelte | 12 +- src/routes/blog/tags/[tag]/+page.server.ts | 23 +- src/routes/blog/tags/[tag]/+page.svelte | 26 +- src/routes/contact/+page.server.ts | 70 - src/routes/contact/+page.svelte | 95 +- src/routes/contact/+page.ts | 7 + src/routes/donate/+page.md | 50 - src/routes/donate/+page.svelte | 35 + src/routes/donate/+page.ts | 7 + src/routes/donate/CryptoInfo.svelte | 18 + src/routes/instances/+page.server.ts | 15 +- src/routes/instances/+page.svelte | 104 +- src/routes/instances/InstanceLink.svelte | 50 - src/routes/instances/advanced/+page.server.ts | 10 + src/routes/instances/advanced/+page.svelte | 44 + .../instances/instances.ts} | 144 +- src/routes/legal/+page.md | 21 - src/routes/legal/+page.svelte | 32 + src/routes/legal/+page.ts | 8 + src/routes/legal/privacy-policy/+page.md | 44 - src/routes/legal/privacy-policy/+page.svelte | 44 + src/routes/legal/privacy-policy/+page.ts | 7 + src/routes/legal/tos/+page.md | 20 - src/routes/legal/tos/+page.svelte | 20 + src/routes/legal/tos/+page.ts | 7 + src/routes/login/+layout.server.ts | 7 - src/routes/login/+page.server.ts | 16 + src/routes/login/+page.svelte | 38 +- src/routes/pubnix/+page.server.ts | 17 +- src/routes/pubnix/+page.svelte | 78 +- src/routes/pubnix/User.svelte | 64 + src/routes/pubnix/faq/+page.svelte | 16 +- src/routes/pubnix/faq/+page.ts | 7 + src/routes/pubnix/register/+page.server.ts | 50 +- src/routes/pubnix/register/+page.svelte | 54 +- src/routes/pubnix/users/+page.server.ts | 17 +- src/routes/pubnix/users/+page.svelte | 44 +- src/routes/team/+page.svelte | 111 +- src/routes/team/+page.ts | 7 + src/{lib => routes/team}/Team.json | 2 +- src/routes/timeline/+page.svelte | 247 --- static/ProjectSegfault_Desktop_16-9.png | Bin 436108 -> 0 bytes static/favicon.png | Bin 0 -> 1571 bytes static/icons/jitsi.svg | 3 + static/icons/mediawiki.svg | 49 + static/logo_transparent.svg | 113 -- static/{ => qr}/Bitcoin.png | Bin static/{ => qr}/Litecoin.png | Bin static/{ => qr}/Monero.png | Bin svelte.config.js | 16 +- tsconfig.json | 4 + uno.config.ts | 25 +- vite.config.ts | 15 +- 117 files changed, 1554 insertions(+), 3593 deletions(-) create mode 100644 .npmrc create mode 100644 src/app.css delete mode 100644 src/lib/Card/CardInner.svelte delete mode 100644 src/lib/Card/CardOuter.svelte delete mode 100644 src/lib/Card/Link.svelte delete mode 100644 src/lib/Card/LinksOuter.svelte delete mode 100644 src/lib/Card/index.ts delete mode 100644 src/lib/Form/Captcha.svelte delete mode 100644 src/lib/Form/Form.svelte delete mode 100644 src/lib/Form/Meta.svelte delete mode 100644 src/lib/Form/Note.svelte delete mode 100644 src/lib/Form/TextArea.svelte delete mode 100644 src/lib/Form/index.ts delete mode 100644 src/lib/LinkButton.svelte rename src/lib/{ => Nav}/Nav.svelte (71%) rename src/lib/{ => Nav}/ThemeToggle.svelte (83%) create mode 100644 src/lib/PMargin.svelte create mode 100644 src/lib/PageTransition.svelte delete mode 100644 src/lib/app.css delete mode 100644 src/lib/ghost.ts delete mode 100644 src/lib/map.ts delete mode 100644 src/lib/server/db.ts create mode 100644 src/routes/+layout.ts delete mode 100644 src/routes/Announcements.svelte delete mode 100644 src/routes/admin/+layout.server.ts delete mode 100644 src/routes/admin/+layout.svelte create mode 100644 src/routes/admin/+page.ts delete mode 100644 src/routes/admin/announcements/+page.server.ts delete mode 100644 src/routes/admin/announcements/+page.svelte delete mode 100644 src/routes/api/status/+server.ts create mode 100644 src/routes/blog/fetchGhost.ts delete mode 100644 src/routes/contact/+page.server.ts create mode 100644 src/routes/contact/+page.ts delete mode 100644 src/routes/donate/+page.md create mode 100644 src/routes/donate/+page.svelte create mode 100644 src/routes/donate/+page.ts create mode 100644 src/routes/donate/CryptoInfo.svelte delete mode 100644 src/routes/instances/InstanceLink.svelte create mode 100644 src/routes/instances/advanced/+page.server.ts create mode 100644 src/routes/instances/advanced/+page.svelte rename src/{lib/statusData.ts => routes/instances/instances.ts} (55%) delete mode 100644 src/routes/legal/+page.md create mode 100644 src/routes/legal/+page.svelte create mode 100644 src/routes/legal/+page.ts delete mode 100644 src/routes/legal/privacy-policy/+page.md create mode 100644 src/routes/legal/privacy-policy/+page.svelte create mode 100644 src/routes/legal/privacy-policy/+page.ts delete mode 100644 src/routes/legal/tos/+page.md create mode 100644 src/routes/legal/tos/+page.svelte create mode 100644 src/routes/legal/tos/+page.ts delete mode 100644 src/routes/login/+layout.server.ts create mode 100644 src/routes/login/+page.server.ts create mode 100644 src/routes/pubnix/User.svelte create mode 100644 src/routes/pubnix/faq/+page.ts create mode 100644 src/routes/team/+page.ts rename src/{lib => routes/team}/Team.json (99%) delete mode 100644 src/routes/timeline/+page.svelte delete mode 100644 static/ProjectSegfault_Desktop_16-9.png create mode 100644 static/favicon.png create mode 100644 static/icons/jitsi.svg create mode 100644 static/icons/mediawiki.svg delete mode 100644 static/logo_transparent.svg rename static/{ => qr}/Bitcoin.png (100%) rename static/{ => qr}/Litecoin.png (100%) rename static/{ => qr}/Monero.png (100%) diff --git a/.github/workflows/docker-dev.yml b/.github/workflows/docker-dev.yml index 0b29f53..1709846 100644 --- a/.github/workflows/docker-dev.yml +++ b/.github/workflows/docker-dev.yml @@ -1,25 +1,36 @@ -name: Docker +name: Docker dev on: - push: - branches: - - "dev" + push: + branches: + - 'dev' jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - push: true - tags: realprojectsegfault/website:dev + build: + name: 'Build' + runs-on: ubuntu-latest + steps: + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: "Build:checkout" + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ProjectSegfault + password: ${{ secrets.ACCESS_TOKEN }} + + - name: 'Build:dockerimage' + uses: docker/build-push-action@v3 + with: + tags: ghcr.io/ProjectSegfault/website:dev + context: "." + push: true + no-cache: true \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index bdef727..c46e4bc 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,25 +1,36 @@ name: Docker on: - push: - branches: - - "master" + push: + branches: + - 'master' jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - push: true - tags: realprojectsegfault/website:latest + build: + name: 'Build' + runs-on: ubuntu-latest + steps: + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: "Build:checkout" + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: akisblack + password: ${{ secrets.ACCESS_TOKEN }} + + - name: 'Build:dockerimage' + uses: docker/build-push-action@v3 + with: + tags: ghcr.io/akisblack/website:latest + context: "." + push: true + no-cache: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index dc61a8d..6635cf5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ node_modules .env .env.* !.env.example -package-lock.json \ No newline at end of file +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/.prettierrc b/.prettierrc index ff82420..81d9bb9 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,8 @@ "useTabs": true, "bracketSpacing": true, "singleAttributePerLine": true, - "trailingComma": "none" + "trailingComma": "none", + "plugins": ["prettier-plugin-svelte"], + "pluginSearchDirs": ["."], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] } diff --git a/README.md b/README.md index 4b9ffef..5c37599 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,12 @@ Live at [projectsegfau.lt](https://projectsegfau.lt). ## Developing -> You need a lot of infrastructure to run a complete version of the website including: Ghost CMS deployment, Authentik authentication, a Discord channel with a webhook and a hCaptcha sitekey and secret from a hCaptcha account. +> You need a lot of infrastructure to run a complete version of the website including: Ghost CMS deployment and Authentik authentication. ### Prerequisites - Install [node.js](https://nodejs.org). - Install [pnpm](https://pnpm.io/). -- Install [MongoDB](https://mongodb.com). - Learn [Svelte](https://svelte.dev). - Add the environment variables from the [environment variables section](#environment-variables). @@ -40,14 +39,11 @@ The website has the following **mandatory** environment variables | Name | Description | |:------------------ |:------------------------- | -| AUTH_SECRET | Random 32 char secret | | AUTH_CLIENT_ID | Authentik client ID | | AUTH_CLIENT_SECRET | Authentik client secret | | AUTH_ISSUER | Authentication issuer URL | | AUTH_TRUST_HOST | Your domain | -| HCAPTCHA_SECRET | Your hCaptcha secret | -| HCAPTCHA_SITEKEY | Your hCaptcha sitekey | -| WEBHOOK | Your Discord webhook URL | +| AUTH_SECRET | Random 32 char secret | +| GHOST_URL | Your Ghost CMS URL | | GHOST_API_KEY | Your Ghost CMS API key | -| DB_URL | Your MongoDB url | | ORIGIN | Your domain | \ No newline at end of file diff --git a/compose.yml b/compose.yml index 1f47a64..cb501bd 100644 --- a/compose.yml +++ b/compose.yml @@ -1,38 +1,11 @@ services: website: container_name: website - image: realprojectsegfault/website:latest # or :dev if you want to use the dev version + image: ghcr.io/ProjectSegfault/website:latest restart: unless-stopped # uncomment these lines if you want to build from source #build: # context: . # dockerfile: Dockerfile ports: - - 1339:3000 # change the first number to whatever port you want to use - environment: # these are documented in the readme - AUTH_SECRET: ${AUTH_SECRET} - AUTH_CLIENT_ID: ${AUTH_CLIENT_ID} - AUTH_CLIENT_SECRET: ${AUTH_CLIENT_SECRET} - AUTH_ISSUER: ${AUTH_ISSUER} - AUTH_TRUST_HOST: ${AUTH_TRUST_HOST} - HCAPTCHA_SECRET: ${HCAPTCHA_SECRET} - HCAPTCHA_SITEKEY: ${HCAPTCHA_SITEKEY} - WEBHOOK: ${WEBHOOK} - GHOST_API_KEY: ${GHOST_API_KEY} - DB_URL: ${DB_URL} - ORIGIN: ${ORIGIN} - - website-db: # this is the mongodb database container - image: mongo:6 - container_name: website-db - restart: unless-stopped - volumes: - - website-db-data:/data/db - environment: # these are documented in the readme - MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER} - MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD} - MONGO_INITDB_DATABASE: website - command: [--auth] - -volumes: - website-db-data: \ No newline at end of file + - "127.0.0.1:1339:3000" \ No newline at end of file diff --git a/package.json b/package.json index 0024ace..45322ec 100644 --- a/package.json +++ b/package.json @@ -1,47 +1,40 @@ { "name": "project-segfault-website", - "version": "2.0.0", + "version": "3.0.0", + "private": true, "scripts": { - "dev": "vite", + "dev": "vite dev", "build": "vite build", "preview": "vite preview", - "check": "svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "format": "prettier -w --plugin-search-dir=. ." + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check .", + "format": "prettier --plugin-search-dir . --write ." }, "devDependencies": { "@iconify-json/ic": "^1.1.12", - "@iconify-json/simple-icons": "^1.1.40", - "@sveltejs/adapter-node": "1.0.0", - "@sveltejs/kit": "1.0.1", - "@types/marked": "^4.0.8", + "@iconify-json/simple-icons": "^1.1.41", + "@sveltejs/adapter-node": "^1.1.4", + "@sveltejs/kit": "^1.1.4", "@types/sanitize-html": "^2.8.0", - "axios": "^1.2.2", - "consola": "^2.15.3", + "@unocss/reset": "^0.48.4", + "axios": "^1.2.4", "dayjs": "^1.11.7", - "discord-webhook-node": "^1.1.8", - "marked": "^4.2.5", - "mdsvex": "^0.10.6", - "prettier": "^2.8.1", + "prettier": "^2.8.3", "prettier-plugin-svelte": "^2.9.0", "sanitize-html": "^2.8.1", - "svelte": "^3.55.0", - "svelte-check": "^3.0.1", + "svelte": "^3.55.1", + "svelte-check": "^3.0.2", "svelte-dark-mode": "^2.1.0", - "svelte-hcaptcha": "^0.1.1", - "svelte-seo": "^1.4.1", - "svelte-vertical-timeline": "^0.0.2", "tslib": "^2.4.1", "typescript": "^4.9.4", - "unocss": "^0.48.0", - "vite": "4.0.3" + "unocss": "^0.48.4", + "vite": "^4.0.4" }, "type": "module", "dependencies": { - "@auth/core": "^0.2.4", - "@auth/sveltekit": "^0.1.11", - "dotenv": "^16.0.3", - "joi": "^17.7.0", - "mongodb": "^4.13.0" + "@auth/core": "^0.2.5", + "@auth/sveltekit": "^0.1.12", + "joi": "^17.7.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac83a15..fceb319 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,70 +1,52 @@ lockfileVersion: 5.4 specifiers: - '@auth/core': ^0.2.4 - '@auth/sveltekit': ^0.1.11 + '@auth/core': ^0.2.5 + '@auth/sveltekit': ^0.1.12 '@iconify-json/ic': ^1.1.12 - '@iconify-json/simple-icons': ^1.1.40 - '@sveltejs/adapter-node': 1.0.0 - '@sveltejs/kit': 1.0.1 - '@types/marked': ^4.0.8 + '@iconify-json/simple-icons': ^1.1.41 + '@sveltejs/adapter-node': ^1.1.4 + '@sveltejs/kit': ^1.1.4 '@types/sanitize-html': ^2.8.0 - axios: ^1.2.2 - consola: ^2.15.3 + '@unocss/reset': ^0.48.4 + axios: ^1.2.4 dayjs: ^1.11.7 - discord-webhook-node: ^1.1.8 - dotenv: ^16.0.3 joi: ^17.7.0 - marked: ^4.2.5 - mdsvex: ^0.10.6 - mongodb: ^4.13.0 - prettier: ^2.8.1 + prettier: ^2.8.3 prettier-plugin-svelte: ^2.9.0 sanitize-html: ^2.8.1 - svelte: ^3.55.0 - svelte-check: ^3.0.1 + svelte: ^3.55.1 + svelte-check: ^3.0.2 svelte-dark-mode: ^2.1.0 - svelte-hcaptcha: ^0.1.1 - svelte-seo: ^1.4.1 - svelte-vertical-timeline: ^0.0.2 tslib: ^2.4.1 typescript: ^4.9.4 - unocss: ^0.48.0 - vite: 4.0.3 + unocss: ^0.48.4 + vite: ^4.0.4 dependencies: - '@auth/core': 0.2.4 - '@auth/sveltekit': 0.1.11_f5fzfhbe3oooig6fzl5vkyl5v4 - dotenv: 16.0.3 + '@auth/core': 0.2.5 + '@auth/sveltekit': 0.1.12_c3jmigb6vlzhi6d7maynwd2vim joi: 17.7.0 - mongodb: 4.13.0 devDependencies: '@iconify-json/ic': 1.1.12 - '@iconify-json/simple-icons': 1.1.40 - '@sveltejs/adapter-node': 1.0.0_@sveltejs+kit@1.0.1 - '@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 - '@types/marked': 4.0.8 + '@iconify-json/simple-icons': 1.1.41 + '@sveltejs/adapter-node': 1.1.4_@sveltejs+kit@1.1.4 + '@sveltejs/kit': 1.1.4_svelte@3.55.1+vite@4.0.4 '@types/sanitize-html': 2.8.0 - axios: 1.2.2 - consola: 2.15.3 + '@unocss/reset': 0.48.4 + axios: 1.2.4 dayjs: 1.11.7 - discord-webhook-node: 1.1.8 - marked: 4.2.5 - mdsvex: 0.10.6_svelte@3.55.0 - prettier: 2.8.1 - prettier-plugin-svelte: 2.9.0_ajxj753sv7dbwexjherrch25ta + prettier: 2.8.3 + prettier-plugin-svelte: 2.9.0_kdmmghgdi3ngrsq6otxkjilbry sanitize-html: 2.8.1 - svelte: 3.55.0 - svelte-check: 3.0.1_svelte@3.55.0 + svelte: 3.55.1 + svelte-check: 3.0.2_svelte@3.55.1 svelte-dark-mode: 2.1.0 - svelte-hcaptcha: 0.1.1 - svelte-seo: 1.4.1_typescript@4.9.4 - svelte-vertical-timeline: 0.0.2 tslib: 2.4.1 typescript: 4.9.4 - unocss: 0.48.0_vite@4.0.3 - vite: 4.0.3 + unocss: 0.48.4_vite@4.0.4 + vite: 4.0.4 packages: @@ -91,8 +73,8 @@ packages: resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} dev: true - /@auth/core/0.2.3: - resolution: {integrity: sha512-GJJkCh1jmI1kJlGmVOGMHRimQbHQCCwgmZLIx0Fpod1e0g4gtk6hGL5LmKjb7rN3j3HQbxQOEg5j6jJLZ7dDJw==} + /@auth/core/0.2.5: + resolution: {integrity: sha512-e9jQOW6kSnxa0gfeR5neqLIDAUvZtyGTh3YpO2eN5F/5gBybE582M5e34rXlJKj+/tAgf+oYBJAY5CUxGTY9tw==} peerDependencies: nodemailer: 6.8.0 peerDependenciesMeta: @@ -101,1028 +83,195 @@ packages: dependencies: '@panva/hkdf': 1.0.2 cookie: 0.5.0 - jose: 4.11.1 - oauth4webapi: 2.0.5 - preact: 10.11.3 - preact-render-to-string: 5.2.3_preact@10.11.3 - dev: false - - /@auth/core/0.2.4: - resolution: {integrity: sha512-KTQE+z2mxWWaQjTuJzMiIk+2NgXNfapu8+NITSyLlMPmox6UhMETjg6i5B0T8WcfnwwIaQMCdqEJ0Jxvqz+giw==} - peerDependencies: - nodemailer: 6.8.0 - peerDependenciesMeta: - nodemailer: - optional: true - dependencies: - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.1 + jose: 4.11.2 oauth4webapi: 2.0.6 preact: 10.11.3 preact-render-to-string: 5.2.3_preact@10.11.3 dev: false - /@auth/sveltekit/0.1.11_f5fzfhbe3oooig6fzl5vkyl5v4: - resolution: {integrity: sha512-veSAWERabK2bKOymkvD1tK0+YA7GbOnroESukz15ABoIfQ+UdEbxcfgUIXeg1ZS0QignAgJ5XwBjn8ph9OfWwg==} + /@auth/sveltekit/0.1.12_c3jmigb6vlzhi6d7maynwd2vim: + resolution: {integrity: sha512-nQyOXOaVRl+70XSIsgQCpU0BFkOb52DqsRmfNUOIm4/EtGTERLLsKVCRaPXXCYp6t22I2pu4E2gD79r74gPyZA==} peerDependencies: '@sveltejs/kit': ^1.0.0 svelte: ^3.54.0 dependencies: - '@auth/core': 0.2.3 - '@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 - svelte: 3.55.0 + '@auth/core': 0.2.5 + '@sveltejs/kit': 1.1.4_svelte@3.55.1+vite@4.0.4 + svelte: 3.55.1 transitivePeerDependencies: - nodemailer dev: false - /@aws-crypto/ie11-detection/2.0.2: - resolution: {integrity: sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==} - dependencies: - tslib: 1.14.1 - dev: false - optional: true - - /@aws-crypto/sha256-browser/2.0.0: - resolution: {integrity: sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==} - dependencies: - '@aws-crypto/ie11-detection': 2.0.2 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-crypto/supports-web-crypto': 2.0.2 - '@aws-crypto/util': 2.0.2 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-locate-window': 3.208.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - tslib: 1.14.1 - dev: false - optional: true - - /@aws-crypto/sha256-js/2.0.0: - resolution: {integrity: sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==} - dependencies: - '@aws-crypto/util': 2.0.2 - '@aws-sdk/types': 3.226.0 - tslib: 1.14.1 - dev: false - optional: true - - /@aws-crypto/supports-web-crypto/2.0.2: - resolution: {integrity: sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==} - dependencies: - tslib: 1.14.1 - dev: false - optional: true - - /@aws-crypto/util/2.0.2: - resolution: {integrity: sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==} - dependencies: - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - tslib: 1.14.1 - dev: false - optional: true - - /@aws-sdk/abort-controller/3.226.0: - resolution: {integrity: sha512-cJVzr1xxPBd08voknXvR0RLgtZKGKt6WyDpH/BaPCu3rfSqWCDZKzwqe940eqosjmKrxC6pUZNKASIqHOQ8xxQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/client-cognito-identity/3.245.0: - resolution: {integrity: sha512-c5briTS05rAioO5b84bVng9M1KyAXcxJtDHeuoeAAZBuU+Dd0Scg3vyXyAFlGI+TsNyxqHAqqRdAoG4WNxJo/Q==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/client-sts': 3.245.0 - '@aws-sdk/config-resolver': 3.234.0 - '@aws-sdk/credential-provider-node': 3.245.0 - '@aws-sdk/fetch-http-handler': 3.226.0 - '@aws-sdk/hash-node': 3.226.0 - '@aws-sdk/invalid-dependency': 3.226.0 - '@aws-sdk/middleware-content-length': 3.226.0 - '@aws-sdk/middleware-endpoint': 3.226.0 - '@aws-sdk/middleware-host-header': 3.226.0 - '@aws-sdk/middleware-logger': 3.226.0 - '@aws-sdk/middleware-recursion-detection': 3.226.0 - '@aws-sdk/middleware-retry': 3.235.0 - '@aws-sdk/middleware-serde': 3.226.0 - '@aws-sdk/middleware-signing': 3.226.0 - '@aws-sdk/middleware-stack': 3.226.0 - '@aws-sdk/middleware-user-agent': 3.226.0 - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/node-http-handler': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/smithy-client': 3.234.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - '@aws-sdk/util-base64': 3.208.0 - '@aws-sdk/util-body-length-browser': 3.188.0 - '@aws-sdk/util-body-length-node': 3.208.0 - '@aws-sdk/util-defaults-mode-browser': 3.234.0 - '@aws-sdk/util-defaults-mode-node': 3.234.0 - '@aws-sdk/util-endpoints': 3.245.0 - '@aws-sdk/util-retry': 3.229.0 - '@aws-sdk/util-user-agent-browser': 3.226.0 - '@aws-sdk/util-user-agent-node': 3.226.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - '@aws-sdk/util-utf8-node': 3.208.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/client-sso-oidc/3.245.0: - resolution: {integrity: sha512-0pGPA00kEsu2Yq1Ul+OwftHxws5YVllm4iZrPtGnqmXr7wmf6B9lOtrMQF44y7Tfw53po6+bKz08OKTEWkkjUA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/config-resolver': 3.234.0 - '@aws-sdk/fetch-http-handler': 3.226.0 - '@aws-sdk/hash-node': 3.226.0 - '@aws-sdk/invalid-dependency': 3.226.0 - '@aws-sdk/middleware-content-length': 3.226.0 - '@aws-sdk/middleware-endpoint': 3.226.0 - '@aws-sdk/middleware-host-header': 3.226.0 - '@aws-sdk/middleware-logger': 3.226.0 - '@aws-sdk/middleware-recursion-detection': 3.226.0 - '@aws-sdk/middleware-retry': 3.235.0 - '@aws-sdk/middleware-serde': 3.226.0 - '@aws-sdk/middleware-stack': 3.226.0 - '@aws-sdk/middleware-user-agent': 3.226.0 - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/node-http-handler': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/smithy-client': 3.234.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - '@aws-sdk/util-base64': 3.208.0 - '@aws-sdk/util-body-length-browser': 3.188.0 - '@aws-sdk/util-body-length-node': 3.208.0 - '@aws-sdk/util-defaults-mode-browser': 3.234.0 - '@aws-sdk/util-defaults-mode-node': 3.234.0 - '@aws-sdk/util-endpoints': 3.245.0 - '@aws-sdk/util-retry': 3.229.0 - '@aws-sdk/util-user-agent-browser': 3.226.0 - '@aws-sdk/util-user-agent-node': 3.226.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - '@aws-sdk/util-utf8-node': 3.208.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/client-sso/3.245.0: - resolution: {integrity: sha512-dxzRwRo55ZNQ4hQigC+cishxLSWlBrbr3iszG0FLviavLDOlnVG5UUxWpOIGvwr8pYiSfM4jnfMxiwYwiCLg1g==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/config-resolver': 3.234.0 - '@aws-sdk/fetch-http-handler': 3.226.0 - '@aws-sdk/hash-node': 3.226.0 - '@aws-sdk/invalid-dependency': 3.226.0 - '@aws-sdk/middleware-content-length': 3.226.0 - '@aws-sdk/middleware-endpoint': 3.226.0 - '@aws-sdk/middleware-host-header': 3.226.0 - '@aws-sdk/middleware-logger': 3.226.0 - '@aws-sdk/middleware-recursion-detection': 3.226.0 - '@aws-sdk/middleware-retry': 3.235.0 - '@aws-sdk/middleware-serde': 3.226.0 - '@aws-sdk/middleware-stack': 3.226.0 - '@aws-sdk/middleware-user-agent': 3.226.0 - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/node-http-handler': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/smithy-client': 3.234.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - '@aws-sdk/util-base64': 3.208.0 - '@aws-sdk/util-body-length-browser': 3.188.0 - '@aws-sdk/util-body-length-node': 3.208.0 - '@aws-sdk/util-defaults-mode-browser': 3.234.0 - '@aws-sdk/util-defaults-mode-node': 3.234.0 - '@aws-sdk/util-endpoints': 3.245.0 - '@aws-sdk/util-retry': 3.229.0 - '@aws-sdk/util-user-agent-browser': 3.226.0 - '@aws-sdk/util-user-agent-node': 3.226.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - '@aws-sdk/util-utf8-node': 3.208.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/client-sts/3.245.0: - resolution: {integrity: sha512-E+7v2sy34TLni/Dmz6bTU20NWvbHYH9sVUHKQ9kHhmFopUWrs4Nt77f85PbuiKJz/irjUh9ppT5q1odJNRKRVQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/config-resolver': 3.234.0 - '@aws-sdk/credential-provider-node': 3.245.0 - '@aws-sdk/fetch-http-handler': 3.226.0 - '@aws-sdk/hash-node': 3.226.0 - '@aws-sdk/invalid-dependency': 3.226.0 - '@aws-sdk/middleware-content-length': 3.226.0 - '@aws-sdk/middleware-endpoint': 3.226.0 - '@aws-sdk/middleware-host-header': 3.226.0 - '@aws-sdk/middleware-logger': 3.226.0 - '@aws-sdk/middleware-recursion-detection': 3.226.0 - '@aws-sdk/middleware-retry': 3.235.0 - '@aws-sdk/middleware-sdk-sts': 3.226.0 - '@aws-sdk/middleware-serde': 3.226.0 - '@aws-sdk/middleware-signing': 3.226.0 - '@aws-sdk/middleware-stack': 3.226.0 - '@aws-sdk/middleware-user-agent': 3.226.0 - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/node-http-handler': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/smithy-client': 3.234.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - '@aws-sdk/util-base64': 3.208.0 - '@aws-sdk/util-body-length-browser': 3.188.0 - '@aws-sdk/util-body-length-node': 3.208.0 - '@aws-sdk/util-defaults-mode-browser': 3.234.0 - '@aws-sdk/util-defaults-mode-node': 3.234.0 - '@aws-sdk/util-endpoints': 3.245.0 - '@aws-sdk/util-retry': 3.229.0 - '@aws-sdk/util-user-agent-browser': 3.226.0 - '@aws-sdk/util-user-agent-node': 3.226.0 - '@aws-sdk/util-utf8-browser': 3.188.0 - '@aws-sdk/util-utf8-node': 3.208.0 - fast-xml-parser: 4.0.11 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/config-resolver/3.234.0: - resolution: {integrity: sha512-uZxy4wzllfvgCQxVc+Iqhde0NGAnfmV2hWR6ejadJaAFTuYNvQiRg9IqJy3pkyDPqXySiJ8Bom5PoJfgn55J/A==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/signature-v4': 3.226.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-config-provider': 3.208.0 - '@aws-sdk/util-middleware': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/credential-provider-cognito-identity/3.245.0: - resolution: {integrity: sha512-DkiPv7Yb9iw3yAzvWUAkXrI23F1+kV8grdXzlSzob5suqv/dVON5pFXK9Siz62WwWsa2FeCEpgEF7RA0mrWLtA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-cognito-identity': 3.245.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/credential-provider-env/3.226.0: - resolution: {integrity: sha512-sd8uK1ojbXxaZXlthzw/VXZwCPUtU3PjObOfr3Evj7MPIM2IH8h29foOlggx939MdLQGboJf9gKvLlvKDWtJRA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/credential-provider-imds/3.226.0: - resolution: {integrity: sha512-//z/COQm2AjYFI1Lb0wKHTQSrvLFTyuKLFQGPJsKS7DPoxGOCKB7hmYerlbl01IDoCxTdyL//TyyPxbZEOQD5Q==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/credential-provider-ini/3.245.0: - resolution: {integrity: sha512-1SjfVc5Wg0lLRUvwMrfjGgFkl+zfxn74gnkPr6by1QyMAoTzmeUkalPLAIqd+uHtFom9e3K633BQtX7zVPZ5XQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/credential-provider-env': 3.226.0 - '@aws-sdk/credential-provider-imds': 3.226.0 - '@aws-sdk/credential-provider-process': 3.226.0 - '@aws-sdk/credential-provider-sso': 3.245.0 - '@aws-sdk/credential-provider-web-identity': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/credential-provider-node/3.245.0: - resolution: {integrity: sha512-Dwv8zmRLTDLeEkGrK/sLNFZSC+ahXZxr07CuID054QKACIdUEvkqYlnalRiTeXngiHGQ54u8wU7f0D32R2oL0g==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/credential-provider-env': 3.226.0 - '@aws-sdk/credential-provider-imds': 3.226.0 - '@aws-sdk/credential-provider-ini': 3.245.0 - '@aws-sdk/credential-provider-process': 3.226.0 - '@aws-sdk/credential-provider-sso': 3.245.0 - '@aws-sdk/credential-provider-web-identity': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/credential-provider-process/3.226.0: - resolution: {integrity: sha512-iUDMdnrTvbvaCFhWwqyXrhvQ9+ojPqPqXhwZtY1X/Qaz+73S9gXBPJHZaZb2Ke0yKE1Ql3bJbKvmmxC/qLQMng==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/credential-provider-sso/3.245.0: - resolution: {integrity: sha512-txWrJc0WNBhXMi7q+twjx7cs/qzgTfbQ+vbag5idRmdoUeiR8rfLvihCab2NaGg50xhh+TaoUCXrgJp3E/XjYQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso': 3.245.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/token-providers': 3.245.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/credential-provider-web-identity/3.226.0: - resolution: {integrity: sha512-CCpv847rLB0SFOHz2igvUMFAzeT2fD3YnY4C8jltuJoEkn0ITn1Hlgt13nTJ5BUuvyti2mvyXZHmNzhMIMrIlw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/credential-providers/3.245.0: - resolution: {integrity: sha512-6Uhsxk6MOuWplejhPJf7XDhegHmcZfj8hwnF4mXFJ6u4b2RxWPQCnqPcA0+VoAzIMUqbjqvkSzmVjQelGFtjNg==} - engines: {node: '>=14.0.0'} - requiresBuild: true - dependencies: - '@aws-sdk/client-cognito-identity': 3.245.0 - '@aws-sdk/client-sso': 3.245.0 - '@aws-sdk/client-sts': 3.245.0 - '@aws-sdk/credential-provider-cognito-identity': 3.245.0 - '@aws-sdk/credential-provider-env': 3.226.0 - '@aws-sdk/credential-provider-imds': 3.226.0 - '@aws-sdk/credential-provider-ini': 3.245.0 - '@aws-sdk/credential-provider-node': 3.245.0 - '@aws-sdk/credential-provider-process': 3.226.0 - '@aws-sdk/credential-provider-sso': 3.245.0 - '@aws-sdk/credential-provider-web-identity': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/fetch-http-handler/3.226.0: - resolution: {integrity: sha512-JewZPMNEBXfi1xVnRa7pVtK/zgZD8/lQ/YnD8pq79WuMa2cwyhDtr8oqCoqsPW+WJT5ScXoMtuHxN78l8eKWgg==} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/querystring-builder': 3.226.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-base64': 3.208.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/hash-node/3.226.0: - resolution: {integrity: sha512-MdlJhJ9/Espwd0+gUXdZRsHuostB2WxEVAszWxobP0FTT9PnicqnfK7ExmW+DUAc0ywxtEbR3e0UND65rlSTVw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-buffer-from': 3.208.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/invalid-dependency/3.226.0: - resolution: {integrity: sha512-QXOYFmap8g9QzRjumcRCIo2GEZkdCwd7ePQW0OABWPhKHzlJ74vvBxywjU3s39EEBEluWXtZ7Iufg6GxZM4ifw==} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/is-array-buffer/3.201.0: - resolution: {integrity: sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-content-length/3.226.0: - resolution: {integrity: sha512-ksUzlHJN2JMuyavjA46a4sctvnrnITqt2tbGGWWrAuXY1mel2j+VbgnmJUiwHKUO6bTFBBeft5Vd1TSOb4JmiA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-endpoint/3.226.0: - resolution: {integrity: sha512-EvLFafjtUxTT0AC9p3aBQu1/fjhWdIeK58jIXaNFONfZ3F8QbEYUPuF/SqZvJM6cWfOO9qwYKkRDbCSTYhprIg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/middleware-serde': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/signature-v4': 3.226.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/url-parser': 3.226.0 - '@aws-sdk/util-config-provider': 3.208.0 - '@aws-sdk/util-middleware': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-host-header/3.226.0: - resolution: {integrity: sha512-haVkWVh6BUPwKgWwkL6sDvTkcZWvJjv8AgC8jiQuSl8GLZdzHTB8Qhi3IsfFta9HAuoLjxheWBE5Z/L0UrfhLA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-logger/3.226.0: - resolution: {integrity: sha512-m9gtLrrYnpN6yckcQ09rV7ExWOLMuq8mMPF/K3DbL/YL0TuILu9i2T1W+JuxSX+K9FMG2HrLAKivE/kMLr55xA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-recursion-detection/3.226.0: - resolution: {integrity: sha512-mwRbdKEUeuNH5TEkyZ5FWxp6bL2UC1WbY+LDv6YjHxmSMKpAoOueEdtU34PqDOLrpXXxIGHDFmjeGeMfktyEcA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-retry/3.235.0: - resolution: {integrity: sha512-50WHbJGpD3SNp9763MAlHqIhXil++JdQbKejNpHg7HsJne/ao3ub+fDOfx//mMBjpzBV25BGd5UlfL6blrClSg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/service-error-classification': 3.229.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-middleware': 3.226.0 - '@aws-sdk/util-retry': 3.229.0 - tslib: 2.4.1 - uuid: 8.3.2 - dev: false - optional: true - - /@aws-sdk/middleware-sdk-sts/3.226.0: - resolution: {integrity: sha512-NN9T/qoSD1kZvAT+VLny3NnlqgylYQcsgV3rvi/8lYzw/G/2s8VS6sm/VTWGGZhx08wZRv20MWzYu3bftcyqUg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/middleware-signing': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/signature-v4': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-serde/3.226.0: - resolution: {integrity: sha512-nPuOOAkSfx9TxzdKFx0X2bDlinOxGrqD7iof926K/AEflxGD1DBdcaDdjlYlPDW2CVE8LV/rAgbYuLxh/E/1VA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-signing/3.226.0: - resolution: {integrity: sha512-E6HmtPcl+IjYDDzi1xI2HpCbBq2avNWcjvCriMZWuTAtRVpnA6XDDGW5GY85IfS3A8G8vuWqEVPr8JcYUcjfew==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/signature-v4': 3.226.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-middleware': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-stack/3.226.0: - resolution: {integrity: sha512-85wF29LvPvpoed60fZGDYLwv1Zpd/cM0C22WSSFPw1SSJeqO4gtFYyCg2squfT3KI6kF43IIkOCJ+L7GtryPug==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/middleware-user-agent/3.226.0: - resolution: {integrity: sha512-N1WnfzCW1Y5yWhVAphf8OPGTe8Df3vmV7/LdsoQfmpkCZgLZeK2o0xITkUQhRj1mbw7yp8tVFLFV3R2lMurdAQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/node-config-provider/3.226.0: - resolution: {integrity: sha512-B8lQDqiRk7X5izFEUMXmi8CZLOKCTWQJU9HQf3ako+sF0gexo4nHN3jhoRWyLtcgC5S3on/2jxpAcqtm7kuY3w==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/node-http-handler/3.226.0: - resolution: {integrity: sha512-xQCddnZNMiPmjr3W7HYM+f5ir4VfxgJh37eqZwX6EZmyItFpNNeVzKUgA920ka1VPz/ZUYB+2OFGiX3LCLkkaA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/abort-controller': 3.226.0 - '@aws-sdk/protocol-http': 3.226.0 - '@aws-sdk/querystring-builder': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/property-provider/3.226.0: - resolution: {integrity: sha512-TsljjG+Sg0LmdgfiAlWohluWKnxB/k8xenjeozZfzOr5bHmNHtdbWv6BtNvD/R83hw7SFXxbJHlD5H4u9p2NFg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/protocol-http/3.226.0: - resolution: {integrity: sha512-zWkVqiTA9RXL6y0hhfZc9bcU4DX2NI6Hw9IhQmSPeM59mdbPjJlY4bLlMr5YxywqO3yQ/ylNoAfrEzrDjlOSRg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/querystring-builder/3.226.0: - resolution: {integrity: sha512-LVurypuNeotO4lmirKXRC4NYrZRAyMJXuwO0f2a5ZAUJCjauwYrifKue6yCfU7bls7gut7nfcR6B99WBYpHs3g==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-uri-escape': 3.201.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/querystring-parser/3.226.0: - resolution: {integrity: sha512-FzB+VrQ47KAFxiPt2YXrKZ8AOLZQqGTLCKHzx4bjxGmwgsjV8yIbtJiJhZLMcUQV4LtGeIY9ixIqQhGvnZHE4A==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/service-error-classification/3.229.0: - resolution: {integrity: sha512-dnzWWQ0/NoWMUZ5C0DW3dPm0wC1O76Y/SpKbuJzWPkx1EYy6r8p32Ly4D9vUzrKDbRGf48YHIF2kOkBmu21CLg==} - engines: {node: '>=14.0.0'} - dev: false - optional: true - - /@aws-sdk/shared-ini-file-loader/3.226.0: - resolution: {integrity: sha512-661VQefsARxVyyV2FX9V61V+nNgImk7aN2hYlFKla6BCwZfMng+dEtD0xVGyg1PfRw0qvEv5LQyxMVgHcUSevA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/signature-v4/3.226.0: - resolution: {integrity: sha512-/R5q5agdPd7HJB68XMzpxrNPk158EHUvkFkuRu5Qf3kkkHebEzWEBlWoVpUe6ss4rP9Tqcue6xPuaftEmhjpYw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/is-array-buffer': 3.201.0 - '@aws-sdk/types': 3.226.0 - '@aws-sdk/util-hex-encoding': 3.201.0 - '@aws-sdk/util-middleware': 3.226.0 - '@aws-sdk/util-uri-escape': 3.201.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/smithy-client/3.234.0: - resolution: {integrity: sha512-8AtR/k4vsFvjXeQbIzq/Wy7Nbk48Ou0wUEeVYPHWHPSU8QamFWORkOwmKtKMfHAyZvmqiAPeQqHFkq+UJhWyyQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/middleware-stack': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/token-providers/3.245.0: - resolution: {integrity: sha512-m/spXR/vEXGb+zMqRUMQYVMwFZSTdK5RkddYqamYkNhIoLm60EYeRu57JsMMs5djKi8dBRSKiXwVHx0l2rXMjg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso-oidc': 3.245.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/shared-ini-file-loader': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - transitivePeerDependencies: - - aws-crt - dev: false - optional: true - - /@aws-sdk/types/3.226.0: - resolution: {integrity: sha512-MmmNHrWeO4man7wpOwrAhXlevqtOV9ZLcH4RhnG5LmRce0RFOApx24HoKENfFCcOyCm5LQBlsXCqi0dZWDWU0A==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/url-parser/3.226.0: - resolution: {integrity: sha512-p5RLE0QWyP0OcTOLmFcLdVgUcUEzmEfmdrnOxyNzomcYb0p3vUagA5zfa1HVK2azsQJFBv28GfvMnba9bGhObg==} - dependencies: - '@aws-sdk/querystring-parser': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-base64/3.208.0: - resolution: {integrity: sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/util-buffer-from': 3.208.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-body-length-browser/3.188.0: - resolution: {integrity: sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-body-length-node/3.208.0: - resolution: {integrity: sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-buffer-from/3.208.0: - resolution: {integrity: sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/is-array-buffer': 3.201.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-config-provider/3.208.0: - resolution: {integrity: sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-defaults-mode-browser/3.234.0: - resolution: {integrity: sha512-IHMKXjTbOD8XMz5+2oCOsVP94BYb9YyjXdns0aAXr2NAo7k2+RCzXQ2DebJXppGda1F6opFutoKwyVSN0cmbMw==} - engines: {node: '>= 10.0.0'} - dependencies: - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - bowser: 2.11.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-defaults-mode-node/3.234.0: - resolution: {integrity: sha512-UGjQ+OjBYYhxFVtUY+jtr0ZZgzZh6OHtYwRhFt8IHewJXFCfZTyfsbX20szBj5y1S4HRIUJ7cwBLIytTqMbI5w==} - engines: {node: '>= 10.0.0'} - dependencies: - '@aws-sdk/config-resolver': 3.234.0 - '@aws-sdk/credential-provider-imds': 3.226.0 - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/property-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-endpoints/3.245.0: - resolution: {integrity: sha512-UNOFquB1tKx+8RT8n82Zb5tIwDyZHVPBg/m0LB0RsLETjr6krien5ASpqWezsXKIR1hftN9uaxN4bvf2dZrWHg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-hex-encoding/3.201.0: - resolution: {integrity: sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-locate-window/3.208.0: - resolution: {integrity: sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-middleware/3.226.0: - resolution: {integrity: sha512-B96CQnwX4gRvQdaQkdUtqvDPkrptV5+va6FVeJOocU/DbSYMAScLxtR3peMS8cnlOT6nL1Eoa42OI9AfZz1VwQ==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-retry/3.229.0: - resolution: {integrity: sha512-0zKTqi0P1inD0LzIMuXRIYYQ/8c1lWMg/cfiqUcIAF1TpatlpZuN7umU0ierpBFud7S+zDgg0oemh+Nj8xliJw==} - engines: {node: '>= 14.0.0'} - dependencies: - '@aws-sdk/service-error-classification': 3.229.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-uri-escape/3.201.0: - resolution: {integrity: sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-user-agent-browser/3.226.0: - resolution: {integrity: sha512-PhBIu2h6sPJPcv2I7ELfFizdl5pNiL4LfxrasMCYXQkJvVnoXztHA1x+CQbXIdtZOIlpjC+6BjDcE0uhnpvfcA==} - dependencies: - '@aws-sdk/types': 3.226.0 - bowser: 2.11.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-user-agent-node/3.226.0: - resolution: {integrity: sha512-othPc5Dz/pkYkxH+nZPhc1Al0HndQT8zHD4e9h+EZ+8lkd8n+IsnLfTS/mSJWrfiC6UlNRVw55cItstmJyMe/A==} - engines: {node: '>=14.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - dependencies: - '@aws-sdk/node-config-provider': 3.226.0 - '@aws-sdk/types': 3.226.0 - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-utf8-browser/3.188.0: - resolution: {integrity: sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==} - dependencies: - tslib: 2.4.1 - dev: false - optional: true - - /@aws-sdk/util-utf8-node/3.208.0: - resolution: {integrity: sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/util-buffer-from': 3.208.0 - tslib: 2.4.1 - dev: false - optional: true - - /@esbuild/android-arm/0.16.12: - resolution: {integrity: sha512-CTWgMJtpCyCltrvipZrrcjjRu+rzm6pf9V8muCsJqtKujR3kPmU4ffbckvugNNaRmhxAF1ZI3J+0FUIFLFg8KA==} + /@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@esbuild/android-arm64/0.16.12: - resolution: {integrity: sha512-0LacmiIW+X0/LOLMZqYtZ7d4uY9fxYABAYhSSOu+OGQVBqH4N5eIYgkT7bBFnR4Nm3qo6qS3RpHKVrDASqj/uQ==} + /@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@esbuild/android-x64/0.16.12: - resolution: {integrity: sha512-sS5CR3XBKQXYpSGMM28VuiUnbX83Z+aWPZzClW+OB2JquKqxoiwdqucJ5qvXS8pM6Up3RtJfDnRQZkz3en2z5g==} + /@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true optional: true - /@esbuild/darwin-arm64/0.16.12: - resolution: {integrity: sha512-Dpe5hOAQiQRH20YkFAg+wOpcd4PEuXud+aGgKBQa/VriPJA8zuVlgCOSTwna1CgYl05lf6o5els4dtuyk1qJxQ==} + /@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@esbuild/darwin-x64/0.16.12: - resolution: {integrity: sha512-ApGRA6X5txIcxV0095X4e4KKv87HAEXfuDRcGTniDWUUN+qPia8sl/BqG/0IomytQWajnUn4C7TOwHduk/FXBQ==} + /@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@esbuild/freebsd-arm64/0.16.12: - resolution: {integrity: sha512-AMdK2gA9EU83ccXCWS1B/KcWYZCj4P3vDofZZkl/F/sBv/fphi2oUqUTox/g5GMcIxk8CF1CVYTC82+iBSyiUg==} + /@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/freebsd-x64/0.16.12: - resolution: {integrity: sha512-KUKB9w8G/xaAbD39t6gnRBuhQ8vIYYlxGT2I+mT6UGRnCGRr1+ePFIGBQmf5V16nxylgUuuWVW1zU2ktKkf6WQ==} + /@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/linux-arm/0.16.12: - resolution: {integrity: sha512-vhDdIv6z4eL0FJyNVfdr3C/vdd/Wc6h1683GJsFoJzfKb92dU/v88FhWdigg0i6+3TsbSDeWbsPUXb4dif2abg==} + /@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-arm64/0.16.12: - resolution: {integrity: sha512-29HXMLpLklDfmw7T2buGqq3HImSUaZ1ArmrPOMaNiZZQptOSZs32SQtOHEl8xWX5vfdwZqrBfNf8Te4nArVzKQ==} + /@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ia32/0.16.12: - resolution: {integrity: sha512-JFDuNDTTfgD1LJg7wHA42o2uAO/9VzHYK0leAVnCQE/FdMB599YMH73ux+nS0xGr79pv/BK+hrmdRin3iLgQjg==} + /@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-loong64/0.16.12: - resolution: {integrity: sha512-xTGzVPqm6WKfCC0iuj1fryIWr1NWEM8DMhAIo+4rFgUtwy/lfHl+Obvus4oddzRDbBetLLmojfVZGmt/g/g+Rw==} + /@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-mips64el/0.16.12: - resolution: {integrity: sha512-zI1cNgHa3Gol+vPYjIYHzKhU6qMyOQrvZ82REr5Fv7rlh5PG6SkkuCoH7IryPqR+BK2c/7oISGsvPJPGnO2bHQ==} + /@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ppc64/0.16.12: - resolution: {integrity: sha512-/C8OFXExoMmvTDIOAM54AhtmmuDHKoedUd0Otpfw3+AuuVGemA1nQK99oN909uZbLEU6Bi+7JheFMG3xGfZluQ==} + /@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-riscv64/0.16.12: - resolution: {integrity: sha512-qeouyyc8kAGV6Ni6Isz8hUsKMr00EHgVwUKWNp1r4l88fHEoNTDB8mmestvykW6MrstoGI7g2EAsgr0nxmuGYg==} + /@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-s390x/0.16.12: - resolution: {integrity: sha512-s9AyI/5vz1U4NNqnacEGFElqwnHusWa81pskAf8JNDM2eb6b2E6PpBmT8RzeZv6/TxE6/TADn2g9bb0jOUmXwQ==} + /@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-x64/0.16.12: - resolution: {integrity: sha512-e8YA7GQGLWhvakBecLptUiKxOk4E/EPtSckS1i0MGYctW8ouvNUoh7xnU15PGO2jz7BYl8q1R6g0gE5HFtzpqQ==} + /@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@esbuild/netbsd-x64/0.16.12: - resolution: {integrity: sha512-z2+kUxmOqBS+6SRVd57iOLIHE8oGOoEnGVAmwjm2aENSP35HPS+5cK+FL1l+rhrsJOFIPrNHqDUNechpuG96Sg==} + /@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /@esbuild/openbsd-x64/0.16.12: - resolution: {integrity: sha512-PAonw4LqIybwn2/vJujhbg1N9W2W8lw9RtXIvvZoyzoA/4rA4CpiuahVbASmQohiytRsixbNoIOUSjRygKXpyA==} + /@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true optional: true - /@esbuild/sunos-x64/0.16.12: - resolution: {integrity: sha512-+wr1tkt1RERi+Zi/iQtkzmMH4nS8+7UIRxjcyRz7lur84wCkAITT50Olq/HiT4JN2X2bjtlOV6vt7ptW5Gw60Q==} + /@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /@esbuild/win32-arm64/0.16.12: - resolution: {integrity: sha512-XEjeUSHmjsAOJk8+pXJu9pFY2O5KKQbHXZWQylJzQuIBeiGrpMeq9sTVrHefHxMOyxUgoKQTcaTS+VK/K5SviA==} + /@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-ia32/0.16.12: - resolution: {integrity: sha512-eRKPM7e0IecUAUYr2alW7JGDejrFJXmpjt4MlfonmQ5Rz9HWpKFGCjuuIRgKO7W9C/CWVFXdJ2GjddsBXqQI4A==} + /@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-x64/0.16.12: - resolution: {integrity: sha512-iPYKN78t3op2+erv2frW568j1q0RpqX6JOLZ7oPPaAV1VaF7dDstOrNw37PVOYoTWE11pV4A1XUitpdEFNIsPg==} + /@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1145,8 +294,8 @@ packages: '@iconify/types': 2.0.0 dev: true - /@iconify-json/simple-icons/1.1.40: - resolution: {integrity: sha512-k+dCMQsVDVh2mrIkJpD5d/Jax+UTAlOf3YejXW1ZAwBtlu6Mq4CkO50VSJujNZRGFtPmPGAZSWbr1q72FFmR7A==} + /@iconify-json/simple-icons/1.1.41: + resolution: {integrity: sha512-jzJWIJpsfthdTW0y3mW0jhITdhQXDrMHwkGsNP2nPaPlnmxk3qv2MqiwOH8ALTHgaepr0q8YCogDExvy5G9e0w==} dependencies: '@iconify/types': 2.0.0 dev: true @@ -1155,8 +304,8 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/utils/2.0.6: - resolution: {integrity: sha512-XVC4T1gKbtKBjwvWdTthYkRWNNiGDfsbyuTvFdbcOux77KIF2w03hQMxKcMTtFwezzW/DV5CC3DNZfY3Tcs0hA==} + /@iconify/utils/2.0.12: + resolution: {integrity: sha512-hhUyt1/k5RRhfcW/PRRdBw8e1ACehJT5QEZJRm7HnkCiUx11/0ccLr7K0OMlPSwjnfYcBS2gAUD3EpmL0iJCkQ==} dependencies: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.2 @@ -1214,7 +363,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.14.0 + fastq: 1.15.0 dev: true /@panva/hkdf/1.0.2: @@ -1224,8 +373,8 @@ packages: /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - /@rollup/plugin-commonjs/23.0.7_rollup@3.9.0: - resolution: {integrity: sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==} + /@rollup/plugin-commonjs/24.0.0_rollup@3.10.0: + resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -1233,17 +382,17 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.9.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.0 commondir: 1.0.1 estree-walker: 2.0.2 - glob: 8.0.3 + glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.9.0 + rollup: 3.10.0 dev: true - /@rollup/plugin-json/5.0.2_rollup@3.9.0: - resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==} + /@rollup/plugin-json/6.0.0_rollup@3.10.0: + resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -1251,11 +400,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.9.0 - rollup: 3.9.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.0 + rollup: 3.10.0 dev: true - /@rollup/plugin-node-resolve/15.0.1_rollup@3.9.0: + /@rollup/plugin-node-resolve/15.0.1_rollup@3.10.0: resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1264,13 +413,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.9.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.0 '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 - rollup: 3.9.0 + rollup: 3.10.0 dev: true /@rollup/pluginutils/5.0.2: @@ -1287,7 +436,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils/5.0.2_rollup@3.9.0: + /@rollup/pluginutils/5.0.2_rollup@3.10.0: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1299,7 +448,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.9.0 + rollup: 3.10.0 dev: true /@sideway/address/4.1.4: @@ -1316,20 +465,20 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: false - /@sveltejs/adapter-node/1.0.0_@sveltejs+kit@1.0.1: - resolution: {integrity: sha512-Q8an8CXEt5XlFbyT1NBM4xELNZD8xPVZfKCcgorCfPkeBP5ftDgPaK12JIokXA5koYJ54AJcNY4ams9TZ7yGxA==} + /@sveltejs/adapter-node/1.1.4_@sveltejs+kit@1.1.4: + resolution: {integrity: sha512-3iEBqi1fXLXP9YIbVuz2LXajoebRJCmAFEQbN40DlxAnA7G+InxUgnqFun3q9gBMz2Qvd99K51g/HxWetXRe8Q==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@rollup/plugin-commonjs': 23.0.7_rollup@3.9.0 - '@rollup/plugin-json': 5.0.2_rollup@3.9.0 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.9.0 - '@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 - rollup: 3.9.0 + '@rollup/plugin-commonjs': 24.0.0_rollup@3.10.0 + '@rollup/plugin-json': 6.0.0_rollup@3.10.0 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.0 + '@sveltejs/kit': 1.1.4_svelte@3.55.1+vite@4.0.4 + rollup: 3.10.0 dev: true - /@sveltejs/kit/1.0.1_svelte@3.55.0+vite@4.0.3: - resolution: {integrity: sha512-C41aCaDjA7xoUdsrc/lSdU1059UdLPIRE1vEIRRynzpMujNgp82bTMHkDosb6vykH6LrLf3tT2w2/5NYQhKYGQ==} + /@sveltejs/kit/1.1.4_svelte@3.55.1+vite@4.0.4: + resolution: {integrity: sha512-FHt8j8PgwhgeA41WTJfD8yQdOmzRY1v6ORtyXjzbzIZ+106LTclRpywnFoKxACEilAQHdGLAivVf9bRHkW1LLQ==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -1337,10 +486,10 @@ packages: svelte: ^3.54.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.0+vite@4.0.3 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.0.4 '@types/cookie': 0.5.1 cookie: 0.5.0 - devalue: 4.2.0 + devalue: 4.2.2 esm-env: 1.0.0 kleur: 4.1.5 magic-string: 0.27.0 @@ -1348,14 +497,14 @@ packages: sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.55.0 + svelte: 3.55.1 tiny-glob: 0.2.9 - undici: 5.14.0 - vite: 4.0.3 + undici: 5.15.0 + vite: 4.0.4 transitivePeerDependencies: - supports-color - /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.0+vite@4.0.3: + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.0.4: resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -1366,10 +515,10 @@ packages: deepmerge: 4.2.2 kleur: 4.1.5 magic-string: 0.27.0 - svelte: 3.55.0 - svelte-hmr: 0.15.1_svelte@3.55.0 - vite: 4.0.3 - vitefu: 0.2.4_vite@4.0.3 + svelte: 3.55.1 + svelte-hmr: 0.15.1_svelte@3.55.1 + vite: 4.0.4 + vitefu: 0.2.4_vite@4.0.4 transitivePeerDependencies: - supports-color @@ -1380,12 +529,9 @@ packages: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/marked/4.0.8: - resolution: {integrity: sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==} - dev: true - /@types/node/18.11.18: resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} + dev: true /@types/pug/2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} @@ -1407,42 +553,27 @@ packages: '@types/node': 18.11.18 dev: true - /@types/unist/2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: true - - /@types/webidl-conversions/7.0.0: - resolution: {integrity: sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==} - dev: false - - /@types/whatwg-url/8.2.2: - resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} + /@unocss/astro/0.48.4_vite@4.0.4: + resolution: {integrity: sha512-Ol9uBJcysYOjCAEb1h0YSFcTE6NA2801UXY2YJhSyFmf92heY+oSPdDb1eNHXzcS5blmQLwWv7zgMYT2lYrZPQ==} dependencies: - '@types/node': 18.11.18 - '@types/webidl-conversions': 7.0.0 - dev: false - - /@unocss/astro/0.48.0_vite@4.0.3: - resolution: {integrity: sha512-MoINkgukO6YxVVEmEsY0oLWqU+Fv/dzPtUQhfsfek1mqtUbnwQ3n1xuOJ2S0eJSYmbprSuhvW/yTFVn1twsM1A==} - dependencies: - '@unocss/core': 0.48.0 - '@unocss/reset': 0.48.0 - '@unocss/vite': 0.48.0_vite@4.0.3 + '@unocss/core': 0.48.4 + '@unocss/reset': 0.48.4 + '@unocss/vite': 0.48.4_vite@4.0.4 transitivePeerDependencies: - rollup - vite dev: true - /@unocss/cli/0.48.0: - resolution: {integrity: sha512-stfRsxzWK11VtrwUXTRPUyndzhdc2UUp5J148QlgMOClLpR370LADSfj8SHawF5+ID/0k+pd65r7fMGQsx75pw==} + /@unocss/cli/0.48.4: + resolution: {integrity: sha512-bQk7QGHXk5meennVvCK1VQg8PLiogtLyUO/SwfmAVvKD/BeCV7cFuoUCDxko1fXhAOy84W2v1gqNl4JCXxu5oQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.0 '@rollup/pluginutils': 5.0.2 - '@unocss/config': 0.48.0 - '@unocss/core': 0.48.0 - '@unocss/preset-uno': 0.48.0 + '@unocss/config': 0.48.4 + '@unocss/core': 0.48.4 + '@unocss/preset-uno': 0.48.4 cac: 6.7.14 chokidar: 3.5.3 colorette: 2.0.19 @@ -1455,130 +586,130 @@ packages: - rollup dev: true - /@unocss/config/0.48.0: - resolution: {integrity: sha512-fr4baghDl8QhlRiGbIO6FWB0k/MGzm9uiWe+Azhpwi6DgFd3MUJMfTfEqia4n/u/sRRaUAbD1nrWrDtpneFLPQ==} + /@unocss/config/0.48.4: + resolution: {integrity: sha512-RAMpENnOkftw4NMu5TcnkMHjSJBa57OgE6N1eXfOw3rd6a4sgNC0S4r+rLiPDmvrdvmNUSvWYnJmPo6Ih1phQw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 unconfig: 0.3.7 dev: true - /@unocss/core/0.48.0: - resolution: {integrity: sha512-WvAvChbJ65l97mHismyApeFVgNeGR4uSZl1BzVY+E/fRmyooE4QxiCm3g2akox6mQryzxvBvgSpP9aPzH676ZQ==} + /@unocss/core/0.48.4: + resolution: {integrity: sha512-ecoTzblwEIQGD4QhMo1U36rVwvTR9XW+gtJRhCnVyjy7L23AbGJu2xkRZSsH3k/v0gs0gx/SHNfyOqA52BNfoA==} dev: true - /@unocss/inspector/0.48.0: - resolution: {integrity: sha512-Yr/O8oWmm5wfbnKJQF8IMH7GMmQEKcuunzI5KaZLK0QgS/5viPS+rcTOSwowYKRkXx5HUS+ClkA3+FMzoS9eYQ==} + /@unocss/inspector/0.48.4: + resolution: {integrity: sha512-YcPJoMUbOhldMxMLg9bGNMgReNIcYmIomI2NY77aiPcihv47LLPlN/ur3/syz5SxxihRgIIdFXmGhpj6HDa9vg==} dependencies: gzip-size: 6.0.0 sirv: 2.0.2 dev: true - /@unocss/preset-attributify/0.48.0: - resolution: {integrity: sha512-2W6PTX85dLbKm0wAUKfVbMD8rDxE3DSPSWQNfbLewC1o202qzIS8PeTKh++nHMVw1gzpATd546FbPvbZJlTtzw==} + /@unocss/preset-attributify/0.48.4: + resolution: {integrity: sha512-g8F6MKHSkK3euJeoTIxwfvKTGlAeN0OzVtm6BwpfeV6T0UCLoNOa2GCVco2kIbu/o95GeFr6oZcwwSQR8zTdcA==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/preset-icons/0.48.0: - resolution: {integrity: sha512-3vro36gTkjEic5rO9BcUudby8tQ9ZRCduKZ1+4CKP0hKoB58nDm1QZM+kvWQ8RVN2xoSU9vWkHhx1RLl8miE0g==} + /@unocss/preset-icons/0.48.4: + resolution: {integrity: sha512-7VJ4mnOpWIvKUKy2HO/yd1sFmw5uAOAcPL3yD6KHMOoE0igH1ohcx06WPAtyrHIALjWe1gBrvYhpPrhYhMH1tQ==} dependencies: - '@iconify/utils': 2.0.6 - '@unocss/core': 0.48.0 + '@iconify/utils': 2.0.12 + '@unocss/core': 0.48.4 ohmyfetch: 0.4.21 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini/0.48.0: - resolution: {integrity: sha512-u1EWnmLt25SmCC201+9MqLn1qFYw0aRFH+3clHn9xkrLxXMdb5hnCNssTHItalvht+mskHrfxpQmKUBtxpls+g==} + /@unocss/preset-mini/0.48.4: + resolution: {integrity: sha512-UNiBZ7rDP0ubXRu0r6WWy/2Fn70+xur0e/7cR4rMjyboQtMCKxYU6H6svZcraoX2ie1rjAIuZmMbSLooTVoovg==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/preset-tagify/0.48.0: - resolution: {integrity: sha512-vHlm3Ag15DHALgnhUZwWZvJXPpJFqxxaCsPdlDsAFRa65FPZEu5iM5V6jzn5H0/GCbTil/WARytlG95m369Scg==} + /@unocss/preset-tagify/0.48.4: + resolution: {integrity: sha512-M8Vr7JbDAXb/c83oCnIOlSEuCWSujiia7Fp5kgmKrXp25Bqb7rd9d6sD0uLcHsknc9hUkkBFGyPfuMmRo1VovA==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/preset-typography/0.48.0: - resolution: {integrity: sha512-CB5hPe9jP/tZI/H49nE7e79Accgu2q8yp2qRGIM4jlDcU1Tz4g0JmAxg8MeIqrqajVuJQhAu9cd3QnZ5wuh6hA==} + /@unocss/preset-typography/0.48.4: + resolution: {integrity: sha512-dxyAJD1SpJIPh3V9GeYjUHc+ulXu+U+96A5H3UmbeGgzs+wQzqsAZe2hQqtBsJIIp2N/QXttyVkh3EkVnF8k8w==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/preset-uno/0.48.0: - resolution: {integrity: sha512-mTauhEXdy3ClSPiC6/wgZvSClkBVmrJjuCQFu4mGzFB0IuelsbEjxT7OHlv3Nrwv1d4xEcr9ed6JWm31ketdtA==} + /@unocss/preset-uno/0.48.4: + resolution: {integrity: sha512-T7l5kFzb52b3NI02pnamPxPLDp7M4+V/sid+Z4LqkJoqsgER1Ekp0WYnQyCWauj9PcMIxoSq4aUf9p7MD3GrUA==} dependencies: - '@unocss/core': 0.48.0 - '@unocss/preset-mini': 0.48.0 - '@unocss/preset-wind': 0.48.0 + '@unocss/core': 0.48.4 + '@unocss/preset-mini': 0.48.4 + '@unocss/preset-wind': 0.48.4 dev: true - /@unocss/preset-web-fonts/0.48.0: - resolution: {integrity: sha512-eH2tcr2ax1EWKVnT8lZWPGMZDur70UNhyyhF1qZaBdGmbRG4qxEhro9TB70FaNJ/ggHEpvUE8g/t1ZZ5IgwtdQ==} + /@unocss/preset-web-fonts/0.48.4: + resolution: {integrity: sha512-kycVq3rBcPCbwGPUmd+jaWQwJ0IRqp/RPTPmz8+DEItlSVaMaHBfuluHlJ3kjIYgRkWVnT2nEZtTEGEpUxwdRw==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 ohmyfetch: 0.4.21 dev: true - /@unocss/preset-wind/0.48.0: - resolution: {integrity: sha512-dd91Ja8K9gqjl27QcY9B5eVS2ScYDXGAPk6/zxDdNVehpKyrLhoCApO7UN0BR6rJSV5jJXi6ztByIDsBg8d6UQ==} + /@unocss/preset-wind/0.48.4: + resolution: {integrity: sha512-V4nuAgbeek7wVNChchQZTwDB3ww6sSdcNsYZII8gpGdf7EvFmgI6ZkpIcSCXHBBbCiFWckWfcqIBEY/pchBLUw==} dependencies: - '@unocss/core': 0.48.0 - '@unocss/preset-mini': 0.48.0 + '@unocss/core': 0.48.4 + '@unocss/preset-mini': 0.48.4 dev: true - /@unocss/reset/0.48.0: - resolution: {integrity: sha512-i7z6Rbs7fXFD3NdlVJViFltpDJUCo5xDm5y01Xaoa4mJQHr/1335Ht0JW/emAJXf170UYSwb2rUeK1J3fty9eg==} + /@unocss/reset/0.48.4: + resolution: {integrity: sha512-9WPoGwLrG5vZQzMxgd7/zJkUUmL06WYtrAiRdf5gYsCBbnpx6eq0II0TvU8PEzvseqgkhEpN19iSgnsuTZ34kA==} dev: true - /@unocss/scope/0.48.0: - resolution: {integrity: sha512-r/a89Ip2NWlhvEglsZ4qQMy6smCmgGyA8aOKSEpU59il9Lmxjsz8eVLqofeiRzjBI9NTutpfLoEw3vrAK0YxRA==} + /@unocss/scope/0.48.4: + resolution: {integrity: sha512-3GcEoTiEZWguui8n1CFjuKkdtnRegND+QkSUN3fEW62s515gpjwkuLbthea+dLT8+x0NUjoXglMN0Hsea0taTA==} dev: true - /@unocss/transformer-attributify-jsx/0.48.0: - resolution: {integrity: sha512-aKWE2qvCeM+ev91tdnDoLVY53cNtRhqlisJnvmFUkIkDTJBZiMQnkKQdaoCrZDbIptRogqMtpJVlGxPe41z2WA==} + /@unocss/transformer-attributify-jsx/0.48.4: + resolution: {integrity: sha512-7D/lshXUbwjt8ra2RyVLwSqR9HiC2zah7XuQxTgu6pdJ31eHNZqK3LeanCjx4KNeR6XY8gwjI7qPeimGrmnVVA==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/transformer-compile-class/0.48.0: - resolution: {integrity: sha512-8Hi1KRQfqac7AT+YQuVM0eW6Z83u7PzuKD+SU7k+UzQLpX+M/S5t4iYJPYDSJ34btN8VhvXcn5iV//kclFAWgg==} + /@unocss/transformer-compile-class/0.48.4: + resolution: {integrity: sha512-E9tRf3ZtbwPBtodnonwYmcoDzcxopLVHUi8HE6tuVrxO5MR5glgfA9sFWv4Wkzv5zGCgcQHixP+EXTiYahCfpg==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/transformer-directives/0.48.0: - resolution: {integrity: sha512-Iq55a/vAcTM7xoEtMkqlDP3BT+0ljaqTFctvlentJWDoAjJlbOoPe4gE5BKld5ulWEsV4wvpY2acn/y8SGvJUw==} + /@unocss/transformer-directives/0.48.4: + resolution: {integrity: sha512-/TMiCOv63i/y9s+PRdgon00mEtC8UJHGDmHr74ACloyJiy5AOPOr7DvIL4Q2Asw7WVhQUVGlXsQyjt53fp6rTA==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group/0.48.0: - resolution: {integrity: sha512-a3S4NTCt2JacUl+qL4eIpUjw1hkvthGV5pgkq8wMa5cGxJy2NpS/ZaLMfwsUA1Eo6fgMfK/QwMeLJihhs7G/qQ==} + /@unocss/transformer-variant-group/0.48.4: + resolution: {integrity: sha512-szh75Mi2j6FLd3wVE8Pju/EmjoqdBCRyC9plM5REUrJco0txi94kHkpZEoF5vdkjhBnTG2wsLEoPW32chFt2PQ==} dependencies: - '@unocss/core': 0.48.0 + '@unocss/core': 0.48.4 dev: true - /@unocss/vite/0.48.0_vite@4.0.3: - resolution: {integrity: sha512-j4QS2Ns02J9LRwdpLNiKt+Fo0+YUtvTQ66Xc/xq9s/ErptUwNnXsTCEDQzadXwPw+I8REKakLUve32to8VAd0w==} + /@unocss/vite/0.48.4_vite@4.0.4: + resolution: {integrity: sha512-/KZ8Rk5kHt/EoxvCZCvajuTFVTYzVkN0RP9ThGXhhIePNA78231ym4PuUYU7Bv3y+r6zsP9fwqxtyT5a6cS09w==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.0 '@rollup/pluginutils': 5.0.2 - '@unocss/config': 0.48.0 - '@unocss/core': 0.48.0 - '@unocss/inspector': 0.48.0 - '@unocss/scope': 0.48.0 - '@unocss/transformer-directives': 0.48.0 + '@unocss/config': 0.48.4 + '@unocss/core': 0.48.4 + '@unocss/inspector': 0.48.4 + '@unocss/scope': 0.48.4 + '@unocss/transformer-directives': 0.48.4 chokidar: 3.5.3 fast-glob: 3.2.12 magic-string: 0.27.0 - vite: 4.0.3 + vite: 4.0.4 transitivePeerDependencies: - rollup dev: true @@ -1595,8 +726,8 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /axios/1.2.2: - resolution: {integrity: sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==} + /axios/1.2.4: + resolution: {integrity: sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -1609,20 +740,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true - /bowser/2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - dev: false - optional: true - /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1643,24 +765,10 @@ packages: fill-range: 7.0.1 dev: true - /bson/4.7.1: - resolution: {integrity: sha512-XkuFtlCzi0WSy8D6PMhvrQ/q8VlZHN/2bJ/shJglwuA6TPD2ZP/hHLB7iDxOEWVINHN/UVTxP4pqZqOKMXPIXg==} - engines: {node: '>=6.9.0'} - dependencies: - buffer: 5.7.1 - dev: false - /buffer-crc32/0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true - /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /builtin-modules/3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -1778,17 +886,8 @@ packages: engines: {node: '>=8'} dev: true - /devalue/4.2.0: - resolution: {integrity: sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==} - - /discord-webhook-node/1.1.8: - resolution: {integrity: sha512-3u0rrwywwYGc6HrgYirN/9gkBYqmdpvReyQjapoXARAHi0P0fIyf3W5tS5i3U3cc7e44E+e7dIHYUeec7yWaug==} - dependencies: - form-data: 3.0.1 - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true + /devalue/4.2.2: + resolution: {integrity: sha512-Pkwd8qrI9O20VJ14fBNHu+on99toTNZFbgWRpZbC0zbDXpnE2WHYcrC1fHhMsF/3Ee+2yaW7vEujAT7fCYgqrA==} /dom-serializer/2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -1817,11 +916,6 @@ packages: domhandler: 5.0.3 dev: true - /dotenv/16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: false - /duplexer/0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true @@ -1835,34 +929,34 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild/0.16.12: - resolution: {integrity: sha512-eq5KcuXajf2OmivCl4e89AD3j8fbV+UTE9vczEzq5haA07U9oOTzBWlh3+6ZdjJR7Rz2QfWZ2uxZyhZxBgJ4+g==} + /esbuild/0.16.17: + resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.12 - '@esbuild/android-arm64': 0.16.12 - '@esbuild/android-x64': 0.16.12 - '@esbuild/darwin-arm64': 0.16.12 - '@esbuild/darwin-x64': 0.16.12 - '@esbuild/freebsd-arm64': 0.16.12 - '@esbuild/freebsd-x64': 0.16.12 - '@esbuild/linux-arm': 0.16.12 - '@esbuild/linux-arm64': 0.16.12 - '@esbuild/linux-ia32': 0.16.12 - '@esbuild/linux-loong64': 0.16.12 - '@esbuild/linux-mips64el': 0.16.12 - '@esbuild/linux-ppc64': 0.16.12 - '@esbuild/linux-riscv64': 0.16.12 - '@esbuild/linux-s390x': 0.16.12 - '@esbuild/linux-x64': 0.16.12 - '@esbuild/netbsd-x64': 0.16.12 - '@esbuild/openbsd-x64': 0.16.12 - '@esbuild/sunos-x64': 0.16.12 - '@esbuild/win32-arm64': 0.16.12 - '@esbuild/win32-ia32': 0.16.12 - '@esbuild/win32-x64': 0.16.12 + '@esbuild/android-arm': 0.16.17 + '@esbuild/android-arm64': 0.16.17 + '@esbuild/android-x64': 0.16.17 + '@esbuild/darwin-arm64': 0.16.17 + '@esbuild/darwin-x64': 0.16.17 + '@esbuild/freebsd-arm64': 0.16.17 + '@esbuild/freebsd-x64': 0.16.17 + '@esbuild/linux-arm': 0.16.17 + '@esbuild/linux-arm64': 0.16.17 + '@esbuild/linux-ia32': 0.16.17 + '@esbuild/linux-loong64': 0.16.17 + '@esbuild/linux-mips64el': 0.16.17 + '@esbuild/linux-ppc64': 0.16.17 + '@esbuild/linux-riscv64': 0.16.17 + '@esbuild/linux-s390x': 0.16.17 + '@esbuild/linux-x64': 0.16.17 + '@esbuild/netbsd-x64': 0.16.17 + '@esbuild/openbsd-x64': 0.16.17 + '@esbuild/sunos-x64': 0.16.17 + '@esbuild/win32-arm64': 0.16.17 + '@esbuild/win32-ia32': 0.16.17 + '@esbuild/win32-x64': 0.16.17 /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -1902,16 +996,8 @@ packages: micromatch: 4.0.5 dev: true - /fast-xml-parser/4.0.11: - resolution: {integrity: sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==} - hasBin: true - dependencies: - strnum: 1.0.5 - dev: false - optional: true - - /fastq/1.14.0: - resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 dev: true @@ -1941,15 +1027,6 @@ packages: optional: true dev: true - /form-data/3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /form-data/4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -1996,14 +1073,14 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/8.0.3: - resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} + /glob/8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.2 + minimatch: 5.1.6 once: 1.4.0 dev: true @@ -2044,10 +1121,6 @@ packages: engines: {node: '>=10.17.0'} dev: true - /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2067,10 +1140,6 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ip/2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: false - /is-binary-path/2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -2131,8 +1200,8 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jiti/1.16.0: - resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==} + /jiti/1.16.2: + resolution: {integrity: sha512-OKBOVWmU3FxDt/UH4zSwiKPuc1nihFZiOD722FuJlngvLz2glX1v2/TJIgoA4+mrpnXxHV6dSAoCvPcYQtoG5A==} hasBin: true dev: true @@ -2146,8 +1215,8 @@ packages: '@sideway/pinpoint': 2.0.0 dev: false - /jose/4.11.1: - resolution: {integrity: sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==} + /jose/4.11.2: + resolution: {integrity: sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==} dev: false /kleur/4.1.5: @@ -2176,33 +1245,10 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - /marked/4.2.5: - resolution: {integrity: sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==} - engines: {node: '>= 12'} - hasBin: true - dev: true - /mdn-data/2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true - /mdsvex/0.10.6_svelte@3.55.0: - resolution: {integrity: sha512-aGRDY0r5jx9+OOgFdyB9Xm3EBr9OUmcrTDPWLB7a7g8VPRxzPy4MOBmcVYgz7ErhAJ7bZ/coUoj6aHio3x/2mA==} - peerDependencies: - svelte: 3.x - dependencies: - '@types/unist': 2.0.6 - prism-svelte: 0.4.7 - prismjs: 1.29.0 - svelte: 3.55.0 - vfile-message: 2.0.4 - dev: true - - /memory-pager/1.5.0: - resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} - dev: false - optional: true - /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -2253,8 +1299,8 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch/5.1.2: - resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -2271,27 +1317,6 @@ packages: minimist: 1.2.7 dev: true - /mongodb-connection-string-url/2.6.0: - resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==} - dependencies: - '@types/whatwg-url': 8.2.2 - whatwg-url: 11.0.0 - dev: false - - /mongodb/4.13.0: - resolution: {integrity: sha512-+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw==} - engines: {node: '>=12.9.0'} - dependencies: - bson: 4.7.1 - mongodb-connection-string-url: 2.6.0 - socks: 2.7.1 - optionalDependencies: - '@aws-sdk/credential-providers': 3.245.0 - saslprep: 1.0.3 - transitivePeerDependencies: - - aws-crt - dev: false - /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -2312,18 +1337,6 @@ packages: resolution: {integrity: sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==} dev: true - /node-fetch/2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2336,10 +1349,6 @@ packages: path-key: 3.1.1 dev: true - /oauth4webapi/2.0.5: - resolution: {integrity: sha512-KmoR3KxCwmr9KvL/c/6UVzQnc4CUjo+j8NSgD3bWYlZXpUmyOVw97nDVb0BKZhCcUtGsbll16v8vsnR5JbTZ9A==} - dev: false - /oauth4webapi/2.0.6: resolution: {integrity: sha512-smacvTzkfgWxXTTfjZeKeCwtiZ7/HIgM+PWcgTltAmEbfmJQRfl/nbWktA9tnzSjezvWNg9N96PJomuMi0zkxQ==} dev: false @@ -2350,7 +1359,7 @@ packages: destr: 1.2.2 node-fetch-native: 0.1.8 ufo: 0.8.6 - undici: 5.14.0 + undici: 5.15.0 dev: true /once/1.4.0: @@ -2425,8 +1434,8 @@ packages: engines: {node: '>=8.6'} dev: true - /postcss/8.4.20: - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -2446,18 +1455,18 @@ packages: resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} dev: false - /prettier-plugin-svelte/2.9.0_ajxj753sv7dbwexjherrch25ta: + /prettier-plugin-svelte/2.9.0_kdmmghgdi3ngrsq6otxkjilbry: resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.8.1 - svelte: 3.55.0 + prettier: 2.8.3 + svelte: 3.55.1 dev: true - /prettier/2.8.1: - resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} + /prettier/2.8.3: + resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -2466,24 +1475,10 @@ packages: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} dev: false - /prism-svelte/0.4.7: - resolution: {integrity: sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==} - dev: true - - /prismjs/1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: true - /proxy-from-env/1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /punycode/2.2.0: - resolution: {integrity: sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==} - engines: {node: '>=6'} - dev: false - /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -2520,8 +1515,8 @@ packages: glob: 7.2.3 dev: true - /rollup/3.9.0: - resolution: {integrity: sha512-nGGylpmblyjTpF4lEUPgmOw6OVxRvnI6Iuuh6Lz4O/X66cVOX1XJSsqP1YamxQ+mPuFE7qJxLFDSCk8rNv5dDw==} + /rollup/3.10.0: + resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -2556,24 +1551,7 @@ packages: htmlparser2: 8.0.1 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.4.20 - dev: true - - /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} - requiresBuild: true - dependencies: - sparse-bitfield: 3.0.3 - dev: false - optional: true - - /schema-dts/0.8.3_typescript@4.9.4: - resolution: {integrity: sha512-GSLeVkUgEe8DzS8/FGWou1wlC8tQ1KXA5amCqCIH/psUzF74fWswtT0QFlSoJLT08CYyixnc3S/lkAm+RExoLQ==} - peerDependencies: - typescript: '>=3.4.0' - dependencies: - typescript: 4.9.4 + postcss: 8.4.21 dev: true /set-cookie-parser/2.5.1: @@ -2603,19 +1581,6 @@ packages: mrmime: 1.0.1 totalist: 3.0.0 - /smart-buffer/4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false - - /socks/2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: false - /sorcery/0.10.0: resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} hasBin: true @@ -2635,13 +1600,6 @@ packages: deprecated: Please use @jridgewell/sourcemap-codec instead dev: true - /sparse-bitfield/3.0.3: - resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} - dependencies: - memory-pager: 1.5.0 - dev: false - optional: true - /streamsearch/1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -2658,17 +1616,12 @@ packages: min-indent: 1.0.1 dev: true - /strnum/1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - dev: false - optional: true - /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check/3.0.1_svelte@3.55.0: - resolution: {integrity: sha512-7YpHYWv6V2qhcvVeAlXixUPAlpLCXB1nZEQK0EItB3PtuYmENhKclbc5uKSJTodTwWR1y+4stKGcbH30k6A3Yw==} + /svelte-check/3.0.2_svelte@3.55.1: + resolution: {integrity: sha512-DkhKhV0Jt0gh7q9DBB26+J2Vfb9y4/4JWxnbkXBZha7542LOhwvj3edJFjyJ+xjdaXyInZ+YRRYc3V6wytP2ew==} hasBin: true peerDependencies: svelte: ^3.55.0 @@ -2679,8 +1632,8 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.55.0 - svelte-preprocess: 5.0.0_niwyv7xychq2ag6arq5eqxbomm + svelte: 3.55.1 + svelte-preprocess: 5.0.0_atrrhq7vg4ekua4nnyrpuardle typescript: 4.9.4 transitivePeerDependencies: - '@babel/core' @@ -2698,19 +1651,15 @@ packages: resolution: {integrity: sha512-/QmIqWGwzcfE82FAMuHBlKFwudW7Vcos60Ii8j/mJZ0H6kGAXwL5EGlcc8voBJMJv/i0QZmhp5b1ZX/XKg9NJQ==} dev: true - /svelte-hcaptcha/0.1.1: - resolution: {integrity: sha512-iFF3HwfrCRciJnDs4Y9/rpP/BM2U/5zt+vh+9d4tALPAHVkcANiJIKqYuS835pIaTm6gt+xOzjfFI3cgiRI29A==} - dev: true - - /svelte-hmr/0.15.1_svelte@3.55.0: + /svelte-hmr/0.15.1_svelte@3.55.1: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.55.0 + svelte: 3.55.1 - /svelte-preprocess/5.0.0_niwyv7xychq2ag6arq5eqxbomm: + /svelte-preprocess/5.0.0_atrrhq7vg4ekua4nnyrpuardle: resolution: {integrity: sha512-q7lpa7i2FBu8Pa+G0MmuQQWETBwCKgsGmuq1Sf6n8q4uaG9ZLcLP0Y+etC6bF4sE6EbLxfiI38zV6RfPe3RSfg==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -2754,24 +1703,12 @@ packages: magic-string: 0.27.0 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.55.0 + svelte: 3.55.1 typescript: 4.9.4 dev: true - /svelte-seo/1.4.1_typescript@4.9.4: - resolution: {integrity: sha512-ud0vdQrAVvZHLFsYznimlKdxWC47GqYWgOBBTr3mYDPouBPQHYDazEFredmwUm5boVoMRffu/aOJ5Yj1xQQibA==} - dependencies: - schema-dts: 0.8.3_typescript@4.9.4 - transitivePeerDependencies: - - typescript - dev: true - - /svelte-vertical-timeline/0.0.2: - resolution: {integrity: sha512-tM+wghFsIW3Xb/KC+ImlTw1S1THTEhcVki8x4/u+XVLGAnRGiPbeiO/aRhVj0k8v7D8YZHwlRm0X295KyAKQdg==} - dev: true - - /svelte/3.55.0: - resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==} + /svelte/3.55.1: + resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==} engines: {node: '>= 8'} /tiny-glob/0.2.9: @@ -2791,24 +1728,9 @@ packages: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} - /tr46/0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true - - /tr46/3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - dependencies: - punycode: 2.2.0 - dev: false - - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: false - optional: true - /tslib/2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + dev: true /typescript/4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} @@ -2825,68 +1747,49 @@ packages: dependencies: '@antfu/utils': 0.5.2 defu: 6.1.1 - jiti: 1.16.0 + jiti: 1.16.2 dev: true - /undici/5.14.0: - resolution: {integrity: sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==} + /undici/5.15.0: + resolution: {integrity: sha512-wCAZJDyjw9Myv+Ay62LAoB+hZLPW9SmKbQkbHIhMw/acKSlpn7WohdMUc/Vd4j1iSMBO0hWwU8mjB7a5p5bl8g==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 - /unist-util-stringify-position/2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - dependencies: - '@types/unist': 2.0.6 - dev: true - - /unocss/0.48.0_vite@4.0.3: - resolution: {integrity: sha512-rDyMHyvRTRUPOd406CzgoYfiQ4tzN/TGU++jFTDzLsJ9Unuwf/pBBclP6z6aqt5eRBoEOEMqrJJwm9QN7aeYdA==} + /unocss/0.48.4_vite@4.0.4: + resolution: {integrity: sha512-kA584VQ2z6BPxWAcAVVy+yq5N7BALh1PsbVHcaa8RTW+11VF9fNoW33sGehC7e9/kV5tX/EU++1fpkC0TnXkGw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.48.0 + '@unocss/webpack': 0.48.4 peerDependenciesMeta: '@unocss/webpack': optional: true dependencies: - '@unocss/astro': 0.48.0_vite@4.0.3 - '@unocss/cli': 0.48.0 - '@unocss/core': 0.48.0 - '@unocss/preset-attributify': 0.48.0 - '@unocss/preset-icons': 0.48.0 - '@unocss/preset-mini': 0.48.0 - '@unocss/preset-tagify': 0.48.0 - '@unocss/preset-typography': 0.48.0 - '@unocss/preset-uno': 0.48.0 - '@unocss/preset-web-fonts': 0.48.0 - '@unocss/preset-wind': 0.48.0 - '@unocss/reset': 0.48.0 - '@unocss/transformer-attributify-jsx': 0.48.0 - '@unocss/transformer-compile-class': 0.48.0 - '@unocss/transformer-directives': 0.48.0 - '@unocss/transformer-variant-group': 0.48.0 - '@unocss/vite': 0.48.0_vite@4.0.3 + '@unocss/astro': 0.48.4_vite@4.0.4 + '@unocss/cli': 0.48.4 + '@unocss/core': 0.48.4 + '@unocss/preset-attributify': 0.48.4 + '@unocss/preset-icons': 0.48.4 + '@unocss/preset-mini': 0.48.4 + '@unocss/preset-tagify': 0.48.4 + '@unocss/preset-typography': 0.48.4 + '@unocss/preset-uno': 0.48.4 + '@unocss/preset-web-fonts': 0.48.4 + '@unocss/preset-wind': 0.48.4 + '@unocss/reset': 0.48.4 + '@unocss/transformer-attributify-jsx': 0.48.4 + '@unocss/transformer-compile-class': 0.48.4 + '@unocss/transformer-directives': 0.48.4 + '@unocss/transformer-variant-group': 0.48.4 + '@unocss/vite': 0.48.4_vite@4.0.4 transitivePeerDependencies: - rollup - supports-color - vite dev: true - /uuid/8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false - optional: true - - /vfile-message/2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 2.0.3 - dev: true - - /vite/4.0.3: - resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} + /vite/4.0.4: + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -2910,14 +1813,14 @@ packages: terser: optional: true dependencies: - esbuild: 0.16.12 - postcss: 8.4.20 + esbuild: 0.16.17 + postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.9.0 + rollup: 3.10.0 optionalDependencies: fsevents: 2.3.2 - /vitefu/0.2.4_vite@4.0.3: + /vitefu/0.2.4_vite@4.0.4: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -2925,31 +1828,7 @@ packages: vite: optional: true dependencies: - vite: 4.0.3 - - /webidl-conversions/3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true - - /webidl-conversions/7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: false - - /whatwg-url/11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: false - - /whatwg-url/5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true + vite: 4.0.4 /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..9828ee3 --- /dev/null +++ b/src/app.css @@ -0,0 +1,77 @@ +@font-face { + font-family: "JetBrains Mono"; + src: url("/JetBrainsMono.woff2"); + font-display: swap; +} + +html, html.light { + --accent: #00a584; + --accent-translucent: #00a58498; + --font-primary: "JetBrains Mono", monospace; + --primary: #ffffff; + --secondary: #e9e9e9; + --tertiary: #939393; + --text: #444444; + --grey: #cecece; + --alt: #ddd; + --alt-text: #333; + --black: #151515; + color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + html { + --primary: #151515; + --secondary: #1d1d1d; + --tertiary: #353535; + --text: #ffffffde; + --grey: #5454547a; + --alt: #333; + --alt-text: #ddd; + color-scheme: dark; + } +} + +body { + @apply bg-primary text-text font-primary m-0 leading-loose min-h-screen transition-colors duration-200; +} + +::selection { + @apply bg-accentTranslucent; +} + +a { + @apply text-accent underline underline-offset-4 transition-filter duration-200; +} + +a:hover { + @apply brightness-70; +} + +h1 { + @apply text-4xl font-bold my-8 border-b-2 border-accent pb-2; +} + +.h1-no-lg { + @apply my-8 border-b-2 border-accent pb-2; +} + +h2 { + @apply text-3xl font-bold my-8; +} + +h3 { + @apply text-2xl font-bold my-8; +} + +h4 { + @apply text-xl font-bold my-8; +} + +details { + @apply cursor-pointer; +} + +.button { + @apply px-2 py-1 bg-accent text-primary rounded no-underline flex flex-row items-center gap-2; +} \ No newline at end of file diff --git a/src/app.d.ts b/src/app.d.ts index 121720c..c760990 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,10 +1,13 @@ -/// - // See https://kit.svelte.dev/docs/types#app // for information about these interfaces -declare namespace App { - // interface Locals {} - // interface Platform {} - // interface Session {} - // interface Stuff {} +// and what to do when importing types +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface Platform {} + } } + +export {}; diff --git a/src/app.html b/src/app.html index e6490df..cdc364b 100644 --- a/src/app.html +++ b/src/app.html @@ -2,14 +2,8 @@ - - + + %sveltekit.head% diff --git a/src/hooks.server.ts b/src/hooks.server.ts index cf83495..9949933 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,27 +1,44 @@ -import { SvelteKitAuth } from "@auth/sveltekit" -import Authentik from '@auth/core/providers/authentik'; +import { SvelteKitAuth } from "@auth/sveltekit"; +import Authentik from "@auth/core/providers/authentik"; import { env } from "$env/dynamic/private"; -import statusData from "$lib/statusData"; -import map from "$lib/map"; +import type { Provider } from "@auth/core/providers"; +import type { Profile } from "@auth/core/types"; +import { redirect, type Handle } from "@sveltejs/kit"; +import { sequence } from "@sveltejs/kit/hooks"; -export const handle = SvelteKitAuth({ - providers: [ - //@ts-ignore - Authentik({ - clientId: env.AUTH_CLIENT_ID, - clientSecret: env.AUTH_CLIENT_SECRET, - issuer: env.AUTH_ISSUER - }) - ] -}) +const hasAuth = !env.AUTH_CLIENT_ID || !env.AUTH_CLIENT_SECRET || !env.AUTH_ISSUER || !env.AUTH_TRUST_HOST || !env.AUTH_SECRET ? false : true; -const updateMap = () => { - map.set("data", { - status: statusData, - updated: Math.floor(Date.now() / 1000) - }); -}; - -updateMap(); - -setInterval(updateMap, 30000); \ No newline at end of file +export const handle: Handle = sequence( + //@ts-ignore + SvelteKitAuth({ + providers: [ + Authentik({ + clientId: env.AUTH_CLIENT_ID, + clientSecret: env.AUTH_CLIENT_SECRET, + issuer: env.AUTH_ISSUER + }) as Provider + ] + }), + hasAuth ? async ({ event, resolve }) => { + if (event.url.pathname.startsWith("/admin")) { + const session = await event.locals.getSession(); + if (!session) { + throw redirect(303, "/login"); + } + } + + const result = await resolve(event, { + transformPageChunk: ({ html }) => html + }); + return result; + } : async ({ event, resolve }) => { + if (event.url.pathname.startsWith("/admin")) { + throw redirect(303, "/login"); + } + + const result = await resolve(event, { + transformPageChunk: ({ html }) => html + }); + return result; + } +); \ No newline at end of file diff --git a/src/lib/BlogCard/Meta.svelte b/src/lib/BlogCard/Meta.svelte index 3fba6c4..7d762c2 100644 --- a/src/lib/BlogCard/Meta.svelte +++ b/src/lib/BlogCard/Meta.svelte @@ -10,7 +10,7 @@
{#each post.tags as tag} - {tag.name} + {tag.name} {/each}
{/if} diff --git a/src/lib/BlogCard/PostContent.svelte b/src/lib/BlogCard/PostContent.svelte index ec1bda2..1b70a8e 100644 --- a/src/lib/BlogCard/PostContent.svelte +++ b/src/lib/BlogCard/PostContent.svelte @@ -3,6 +3,6 @@
- {data.post.title} image + {data.post.title} image {@html data.post.html}
\ No newline at end of file diff --git a/src/lib/BlogCard/PostOuter.svelte b/src/lib/BlogCard/PostOuter.svelte index 44369c6..0c43427 100644 --- a/src/lib/BlogCard/PostOuter.svelte +++ b/src/lib/BlogCard/PostOuter.svelte @@ -3,7 +3,7 @@ export let isPost: boolean = false; -
+
{#if url} diff --git a/src/lib/BlogCard/PostsContainer.svelte b/src/lib/BlogCard/PostsContainer.svelte index deede0b..7c611a8 100644 --- a/src/lib/BlogCard/PostsContainer.svelte +++ b/src/lib/BlogCard/PostsContainer.svelte @@ -1,8 +1,3 @@ - - -
+
\ No newline at end of file diff --git a/src/lib/BlogCard/SingleWordLists.svelte b/src/lib/BlogCard/SingleWordLists.svelte index 146857d..3088758 100644 --- a/src/lib/BlogCard/SingleWordLists.svelte +++ b/src/lib/BlogCard/SingleWordLists.svelte @@ -6,6 +6,6 @@
{#each items as item} - {item.name} + {item.name} {/each}
\ No newline at end of file diff --git a/src/lib/BlogCard/Title.svelte b/src/lib/BlogCard/Title.svelte index 9f3c408..d85d277 100644 --- a/src/lib/BlogCard/Title.svelte +++ b/src/lib/BlogCard/Title.svelte @@ -5,7 +5,7 @@ {#if !isPost} {#if post.feature_image} - {post.title} image + {post.title} image {/if} {post.title} {:else} diff --git a/src/lib/Card/CardInner.svelte b/src/lib/Card/CardInner.svelte deleted file mode 100644 index 17f4491..0000000 --- a/src/lib/Card/CardInner.svelte +++ /dev/null @@ -1,36 +0,0 @@ - - -
-
- {#if icon} -
- {title} icon -
- {/if} -
- - {title} - - {#if position} - - - {position} - {/if} - - - {#if description} -

{description}

- {/if} -
-
- -
diff --git a/src/lib/Card/CardOuter.svelte b/src/lib/Card/CardOuter.svelte deleted file mode 100644 index 36eecd9..0000000 --- a/src/lib/Card/CardOuter.svelte +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/src/lib/Card/Link.svelte b/src/lib/Card/Link.svelte deleted file mode 100644 index 877529c..0000000 --- a/src/lib/Card/Link.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - diff --git a/src/lib/Card/LinksOuter.svelte b/src/lib/Card/LinksOuter.svelte deleted file mode 100644 index 5093e26..0000000 --- a/src/lib/Card/LinksOuter.svelte +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/src/lib/Card/index.ts b/src/lib/Card/index.ts deleted file mode 100644 index 5ab1061..0000000 --- a/src/lib/Card/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { default as CardOuter } from "./CardOuter.svelte"; -export { default as CardInner } from "./CardInner.svelte"; -export { default as LinksOuter } from "./LinksOuter.svelte"; -export { default as Link } from "./Link.svelte"; diff --git a/src/lib/Footer.svelte b/src/lib/Footer.svelte index 40be35d..dc182fa 100644 --- a/src/lib/Footer.svelte +++ b/src/lib/Footer.svelte @@ -1,8 +1,7 @@ -
-
- Made with
SvelteKit + +
\ No newline at end of file diff --git a/src/lib/Form/Captcha.svelte b/src/lib/Form/Captcha.svelte deleted file mode 100644 index cc527d5..0000000 --- a/src/lib/Form/Captcha.svelte +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - -{#if submit} - -{/if} diff --git a/src/lib/Form/Form.svelte b/src/lib/Form/Form.svelte deleted file mode 100644 index 06cc89f..0000000 --- a/src/lib/Form/Form.svelte +++ /dev/null @@ -1,28 +0,0 @@ - - -
- - - - diff --git a/src/lib/Form/Meta.svelte b/src/lib/Form/Meta.svelte deleted file mode 100644 index de8f6bd..0000000 --- a/src/lib/Form/Meta.svelte +++ /dev/null @@ -1,51 +0,0 @@ - - -
- - {#if input2} - - {/if} - {#if select} - - {/if} -
- -{#if select} - -{/if} diff --git a/src/lib/Form/Note.svelte b/src/lib/Form/Note.svelte deleted file mode 100644 index 356b83d..0000000 --- a/src/lib/Form/Note.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - -
- {#if icon} -
- {/if} - {content} -
diff --git a/src/lib/Form/TextArea.svelte b/src/lib/Form/TextArea.svelte deleted file mode 100644 index 48f9741..0000000 --- a/src/lib/Form/TextArea.svelte +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - {#if form?.addSuccess} - {form.addMessage} - {/if} - - {#if form?.addError} - {form.addMessage} - {/if} - - -

Delete Announcement

-
- {#if form?.deleteSuccess} - {form.deleteMessage} - {/if} - -
-
\ No newline at end of file diff --git a/src/routes/api/status/+server.ts b/src/routes/api/status/+server.ts deleted file mode 100644 index f6ac558..0000000 --- a/src/routes/api/status/+server.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { RequestHandler } from './$types'; -import map from "$lib/map"; - -export const GET = (() => { - const data = map.get("data"); - - return new Response(JSON.stringify(data), { - headers: { - "content-type": "application/json; charset=utf-8" - } - }); -}) satisfies RequestHandler; \ No newline at end of file diff --git a/src/routes/blog/+page.server.ts b/src/routes/blog/+page.server.ts index e00bfcb..db03fb3 100644 --- a/src/routes/blog/+page.server.ts +++ b/src/routes/blog/+page.server.ts @@ -1,10 +1,13 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "./fetchGhost"; -export const load = (async () => { - const data = await fetchApi("posts"); +export const load = (async ({ fetch }) => { + const meta = { + title: "Blog" + } return { - posts: data.posts + posts: fetchGhost("posts"), + ...meta }; -}) satisfies PageServerLoad; +}) satisfies PageServerLoad; \ No newline at end of file diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte index 14bc46c..ea28fa4 100644 --- a/src/routes/blog/+page.svelte +++ b/src/routes/blog/+page.svelte @@ -1,50 +1,27 @@ - - Blog | Project Segfault - - +
+ {data.title} +
Tags +
Authors + - -

- Project Segfault blog -

-
- - - -
-
- - {#each data.posts as post} - - - <Meta {post} /> - <ReadMore {post} /> - </PostOuter> - {/each} -</PostsContainer> \ No newline at end of file +{#if !data.posts.error} + <PostsContainer> + {#each data.posts.posts as post} + <PostOuter> + <Title {post} /> + <Meta {post} /> + <ReadMore {post} /> + </PostOuter> + {/each} + </PostsContainer> +{:else} + <p>{data.posts.message}</p> +{/if} \ No newline at end of file diff --git a/src/routes/blog/[title]/+page.server.ts b/src/routes/blog/[title]/+page.server.ts index 9c4478b..90fc2c2 100644 --- a/src/routes/blog/[title]/+page.server.ts +++ b/src/routes/blog/[title]/+page.server.ts @@ -1,13 +1,18 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "../fetchGhost"; -export const load = (async ({ params }) => { - const data = await fetchApi("posts/slug/" + params.title); +export const load = (async ({ params, fetch }) => { + const data = await fetchGhost("posts/slug/" + params.title); - const allPosts = await fetchApi("posts"); + const allPosts = await fetchGhost("posts"); + + const meta = { + title: !allPosts.error ? data.posts[0].title : "" + } return { - post: data.posts[0], - allPosts: allPosts + post: !allPosts.error ? data.posts[0] : {}, + allPosts: allPosts, + ...meta }; -}) satisfies PageServerLoad; +}) satisfies PageServerLoad; \ No newline at end of file diff --git a/src/routes/blog/[title]/+page.svelte b/src/routes/blog/[title]/+page.svelte index b114438..8ccd169 100644 --- a/src/routes/blog/[title]/+page.svelte +++ b/src/routes/blog/[title]/+page.svelte @@ -4,46 +4,46 @@ import type { PageData } from "./$types"; export let data: PageData; - $: index = data.allPosts.posts.findIndex((post: { slug: string; }) => post.slug === data.post.slug); - $: next = data.allPosts.posts[index - 1]; - $: previous = data.allPosts.posts[index + 1]; + $: index = !data.allPosts.error ? data.allPosts.posts.findIndex((post: { slug: string; }) => post.slug === data.post.slug) : null; + $: next = !data.allPosts.error ? data.allPosts.posts[index - 1] : null; + $: previous = !data.allPosts.error ? data.allPosts.posts[index + 1] : null; </script> -<svelte:head> - <title>{data.post.title} | Project Segfault Blog - - - -
- - <Meta post={data.post} isPost /> +{#if !data.allPosts.error} + <PostOuter url={data.post.url} isPost> + <div class="text-center mt-4 flex flex-col items-center gap-4"> + <Title post={data.post} isPost /> + <Meta post={data.post} isPost /> + </div> + <PostContent {data} /> + </PostOuter> + <div class="flex flex-row flex-wrap justify-center my-4"> + <PostsContainer> + {#if previous} + <PostOuter> + <h1 class="more-posts">Previous post</h1> + <Title post={previous} /> + <Meta post={previous} /> + <ReadMore post={previous} /> + </PostOuter> + {/if} + + {#if next} + <PostOuter> + <h1 class="more-posts">Next post</h1> + <Title post={next} /> + <Meta post={next} /> + <ReadMore post={next} /> + </PostOuter> + {/if} + </PostsContainer> </div> - <PostContent {data} /> -</PostOuter> -<div class="flex flex-row flex-wrap justify-center my-4"> - <PostsContainer> - {#if previous} - <PostOuter> - <h1 class="more-posts">Previous post</h1> - <Title post={previous} /> - <Meta post={previous} /> - <ReadMore post={previous} /> - </PostOuter> - {/if} - - {#if next} - <PostOuter> - <h1 class="more-posts">Next post</h1> - <Title post={next} /> - <Meta post={next} /> - <ReadMore post={next} /> - </PostOuter> - {/if} - </PostsContainer> -</div> -<style> - .more-posts { - @apply border-b-solid border-b-grey border-b-1 m-0; - } -</style> \ No newline at end of file + <style> + .more-posts { + @apply border-b-solid border-b-grey border-b-1 m-0; + } + </style> +{:else} + <p>{data.allPosts.message}</p> +{/if} \ No newline at end of file diff --git a/src/routes/blog/authors/+page.server.ts b/src/routes/blog/authors/+page.server.ts index 7a8ddbc..ab921f6 100644 --- a/src/routes/blog/authors/+page.server.ts +++ b/src/routes/blog/authors/+page.server.ts @@ -1,11 +1,15 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "../fetchGhost"; -export const load: PageServerLoad = async () => { - const data = await fetchApi("authors"); +export const load = (async ({ fetch }) => { + const data = await fetchGhost("authors"); + + const meta = { + title: "Blog authors" + } return { - authors: data.authors + authors: data, + ...meta }; -}; - +}) satisfies PageServerLoad; diff --git a/src/routes/blog/authors/+page.svelte b/src/routes/blog/authors/+page.svelte index 7c4c8c9..d0cf578 100644 --- a/src/routes/blog/authors/+page.svelte +++ b/src/routes/blog/authors/+page.svelte @@ -5,11 +5,10 @@ import { SingleWordLists } from "$lib/BlogCard"; </script> -<svelte:head> - <title>Blog authors | Project Segfault Blog - - -

Blog authors

- - +

{data.title}

+{#if !data.authors.error} + +{:else} +

{data.authors.message}

+{/if} \ No newline at end of file diff --git a/src/routes/blog/authors/[author]/+page.server.ts b/src/routes/blog/authors/[author]/+page.server.ts index 1857b5d..78f7560 100644 --- a/src/routes/blog/authors/[author]/+page.server.ts +++ b/src/routes/blog/authors/[author]/+page.server.ts @@ -1,18 +1,26 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "../../fetchGhost"; -export const load: PageServerLoad = async ({ params }) => { - const data = await fetchApi("posts", "&filter=author:" + params.author); +export const load = (async ({ params, fetch }) => { + const data = await fetchGhost("posts", "&filter=author:" + params.author); - const authorsLoop = data.posts[0].authors.map((author: { slug: string; name: any; }) => { + const authorsLoop = !data.error ? data.posts[0].authors.map((author: { slug: string; name: any; }) => { if (author.slug === params.author) { return author.name; } - }); + }) : []; + + const authorName = authorsLoop.filter((tag: any) => tag !== undefined)[0]; + + const meta = { + title: "Blog author " + authorName, + description: "Blog posts by " + authorName, + }; return { - posts: data.posts, - authorName: authorsLoop.filter((tag: any) => tag !== undefined)[0] + posts: data, + authorName, + ...meta, }; -}; +}) satisfies PageServerLoad; diff --git a/src/routes/blog/authors/[author]/+page.svelte b/src/routes/blog/authors/[author]/+page.svelte index 5e7006a..45a9dd6 100644 --- a/src/routes/blog/authors/[author]/+page.svelte +++ b/src/routes/blog/authors/[author]/+page.svelte @@ -5,18 +5,18 @@ import { PostsContainer, PostOuter, Title, Meta, ReadMore } from "$lib/BlogCard"; - - Blog author {data.authorName} | Project Segfault Blog - -

Blog author {data.authorName}

- - {#each data.posts as post} - - - <Meta {post} /> - <ReadMore {post} /> - </PostOuter> - {/each} -</PostsContainer> \ No newline at end of file +{#if !data.posts.error} + <PostsContainer> + {#each data.posts.posts as post} + <PostOuter> + <Title {post} /> + <Meta {post} /> + <ReadMore {post} /> + </PostOuter> + {/each} + </PostsContainer> +{:else} + <p>{data.posts.message}</p> +{/if} \ No newline at end of file diff --git a/src/routes/blog/fetchGhost.ts b/src/routes/blog/fetchGhost.ts new file mode 100644 index 0000000..5acb14a --- /dev/null +++ b/src/routes/blog/fetchGhost.ts @@ -0,0 +1,23 @@ +import { env } from "$env/dynamic/private"; +import axios from "axios"; +import { Agent } from "https"; + +const agent = new Agent({ + family: 4 +}); + +const fetchGhost = async (action: string, additional?: string ) => { + try { + const request = await axios(env.GHOST_URL + "/ghost/api/content/" + action + "/?key=" + env.GHOST_API_KEY + "&include=authors,tags&limit=all&formats=html,plaintext" + (additional ? additional : ""), { httpsAgent: agent }); + + if (request.status === 200) { + return request.data; + } else { + return { error: true, message: "Error: " + request.status }; + } + } catch (err) { + return { error: true, message: "Error: " + err }; + } +} + +export default fetchGhost; \ No newline at end of file diff --git a/src/routes/blog/tags/+page.server.ts b/src/routes/blog/tags/+page.server.ts index 6b486c6..008d087 100644 --- a/src/routes/blog/tags/+page.server.ts +++ b/src/routes/blog/tags/+page.server.ts @@ -1,10 +1,15 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "../fetchGhost"; -export const load: PageServerLoad = async () => { - const data = await fetchApi("tags"); +export const load = (async () => { + const data = await fetchGhost("tags"); + + const meta = { + title: "Blog tags" + } return { - tags: data.tags + tags: data, + ...meta } -}; +}) satisfies PageServerLoad; \ No newline at end of file diff --git a/src/routes/blog/tags/+page.svelte b/src/routes/blog/tags/+page.svelte index 08c0b83..f24e682 100644 --- a/src/routes/blog/tags/+page.svelte +++ b/src/routes/blog/tags/+page.svelte @@ -5,10 +5,10 @@ import { SingleWordLists } from "$lib/BlogCard"; </script> -<svelte:head> - <title>Blog tags | Project Segfault Blog - +

{data.title}

-

Blog tags

- - \ No newline at end of file +{#if !data.tags.error} + +{:else} +

{data.tags.message}

+{/if} \ No newline at end of file diff --git a/src/routes/blog/tags/[tag]/+page.server.ts b/src/routes/blog/tags/[tag]/+page.server.ts index f4eac1c..167da2f 100644 --- a/src/routes/blog/tags/[tag]/+page.server.ts +++ b/src/routes/blog/tags/[tag]/+page.server.ts @@ -1,17 +1,24 @@ import type { PageServerLoad } from "./$types"; -import fetchApi from "$lib/ghost"; +import fetchGhost from "../../fetchGhost"; -export const load: PageServerLoad = async ({ params }) => { - const data = await fetchApi("posts", "&filter=tags:" + params.tag); +export const load = (async ({ params, fetch }) => { + const data = await fetchGhost("posts", "&filter=tags:" + params.tag); - const tagsLoop = data.posts[0].tags.map((tag: { slug: string; name: any; }) => { + const tagsLoop = !data.error ? data.posts[0].tags.map((tag: { slug: string; name: any; }) => { if (tag.slug === params.tag) { return tag.name; } - }); + }) : []; + + const tagName = tagsLoop.filter((tag: any) => tag !== undefined)[0]; + + const meta = { + title: "Blog tag " + tagName + } return { - posts: data.posts, - tagName: tagsLoop.filter((tag: any) => tag !== undefined)[0] + posts: data, + tagName: tagName, + ...meta } -}; \ No newline at end of file +}) satisfies PageServerLoad; \ No newline at end of file diff --git a/src/routes/blog/tags/[tag]/+page.svelte b/src/routes/blog/tags/[tag]/+page.svelte index 27e9d83..72b9105 100644 --- a/src/routes/blog/tags/[tag]/+page.svelte +++ b/src/routes/blog/tags/[tag]/+page.svelte @@ -5,18 +5,18 @@ import { PostsContainer, PostOuter, Title, Meta, ReadMore } from "$lib/BlogCard"; - - Blog tag {data.tagName} | Project Segfault Blog - -

Blog tag {data.tagName}

- - {#each data.posts as post} - - - <Meta {post} /> - <ReadMore {post} /> - </PostOuter> - {/each} -</PostsContainer> \ No newline at end of file +{#if !data.posts.error} + <PostsContainer> + {#each data.posts.posts as post} + <PostOuter> + <Title {post} /> + <Meta {post} /> + <ReadMore {post} /> + </PostOuter> + {/each} + </PostsContainer> +{:else} + <p>{data.posts.message}</p> +{/if} \ No newline at end of file diff --git a/src/routes/contact/+page.server.ts b/src/routes/contact/+page.server.ts deleted file mode 100644 index a0a0949..0000000 --- a/src/routes/contact/+page.server.ts +++ /dev/null @@ -1,70 +0,0 @@ -import type { Actions, PageServerLoad } from "./$types"; -import { Webhook, MessageBuilder } from "discord-webhook-node"; -import Joi from "joi"; -import { fail } from "@sveltejs/kit"; -import { env } from "$env/dynamic/private"; - -export const load = (() => { - return { - hcaptchaSitekey: env.HCAPTCHA_SITEKEY - } -}) satisfies PageServerLoad - -export const actions: Actions = { - form: async ({ request, getClientAddress, fetch }) => { - const formData = await request.formData(); - - const BodyTypeSchema = Joi.object({ - email: Joi.string().email().required(), - commentType: Joi.string().required(), - message: Joi.string().required(), - "h-captcha-response": Joi.string().required(), - "g-recaptcha-response": Joi.string().optional().allow("") - }); - - if (BodyTypeSchema.validate(Object.fromEntries(formData.entries())).error) { - return fail(400, { error: true, message: String(BodyTypeSchema.validate(Object.fromEntries(formData.entries())).error) }); - } else { - const ip = getClientAddress(); - - const verify = await fetch("https://hcaptcha.com/siteverify", { - method: "POST", - headers: { - "Content-Type": "application/x-www-form-urlencoded" - }, - body: new URLSearchParams({ - secret: env.HCAPTCHA_SECRET, - response: String(formData.get("h-captcha-response")), - remoteip: ip - }) - }).then((res) => res.json()) - - - const hook = new Webhook(env.WEBHOOK); - - const data = await verify; - - if (data.success) { - const embed = new MessageBuilder() - .setAuthor( - `${ip}, ${formData.get("email")}, https://abuseipdb.com/check/${ip}` - ) - // @ts-ignore - .addField("Comment type", formData.get("commentType"), true) - // @ts-ignore - .addField("Message", formData.get("message")) - .setTimestamp(); - - hook.send(embed); - - return { success: true, message: "Thanks for your message, we will get back to you as soon as possible." }; - } else { - hook.send( - `IP: ${ip}, https://abuseipdb.com/check/${ip}\nfailed to complete the captcha with error: ${data["error-codes"]}.` - ); - - return fail(400, { error: true, message: "Captcha failed or expired, please try again. If this keeps happening, assume the captcha is broken and contact us on Matrix." + " Error: " + data["error-codes"] }); - } - } - } -} \ No newline at end of file diff --git a/src/routes/contact/+page.svelte b/src/routes/contact/+page.svelte index b61e019..43d6ed2 100644 --- a/src/routes/contact/+page.svelte +++ b/src/routes/contact/+page.svelte @@ -1,99 +1,20 @@ <script lang="ts"> - import { Note, Captcha, Meta, TextArea } from "$lib/Form"; - import type { ActionData, PageServerData } from "./$types"; + import type { PageData } from "./$types"; - export let form: ActionData; - export let data: PageServerData; + export let data: PageData; </script> -<svelte:head> - <title>Contact us | Project Segfault - -

Contact us

- -
-

Contact form

-
- - - - - - - - -