diff --git a/.forgejo/workflows/build_preview.yml b/.forgejo/workflows/build_preview.yml index f960694..36d6eb5 100644 --- a/.forgejo/workflows/build_preview.yml +++ b/.forgejo/workflows/build_preview.yml @@ -1,50 +1,62 @@ on: push: tags: - - '[0-9]+\.[0-9]+\.[0-9]+pre[0-9]+' + - '[0-9]+\.[0-9]+\.[0-9]+-pre\.[0-9]+' jobs: - checking: + check-tag: runs-on: docker - container: node:lts + steps: + - name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - name: Check if Version in package.json matches Tag + run: | + VERSION=$(npm pkg get version --workspaces=false | tr -d \") + if test $VERSION != "${{ github.ref_name }}"; then + echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'"; + exit 1 + else + echo "Version is: '$VERSION'"; + fi + + checking: + needs: [ check-tag ] + runs-on: docker + container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest steps: - name: Checkout source code uses: https://code.forgejo.org/actions/checkout@v3 - name: Install packages - run: npm install + run: npm i - name: Run astro check (linting + static analysis) run: npm run astro check build-site: - needs: [checking] + needs: [ checking ] if: success() runs-on: dind steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - with: - config-inline: | - [registry."docker.io"] - mirrors = ["https://docker-cache.neshweb.net"] - - name: Login to Docker Hub + - name: Log into Docker Package Registry uses: docker/login-action@v3 with: registry: forgejo.neshweb.net username: ${{ secrets.FORGEJO_USERNAME }} password: ${{ secrets.FORGEJO_TOKEN }} - - name: Push to Package Registry + - name: Build and push to Docker Package Registry uses: docker/build-push-action@v5 with: push: true tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:preview - publish: - needs: [build-site] + create-release: + needs: [ build-site ] if: success() runs-on: docker steps: - name: Release New Version - uses: actions/forgejo-release@v1 + uses: https://code.forgejo.org/actions/forgejo-release@v1 with: direction: upload url: https://forgejo.neshweb.net @@ -52,3 +64,34 @@ jobs: token: ${{ secrets.FORGEJO_TOKEN }} tag: ${{ github.ref_name }} prerelease: true + + auto-deploy-dockge: + needs: [ build-site ] + if: success() + runs-on: docker + container: forgejo.neshweb.net/firq/dockge-cli:0.1.2 + steps: + - name: Configure Dockge CLI + run: | + dockge host '${{ vars.DOCKGE_HOST }}' + dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}' + - name: Check status and redeploy + run: | + dockge status fgo-ta-com-preview + dockge update fgo-ta-com-preview + dockge status fgo-ta-com-preview + + run-unlighthouse: + needs: [ build-site ] + if: success() + runs-on: docker + steps: + - name: Launch workflow + run: | + payload="{\"ref\": \"${GITHUB_REF_NAME}\", \"inputs\": { \"containertag\": \"${GITHUB_REF_NAME}\" }}" + curl -X "POST" \ + -H "accept: application/json" \ + -H "Content-Type: application/json" \ + -H "Authorization: token ${GITHUB_TOKEN}" \ + -d "${payload}" \ + "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/workflows/unlighthouse.yml/dispatches" -v diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml index bd564df..3ebd356 100644 --- a/.forgejo/workflows/build_release.yml +++ b/.forgejo/workflows/build_release.yml @@ -4,50 +4,78 @@ on: - '[0-9]+\.[0-9]+\.[0-9]+' jobs: - checking: + check-tag: runs-on: docker - container: node:lts + steps: + - name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - name: Check if Version in package.json matches Tag + run: | + VERSION=$(npm pkg get version --workspaces=false | tr -d \") + if test $VERSION != "${{ github.ref_name }}"; then + echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'"; + exit 1 + else + echo "Version is: '$VERSION'"; + fi + + checking: + needs: [ check-tag ] + runs-on: docker + container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest steps: - name: Checkout source code uses: https://code.forgejo.org/actions/checkout@v3 - name: Install packages - run: npm install + run: npm i - name: Run astro check (linting + static analysis) run: npm run astro check build-site: - needs: [checking] + needs: [ checking ] if: success() runs-on: dind steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - with: - config-inline: | - [registry."docker.io"] - mirrors = ["https://docker-cache.neshweb.net"] - - name: Login to Docker Hub + - name: Log into Docker Package Registry uses: docker/login-action@v3 with: registry: forgejo.neshweb.net username: ${{ secrets.FORGEJO_USERNAME }} password: ${{ secrets.FORGEJO_TOKEN }} - - name: Push to Package Registry + - name: Build and push to Docker Package Registry uses: docker/build-push-action@v5 with: push: true tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:latest - release: - needs: [build-site] + create-release: + needs: [ build-site ] if: success() runs-on: docker steps: - name: Release New Version - uses: actions/forgejo-release@v1 + uses: https://code.forgejo.org/actions/forgejo-release@v1 with: direction: upload url: https://forgejo.neshweb.net release-dir: release token: ${{ secrets.FORGEJO_TOKEN }} tag: ${{ github.ref_name }} + + auto-deploy-dockge: + needs: [ build-site ] + if: success() + runs-on: docker + container: forgejo.neshweb.net/firq/dockge-cli:0.1.2 + steps: + - name: Configure Dockge CLI + run: | + dockge host '${{ vars.DOCKGE_HOST }}' + dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}' + - name: Check status and redeploy + run: | + dockge status fgo-ta-com + dockge update fgo-ta-com + dockge status fgo-ta-com diff --git a/.forgejo/workflows/linting.yml b/.forgejo/workflows/linting.yml index 4e921f8..f68bdf7 100644 --- a/.forgejo/workflows/linting.yml +++ b/.forgejo/workflows/linting.yml @@ -4,13 +4,22 @@ on: - '**' jobs: - checking: + get-version: runs-on: docker - container: node:lts + steps: + - name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - name: Check if Version in package.json matches Tag + run: | + VERSION=$(npm pkg get version --workspaces=false | tr -d \") + echo "Version is: '$VERSION'"; + astro-check: + runs-on: docker + container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest steps: - name: Checkout source code uses: https://code.forgejo.org/actions/checkout@v3 - name: Install packages - run: npm install + run: npm i - name: Run astro check (linting + static analysis) run: npm run astro check diff --git a/.forgejo/workflows/unlighthouse.yml b/.forgejo/workflows/unlighthouse.yml index d4f1d58..1222bce 100644 --- a/.forgejo/workflows/unlighthouse.yml +++ b/.forgejo/workflows/unlighthouse.yml @@ -1,18 +1,36 @@ +name: Run unlighthouse-tests [Downstream pipeline] +run-name: Run unlighthouse-tests [Downstream pipeline] for version ${{ inputs.containertag }} on: - push: - tags: - - '[0-9]+\.[0-9]+\.[0-9]+unlighthouse[0-9]+' - - '[0-9]+\.[0-9]+\.[0-9]+ulh[0-9]+' + workflow_dispatch: + inputs: + containertag: + description: "Tag of the container to test" + default: "preview" + type: "string" jobs: unlighthouse: runs-on: docker - container: forgejo.neshweb.net/ci-docker-images/unlighthouse:latest + container: + image: forgejo.neshweb.net/ci-docker-images/unlighthouse:0.3.0 + services: + website: + image: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ inputs.containertag }} + options: >- + --workdir / steps: - name: Checkout repository uses: https://code.forgejo.org/actions/checkout@v3 + - name: Check availability + run: | + while [ "$(curl -o /dev/null -s -w '%{http_code}' http://localhost:8081/)" -ne 200 ]; + do echo "Waiting..."; + sleep 5; + done; - name: Run unlighthouse - run: unlighthouse-ci --site "https://preview.fgo-ta.com/" + run: unlighthouse-ci --site "http://localhost:8081/" + - name: Replace URLs + run: find ./unlighthouse-reports -type f | xargs sed -i "s|http://localhost:8081|https://preview.fgo-ta.com|g"; - name: Prepare artifacts run: cp serve.json unlighthouse-reports - name: Upload reports @@ -20,76 +38,54 @@ jobs: with: name: unlighthouse-reports path: unlighthouse-reports/ + - name: Upload Dockerfile + uses: actions/upload-artifact@v3 + with: + name: dockerfile + path: Dockerfile.reports - deploy-unlighthouse-files: + build-site: needs: [ unlighthouse ] - runs-on: docker - env: - DEPLOY_USER: ${{ secrets.DEPLOY_USER }} - DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} + if: success() + runs-on: dind steps: - - name: Install and update ssh + rsync - run: | - which rsync || ( apt update -y && apt install rsync -y) - which ssh-agent || ( apt update -y && apt install openssh-client -y) + - name: Downloading static site artifacts + uses: actions/download-artifact@v3 + with: + name: dockerfile - name: Downloading static site artifacts uses: actions/download-artifact@v3 with: name: unlighthouse-reports - path: public - - name: Install SSH Key - uses: https://github.com/shimataro/ssh-key-action@v2 + path: reports + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log into Docker Package Registry + uses: docker/login-action@v3 with: - key: ${{ secrets.SSH_PRIVATE_KEY }} - known_hosts: unnecessary - - name: Adding Known Hosts - run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts - - name: Stop screen session, delete old files - uses: https://github.com/appleboy/ssh-action@master + registry: forgejo.neshweb.net + username: ${{ secrets.FORGEJO_USERNAME }} + password: ${{ secrets.FORGEJO_TOKEN }} + - name: Build and push to Docker Package Registry + uses: docker/build-push-action@v5 with: - host: ${{ env.DEPLOY_HOST }} - username: ${{ env.DEPLOY_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - script: | - screen -X -S fgo_ta_com-unlighthouse kill - rm -r -f fgo_ta_com/unlighthouse/* - - name: Copy files using rsync - run: rsync -az --stats public/* ${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:~/fgo_ta_com/unlighthouse - - name: Check files on deploy target - uses: https://github.com/appleboy/ssh-action@master - with: - host: ${{ env.DEPLOY_HOST }} - username: ${{ env.DEPLOY_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - script: | - cd fgo_ta_com - find unlighthouse -maxdepth 1 -printf "%p\n" + context: . + file: Dockerfile.reports + push: true + tags: forgejo.neshweb.net/firq/fgo-ta-com-website-unlighthouse:latest - deploy-unlighthouse-site: - needs: [ deploy-unlighthouse-files ] + auto-deploy-dockge: + needs: [ build-site ] + if: success() runs-on: docker - env: - DEPLOY_USER: ${{ secrets.DEPLOY_USER }} - DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} + container: forgejo.neshweb.net/firq/dockge-cli:0.1.2 steps: - - name: Install and update ssh + rsync + - name: Configure Dockge CLI run: | - which rsync || ( apt update -y && apt install rsync -y) - which ssh-agent || ( apt update -y && apt install openssh-client -y) - - name: Install SSH Key - uses: https://github.com/shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SSH_PRIVATE_KEY }} - known_hosts: unnecessary - - name: Adding Known Hosts - run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts - - name: Start new screen session - uses: https://github.com/appleboy/ssh-action@master - with: - host: ${{ env.DEPLOY_HOST }} - username: ${{ env.DEPLOY_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - script: | - PATH="$HOME/.local/bin:$PATH" - cd fgo_ta_com - screen -S fgo_ta_com-unlighthouse -dm serve unlighthouse/ -p ${{ secrets.UNLIGHTHOUSE_DEPLOY_PORT }} + dockge host '${{ vars.DOCKGE_HOST }}' + dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}' + - name: Check status and redeploy + run: | + dockge status fgo-ta-com-unlighthouse + dockge update fgo-ta-com-unlighthouse + dockge status fgo-ta-com-unlighthouse diff --git a/.gitignore b/.gitignore index 6d4c0aa..1b2b10e 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ pnpm-debug.log* # macOS-specific files .DS_Store + +# Temporary files +.temp/ diff --git a/Dockerfile b/Dockerfile index bb14ea8..b9ff0a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,16 @@ -FROM node:lts AS build -WORKDIR /app +FROM node:22-alpine AS build +WORKDIR /site COPY . . RUN npm i +RUN npm run astro telemetry disable RUN npm run build -FROM forgejo.neshweb.net/ci-docker-images/website-serve:latest AS runtime +FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime -COPY --from=build /app/dist /public -COPY --from=build /app/serve.json /public/serve.json +COPY --from=build /site/dist /public +COPY --from=build /site/serve.json /public/serve.json -ENV PORT 8081 +ENV PORT=8081 EXPOSE 8081 -CMD [ "serve", "public/", "-p", "8081" ] +CMD serve public/ -p ${PORT} diff --git a/Dockerfile.reports b/Dockerfile.reports new file mode 100644 index 0000000..f745d5e --- /dev/null +++ b/Dockerfile.reports @@ -0,0 +1,6 @@ +FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime + +ADD reports /public + +EXPOSE 8081 +CMD serve public/ -p 8081 diff --git a/README.md b/README.md index 75d44e0..6774015 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,6 @@ -# Astro Starter Kit: Basics +# FGO TA Astro Site -``` -npm create astro@latest -- --template basics -``` - -[](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) -[](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics) -[](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json) - -> π§βπ **Seasoned astronaut?** Delete this file. Have fun! - - - -## π Project Structure - -Inside of your Astro project, you'll see the following folders and files: - -``` -/ -βββ public/ -β βββ favicon.svg -βββ src/ -β βββ components/ -β β βββ Card.astro -β βββ layouts/ -β β βββ Layout.astro -β βββ pages/ -β βββ index.astro -βββ package.json -``` - -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. - -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. - -Any static assets, like images, can be placed in the `public/` directory. - -## π§ Commands +## Commands All commands are run from the root of the project, from a terminal: @@ -48,7 +12,3 @@ All commands are run from the root of the project, from a terminal: | `npm run preview` | Preview your build locally, before deploying | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | | `npm run astro -- --help` | Get help using the Astro CLI | - -## π Want to learn more? - -Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/astro.config.mjs b/astro.config.mjs index 09396a9..a00984c 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,12 +1,13 @@ -import { defineConfig } from 'astro/config' -import sitemap from '@astrojs/sitemap' +import sitemap from '@astrojs/sitemap'; +import metaTags from "astro-meta-tags"; +import { defineConfig } from 'astro/config'; export default defineConfig({ sitemap: true, base: '/', outDir: 'dist', - publicDir: 'static', + publicDir: 'public', site: 'https://fgo-ta.com/', - integrations: [sitemap()], + integrations: [sitemap(), metaTags()], trailingSlash: "never" -}) +}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6779e93..d2af1b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,23 @@ { "name": "fgo-ta-com-website", - "version": "0.1.10", + "version": "0.2.2-pre.18", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fgo-ta-com-website", - "version": "0.1.10", + "version": "0.2.2-pre.18", "dependencies": { - "@astro-community/astro-embed-youtube": "^0.4.3", - "@astrojs/check": "^0.3.4", - "@astrojs/sitemap": "^3.0.3", - "astro": "^4.0.7", - "autoprefixer": "^10.4.16", - "iconoir": "^7.3.0", - "postcss-preset-env": "^9.3.0", - "typescript": "^5.3.3" + "@astro-community/astro-embed-youtube": "^0.5.2", + "@astrojs/check": "^0.9.3", + "@astrojs/sitemap": "^3.1.6", + "@fontsource/work-sans": "^5.0.18", + "astro": "^4.14.3", + "astro-meta-tags": "^0.3.0", + "autoprefixer": "^10.4.19", + "iconoir": "^7.7.0", + "postcss-preset-env": "^9.6.0", + "typescript": "^5.5.3" }, "devDependencies": { "prettier": "^3.1.1", @@ -23,34 +25,35 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@astro-community/astro-embed-youtube": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-youtube/-/astro-embed-youtube-0.4.3.tgz", - "integrity": "sha512-zXtPmR9yxrTo6cuLhH8v+r62bsXbsLJgsU2FiZalPr4bXJxAUQEIlG46S/qK0AEXi9uNShKqy4+zBaJ98xTVEg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-youtube/-/astro-embed-youtube-0.5.2.tgz", + "integrity": "sha512-cckWcq7mFCmI6uPpIlRolSafSQRYZBOaxIc8DaCUh8+JQAtPF7O4EdpRpZBUcvbARrWEEyHJCWrt0XOGppMniw==", "dependencies": { - "lite-youtube-embed": "^0.2.0" + "lite-youtube-embed": "^0.3.2" }, "peerDependencies": { "astro": "^2.0.0 || ^3.0.0-beta || ^4.0.0-beta" } }, "node_modules/@astrojs/check": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.3.4.tgz", - "integrity": "sha512-Wi4KwW38J3GCd/U6LH2UuU4uc4P/K1WYaqhoKm2o7rVoGhQfO+RWrSO26rUPRXYbmae8JugAgpCmsHC8bt5RlA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.3.tgz", + "integrity": "sha512-I6Dz45bMI5YRbp4yK2LKWsHH3/kkHRGdPGruGkLap6pqxhdcNh7oCgN04Ac+haDfc9ow5BYPGPmEhkwef15GQQ==", + "license": "MIT", "dependencies": { - "@astrojs/language-server": "^2.5.5", + "@astrojs/language-server": "^2.14.1", "chokidar": "^3.5.3", "fast-glob": "^3.3.1", "kleur": "^4.1.5", @@ -64,37 +67,39 @@ } }, "node_modules/@astrojs/compiler": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.3.4.tgz", - "integrity": "sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw==" + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz", + "integrity": "sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==" }, "node_modules/@astrojs/internal-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.2.1.tgz", - "integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.1.tgz", + "integrity": "sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==" }, "node_modules/@astrojs/language-server": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.5.5.tgz", - "integrity": "sha512-hk7a8S7bpf//BOA6mMjiYqi/eiYtGPfUfw59eVXdutdRFdwDHtu4jcsLu43ZaId56pAcE8qFjIvJxySvzcxiUA==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.14.1.tgz", + "integrity": "sha512-mkKtCTPRD4dyKdAqIP0zmmPyO/ZABOqFESnaVca47Dg/sAagJnDSEsDUDzNbHFh1+9Dj1o5y4iwNsxJboGdaNg==", + "license": "MIT", "dependencies": { - "@astrojs/compiler": "^2.2.2", + "@astrojs/compiler": "^2.10.3", + "@astrojs/yaml2ts": "^0.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", - "@volar/kit": "~1.10.9", - "@volar/language-core": "~1.10.9", - "@volar/language-server": "~1.10.9", - "@volar/language-service": "~1.10.9", - "@volar/source-map": "~1.10.9", - "@volar/typescript": "~1.10.9", + "@volar/kit": "~2.4.0", + "@volar/language-core": "~2.4.0", + "@volar/language-server": "~2.4.0", + "@volar/language-service": "~2.4.0", + "@volar/typescript": "~2.4.0", "fast-glob": "^3.2.12", - "muggle-string": "^0.3.1", - "volar-service-css": "0.0.16", - "volar-service-emmet": "0.0.16", - "volar-service-html": "0.0.16", - "volar-service-prettier": "0.0.16", - "volar-service-typescript": "0.0.16", - "volar-service-typescript-twoslash-queries": "0.0.16", - "vscode-html-languageservice": "^5.1.0", + "muggle-string": "^0.4.1", + "volar-service-css": "0.0.61", + "volar-service-emmet": "0.0.61", + "volar-service-html": "0.0.61", + "volar-service-prettier": "0.0.61", + "volar-service-typescript": "0.0.61", + "volar-service-typescript-twoslash-queries": "0.0.61", + "volar-service-yaml": "0.0.61", + "vscode-html-languageservice": "^5.2.0", "vscode-uri": "^3.0.8" }, "bin": { @@ -114,112 +119,112 @@ } }, "node_modules/@astrojs/markdown-remark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.0.1.tgz", - "integrity": "sha512-RU4ESnqvyLpj8WZs0n5elS6idaDdtIIm7mIpMaRNPCebpxMjfcfdwcmBwz83ktAj5d2eO5bC3z92TcGdli+lRw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.2.0.tgz", + "integrity": "sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==", "dependencies": { - "@astrojs/prism": "^3.0.0", + "@astrojs/prism": "3.1.0", "github-slugger": "^2.0.0", - "import-meta-resolve": "^4.0.0", + "hast-util-from-html": "^2.0.1", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.1.0", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.0", "remark-gfm": "^4.0.0", "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "remark-smartypants": "^2.0.0", - "shikiji": "^0.6.13", - "unified": "^11.0.4", + "remark-rehype": "^11.1.0", + "remark-smartypants": "^3.0.2", + "shiki": "^1.10.3", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", - "vfile": "^6.0.1" + "unist-util-visit-parents": "^6.0.1", + "vfile": "^6.0.2" } }, "node_modules/@astrojs/prism": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz", - "integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", + "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==", "dependencies": { "prismjs": "^1.29.0" }, "engines": { - "node": ">=18.14.1" + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" } }, "node_modules/@astrojs/sitemap": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.0.3.tgz", - "integrity": "sha512-+GRKp1yho9dpHBcMcU6JpbL41k0yYZghOkNsMRb8QIRflbGHvd787tdv9oIZ5NJj0SqAuOlqp2UpqLkJXuAe2A==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.1.6.tgz", + "integrity": "sha512-1Qp2NvAzVImqA6y+LubKi1DVhve/hXXgFvB0szxiipzh7BvtuKe4oJJ9dXSqaubaTkt4nMa6dv6RCCAYeB6xaQ==", "dependencies": { - "sitemap": "^7.1.1", - "zod": "^3.22.4" + "sitemap": "^7.1.2", + "stream-replace-string": "^2.0.0", + "zod": "^3.23.8" } }, "node_modules/@astrojs/telemetry": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz", - "integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz", + "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==", "dependencies": { - "ci-info": "^3.8.0", + "ci-info": "^4.0.0", "debug": "^4.3.4", "dlv": "^1.1.3", - "dset": "^3.1.2", + "dset": "^3.1.3", "is-docker": "^3.0.0", "is-wsl": "^3.0.0", "which-pm-runs": "^1.1.0" }, "engines": { - "node": ">=18.14.1" + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" } }, - "node_modules/@astrojs/telemetry/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.1.tgz", + "integrity": "sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==", + "license": "MIT", + "dependencies": { + "yaml": "^2.5.0" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", - "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.6", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -243,13 +248,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -257,24 +262,24 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -290,58 +295,27 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -351,89 +325,82 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", - "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "dependencies": { + "@babel/types": "^7.25.2" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -442,11 +409,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -456,15 +423,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -474,31 +441,28 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", - "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -507,12 +471,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -520,9 +484,9 @@ } }, "node_modules/@csstools/cascade-layer-name-parser": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.6.tgz", - "integrity": "sha512-HkxRNs6ZIV0VjLFw6k5G8K35vd9r+O8B1Vr+QVD8M5Y44eQxyHtc42BdF74FQatXACPnitOR1+sRx2oWdnKTQw==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.13.tgz", + "integrity": "sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng==", "funding": [ { "type": "github", @@ -537,14 +501,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/color-helpers": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz", - "integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.2.1.tgz", + "integrity": "sha512-CEypeeykO9AN7JWkr1OEOQb0HRzZlPWGwV0Ya6DuVgFdDi6g3ma/cPZ5ZPZM4AWQikDpq/0llnGGlIL+j8afzw==", "funding": [ { "type": "github", @@ -560,9 +524,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.5.tgz", - "integrity": "sha512-UhI5oSRAUtTHY3MyGahqn0ZzQOHVoPpfvUcOmYipAZ1rILAvCBoyiLSsa/clv1Xxct0SMKIq93KO5Bfl1cb6tQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.2.4.tgz", + "integrity": "sha512-tfOuvUQeo7Hz+FcuOd3LfXVp+342pnWUJ7D2y8NUpu1Ww6xnTbHLpz018/y6rtbHifJ3iIEf9ttxXd8KG7nL0Q==", "funding": [ { "type": "github", @@ -577,14 +541,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/css-color-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.5.0.tgz", - "integrity": "sha512-PUhSg1MgU2sjYhA6moOmxYesqVqYTJwcVw12boTNbDX7Af+VK02MkgvmBBY2Z2qU6UN5HOQ+wrF0qQJGsTFY7w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-2.0.5.tgz", + "integrity": "sha512-lRZSmtl+DSjok3u9hTWpmkxFZnz7stkbZxzKc08aDUsdrWwhSgWo8yq9rq9DaFUtbAyAq2xnH92fj01S+pwIww==", "funding": [ { "type": "github", @@ -596,21 +560,21 @@ } ], "dependencies": { - "@csstools/color-helpers": "^4.0.0", - "@csstools/css-calc": "^1.1.5" + "@csstools/color-helpers": "^4.2.1", + "@csstools/css-calc": "^1.2.4" }, "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.4.0.tgz", - "integrity": "sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", "funding": [ { "type": "github", @@ -625,13 +589,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.2.tgz", - "integrity": "sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", "funding": [ { "type": "github", @@ -647,9 +611,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.6.tgz", - "integrity": "sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw==", + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", + "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", "funding": [ { "type": "github", @@ -664,14 +628,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/postcss-cascade-layers": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.2.tgz", - "integrity": "sha512-PqM+jvg5T2tB4FHX+akrMGNWAygLupD4FNUjcv4PSvtVuWZ6ISxuo37m4jFGU7Jg3rCfloGzKd0+xfr5Ec3vZQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.6.tgz", + "integrity": "sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA==", "funding": [ { "type": "github", @@ -683,7 +647,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.1", + "@csstools/selector-specificity": "^3.1.1", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -694,9 +658,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.8.tgz", - "integrity": "sha512-jvbF7eCRbIcxWqby0kk2Mt85QtGzRRpFFYdlJCJ80Tuiv43PY+auS/nBl8pDQQ4Ndm4vsm4IC/wCZDcJUmpJmg==", + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.19.tgz", + "integrity": "sha512-d1OHEXyYGe21G3q88LezWWx31ImEDdmINNDy0LyLNN9ChgN2bPxoubUPiHf9KmwypBMaHmNcMuA/WZOKdZk/Lg==", "funding": [ { "type": "github", @@ -708,10 +672,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -721,9 +686,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.8.tgz", - "integrity": "sha512-sGhk+TdZ2TeXspc6LSYSYC8WgzLlxoknUaObKgB0mk+dNjRQgSSIeCU+qrCwvHmwM+uTNKtiS8mntDzyQLHTTA==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.19.tgz", + "integrity": "sha512-mLvQlMX+keRYr16AuvuV8WYKUwF+D0DiCqlBdvhQ0KYEtcQl9/is9Ssg7RcIys8x0jIn2h1zstS4izckdZj9wg==", "funding": [ { "type": "github", @@ -735,10 +700,38 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-1.0.0.tgz", + "integrity": "sha512-SkHdj7EMM/57GVvSxSELpUg7zb5eAndBeuvGwFzYtU06/QXJ/h9fuK7wO5suteJzGhm3GDF/EWPCdWV2h1IGHQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -748,9 +741,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.2.tgz", - "integrity": "sha512-VRIYrwNCkZRqzsGB4jGT+XcNXsoiwyqy0Vf7C3I/5OPcf7WcWK3G1sBYFqqgWLGtpwc7m1m8TcorGY1xdh5abg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.9.tgz", + "integrity": "sha512-x1Avr15mMeuX7Z5RJUl7DmjhUtg+Amn5DZRD0fQ2TlTFTcJS8U1oxXQ9e5mA62S2RJgUU6db20CRoJyDvae2EQ==", "funding": [ { "type": "github", @@ -762,9 +755,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.5", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" }, "engines": { "node": "^14 || ^16 || >=18" @@ -774,9 +767,9 @@ } }, "node_modules/@csstools/postcss-font-format-keywords": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.1.tgz", - "integrity": "sha512-D1lcG2sfotTq6yBEOMV3myFxJLT10F3DLYZJMbiny5YToqzHWodZen8WId3UTimm0mEHitXqAUNL5jdd6RzVdA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz", + "integrity": "sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==", "funding": [ { "type": "github", @@ -788,6 +781,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -798,9 +792,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.1.tgz", - "integrity": "sha512-GDVzfNbnc7x3GusFklvt0mYXIWVzxEtEtTFEW664NgZh/5V7Z89hZKBMl9piOAHXuxijfHtE+kul/ShfeLUvcA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.11.tgz", + "integrity": "sha512-KrHGsUPXRYxboXmJ9wiU/RzDM7y/5uIefLWKFSc36Pok7fxiPyvkSHO51kh+RLZS1W5hbqw9qaa6+tKpTSxa5g==", "funding": [ { "type": "github", @@ -812,9 +806,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" }, "engines": { "node": "^14 || ^16 || >=18" @@ -824,9 +818,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.8.tgz", - "integrity": "sha512-bmvCNzuUvWPPdgASh0T14ffTay/FdzXsXfp0wXT1pYoUPmkH9M6yyxwPEkHq5djjzSb2jiLl4Ta3XM1uOREQ2w==", + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.20.tgz", + "integrity": "sha512-ZFl2JBHano6R20KB5ZrB8KdPM2pVK0u+/3cGQ2T8VubJq982I2LSOvQ4/VtxkAXjkPkk1rXt4AD1ni7UjTZ1Og==", "funding": [ { "type": "github", @@ -838,10 +832,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -851,9 +846,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.7.tgz", - "integrity": "sha512-iXs1gxKtev8YNP5bOF26TAsnMfcxnCRLpKItQ067RphYECKEK/xWm4Z0r4ChmV1U1eq+lbdH5ZIb2cju4o5akA==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.18.tgz", + "integrity": "sha512-3ifnLltR5C7zrJ+g18caxkvSRnu9jBBXCYgnBznRjxm6gQJGnnCO9H6toHfywNdNr/qkiVf2dymERPQLDnjLRQ==", "funding": [ { "type": "github", @@ -865,9 +860,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -877,9 +874,9 @@ } }, "node_modules/@csstools/postcss-ic-unit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.3.tgz", - "integrity": "sha512-MpcmIL0/uMm/cFWh5V/9nbKKJ7jRr2qTYW5Q6zoE6HZ6uzOBJr2KRERv5/x8xzEBQ1MthDT7iP1EBp9luSQy7g==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.7.tgz", + "integrity": "sha512-YoaNHH2wNZD+c+rHV02l4xQuDpfR8MaL7hD45iJyr+USwvr0LOheeytJ6rq8FN6hXBmEeoJBeXXgGmM8fkhH4g==", "funding": [ { "type": "github", @@ -891,7 +888,8 @@ } ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -923,9 +921,9 @@ } }, "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.4.tgz", - "integrity": "sha512-vTVO/uZixpTVAOQt3qZRUFJ/K1L03OfNkeJ8sFNDVNdVy/zW0h1L5WT7HIPMDUkvSrxQkFaCCybTZkUP7UESlQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.8.tgz", + "integrity": "sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q==", "funding": [ { "type": "github", @@ -937,7 +935,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.1", + "@csstools/selector-specificity": "^3.1.1", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -947,6 +945,33 @@ "postcss": "^8.4" } }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.8.tgz", + "integrity": "sha512-x0UtpCyVnERsplUeoaY6nEtp1HxTf4lJjoK/ULEm40DraqFfUdUSt76yoOyX5rGY6eeOUOkurHyYlFHVKv/pew==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@csstools/postcss-logical-float-and-clear": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz", @@ -1035,9 +1060,9 @@ } }, "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.4.tgz", - "integrity": "sha512-jetp/ArGAniWbjWBh5UQ07ztawfSbqCFd0QelX4R4pVIxrXahUEhz5VZHebMPVCg02J8GsQn0br6fdRpY6t7lw==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.11.tgz", + "integrity": "sha512-ElITMOGcjQtvouxjd90WmJRIw1J7KMP+M+O87HaVtlgOOlDt1uEPeTeii8qKGe2AiedEp0XOGIo9lidbiU2Ogg==", "funding": [ { "type": "github", @@ -1049,7 +1074,8 @@ } ], "dependencies": { - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1059,9 +1085,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.1.tgz", - "integrity": "sha512-mBY46/Hr+A8cDjoX0OoPRBOVrkANym9540dSB9rN3dllPZdM1E112i/tVxWsrR1s1yE9gfF0pk+7lf9l+qSeHA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.8.tgz", + "integrity": "sha512-KYQCal2i7XPNtHAUxCECdrC7tuxIWQCW+s8eMYs5r5PaAiVTeKwlrkRS096PFgojdNCmHeG0Cb7njtuNswNf+w==", "funding": [ { "type": "github", @@ -1073,10 +1099,10 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.5", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/media-query-list-parser": "^2.1.6" + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1086,9 +1112,9 @@ } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.4.tgz", - "integrity": "sha512-IaIZZhH0Qy9UDn7u+N3cuwwPG0Po3ZKOdDh+ClR7xvisSqniG+PuVrOEWYJrFKOt2//UHLhd7KHDqr2u9LKS9Q==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.11.tgz", + "integrity": "sha512-YD6jrib20GRGQcnOu49VJjoAnQ/4249liuz7vTpy/JfgqQ1Dlc5eD4HPUMNLOw9CWey9E6Etxwf/xc/ZF8fECA==", "funding": [ { "type": "github", @@ -1100,9 +1126,9 @@ } ], "dependencies": { - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/media-query-list-parser": "^2.1.6" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1112,9 +1138,9 @@ } }, "node_modules/@csstools/postcss-nested-calc": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.1.tgz", - "integrity": "sha512-bwwababZpWRm0ByHaWBxTsDGTMhZKmtUNl3Wt0Eom8AY7ORgXx5qF9SSk1vEFrCi+HOfJT6M6W5KPgzXuQNRwQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz", + "integrity": "sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==", "funding": [ { "type": "github", @@ -1126,6 +1152,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -1160,9 +1187,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.8.tgz", - "integrity": "sha512-L4xrwbgg+k08v+a88LDxJeIM6+kqaBJlYb/QgmEMfQpUbrfXTp87DuRc7utcRdDvY+qWK5vqz3h1xUtceB5LJQ==", + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.19.tgz", + "integrity": "sha512-e3JxXmxjU3jpU7TzZrsNqSX4OHByRC3XjItV3Ieo/JEQmLg5rdOL4lkv/1vp27gXemzfNt44F42k/pn0FpE21Q==", "funding": [ { "type": "github", @@ -1174,10 +1201,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1187,9 +1215,9 @@ } }, "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.3.tgz", - "integrity": "sha512-WipTVh6JTMQfeIrzDV4wEPsV9NTzMK2jwXxyH6CGBktuWdivHnkioP/smp1x/0QDPQyx7NTS14RB+GV3zZZYEw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.3.0.tgz", + "integrity": "sha512-W2oV01phnILaRGYPmGFlL2MT/OgYjQDrL9sFlbdikMFi6oQkFki9B86XqEWR7HCsTZFVq7dbzr/o71B75TKkGg==", "funding": [ { "type": "github", @@ -1211,9 +1239,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.8.tgz", - "integrity": "sha512-wu/Oh7QKINpRXnmLMUbObVNlqwr843PSF4a3x3fMC0I+vUeoGqMfZuSPFtT+NnYYxfzUjEZ091GURPxee22VLQ==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.19.tgz", + "integrity": "sha512-MxUMSNvio1WwuS6WRLlQuv6nNPXwIWUFzBBAvL/tBdWfiKjiJnAa6eSSN5gtaacSqUkQ/Ce5Z1OzLRfeaWhADA==", "funding": [ { "type": "github", @@ -1225,10 +1253,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1262,9 +1291,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.3.tgz", - "integrity": "sha512-hzo9Wr3u7JJiM65/EyHgE/gJpBzhDwBSGOobFs2YQ0ZNTywUliYQoYJud1KKlByMRuhqvDLh9V95eIkLf/fZTQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.10.tgz", + "integrity": "sha512-MZwo0D0TYrQhT5FQzMqfy/nGZ28D1iFtpN7Su1ck5BPHS95+/Y5O9S4kEvo76f2YOsqwYcT8ZGehSI1TnzuX2g==", "funding": [ { "type": "github", @@ -1276,9 +1305,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.5", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1288,9 +1317,9 @@ } }, "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz", - "integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.7.tgz", + "integrity": "sha512-+cptcsM5r45jntU6VjotnkC9GteFR7BQBfZ5oW7inLCxj7AfLGAzMbZ60hKTP13AULVZBdxky0P8um0IBfLHVA==", "funding": [ { "type": "github", @@ -1302,7 +1331,7 @@ } ], "dependencies": { - "@csstools/color-helpers": "^4.0.0", + "@csstools/color-helpers": "^4.2.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -1313,9 +1342,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.3.tgz", - "integrity": "sha512-T/npTbDuMZ3vktEMuA05p1oeVd12Sy47qZP1vFhzNMUOdXGCK9vlm0tUSIlV5DdlbTJqKqq9FhGitZH9VTKrfQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.10.tgz", + "integrity": "sha512-G9G8moTc2wiad61nY5HfvxLiM/myX0aYK4s1x8MQlPH29WDPxHQM7ghGgvv2qf2xH+rrXhztOmjGHJj4jsEqXw==", "funding": [ { "type": "github", @@ -1327,9 +1356,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.5", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2" + "@csstools/css-calc": "^1.2.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" }, "engines": { "node": "^14 || ^16 || >=18" @@ -1359,10 +1388,10 @@ "postcss": "^8.4" } }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz", - "integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==", + "node_modules/@csstools/selector-resolve-nested": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz", + "integrity": "sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==", "funding": [ { "type": "github", @@ -1380,10 +1409,53 @@ "postcss-selector-parser": "^6.0.13" } }, + "node_modules/@csstools/selector-specificity": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", + "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@csstools/utilities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-1.0.0.tgz", + "integrity": "sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@emmetio/abbreviation": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "license": "MIT", "dependencies": { "@emmetio/scanner": "^1.0.4" } @@ -1392,79 +1464,66 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "license": "MIT", "dependencies": { "@emmetio/scanner": "^1.0.4" } }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.0.tgz", + "integrity": "sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==", + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, "node_modules/@emmetio/scanner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", - "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "license": "MIT" }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz", - "integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==", - "cpu": [ - "ppc64" - ], + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "license": "MIT" + }, + "node_modules/@emnapi/runtime": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.1.1.tgz", + "integrity": "sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==", "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz", - "integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "node_modules/@fontsource/work-sans": { + "version": "5.0.18", + "resolved": "https://registry.npmjs.org/@fontsource/work-sans/-/work-sans-5.0.18.tgz", + "integrity": "sha512-kFZEEPfWhALOweNTc+J60Jnok1bNuKC/L6wbM05f716pZFU9AAlKl0zmOYbJSkY4yhpHsYDL/X7A4zF9vPpE2g==" }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz", - "integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz", - "integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz", - "integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==", + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.3.tgz", + "integrity": "sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==", "cpu": [ "arm64" ], @@ -1473,13 +1532,23 @@ "darwin" ], "engines": { - "node": ">=12" + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.2" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz", - "integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==", + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.3.tgz", + "integrity": "sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==", "cpu": [ "x64" ], @@ -1488,43 +1557,65 @@ "darwin" ], "engines": { - "node": ">=12" + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.2" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz", - "integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==", + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==", "cpu": [ "arm64" ], "optional": true, "os": [ - "freebsd" + "darwin" ], "engines": { - "node": ">=12" + "macos": ">=11", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz", - "integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==", + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.2.tgz", + "integrity": "sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==", "cpu": [ "x64" ], "optional": true, "os": [ - "freebsd" + "darwin" ], "engines": { - "node": ">=12" + "macos": ">=10.13", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz", - "integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==", + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.2.tgz", + "integrity": "sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==", "cpu": [ "arm" ], @@ -1533,13 +1624,19 @@ "linux" ], "engines": { - "node": ">=12" + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz", - "integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==", + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.2.tgz", + "integrity": "sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==", "cpu": [ "arm64" ], @@ -1548,88 +1645,19 @@ "linux" ], "engines": { - "node": ">=12" + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz", - "integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz", - "integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz", - "integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz", - "integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz", - "integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz", - "integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==", + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.2.tgz", + "integrity": "sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==", "cpu": [ "s390x" ], @@ -1638,13 +1666,19 @@ "linux" ], "engines": { - "node": ">=12" + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz", - "integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==", + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz", + "integrity": "sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==", "cpu": [ "x64" ], @@ -1653,73 +1687,232 @@ "linux" ], "engines": { - "node": ">=12" + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz", - "integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz", - "integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz", - "integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz", - "integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==", + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.2.tgz", + "integrity": "sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==", "cpu": [ "arm64" ], "optional": true, "os": [ - "win32" + "linux" ], "engines": { - "node": ">=12" + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz", - "integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==", + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz", + "integrity": "sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.3.tgz", + "integrity": "sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.3.tgz", + "integrity": "sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.3.tgz", + "integrity": "sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.3.tgz", + "integrity": "sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.3.tgz", + "integrity": "sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.3.tgz", + "integrity": "sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.3.tgz", + "integrity": "sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.1.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.3.tgz", + "integrity": "sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==", "cpu": [ "ia32" ], @@ -1728,13 +1921,19 @@ "win32" ], "engines": { - "node": ">=12" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz", - "integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==", + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz", + "integrity": "sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==", "cpu": [ "x64" ], @@ -1743,57 +1942,58 @@ "win32" ], "engines": { - "node": ">=12" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1826,10 +2026,41 @@ "node": ">= 8" } }, + "node_modules/@oslojs/encoding": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-0.4.1.tgz", + "integrity": "sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", - "integrity": "sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", "cpu": [ "arm" ], @@ -1839,9 +2070,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz", - "integrity": "sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", "cpu": [ "arm64" ], @@ -1851,9 +2082,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz", - "integrity": "sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", "cpu": [ "arm64" ], @@ -1863,9 +2094,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz", - "integrity": "sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", "cpu": [ "x64" ], @@ -1875,9 +2106,21 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz", - "integrity": "sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", "cpu": [ "arm" ], @@ -1887,9 +2130,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz", - "integrity": "sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", "cpu": [ "arm64" ], @@ -1899,9 +2142,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz", - "integrity": "sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", "cpu": [ "arm64" ], @@ -1910,10 +2153,22 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz", - "integrity": "sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", "cpu": [ "riscv64" ], @@ -1922,10 +2177,22 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz", - "integrity": "sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", "cpu": [ "x64" ], @@ -1935,9 +2202,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz", - "integrity": "sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", "cpu": [ "x64" ], @@ -1947,9 +2214,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz", - "integrity": "sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", "cpu": [ "arm64" ], @@ -1959,9 +2226,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", - "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", "cpu": [ "ia32" ], @@ -1971,9 +2238,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", - "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", "cpu": [ "x64" ], @@ -1982,6 +2249,15 @@ "win32" ] }, + "node_modules/@shikijs/core": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.14.1.tgz", + "integrity": "sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -2019,6 +2295,11 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2033,9 +2314,9 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/hast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", - "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dependencies": { "@types/unist": "*" } @@ -2054,27 +2335,22 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/nlcst": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.4.tgz", - "integrity": "sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", "dependencies": { - "@types/unist": "^2" + "@types/unist": "*" } }, - "node_modules/@types/nlcst/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, "node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", "dependencies": { "@types/node": "*" } @@ -2090,11 +2366,13 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@volar/kit": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-1.10.10.tgz", - "integrity": "sha512-V2SyUPCPUhueqH8j5t48LJ0QsjExGSXzTv/XOdkUHV7hJ/ekyRGFqKxcfBtMq/nK6Tgu2G1ba+6u0d7e6wKcQw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.0.tgz", + "integrity": "sha512-uqwtPKhrbnP+3f8hs+ltDYXLZ6Wdbs54IzkaPocasI4aBhqWLht5qXctE1MqpZU52wbH359E0u9nhxEFmyon+w==", + "license": "MIT", "dependencies": { - "@volar/language-service": "1.10.10", + "@volar/language-service": "2.4.0", + "@volar/typescript": "2.4.0", "typesafe-path": "^0.2.2", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" @@ -2104,22 +2382,23 @@ } }, "node_modules/@volar/language-core": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.10.tgz", - "integrity": "sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0.tgz", + "integrity": "sha512-FTla+khE+sYK0qJP+6hwPAAUwiNHVMph4RUXpxf/FIPKUP61NFrVZorml4mjFShnueR2y9/j8/vnh09YwVdH7A==", + "license": "MIT", "dependencies": { - "@volar/source-map": "1.10.10" + "@volar/source-map": "2.4.0" } }, "node_modules/@volar/language-server": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-1.10.10.tgz", - "integrity": "sha512-F2PRBU+CRjT7L9qe8bjof/uz/LbAXVmgwNU2gOSX2y1bUl3E8DHmD0dB6pwIVublvkx+Ivg/0r3Z6oyxfPPruQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.0.tgz", + "integrity": "sha512-rmGIjAxWekWQiGH97Mosb4juiD/hfFYNQKV5Py9r7vDOLSkbIwRhITbwHm88NJKs8P6TNc6w/PfBXN6yjKadJg==", + "license": "MIT", "dependencies": { - "@volar/language-core": "1.10.10", - "@volar/language-service": "1.10.10", - "@volar/typescript": "1.10.10", - "@vscode/l10n": "^0.0.16", + "@volar/language-core": "2.4.0", + "@volar/language-service": "2.4.0", + "@volar/typescript": "2.4.0", "path-browserify": "^1.0.1", "request-light": "^0.7.0", "vscode-languageserver": "^9.0.1", @@ -2129,38 +2408,39 @@ } }, "node_modules/@volar/language-service": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-1.10.10.tgz", - "integrity": "sha512-P4fiPWDI6fLGO6BghlksCVHs1nr9gvWAMDyma3Bca4aowxXusxjUVTsnJq0EVorIN5uIr1Xel4B/tNdXt/IKyw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.0.tgz", + "integrity": "sha512-4P3yeQXIL68mLfS3n6P3m02IRg3GnLHUU9k/1PCHEfm5FG9bySkDOc72dbBn2vAa2BxOqm18bmmZXrsWuQ5AOw==", + "license": "MIT", "dependencies": { - "@volar/language-core": "1.10.10", - "@volar/source-map": "1.10.10", + "@volar/language-core": "2.4.0", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "node_modules/@volar/source-map": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.10.tgz", - "integrity": "sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==", - "dependencies": { - "muggle-string": "^0.3.1" - } + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0.tgz", + "integrity": "sha512-2ceY8/NEZvN6F44TXw2qRP6AQsvCYhV2bxaBPWxV9HqIfkbRydSksTFObCF1DBDNBfKiZTS8G/4vqV6cvjdOIQ==", + "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.10.tgz", - "integrity": "sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.0.tgz", + "integrity": "sha512-9zx3lQWgHmVd+JRRAHUSRiEhe4TlzL7U7e6ulWXOxHH/WNYxzKwCvZD7WYWEZFdw4dHfTD9vUR0yPQO6GilCaQ==", + "license": "MIT", "dependencies": { - "@volar/language-core": "1.10.10", - "path-browserify": "^1.0.1" + "@volar/language-core": "2.4.0", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" } }, "node_modules/@vscode/emmet-helper": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.2.tgz", - "integrity": "sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.3.tgz", + "integrity": "sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==", + "license": "MIT", "dependencies": { "emmet": "^2.4.3", "jsonc-parser": "^2.3.0", @@ -2172,17 +2452,19 @@ "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", - "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "license": "MIT" }, "node_modules/@vscode/l10n": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz", - "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==" + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "license": "MIT" }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -2190,6 +2472,22 @@ "node": ">=0.4.0" } }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -2279,6 +2577,14 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, "node_modules/array-iterate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", @@ -2289,81 +2595,442 @@ } }, "node_modules/astro": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.0.7.tgz", - "integrity": "sha512-K+Ms2AAQvi6yERPuglcI69tnHyTT44JCjzqprSjw3uOwFX7N9obpLgbhmLMH1fPFTgzt3ZD7APjmtDPN51makw==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.14.3.tgz", + "integrity": "sha512-+Hox1EhiS5iHy4pfZaLidpD9x7WVAcgGgjTo1JOYSQ0+a2ZA9mbLtGVEXbUeeYweviNc0ZNHMnI4r9S2e8xnXg==", + "license": "MIT", "dependencies": { - "@astrojs/compiler": "^2.3.4", - "@astrojs/internal-helpers": "0.2.1", - "@astrojs/markdown-remark": "4.0.1", - "@astrojs/telemetry": "3.0.4", - "@babel/core": "^7.23.3", - "@babel/generator": "^7.23.3", - "@babel/parser": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", - "@types/babel__core": "^7.20.4", - "acorn": "^8.11.2", - "boxen": "^7.1.1", - "chokidar": "^3.5.3", + "@astrojs/compiler": "^2.10.3", + "@astrojs/internal-helpers": "0.4.1", + "@astrojs/markdown-remark": "5.2.0", + "@astrojs/telemetry": "3.1.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", + "@oslojs/encoding": "^0.4.1", + "@rollup/pluginutils": "^5.1.0", + "@types/babel__core": "^7.20.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.12.1", + "aria-query": "^5.3.0", + "axobject-query": "^4.1.0", + "boxen": "7.1.1", "ci-info": "^4.0.0", - "clsx": "^2.0.0", + "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^0.6.0", - "debug": "^4.3.4", - "deterministic-object-hash": "^2.0.1", - "devalue": "^4.3.2", - "diff": "^5.1.0", + "cssesc": "^3.0.0", + "debug": "^4.3.6", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.0.0", + "diff": "^5.2.0", "dlv": "^1.1.3", "dset": "^3.1.3", - "es-module-lexer": "^1.4.1", - "esbuild": "^0.19.6", + "es-module-lexer": "^1.5.4", + "esbuild": "^0.21.5", "estree-walker": "^3.0.3", "execa": "^8.0.1", "fast-glob": "^3.3.2", - "flattie": "^1.1.0", + "flattie": "^1.1.1", "github-slugger": "^2.0.0", "gray-matter": "^4.0.3", "html-escaper": "^3.0.3", "http-cache-semantics": "^4.1.1", "js-yaml": "^4.1.0", - "kleur": "^4.1.4", - "magic-string": "^0.30.3", - "mdast-util-to-hast": "13.0.2", - "mime": "^3.0.0", - "ora": "^7.0.1", - "p-limit": "^5.0.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.11", + "micromatch": "^4.0.7", + "mrmime": "^2.0.0", + "neotraverse": "^0.6.18", + "ora": "^8.0.1", + "p-limit": "^6.1.0", "p-queue": "^8.0.1", - "path-to-regexp": "^6.2.1", - "preferred-pm": "^3.1.2", - "probe-image-size": "^7.2.3", + "path-to-regexp": "^6.2.2", + "preferred-pm": "^4.0.0", "prompts": "^2.4.2", "rehype": "^13.0.1", - "resolve": "^1.22.4", - "semver": "^7.5.4", - "server-destroy": "^1.0.1", - "shikiji": "^0.6.13", - "string-width": "^7.0.0", + "semver": "^7.6.3", + "shiki": "^1.14.1", + "string-width": "^7.2.0", "strip-ansi": "^7.1.0", - "tsconfck": "^3.0.0", + "tsconfck": "^3.1.1", "unist-util-visit": "^5.0.0", - "vfile": "^6.0.1", - "vite": "^5.0.10", + "vfile": "^6.0.2", + "vite": "^5.4.1", "vitefu": "^0.2.5", - "which-pm": "^2.1.1", + "which-pm": "^3.0.0", + "xxhash-wasm": "^1.0.2", "yargs-parser": "^21.1.1", - "zod": "^3.22.4" + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.2", + "zod-to-ts": "^1.2.0" }, "bin": { "astro": "astro.js" }, "engines": { - "node": ">=18.14.1", - "npm": ">=6.14.0" + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" }, "optionalDependencies": { - "sharp": "^0.32.5" + "sharp": "^0.33.3" + } + }, + "node_modules/astro-meta-tags": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/astro-meta-tags/-/astro-meta-tags-0.3.0.tgz", + "integrity": "sha512-BA8jZncOGz1DkjK4AQHt8mzXurGwhR96CZZlx2wLemRUqKTxft4N2Arg8DK/s49G/9F0g4TuxmiObVkIv/DX8g==", + "peerDependencies": { + "astro": "^4.0.0" + } + }, + "node_modules/astro/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/astro/node_modules/@types/node": { @@ -2376,14 +3043,62 @@ "undici-types": "~5.26.4" } }, + "node_modules/astro/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/astro/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/astro/node_modules/vite": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", - "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz", + "integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==", "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" @@ -2402,6 +3117,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -2419,6 +3135,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -2444,9 +3163,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "funding": [ { "type": "opencollective", @@ -2462,9 +3181,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -2479,11 +3198,13 @@ "postcss": "^8.1.0" } }, - "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", - "optional": true + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" + } }, "node_modules/bail": { "version": "2.0.2", @@ -2499,25 +3220,6 @@ "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -2526,16 +3228,6 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/boxen": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", @@ -2590,20 +3282,20 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "funding": [ { "type": "opencollective", @@ -2619,10 +3311,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -2631,29 +3323,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/camelcase": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", @@ -2666,9 +3335,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001570", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", - "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -2682,7 +3351,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", @@ -2734,15 +3404,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2755,16 +3419,13 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "optional": true - }, "node_modules/ci-info": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", @@ -2912,9 +3573,9 @@ } }, "node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "engines": { "node": ">=6" } @@ -3014,9 +3675,9 @@ } }, "node_modules/css-blank-pseudo": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz", - "integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.2.tgz", + "integrity": "sha512-J/6m+lsqpKPqWHOifAFtKFeGLOzw3jR92rxQcwRUfA/eTuZzKfKlxOmYDx2+tqOPQAueNvBiY8WhAeHu5qNmTg==", "funding": [ { "type": "github", @@ -3038,9 +3699,9 @@ } }, "node_modules/css-has-pseudo": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.1.tgz", - "integrity": "sha512-WwoVKqNxApfEI7dWFyaHoeFCcUPD+lPyjL6lNpRUNX7IyIUuVpawOTwwA5D0ZR6V2xQZonNPVj8kEcxzEaAQfQ==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.5.tgz", + "integrity": "sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw==", "funding": [ { "type": "github", @@ -3052,7 +3713,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.1", + "@csstools/selector-specificity": "^3.1.1", "postcss-selector-parser": "^6.0.13", "postcss-value-parser": "^4.2.0" }, @@ -3085,9 +3746,9 @@ } }, "node_modules/cssdb": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.10.0.tgz", - "integrity": "sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.1.0.tgz", + "integrity": "sha512-BQN57lfS4dYt2iL0LgyrlDbefZKEtUyrO8rbzrbGrqBk6OoyNTQLF+porY9DrpDBjLo4NEvj2IJttC7vf3x+Ew==", "funding": [ { "type": "opencollective", @@ -3111,9 +3772,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { "ms": "2.1.2" }, @@ -3138,30 +3799,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "optional": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -3171,9 +3808,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "optional": true, "engines": { "node": ">=8" @@ -3191,9 +3828,9 @@ } }, "node_modules/devalue": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", - "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz", + "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==" }, "node_modules/devlop": { "version": "1.1.0", @@ -3208,9 +3845,9 @@ } }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "engines": { "node": ">=0.3.1" } @@ -3234,14 +3871,21 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/electron-to-chromium": { - "version": "1.4.615", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz", - "integrity": "sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==" + "version": "1.4.828", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.828.tgz", + "integrity": "sha512-QOIJiWpQJDHAVO4P58pwb133Cwee0nbvy/MV1CwzZVGpkH1RX33N3vsaWRCpR6bF63AAq366neZrRTu7Qlsbbw==" }, "node_modules/emmet": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz", - "integrity": "sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==", + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.7.tgz", + "integrity": "sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==", + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], "dependencies": { "@emmetio/abbreviation": "^2.3.3", "@emmetio/css-abbreviation": "^2.1.8" @@ -3252,15 +3896,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "optional": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -3273,51 +3908,14 @@ } }, "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" - }, - "node_modules/esbuild": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", - "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.10", - "@esbuild/android-arm": "0.19.10", - "@esbuild/android-arm64": "0.19.10", - "@esbuild/android-x64": "0.19.10", - "@esbuild/darwin-arm64": "0.19.10", - "@esbuild/darwin-x64": "0.19.10", - "@esbuild/freebsd-arm64": "0.19.10", - "@esbuild/freebsd-x64": "0.19.10", - "@esbuild/linux-arm": "0.19.10", - "@esbuild/linux-arm64": "0.19.10", - "@esbuild/linux-ia32": "0.19.10", - "@esbuild/linux-loong64": "0.19.10", - "@esbuild/linux-mips64el": "0.19.10", - "@esbuild/linux-ppc64": "0.19.10", - "@esbuild/linux-riscv64": "0.19.10", - "@esbuild/linux-s390x": "0.19.10", - "@esbuild/linux-x64": "0.19.10", - "@esbuild/netbsd-x64": "0.19.10", - "@esbuild/openbsd-x64": "0.19.10", - "@esbuild/sunos-x64": "0.19.10", - "@esbuild/win32-arm64": "0.19.10", - "@esbuild/win32-ia32": "0.19.10", - "@esbuild/win32-x64": "0.19.10" - } + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -3377,15 +3975,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "optional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -3402,11 +3991,11 @@ "node": ">=0.10.0" } }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "optional": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -3423,6 +4012,12 @@ "node": ">=8.6.0" } }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "license": "MIT" + }, "node_modules/fastq": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", @@ -3432,9 +4027,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3443,15 +4038,23 @@ } }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3467,9 +4070,9 @@ } }, "node_modules/flattie": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.0.tgz", - "integrity": "sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", "engines": { "node": ">=8" } @@ -3486,12 +4089,6 @@ "url": "https://github.com/sponsors/rawify" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "optional": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3505,14 +4102,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -3551,12 +4140,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "optional": true - }, "node_modules/github-slugger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", @@ -3628,17 +4211,6 @@ "node": ">=4" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/hast-util-from-html": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", @@ -3675,6 +4247,18 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-parse-selector": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", @@ -3752,6 +4336,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-whitespace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", @@ -3808,64 +4407,23 @@ } }, "node_modules/iconoir": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/iconoir/-/iconoir-7.3.0.tgz", - "integrity": "sha512-e/Kop2l4Hsc2Aq95paLAP1rHVTpIxVcKV/G/hMOd3GzFI/vIYEYYRSef/HDC7Ru1rH7KP7BFGuCO5FeLLP5wEA==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/iconoir/-/iconoir-7.7.0.tgz", + "integrity": "sha512-OsWErkUrvFW+EQAUkSw1JgVXGCIynVgCGUtrI7PzGcVmhfryFCbWHZceoGRtI2BMfp28J6HxethR86V58sJfnw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/iconoir" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "optional": true - }, "node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", @@ -3883,39 +4441,6 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -4024,11 +4549,11 @@ } }, "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4080,6 +4605,12 @@ "node": ">=4" } }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -4094,7 +4625,8 @@ "node_modules/jsonc-parser": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", - "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "license": "MIT" }, "node_modules/kind-of": { "version": "6.0.3", @@ -4113,9 +4645,9 @@ } }, "node_modules/lite-youtube-embed": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/lite-youtube-embed/-/lite-youtube-embed-0.2.0.tgz", - "integrity": "sha512-XXXAk5sbvtjjwbie3XG+6HppgTm1HTGL/Uk9z9NkJH53o7puZLur434heHzAjkS60hZB3vT4ls25zl5rMiX4EA==" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/lite-youtube-embed/-/lite-youtube-embed-0.3.2.tgz", + "integrity": "sha512-b1dgKyF4PHhinonmr3PB172Nj0qQgA/7DE9EmeIXHR1ksnFEC2olWjNJyJGdsN2cleKHRjjsmrziKlwXtPlmLQ==" }, "node_modules/load-yaml-file": { "version": "0.2.0", @@ -4152,34 +4684,32 @@ } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4196,6 +4726,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -4214,14 +4755,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/markdown-table": { @@ -4274,9 +4812,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -4392,9 +4930,9 @@ } }, "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -4502,9 +5040,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", "funding": [ { "type": "GitHub Sponsors", @@ -4554,9 +5092,9 @@ } }, "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", @@ -4569,9 +5107,9 @@ } }, "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", @@ -4588,9 +5126,9 @@ } }, "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -4605,9 +5143,9 @@ } }, "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -4633,9 +5171,9 @@ } }, "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -4952,9 +5490,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -5003,28 +5541,17 @@ ] }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", @@ -5036,42 +5563,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "optional": true, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "optional": true - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.7", @@ -5090,66 +5599,26 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "optional": true - }, - "node_modules/needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "node": ">= 10" } }, "node_modules/nlcst-to-string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", - "integrity": "sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", "dependencies": { - "@types/nlcst": "^1.0.0" + "@types/nlcst": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/node-abi": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", - "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", - "optional": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "optional": true - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -5196,15 +5665,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "optional": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", @@ -5220,22 +5680,22 @@ } }, "node_modules/ora": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", - "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.0.1.tgz", + "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==", "dependencies": { "chalk": "^5.3.0", "cli-cursor": "^4.0.0", - "cli-spinners": "^2.9.0", + "cli-spinners": "^2.9.2", "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.3.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "string-width": "^6.1.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.1", + "string-width": "^7.0.0", "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5252,28 +5712,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ora/node_modules/string-width": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", - "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^10.2.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", "dependencies": { - "yocto-queue": "^1.0.0" + "yocto-queue": "^1.1.1" }, "engines": { "node": ">=18" @@ -5283,39 +5727,25 @@ } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5356,13 +5786,16 @@ } }, "node_modules/parse-latin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz", - "integrity": "sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", "dependencies": { - "nlcst-to-string": "^3.0.0", - "unist-util-modify-children": "^3.0.0", - "unist-util-visit-children": "^2.0.0" + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "github", @@ -5383,7 +5816,8 @@ "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" }, "node_modules/path-exists": { "version": "4.0.0", @@ -5401,20 +5835,15 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, "node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -5446,58 +5875,10 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "funding": [ { "type": "opencollective", @@ -5514,27 +5895,33 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-attribute-case-insensitive": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz", - "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz", + "integrity": "sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -5554,9 +5941,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.3.tgz", - "integrity": "sha512-2jBr3H0sk3qGh/3BkmLsOKcYyVfSlM1K2QQYVU7eW5mkg7ZOQ4aU/Rtbh7vJ9FxAfgf8iHRwXBsQkHqUxzTkXw==", + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.14.tgz", + "integrity": "sha512-dNUX+UH4dAozZ8uMHZ3CtCNYw8fyFAmqqdcyxMr7PEdM9jLXV19YscoYO0F25KqZYhmtWKQ+4tKrIZQrwzwg7A==", "funding": [ { "type": "github", @@ -5568,10 +5955,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -5581,9 +5969,9 @@ } }, "node_modules/postcss-color-hex-alpha": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.3.tgz", - "integrity": "sha512-7sEHU4tAS6htlxun8AB9LDrCXoljxaC34tFVRlYKcvO+18r5fvGiXgv5bQzN40+4gXLCyWSMRK5FK31244WcCA==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz", + "integrity": "sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==", "funding": [ { "type": "github", @@ -5595,6 +5983,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -5605,9 +5994,9 @@ } }, "node_modules/postcss-color-rebeccapurple": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.2.tgz", - "integrity": "sha512-f+RDEAPW2m8UbJWkSpRfV+QxhSaQhDMihI75DVGJJh4oRIoegjheeRtINFJum9D8BqGJcvD4GLjggTvCwZ4zuA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz", + "integrity": "sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==", "funding": [ { "type": "github", @@ -5619,6 +6008,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -5629,9 +6019,9 @@ } }, "node_modules/postcss-custom-media": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz", - "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.8.tgz", + "integrity": "sha512-V1KgPcmvlGdxTel4/CyQtBJEFhMVpEmRGFrnVtgfGIHj5PJX9vO36eFBxKBeJn+aCDTed70cc+98Mz3J/uVdGQ==", "funding": [ { "type": "github", @@ -5643,10 +6033,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13" }, "engines": { "node": "^14 || ^16 || >=18" @@ -5656,9 +6046,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.3.tgz", - "integrity": "sha512-xLmILb2R83aG4X++iVFg8TWadOlc45xiyFHRZD6Yhhu2igrTHXL6C75AEWqx6k9lxrr9sK5rcfUI9JvTCxBTvA==", + "version": "13.3.12", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.12.tgz", + "integrity": "sha512-oPn/OVqONB2ZLNqN185LDyaVByELAA/u3l2CS2TS16x2j2XsmV4kd8U49+TMxmUsEU9d8fB/I10E6U7kB0L1BA==", "funding": [ { "type": "github", @@ -5670,9 +6060,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.6", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -5683,9 +6074,9 @@ } }, "node_modules/postcss-custom-selectors": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz", - "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==", + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.12.tgz", + "integrity": "sha512-ctIoprBMJwByYMGjXG0F7IT2iMF2hnamQ+aWZETyBM0aAlyaYdVZTeUkk8RB+9h9wP+NdN3f01lfvKl2ZSqC0g==", "funding": [ { "type": "github", @@ -5697,10 +6088,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "postcss-selector-parser": "^6.0.13" + "@csstools/cascade-layer-name-parser": "^1.0.13", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "postcss-selector-parser": "^6.1.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -5734,9 +6125,9 @@ } }, "node_modules/postcss-double-position-gradients": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.3.tgz", - "integrity": "sha512-QKYpwmaSm6HcdS0ndAuWSNNMv78R1oSySoh3mYBmctHWr2KWcwPJVakdOyU4lvFVW0GRu9wfIQwGeM4p3xU9ow==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.7.tgz", + "integrity": "sha512-1xEhjV9u1s4l3iP5lRt1zvMjI/ya8492o9l/ivcxHhkO3nOz16moC4JpMxDUGrOs4R3hX+KWT7gKoV842cwRgg==", "funding": [ { "type": "github", @@ -5748,7 +6139,8 @@ } ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -5836,9 +6228,9 @@ } }, "node_modules/postcss-image-set-function": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.2.tgz", - "integrity": "sha512-/O1xwqpJiz/apxGQi7UUfv1xUcorvkHZfvCYHPpRxxZj2WvjD0rg0+/+c+u5/Do5CpUg3XvfYxMrhcnjW1ArDQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz", + "integrity": "sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==", "funding": [ { "type": "github", @@ -5850,6 +6242,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -5860,9 +6253,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.8.tgz", - "integrity": "sha512-agYs7R9Z5gnX837fCkH8TEQIHdhyDsMPPnpuuENt/dxoDVAykBaqbdxIN4DagOj+ZQo20iRNNJeY3MsFcdI6Sg==", + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.19.tgz", + "integrity": "sha512-vwln/mgvFrotJuGV8GFhpAOu9iGf3pvTBr6dLPDmUcqVD5OsQpEFyQMAFTxSxWXGEzBj6ld4pZ/9GDfEpXvo0g==", "funding": [ { "type": "github", @@ -5874,10 +6267,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.5.0", - "@csstools/css-parser-algorithms": "^2.4.0", - "@csstools/css-tokenizer": "^2.2.2", - "@csstools/postcss-progressive-custom-properties": "^3.0.3" + "@csstools/css-color-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -5911,9 +6305,9 @@ } }, "node_modules/postcss-nesting": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.2.tgz", - "integrity": "sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==", + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.5.tgz", + "integrity": "sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==", "funding": [ { "type": "github", @@ -5925,8 +6319,9 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.1", - "postcss-selector-parser": "^6.0.13" + "@csstools/selector-resolve-nested": "^1.1.0", + "@csstools/selector-specificity": "^3.1.1", + "postcss-selector-parser": "^6.1.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -6013,9 +6408,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz", - "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.6.0.tgz", + "integrity": "sha512-Lxfk4RYjUdwPCYkc321QMdgtdCP34AeI94z+/8kVmqnTIlD4bMRQeGcMZgwz8BxHrzQiFXYIR5d7k/9JMs2MEA==", "funding": [ { "type": "github", @@ -6027,66 +6422,67 @@ } ], "dependencies": { - "@csstools/postcss-cascade-layers": "^4.0.1", - "@csstools/postcss-color-function": "^3.0.7", - "@csstools/postcss-color-mix-function": "^2.0.7", - "@csstools/postcss-exponential-functions": "^1.0.1", - "@csstools/postcss-font-format-keywords": "^3.0.0", - "@csstools/postcss-gamut-mapping": "^1.0.0", - "@csstools/postcss-gradients-interpolation-method": "^4.0.7", - "@csstools/postcss-hwb-function": "^3.0.6", - "@csstools/postcss-ic-unit": "^3.0.2", - "@csstools/postcss-initial": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^4.0.3", - "@csstools/postcss-logical-float-and-clear": "^2.0.0", - "@csstools/postcss-logical-overflow": "^1.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^1.0.0", - "@csstools/postcss-logical-resize": "^2.0.0", - "@csstools/postcss-logical-viewport-units": "^2.0.3", - "@csstools/postcss-media-minmax": "^1.1.0", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3", - "@csstools/postcss-nested-calc": "^3.0.0", - "@csstools/postcss-normalize-display-values": "^3.0.1", - "@csstools/postcss-oklab-function": "^3.0.7", - "@csstools/postcss-progressive-custom-properties": "^3.0.2", - "@csstools/postcss-relative-color-syntax": "^2.0.7", - "@csstools/postcss-scope-pseudo-class": "^3.0.0", - "@csstools/postcss-stepped-value-functions": "^3.0.2", - "@csstools/postcss-text-decoration-shorthand": "^3.0.3", - "@csstools/postcss-trigonometric-functions": "^3.0.2", - "@csstools/postcss-unset-value": "^3.0.0", - "autoprefixer": "^10.4.16", - "browserslist": "^4.22.1", - "css-blank-pseudo": "^6.0.0", - "css-has-pseudo": "^6.0.0", - "css-prefers-color-scheme": "^9.0.0", - "cssdb": "^7.9.0", - "postcss-attribute-case-insensitive": "^6.0.2", + "@csstools/postcss-cascade-layers": "^4.0.6", + "@csstools/postcss-color-function": "^3.0.19", + "@csstools/postcss-color-mix-function": "^2.0.19", + "@csstools/postcss-content-alt-text": "^1.0.0", + "@csstools/postcss-exponential-functions": "^1.0.9", + "@csstools/postcss-font-format-keywords": "^3.0.2", + "@csstools/postcss-gamut-mapping": "^1.0.11", + "@csstools/postcss-gradients-interpolation-method": "^4.0.20", + "@csstools/postcss-hwb-function": "^3.0.18", + "@csstools/postcss-ic-unit": "^3.0.7", + "@csstools/postcss-initial": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^4.0.8", + "@csstools/postcss-light-dark-function": "^1.0.8", + "@csstools/postcss-logical-float-and-clear": "^2.0.1", + "@csstools/postcss-logical-overflow": "^1.0.1", + "@csstools/postcss-logical-overscroll-behavior": "^1.0.1", + "@csstools/postcss-logical-resize": "^2.0.1", + "@csstools/postcss-logical-viewport-units": "^2.0.11", + "@csstools/postcss-media-minmax": "^1.1.8", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.11", + "@csstools/postcss-nested-calc": "^3.0.2", + "@csstools/postcss-normalize-display-values": "^3.0.2", + "@csstools/postcss-oklab-function": "^3.0.19", + "@csstools/postcss-progressive-custom-properties": "^3.3.0", + "@csstools/postcss-relative-color-syntax": "^2.0.19", + "@csstools/postcss-scope-pseudo-class": "^3.0.1", + "@csstools/postcss-stepped-value-functions": "^3.0.10", + "@csstools/postcss-text-decoration-shorthand": "^3.0.7", + "@csstools/postcss-trigonometric-functions": "^3.0.10", + "@csstools/postcss-unset-value": "^3.0.1", + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.1", + "css-blank-pseudo": "^6.0.2", + "css-has-pseudo": "^6.0.5", + "css-prefers-color-scheme": "^9.0.1", + "cssdb": "^8.1.0", + "postcss-attribute-case-insensitive": "^6.0.3", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^6.0.2", - "postcss-color-hex-alpha": "^9.0.2", - "postcss-color-rebeccapurple": "^9.0.1", - "postcss-custom-media": "^10.0.2", - "postcss-custom-properties": "^13.3.2", - "postcss-custom-selectors": "^7.1.6", - "postcss-dir-pseudo-class": "^8.0.0", - "postcss-double-position-gradients": "^5.0.2", - "postcss-focus-visible": "^9.0.0", - "postcss-focus-within": "^8.0.0", + "postcss-color-functional-notation": "^6.0.14", + "postcss-color-hex-alpha": "^9.0.4", + "postcss-color-rebeccapurple": "^9.0.3", + "postcss-custom-media": "^10.0.8", + "postcss-custom-properties": "^13.3.12", + "postcss-custom-selectors": "^7.1.12", + "postcss-dir-pseudo-class": "^8.0.1", + "postcss-double-position-gradients": "^5.0.7", + "postcss-focus-visible": "^9.0.1", + "postcss-focus-within": "^8.0.1", "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^5.0.0", - "postcss-image-set-function": "^6.0.1", - "postcss-lab-function": "^6.0.7", - "postcss-logical": "^7.0.0", - "postcss-nesting": "^12.0.1", + "postcss-gap-properties": "^5.0.1", + "postcss-image-set-function": "^6.0.3", + "postcss-lab-function": "^6.0.19", + "postcss-logical": "^7.0.1", + "postcss-nesting": "^12.1.5", "postcss-opacity-percentage": "^2.0.0", - "postcss-overflow-shorthand": "^5.0.0", + "postcss-overflow-shorthand": "^5.0.1", "postcss-page-break": "^3.0.4", - "postcss-place": "^9.0.0", - "postcss-pseudo-class-any-link": "^9.0.0", + "postcss-place": "^9.0.1", + "postcss-pseudo-class-any-link": "^9.0.2", "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^7.0.1", - "postcss-value-parser": "^4.2.0" + "postcss-selector-not": "^7.0.2" }, "engines": { "node": "^14 || ^16 || >=18" @@ -6096,9 +6492,9 @@ } }, "node_modules/postcss-pseudo-class-any-link": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz", - "integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.2.tgz", + "integrity": "sha512-HFSsxIqQ9nA27ahyfH37cRWGk3SYyQLpk0LiWw/UGMV4VKT5YG2ONee4Pz/oFesnK0dn2AjcyequDbIjKJgB0g==", "funding": [ { "type": "github", @@ -6128,27 +6524,33 @@ } }, "node_modules/postcss-selector-not": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz", - "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz", + "integrity": "sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -6162,119 +6564,17 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prebuild-install/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/prebuild-install/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "optional": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/preferred-pm": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", - "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.0.0.tgz", + "integrity": "sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==", "dependencies": { - "find-up": "^5.0.0", + "find-up-simple": "^1.0.0", "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "which-pm": "^3.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/preferred-pm/node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" + "node": ">=18.12" } }, "node_modules/prettier": { @@ -6320,16 +6620,6 @@ "node": ">=6" } }, - "node_modules/probe-image-size": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", - "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", - "dependencies": { - "lodash.merge": "^4.6.2", - "needle": "^2.5.2", - "stream-parser": "~0.3.1" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -6359,16 +6649,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6388,40 +6668,6 @@ } ] }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "optional": true - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6523,9 +6769,9 @@ } }, "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -6539,60 +6785,17 @@ } }, "node_modules/remark-smartypants": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-2.0.0.tgz", - "integrity": "sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", "dependencies": { - "retext": "^8.1.0", - "retext-smartypants": "^5.1.0", - "unist-util-visit": "^4.1.0" + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-smartypants/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/remark-smartypants/node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-smartypants/node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-smartypants/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node": ">=16.0.0" } }, "node_modules/remark-stringify": { @@ -6612,7 +6815,8 @@ "node_modules/request-light": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", - "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "license": "MIT" }, "node_modules/require-directory": { "version": "2.1.1", @@ -6622,20 +6826,13 @@ "node": ">=0.10.0" } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, "node_modules/restore-cursor": { @@ -6681,14 +6878,14 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/retext": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz", - "integrity": "sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", "dependencies": { - "@types/nlcst": "^1.0.0", - "retext-latin": "^3.0.0", - "retext-stringify": "^3.0.0", - "unified": "^10.0.0" + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", @@ -6696,77 +6893,13 @@ } }, "node_modules/retext-latin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-3.1.0.tgz", - "integrity": "sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", "dependencies": { - "@types/nlcst": "^1.0.0", - "parse-latin": "^5.0.0", - "unherit": "^3.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-latin/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", @@ -6774,116 +6907,13 @@ } }, "node_modules/retext-smartypants": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz", - "integrity": "sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.1.0.tgz", + "integrity": "sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==", "dependencies": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-smartypants/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", @@ -6891,139 +6921,13 @@ } }, "node_modules/retext-stringify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz", - "integrity": "sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", "dependencies": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-stringify/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", @@ -7040,9 +6944,12 @@ } }, "node_modules/rollup": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", - "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, @@ -7051,19 +6958,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.1", - "@rollup/rollup-android-arm64": "4.9.1", - "@rollup/rollup-darwin-arm64": "4.9.1", - "@rollup/rollup-darwin-x64": "4.9.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.1", - "@rollup/rollup-linux-arm64-gnu": "4.9.1", - "@rollup/rollup-linux-arm64-musl": "4.9.1", - "@rollup/rollup-linux-riscv64-gnu": "4.9.1", - "@rollup/rollup-linux-x64-gnu": "4.9.1", - "@rollup/rollup-linux-x64-musl": "4.9.1", - "@rollup/rollup-win32-arm64-msvc": "4.9.1", - "@rollup/rollup-win32-ia32-msvc": "4.9.1", - "@rollup/rollup-win32-x64-msvc": "4.9.1", + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", "fsevents": "~2.3.2" } }, @@ -7095,30 +7005,6 @@ "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", "devOptional": true }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/sass-formatter": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.8.tgz", @@ -7129,9 +7015,9 @@ } }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/section-matter": { "version": "1.0.0", @@ -7146,12 +7032,9 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "bin": { "semver": "bin/semver.js" }, @@ -7159,48 +7042,44 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" - }, "node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.3.tgz", + "integrity": "sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==", "hasInstallScript": true, "optional": true, "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" + "detect-libc": "^2.0.3", + "semver": "^7.6.0" }, "engines": { - "node": ">=14.15.0" + "libvips": ">=8.15.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.3", + "@img/sharp-darwin-x64": "0.33.3", + "@img/sharp-libvips-darwin-arm64": "1.0.2", + "@img/sharp-libvips-darwin-x64": "1.0.2", + "@img/sharp-libvips-linux-arm": "1.0.2", + "@img/sharp-libvips-linux-arm64": "1.0.2", + "@img/sharp-libvips-linux-s390x": "1.0.2", + "@img/sharp-libvips-linux-x64": "1.0.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", + "@img/sharp-libvips-linuxmusl-x64": "1.0.2", + "@img/sharp-linux-arm": "0.33.3", + "@img/sharp-linux-arm64": "0.33.3", + "@img/sharp-linux-s390x": "0.33.3", + "@img/sharp-linux-x64": "0.33.3", + "@img/sharp-linuxmusl-arm64": "0.33.3", + "@img/sharp-linuxmusl-x64": "0.33.3", + "@img/sharp-wasm32": "0.33.3", + "@img/sharp-win32-ia32": "0.33.3", + "@img/sharp-win32-x64": "0.33.3" } }, "node_modules/shebang-command": { @@ -7222,12 +7101,14 @@ "node": ">=8" } }, - "node_modules/shikiji": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.6.13.tgz", - "integrity": "sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA==", + "node_modules/shiki": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.14.1.tgz", + "integrity": "sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==", + "license": "MIT", "dependencies": { - "hast-util-to-html": "^9.0.0" + "@shikijs/core": "1.14.1", + "@types/hast": "^3.0.4" } }, "node_modules/signal-exit": { @@ -7241,51 +7122,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -7301,9 +7137,9 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -7319,9 +7155,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -7341,62 +7177,25 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "dependencies": { - "bl": "^5.0.0" - }, + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", - "dependencies": { - "debug": "2" - } - }, - "node_modules/stream-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/stream-parser/node_modules/ms": { + "node_modules/stream-replace-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/streamx": { - "version": "2.15.6", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", - "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", - "optional": true, - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==" }, "node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", @@ -7463,15 +7262,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/suf-log": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", @@ -7492,39 +7282,6 @@ "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "optional": true, - "dependencies": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "optional": true, - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -7563,9 +7320,9 @@ } }, "node_modules/tsconfck": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.0.tgz", - "integrity": "sha512-w3wnsIrJNi7avf4Zb0VjOoodoO0woEqGgZGQm+LHH9przdUI+XDKsWAXwxHA1DaRTjeuZNcregSzr7RaA8zG9A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.1.tgz", + "integrity": "sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==", "bin": { "tsconfck": "bin/tsconfck.js" }, @@ -7581,17 +7338,11 @@ } } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "optional": true }, "node_modules/type-fest": { "version": "2.19.0", @@ -7607,12 +7358,13 @@ "node_modules/typesafe-path": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", - "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==" + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "license": "MIT" }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7622,9 +7374,10 @@ } }, "node_modules/typescript-auto-import-cache": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.2.tgz", - "integrity": "sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.3.tgz", + "integrity": "sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==", + "license": "MIT", "dependencies": { "semver": "^7.3.8" } @@ -7636,19 +7389,10 @@ "optional": true, "peer": true }, - "node_modules/unherit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.1.tgz", - "integrity": "sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -7663,6 +7407,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-is": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", @@ -7676,11 +7433,11 @@ } }, "node_modules/unist-util-modify-children": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.1.tgz", - "integrity": "sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", "dependencies": { - "@types/unist": "^2.0.0", + "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" }, "funding": { @@ -7688,11 +7445,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-modify-children/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, "node_modules/unist-util-position": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", @@ -7705,6 +7457,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -7732,22 +7497,17 @@ } }, "node_modules/unist-util-visit-children": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.2.tgz", - "integrity": "sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", "dependencies": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit-children/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, "node_modules/unist-util-visit-parents": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", @@ -7762,9 +7522,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -7780,8 +7540,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -7796,9 +7556,9 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.2.tgz", + "integrity": "sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0", @@ -7836,15 +7596,17 @@ } }, "node_modules/volar-service-css": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.16.tgz", - "integrity": "sha512-gK/XD35t/P3SQrUuS8LMlCnE2ItIk+kXI6gPvBYl1NZ7O+tLH8rUWXA32YgpwNoITxYrm/G1seaq08zs4aiPvg==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.61.tgz", + "integrity": "sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==", + "license": "MIT", "dependencies": { - "vscode-css-languageservice": "^6.2.10", + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { - "@volar/language-service": "~1.10.0" + "@volar/language-service": "~2.4.0" }, "peerDependenciesMeta": { "@volar/language-service": { @@ -7853,15 +7615,18 @@ } }, "node_modules/volar-service-emmet": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.16.tgz", - "integrity": "sha512-8sWWywzVJOD+PWDArOXDWbiRlM7+peydFhXJT71i4X1WPW32RyPxn6FypvciO+amqpfZP2rXfB9eibIJ+EofSQ==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.61.tgz", + "integrity": "sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==", + "license": "MIT", "dependencies": { - "@vscode/emmet-helper": "^2.9.2", - "volar-service-html": "0.0.16" + "@emmetio/css-parser": "^0.4.0", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" }, "peerDependencies": { - "@volar/language-service": "~1.10.0" + "@volar/language-service": "~2.4.0" }, "peerDependenciesMeta": { "@volar/language-service": { @@ -7870,15 +7635,17 @@ } }, "node_modules/volar-service-html": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.16.tgz", - "integrity": "sha512-/oEXXgry++1CnTXQBUNf9B8MZfTlYZuJfZA7Zx9MN7WS4ZPxk3BFOdal/cXH6RNR2ruNEYr5QTW9rsqtoUscag==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.61.tgz", + "integrity": "sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==", + "license": "MIT", "dependencies": { - "vscode-html-languageservice": "^5.1.0", + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { - "@volar/language-service": "~1.10.0" + "@volar/language-service": "~2.4.0" }, "peerDependenciesMeta": { "@volar/language-service": { @@ -7887,11 +7654,15 @@ } }, "node_modules/volar-service-prettier": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.16.tgz", - "integrity": "sha512-Kj2ZdwJGEvfYbsHW8Sjrew/7EB4PgRoas4f8yAJzUUVxIC/kvhUwLDxQc8+N2IibomN76asJGWe+i6VZZvgIkw==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.61.tgz", + "integrity": "sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, "peerDependencies": { - "@volar/language-service": "~1.10.0", + "@volar/language-service": "~2.4.0", "prettier": "^2.2 || ^3.0" }, "peerDependenciesMeta": { @@ -7904,20 +7675,20 @@ } }, "node_modules/volar-service-typescript": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.16.tgz", - "integrity": "sha512-k/qFKM2oxs/3fhbr/vcBSHnCLZ1HN3Aeh+bGvV9Lc9qIhrNyCVsDFOUJN1Qp4dI72+Y+eFSIDCLHmFEZdsP2EA==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.61.tgz", + "integrity": "sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==", + "license": "MIT", "dependencies": { "path-browserify": "^1.0.1", - "semver": "^7.5.4", - "typescript-auto-import-cache": "^0.3.0", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.3", "vscode-languageserver-textdocument": "^1.0.11", "vscode-nls": "^5.2.0", "vscode-uri": "^3.0.8" }, "peerDependencies": { - "@volar/language-service": "~1.10.0", - "@volar/typescript": "~1.10.0" + "@volar/language-service": "~2.4.0" }, "peerDependenciesMeta": { "@volar/language-service": { @@ -7926,11 +7697,33 @@ } }, "node_modules/volar-service-typescript-twoslash-queries": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.16.tgz", - "integrity": "sha512-0gPrkDTD2bMj2AnSNykOKhfmPnBFE2LS1lF3LWA7qu1ChRnJF0sodwCCbbeNYJ9+yth956ApoU1BVQ8UrMg+yw==", + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.61.tgz", + "integrity": "sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, "peerDependencies": { - "@volar/language-service": "~1.10.0" + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.61.tgz", + "integrity": "sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.15.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" }, "peerDependenciesMeta": { "@volar/language-service": { @@ -7939,31 +7732,56 @@ } }, "node_modules/vscode-css-languageservice": { - "version": "6.2.11", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.11.tgz", - "integrity": "sha512-qn49Wa6K94LnizpVxmlYrcPf1Cb36gq1nNueW0COhi4shylXBzET5wuDbH8ZWQlJD0HM5Mmnn7WE9vQVVs+ULA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.0.tgz", + "integrity": "sha512-nU92imtkgzpCL0xikrIb8WvedV553F2BENzgz23wFuok/HLN5BeQmroMy26pUwFxV2eV8oNRmYCUv8iO7kSMhw==", + "license": "MIT", "dependencies": { - "@vscode/l10n": "^0.0.16", + "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.11", "vscode-languageserver-types": "3.17.5", "vscode-uri": "^3.0.8" } }, "node_modules/vscode-html-languageservice": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.1.tgz", - "integrity": "sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.3.0.tgz", + "integrity": "sha512-C4Z3KsP5Ih+fjHpiBc5jxmvCl+4iEwvXegIrzu2F5pktbWvQaBT3YkVPk8N+QlSSMk8oCG6PKtZ/Sq2YHb5e8g==", + "license": "MIT", "dependencies": { - "@vscode/l10n": "^0.0.16", + "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.11", "vscode-languageserver-types": "^3.17.5", "vscode-uri": "^3.0.8" } }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, "node_modules/vscode-jsonrpc": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -7972,6 +7790,7 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, @@ -7983,30 +7802,35 @@ "version": "3.17.5", "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" }, "node_modules/vscode-languageserver-types": { "version": "3.17.5", "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" }, "node_modules/vscode-nls": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", - "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "license": "MIT" }, "node_modules/vscode-uri": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", - "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" }, "node_modules/web-namespaces": { "version": "2.0.1", @@ -8032,15 +7856,14 @@ } }, "node_modules/which-pm": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.1.1.tgz", - "integrity": "sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.0.tgz", + "integrity": "sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==", "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" + "load-yaml-file": "^0.2.0" }, "engines": { - "node": ">=8.15" + "node": ">=18.12" } }, "node_modules/which-pm-runs": { @@ -8134,11 +7957,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrappy": { + "node_modules/xxhash-wasm": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "optional": true + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", + "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==" }, "node_modules/y18n": { "version": "5.0.8", @@ -8153,6 +7975,110 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yaml-language-server": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.15.0.tgz", + "integrity": "sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.0", + "lodash": "4.17.21", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2", + "yaml": "2.2.2" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + }, + "optionalDependencies": { + "prettier": "2.8.7" + } + }, + "node_modules/yaml-language-server/node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "license": "MIT", + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -8216,9 +8142,9 @@ } }, "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "engines": { "node": ">=12.20" }, @@ -8227,13 +8153,30 @@ } }, "node_modules/zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/zod-to-json-schema": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz", + "integrity": "sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==", + "peerDependencies": { + "zod": "^3.23.3" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/package.json b/package.json index 4a17fe2..0420254 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fgo-ta-com-website", "type": "module", - "version": "0.1.10", + "version": "0.2.2-pre.22", "scripts": { "dev": "astro dev", "start": "astro dev", @@ -10,14 +10,16 @@ "astro": "astro" }, "dependencies": { - "@astro-community/astro-embed-youtube": "^0.4.3", - "@astrojs/check": "^0.3.4", - "@astrojs/sitemap": "^3.0.3", - "astro": "^4.0.7", - "autoprefixer": "^10.4.16", - "iconoir": "^7.3.0", - "postcss-preset-env": "^9.3.0", - "typescript": "^5.3.3" + "@astro-community/astro-embed-youtube": "^0.5.2", + "@astrojs/check": "^0.9.3", + "@astrojs/sitemap": "^3.1.6", + "@fontsource/work-sans": "^5.0.18", + "astro": "^4.14.3", + "astro-meta-tags": "^0.3.0", + "autoprefixer": "^10.4.19", + "iconoir": "^7.7.0", + "postcss-preset-env": "^9.6.0", + "typescript": "^5.5.3" }, "browserslist": [ "last 2 versions", diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..5fd8746 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,13 @@ +module.exports = { + plugins: { + "postcss-preset-env": { + autoprefixer: { flexbox: "no-2009" }, + stage: 2, + features: { + "custom-properties": false, + "custom-media-queries": true, + "nesting-rules": true + } + } + } +}; \ No newline at end of file diff --git a/static/favicon.ico b/public/favicon.ico similarity index 100% rename from static/favicon.ico rename to public/favicon.ico diff --git a/static/robots.txt b/public/robots.txt similarity index 60% rename from static/robots.txt rename to public/robots.txt index e8f9e75..5d991bc 100644 --- a/static/robots.txt +++ b/public/robots.txt @@ -4,4 +4,4 @@ Disallow: /assets/data/ User-agent: GPTBot Disallow: / -Sitemap: https://firq.dev/sitemap-index.xml \ No newline at end of file +Sitemap: https://fgo-ta.com/sitemap-index.xml \ No newline at end of file diff --git a/serve.json b/serve.json index eb10f13..4b422d7 100644 --- a/serve.json +++ b/serve.json @@ -12,6 +12,15 @@ } ] }, + { + "source": "**/*.woff2", + "headers": [ + { + "key": "Cache-Control", + "value": "no-cache" + } + ] + }, { "source": "404.html", "headers": [ diff --git a/src/assets/lizsad.png b/src/assets/lizsad.png new file mode 100644 index 0000000..4401324 Binary files /dev/null and b/src/assets/lizsad.png differ diff --git a/src/assets/shishousad.webp b/src/assets/shishousad.webp new file mode 100644 index 0000000..41bb76d Binary files /dev/null and b/src/assets/shishousad.webp differ diff --git a/src/assets/ta_servants/jalter.png b/src/assets/ta_servants/106.png similarity index 100% rename from src/assets/ta_servants/jalter.png rename to src/assets/ta_servants/106.png diff --git a/src/assets/ta_servants/11.png b/src/assets/ta_servants/11.png new file mode 100644 index 0000000..ee2ca96 Binary files /dev/null and b/src/assets/ta_servants/11.png differ diff --git a/src/assets/ta_servants/113.png b/src/assets/ta_servants/113.png new file mode 100644 index 0000000..0369e96 Binary files /dev/null and b/src/assets/ta_servants/113.png differ diff --git a/src/assets/ta_servants/115.png b/src/assets/ta_servants/115.png new file mode 100644 index 0000000..c8ab566 Binary files /dev/null and b/src/assets/ta_servants/115.png differ diff --git a/src/assets/ta_servants/118.png b/src/assets/ta_servants/118.png new file mode 100644 index 0000000..457fca3 Binary files /dev/null and b/src/assets/ta_servants/118.png differ diff --git a/src/assets/ta_servants/12.png b/src/assets/ta_servants/12.png new file mode 100644 index 0000000..b62a43f Binary files /dev/null and b/src/assets/ta_servants/12.png differ diff --git a/src/assets/ta_servants/126.png b/src/assets/ta_servants/126.png new file mode 100644 index 0000000..a79c204 Binary files /dev/null and b/src/assets/ta_servants/126.png differ diff --git a/src/assets/ta_servants/128.png b/src/assets/ta_servants/128.png new file mode 100644 index 0000000..c7bfa87 Binary files /dev/null and b/src/assets/ta_servants/128.png differ diff --git a/src/assets/ta_servants/133.png b/src/assets/ta_servants/133.png new file mode 100644 index 0000000..95cc502 Binary files /dev/null and b/src/assets/ta_servants/133.png differ diff --git a/src/assets/ta_servants/134.png b/src/assets/ta_servants/134.png new file mode 100644 index 0000000..2c7fd05 Binary files /dev/null and b/src/assets/ta_servants/134.png differ diff --git a/src/assets/ta_servants/136.png b/src/assets/ta_servants/136.png new file mode 100644 index 0000000..0993d84 Binary files /dev/null and b/src/assets/ta_servants/136.png differ diff --git a/src/assets/ta_servants/139.png b/src/assets/ta_servants/139.png new file mode 100644 index 0000000..77deafa Binary files /dev/null and b/src/assets/ta_servants/139.png differ diff --git a/src/assets/ta_servants/141.png b/src/assets/ta_servants/141.png new file mode 100644 index 0000000..843c097 Binary files /dev/null and b/src/assets/ta_servants/141.png differ diff --git a/src/assets/ta_servants/142.png b/src/assets/ta_servants/142.png new file mode 100644 index 0000000..cd4dc61 Binary files /dev/null and b/src/assets/ta_servants/142.png differ diff --git a/src/assets/ta_servants/143.png b/src/assets/ta_servants/143.png new file mode 100644 index 0000000..10b36f6 Binary files /dev/null and b/src/assets/ta_servants/143.png differ diff --git a/src/assets/ta_servants/145.png b/src/assets/ta_servants/145.png new file mode 100644 index 0000000..38eaa48 Binary files /dev/null and b/src/assets/ta_servants/145.png differ diff --git a/src/assets/ta_servants/148.png b/src/assets/ta_servants/148.png new file mode 100644 index 0000000..ddb66ff Binary files /dev/null and b/src/assets/ta_servants/148.png differ diff --git a/src/assets/ta_servants/150.png b/src/assets/ta_servants/150.png new file mode 100644 index 0000000..ba25882 Binary files /dev/null and b/src/assets/ta_servants/150.png differ diff --git a/src/assets/ta_servants/153.png b/src/assets/ta_servants/153.png new file mode 100644 index 0000000..0166148 Binary files /dev/null and b/src/assets/ta_servants/153.png differ diff --git a/src/assets/ta_servants/155.png b/src/assets/ta_servants/155.png new file mode 100644 index 0000000..5396d46 Binary files /dev/null and b/src/assets/ta_servants/155.png differ diff --git a/src/assets/ta_servants/16.png b/src/assets/ta_servants/16.png new file mode 100644 index 0000000..7c0ab54 Binary files /dev/null and b/src/assets/ta_servants/16.png differ diff --git a/src/assets/ta_servants/melt.png b/src/assets/ta_servants/163.png similarity index 100% rename from src/assets/ta_servants/melt.png rename to src/assets/ta_servants/163.png diff --git a/src/assets/ta_servants/165.png b/src/assets/ta_servants/165.png new file mode 100644 index 0000000..2967a38 Binary files /dev/null and b/src/assets/ta_servants/165.png differ diff --git a/src/assets/ta_servants/167.png b/src/assets/ta_servants/167.png new file mode 100644 index 0000000..6bd7753 Binary files /dev/null and b/src/assets/ta_servants/167.png differ diff --git a/src/assets/ta_servants/175.png b/src/assets/ta_servants/175.png new file mode 100644 index 0000000..a194918 Binary files /dev/null and b/src/assets/ta_servants/175.png differ diff --git a/src/assets/ta_servants/182.png b/src/assets/ta_servants/182.png new file mode 100644 index 0000000..c363e1d Binary files /dev/null and b/src/assets/ta_servants/182.png differ diff --git a/src/assets/ta_servants/195.png b/src/assets/ta_servants/195.png new file mode 100644 index 0000000..126f7b2 Binary files /dev/null and b/src/assets/ta_servants/195.png differ diff --git a/src/assets/ta_servants/196.png b/src/assets/ta_servants/196.png new file mode 100644 index 0000000..19a4f2a Binary files /dev/null and b/src/assets/ta_servants/196.png differ diff --git a/src/assets/ta_servants/198.png b/src/assets/ta_servants/198.png new file mode 100644 index 0000000..055e5af Binary files /dev/null and b/src/assets/ta_servants/198.png differ diff --git a/src/assets/ta_servants/2.png b/src/assets/ta_servants/2.png new file mode 100644 index 0000000..8bc4482 Binary files /dev/null and b/src/assets/ta_servants/2.png differ diff --git a/src/assets/ta_servants/200.png b/src/assets/ta_servants/200.png new file mode 100644 index 0000000..cbe7c1f Binary files /dev/null and b/src/assets/ta_servants/200.png differ diff --git a/src/assets/ta_servants/201.png b/src/assets/ta_servants/201.png new file mode 100644 index 0000000..752e206 Binary files /dev/null and b/src/assets/ta_servants/201.png differ diff --git a/src/assets/ta_servants/205.png b/src/assets/ta_servants/205.png new file mode 100644 index 0000000..61ae19d Binary files /dev/null and b/src/assets/ta_servants/205.png differ diff --git a/src/assets/ta_servants/209.png b/src/assets/ta_servants/209.png new file mode 100644 index 0000000..91505e1 Binary files /dev/null and b/src/assets/ta_servants/209.png differ diff --git a/src/assets/ta_servants/213.png b/src/assets/ta_servants/213.png new file mode 100644 index 0000000..f2284f1 Binary files /dev/null and b/src/assets/ta_servants/213.png differ diff --git a/src/assets/ta_servants/215.png b/src/assets/ta_servants/215.png new file mode 100644 index 0000000..915d2a2 Binary files /dev/null and b/src/assets/ta_servants/215.png differ diff --git a/src/assets/ta_servants/216.png b/src/assets/ta_servants/216.png new file mode 100644 index 0000000..950ee44 Binary files /dev/null and b/src/assets/ta_servants/216.png differ diff --git a/src/assets/ta_servants/219.png b/src/assets/ta_servants/219.png new file mode 100644 index 0000000..1893dfa Binary files /dev/null and b/src/assets/ta_servants/219.png differ diff --git a/src/assets/ta_servants/220.png b/src/assets/ta_servants/220.png new file mode 100644 index 0000000..e999124 Binary files /dev/null and b/src/assets/ta_servants/220.png differ diff --git a/src/assets/ta_servants/223.png b/src/assets/ta_servants/223.png new file mode 100644 index 0000000..750aa38 Binary files /dev/null and b/src/assets/ta_servants/223.png differ diff --git a/src/assets/ta_servants/224.png b/src/assets/ta_servants/224.png new file mode 100644 index 0000000..3726ca1 Binary files /dev/null and b/src/assets/ta_servants/224.png differ diff --git a/src/assets/ta_servants/225.png b/src/assets/ta_servants/225.png new file mode 100644 index 0000000..1956677 Binary files /dev/null and b/src/assets/ta_servants/225.png differ diff --git a/src/assets/ta_servants/226.png b/src/assets/ta_servants/226.png new file mode 100644 index 0000000..35b9a22 Binary files /dev/null and b/src/assets/ta_servants/226.png differ diff --git a/src/assets/ta_servants/231.png b/src/assets/ta_servants/231.png new file mode 100644 index 0000000..c7bb35e Binary files /dev/null and b/src/assets/ta_servants/231.png differ diff --git a/src/assets/ta_servants/232.png b/src/assets/ta_servants/232.png new file mode 100644 index 0000000..8ba56d2 Binary files /dev/null and b/src/assets/ta_servants/232.png differ diff --git a/src/assets/ta_servants/234.png b/src/assets/ta_servants/234.png new file mode 100644 index 0000000..785de5c Binary files /dev/null and b/src/assets/ta_servants/234.png differ diff --git a/src/assets/ta_servants/235.png b/src/assets/ta_servants/235.png new file mode 100644 index 0000000..f9642e3 Binary files /dev/null and b/src/assets/ta_servants/235.png differ diff --git a/src/assets/ta_servants/238.png b/src/assets/ta_servants/238.png new file mode 100644 index 0000000..2460563 Binary files /dev/null and b/src/assets/ta_servants/238.png differ diff --git a/src/assets/ta_servants/239.png b/src/assets/ta_servants/239.png new file mode 100644 index 0000000..8b74e9c Binary files /dev/null and b/src/assets/ta_servants/239.png differ diff --git a/src/assets/ta_servants/astrea.png b/src/assets/ta_servants/242.png similarity index 100% rename from src/assets/ta_servants/astrea.png rename to src/assets/ta_servants/242.png diff --git a/src/assets/ta_servants/247.png b/src/assets/ta_servants/247.png new file mode 100644 index 0000000..89d41e7 Binary files /dev/null and b/src/assets/ta_servants/247.png differ diff --git a/src/assets/ta_servants/250.png b/src/assets/ta_servants/250.png new file mode 100644 index 0000000..666e89b Binary files /dev/null and b/src/assets/ta_servants/250.png differ diff --git a/src/assets/ta_servants/252.png b/src/assets/ta_servants/252.png new file mode 100644 index 0000000..071bf02 Binary files /dev/null and b/src/assets/ta_servants/252.png differ diff --git a/src/assets/ta_servants/253.png b/src/assets/ta_servants/253.png new file mode 100644 index 0000000..151d00a Binary files /dev/null and b/src/assets/ta_servants/253.png differ diff --git a/src/assets/ta_servants/gong.png b/src/assets/ta_servants/258.png similarity index 100% rename from src/assets/ta_servants/gong.png rename to src/assets/ta_servants/258.png diff --git a/src/assets/ta_servants/charlotte.png b/src/assets/ta_servants/259.png similarity index 100% rename from src/assets/ta_servants/charlotte.png rename to src/assets/ta_servants/259.png diff --git a/src/assets/ta_servants/261.png b/src/assets/ta_servants/261.png new file mode 100644 index 0000000..e3d7c02 Binary files /dev/null and b/src/assets/ta_servants/261.png differ diff --git a/src/assets/ta_servants/264.png b/src/assets/ta_servants/264.png new file mode 100644 index 0000000..7e57b53 Binary files /dev/null and b/src/assets/ta_servants/264.png differ diff --git a/src/assets/ta_servants/266.png b/src/assets/ta_servants/266.png new file mode 100644 index 0000000..49658c6 Binary files /dev/null and b/src/assets/ta_servants/266.png differ diff --git a/src/assets/ta_servants/268.png b/src/assets/ta_servants/268.png new file mode 100644 index 0000000..1134e1c Binary files /dev/null and b/src/assets/ta_servants/268.png differ diff --git a/src/assets/ta_servants/275.png b/src/assets/ta_servants/275.png new file mode 100644 index 0000000..c83fecd Binary files /dev/null and b/src/assets/ta_servants/275.png differ diff --git a/src/assets/ta_servants/276.png b/src/assets/ta_servants/276.png new file mode 100644 index 0000000..1360f4e Binary files /dev/null and b/src/assets/ta_servants/276.png differ diff --git a/src/assets/ta_servants/277.png b/src/assets/ta_servants/277.png new file mode 100644 index 0000000..353f84b Binary files /dev/null and b/src/assets/ta_servants/277.png differ diff --git a/src/assets/ta_servants/278.png b/src/assets/ta_servants/278.png new file mode 100644 index 0000000..d4ddf90 Binary files /dev/null and b/src/assets/ta_servants/278.png differ diff --git a/src/assets/ta_servants/280.png b/src/assets/ta_servants/280.png new file mode 100644 index 0000000..2fb27b6 Binary files /dev/null and b/src/assets/ta_servants/280.png differ diff --git a/src/assets/ta_servants/281.png b/src/assets/ta_servants/281.png new file mode 100644 index 0000000..d2cb6a1 Binary files /dev/null and b/src/assets/ta_servants/281.png differ diff --git a/src/assets/ta_servants/koyo.png b/src/assets/ta_servants/282.png similarity index 100% rename from src/assets/ta_servants/koyo.png rename to src/assets/ta_servants/282.png diff --git a/src/assets/ta_servants/284.png b/src/assets/ta_servants/284.png new file mode 100644 index 0000000..3961d7c Binary files /dev/null and b/src/assets/ta_servants/284.png differ diff --git a/src/assets/ta_servants/285.png b/src/assets/ta_servants/285.png new file mode 100644 index 0000000..30e11f4 Binary files /dev/null and b/src/assets/ta_servants/285.png differ diff --git a/src/assets/ta_servants/286.png b/src/assets/ta_servants/286.png new file mode 100644 index 0000000..3d95c52 Binary files /dev/null and b/src/assets/ta_servants/286.png differ diff --git a/src/assets/ta_servants/288.png b/src/assets/ta_servants/288.png new file mode 100644 index 0000000..09292ee Binary files /dev/null and b/src/assets/ta_servants/288.png differ diff --git a/src/assets/ta_servants/293.png b/src/assets/ta_servants/293.png new file mode 100644 index 0000000..614c51a Binary files /dev/null and b/src/assets/ta_servants/293.png differ diff --git a/src/assets/ta_servants/295.png b/src/assets/ta_servants/295.png new file mode 100644 index 0000000..3d79402 Binary files /dev/null and b/src/assets/ta_servants/295.png differ diff --git a/src/assets/ta_servants/297.png b/src/assets/ta_servants/297.png new file mode 100644 index 0000000..e66904a Binary files /dev/null and b/src/assets/ta_servants/297.png differ diff --git a/src/assets/ta_servants/299.png b/src/assets/ta_servants/299.png new file mode 100644 index 0000000..93c1e5e Binary files /dev/null and b/src/assets/ta_servants/299.png differ diff --git a/src/assets/ta_servants/3.png b/src/assets/ta_servants/3.png new file mode 100644 index 0000000..8266292 Binary files /dev/null and b/src/assets/ta_servants/3.png differ diff --git a/src/assets/ta_servants/300.png b/src/assets/ta_servants/300.png new file mode 100644 index 0000000..0f767a4 Binary files /dev/null and b/src/assets/ta_servants/300.png differ diff --git a/src/assets/ta_servants/302.png b/src/assets/ta_servants/302.png new file mode 100644 index 0000000..3985532 Binary files /dev/null and b/src/assets/ta_servants/302.png differ diff --git a/src/assets/ta_servants/303.png b/src/assets/ta_servants/303.png new file mode 100644 index 0000000..4731883 Binary files /dev/null and b/src/assets/ta_servants/303.png differ diff --git a/src/assets/ta_servants/305.png b/src/assets/ta_servants/305.png new file mode 100644 index 0000000..5f84cc4 Binary files /dev/null and b/src/assets/ta_servants/305.png differ diff --git a/src/assets/ta_servants/306.png b/src/assets/ta_servants/306.png new file mode 100644 index 0000000..7cd98eb Binary files /dev/null and b/src/assets/ta_servants/306.png differ diff --git a/src/assets/ta_servants/307.png b/src/assets/ta_servants/307.png new file mode 100644 index 0000000..c4efd35 Binary files /dev/null and b/src/assets/ta_servants/307.png differ diff --git a/src/assets/ta_servants/308.png b/src/assets/ta_servants/308.png new file mode 100644 index 0000000..496b05f Binary files /dev/null and b/src/assets/ta_servants/308.png differ diff --git a/src/assets/ta_servants/309.png b/src/assets/ta_servants/309.png new file mode 100644 index 0000000..395635d Binary files /dev/null and b/src/assets/ta_servants/309.png differ diff --git a/src/assets/ta_servants/310.png b/src/assets/ta_servants/310.png new file mode 100644 index 0000000..e37fdd6 Binary files /dev/null and b/src/assets/ta_servants/310.png differ diff --git a/src/assets/ta_servants/311.png b/src/assets/ta_servants/311.png new file mode 100644 index 0000000..7970c11 Binary files /dev/null and b/src/assets/ta_servants/311.png differ diff --git a/src/assets/ta_servants/312_aoe.png b/src/assets/ta_servants/312_aoe.png new file mode 100644 index 0000000..8573acf Binary files /dev/null and b/src/assets/ta_servants/312_aoe.png differ diff --git a/src/assets/ta_servants/312_st.png b/src/assets/ta_servants/312_st.png new file mode 100644 index 0000000..6f8288a Binary files /dev/null and b/src/assets/ta_servants/312_st.png differ diff --git a/src/assets/ta_servants/313.png b/src/assets/ta_servants/313.png new file mode 100644 index 0000000..35dd541 Binary files /dev/null and b/src/assets/ta_servants/313.png differ diff --git a/src/assets/ta_servants/314.png b/src/assets/ta_servants/314.png new file mode 100644 index 0000000..36bfc8f Binary files /dev/null and b/src/assets/ta_servants/314.png differ diff --git a/src/assets/ta_servants/317.png b/src/assets/ta_servants/317.png new file mode 100644 index 0000000..9b44557 Binary files /dev/null and b/src/assets/ta_servants/317.png differ diff --git a/src/assets/ta_servants/319.png b/src/assets/ta_servants/319.png new file mode 100644 index 0000000..df552af Binary files /dev/null and b/src/assets/ta_servants/319.png differ diff --git a/src/assets/ta_servants/320.png b/src/assets/ta_servants/320.png new file mode 100644 index 0000000..429805a Binary files /dev/null and b/src/assets/ta_servants/320.png differ diff --git a/src/assets/ta_servants/321.png b/src/assets/ta_servants/321.png new file mode 100644 index 0000000..6d36914 Binary files /dev/null and b/src/assets/ta_servants/321.png differ diff --git a/src/assets/ta_servants/322.png b/src/assets/ta_servants/322.png new file mode 100644 index 0000000..49fb45d Binary files /dev/null and b/src/assets/ta_servants/322.png differ diff --git a/src/assets/ta_servants/323.png b/src/assets/ta_servants/323.png new file mode 100644 index 0000000..e45c33c Binary files /dev/null and b/src/assets/ta_servants/323.png differ diff --git a/src/assets/ta_servants/325.png b/src/assets/ta_servants/325.png new file mode 100644 index 0000000..d37e003 Binary files /dev/null and b/src/assets/ta_servants/325.png differ diff --git a/src/assets/ta_servants/326.png b/src/assets/ta_servants/326.png new file mode 100644 index 0000000..3c6d279 Binary files /dev/null and b/src/assets/ta_servants/326.png differ diff --git a/src/assets/ta_servants/327.png b/src/assets/ta_servants/327.png new file mode 100644 index 0000000..0cf0df2 Binary files /dev/null and b/src/assets/ta_servants/327.png differ diff --git a/src/assets/ta_servants/329.png b/src/assets/ta_servants/329.png new file mode 100644 index 0000000..c0c86d1 Binary files /dev/null and b/src/assets/ta_servants/329.png differ diff --git a/src/assets/ta_servants/33.png b/src/assets/ta_servants/33.png new file mode 100644 index 0000000..bad7673 Binary files /dev/null and b/src/assets/ta_servants/33.png differ diff --git a/src/assets/ta_servants/331.png b/src/assets/ta_servants/331.png new file mode 100644 index 0000000..6aa244e Binary files /dev/null and b/src/assets/ta_servants/331.png differ diff --git a/src/assets/ta_servants/334.png b/src/assets/ta_servants/334.png new file mode 100644 index 0000000..8e3dc1c Binary files /dev/null and b/src/assets/ta_servants/334.png differ diff --git a/src/assets/ta_servants/336.png b/src/assets/ta_servants/336.png new file mode 100644 index 0000000..b592c59 Binary files /dev/null and b/src/assets/ta_servants/336.png differ diff --git a/src/assets/ta_servants/338.png b/src/assets/ta_servants/338.png new file mode 100644 index 0000000..ffd792a Binary files /dev/null and b/src/assets/ta_servants/338.png differ diff --git a/src/assets/ta_servants/340.png b/src/assets/ta_servants/340.png new file mode 100644 index 0000000..63b9e36 Binary files /dev/null and b/src/assets/ta_servants/340.png differ diff --git a/src/assets/ta_servants/348.png b/src/assets/ta_servants/348.png new file mode 100644 index 0000000..3d1f76f Binary files /dev/null and b/src/assets/ta_servants/348.png differ diff --git a/src/assets/ta_servants/350.png b/src/assets/ta_servants/350.png new file mode 100644 index 0000000..b05ef3a Binary files /dev/null and b/src/assets/ta_servants/350.png differ diff --git a/src/assets/ta_servants/351.png b/src/assets/ta_servants/351.png new file mode 100644 index 0000000..7f5dff2 Binary files /dev/null and b/src/assets/ta_servants/351.png differ diff --git a/src/assets/ta_servants/355.png b/src/assets/ta_servants/355.png new file mode 100644 index 0000000..f46378c Binary files /dev/null and b/src/assets/ta_servants/355.png differ diff --git a/src/assets/ta_servants/357.png b/src/assets/ta_servants/357.png new file mode 100644 index 0000000..2039468 Binary files /dev/null and b/src/assets/ta_servants/357.png differ diff --git a/src/assets/ta_servants/38.png b/src/assets/ta_servants/38.png new file mode 100644 index 0000000..74580cb Binary files /dev/null and b/src/assets/ta_servants/38.png differ diff --git a/src/assets/ta_servants/39.png b/src/assets/ta_servants/39.png new file mode 100644 index 0000000..2a635fe Binary files /dev/null and b/src/assets/ta_servants/39.png differ diff --git a/src/assets/ta_servants/4.png b/src/assets/ta_servants/4.png new file mode 100644 index 0000000..8fc615f Binary files /dev/null and b/src/assets/ta_servants/4.png differ diff --git a/src/assets/ta_servants/41.png b/src/assets/ta_servants/41.png new file mode 100644 index 0000000..2b51d71 Binary files /dev/null and b/src/assets/ta_servants/41.png differ diff --git a/src/assets/ta_servants/5.png b/src/assets/ta_servants/5.png new file mode 100644 index 0000000..4edf94e Binary files /dev/null and b/src/assets/ta_servants/5.png differ diff --git a/src/assets/ta_servants/51.png b/src/assets/ta_servants/51.png new file mode 100644 index 0000000..582b2e6 Binary files /dev/null and b/src/assets/ta_servants/51.png differ diff --git a/src/assets/ta_servants/55.png b/src/assets/ta_servants/55.png new file mode 100644 index 0000000..16e2696 Binary files /dev/null and b/src/assets/ta_servants/55.png differ diff --git a/src/assets/ta_servants/58.png b/src/assets/ta_servants/58.png new file mode 100644 index 0000000..e68596c Binary files /dev/null and b/src/assets/ta_servants/58.png differ diff --git a/src/assets/ta_servants/6.png b/src/assets/ta_servants/6.png new file mode 100644 index 0000000..53ec41c Binary files /dev/null and b/src/assets/ta_servants/6.png differ diff --git a/src/assets/ta_servants/62.png b/src/assets/ta_servants/62.png new file mode 100644 index 0000000..9f3b112 Binary files /dev/null and b/src/assets/ta_servants/62.png differ diff --git a/src/assets/ta_servants/65.png b/src/assets/ta_servants/65.png new file mode 100644 index 0000000..dd64533 Binary files /dev/null and b/src/assets/ta_servants/65.png differ diff --git a/src/assets/ta_servants/68.png b/src/assets/ta_servants/68.png new file mode 100644 index 0000000..a3af138 Binary files /dev/null and b/src/assets/ta_servants/68.png differ diff --git a/src/assets/ta_servants/shishou.png b/src/assets/ta_servants/70.png similarity index 100% rename from src/assets/ta_servants/shishou.png rename to src/assets/ta_servants/70.png diff --git a/src/assets/ta_servants/70_bunny.png b/src/assets/ta_servants/70_bunny.png new file mode 100644 index 0000000..bc196ed Binary files /dev/null and b/src/assets/ta_servants/70_bunny.png differ diff --git a/src/assets/ta_servants/altera.png b/src/assets/ta_servants/8.png similarity index 100% rename from src/assets/ta_servants/altera.png rename to src/assets/ta_servants/8.png diff --git a/src/assets/ta_servants/81.png b/src/assets/ta_servants/81.png new file mode 100644 index 0000000..6af150a Binary files /dev/null and b/src/assets/ta_servants/81.png differ diff --git a/src/assets/ta_servants/85.png b/src/assets/ta_servants/85.png new file mode 100644 index 0000000..f221c05 Binary files /dev/null and b/src/assets/ta_servants/85.png differ diff --git a/src/assets/ta_servants/86.png b/src/assets/ta_servants/86.png new file mode 100644 index 0000000..59891e3 Binary files /dev/null and b/src/assets/ta_servants/86.png differ diff --git a/src/assets/ta_servants/88.png b/src/assets/ta_servants/88.png new file mode 100644 index 0000000..73bedac Binary files /dev/null and b/src/assets/ta_servants/88.png differ diff --git a/src/assets/ta_servants/90.png b/src/assets/ta_servants/90.png new file mode 100644 index 0000000..79e8c3d Binary files /dev/null and b/src/assets/ta_servants/90.png differ diff --git a/src/assets/ta_servants/93.png b/src/assets/ta_servants/93.png new file mode 100644 index 0000000..684b0c3 Binary files /dev/null and b/src/assets/ta_servants/93.png differ diff --git a/src/assets/ta_servants/96.png b/src/assets/ta_servants/96.png new file mode 100644 index 0000000..66a42a0 Binary files /dev/null and b/src/assets/ta_servants/96.png differ diff --git a/src/assets/ta_servants/98.png b/src/assets/ta_servants/98.png new file mode 100644 index 0000000..7b5572f Binary files /dev/null and b/src/assets/ta_servants/98.png differ diff --git a/src/components/Card.astro b/src/components/Card.astro deleted file mode 100644 index 251d6e8..0000000 --- a/src/components/Card.astro +++ /dev/null @@ -1,65 +0,0 @@ ---- -interface Props { - title: string - body: string - href: string -} - -const { href, title, body } = Astro.props ---- - -<li class="link-card"> - <a href={href}> - <h2> - {title} - <span>→</span> - </h2> - <p> - {body} - </p> - </a> -</li> -<style> - .link-card { - list-style: none; - display: flex; - padding: 0.25rem; - background-color: white; - background-image: none; - background-size: 400%; - border-radius: 0.6rem; - background-position: 100%; - transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1); - box-shadow: - 0 4px 6px -1px rgba(0, 0, 0, 0.1), - 0 2px 4px -2px rgba(0, 0, 0, 0.1); - } - - .link-card > a { - width: 100%; - text-decoration: none; - line-height: 1.4; - padding: 1rem 1.3rem; - border-radius: 0.35rem; - color: #111; - background-color: white; - opacity: 0.8; - } - h2 { - margin: 0; - font-size: 1.25rem; - transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1); - } - p { - margin-top: 0.5rem; - margin-bottom: 0; - color: #444; - } - .link-card:is(:hover, :focus-within) { - background-position: 0; - background-image: var(--accent-gradient); - } - .link-card:is(:hover, :focus-within) h2 { - color: rgb(var(--accent)); - } -</style> diff --git a/src/components/genericHero.astro b/src/components/genericHero.astro new file mode 100644 index 0000000..190949f --- /dev/null +++ b/src/components/genericHero.astro @@ -0,0 +1,32 @@ +--- +export interface Props { + text: string +} +const { text } = Astro.props +--- + +<div> + {text} +</div> + +<style> + div { + display: flex; + width: 100%; + max-height: auto; + background-color: var(--c-duskgray); + text-align: center; + justify-content: center; + color: white; + font-size: 2.75rem; + letter-spacing: 0.075em; + padding: 2rem 0rem; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-weight: bolder; + } + @media (min-width: 900px) { + div { + font-size: 4.5rem; + } + } +</style> diff --git a/src/components/hero.astro b/src/components/hero.astro index 4198bdc..e81458a 100644 --- a/src/components/hero.astro +++ b/src/components/hero.astro @@ -1,44 +1,47 @@ --- import packagejson from '../../package.json' +export interface Props { + fadeout?: boolean +} +const { fadeout } = Astro.props +const display = fadeout ? "": "display: none" + const version = packagejson.version const release = `https://forgejo.neshweb.net/Firq/fgo-ta-com-website/releases/tag/${version}` --- <div> <span> - This site is a WIP project by Firq. - <br /> - In the future, it will be used to catalogue information around FGO TA and the - game in general. + This site is a project by Firq. <br /> <a href="https://firq.dev" target="_blank" rel="noopener noreferrer" - >Feel free to check out my own site.</a + >Feel free to check out my personal site.</a > <br /> <span class="version" - >( Website version: <a + >Website version: <a href={release} target="_blank" rel="noopener noreferrer">{version}</a - > )</span + ></span > </span> - <slot /> + <div class="fade" style={display}></div> </div> <style> div { display: flex; width: 100%; - max-height: auto; - background-color: var(--c-duskgray); + flex-wrap: nowrap; + flex-flow: column; + background-color: var(--c-darkergray); text-align: center; align-items: center; justify-content: center; color: white; font-size: 1.5em; - padding: 2rem 0rem; - margin-top: 7.5rem; + padding: 2rem 0rem 0rem 0rem; } a { text-align: center; @@ -46,7 +49,14 @@ const release = `https://forgejo.neshweb.net/Firq/fgo-ta-com-website/releases/ta color: var(--c-darkpurple); } + .fade { + margin-top: 3rem; + background: linear-gradient(to bottom, transparent, var(--c-lightgray)); + height: 2.5rem; + width: 100%; + } + .version { - font-size: 0.7em; + font-size: 0.65em; } </style> diff --git a/src/components/listings/eventListingLine.astro b/src/components/listings/eventListingLine.astro new file mode 100644 index 0000000..a538be4 --- /dev/null +++ b/src/components/listings/eventListingLine.astro @@ -0,0 +1,121 @@ +--- +export interface Props { + title: string + releaseDate: Date + shortdescription: string + link: string, + hlcolor: string, +} + +const options_date: Intl.DateTimeFormatOptions = { + year: 'numeric', + month: 'long', + day: '2-digit', +} + +const { releaseDate, title, link, hlcolor } = Astro.props +const render_date = releaseDate.toLocaleDateString('en-GB', options_date) +--- + +<a href={link} target="_blank" rel="noopener noreferrer"> + <div class="circle"></div> + <article> + <h2>{title}</h2> + <h3>{render_date}</h3> + <!-- <p>{shortdescription}</p> --> + </article> +</a> + +<style define:vars={{ hlcolor }}> + .circle { + display: none; + } + + a { + align-items: center; + justify-content: center; + display: flex; + text-decoration: none; + height: fit-content; + margin: 0px 0.5rem; + width: 100%; + } + p { + color: white; + text-align: left; + font-size: 1em; + margin: 0px 0.5em; + } + article > h2 { + margin: 0px 0.5rem; + color: var(--hlcolor); + font-size: 1.2rem; + line-height: normal; + text-decoration: none; + } + article > h3 { + margin: 0px 0.5rem; + color: white; + font-size: 1rem; + line-height: normal; + text-decoration: none; + } + article { + display: flex; + flex: 1; + flex-wrap: wrap; + flex-direction: column; + align-items: center; + align-content: center; + justify-content: center; + background: var(--c-duskgray); /* linear-gradient(175deg, var(--c-duskgray), var(--c-duskgray), var(--c-duskgray), var(--hlcolor)); */ + padding: 10px; + text-align: center; + transition: transform var(--speed) var(--ease); + min-height: 100%; + border-radius: 1.25rem; + border-style: solid; + border-width: 2px; + border-color: var(--c-darkergray); + } + + a:hover > article { + transform: scaleY(102.5%) scaleX(101%); + transition: transform var(--speed) var(--ease); + } + + @media (min-width: 900px) { + .circle { + margin: 1rem 0.5rem 1rem 0.5rem; + position: relative; + display: flex; + visibility: visible; + height: 1rem; + width: 1rem; + background-color: var(--c-darkpurple); + border-style: solid; + border-width: 0.25rem; + border-color: var(--c-lightgray); + border-radius: 40%; + transition: transform var(--speed) var(--ease); + } + + a:hover > .circle { + height: 1.25rem; + width: 1.25rem; + translate: -0.125rem; + margin-right: 4px; + } + + a:hover article { + border-color: var(--hlcolor); + transform: none; + } + + article { + align-items: flex-start; + align-content: flex-start; + margin-left: 0.5rem; + } + } +</style> diff --git a/src/components/listings/questListingCard.astro b/src/components/listings/questListingCard.astro new file mode 100644 index 0000000..b31f660 --- /dev/null +++ b/src/components/listings/questListingCard.astro @@ -0,0 +1,149 @@ +--- +export interface Props { + baseurl: string + slug: string + title: string + releaseDate: Date + shortdescription: string +} + +const options_date: Intl.DateTimeFormatOptions = { + year: 'numeric', + month: 'long', + day: '2-digit', +} + +const { shortdescription, releaseDate, slug, title, baseurl } = Astro.props +const url = `/${baseurl}/${slug}` +const render_date = releaseDate.toLocaleDateString( + 'en-GB', + options_date +) +--- + +<a href={url} rel="noopener noreferrer"> + <div class="circle"></div> + <article> + <h2>{title}</h2> + <h3>{render_date}</h3> + <p>{shortdescription}</p> + </article> +</a> + +<style> + .circle { + display: none; + } + + a { + align-items: center; + justify-content: center; + display: flex; + text-decoration: none; + height: auto; + margin: 0.5rem; + width: 100%; + } + p { + color: white; + text-align: left; + font-size: 1.1em; + margin: 0.5em; + } + article > h2 { + margin: 0.3rem 0.5rem; + color: var(--c-darkpurple); + font-size: 1.5rem; + line-height: normal; + text-decoration: none; + } + article > h3 { + margin: 0.2em 0.5rem; + color: white; + font-size: 1rem; + line-height: normal; + text-decoration: none; + } + article { + display: flex; + flex: 1; + flex-wrap: wrap; + flex-direction: column; + align-items: center; + align-content: center; + justify-content: center; + background-color: var(--c-darkergray); + padding: 10px; + text-align: center; + transition: transform var(--speed) var(--ease); + min-height: 100%; + border-radius: 1.25rem; + } + + a:hover > article { + transform: scaleY(102.5%) scaleX(101%); + transition: transform var(--speed) var(--ease); + } + + @media (min-width: 900px) { + .circle { + margin: 1rem 0.5rem 1rem 0.5rem; + position: relative; + display: flex; + visibility: visible; + height: 1.5rem; + width: 1.5rem; + border-radius: 40%; + background-color: var(--c-darkpurple); + transition: transform var(--speed) var(--ease); + } + + a:hover > .circle { + height: 1.75rem; + width: 1.75rem; + translate: -0.125rem; + margin-right: 0.825rem; + } + + a:hover article { + border-color: var(--c-darkpurple); + } + + article { + border-style: solid; + border-width: 2px; + border-color: var(--c-darkergray); + align-items: flex-start; + align-content: flex-start; + margin-left: 0.5rem; + } + } + + @media (min-width: 1500px) { + .circle { + display: none; + } + + article { + margin: unset; + flex-wrap: nowrap; + min-height: 12rem; + align-items: center; + justify-content: flex-start; + } + + a { + width: 30.5%; + align-items: unset; + } + + p { + text-align: justify; + padding: 0rem 0.5rem; + } + + h2 { + text-align: center; + } + } +</style> diff --git a/src/components/questListing.astro b/src/components/listings/questListingLine.astro similarity index 66% rename from src/components/questListing.astro rename to src/components/listings/questListingLine.astro index 1de04b1..6bd5775 100644 --- a/src/components/questListing.astro +++ b/src/components/listings/questListingLine.astro @@ -1,8 +1,9 @@ --- export interface Props { - url: string + baseurl: string + slug: string title: string - questReleaseDate: string + releaseDate: Date shortdescription: string } @@ -11,8 +12,10 @@ const options_date: Intl.DateTimeFormatOptions = { month: 'long', day: '2-digit', } -const { shortdescription, questReleaseDate, url, title } = Astro.props -const render_date = new Date(questReleaseDate).toLocaleDateString( + +const { shortdescription, releaseDate, slug, title, baseurl } = Astro.props +const url = `/${baseurl}/${slug}` +const render_date = releaseDate.toLocaleDateString( 'en-GB', options_date ) @@ -31,38 +34,14 @@ const render_date = new Date(questReleaseDate).toLocaleDateString( .circle { display: none; } - @media (min-width: 900px) { - .circle { - margin: 1rem 1rem 1rem 0rem; - position: relative; - display: flex; - visibility: visible; - height: 1.5rem; - width: 1.5rem; - border-radius: 40%; - background-color: var(--c-darkpurple); - transition: transform var(--speed) var(--ease); - } - - a:hover > .circle { - height: 1.75rem; - width: 1.75rem; - translate: -0.125rem; - margin-right: 0.825rem; - } - - article { - margin-left: 0.5rem; - } - } a { align-items: center; justify-content: center; display: flex; text-decoration: none; - height: auto; - margin: 0.5rem; + height: fit-content; + margin: 0px 0.5rem; width: 100%; } p { @@ -90,8 +69,8 @@ const render_date = new Date(questReleaseDate).toLocaleDateString( flex: 1; flex-wrap: wrap; flex-direction: column; - align-items: flex-start; - align-content: flex-start; + align-items: center; + align-content: center; justify-content: center; background-color: var(--c-darkergray); padding: 10px; @@ -100,7 +79,47 @@ const render_date = new Date(questReleaseDate).toLocaleDateString( min-height: 100%; border-radius: 1.25rem; } + a:hover > article { transform: scaleY(102.5%) scaleX(101%); + transition: transform var(--speed) var(--ease); + } + + @media (min-width: 900px) { + .circle { + margin: 1rem 0.5rem 1rem 0.5rem; + position: relative; + display: flex; + visibility: visible; + height: 1rem; + width: 1rem; + background-color: var(--c-darkpurple); + border-style: solid; + border-width: 0.25rem; + border-color: var(--c-lightgray); + border-radius: 40%; + transition: transform var(--speed) var(--ease); + } + + a:hover > .circle { + height: 1.25rem; + width: 1.25rem; + translate: -0.125rem; + margin-right: 4px; + } + + a:hover article { + border-color: var(--c-darkpurple); + transform: none; + } + + article { + border-style: solid; + border-width: 2px; + border-color: var(--c-darkergray); + align-items: flex-start; + align-content: flex-start; + margin-left: 0.5rem; + } } </style> diff --git a/src/components/navbar.astro b/src/components/navbar.astro index 5118a8d..5838c8f 100644 --- a/src/components/navbar.astro +++ b/src/components/navbar.astro @@ -7,7 +7,7 @@ const hamburger_src_url = `url("${hamburger.src}")` <header> <a href="/" rel="noopener noreferrer" aria-label="Home" role="button"> - <Image src={logo} alt="FGO TA Logo" /> + <Image src={logo} alt="" loading="eager"/> <span class="visually-hidden">Logo</span> </a> <ul class="desktop"> @@ -18,7 +18,7 @@ const hamburger_src_url = `url("${hamburger.src}")` aria-label="Navigation Button" tabindex="0" onclick="this.focus()" - role="navigation" + role="button" > <ul> <slot name="mobile" /> @@ -33,12 +33,13 @@ const hamburger_src_url = `url("${hamburger.src}")` z-index: 1000; position: sticky; top: 0px; - background-color: var(--c-darkgray); + background-color: var(--c-darkergray); display: flex; height: auto; width: 100%; align-items: flex-start; line-height: 1.5em; + border-bottom: 2px solid var(--c-darkpurple) ; } header > a { margin-left: 16px; @@ -67,7 +68,7 @@ const hamburger_src_url = `url("${hamburger.src}")` line-height: 1.5em; } .mobile > ul { - background-color: var(--c-darkgray); + background-color: var(--c-darkergray); align-items: center; flex-wrap: wrap; flex-direction: column; @@ -84,7 +85,7 @@ const hamburger_src_url = `url("${hamburger.src}")` .mobile { display: flex; - background-color: var(--c-darkgray); + background-color: var(--c-darkergray); border: 0px; width: 100%; height: 64px; @@ -114,13 +115,14 @@ const hamburger_src_url = `url("${hamburger.src}")` .hamburger-menu { mask: var(--hamburger_src_url) no-repeat center; + mask-size: cover; background-color: white; - width: 2rem; - height: 2rem; + width: 2.25rem; + height: 2.25rem; position: static; align-self: flex-start; margin-right: 1rem; - margin-top: 1rem; + margin-top: 0.825rem; } @media (min-width: 1140px) { diff --git a/src/components/smallTitle.astro b/src/components/smallTitle.astro new file mode 100644 index 0000000..d214f84 --- /dev/null +++ b/src/components/smallTitle.astro @@ -0,0 +1,118 @@ +--- +import '@fontsource/work-sans/800.css' +import '@fontsource/work-sans/600.css' +export interface Props { + maintext: string + subtext: string + fadeout?: boolean + baseurl?: string + returnbutton?: boolean +} +const { maintext, subtext, fadeout, baseurl, returnbutton } = Astro.props +const displayFadeout = fadeout ? "": "display: none" +const displayBackButton = returnbutton ? "": "display: none" + +let text +if (baseurl) { + text = baseurl?.split("/").pop() + text = text?.replace("-", " ").replace("-", ".") + text = text?.includes('eq 20') ? text?.replace("eq", "EQ") : text +} + +--- + +<div class="wrap"> + <div class="head">{maintext}</div> + <div class="sub">{subtext}</div> + <a href=`/${baseurl}` style={displayBackButton}><< Back to {text}</a> + <div class="fade" style={displayFadeout}></div> +</div> + +<style> + a { + font-weight: 600; + font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif; + color: white; + margin: 1rem 0px 0px; + padding: 0.5rem 0.75rem; + text-decoration: none; + background-color: var(--c-lightgray); + border-radius: 10px; + border-style: solid; + border-width: 2px; + border-color: var(--c-lightgray); + text-transform: capitalize; + } + + a:hover { + border-color: var(--c-darkpurple); + } + + .wrap { + position: relative; + width: 100%; + display: flex; + text-align: center; + align-items: center; + flex-wrap: wrap; + flex-direction: column; + color: var(--c-lighter); + background-color: var(--c-darkergray); + } + + .fade { + margin-top: 2rem; + background: linear-gradient(to bottom, transparent, var(--c-lightgray)); + height: 2.5rem; + width: 100%; + } + + .head { + hyphens: auto; + padding-top: 2rem; + font-size: 3rem; + font-weight: 800; + font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, + sans-serif; + } + + .sub { + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 1rem; + font-weight: 600; + font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, + sans-serif; + } + + .head { + color: var(--c-darkpurple); + } + + @supports (background-clip: text) { + .head { + background: linear-gradient(125deg, var(--c-darkpurple), var(--c-purplepink), var(--c-reddish) ); + background-clip: text; + color: transparent; + } + } + + @media (min-width: 620px) { + .head { + hyphens: none; + font-size: 4rem; + } + .sub { + font-size: 1rem; + } + } + + @media (min-width: 1000px) { + .head { + font-size: 6rem; + } + .sub { + font-size: 1rem; + } + } +</style> diff --git a/src/components/taCard.astro b/src/components/taCard.astro index 26df05d..0c31bac 100644 --- a/src/components/taCard.astro +++ b/src/components/taCard.astro @@ -1,10 +1,11 @@ --- -import type { ImageMetadata } from 'astro' import { Image } from 'astro:assets' +import { plsLoadImage } from '../utils/tools' +import type { GlobImage } from '../types/generic' export interface Props { title: string link: string - date: string + date: Date servant: string turns: string runner: string @@ -19,22 +20,25 @@ const options_date: Intl.DateTimeFormatOptions = { } const servantImagePath = `/src/assets/ta_servants/${servant}.png` - -const formatted_date = new Date(date).toLocaleDateString('de-DE', options_date) -const servant_images = import.meta.glob<{ default: ImageMetadata }>( +const servant_images = import.meta.glob<GlobImage>( '/src/assets/ta_servants/*.png' ) +const loaded_image = plsLoadImage(servant_images, servantImagePath) + +const formatted_date = date.toLocaleDateString('de-DE', options_date) +const arialabel = `By ${runner} β’ ${formatted_date} ${turns}` --- -<a href={link} target="_blank" rel="noopener noreferrer" aria-label=`By ${runner} β’ ${formatted_date} ${turns}`> +<a href={link} target="_blank" rel="noopener noreferrer" aria-label={arialabel}> <article> - <Image src={servant_images[servantImagePath]()} alt="" class="icon" /> + <Image src={loaded_image} alt="" class="icon" /> <div class="title desktop"> <h2>{title}</h2> </div> <p class="desktop"> <span> - By {runner}<br /> β’ <br/ > {formatted_date} + By {runner}<br /> β’ <br /> + {formatted_date} </span> </p> <div class="mobile"> @@ -54,10 +58,6 @@ const servant_images = import.meta.glob<{ default: ImageMetadata }>( display: none; } - span { - display: none; - } - span { display: flex; } @@ -76,11 +76,11 @@ const servant_images = import.meta.glob<{ default: ImageMetadata }>( color: white; align-items: center; padding-left: 0.75rem; + justify-content: center; } .mobile > h2 { margin: 0%; - margin-top: 0.5rem; font-size: 1.25rem; text-align: center; } @@ -172,6 +172,10 @@ const servant_images = import.meta.glob<{ default: ImageMetadata }>( } } + .desktop span { + align-items: center; + height: 3.75rem; + } article:hover { transform: scale(var(--hover-scale)); } diff --git a/src/components/title.astro b/src/components/title.astro new file mode 100644 index 0000000..abf6197 --- /dev/null +++ b/src/components/title.astro @@ -0,0 +1,86 @@ +--- +import '@fontsource/work-sans/800.css' +export interface Props { + maintext: string + subtext: string + fadeout?: boolean +} +const { maintext, subtext, fadeout } = Astro.props +const display = fadeout ? "": "display: none" +--- + +<div class="wrap"> + <div class="head">{maintext}</div> + <div class="sub">{subtext}</div> + <div class="fade" style={display}></div> +</div> + +<style> + .wrap { + position: relative; + width: 100%; + display: flex; + text-align: center; + align-items: center; + flex-wrap: wrap; + flex-direction: column; + color: var(--c-lighter); + background-color: var(--c-darkergray); + } + + .fade { + margin-top: 2rem; + background: linear-gradient(to bottom, transparent, var(--c-lightgray)); + height: 2.5rem; + width: 100%; + } + + .head { + hyphens: auto; + padding-top: 2rem; + font-size: 4rem; + font-weight: 800; + font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, + sans-serif; + } + + .sub { + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 1.5rem; + font-weight: 800; + font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, + sans-serif; + } + + .head { + color: var(--c-darkpurple); + } + + @supports (background-clip: text) { + .head { + background: linear-gradient(125deg, var(--c-darkpurple), var(--c-purplepink), var(--c-reddish) ); + background-clip: text; + color: transparent; + } + } + + @media (min-width: 620px) { + .head { + hyphens: none; + font-size: 6rem; + } + .sub { + font-size: 1.5rem; + } + } + + @media (min-width: 1000px) { + .head { + font-size: 8rem; + } + .sub { + font-size: 2rem; + } + } +</style> diff --git a/src/content/.template.json b/src/content/.template.json new file mode 100644 index 0000000..0c724d3 --- /dev/null +++ b/src/content/.template.json @@ -0,0 +1,24 @@ +{ + "info": { + "title": "", + "releaseDate": "YYYY-MM-DD", + "shortdescription": "", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "", + "description": "", + "data": [ + { + "title": "Skadi 3T", + "link": "", + "date": "YYYY-MM-DD", + "servant": "skadi", + "turns": "3T", + "runner": "Firq" + } + ] + } + ] +} diff --git a/src/content/changes/appends-120.json b/src/content/changes/appends-120.json new file mode 100644 index 0000000..0baa342 --- /dev/null +++ b/src/content/changes/appends-120.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Appends and Level 120", + "releaseDate": "2022-05-23", + "shortdescription": "Release of Append Skills and increased level cap of 120 with the Servant Coins Update", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://fategrandorder.fandom.com/wiki/FGO_Summer_2021_Event_Revival_(US)#Game_Updates", + "color": "#d4af37" +} diff --git a/src/content/changes/castoria.json b/src/content/changes/castoria.json new file mode 100644 index 0000000..f5a6402 --- /dev/null +++ b/src/content/changes/castoria.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Castoria", + "releaseDate": "2022-07-04", + "shortdescription": "Release of Castoria during the 5rd Anniversary of the game", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://apps.atlasacademy.io/db/NA/servant/284/", + "color": "#0b67fb" +} diff --git a/src/content/changes/koyan.json b/src/content/changes/koyan.json new file mode 100644 index 0000000..239598c --- /dev/null +++ b/src/content/changes/koyan.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Koyanskaya of Light", + "releaseDate": "2023-07-03", + "shortdescription": "Release of Koyanskaya of Light during the 6th Anniversary of the game", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://apps.atlasacademy.io/db/NA/servant/314/", + "color": "#f7281f" +} diff --git a/src/content/changes/oberon.json b/src/content/changes/oberon.json new file mode 100644 index 0000000..725dbbb --- /dev/null +++ b/src/content/changes/oberon.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Oberon", + "releaseDate": "2023-07-10", + "shortdescription": "Release of Oberon during the Lostbelt 6 Conclusion Campaign", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://apps.atlasacademy.io/db/NA/servant/316/", + "color": "#f7281f" +} diff --git a/src/content/changes/skadi.json b/src/content/changes/skadi.json new file mode 100644 index 0000000..19575cd --- /dev/null +++ b/src/content/changes/skadi.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Scathach-Skadi", + "releaseDate": "2020-07-06", + "shortdescription": "Release of Scathach-Skadi during the 3rd Anniversary of the game", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://apps.atlasacademy.io/db/NA/servant/215/", + "color": "#0eb31d" +} diff --git a/src/content/changes/summer-skadi.json b/src/content/changes/summer-skadi.json new file mode 100644 index 0000000..e6ac541 --- /dev/null +++ b/src/content/changes/summer-skadi.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/changes.schema.json", + "info": { + "title": "Scathach-Skadi (Ruler)", + "releaseDate": "2024-07-24", + "shortdescription": "Release of Scathach-Skadi (Ruler) during the Arctic Summer World Event", + "releaseNumber": 1, + "type": "event" + }, + "link": "https://apps.atlasacademy.io/db/NA/servant/357/", + "color": "#0eb31d" +} diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..14ecdfb --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,58 @@ +import { z, defineCollection } from 'astro:content' + +// Individual TA entries +const entry = z.object({ + title: z.string(), + link: z.string().url(), + date: z.string().transform((str) => new Date(str)), + servant: z.string(), + turns: z.string(), + runner: z.string(), +}) + +// Individual quest info block +const quest = z.object({ + questTitle: z.string(), + description: z.string(), + data: z.array(entry), +}) + +// Basic info block for page +const info = z.object({ + title: z.string(), + releaseDate: z.string().transform((str) => new Date(str)), + shortdescription: z.string(), + releaseNumber: z.number().default(1), + type: z.enum(["quest", "event", "group"]).default("quest") +}) + +// Combined ta data collection schema +const taData = defineCollection({ + type: 'data', + schema: z.object({ + info: info, + quests: z.array(quest), + }), +}) + +const groupDescription = defineCollection({ + type: 'data', + schema: z.object({ info: info }), +}) + +const changes = defineCollection({ + type: 'data', + schema: z.object({ + info: info, + link: z.string().url(), + color: z.string(), + }), +}) + +export const collections = { + taInfoData: taData, + teslafest: taData, + groups: groupDescription, + teslafestgroups: groupDescription, + changes: changes, +} diff --git a/src/content/data/cernunnos.json b/src/content/data/cernunnos.json deleted file mode 100644 index d70790a..0000000 --- a/src/content/data/cernunnos.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "info": { - "title": "Cernunnos", - "questReleaseDate": "2023-07-10", - "shortdescription": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects", - "description": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects - and still, the TA community prevailed and created some of the most amazing runs of all time" - }, - "data": [ - { - "title": "Shishou 4T (No Castoria)", - "link": "https://www.youtube.com/watch?v=WrHudtdfivA", - "date": "2023-07-19", - "servant": "shishou", - "turns": "4T", - "runner": "Firq" - }, - { - "title": "Shishou 4T (FLO)", - "link": "https://www.youtube.com/watch?v=O1f-go7uJQM", - "date": "2023-07-19", - "servant": "shishou", - "turns": "4T", - "runner": "Requiem" - }, - { - "title": "Jalter 4T", - "link": "https://www.youtube.com/watch?v=VGuXstsJa6k", - "date": "2023-07-10", - "servant": "jalter", - "turns": "4T", - "runner": "Ray" - }, - { - "title": "Altera 4T", - "link": "https://www.youtube.com/watch?v=BrgJT3gC6sg", - "date": "2023-07-13", - "servant": "altera", - "turns": "4T", - "runner": "Requiem" - }, - { - "title": "Astrea 4T (4 Slot)", - "link": "https://www.youtube.com/watch?v=0pwUn_bickU", - "date": "2023-07-17", - "servant": "astrea", - "turns": "4T", - "runner": "Alastair Hale" - }, - { - "title": "Meltryllis 4T (4 Slot)", - "link": "https://www.youtube.com/watch?v=B5uZkC40SQc", - "date": "2023-07-21", - "servant": "melt", - "turns": "4T", - "runner": "Zectry" - }, - { - "title": "Kijyo Koyo 4T", - "link": "https://www.youtube.com/watch?v=hea0QSvTbkY", - "date": "2023-07-14", - "servant": "koyo", - "turns": "4T", - "runner": "MCR" - }, - { - "title": "Charlotte 4T", - "link": "https://www.youtube.com/watch?v=HMD2WLNGxAk", - "date": "2023-07-12", - "servant": "charlotte", - "turns": "4T", - "runner": "Dante09" - }, - { - "title": "Gong 4T (4 NPs)", - "link": "https://www.youtube.com/watch?v=qQ82YA4BeGE", - "date": "2023-07-11", - "servant": "gong", - "turns": "4T", - "runner": "BadLuck" - } - ] -} diff --git a/src/content/groups/lostbelt-6-5.json b/src/content/groups/lostbelt-6-5.json new file mode 100644 index 0000000..c291d45 --- /dev/null +++ b/src/content/groups/lostbelt-6-5.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../../.astro/collections/groups.schema.json", + "info": { + "title": "Lostbelt 6.5 - Traum", + "releaseDate": "2024-05-13", + "shortdescription": "An Interlude of sorts that brings some new challenging content centered around a nation build of servants", + "releaseNumber": 1, + "type": "group" + } + } + \ No newline at end of file diff --git a/src/content/groups/lostbelt-6.json b/src/content/groups/lostbelt-6.json new file mode 100644 index 0000000..b1a6047 --- /dev/null +++ b/src/content/groups/lostbelt-6.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../../.astro/collections/groups.schema.json", + "info": { + "title": "Lostbelt 6 - Avalon le Fae", + "releaseDate": "2023-06-06", + "shortdescription": "The 6th Lostbelt, the journey into the Fairy Kingdom of Queen Morgan - do you have what it takes for some of the most difficult content of this game?", + "releaseNumber": 1, + "type": "group" + } +} diff --git a/src/content/taInfoData/arctic-summer-world.json b/src/content/taInfoData/arctic-summer-world.json new file mode 100644 index 0000000..7642a91 --- /dev/null +++ b/src/content/taInfoData/arctic-summer-world.json @@ -0,0 +1,274 @@ +{ + "$schema": "../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Arctic Summer World", + "releaseDate": "2024-07-24", + "shortdescription": "An expedition to the endless summer festival at the North Pole, orchestrated by Skadi - what could possibly happen here?", + "releaseNumber": 1, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Arctic Summer Memory", + "description": "Battling against the Valkyries and the whole cast of the event - definitely a fun experience", + "data": [ + { + "title": "Summer Skadi 4T (FLO)", + "link": "https://www.youtube.com/watch?v=VD2FOa9lymE", + "date": "2024-07-28", + "servant": "357", + "turns": "4T", + "runner": "Firq" + }, + { + "title": "Summer Skadi 4T (Lvl. 2)", + "link": "https://www.youtube.com/watch?v=ozgDQF_vMPQ", + "date": "2024-07-27", + "servant": "357", + "turns": "4T", + "runner": "Requiem" + }, + { + "title": "Summer Jeanne 4T", + "link": "https://www.youtube.com/watch?v=9inDbuA-mDo", + "date": "2024-07-25", + "servant": "216", + "turns": "4T", + "runner": "im poketar" + }, + { + "title": "Summer Ibuki 4T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=Yp1aN6d_Daw", + "date": "2024-07-25", + "servant": "355", + "turns": "4T", + "runner": "ahelpfulhamster" + }, + { + "title": "Gilgamesh Caster 4T", + "link": "https://www.youtube.com/watch?v=ut-VcCeB_1o", + "date": "2024-07-25", + "servant": "145", + "turns": "4T", + "runner": "Gorgeous P." + }, + { + "title": "Dantes 4T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=tH7BUI5C3oA", + "date": "2024-07-25", + "servant": "96", + "turns": "4T", + "runner": "Akise" + }, + { + "title": "Cu Alter 4T (NDCE)", + "link": "https://www.youtube.com/watch?v=DII1lPGAGR4", + "date": "2024-07-25", + "servant": "98", + "turns": "4T", + "runner": "Volcanicz" + }, + { + "title": "Arcueid 4T (NDCE)", + "link": "https://www.youtube.com/watch?v=avMiU2rU7Y4", + "date": "2024-07-25", + "servant": "351", + "turns": "4T", + "runner": "QyTheQTΟ" + }, + { + "title": "Morgan 4T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=zT1cm4jxEtY", + "date": "2024-07-25", + "servant": "309", + "turns": "4T", + "runner": "Felt" + }, + { + "title": "Morgan 4T (4man NDCE)", + "link": "https://www.youtube.com/watch?v=UJP79G_yge4", + "date": "2024-07-25", + "servant": "309", + "turns": "4T", + "runner": "Loki" + }, + { + "title": "Taigong Wang 4T", + "link": "https://www.youtube.com/watch?v=B1tNm-LRlOs", + "date": "2024-07-25", + "servant": "331", + "turns": "4T", + "runner": "Ise(Kai)" + }, + { + "title": "Melt Summer 4T", + "link": "https://www.youtube.com/watch?v=Upqg_OTScNs", + "date": "2024-07-26", + "servant": "266", + "turns": "4T", + "runner": "CarmFGO" + }, + { + "title": "Shishou Summer 4T", + "link": "https://www.youtube.com/watch?v=Gd46UzjslPs", + "date": "2024-07-26", + "servant": "133", + "turns": "4T", + "runner": "Lyud" + }, + { + "title": "Minamoto-no-Tametomo 4T (No CE)", + "link": "https://www.youtube.com/watch?v=iaVGp-HuoDg", + "date": "2024-07-26", + "servant": "350", + "turns": "4T", + "runner": "ProbablyAParrot" + }, + { + "title": "Bazett 4T (4man)", + "link": "https://www.youtube.com/watch?v=5q7x738BzkQ", + "date": "2024-07-26", + "servant": "336", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Voyager 4T", + "link": "https://www.youtube.com/watch?v=ciPBOisUtYg", + "date": "2024-07-26", + "servant": "281", + "turns": "4T", + "runner": "Ise(Kai)" + }, + { + "title": "Arjuna Alter 4T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=ARXYYGCT8A8", + "date": "2024-07-26", + "servant": "247", + "turns": "4T", + "runner": "Akise" + }, + { + "title": "Summer Ibuki 4T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=D2oi0OskXKU", + "date": "2024-07-26", + "servant": "355", + "turns": "4T", + "runner": "Tinesh" + }, + { + "title": "Melusine 4T (No RNG)", + "link": "https://www.youtube.com/watch?v=D2oi0OskXKU", + "date": "2024-07-26", + "servant": "312_st", + "turns": "4T", + "runner": "Felt" + }, + { + "title": "Taira 4T (NoCE)", + "link": "https://www.youtube.com/watch?v=Y-EhbiRbeCc", + "date": "2024-07-27", + "servant": "303", + "turns": "4T", + "runner": "Felt" + }, + { + "title": "Voyager 4T (4man)", + "link": "https://www.youtube.com/watch?v=L0jSQWOeN6s", + "date": "2024-07-27", + "servant": "281", + "turns": "4T", + "runner": "Kamager III" + }, + { + "title": "BB Summer 4T (FLO)", + "link": "https://www.youtube.com/watch?v=Lz3YltEipd0", + "date": "2024-07-27", + "servant": "220", + "turns": "4T", + "runner": "Zoropp" + }, + { + "title": "Jalter 4T (NoCE)", + "link": "https://www.youtube.com/watch?v=0AJ4w09VlT4", + "date": "2024-07-28", + "servant": "106", + "turns": "4T", + "runner": "Ray" + }, + { + "title": "Gilgamesh 4T", + "link": "https://www.youtube.com/watch?v=ZwH32UR-CIU", + "date": "2024-07-28", + "servant": "12", + "turns": "4T", + "runner": "Mikazuki" + }, + { + "title": "Artoria 4T", + "link": "https://www.youtube.com/watch?v=pfRJBE5JupA", + "date": "2024-07-28", + "servant": "2", + "turns": "4T", + "runner": "HardChibi" + }, + { + "title": "Melusine 4T (NoCEs)", + "link": "https://www.youtube.com/watch?v=9-S91YIDqug", + "date": "2024-07-28", + "servant": "312_aoe", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Taisui Xingjun 4T", + "link": "https://www.youtube.com/watch?v=95HdMeysR1A", + "date": "2024-07-28", + "servant": "338", + "turns": "4T", + "runner": "Kamager III" + }, + { + "title": "Nero (Caster) 4T (NoCE)", + "link": "https://www.youtube.com/watch?v=f1UvMBeE7-I", + "date": "2024-07-28", + "servant": "175", + "turns": "4T", + "runner": "Lutrec" + }, + { + "title": "Zhang Jue 4T (FLO)", + "link": "https://www.youtube.com/watch?v=T3BEI-04dmI", + "date": "2024-07-29", + "servant": "348", + "turns": "4T", + "runner": "L11" + }, + { + "title": "Galatea 4T", + "link": "https://www.youtube.com/watch?v=mL1und2p5Wc", + "date": "2024-07-29", + "servant": "306", + "turns": "4T", + "runner": "Hentai Daddy" + }, + { + "title": "Summer Okitan 4T", + "link": "https://www.youtube.com/watch?v=o1Ai-YCvo08", + "date": "2024-07-29", + "servant": "317", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Summer Jalter 4T (NDCE)", + "link": "https://x.com/santoryuiai3/status/1817969764972847614", + "date": "2024-07-29", + "servant": "219", + "turns": "4T", + "runner": "Ray" + } + ] + } + ] +} diff --git a/src/content/taInfoData/beast4l.json b/src/content/taInfoData/beast4l.json new file mode 100644 index 0000000..003f3ee --- /dev/null +++ b/src/content/taInfoData/beast4l.json @@ -0,0 +1,161 @@ +{ + "$schema": "../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Beast IV:L", + "releaseDate": "2023-12-26", + "shortdescription": "An interesting conclusion to Tunguska to say the least", + "type": "quest" + }, + "quests": [ + { + "questTitle": "Beast IV:L", + "description": "An interesting conclusion to Tunguska to say the least - A really annoying fight with a lot of field effects, including a permanent 40% Buff Success Rate down, as well as 80% Special Defense and 2 full turns of Invincibility. And still - the TA community showed Koyanskaya that she wasn't fit for being a beast in no time.", + "data": [ + { + "title": "Shishou 4T (No MLB DMG CE)", + "link": "https://www.youtube.com/watch?v=brz21NKMMsY", + "date": "2023-12-31", + "servant": "70_bunny", + "turns": "4T", + "runner": "Firq" + }, + { + "title": "Shishou 4T (No DMG CE)", + "link": "https://www.youtube.com/watch?v=J0l-psWpokQ", + "date": "2023-12-28", + "servant": "70", + "turns": "4T", + "runner": "Requiem" + }, + { + "title": "Amakusa 4T", + "link": "https://www.youtube.com/watch?v=ud5JZ__Hk4I", + "date": "2023-12-31", + "servant": "93", + "turns": "4T", + "runner": "Yier" + }, + { + "title": "Romulus 4T (NoMash NoCE)", + "link": "https://www.youtube.com/watch?v=e0DJEXpysSQ", + "date": "2023-12-28", + "servant": "280", + "turns": "4T", + "runner": "Sakazuki" + }, + { + "title": "Melt 4T", + "link": "https://www.youtube.com/watch?v=c7K5ra2CAxs", + "date": "2023-12-31", + "servant": "163", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Okuni 4T", + "link": "https://www.youtube.com/watch?v=eg5OeQrhQMk", + "date": "2023-12-29", + "servant": "327", + "turns": "4T", + "runner": "QP Dangerous" + }, + { + "title": "Kama 4T", + "link": "https://www.youtube.com/watch?v=9sm8XBglEgo", + "date": "2023-12-29", + "servant": "239", + "turns": "4T", + "runner": "Requiem" + }, + { + "title": "Melusine 4T (FLO)", + "link": "https://www.youtube.com/watch?v=XHjExMEg3vQ", + "date": "2024-01-01", + "servant": "312_aoe", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Gilgamesh 4T", + "link": "https://www.youtube.com/watch?v=SrDvEaFx3ko", + "date": "2023-12-31", + "servant": "12", + "turns": "4T", + "runner": "Yier" + }, + { + "title": "Astrea 4T", + "link": "https://www.youtube.com/watch?v=kw4E_mCxkKc", + "date": "2023-12-30", + "servant": "242", + "turns": "4T", + "runner": "Alastair Hale" + }, + { + "title": "Kijyo Koyo 4T (Solo)", + "link": "https://www.youtube.com/watch?v=tAUA7Fn_HYo", + "date": "2023-12-29", + "servant": "282", + "turns": "4T", + "runner": "MCR" + }, + { + "title": "Tamamo Solo 30T", + "link": "https://www.youtube.com/watch?v=2wUcojRXTlw", + "date": "2023-12-27", + "servant": "62", + "turns": "30T", + "runner": "Mitsunee" + }, + { + "title": "Dual Taigong Wang 4T", + "link": "https://www.youtube.com/watch?v=3jU3Az7iM7E", + "date": "2023-12-27", + "servant": "331", + "turns": "4T", + "runner": "Ryougi Bobby" + }, + { + "title": "Ibuki 4T", + "link": "https://www.youtube.com/watch?v=dgJfgMHAOpI", + "date": "2023-12-29", + "servant": "299", + "turns": "4T", + "runner": "Martyr Kuga" + }, + { + "title": "Ozymandias 4T", + "link": "https://www.youtube.com/watch?v=Y8qYY875M_I", + "date": "2023-12-28", + "servant": "118", + "turns": "4T", + "runner": "Kusanagi" + }, + { + "title": "Arjuna Alter 4T", + "link": "https://www.youtube.com/watch?v=OTfM7WQl5uI", + "date": "2023-12-28", + "servant": "247", + "turns": "4T", + "runner": "Akise" + }, + { + "title": "Galatea 4T", + "link": "https://www.youtube.com/watch?v=GKCZtn815wA", + "date": "2023-12-30", + "servant": "306", + "turns": "4T", + "runner": "Hentai Daddi" + }, + { + "title": "Summer Kiara 4T", + "link": "https://www.youtube.com/watch?v=b46JRNUIdrM", + "date": "2023-12-28", + "servant": "285", + "turns": "4T", + "runner": "Felt" + } + ] + } + ] +} diff --git a/src/content/taInfoData/case-files-rerun.json b/src/content/taInfoData/case-files-rerun.json new file mode 100644 index 0000000..948acf1 --- /dev/null +++ b/src/content/taInfoData/case-files-rerun.json @@ -0,0 +1,342 @@ +{ + "$schema": "../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Case Files Rerun 2024", + "releaseDate": "2024-01-10", + "shortdescription": "The rerun of the collaboration event with the Case Files franchise - and the return of old challenges as well as a new challenge quest.", + "releaseNumber": 1, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Another Master and Servant", + "description": "A battle against a Master and Servant duo - Waver and Alexander", + "data": [ + { + "title": "Shishou 3T", + "link": "https://www.youtube.com/watch?v=j1fFbkfYtvo", + "date": "2024-01-22", + "servant": "70_bunny", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Shishou 3T (FLO)", + "link": "https://www.youtube.com/watch?v=Sszw_x7IqVU", + "date": "2024-01-23", + "servant": "70_bunny", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Muramasa 3T", + "link": "https://www.youtube.com/watch?v=IyOXmmY9wy8", + "date": "2024-01-21", + "servant": "302", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Artoria 3T", + "link": "https://www.youtube.com/watch?v=UnFsH4t0A4Y", + "date": "2024-01-22", + "servant": "2", + "turns": "3T", + "runner": "HardChibi" + }, + { + "title": "Salter 3T", + "link": "https://www.youtube.com/watch?v=K_8iF_EHP1g", + "date": "2024-01-21", + "servant": "3", + "turns": "3T", + "runner": "im poketar" + }, + { + "title": "Sei 3T", + "link": "https://www.youtube.com/watch?v=kCajUN2Lz2Q", + "date": "2024-01-24", + "servant": "276", + "turns": "3T", + "runner": "crimsonmage" + }, + { + "title": "Cindereli 3T", + "link": "https://www.youtube.com/watch?v=BPc7RTY_c7M", + "date": "2024-01-21", + "servant": "326", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Kama 3T (FLO)", + "link": "https://www.youtube.com/watch?v=-4dDZV7ijeM", + "date": "2024-01-22", + "servant": "239", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "MHXA 3T", + "link": "https://www.youtube.com/watch?v=TfWsR-hVULo", + "date": "2024-01-20", + "servant": "155", + "turns": "3T", + "runner": "Ayumi" + }, + { + "title": "Morgan 3T (6 Cost)", + "link": "https://www.youtube.com/watch?v=zXQ_FrnBh0k", + "date": "2024-01-20", + "servant": "309", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "Astrea 3T (FLO)", + "link": "https://www.youtube.com/watch?v=kwqjMhYrQHY", + "date": "2024-01-20", + "servant": "242", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Van Gogh 3T", + "link": "https://www.youtube.com/watch?v=VbSXl8GthwM", + "date": "2024-01-20", + "servant": "295", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Hokusai 3T", + "link": "https://www.youtube.com/watch?v=CIzUCIN-ft4", + "date": "2024-01-24", + "servant": "198", + "turns": "3T", + "runner": "inv4der" + }, + { + "title": "Okita Alter 3T (FLO)", + "link": "https://www.youtube.com/watch?v=qkah__8XWJk", + "date": "2024-01-20", + "servant": "209", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Summer BB 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=VAEjvL34hsc", + "date": "2024-01-21", + "servant": "220", + "turns": "3T", + "runner": "Felt" + }, + { + "title": "Kijyo Koyo 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=A5-VRkAx__o", + "date": "2024-01-19", + "servant": "282", + "turns": "3T", + "runner": "MCR" + } + ] + }, + { + "questTitle": "Case - Train Tea Party", + "description": "A showdown against both Reines and Gray on top of a train ", + "data": [ + { + "title": "Artoria 3T", + "link": "https://www.youtube.com/watch?v=FQ6Zb_kzrWs", + "date": "2024-01-21", + "servant": "2", + "turns": "3T", + "runner": "HardChibi" + }, + { + "title": "Artoria 3T (FLO)", + "link": "https://www.youtube.com/watch?v=uKercpWUnGs&t=216s", + "date": "2024-01-19", + "servant": "2", + "turns": "3T", + "runner": "Fu Windsword" + }, + { + "title": "Altera 3T", + "link": "https://www.youtube.com/watch?v=WcHpHfFnVrY", + "date": "2024-01-24", + "servant": "8", + "turns": "3T", + "runner": "Lyud" + }, + { + "title": "Saber Lily 3T", + "link": "https://www.youtube.com/watch?v=jCwTbmLsGcA", + "date": "2024-01-18", + "servant": "4", + "turns": "3T", + "runner": "Ayumi" + }, + { + "title": "Gilgamesh 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=nWeZ9lo2iYI", + "date": "2024-01-18", + "servant": "12", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Sei 3T", + "link": "https://www.youtube.com/watch?v=BEGortNzIsQ", + "date": "2024-01-23", + "servant": "276", + "turns": "3T", + "runner": "inv4der" + }, + { + "title": "Melusine 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=OgoteFJL85A", + "date": "2024-01-21", + "servant": "312_aoe", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Melusine 3T (FLO)", + "link": "https://www.youtube.com/watch?v=PTtm_c7F5Ro", + "date": "2024-01-18", + "servant": "312_aoe", + "turns": "3T", + "runner": "Felt" + }, + { + "title": "Ivan 3T", + "link": "https://www.youtube.com/watch?v=shsogSLclv4", + "date": "2024-01-24", + "servant": "205", + "turns": "3T", + "runner": "ProbablyAParrot" + }, + { + "title": "Gong 3T", + "link": "https://www.youtube.com/watch?v=bc5LvCQO56I&t=244s", + "date": "2024-01-23", + "servant": "258", + "turns": "3T", + "runner": "BadLuck" + }, + { + "title": "Morgan 3T (NoCEs)", + "link": "https://www.youtube.com/watch?v=y4XnMyqVGK8", + "date": "2024-01-18", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Morgan 3T (Lvl 50)", + "link": "https://www.youtube.com/watch?v=MQ2b6FFPMf8", + "date": "2024-01-18", + "servant": "309", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "Okita Alter 3T (FLO NoCEs)", + "link": "https://www.youtube.com/watch?v=7Htl-Ld6f-Q", + "date": "2024-01-21", + "servant": "209", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Kingprotea 3T (FLO)", + "link": "https://www.youtube.com/watch?v=iarswRjrKAI", + "date": "2024-01-21", + "servant": "238", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Koyan of Dark 3T", + "link": "https://www.youtube.com/watch?v=h_jsUQeOXi8", + "date": "2024-01-21", + "servant": "334", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Voyager 3T", + "link": "https://www.youtube.com/watch?v=kQ2pRFR3ZmM", + "date": "2024-01-20", + "servant": "281", + "turns": "3T", + "runner": "Ise(Kai)" + }, + { + "title": "Scathach 5T (4Man)", + "link": "https://www.youtube.com/watch?v=IIk5ypPq9dM", + "date": "2024-01-23", + "servant": "70", + "turns": "5T", + "runner": "Requiem" + }, + { + "title": "Li Shuwen 5T (NoCE)", + "link": "https://www.youtube.com/watch?v=BHNTmj56Adk", + "date": "2024-01-24", + "servant": "235", + "turns": "5T", + "runner": "Alastair Hale" + }, + { + "title": "Charlotte 5T", + "link": "https://www.youtube.com/watch?v=aOuK9RhZSFk", + "date": "2024-01-20", + "servant": "259", + "turns": "5T", + "runner": "xy sunder" + }, + { + "title": "Taira 5T (FLO BCE)", + "link": "https://www.youtube.com/watch?v=A5F8Rb26tNY", + "date": "2024-01-22", + "servant": "303", + "turns": "5T", + "runner": "Felt" + }, + { + "title": "Melt 5T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=-WRocbYbzpE", + "date": "2024-01-23", + "servant": "163", + "turns": "5T", + "runner": "xy sunder" + }, + { + "title": "MHXA 5T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=qFESCN59RFA", + "date": "2024-01-22", + "servant": "155", + "turns": "5T", + "runner": "Ayumi" + } + ] + }, + { + "questTitle": "Barbartos", + "description": "The return of the giant candy cane", + "data": [ + { + "title": "Skadi 1T", + "link": "https://www.youtube.com/watch?v=ic-wva9H0Ic", + "date": "2024-01-16", + "servant": "215", + "turns": "1T", + "runner": "Firq" + } + ] + } + ] +} diff --git a/src/content/taInfoData/devilish-bodhisattva.json b/src/content/taInfoData/devilish-bodhisattva.json new file mode 100644 index 0000000..38bcf7a --- /dev/null +++ b/src/content/taInfoData/devilish-bodhisattva.json @@ -0,0 +1,130 @@ +{ + "$schema": "../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Devilish Bodhisattva", + "releaseDate": "2019-04-23", + "shortdescription": "One of the most infamous fights in FGO, Full Power Beast III:R", + "releaseNumber": 1, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Devilish Bodhisattva", + "description": "One of the most infamous fights in FGO, Full Power Beast III:R ... but the racers make even this fight look easy at times, clearning it with the most diverse roster of servants ever seen.", + "data": [ + { + "title": "Shishou 7T (NoDupes)", + "link": "https://www.youtube.com/watch?v=d1ftVeitR6c", + "date": "2022-07-09", + "servant": "70", + "turns": "7T", + "runner": "Firq" + }, + { + "title": "Summer Skadi 7T", + "link": "https://www.youtube.com/watch?v=7HPLGs_LPzs", + "date": "2024-07-25", + "servant": "357", + "turns": "7T", + "runner": "Firq" + }, + { + "title": "Shishou 7T", + "link": "https://www.youtube.com/watch?v=nYV4jwgpuR0", + "date": "2022-07-14", + "servant": "70", + "turns": "7T", + "runner": "KOG" + }, + { + "title": "Shishou 7T", + "link": "https://www.youtube.com/watch?v=jKoSw1XM6-c", + "date": "2022-07-07", + "servant": "70", + "turns": "7T", + "runner": "Requiem" + }, + { + "title": "Jalter 7T", + "link": "https://www.youtube.com/watch?v=U5wsl09_VVQ", + "date": "2023-03-21", + "servant": "106", + "turns": "7T", + "runner": "Ray" + }, + { + "title": "Jalter 7T (NoCE)", + "link": "https://www.youtube.com/watch?v=RPtMHOxQfjs", + "date": "2023-11-29", + "servant": "106", + "turns": "7T", + "runner": "Ray" + }, + { + "title": "Taira 7T (NoCE)", + "link": "https://www.youtube.com/watch?v=mg8f8TD5AEQ", + "date": "2023-08-20", + "servant": "303", + "turns": "7T", + "runner": "Felt" + }, + { + "title": "Astrea 7T", + "link": "https://www.youtube.com/watch?v=aWg9LCcZxro", + "date": "2023-08-22", + "servant": "242", + "turns": "7T", + "runner": "Alastair Hale" + }, + { + "title": "Astrea 7T (No Castoria)", + "link": "https://www.youtube.com/watch?v=fEJTDScu238", + "date": "2023-01-01", + "servant": "242", + "turns": "7T", + "runner": "Alastair Hale" + }, + { + "title": "Dioscuri 7T", + "link": "https://www.youtube.com/watch?v=El9D-LskMHU", + "date": "2022-06-25", + "servant": "278", + "turns": "7T", + "runner": "Sou" + }, + { + "title": "Maou Nobu 7T", + "link": "https://www.youtube.com/watch?v=CGGJ7WA6Gqg", + "date": "2022-12-30", + "servant": "250", + "turns": "7T", + "runner": "Haru" + }, + { + "title": "Sitonai 7T", + "link": "https://www.youtube.com/watch?v=RJSedKUyKn0", + "date": "2022-10-26", + "servant": "224", + "turns": "7T", + "runner": "Alastair Hale" + }, + { + "title": "Charlotte 7T", + "link": "https://www.youtube.com/watch?v=2DhDcxAcUTo", + "date": "2022-07-07", + "servant": "259", + "turns": "7T", + "runner": "Dante09" + }, + { + "title": "MHXA 7T", + "link": "https://www.youtube.com/watch?v=xGHiUL4HR08", + "date": "2023-06-13", + "servant": "155", + "turns": "7T", + "runner": "Ayumi" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6-5/kiyohime.json b/src/content/taInfoData/lostbelt-6-5/kiyohime.json new file mode 100644 index 0000000..125d5a5 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6-5/kiyohime.json @@ -0,0 +1,49 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Kiyohime", + "releaseDate": "2024-05-13", + "shortdescription": "Help, there is an angry dragon snek that wants to burn me for slightly lying to her", + "releaseNumber": 2 + }, + "quests": [ + { + "questTitle": "Kiyohime", + "description": "", + "data": [ + { + "title": "S.Karna Karna Arjuna Junao 5T", + "link": "https://youtu.be/f039x5OIl6E", + "date": "2024-05-18", + "servant": "247", + "turns": "5T", + "runner": "Akise" + }, + { + "title": "Baobhan Arash Habetrot 5T", + "link": "https://www.youtube.com/watch?v=a7V5W8MkxO8", + "date": "2024-05-31", + "servant": "311", + "turns": "5T", + "runner": "Mikazuki" + }, + { + "title": "Cindereli Habenya Douman Arash 5T", + "link": "https://www.youtube.com/watch?v=7Z0Fn8tBV4E", + "date": "2024-05-14", + "servant": "326", + "turns": "5T", + "runner": "Loki" + }, + { + "title": "Daikokuten 5T", + "link": "https://www.youtube.com/watch?v=Q7v_joSJmNg", + "date": "2024-05-20", + "servant": "340", + "turns": "5T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6-5/kriemhild.json b/src/content/taInfoData/lostbelt-6-5/kriemhild.json new file mode 100644 index 0000000..da1ebc5 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6-5/kriemhild.json @@ -0,0 +1,153 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Kriemhild", + "releaseDate": "2024-05-13", + "shortdescription": "Trying to get Kriemhild acting sane when she's a Berserker and pitted against her husband - Challenge Impossible", + "releaseNumber": 3 + }, + "quests": [ + { + "questTitle": "Kriemhild", + "description": "", + "data": [ + { + "title": "Nero Bride 3T (FLO)", + "link": "https://www.youtube.com/watch?v=iEOhDVhIKkw", + "date": "2024-05-22", + "servant": "90", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Saber Diarmuid 3T", + "link": "https://www.youtube.com/watch?v=aBBY-smKj2I", + "date": "2024-05-27", + "servant": "223", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Muramasa 3T", + "link": "https://www.youtube.com/watch?v=Wejdo62W9Ng", + "date": "2024-05-16", + "servant": "302", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Artoria 3T (FLO)", + "link": "https://www.youtube.com/watch?v=qkZji1N7oLs", + "date": "2024-05-25", + "servant": "2", + "turns": "3T", + "runner": "Fu Windsword" + }, + { + "title": "Siegfried 3T (NPC)", + "link": "https://www.youtube.com/watch?v=BSPUS2kQyeE", + "date": "2024-05-20", + "servant": "6", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Jeanne Summer 3T", + "link": "https://www.youtube.com/watch?v=_1GgmzU8SJI", + "date": "2024-05-18", + "servant": "216", + "turns": "3T", + "runner": "im poketar" + }, + { + "title": "Emiya 3T", + "link": "https://www.youtube.com/watch?v=hEuWchiPUcM", + "date": "2024-05-18", + "servant": "11", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Melusine 3T (Solo)", + "link": "https://www.youtube.com/watch?v=pH7iLqMKamE", + "date": "2024-05-16", + "servant": "312_st", + "turns": "3T", + "runner": "Felt" + }, + { + "title": "Kagetora 3T (FLO)", + "link": "https://www.youtube.com/watch?v=j_S20-UZbqo", + "date": "2024-05-22", + "servant": "252", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Cindereli 3T", + "link": "https://www.youtube.com/watch?v=H_mUuNrZE0I", + "date": "2024-05-16", + "servant": "326", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Rider Ishtar 3T", + "link": "https://www.youtube.com/watch?v=9jHuxjH6puw", + "date": "2024-05-19", + "servant": "182", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Cu Caster 3T (FLO)", + "link": "https://www.youtube.com/watch?v=N9ZZ-nuePmA", + "date": "2024-05-22", + "servant": "38", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Skadi 3T", + "link": "https://www.youtube.com/watch?v=YrvWmFTgMUE", + "date": "2024-05-17", + "servant": "215", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Merlin 3T", + "link": "https://www.youtube.com/watch?v=kPtC0P-XHag", + "date": "2024-05-20", + "servant": "150", + "turns": "3T", + "runner": "Ise(Kai)" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=hJyf-FFRQUw", + "date": "2024-05-15", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Astrea 3T (Lvl. 2)", + "link": "https://www.youtube.com/watch?v=EPZUkzN9ySQ", + "date": "2024-05-19", + "servant": "242", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Summer BB 3T (4man)", + "link": "https://www.youtube.com/watch?v=k7btt-Vti2I", + "date": "2024-05-21", + "servant": "220", + "turns": "3T", + "runner": "Volcanicz" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6-5/moriarty.json b/src/content/taInfoData/lostbelt-6-5/moriarty.json new file mode 100644 index 0000000..1a8b5a8 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6-5/moriarty.json @@ -0,0 +1,81 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Moriarty", + "releaseDate": "2024-05-13", + "shortdescription": "The epic showdown at the Reichenbach Falls - A worthy finale against the Big Bad Evil of this Lostbelt", + "releaseNumber": 4 + }, + "quests": [ + { + "questTitle": "Moriarty", + "description": "", + "data": [ + { + "title": "Nero Bride 4T", + "link": "https://www.youtube.com/watch?v=wWM5yvCeiIA", + "date": "2024-05-25", + "servant": "90", + "turns": "4T", + "runner": "Lutrec" + }, + { + "title": "Morgan 4T", + "link": "https://www.youtube.com/watch?v=42pTDuQwsQg", + "date": "2024-05-16", + "servant": "309", + "turns": "4T", + "runner": "Loki" + }, + { + "title": "Arjuna Alter 4T (FLO)", + "link": "https://www.youtube.com/watch?v=egmZQvRseX8", + "date": "2024-05-23", + "servant": "247", + "turns": "4T", + "runner": "Akise" + }, + { + "title": "Da Vinci Ruler 4T", + "link": "https://www.youtube.com/watch?v=LUFHZXy0F14", + "date": "2024-05-27", + "servant": "320", + "turns": "4T", + "runner": "Lutrec" + }, + { + "title": "Taira 4T", + "link": "https://www.youtube.com/watch?v=qU_9PFh04Og", + "date": "2024-05-19", + "servant": "303", + "turns": "4T", + "runner": "Patrick Bandeira" + }, + { + "title": "Taira 4T (Solo)", + "link": "https://www.youtube.com/watch?v=PaTeIqKSdVA", + "date": "2024-05-16", + "servant": "303", + "turns": "4T", + "runner": "Felt" + }, + { + "title": "Bazett 3T", + "link": "https://www.youtube.com/watch?v=_7vDBCqLlhU", + "date": "2024-05-21", + "servant": "336", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Kiara 4T", + "link": "https://www.youtube.com/watch?v=gEa8VJOy2Eg", + "date": "2024-05-19", + "servant": "167", + "turns": "4T", + "runner": "im poketar" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6-5/zhang-jue.json b/src/content/taInfoData/lostbelt-6-5/zhang-jue.json new file mode 100644 index 0000000..d470713 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6-5/zhang-jue.json @@ -0,0 +1,65 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Zhang Jue", + "releaseDate": "2024-05-13", + "shortdescription": "A fight against a general that uses his servants as meat shields - what a way trying to survive an assassination.", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Zhang Jue", + "description": "", + "data": [ + { + "title": "Skadi 2T", + "link": "https://youtu.be/OtNYsaM13G4", + "date": "2024-05-14", + "servant": "215", + "turns": "2T", + "runner": "Firq" + }, + { + "title": "Baobhan 2T", + "link": "https://www.youtube.com/watch?v=GmUUF0aiXik", + "date": "2024-05-18", + "servant": "311", + "turns": "2T", + "runner": "Mikazuki" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=9X5Znfw6dWk", + "date": "2024-05-20", + "servant": "312_aoe", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Nero (Caster) 2T", + "link": "https://www.youtube.com/watch?v=-rK9rpJIFDA", + "date": "2024-05-20", + "servant": "175", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=8mg123LnifQ", + "date": "2024-05-14", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Bazett 1T", + "link": "https://www.youtube.com/watch?v=Zgn8tlXStiI", + "date": "2024-05-22", + "servant": "336", + "turns": "1T", + "runner": "Mikazuki" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6/albion.json b/src/content/taInfoData/lostbelt-6/albion.json new file mode 100644 index 0000000..66be8dc --- /dev/null +++ b/src/content/taInfoData/lostbelt-6/albion.json @@ -0,0 +1,138 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Albion", + "releaseDate": "2023-07-10", + "shortdescription": "Albion shows up with a new mechanic, but will it be enough?", + "releaseNumber": 1, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Albion", + "description": "Albion shows up with a new mechanic, but will it be enough? No, because the mechanics are only seen as a small challenge and were quickly rendered a sideeffect during this quest - to the dismay of Melusine", + "data": [ + { + "title": "Musashi 3T", + "link": "https://www.youtube.com/watch?v=iVdQPoouI_Y", + "date": "2023-07-10", + "servant": "153", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "Altera 3T (FLO)", + "link": "https://www.youtube.com/watch?v=7pyPtTVbd2A", + "date": "2023-07-13", + "servant": "8", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Suzuka 3T (FLO)", + "link": "https://www.youtube.com/watch?v=6ExpIoUJ3aU", + "date": "2023-07-12", + "servant": "165", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Saber Alter 3T (FLO)", + "link": "https://www.youtube.com/watch?v=5U42nu-vPnk", + "date": "2023-07-12", + "servant": "3", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Baobhan Sith 3T", + "link": "https://www.youtube.com/watch?v=526KYBolySY", + "date": "2023-07-13", + "servant": "311", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Shishou 3T", + "link": "https://www.youtube.com/watch?v=E8fjEYFqrWI", + "date": "2023-07-12", + "servant": "70_bunny", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Shishou 3T (FLO)", + "link": "https://www.youtube.com/watch?v=ciIkgHr-QPk", + "date": "2023-07-12", + "servant": "70", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Ereshkigal 3T", + "link": "https://www.youtube.com/watch?v=wQBe74XTy4Q", + "date": "2023-07-13", + "servant": "196", + "turns": "3T", + "runner": "Conry" + }, + { + "title": "Skadi 3T", + "link": "https://www.youtube.com/watch?v=tejeiYpzfqo", + "date": "2023-07-11", + "servant": "215", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Kama 3T (FLO)", + "link": "https://www.youtube.com/watch?v=SmnwfrXp1sg", + "date": "2023-07-13", + "servant": "239", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Summer Jalter 3T (FLO)", + "link": "https://www.youtube.com/watch?v=-3uDduYI2Cw", + "date": "2023-07-10", + "servant": "219", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Tamamo Cat 3T", + "link": "https://www.youtube.com/watch?v=Vn6L6Ywin44", + "date": "2023-07-13", + "servant": "58", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Cu Alter 3T (FLO)", + "link": "https://www.youtube.com/watch?v=iaR6PdFmmeQ", + "date": "2023-07-13", + "servant": "98", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Suzuka 3T", + "link": "https://www.youtube.com/watch?v=2dj-55-9Oe8", + "date": "2023-07-12", + "servant": "165", + "turns": "3T", + "runner": "Mitsunee" + }, + { + "title": "Shishou 3T", + "link": "https://www.youtube.com/watch?v=QB8xf7IeLO4", + "date": "2023-07-13", + "servant": "70", + "turns": "3T", + "runner": "KOG" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6/cernunnos.json b/src/content/taInfoData/lostbelt-6/cernunnos.json new file mode 100644 index 0000000..af516a8 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6/cernunnos.json @@ -0,0 +1,106 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Cernunnos", + "releaseDate": "2023-07-10", + "shortdescription": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects", + "releaseNumber": 2, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Cernunnos", + "description": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects - and still, the TA community prevailed and created some of the most amazing runs of all time", + "data": [ + { + "title": "Shishou 4T (No Castoria)", + "link": "https://www.youtube.com/watch?v=WrHudtdfivA", + "date": "2023-07-19", + "servant": "70_bunny", + "turns": "4T", + "runner": "Firq" + }, + { + "title": "Shishou 4T (FLO)", + "link": "https://www.youtube.com/watch?v=O1f-go7uJQM", + "date": "2023-07-19", + "servant": "70", + "turns": "4T", + "runner": "Requiem" + }, + { + "title": "Jalter 4T", + "link": "https://www.youtube.com/watch?v=VGuXstsJa6k", + "date": "2023-07-10", + "servant": "106", + "turns": "4T", + "runner": "Ray" + }, + { + "title": "Altera 4T", + "link": "https://www.youtube.com/watch?v=BrgJT3gC6sg", + "date": "2023-07-13", + "servant": "8", + "turns": "4T", + "runner": "Requiem" + }, + { + "title": "Astrea 4T (4 Slot)", + "link": "https://www.youtube.com/watch?v=0pwUn_bickU", + "date": "2023-07-17", + "servant": "242", + "turns": "4T", + "runner": "Alastair Hale" + }, + { + "title": "Meltryllis 4T (4 Slot)", + "link": "https://www.youtube.com/watch?v=B5uZkC40SQc", + "date": "2023-07-21", + "servant": "163", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Kijyo Koyo 4T", + "link": "https://www.youtube.com/watch?v=hea0QSvTbkY", + "date": "2023-07-14", + "servant": "282", + "turns": "4T", + "runner": "MCR" + }, + { + "title": "Charlotte 4T", + "link": "https://www.youtube.com/watch?v=HMD2WLNGxAk", + "date": "2023-07-12", + "servant": "259", + "turns": "4T", + "runner": "Dante09" + }, + { + "title": "Gong 4T (4 NPs)", + "link": "https://www.youtube.com/watch?v=qQ82YA4BeGE", + "date": "2023-07-11", + "servant": "258", + "turns": "4T", + "runner": "BadLuck" + }, + { + "title": "Shishou 4T", + "link": "https://www.youtube.com/watch?v=dArTitWkttA", + "date": "2023-07-13", + "servant": "70", + "turns": "4T", + "runner": "KOG" + }, + { + "title": "Amakusa 4T", + "link": "https://www.youtube.com/watch?v=hRu3EskLExE", + "date": "2023-07-27", + "servant": "93", + "turns": "4T", + "runner": "Yier" + } + ] + } + ] +} diff --git a/src/content/taInfoData/lostbelt-6/morgan.json b/src/content/taInfoData/lostbelt-6/morgan.json new file mode 100644 index 0000000..6b7bc82 --- /dev/null +++ b/src/content/taInfoData/lostbelt-6/morgan.json @@ -0,0 +1,170 @@ +{ + "$schema": "../../../../.astro/collections/taInfoData.schema.json", + "info": { + "title": "Queen Morgan", + "releaseDate": "2023-06-20", + "shortdescription": "The fight against the Lostbelt 6 Queen as the conclusion of LB 6 Part 2", + "releaseNumber": 1, + "type": "quest" + }, + "quests": [ + { + "questTitle": "Queen Morgan", + "description": "The fight against the Lostbelt 6 Queen as the conclusion of LB 6 Part 2 - Interesting field effects and a berserker enemy were making this fight interesting, as Morgan is hitting like an actual truck, meaning support cycling was a lot easier than usual.", + "data": [ + { + "title": "Skadi 3T", + "link": "https://www.youtube.com/watch?v=sQ7HHl1Pb3c", + "date": "2023-06-25", + "servant": "215", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Shishou 3T", + "link": "https://www.youtube.com/watch?v=7wQ6iabqgEc", + "date": "2023-06-26", + "servant": "70_bunny", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Shishou 3T", + "link": "https://www.youtube.com/watch?v=peKFxJZzoQ8", + "date": "2023-06-24", + "servant": "70", + "turns": "3T", + "runner": "KOG" + }, + { + "title": "MHXA 3T", + "link": "https://www.youtube.com/watch?v=ezKPe41MP3w", + "date": "2023-06-28", + "servant": "155", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "NPC Castoria 3T", + "link": "https://www.youtube.com/watch?v=80u9nMp1k3o", + "date": "2023-06-28", + "servant": "284", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Shishou 3T (FLO)", + "link": "https://www.youtube.com/watch?v=nDLV_TrnEts", + "date": "2023-06-28", + "servant": "70", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Kama 3T (FLO)", + "link": "https://www.youtube.com/watch?v=3hEmzqo84XU", + "date": "2023-06-28", + "servant": "239", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Baobhan Sith 3T (FLO)", + "link": "https://www.youtube.com/watch?v=RR0u-_oooJ8", + "date": "2023-06-28", + "servant": "311", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Jalter 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=Vjai9Qg8TyU", + "date": "2023-06-24", + "servant": "106", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "MIXA 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=pV6ktirIuPE", + "date": "2023-06-26", + "servant": "308", + "turns": "3T", + "runner": "Ayumi" + }, + { + "title": "BB (Summer) 3T (NoCE NoNP FLO)", + "link": "https://www.youtube.com/watch?v=lgyteVK7cNA", + "date": "2023-07-06", + "servant": "220", + "turns": "3T", + "runner": "BadLuck" + }, + { + "title": "Cu Alter 3T", + "link": "https://www.youtube.com/watch?v=7QY_9rYmbwA", + "date": "2023-06-30", + "servant": "98", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Saber Lily 3T", + "link": "https://www.youtube.com/watch?v=v4j8YkJfZJ4", + "date": "2023-06-26", + "servant": "4", + "turns": "3T", + "runner": "Ayumi" + }, + { + "title": "Arjuna Alter 3T (FLO NoCEs)", + "link": "https://www.youtube.com/watch?v=zqGoTDhNfXM", + "date": "2023-07-07", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Arjuna Alter 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=SWK8oevHYmk", + "date": "2023-07-20", + "servant": "247", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Astrea 3T", + "link": "https://www.youtube.com/watch?v=FsCfhat10yw", + "date": "2023-06-24", + "servant": "242", + "turns": "3T", + "runner": "Duplexubiquitary" + }, + { + "title": "Kijyo Koyo 3T", + "link": "https://www.youtube.com/watch?v=gL4PqwliXr4", + "date": "2023-06-28", + "servant": "282", + "turns": "3T", + "runner": "MCR" + }, + { + "title": "Melt 3T (FLO NoCEs)", + "link": "https://www.youtube.com/watch?v=2eh_Hitk7uQ", + "date": "2023-07-14", + "servant": "163", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Taira 3T (FLO)", + "link": "https://www.youtube.com/watch?v=iM7KBuvtUH0", + "date": "2023-07-17", + "servant": "303", + "turns": "3T", + "runner": "Felt" + } + ] + } + ] +} diff --git a/src/content/teslafest/challenge-quest.json b/src/content/teslafest/challenge-quest.json new file mode 100644 index 0000000..25ef7bb --- /dev/null +++ b/src/content/teslafest/challenge-quest.json @@ -0,0 +1,249 @@ +{ + "$schema": "../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Lightning in Gilgilgamesh", + "releaseDate": "2024-03-23", + "shortdescription": "The actual Challenge Quest of this event - time to make those pompous idiots pay!", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Lightning in Gilgilgamesh", + "description": "The actual Challenge Quest of this event - time to make those pompous idiots (Gilgamesh, Tesla and another Gilgamesh) pay!", + "data": [ + { + "title": "Scathach 5T (Solo)", + "link": "https://www.youtube.com/watch?v=z00-lmhHSz8", + "date": "2024-04-08", + "servant": "70_bunny", + "turns": "5T", + "runner": "Firq" + }, + { + "title": "Scathach 5T (Solo)", + "link": "https://www.youtube.com/watch?v=OgZo-anT5uQ", + "date": "2024-03-26", + "servant": "70", + "turns": "5T", + "runner": "Requiem" + }, + { + "title": "Summer Sei 5T", + "link": "https://www.youtube.com/watch?v=7fPkwG--6Is", + "date": "2024-03-27", + "servant": "323", + "turns": "5T", + "runner": "Ise(Kai)" + }, + { + "title": "Artoria 3T", + "link": "https://www.youtube.com/watch?v=NbQE0SzQH6M", + "date": "2024-03-28", + "servant": "2", + "turns": "3T", + "runner": "Fu Windsword" + }, + { + "title": "Nero 3T (FLO)", + "link": "https://www.youtube.com/watch?v=9u2JdC2cxYU", + "date": "2024-03-25", + "servant": "5", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Ibuki 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=bUIYd9JI5zE", + "date": "2024-03-24", + "servant": "299", + "turns": "3T", + "runner": "inv4der" + }, + { + "title": "Sei 3T (FLO)", + "link": "https://www.youtube.com/watch?v=_EOrWKda0Mo", + "date": "2024-03-24", + "servant": "276", + "turns": "3T", + "runner": "Ise(Kai)" + }, + { + "title": "Summer Illya 3T (FLO)", + "link": "https://www.youtube.com/watch?v=_EOrWKda0Mo", + "date": "2024-03-30", + "servant": "286", + "turns": "3T", + "runner": "Zoropp" + }, + { + "title": "Gong 3T", + "link": "https://www.youtube.com/watch?v=-hZpsrD-8oA", + "date": "2024-03-24", + "servant": "258", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Summer Kama 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=F5DTWtzSz-w", + "date": "2024-03-24", + "servant": "321", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Voyager 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=cNvJDcKvjzY", + "date": "2024-03-26", + "servant": "281", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Bazett 2T (w. Morgan)", + "link": "https://www.youtube.com/watch?v=nZjTgPkemxM", + "date": "2024-03-24", + "servant": "336", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Bazett 2T (w. Gong)", + "link": "https://www.youtube.com/watch?v=MxYdAf5L0rQ", + "date": "2024-03-26", + "servant": "336", + "turns": "2T", + "runner": "Paradise" + }, + { + "title": "Da Vinci Rider 3T", + "link": "https://www.youtube.com/watch?v=HnkTrc1HC60", + "date": "2024-03-27", + "servant": "253", + "turns": "3T", + "runner": "Gartendrache" + }, + { + "title": "Ivan 3T", + "link": "https://www.youtube.com/watch?v=fkRfkKwOGg4", + "date": "2024-03-24", + "servant": "205", + "turns": "3T", + "runner": "rotankhero" + }, + { + "title": "Ivan 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=X6JMhUjizvY", + "date": "2024-03-27", + "servant": "205", + "turns": "3T", + "runner": "ProbablyAParrot" + }, + { + "title": "Red Hare 3T", + "link": "https://www.youtube.com/watch?v=QkeY-m2EPVM", + "date": "2024-03-27", + "servant": "231", + "turns": "3T", + "runner": "L11" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=qXqsBAgdjEc", + "date": "2024-03-24", + "servant": "309", + "turns": "3T", + "runner": "Sonicanimefan1" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=mkF973oq5JU", + "date": "2024-03-29", + "servant": "309", + "turns": "3T", + "runner": "SilverChaos" + }, + { + "title": "Arjuna Alter 3T", + "link": "https://www.youtube.com/watch?v=2ALsnvTHErw", + "date": "2024-03-30", + "servant": "247", + "turns": "3T", + "runner": "geens" + }, + { + "title": "Arjuna Alter 3T (FLO NoDupes)", + "link": "https://www.youtube.com/watch?v=M9uMA8zYZ3w", + "date": "2024-03-24", + "servant": "247", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Arjuna Alter 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=1Eu1qwknSBY", + "date": "2024-04-06", + "servant": "247", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Romulus 3T", + "link": "https://www.youtube.com/watch?v=QwXakPCGTQY", + "date": "2024-03-24", + "servant": "280", + "turns": "3T", + "runner": "First_TLN" + }, + { + "title": "Romulus 3T (F2P Support)", + "link": "https://www.youtube.com/watch?v=pJIUG1k9AZk", + "date": "2024-03-29", + "servant": "280", + "turns": "3T", + "runner": "Infernia Rosarum" + }, + { + "title": "Melusine 3T (w. Abby)", + "link": "https://www.youtube.com/watch?v=BpVSenM9bHY", + "date": "2024-03-24", + "servant": "312_aoe", + "turns": "3T", + "runner": "TopKirby8305" + }, + { + "title": "Melusine 3T (FLO)", + "link": "https://www.youtube.com/watch?v=H-vQOgCZ6sM", + "date": "2024-03-24", + "servant": "312_aoe", + "turns": "3T", + "runner": "Hentai Daddi" + }, + { + "title": "Melusine 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=13dXuoO9oaE", + "date": "2024-03-24", + "servant": "312_aoe", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Vritra 3T (FLO)", + "link": "https://www.youtube.com/watch?v=PEqr6jTGEbM", + "date": "2024-03-25", + "servant": "300", + "turns": "3T", + "runner": "Tinesh" + }, + { + "title": "Ereshkigal 3T (FLO)", + "link": "https://twitter.com/yang_766/status/1774051778234839122", + "date": "2024-03-30", + "servant": "196", + "turns": "3T", + "runner": "yang_766" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/finale-ii.json b/src/content/teslafest/eq-2020/finale-ii.json new file mode 100644 index 0000000..bf4eb2d --- /dev/null +++ b/src/content/teslafest/eq-2020/finale-ii.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Grand Finale - The Golden Metropolis Returns", + "releaseDate": "2024-03-18", + "shortdescription": "The climax to the whole 2020 revival quests - let's have fun for one last round", + "releaseNumber": 7 + }, + "quests": [ + { + "questTitle": "Grand Finale - The Golden Metropolis Returns", + "description": "The climax to the whole 2020 revival quests - let's have fun for one last round", + "data": [ + { + "title": "Melusine 3T", + "link": "https://www.youtube.com/watch?v=jdzfh2L7C30", + "date": "2024-03-18", + "servant": "312_aoe", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Ereshkigal 3T", + "link": "https://www.youtube.com/watch?v=xXppPoi6z7E", + "date": "2024-03-22", + "servant": "196", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Romulus 3T (4man)", + "link": "https://www.youtube.com/watch?v=3H65DgMm2CQ", + "date": "2024-03-26", + "servant": "280", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=8cVyOWVxkKk", + "date": "2024-03-18", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Morgan 3T (No 5* Support)", + "link": "https://twitter.com/santoryuiai3/status/1770102234711273812", + "date": "2024-03-19", + "servant": "309", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "Arjuna Alter 3T", + "link": "https://www.youtube.com/watch?v=Ts9kNHgVQCc", + "date": "2024-03-18", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Arjuna Alter 3T (5man)", + "link": "https://www.youtube.com/watch?v=fyAEETeNf8Q", + "date": "2024-03-24", + "servant": "247", + "turns": "3T", + "runner": "Sakazuki" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/flame-gate.json b/src/content/teslafest/eq-2020/flame-gate.json new file mode 100644 index 0000000..5327dd4 --- /dev/null +++ b/src/content/teslafest/eq-2020/flame-gate.json @@ -0,0 +1,153 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Flame Gate", + "releaseDate": "2024-03-15", + "shortdescription": "Time for Leonidas to show how tough the 300 really are - be advised to bring some kind of defense ignore", + "releaseNumber": 2 + }, + "quests": [ + { + "questTitle": "Flame Gate", + "description": "Time for Leonidas to show how tough the 300 really are - be advised to bring some kind of defense ignore", + "data": [ + { + "title": "Artoria 2T", + "link": "https://www.youtube.com/watch?v=GIk9UhjgO8w", + "date": "2024-03-15", + "servant": "2", + "turns": "2T", + "runner": "First_TLN" + }, + { + "title": "Altera 2T", + "link": "https://www.youtube.com/watch?v=dMOj81oyQi4", + "date": "2024-03-17", + "servant": "8", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Okita 2T (w. Helena & Arash)", + "link": "https://www.youtube.com/watch?v=mJq61IjuaR4", + "date": "2024-03-18", + "servant": "68", + "turns": "2T", + "runner": "Nyxi" + }, + { + "title": "Okita 2T (w. Nitocris & Taigong Wang)", + "link": "https://www.youtube.com/watch?v=tuJrX2gxiTE", + "date": "2024-03-17", + "servant": "68", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Musashi 2T (w. Morgan)", + "link": "https://twitter.com/santoryuiai3/status/1769165469427118302", + "date": "2024-03-17", + "servant": "153", + "turns": "2T", + "runner": "Ray" + }, + { + "title": "Muramasa 2T", + "link": "https://www.youtube.com/watch?v=R2spWJxXSfY", + "date": "2024-03-16", + "servant": "302", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Ibuki 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=SRNv98fujUQ", + "date": "2024-03-15", + "servant": "299", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Barghest 2T", + "link": "https://www.youtube.com/watch?v=5WMt8kf_loE", + "date": "2024-03-15", + "servant": "310", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Okita Alter (Summer) 2T", + "link": "https://www.youtube.com/watch?v=CiLA1lHd_E4", + "date": "2024-03-17", + "servant": "317", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Nero 2T", + "link": "https://www.youtube.com/watch?v=Yfop1b4o1Us", + "date": "2024-03-20", + "servant": "5", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Romulus 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=EhOEeDYidrM", + "date": "2024-03-18", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=bRfdcSstPLE", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Ereshkigal 2T", + "link": "https://www.youtube.com/watch?v=NriopMKja-w", + "date": "2024-03-15", + "servant": "196", + "turns": "2T", + "runner": "Swarmlord2" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=rREch6zsjGI", + "date": "2024-03-16", + "servant": "309", + "turns": "2T", + "runner": "Gorgeous P." + }, + { + "title": "Morgan 2T (NDCE)", + "link": "https://twitter.com/santoryuiai3/status/1768687213921874128", + "date": "2024-03-15", + "servant": "309", + "turns": "2T", + "runner": "Ray" + }, + { + "title": "Arjuna Alter 2T (NDCE 4man)", + "link": "https://www.youtube.com/watch?v=3ev0cmERbtA", + "date": "2024-03-17", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Jalter 2T (w. Morgan & Oberon)", + "link": "https://twitter.com/santoryuiai3/status/1768813813468373494", + "date": "2024-03-16", + "servant": "106", + "turns": "2T", + "runner": "Ray" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/jaguar-forest.json b/src/content/teslafest/eq-2020/jaguar-forest.json new file mode 100644 index 0000000..c6a2e16 --- /dev/null +++ b/src/content/teslafest/eq-2020/jaguar-forest.json @@ -0,0 +1,225 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Welcome to Jaguar Country", + "releaseDate": "2024-03-16", + "shortdescription": "When you step foot into Jaguar territory, you either leave alive or you don't at all - which will it be?", + "releaseNumber": 4 + }, + "quests": [ + { + "questTitle": "Welcome to Jaguar Country", + "description": "When you step foot into Jaguar territory, you either leave alive or you don't at all - which will it be?", + "data": [ + { + "title": "Artoria 2T", + "link": "https://www.youtube.com/watch?v=gpX3D4iQcVo", + "date": "2024-03-16", + "servant": "2", + "turns": "2T", + "runner": "Tinesh" + }, + { + "title": "Saber Alter 2T", + "link": "https://www.youtube.com/watch?v=0fco4_aaahw", + "date": "2024-03-18", + "servant": "3", + "turns": "2T", + "runner": "Lyud" + }, + { + "title": "Barghest 2T", + "link": "https://www.youtube.com/watch?v=lkgA_qV9IrA", + "date": "2024-03-16", + "servant": "310", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Nero 2T", + "link": "https://www.youtube.com/watch?v=Rn25x0ZonVs", + "date": "2024-03-24", + "servant": "5", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Romulus 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=pd-uY8F4iVM", + "date": "2024-03-20", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Ereshkigal 2T", + "link": "https://www.youtube.com/watch?v=_GbNnxxpS0M", + "date": "2024-03-19", + "servant": "196", + "turns": "2T", + "runner": "Anthony J" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=zIo0O92S7Us", + "date": "2024-03-16", + "servant": "312_aoe", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=9nDmoHc-eig", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "Sesshou01" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=yookE0tGeZA", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Melt Lambda 2T", + "link": "https://www.youtube.com/watch?v=5ykZzT3qTN4", + "date": "2024-03-16", + "servant": "266", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Karna 2T", + "link": "https://www.youtube.com/watch?v=o4gZZtTxszs", + "date": "2024-03-24", + "servant": "85", + "turns": "2T", + "runner": "Blocklv55" + }, + { + "title": "Janta 2T", + "link": "https://www.youtube.com/watch?v=PtiKVcoMRNs", + "date": "2024-03-20", + "servant": "141", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Arjuna Alter 2T", + "link": "https://www.youtube.com/watch?v=3CSggM4lARY", + "date": "2024-03-16", + "servant": "247", + "turns": "2T", + "runner": "First_TLN" + }, + { + "title": "Arjuna Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=JYM7ZnZNo2U", + "date": "2024-03-16", + "servant": "247", + "turns": "2T", + "runner": "Ray the II" + }, + { + "title": "Arjuna Alter 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=Pyh4X2SQwGo", + "date": "2024-03-16", + "servant": "247", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=wD34eiRINXg&t=190s", + "date": "2024-03-16", + "servant": "309", + "turns": "2T", + "runner": "Liz Happy Club" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=NlJmc2-6rs8", + "date": "2024-03-21", + "servant": "309", + "turns": "2T", + "runner": "Nyxi" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=sNvNP5N-RUU", + "date": "2024-03-17", + "servant": "309", + "turns": "2T", + "runner": "Duplexubiquitary" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=5bgJZs-ryCQ", + "date": "2024-03-17", + "servant": "309", + "turns": "2T", + "runner": "Gorgeous P." + }, + { + "title": "Morgan 2T (FLO)", + "link": "https://www.youtube.com/watch?v=SB8X13BhLJY", + "date": "2024-03-17", + "servant": "309", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Morgan 2T (19 Cost)", + "link": "https://www.youtube.com/watch?v=tRGrSlgq2Pc", + "date": "2024-03-17", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Maou Nobu 2T", + "link": "https://www.youtube.com/watch?v=V6wHrLHDQ50", + "date": "2024-03-21", + "servant": "250", + "turns": "2T", + "runner": "SigrdrΓfa" + }, + { + "title": "Summer Kama 2T", + "link": "https://www.youtube.com/watch?v=CfJha9gPuOM", + "date": "2024-03-19", + "servant": "321", + "turns": "2T", + "runner": "Kamager III" + }, + { + "title": "Koyanskaya of Darkness 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=XnLoGdfscT8", + "date": "2024-03-20", + "servant": "334", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Summer BB 2T", + "link": "https://www.youtube.com/watch?v=bE75VZ8Mh9w", + "date": "2024-03-19", + "servant": "220", + "turns": "2T", + "runner": "Zoropp" + }, + { + "title": "Scathach 4T", + "link": "https://www.youtube.com/watch?v=9JR-gz5RcpI", + "date": "2024-03-17", + "servant": "70", + "turns": "4T", + "runner": "Requiem" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/pawn-shop.json b/src/content/teslafest/eq-2020/pawn-shop.json new file mode 100644 index 0000000..2972a78 --- /dev/null +++ b/src/content/teslafest/eq-2020/pawn-shop.json @@ -0,0 +1,33 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Moolah's Pawn Shop", + "releaseDate": "2024-03-17", + "shortdescription": "Time to first borrow and then return gifts with interests - Sheba won't be pleased", + "releaseNumber": 5 + }, + "quests": [ + { + "questTitle": "Moolah's Pawn Shop", + "description": "Time to first borrow and then return gifts with interests - Sheba won't be pleased", + "data": [ + { + "title": "Ozymandias 5T", + "link": "https://www.youtube.com/watch?v=5FotXqLi8eA", + "date": "2024-03-21", + "servant": "118", + "turns": "5T", + "runner": "Zectry" + }, + { + "title": "Cindereli 5T", + "link": "https://www.youtube.com/watch?v=B8gWE4c8qM0", + "date": "2024-03-21", + "servant": "326", + "turns": "5T", + "runner": "Sakazuki" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/rice-ball-shop.json b/src/content/teslafest/eq-2020/rice-ball-shop.json new file mode 100644 index 0000000..0a91157 --- /dev/null +++ b/src/content/teslafest/eq-2020/rice-ball-shop.json @@ -0,0 +1,217 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Rice Ball Franchise Shop No. 1", + "releaseDate": "2024-03-15", + "shortdescription": "Eating and giving out food can be a really nice thing - especially when it buffs your attacks <3", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Rice Ball Franchise Shop No. 1", + "description": "Eating and giving out food can be a really nice thing - especially when it buffs your attacks <3", + "data": [ + { + "title": "Tamamo (Summer) 2T", + "link": "https://www.youtube.com/watch?v=wbV0VkxkgVo", + "date": "2024-03-15", + "servant": "128", + "turns": "2T", + "runner": "Liz Happy Club" + }, + { + "title": "Brynhild 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=Kme2sdkMvBo", + "date": "2024-03-18", + "servant": "88", + "turns": "2T", + "runner": "SigrdrΓfa" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=YXUwwY0e5Uw", + "date": "2024-03-16", + "servant": "312_st", + "turns": "2T", + "runner": "Sesshou01" + }, + { + "title": "Melusine 2T (FLO)", + "link": "https://www.youtube.com/watch?v=YXUwwY0e5Uw", + "date": "2024-03-15", + "servant": "312_st", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Kagetora 2T", + "link": "https://www.youtube.com/watch?v=aU8Y8lpc12s", + "date": "2024-03-16", + "servant": "252", + "turns": "2T", + "runner": "Tinesh" + }, + { + "title": "Scathach 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=I4dGfI8K2Xo", + "date": "2024-03-17", + "servant": "70", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Enkidu 2T (4man)", + "link": "https://www.youtube.com/watch?v=k68VDhh480Y", + "date": "2024-03-16", + "servant": "143", + "turns": "2T", + "runner": "Ise(Kai)" + }, + { + "title": "Enkidu 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=NUBljJdeN4U", + "date": "2024-03-22", + "servant": "143", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Kiyohime (Summer) 2T", + "link": "https://www.youtube.com/watch?v=JUTlUlRV2Fs", + "date": "2024-03-16", + "servant": "134", + "turns": "2T", + "runner": "Gorgeous P." + }, + { + "title": "Taiga 2T", + "link": "https://www.youtube.com/watch?v=JOvEqH81VbU", + "date": "2024-03-18", + "servant": "148", + "turns": "2T", + "runner": "Taiga" + }, + { + "title": "Taiga 2T", + "link": "https://www.youtube.com/watch?v=HxLOn7QlRTA", + "date": "2024-03-16", + "servant": "148", + "turns": "2T", + "runner": "Ray the II" + }, + { + "title": "Romulus 2T (FLO)", + "link": "https://www.youtube.com/watch?v=AfggRidr_Uo", + "date": "2024-03-17", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Ereshkigal 2T", + "link": "https://www.youtube.com/watch?v=9FobAzm8ZHY", + "date": "2024-03-17", + "servant": "196", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Ereshkigal 2T (NoCE)", + "link": "https://www.youtube.com/watch?v=M_tf5DuvvTI", + "date": "2024-03-17", + "servant": "196", + "turns": "2T", + "runner": "Swarmlord2" + }, + { + "title": "Karna 2T (4man)", + "link": "https://www.youtube.com/watch?v=ZZdQE_el_SA", + "date": "2024-04-07", + "servant": "85", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Summer Yu 2T", + "link": "https://www.youtube.com/watch?v=62vkxTWUBIY", + "date": "2024-03-18", + "servant": "288", + "turns": "2T", + "runner": "Lyud" + }, + { + "title": "Summer Yu 2T", + "link": "https://www.youtube.com/watch?v=59BXpBG84OU", + "date": "2024-03-16", + "servant": "288", + "turns": "2T", + "runner": "Kamager III" + }, + { + "title": "Summer Yu 2T", + "link": "https://www.youtube.com/watch?v=aGQ3RuG_-RM", + "date": "2024-03-23", + "servant": "288", + "turns": "2T", + "runner": "Nyxi" + }, + { + "title": "Melt Lambda 2T", + "link": "https://www.youtube.com/watch?v=uFOcbGj5yzc", + "date": "2024-03-16", + "servant": "266", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Ozymandias 2T", + "link": "https://www.youtube.com/watch?v=l9TuRq4WD2o", + "date": "2024-03-15", + "servant": "118", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Arjuna Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=EBtlKA8Zebc", + "date": "2024-03-16", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 2T (FLO)", + "link": "https://www.youtube.com/watch?v=qHPczHi65Ps", + "date": "2024-03-15", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "MHXA 2T", + "link": "https://www.youtube.com/watch?v=HohUbwoU5DE", + "date": "2024-03-18", + "servant": "155", + "turns": "2T", + "runner": "Anthony J" + }, + { + "title": "Cu Alter 2T (4man)", + "link": "https://www.youtube.com/watch?v=IDkaXVUVMm4", + "date": "2024-03-15", + "servant": "98", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Da Vinci Ruler 2T", + "link": "https://twitter.com/LutrecTA/status/1769450074822574261", + "date": "2024-03-17", + "servant": "320", + "turns": "2T", + "runner": "Lutrec" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/skyscraper-monster.json b/src/content/teslafest/eq-2020/skyscraper-monster.json new file mode 100644 index 0000000..d16671c --- /dev/null +++ b/src/content/teslafest/eq-2020/skyscraper-monster.json @@ -0,0 +1,233 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Skyscraper Monster", + "releaseDate": "2024-03-16", + "shortdescription": "A rogue assassin has been spotted that randomly onecrits servants - time to stop him as fast as possible", + "releaseNumber": 3 + }, + "quests": [ + { + "questTitle": "Skyscraper Monster", + "description": "A rogue assassin has been spotted that randomly onecrits servants - time to stop him as fast as possible", + "data": [ + { + "title": "Baobhan Sith 2T", + "link": "https://www.youtube.com/watch?v=KgM20h_Y3d0", + "date": "2024-03-17", + "servant": "311", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Sei 2T", + "link": "https://www.youtube.com/watch?v=2XgPUSHqvck", + "date": "2024-03-17", + "servant": "276", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Melusine 2T (FLO)", + "link": "https://www.youtube.com/watch?v=RiBu3tNtimU", + "date": "2024-03-17", + "servant": "312_st", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Romulus 2T (NoCE)", + "link": "https://www.youtube.com/watch?v=0DAcqHq9xdU", + "date": "2024-03-19", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Ereshkigal 2T", + "link": "https://www.youtube.com/watch?v=tmVdPXf7LbU", + "date": "2024-03-17", + "servant": "196", + "turns": "2T", + "runner": "Conry" + }, + { + "title": "Izumo no Okuni 2T", + "link": "https://www.youtube.com/watch?v=YE5SNty6Ci8", + "date": "2024-03-16", + "servant": "327", + "turns": "2T", + "runner": "Kamager III" + }, + { + "title": "Izumo no Okuni 2T (10Cost)", + "link": "https://www.youtube.com/watch?v=of5avLvMihw", + "date": "2024-03-18", + "servant": "327", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Illya 2T (FLO)", + "link": "https://www.youtube.com/watch?v=hSzGgc1mP-U", + "date": "2024-03-22", + "servant": "136", + "turns": "2T", + "runner": "Zoropp" + }, + { + "title": "Nero Caster 2T (FLO NoCE)", + "link": "https://twitter.com/LutrecTA/status/1769746018113831158", + "date": "2024-03-18", + "servant": "175", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Shuten Caster 2T", + "link": "https://www.youtube.com/watch?v=y0Cls8YiWeI", + "date": "2024-03-17", + "servant": "225", + "turns": "2T", + "runner": "Tinesh" + }, + { + "title": "Merlin 2T", + "link": "https://www.youtube.com/watch?v=IXx86fVnbSk", + "date": "2024-03-16", + "servant": "150", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Merlin 2T", + "link": "https://www.youtube.com/watch?v=yHGt8CQ2Rs8", + "date": "2024-03-18", + "servant": "150", + "turns": "2T", + "runner": "Ise(Kai)" + }, + { + "title": "Skadi 2T", + "link": "https://www.youtube.com/watch?v=aSTr2G7IW_M", + "date": "2024-03-17", + "servant": "215", + "turns": "2T", + "runner": "Firq" + }, + { + "title": "Castoria 2T", + "link": "https://www.youtube.com/watch?v=NG7iI5febaQ", + "date": "2024-03-21", + "servant": "284", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Miss Crane 2T (FLO)", + "link": "https://www.youtube.com/watch?v=ymjOgTgmnPQ", + "date": "2024-03-18", + "servant": "307", + "turns": "2T", + "runner": "QP Dangerous" + }, + { + "title": "Hans 2T", + "link": "https://www.youtube.com/watch?v=nZftQeoFBds", + "date": "2024-03-18", + "servant": "33", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Jekyll & Hyde 2T", + "link": "https://www.youtube.com/watch?v=v_s7mKBWNyc", + "date": "2024-03-18", + "servant": "81", + "turns": "2T", + "runner": "Rikohaiji" + }, + { + "title": "Arjuna Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=iWYMM6C3vbQ", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Arjuna Alter 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=0A1B2Yc_NVw", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=susehGkuxfQ", + "date": "2024-03-16", + "servant": "309", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Morgan 2T (FLO NoCE NoNP)", + "link": "https://www.youtube.com/watch?v=lA_t9fNV6Nk", + "date": "2024-03-16", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Summer Jalter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=PKrPJNndlW0", + "date": "2024-03-16", + "servant": "219", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Summer Sei 2T", + "link": "https://www.youtube.com/watch?v=QZpVNKGouyg", + "date": "2024-03-16", + "servant": "323", + "turns": "2T", + "runner": "Ise(Kai)" + }, + { + "title": "Tamamo Cat 2T (FLO)", + "link": "https://www.youtube.com/watch?v=_VhJwYMiUB4", + "date": "2024-03-19", + "servant": "58", + "turns": "2T", + "runner": "Rikohaiji" + }, + { + "title": "Cu Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=EcoE7REerfg", + "date": "2024-03-16", + "servant": "98", + "turns": "2T", + "runner": "Ryougi Bobby" + }, + { + "title": "Taira 2T", + "link": "https://www.youtube.com/watch?v=XuM9Eq2CZJY", + "date": "2024-03-16", + "servant": "303", + "turns": "2T", + "runner": "Anthony J" + }, + { + "title": "Okita Alter 2T", + "link": "https://www.youtube.com/watch?v=7j03DlcgHIE", + "date": "2024-03-16", + "servant": "209", + "turns": "2T", + "runner": "Blocklv55" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2020/sweet-universe.json b/src/content/teslafest/eq-2020/sweet-universe.json new file mode 100644 index 0000000..b22bca9 --- /dev/null +++ b/src/content/teslafest/eq-2020/sweet-universe.json @@ -0,0 +1,257 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Sweets Universe", + "releaseDate": "2024-03-17", + "shortdescription": "Ah, a berserker enemy with .... 10 MILLION HP?????? Welp, time to burst this in a single turn", + "releaseNumber": 6 + }, + "quests": [ + { + "questTitle": "Sweets Universe", + "description": "Ah, a berserker enemy with .... 10 MILLION HP?????? Welp, time to burst this in a single turn", + "data": [ + { + "title": "Maou Nobu 3T", + "link": "https://www.youtube.com/watch?v=bdimFAP0cXc", + "date": "2024-03-17", + "servant": "250", + "turns": "3T", + "runner": "Ray the II" + }, + { + "title": "Musashi 2T", + "link": "https://www.youtube.com/watch?v=S3omeS0AYgo", + "date": "2024-03-24", + "servant": "153", + "turns": "2T", + "runner": "Sunder" + }, + { + "title": "Musashi 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=ybK4XV7v7e0", + "date": "2024-03-27", + "servant": "153", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Ibuki 2T", + "link": "https://www.youtube.com/watch?v=VLgnnmx4D7g", + "date": "2024-03-17", + "servant": "299", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Saber Alter 2T", + "link": "https://www.youtube.com/watch?v=KNEK2fL-ptw", + "date": "2024-03-24", + "servant": "3", + "turns": "2T", + "runner": "Shawn Sun" + }, + { + "title": "Nero Bride 2T (w. Casgil & Medb)", + "link": "https://www.youtube.com/watch?v=1Blot2gjslw", + "date": "2024-04-11", + "servant": "90", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Romulus 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=ltv8Cr0GPPg", + "date": "2024-03-22", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=QtofiRzGGXw", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=v9TIfEXx_HU", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "Felt" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=LKX3jLg57q4", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=TRwF6JU4BEQ", + "date": "2024-03-17", + "servant": "312_aoe", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Karna 2T", + "link": "https://www.youtube.com/watch?v=CqQcZFWZwCk", + "date": "2024-03-17", + "servant": "85", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Scathach 2T", + "link": "https://www.youtube.com/watch?v=_mKuvVL7KtU", + "date": "2024-03-17", + "servant": "70", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Ozymandias 2T", + "link": "https://www.youtube.com/watch?v=3n-OPY99Qcw", + "date": "2024-03-17", + "servant": "118", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Illya 2T", + "link": "https://www.youtube.com/watch?v=S7VWJyJWRd8", + "date": "2024-03-22", + "servant": "136", + "turns": "2T", + "runner": "MCR" + }, + { + "title": "Charlotte Summer 2T", + "link": "https://www.youtube.com/watch?v=_Bok9VXgRmA", + "date": "2024-03-17", + "servant": "319", + "turns": "2T", + "runner": "Dante" + }, + { + "title": "MHX 2T", + "link": "https://www.youtube.com/watch?v=GGnzoHtHGbs", + "date": "2024-03-17", + "servant": "86", + "turns": "2T", + "runner": "Ayumi" + }, + { + "title": "Koyanskaya of Light 2T", + "link": "https://www.youtube.com/watch?v=HfQte4l549A", + "date": "2024-03-27", + "servant": "314", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Arjuna Alter 2T", + "link": "https://www.youtube.com/watch?v=8xsxfCBv4FE", + "date": "2024-03-22", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=eDZr8a2BrZs", + "date": "2024-03-22", + "servant": "309", + "turns": "2T", + "runner": "Ray" + }, + { + "title": "Cu Alter 2T", + "link": "https://www.youtube.com/watch?v=6cMEXtmgBTM", + "date": "2024-03-22", + "servant": "98", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Astrea 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=PAsyKNWPsfg", + "date": "2024-03-28", + "servant": "242", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Da Vinci Ruler 2T", + "link": "https://twitter.com/LutrecTA/status/1770049305702813787", + "date": "2024-03-19", + "servant": "320", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Jalter 2T (w. Elizabeth)", + "link": "https://www.youtube.com/watch?v=iwVJRGk-tO4", + "date": "2024-03-18", + "servant": "106", + "turns": "2T", + "runner": "Ray the II" + }, + { + "title": "Jalter 2T", + "link": "https://www.youtube.com/watch?v=m7OBOU7DBk4", + "date": "2024-03-17", + "servant": "106", + "turns": "2T", + "runner": "Ray" + }, + { + "title": "Jalter 2T (NoCE)", + "link": "https://twitter.com/santoryuiai3/status/1770250552619814933", + "date": "2024-03-20", + "servant": "106", + "turns": "2T", + "runner": "Ray" + }, + { + "title": "Taira 2T", + "link": "https://www.youtube.com/watch?v=EgfPk-cSXus", + "date": "2024-03-17", + "servant": "303", + "turns": "2T", + "runner": "Felt" + }, + { + "title": "Space Ishtar 2T", + "link": "https://www.youtube.com/watch?v=lWlcu4W_4Go", + "date": "2024-03-21", + "servant": "268", + "turns": "2T", + "runner": "Nirrin" + }, + { + "title": "Koyanskaya of Darkness 2T", + "link": "https://www.youtube.com/watch?v=3zydh0QEmu0", + "date": "2024-03-19", + "servant": "334", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Abby 2T", + "link": "https://www.youtube.com/watch?v=FftWUVnah2I", + "date": "2024-03-19", + "servant": "195", + "turns": "2T", + "runner": "Sol Sovereign" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/bewitched.json b/src/content/teslafest/eq-2021/bewitched.json new file mode 100644 index 0000000..c9ddf6b --- /dev/null +++ b/src/content/teslafest/eq-2021/bewitched.json @@ -0,0 +1,241 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "BE-Witched (Curse)", + "releaseDate": "2024-03-19", + "shortdescription": "Now now, how to deal with a Eric charmed and cheered on by the love of his life?", + "releaseNumber": 2 + }, + "quests": [ + { + "questTitle": "BE-Witched (Curse)", + "description": "Now now, how to deal with a Eric charmed and cheered on by the love of his life?", + "data": [ + { + "title": "Sigurd 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=rpeRrBzZ8y4", + "date": "2024-03-22", + "servant": "213", + "turns": "3T", + "runner": "ProbablyAParrot" + }, + { + "title": "Nero Bride 3T (F2P Support)", + "link": "https://www.youtube.com/watch?v=DpUiSyzOyXQ", + "date": "2024-03-25", + "servant": "90", + "turns": "3T", + "runner": "Infernia Rosarum" + }, + { + "title": "Nero Bride 3T (Lvl. 2)", + "link": "https://twitter.com/LutrecTA/status/1771177568747635118", + "date": "2024-03-22", + "servant": "90", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Gilgamesh 3T", + "link": "https://www.youtube.com/watch?v=q6yMWO2LFUM", + "date": "2024-03-20", + "servant": "12", + "turns": "3T", + "runner": "Gorgeous P." + }, + { + "title": "Fujino 3T", + "link": "https://www.youtube.com/watch?v=CFlUil7cXqE", + "date": "2024-03-25", + "servant": "200", + "turns": "3T", + "runner": "Blocklv55" + }, + { + "title": "Baobhan Sith 3T", + "link": "https://www.youtube.com/watch?v=6whjNuNHnnI", + "date": "2024-03-24", + "servant": "311", + "turns": "3T", + "runner": "Nyxi" + }, + { + "title": "Summer Illya 3T", + "link": "https://www.youtube.com/watch?v=wVloyS4HwSo", + "date": "2024-03-21", + "servant": "286", + "turns": "3T", + "runner": "zoropp" + }, + { + "title": "Brynhild 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=gVusXCtt0g8", + "date": "2024-03-21", + "servant": "88", + "turns": "3T", + "runner": "SigrdrΓfa" + }, + { + "title": "Romulus 3T (3 Cost)", + "link": "https://www.youtube.com/watch?v=O9COj4g60-M", + "date": "2024-03-28", + "servant": "280", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Melusine 3T (Lvl. 1)", + "link": "https://www.youtube.com/watch?v=WH7G1uBtEHk", + "date": "2024-03-22", + "servant": "312_st", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Taiga 3T", + "link": "https://www.youtube.com/watch?v=V95BpzpFWoI", + "date": "2024-03-25", + "servant": "148", + "turns": "3T", + "runner": "Taiga" + }, + { + "title": "Ozymandias 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=H7zBBN7RUXo", + "date": "2024-03-19", + "servant": "118", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Summer Caenis 3T (FLO)", + "link": "https://www.youtube.com/watch?v=dfOFE-vF-vI", + "date": "2024-03-20", + "servant": "322", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Rider Ishtar 3T", + "link": "https://www.youtube.com/watch?v=_IpVYgtMOqI", + "date": "2024-03-22", + "servant": "182", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Sanzang 3T", + "link": "https://www.youtube.com/watch?v=BdpfqnGsCyA&t=224s", + "date": "2024-03-19", + "servant": "113", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Castoria 3T", + "link": "https://www.youtube.com/watch?v=kYn5Ubz4g9o", + "date": "2024-03-22", + "servant": "284", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Miss Crane 3T", + "link": "https://www.youtube.com/watch?v=iikUbWWA-Xc", + "date": "2024-03-22", + "servant": "307", + "turns": "3T", + "runner": "QP Dangerous" + }, + { + "title": "Kojirou 3T", + "link": "https://www.youtube.com/watch?v=cITjpOzF7vg", + "date": "2024-03-22", + "servant": "39", + "turns": "3T", + "runner": "Conry" + }, + { + "title": "Jekyll & Hyde 3T (4man)", + "link": "https://www.youtube.com/watch?v=m6ZJIfeTtWU", + "date": "2024-03-19", + "servant": "81", + "turns": "3T", + "runner": "Rikohaiji" + }, + { + "title": "Stheno 3T", + "link": "https://www.youtube.com/watch?v=eUWnXU7Xgjs", + "date": "2024-03-25", + "servant": "41", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Morgan 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=Ok4ylQvEjwA", + "date": "2024-03-23", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Morgan 3T (6 Cost)", + "link": "https://www.youtube.com/watch?v=zrMN7DeyHIw", + "date": "2024-03-19", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Arjuna Alter 3T (6 Cost)", + "link": "https://www.youtube.com/watch?v=upGvLuoe2L4", + "date": "2024-03-28", + "servant": "247", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Da Vinci Ruler 3T (FLO)", + "link": "https://www.youtube.com/watch?v=m7hsS5ppPaI", + "date": "2024-03-20", + "servant": "320", + "turns": "3T", + "runner": "Tinesh" + }, + { + "title": "Taira 3T (FLO)", + "link": "https://www.youtube.com/watch?v=JOaUhugHI6U", + "date": "2024-03-20", + "servant": "303", + "turns": "3T", + "runner": "Anthony J" + }, + { + "title": "Summer Kama 3T", + "link": "https://www.youtube.com/watch?v=-v0-vGpG-gI", + "date": "2024-03-19", + "servant": "321", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Bazett 2T", + "link": "https://www.youtube.com/watch?v=kMQzJlKvMrs", + "date": "2024-03-19", + "servant": "336", + "turns": "2T", + "runner": "First_TLN" + }, + { + "title": "Bazett 2T (3 Cost)", + "link": "https://www.youtube.com/watch?v=nx50uGiCYNw", + "date": "2024-03-24", + "servant": "336", + "turns": "2T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/bride-main-event.json b/src/content/teslafest/eq-2021/bride-main-event.json new file mode 100644 index 0000000..979508b --- /dev/null +++ b/src/content/teslafest/eq-2021/bride-main-event.json @@ -0,0 +1,161 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Main Event - Final Match", + "releaseDate": "2024-03-19", + "shortdescription": "The old guard from Nerofest - let's see how their fighting powers aged over the downtime", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Main Event - Final Match", + "description": "The old guard from Nerofest - let's see how their fighting powers aged over the downtime", + "data": [ + { + "title": "Artoria 2T", + "link": "https://www.youtube.com/watch?v=xomwwyFIJAY", + "date": "2024-03-22", + "servant": "2", + "turns": "2T", + "runner": "Tinesh" + }, + { + "title": "Ibuki 2T", + "link": "https://www.youtube.com/watch?v=rKV3hiVP_jg", + "date": "2024-03-19", + "servant": "299", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=N1nQev7Vxag", + "date": "2024-03-19", + "servant": "312_aoe", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Melusine 2T", + "link": "https://www.youtube.com/watch?v=TgeO9w_xkXI", + "date": "2024-03-20", + "servant": "312_aoe", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Romulus 2T", + "link": "https://www.youtube.com/watch?v=oaJCHQgFWGc", + "date": "2024-03-27", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Ivan 2T", + "link": "https://www.youtube.com/watch?v=7VVT3ibdx3w", + "date": "2024-03-24", + "servant": "205", + "turns": "2T", + "runner": "ProbablyAParrot" + }, + { + "title": "Nero Caster 2T", + "link": "https://www.youtube.com/watch?v=PrR2elnsCD8", + "date": "2024-03-22", + "servant": "175", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=eG1SIfC8FCU", + "date": "2024-03-19", + "servant": "309", + "turns": "2T", + "runner": "Gorgeous P." + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=xqXIW6V-Xj0", + "date": "2024-03-26", + "servant": "309", + "turns": "2T", + "runner": "Nyxi" + }, + { + "title": "Morgan 2T (FLO)", + "link": "https://www.youtube.com/watch?v=vtzwVCVX1DY", + "date": "2024-03-19", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Arjuna Alter 2T", + "link": "https://www.youtube.com/watch?v=BdpfqnGsCyA", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Liz Happy Club" + }, + { + "title": "Arjuna Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=WhLmfJrZyTA", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Arjuna Alter 2T (FLO)", + "link": "https://www.youtube.com/watch?v=AIVvSa8fOdk", + "date": "2024-03-27", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Summer Musashi 2T", + "link": "https://www.youtube.com/watch?v=4MSIbjrEA7M", + "date": "2024-03-19", + "servant": "261", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Darius 2T", + "link": "https://www.youtube.com/watch?v=kNYP36Pcfe8", + "date": "2024-03-24", + "servant": "55", + "turns": "2T", + "runner": "TR" + }, + { + "title": "Darius 2T", + "link": "https://www.youtube.com/watch?v=0gUC07HUbKk", + "date": "2024-03-22", + "servant": "55", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Space Ishtar 2T", + "link": "https://www.youtube.com/watch?v=uKEdeu6DJTs", + "date": "2024-03-25", + "servant": "268", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Koyanskaya of Darkness 2T", + "link": "https://www.youtube.com/watch?v=HlF9zmw5XbE", + "date": "2024-03-23", + "servant": "334", + "turns": "2T", + "runner": "Alastair Hale" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/catch-the-clown.json b/src/content/teslafest/eq-2021/catch-the-clown.json new file mode 100644 index 0000000..ac5421c --- /dev/null +++ b/src/content/teslafest/eq-2021/catch-the-clown.json @@ -0,0 +1,145 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Capture the Clown!", + "releaseDate": "2024-03-20", + "shortdescription": "Why are you running? Why are you running? Mephisto, why are you running???", + "releaseNumber": 4 + }, + "quests": [ + { + "questTitle": "Capture the Clown!", + "description": "Why are you running? Why are you running? Mephisto, why are you running???", + "data": [ + { + "title": "Altera 3T", + "link": "https://www.youtube.com/watch?v=foNiMNDPAuI", + "date": "2024-03-25", + "servant": "8", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Nero 3T", + "link": "https://twitter.com/LutrecTA/status/1772959434513293518", + "date": "2024-03-27", + "servant": "5", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Gilgamesh 3T (4man)", + "link": "https://www.youtube.com/watch?v=fnO6buimUqg", + "date": "2024-03-20", + "servant": "12", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Melusine 3T", + "link": "https://www.youtube.com/watch?v=YhLV3ARYBSw", + "date": "2024-03-25", + "servant": "312_aoe", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Summer Caenis 3T", + "link": "https://www.youtube.com/watch?v=3VPZnvqvev4", + "date": "2024-03-20", + "servant": "322", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Drake 3T", + "link": "https://www.youtube.com/watch?v=JPS48CxAXIY", + "date": "2024-03-28", + "servant": "65", + "turns": "3T", + "runner": "Tinesh" + }, + { + "title": "Drake 3T (4man)", + "link": "https://www.youtube.com/watch?v=J2t-WEV6hJk", + "date": "2024-03-24", + "servant": "65", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Arjuna Alter 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=2N-JXjXBBU0", + "date": "2024-03-27", + "servant": "247", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Arjuna Alter 3T (NDCE 5man)", + "link": "https://www.youtube.com/watch?v=ItA5mW3SwGk", + "date": "2024-03-23", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Arjuna Alter 3T (NoCE 4man)", + "link": "https://www.youtube.com/watch?v=NIiZsn-TBdg", + "date": "2024-03-31", + "servant": "247", + "turns": "3T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=BKiMQwQPRjM", + "date": "2024-03-20", + "servant": "309", + "turns": "3T", + "runner": "im poketar" + }, + { + "title": "Morgan 3T", + "link": "https://www.youtube.com/watch?v=aVgm6kfjNNA", + "date": "2024-03-22", + "servant": "309", + "turns": "3T", + "runner": "Gorgeous P." + }, + { + "title": "Morgan 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=E8aWa7GdTqE", + "date": "2024-03-20", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Bazett 2T", + "link": "https://www.youtube.com/watch?v=pAeBIcdtAgg", + "date": "2024-03-20", + "servant": "336", + "turns": "2T", + "runner": "First_TLN" + }, + { + "title": "Bazett 2T", + "link": "https://www.youtube.com/watch?v=1xaPz3sVxqA", + "date": "2024-03-21", + "servant": "336", + "turns": "2T", + "runner": "GregoryZero" + }, + { + "title": "Koyanskaya of Darkness 3T", + "link": "https://www.youtube.com/watch?v=0Yx9jxEU0eU", + "date": "2024-03-29", + "servant": "334", + "turns": "3T", + "runner": "Alastair Hale" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/crimson-hero.json b/src/content/teslafest/eq-2021/crimson-hero.json new file mode 100644 index 0000000..d83c3b8 --- /dev/null +++ b/src/content/teslafest/eq-2021/crimson-hero.json @@ -0,0 +1,16 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Legend of the Crimson Hero - HD Remastered", + "releaseDate": "2024-03-21", + "shortdescription": "Let's go onto an adventure with Brave Liz, the Hero that will save us all", + "releaseNumber": 5 + }, + "quests": [ + { + "questTitle": "Legend of the Crimson Hero - HD Remastered", + "description": "Sadly, nobody did any runs on this - now Liz is sad :(", + "data": [] + } + ] +} diff --git a/src/content/teslafest/eq-2021/finale-ii.json b/src/content/teslafest/eq-2021/finale-ii.json new file mode 100644 index 0000000..e551b3a --- /dev/null +++ b/src/content/teslafest/eq-2021/finale-ii.json @@ -0,0 +1,185 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Finale - The Eternal City Triumphus", + "releaseDate": "2024-03-22", + "shortdescription": "You are Rome, you are Rome - We all are Rome", + "releaseNumber": 7 + }, + "quests": [ + { + "questTitle": "Finale - The Eternal City Triumphus", + "description": "You are Rome, you are Rome - We all are Rome ... well, time to demolisch Rome, then", + "data": [ + { + "title": "Musashi 3T", + "link": "https://www.youtube.com/watch?v=N1_fKU3N6eM", + "date": "2024-03-22", + "servant": "153", + "turns": "3T", + "runner": "Ryougi Bobby" + }, + { + "title": "Musashi 3T", + "link": "https://www.youtube.com/watch?v=-YiKOerg-JQ", + "date": "2024-03-26", + "servant": "153", + "turns": "3T", + "runner": "SigrdrΓfa" + }, + { + "title": "Musashi 3T", + "link": "https://www.youtube.com/watch?v=ivlzuhjRmQs", + "date": "2024-03-22", + "servant": "153", + "turns": "3T", + "runner": "First_TLN" + }, + { + "title": "Musashi 3T", + "link": "https://twitter.com/LutrecTA/status/1771597714309927260", + "date": "2024-03-23", + "servant": "153", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Musashi 3T", + "link": "https://www.youtube.com/watch?v=Uh3qycGalF4", + "date": "2024-03-23", + "servant": "153", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Musashi 3T (NoCE)", + "link": "https://www.youtube.com/watch?v=dj8yoMdEwkY", + "date": "2024-03-26", + "servant": "153", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Sigurd 3T (NCDE)", + "link": "https://www.youtube.com/watch?v=FDFcW8usavE", + "date": "2024-03-23", + "servant": "213", + "turns": "3T", + "runner": "ProbablyAParrot" + }, + { + "title": "Beni-Enma 3T", + "link": "https://www.youtube.com/watch?v=8GRvuL3BLEk", + "date": "2024-03-22", + "servant": "234", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Beni-Enma 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=IvTK0Q0JfsY", + "date": "2024-03-27", + "servant": "234", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Bedivere 3T", + "link": "https://www.youtube.com/watch?v=6WKnji9jctc", + "date": "2024-03-22", + "servant": "126", + "turns": "3T", + "runner": "Ray the II" + }, + { + "title": "Summer Hokusai 3T", + "link": "https://www.youtube.com/watch?v=Ly3K6wUapSE", + "date": "2024-03-22", + "servant": "264", + "turns": "3T", + "runner": "Tinesh" + }, + { + "title": "Summer Hokusai 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=4NuCMMovksg", + "date": "2024-03-25", + "servant": "264", + "turns": "3T", + "runner": "inv4der" + }, + { + "title": "Muramasa 3T", + "link": "https://www.youtube.com/watch?v=MsiloyQxDfs", + "date": "2024-03-23", + "servant": "302", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Muramasa 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=ge_PU19eMWM", + "date": "2024-03-25", + "servant": "302", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Saber Alter 3T", + "link": "https://www.youtube.com/watch?v=Moe1-i-NVX8", + "date": "2024-03-29", + "servant": "3", + "turns": "3T", + "runner": "Shawn Sun" + }, + { + "title": "Melusine 3T", + "link": "https://www.youtube.com/watch?v=ahGiqivoUqA", + "date": "2024-03-22", + "servant": "312_st", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Li Shuwen 3T", + "link": "https://www.youtube.com/watch?v=R5XkPmaImWE", + "date": "2024-03-25", + "servant": "235", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "MHXA 3T", + "link": "https://www.youtube.com/watch?v=01WPieF-EAQ", + "date": "2024-03-22", + "servant": "155", + "turns": "3T", + "runner": "Ayumi" + }, + { + "title": "Morgan 3T", + "link": "https://twitter.com/santoryuiai3/status/1771260206090965013", + "date": "2024-03-22", + "servant": "309", + "turns": "3T", + "runner": "Ray" + }, + { + "title": "Arjuna Alter 3T", + "link": "https://www.youtube.com/watch?v=VElGV2WdQQQ", + "date": "2024-03-22", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Yang Guifei 3T", + "link": "https://www.youtube.com/watch?v=F0mVvLtx9uE", + "date": "2024-03-24", + "servant": "275", + "turns": "3T", + "runner": "Requiem" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/gorgon-sisters.json b/src/content/teslafest/eq-2021/gorgon-sisters.json new file mode 100644 index 0000000..ad50ac0 --- /dev/null +++ b/src/content/teslafest/eq-2021/gorgon-sisters.json @@ -0,0 +1,185 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "The Lovely Gorgon Sisters", + "releaseDate": "2024-03-20", + "shortdescription": "Bullying the two sisters that in turn bully her Nee-san - what could go wrong (or right)?", + "releaseNumber": 3 + }, + "quests": [ + { + "questTitle": "The Lovely Gorgon Sisters", + "description": "Bullying the two sisters that in turn bully her Nee-san - what could go wrong (or right)?", + "data": [ + { + "title": "Ibuki 2T", + "link": "https://www.youtube.com/watch?v=nXqrqBPpMik", + "date": "2024-03-20", + "servant": "299", + "turns": "2T", + "runner": "inv4der" + }, + { + "title": "Summer Illya 2T", + "link": "https://www.youtube.com/watch?v=n9r7K8762ck", + "date": "2024-03-28", + "servant": "286", + "turns": "2T", + "runner": "zoropp" + }, + { + "title": "Romulus 2T", + "link": "https://www.youtube.com/watch?v=gOID1sTtcVI", + "date": "2024-03-28", + "servant": "280", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Melusine 2T (FLO)", + "link": "https://www.youtube.com/watch?v=_UThC-CN6do", + "date": "2024-03-20", + "servant": "312_aoe", + "turns": "2T", + "runner": "Hentai Daddi" + }, + { + "title": "Melusine 2T (FLO)", + "link": "https://www.youtube.com/watch?v=sDuE9IZQ7Ok", + "date": "2024-03-20", + "servant": "312_aoe", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Nero Caster 2T", + "link": "https://twitter.com/LutrecTA/status/1772372664838963480", + "date": "2024-03-25", + "servant": "175", + "turns": "2T", + "runner": "Lutrec" + }, + { + "title": "Arjuna Alter 2T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=2GczluPBHcc", + "date": "2024-03-20", + "servant": "247", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Arjuna Alter 2T (16 Cost)", + "link": "https://www.youtube.com/watch?v=ly6DVlDfcXY", + "date": "2024-03-28", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=z7AzI8SGTv8", + "date": "2024-03-20", + "servant": "309", + "turns": "2T", + "runner": "First_TLN" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=Dm2oe-QbK04", + "date": "2024-03-20", + "servant": "309", + "turns": "2T", + "runner": "Liz Happy Club" + }, + { + "title": "Morgan 2T", + "link": "https://www.youtube.com/watch?v=nBwl3M77GF8", + "date": "2024-03-21", + "servant": "309", + "turns": "2T", + "runner": "Gorgeous P." + }, + { + "title": "Morgan 2T (20 Cost)", + "link": "https://www.youtube.com/watch?v=rwGo5R9DP3A", + "date": "2024-03-21", + "servant": "309", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "Morgan 2T (16 Cost)", + "link": "https://www.youtube.com/watch?v=fQiE5xc2Dv8", + "date": "2024-03-23", + "servant": "309", + "turns": "2T", + "runner": "Volcanicz" + }, + { + "title": "Tamamo Cat 2T", + "link": "https://www.youtube.com/watch?v=nE3mNXVQC04", + "date": "2024-03-29", + "servant": "58", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Maou Nobu 2T (NoCE)", + "link": "https://www.youtube.com/watch?v=hzmKa2vrgAk", + "date": "2024-03-25", + "servant": "250", + "turns": "2T", + "runner": "SigrdrΓfa" + }, + { + "title": "Summer Kama 2T", + "link": "https://www.youtube.com/watch?v=axPQJS41hos", + "date": "2024-03-20", + "servant": "321", + "turns": "2T", + "runner": "Kamager III" + }, + { + "title": "Kingprotea 2T", + "link": "https://www.youtube.com/watch?v=wH6ItkkT5wM", + "date": "2024-03-20", + "servant": "238", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Summer BB 2T", + "link": "https://www.youtube.com/watch?v=1xNZTeC-lzY", + "date": "2024-03-29", + "servant": "220", + "turns": "2T", + "runner": "zoropp" + }, + { + "title": "Koyanskaya of Darkness 2T (FLO)", + "link": "https://www.youtube.com/watch?v=02utpNgpwTI", + "date": "2024-03-23", + "servant": "334", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Voyager 2T", + "link": "https://www.youtube.com/watch?v=JHTWwb8L0J0", + "date": "2024-03-21", + "servant": "281", + "turns": "2T", + "runner": "Kamager III" + }, + { + "title": "Sigurd 3T", + "link": "https://www.youtube.com/watch?v=2WV4nB45Mx0", + "date": "2024-03-22", + "servant": "213", + "turns": "3T", + "runner": "ProbablyAParrot" + } + ] + } + ] +} diff --git a/src/content/teslafest/eq-2021/green-comet.json b/src/content/teslafest/eq-2021/green-comet.json new file mode 100644 index 0000000..c53e14c --- /dev/null +++ b/src/content/teslafest/eq-2021/green-comet.json @@ -0,0 +1,121 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "The Green Comet", + "releaseDate": "2024-03-21", + "shortdescription": "When Achillis decends, he brings with him destruction ...", + "releaseNumber": 6 + }, + "quests": [ + { + "questTitle": "The Green Comet", + "description": "When Achillis decends, he brings with him destruction - time to teach him that this is a bad thing!", + "data": [ + { + "title": "Kama 2T", + "link": "https://www.youtube.com/watch?v=re1Po7O_kxM", + "date": "2024-03-23", + "servant": "239", + "turns": "2T", + "runner": "Requiem" + }, + { + "title": "Arjuna Alter 2T", + "link": "https://www.youtube.com/watch?v=6IabkracLbs", + "date": "2024-03-31", + "servant": "247", + "turns": "2T", + "runner": "Sakazuki" + }, + { + "title": "Arjuna Alter 2T", + "link": "https://www.youtube.com/watch?v=55bFPChv1bw", + "date": "2024-03-21", + "servant": "247", + "turns": "2T", + "runner": "Akise" + }, + { + "title": "Kintoki 2T", + "link": "https://www.youtube.com/watch?v=l4xOU8GRATc", + "date": "2024-03-24", + "servant": "51", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Bazett 2T", + "link": "https://www.youtube.com/watch?v=F-ueNp9AP8M", + "date": "2024-03-25", + "servant": "336", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Summer Tamamo 3T", + "link": "https://twitter.com/Certain_Bastard/status/1772404717722689709", + "date": "2024-03-26", + "servant": "128", + "turns": "3T", + "runner": "Certain Bastard" + }, + { + "title": "Ozymandias 3T", + "link": "https://www.youtube.com/watch?v=3LY4IzdN3rQ", + "date": "2024-03-21", + "servant": "118", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Jekyll & Hyde 3T", + "link": "https://www.youtube.com/watch?v=odX-pAx4csU", + "date": "2024-03-21", + "servant": "81", + "turns": "3T", + "runner": "Rikohaiji" + }, + { + "title": "Arjuna Alter 3T", + "link": "https://www.youtube.com/watch?v=2JWVOe7zu-Y&t=25s", + "date": "2024-03-21", + "servant": "247", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Kintoki 3T", + "link": "https://www.youtube.com/watch?v=D8ClWvbnEdM", + "date": "2024-03-21", + "servant": "51", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Kintoki 3T", + "link": "https://www.youtube.com/watch?v=1D0dzlNDOfc", + "date": "2024-03-24", + "servant": "51", + "turns": "3T", + "runner": "Conry" + }, + { + "title": "Cu Alter 3T", + "link": "https://www.youtube.com/watch?v=VoTat-fDwlE", + "date": "2024-03-23", + "servant": "98", + "turns": "3T", + "runner": "Gorgeous P." + }, + { + "title": "Sitonai 3T", + "link": "https://www.youtube.com/watch?v=-WPUn_z8aq4", + "date": "2024-03-26", + "servant": "224", + "turns": "3T", + "runner": "zoropp" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/akihabara-explosion.json b/src/content/teslafest/giga-coil/akihabara-explosion.json new file mode 100644 index 0000000..b94c2e0 --- /dev/null +++ b/src/content/teslafest/giga-coil/akihabara-explosion.json @@ -0,0 +1,49 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Singularity Gets Restored until You Reach Home", + "releaseDate": "2024-03-15", + "shortdescription": "An interesting, multi-stage quest with plenty of interesting twists", + "releaseNumber": 2 + }, + "quests": [ + { + "questTitle": "Singularity Gets Restored until You Reach Home", + "description": "An interesting, multi-stage quest with plenty of interesting twists ... What do you mean 12 Guts stacks is bad quest design????", + "data": [ + { + "title": "Juano 7T (Multicore FLO NoCE)", + "link": "https://www.youtube.com/watch?v=AznMkbg6UMM", + "date": "2024-03-24", + "servant": "247", + "turns": "7T", + "runner": "Akise" + }, + { + "title": "Morgan 7T (Multicore)", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=166s", + "date": "2024-04-11", + "servant": "309", + "turns": "7T", + "runner": "Zectry" + }, + { + "title": "Kintoki 8T (Multicore)", + "link": "https://www.youtube.com/watch?v=QqZsNJwsdns", + "date": "2024-04-05", + "servant": "51", + "turns": "8T", + "runner": "Roz" + }, + { + "title": "Bazett 4T (Multicore)", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=110s", + "date": "2024-03-29", + "servant": "336", + "turns": "4T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/fate-requiem.json b/src/content/teslafest/giga-coil/fate-requiem.json new file mode 100644 index 0000000..3c4ef09 --- /dev/null +++ b/src/content/teslafest/giga-coil/fate-requiem.json @@ -0,0 +1,73 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Child from the Netherworld", + "releaseDate": "2024-03-15", + "shortdescription": "Can Erice stop the racers this time?", + "releaseNumber": 5 + }, + "quests": [ + { + "questTitle": "Child from the Netherworld", + "description": "Can Erice stop the racers this time? Well, she might just if she has more and more ghosts in stock. A real throwback to the Fate/Requiem Collab Event.", + "data": [ + { + "title": "Muramasa 3T", + "link": "https://www.youtube.com/watch?v=gb249dDmfl0", + "date": "2024-03-28", + "servant": "302", + "turns": "3T", + "runner": "Alastair Hale" + }, + { + "title": "Summer Okitan 3T", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=566s", + "date": "2024-03-29", + "servant": "317", + "turns": "3T", + "runner": "Tokuher0" + }, + { + "title": "Saito Hajime 3T", + "link": "https://www.youtube.com/watch?v=QmAmBxJKXWk&t=757s", + "date": "2024-03-27", + "servant": "293", + "turns": "3T", + "runner": "Conry" + }, + { + "title": "Morgan 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=ZLGXjXCW-bE", + "date": "2024-03-27", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Arjuna Alter 3T", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=829s", + "date": "2024-04-11", + "servant": "247", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Summer Musashi 3T", + "link": "https://www.youtube.com/watch?v=yE6Mv6VTnCc&t=876s", + "date": "2024-03-28", + "servant": "261", + "turns": "3T", + "runner": "Patrick Bandeira" + }, + { + "title": "Cu Alter 3T (NoNP)", + "link": "https://www.youtube.com/watch?v=2xMvkmtp-gk", + "date": "2024-04-04", + "servant": "98", + "turns": "3T", + "runner": "Volcanicz" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/gudaguda-2021.json b/src/content/teslafest/giga-coil/gudaguda-2021.json new file mode 100644 index 0000000..05f3507 --- /dev/null +++ b/src/content/teslafest/giga-coil/gudaguda-2021.json @@ -0,0 +1,97 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Raging Billows! Kakare Shibata!", + "releaseDate": "2024-03-15", + "shortdescription": "Stacking defences and damage cut - what an interesting strategy", + "releaseNumber": 6 + }, + "quests": [ + { + "questTitle": "Raging Billows! Kakare Shibata!", + "description": "Stacking defences and damage cut - what an interesting strategy ... Let's see how it works out against the racers", + "data": [ + { + "title": "Sigurd 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=ow5KRkoFWYs", + "date": "2024-03-29", + "servant": "213", + "turns": "3T", + "runner": "ProbablyAParrot" + }, + { + "title": "Barghest 3T", + "link": "https://www.youtube.com/watch?v=tkSdcRKT-bg", + "date": "2024-03-25", + "servant": "310", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Melusine 3T (Asc1/2)", + "link": "https://www.youtube.com/watch?v=yE6Mv6VTnCc&t=1030s", + "date": "2024-03-28", + "servant": "312_st", + "turns": "3T", + "runner": "Patrick Bandeira" + }, + { + "title": "Melusine 3T (Asc1/2)", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=1014s", + "date": "2024-04-11", + "servant": "312_st", + "turns": "3T", + "runner": "zectry" + }, + { + "title": "Morgan 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=tnq0ACSoBZE", + "date": "2024-03-28", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Morgan 3T (NDCE 5Man)", + "link": "https://www.youtube.com/watch?v=PNLeiRqC9wM", + "date": "2024-03-31", + "servant": "309", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Arjuna Alter 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=8d0ZBjI6Pd8", + "date": "2024-03-28", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Cu Alter 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=FjNoeuMgf2w", + "date": "2024-03-29", + "servant": "98", + "turns": "3T", + "runner": "Volcanicz" + }, + { + "title": "Bazett 3T", + "link": "https://www.youtube.com/watch?v=SvQYbPxPGwc&t=1949s", + "date": "2024-03-25", + "servant": "336", + "turns": "3T", + "runner": "Paradise" + }, + { + "title": "Van Gogh 3T", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=691s", + "date": "2024-03-29", + "servant": "295", + "turns": "3T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/saber-wars-2.json b/src/content/teslafest/giga-coil/saber-wars-2.json new file mode 100644 index 0000000..6610167 --- /dev/null +++ b/src/content/teslafest/giga-coil/saber-wars-2.json @@ -0,0 +1,57 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Galaxy Guardian", + "releaseDate": "2024-03-15", + "shortdescription": "The one to keep the Galaxy in order - will her two forms be enough against the racers?", + "releaseNumber": 3 + }, + "quests": [ + { + "questTitle": "Galaxy Guardian", + "description": "The one to keep the Galaxy in order - will her two forms be enough against the racers?", + "data": [ + { + "title": "Sitonai 2T", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=297s", + "date": "2024-03-29", + "servant": "224", + "turns": "2T", + "runner": "TokuHer0" + }, + { + "title": "Bazett 1T (FLO)", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=491s", + "date": "2024-04-11", + "servant": "336", + "turns": "1T", + "runner": "Zectry" + }, + { + "title": "Yang Guifei 2T", + "link": "https://www.youtube.com/watch?v=yE6Mv6VTnCc&t=492s", + "date": "2024-03-28", + "servant": "275", + "turns": "2T", + "runner": "Patrick Bandeira" + }, + { + "title": "Koyanskaya of Darkness 2T", + "link": "https://www.youtube.com/watch?v=uZDNzw9tTWo", + "date": "2024-03-24", + "servant": "334", + "turns": "2T", + "runner": "Loki" + }, + { + "title": "MIXA 2T (NoNP)", + "link": "https://www.youtube.com/watch?v=6AbWuaLxfzM", + "date": "2024-03-26", + "servant": "308", + "turns": "2T", + "runner": "Rikohaiji" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/summer-2021.json b/src/content/teslafest/giga-coil/summer-2021.json new file mode 100644 index 0000000..69eb1d8 --- /dev/null +++ b/src/content/teslafest/giga-coil/summer-2021.json @@ -0,0 +1,97 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Western Ninja Arts Book", + "releaseDate": "2024-03-15", + "shortdescription": "Can Fuuma, his clones and his arsenal of debuffs stop the racers?", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Western Ninja Arts Book", + "description": "Can Fuuma, his clones and his arsenal of debuffs stop the racers? One of the most obnoxious quests in the history of Challenge Quests - and this time, with a harder cap on party cost.", + "data": [ + { + "title": "Skadi 3T", + "link": "https://www.youtube.com/watch?v=VMVus__ZYXE", + "date": "2024-03-30", + "servant": "215", + "turns": "3T", + "runner": "Firq" + }, + { + "title": "Melusine 3T", + "link": "https://www.youtube.com/watch?v=yE6Mv6VTnCc", + "date": "2024-03-28", + "servant": "312_st", + "turns": "3T", + "runner": "Patrick Bandeira" + }, + { + "title": "Ozymandias 3T", + "link": "https://www.youtube.com/watch?v=gv9YuMvfTYM", + "date": "2024-03-24", + "servant": "118", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Sanzang 3T", + "link": "https://www.youtube.com/watch?v=OJrs2Gbh_KI", + "date": "2024-03-24", + "servant": "113", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Okuni 3T", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs", + "date": "2024-04-11", + "servant": "327", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Kojirou 3T", + "link": "https://www.youtube.com/watch?v=QmAmBxJKXWk", + "date": "2024-03-27", + "servant": "39", + "turns": "3T", + "runner": "Conry" + }, + { + "title": "MHXA 3T (NDCE)", + "link": "https://youtu.be/7-fPdCtGaks", + "date": "2024-03-29", + "servant": "155", + "turns": "3T", + "runner": "Requiem" + }, + { + "title": "Morgan 3T (FLO NDCE NoBG)", + "link": "https://youtu.be/ls0p-tsH_10", + "date": "2024-03-24", + "servant": "309", + "turns": "3T", + "runner": "Loki" + }, + { + "title": "Junao 3T (FLO NDCE)", + "link": "https://youtu.be/GX9gqQ0YfW0", + "date": "2024-03-27", + "servant": "247", + "turns": "3T", + "runner": "Akise" + }, + { + "title": "Kintoki 3T", + "link": "https://youtu.be/pITWIii6JjM", + "date": "2024-03-29", + "servant": "51", + "turns": "3T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/valentines-2023.json b/src/content/teslafest/giga-coil/valentines-2023.json new file mode 100644 index 0000000..b0cdaef --- /dev/null +++ b/src/content/teslafest/giga-coil/valentines-2023.json @@ -0,0 +1,41 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "True Love", + "releaseDate": "2024-03-15", + "shortdescription": "Somehow, Orion can now transform - is he a Transformer then?", + "releaseNumber": 4 + }, + "quests": [ + { + "questTitle": "True Love", + "description": "Somehow, Orion can now transform - is he a Transformer then? But to be fair, he really fits in with all the other pigs.", + "data": [ + { + "title": "Percival 4T", + "link": "https://www.youtube.com/watch?v=MGcyhZMkMrs&t=1292s", + "date": "2024-03-28", + "servant": "313", + "turns": "4T", + "runner": "Nyxi" + }, + { + "title": "Ryoma 4T (FLO)", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=581s", + "date": "2024-04-11", + "servant": "329", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Space Ishtar 4T", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=398s", + "date": "2024-03-24", + "servant": "268", + "turns": "4T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/giga-coil/white-day-2023.json b/src/content/teslafest/giga-coil/white-day-2023.json new file mode 100644 index 0000000..5f86a49 --- /dev/null +++ b/src/content/teslafest/giga-coil/white-day-2023.json @@ -0,0 +1,97 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Five Star Idol", + "releaseDate": "2024-03-15", + "shortdescription": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage?", + "releaseNumber": 7 + }, + "quests": [ + { + "questTitle": "Five Star Idol", + "description": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage? Will the racers idol prevail? Let's enjoy the show and see ...", + "data": [ + { + "title": "Baobhan Sith 6T", + "link": "https://www.youtube.com/watch?v=ZBfamgici20", + "date": "2024-03-29", + "servant": "311", + "turns": "6T", + "runner": "Requiem" + }, + { + "title": "Nero 4T", + "link": "https://twitter.com/LutrecTA/status/1773370060603629855", + "date": "2024-03-28", + "servant": "5", + "turns": "4T", + "runner": "Lutrec" + }, + { + "title": "Melusine 4T (2CS)", + "link": "https://www.youtube.com/watch?v=8SLr2KAULIc", + "date": "2024-03-31", + "servant": "312_aoe", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Zenobia 4T", + "link": "https://www.youtube.com/watch?v=RFa_RlhksBs&t=1192s", + "date": "2024-04-11", + "servant": "325", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Morgan 4T (BCE)", + "link": "https://www.youtube.com/watch?v=81N4DhCQ7Io", + "date": "2024-03-27", + "servant": "309", + "turns": "4T", + "runner": "im poketar" + }, + { + "title": "Summer Musashi 4T", + "link": "https://www.youtube.com/watch?v=yE6Mv6VTnCc&t=1175s", + "date": "2024-03-28", + "servant": "261", + "turns": "4T", + "runner": "Patrick Bandeira" + }, + { + "title": "Summer Kama 4T", + "link": "https://www.youtube.com/watch?v=pITWIii6JjM&t=802s", + "date": "2024-03-29", + "servant": "321", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Summer Kama 4T", + "link": "https://www.youtube.com/watch?v=3MYS_V5Rqhw&t=2985s", + "date": "2024-03-25", + "servant": "321", + "turns": "4T", + "runner": "Kamager III" + }, + { + "title": "Summer Kiara 4T", + "link": "https://www.youtube.com/watch?v=SvQYbPxPGwc&t=2113s", + "date": "2024-03-25", + "servant": "285", + "turns": "4T", + "runner": "Paradise" + }, + { + "title": "Ishtar 4T (NDCE)", + "link": "https://www.youtube.com/watch?v=QmAmBxJKXWk&t=1042s", + "date": "2024-03-27", + "servant": "142", + "turns": "4T", + "runner": "Conry" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/amazoness-crisis.json b/src/content/teslafest/mega-coil/amazoness-crisis.json new file mode 100644 index 0000000..d22b3fa --- /dev/null +++ b/src/content/teslafest/mega-coil/amazoness-crisis.json @@ -0,0 +1,113 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Until That Person's Defeated", + "releaseDate": "2024-03-15", + "shortdescription": "Penth fulfilling her role as a CEO without fail - but what about a hostile takeover by racers?", + "releaseNumber": 2 + }, + "quests": [ + { + "questTitle": "Until That Person's Defeated", + "description": "Penth fulfilling her role as a CEO without fail - but what about a hostile takeover by racers?", + "data": [ + { + "title": "Brynhild 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=dkmrzD1X6CQ", + "date": "2024-03-19", + "servant": "88", + "turns": "3T", + "runner": "SigrdrΓfa" + }, + { + "title": "Jekyll & Hyde 3T (4Man)", + "link": "https://www.youtube.com/watch?v=vxAn6PZf2bA", + "date": "2024-04-05", + "servant": "81", + "turns": "3T", + "runner": "Rikohaiji" + }, + { + "title": "Muramasa 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=DeQw_tUWTgo", + "date": "2024-03-24", + "servant": "302", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Artoria 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=EJAhp9Vs_ls", + "date": "2024-03-16", + "servant": "2", + "turns": "2T", + "runner": "Sesshou01" + }, + { + "title": "Gilgamesh 2T", + "link": "https://www.youtube.com/watch?v=p8QkHOC-CgE&t=234s", + "date": "2024-03-25", + "servant": "12", + "turns": "2T", + "runner": "Nyxi" + }, + { + "title": "Arash 2T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=6QkpSKA2YNM", + "date": "2024-03-18", + "servant": "16", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Bradamante 2T (NDCE)", + "link": "https://www.youtube.com/watch?v=k5hIGF3FW3o", + "date": "2024-03-20", + "servant": "232", + "turns": "2T", + "runner": "Alastair Hale" + }, + { + "title": "Drake 2T", + "link": "https://www.youtube.com/watch?v=k5vbEdc_BA4&t=299s", + "date": "2024-03-27", + "servant": "65", + "turns": "2T", + "runner": "Patrick Bandeira" + }, + { + "title": "Taigong Wang 2T (NoCE FLO)", + "link": "https://www.youtube.com/watch?v=HROrOxcVnKQ", + "date": "2024-03-16", + "servant": "331", + "turns": "2T", + "runner": "Ryougi Bobby" + }, + { + "title": "Anastasia 2T (NoCE FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=182s", + "date": "2024-04-09", + "servant": "201", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Arjuna Alter 2T (4Man)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Caren 2T", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=161s", + "date": "2024-03-26", + "servant": "305", + "turns": "2T", + "runner": "TokuHer0" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/christmas-2018.json b/src/content/teslafest/mega-coil/christmas-2018.json new file mode 100644 index 0000000..2059d86 --- /dev/null +++ b/src/content/teslafest/mega-coil/christmas-2018.json @@ -0,0 +1,57 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "March of the Holy Reindeer", + "releaseDate": "2024-03-15", + "shortdescription": "Is this technically ruining Christmas ... naaaah, it's fine", + "releaseNumber": 4 + }, + "quests": [ + { + "questTitle": "March of the Holy Reindeer", + "description": "Is this technically ruining Christmas ... naaaah, it's fine", + "data": [ + { + "title": "Summer Okita Alter 4T", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=409s", + "date": "2024-03-26", + "servant": "317", + "turns": "4T", + "runner": "TokuHer0" + }, + { + "title": "Morgan 4T (Multicore)", + "link": "https://www.youtube.com/watch?v=QYe-8ijdfnI&t=698s", + "date": "2024-03-15", + "servant": "309", + "turns": "4T", + "runner": "Liz Happy Club" + }, + { + "title": "Cleopatra 4T (FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=490s", + "date": "2024-04-09", + "servant": "139", + "turns": "4T", + "runner": "Zectry" + }, + { + "title": "Morgan 4T (w. Jack)", + "link": "https://www.youtube.com/watch?v=EJAhp9Vs_ls&t=338s", + "date": "2024-03-16", + "servant": "309", + "turns": "4T", + "runner": "Sesshou01" + }, + { + "title": "Arjuna Alter 4T (FLO)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8&t=281s", + "date": "2024-03-19", + "servant": "247", + "turns": "4T", + "runner": "Kusanagi" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/halloween-2019.json b/src/content/teslafest/mega-coil/halloween-2019.json new file mode 100644 index 0000000..b27459a --- /dev/null +++ b/src/content/teslafest/mega-coil/halloween-2019.json @@ -0,0 +1,89 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Crime and Punishment - Gray Mustache Must Die", + "releaseDate": "2024-03-15", + "shortdescription": "Confronting an evil mastermind in his lair with his army of mechas - what could be more on point for Moriaty?", + "releaseNumber": 3 + }, + "quests": [ + { + "questTitle": "Crime and Punishment - Gray Mustache Must Die", + "description": "Confronting an evil mastermind in his lair with his army of mechas - what could be more on point for Moriaty?", + "data": [ + { + "title": "Melt Lambda 3T (FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=323s", + "date": "2024-04-09", + "servant": "266", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "Scathach 3T", + "link": "https://www.youtube.com/watch?v=EJAhp9Vs_ls&t=158s", + "date": "2024-03-16", + "servant": "70", + "turns": "3T", + "runner": "Sesshou01" + }, + { + "title": "Bryn 3T (Solo NDCE)", + "link": "https://www.youtube.com/watch?v=2csi-flWJCU", + "date": "2024-03-20", + "servant": "88", + "turns": "3T", + "runner": "SigrdrΓfa" + }, + { + "title": "Percival 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=QYe-8ijdfnI&t=483s", + "date": "2024-03-20", + "servant": "313", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Melusine 3T", + "link": "https://www.youtube.com/watch?v=HPNIxDrSFxc", + "date": "2024-03-19", + "servant": "312_aoe", + "turns": "3T", + "runner": "Yamada II" + }, + { + "title": "Melusine 3T (Lvl. 1)", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=284s", + "date": "2024-03-26", + "servant": "312_st", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Jekyll & Hyde 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=v_WlwqTJYTc", + "date": "2024-04-04", + "servant": "81", + "turns": "3T", + "runner": "Rikohaiji" + }, + { + "title": "Arjuna Alter 3T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8&t=133s", + "date": "2024-03-19", + "servant": "247", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Astrea 3T (Lvl. 2 FLO NDCE)", + "link": "https://www.youtube.com/watch?v=9D6L_47msCw", + "date": "2024-03-21", + "servant": "242", + "turns": "3T", + "runner": "Alastair Hale" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/summer-2018.json b/src/content/teslafest/mega-coil/summer-2018.json new file mode 100644 index 0000000..8f15d88 --- /dev/null +++ b/src/content/teslafest/mega-coil/summer-2018.json @@ -0,0 +1,33 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Super My Home Daddy", + "releaseDate": "2024-03-15", + "shortdescription": "An quest where DOT damage is actually the key to success", + "releaseNumber": 1 + }, + "quests": [ + { + "questTitle": "Super My Home Daddy", + "description": "An quest where DOT damage is actually the key to success - what an achievement (Note: Not all participating servants are listed)", + "data": [ + { + "title": "Multicore - Douman 3T", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA", + "date": "2024-03-26", + "servant": "297", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Multicore - Koyanskaya of Dark 3T", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0", + "date": "2024-04-09", + "servant": "334", + "turns": "3T", + "runner": "Zectry" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/summer-2019.json b/src/content/teslafest/mega-coil/summer-2019.json new file mode 100644 index 0000000..d105213 --- /dev/null +++ b/src/content/teslafest/mega-coil/summer-2019.json @@ -0,0 +1,97 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Heart Pounding! The Grand Decisive Swimsuit Battle!", + "releaseDate": "2024-03-15", + "shortdescription": "Such a collection of swimsuit beauties ... no, must ... beat ... the quest", + "releaseNumber": 7 + }, + "quests": [ + { + "questTitle": "Heart Pounding! The Grand Decisive Swimsuit Battle!", + "description": "Such a collection of swimsuit beauties ... no, must ... beat ... the quest", + "data": [ + { + "title": "Nero 3T (FLO)", + "link": "https://twitter.com/LutrecTA/status/1772766697864249523", + "date": "2024-03-27", + "servant": "5", + "turns": "3T", + "runner": "Lutrec" + }, + { + "title": "Musashi (Summer) 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=agZb8zyHsfY&t=1373s", + "date": "2024-03-16", + "servant": "261", + "turns": "3T", + "runner": "Paradise" + }, + { + "title": "Musashi (Summer) 3T", + "link": "https://www.youtube.com/watch?v=QYe-8ijdfnI&t=1312s", + "date": "2024-03-15", + "servant": "261", + "turns": "3T", + "runner": "Liz Happy Club" + }, + { + "title": "Arjuna Alter 3T (FLO)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8&t=676s", + "date": "2024-03-19", + "servant": "247", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Space Ishtar 3T", + "link": "https://www.youtube.com/watch?v=EJAhp9Vs_ls&t=821s", + "date": "2024-03-16", + "servant": "268", + "turns": "3T", + "runner": "Sesshou01" + }, + { + "title": "Space Ishtar 3T", + "link": "https://www.youtube.com/watch?v=p8QkHOC-CgE&t=1231s", + "date": "2024-03-25", + "servant": "268", + "turns": "3T", + "runner": "Nyxi" + }, + { + "title": "Space Ishtar 3T (NDCE)", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=740s", + "date": "2024-03-26", + "servant": "268", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Summer Kama 3T", + "link": "https://www.youtube.com/watch?v=B2Buu8F2PMI&t=1736s", + "date": "2024-03-17", + "servant": "321", + "turns": "3T", + "runner": "Kamager III" + }, + { + "title": "Summer Kama 3T (FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=989s", + "date": "2024-04-09", + "servant": "321", + "turns": "3T", + "runner": "Zectry" + }, + { + "title": "BB (Summer) 3T", + "link": "https://www.youtube.com/watch?v=qgaWv5dvMe0", + "date": "2024-03-25", + "servant": "220", + "turns": "3T", + "runner": "Rikohaiji" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/valentines-2021.json b/src/content/teslafest/mega-coil/valentines-2021.json new file mode 100644 index 0000000..7574ab0 --- /dev/null +++ b/src/content/teslafest/mega-coil/valentines-2021.json @@ -0,0 +1,105 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "The Librarian's Job", + "releaseDate": "2024-03-15", + "shortdescription": "The Librarians job seems kinda interesting if she always has to deal with books like that", + "releaseNumber": 5 + }, + "quests": [ + { + "questTitle": "The Librarian's Job", + "description": "The Librarians job seems kinda interesting if she always has to deal with books like that - let's see if defeating them also is as much fun", + "data": [ + { + "title": "Sei 2T", + "link": "https://www.youtube.com/watch?v=-Id8YIoJpN0", + "date": "2024-03-17", + "servant": "276", + "turns": "2T", + "runner": "Ise(Kai)" + }, + { + "title": "Kintoki (Rider) 2T (w. Arash)", + "link": "https://www.youtube.com/watch?v=EJAhp9Vs_ls&t=560s", + "date": "2024-03-16", + "servant": "115", + "turns": "2T", + "runner": "Sesshou01" + }, + { + "title": "Odysseus 2T (FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=707s", + "date": "2024-04-09", + "servant": "277", + "turns": "2T", + "runner": "Zectry" + }, + { + "title": "Taigong Wang 2T (FLO NoCE)", + "link": "https://www.youtube.com/watch?v=-3srNDj0opg", + "date": "2024-03-16", + "servant": "331", + "turns": "2T", + "runner": "Ryougi Bobby" + }, + { + "title": "Arjuna Alter 2T (FLO NoCEs)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8&t=413s", + "date": "2024-03-19", + "servant": "247", + "turns": "2T", + "runner": "Kusanagi" + }, + { + "title": "Maou Nobu 2T (FLO NoCEs)", + "link": "https://www.youtube.com/watch?v=_Sb7j2XAT5U", + "date": "2024-03-19", + "servant": "250", + "turns": "2T", + "runner": "SigrdrΓfa" + }, + { + "title": "Bazett 1T (w. Ozy)", + "link": "https://www.youtube.com/watch?v=agZb8zyHsfY&t=1014s", + "date": "2024-03-16", + "servant": "336", + "turns": "1T", + "runner": "Paradise" + }, + { + "title": "Bazett 1T (w. Cindereli)", + "link": "https://www.youtube.com/watch?v=tJLGb9xye6Y", + "date": "2024-03-24", + "servant": "336", + "turns": "1T", + "runner": "Alastair Hale" + }, + { + "title": "Bazett 1T (w. Maid Alter)", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=558s", + "date": "2024-03-26", + "servant": "336", + "turns": "1T", + "runner": "TokuHer0" + }, + { + "title": "Bazett 1T (w. Ozy)", + "link": "https://www.youtube.com/watch?v=QYe-8ijdfnI&t=958s", + "date": "2024-03-15", + "servant": "336", + "turns": "1T", + "runner": "Liz Happy Club" + }, + { + "title": "Bazett 1T (w. Arash)", + "link": "https://www.youtube.com/watch?v=p8QkHOC-CgE&t=797s", + "date": "2024-03-25", + "servant": "336", + "turns": "1T", + "runner": "Nyxi" + } + ] + } + ] +} diff --git a/src/content/teslafest/mega-coil/white-day-2021.json b/src/content/teslafest/mega-coil/white-day-2021.json new file mode 100644 index 0000000..495bd66 --- /dev/null +++ b/src/content/teslafest/mega-coil/white-day-2021.json @@ -0,0 +1,57 @@ +{ + "$schema": "../../../../.astro/collections/teslafest.schema.json", + "info": { + "title": "Rematch at Reichenbach Falls", + "releaseDate": "2024-03-15", + "shortdescription": "A showdown of epic proportions - make sure to bring some defense ignore", + "releaseNumber": 6 + }, + "quests": [ + { + "questTitle": "Rematch at Reichenbach Falls", + "description": "A showdown of epic proportions - make sure to bring some defense ignore", + "data": [ + { + "title": "Jekyll & Hyde 3T", + "link": "https://www.youtube.com/watch?v=v_WlwqTJYTc&t=155s", + "date": "2024-04-04", + "servant": "81", + "turns": "3T", + "runner": "Rikohaiji" + }, + { + "title": "Arjuna Alter 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=pLX_4PDIai8&t=526s", + "date": "2024-03-19", + "servant": "247", + "turns": "3T", + "runner": "Kusanagi" + }, + { + "title": "Xiang Yu 3T (FLO)", + "link": "https://www.youtube.com/watch?v=JdlpwZKanJA&t=641s", + "date": "2024-04-04", + "servant": "226", + "turns": "3T", + "runner": "TokuHer0" + }, + { + "title": "Maou Nobu 3T (FLO NDCE)", + "link": "https://www.youtube.com/watch?v=CvvXasgp-iY", + "date": "2024-03-20", + "servant": "250", + "turns": "3T", + "runner": "SigrdrΓfa" + }, + { + "title": "Taira 3T (FLO)", + "link": "https://www.youtube.com/watch?v=3NebOHW5IC0&t=839s", + "date": "2024-04-04", + "servant": "303", + "turns": "3T", + "runner": "Zectry" + } + ] + } + ] +} diff --git a/src/content/teslafestgroups/eq-2020.json b/src/content/teslafestgroups/eq-2020.json new file mode 100644 index 0000000..73fb69f --- /dev/null +++ b/src/content/teslafestgroups/eq-2020.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../../.astro/collections/teslafestgroups.schema.json", + "info": { + "title": "Exhibition Quests 2020", + "releaseDate": "2024-03-15", + "shortdescription": "The return of the 2020 Nerofest Exhibition Quests - time to go for round 2", + "releaseNumber": 1, + "type": "group" + } +} diff --git a/src/content/teslafestgroups/eq-2021.json b/src/content/teslafestgroups/eq-2021.json new file mode 100644 index 0000000..2c33206 --- /dev/null +++ b/src/content/teslafestgroups/eq-2021.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../../.astro/collections/teslafestgroups.schema.json", + "info": { + "title": "Exhibition Quests 2021", + "releaseDate": "2024-03-15", + "shortdescription": "The return of the 2021 Ishtarfest Exhibition Quests - time to run those again", + "releaseNumber": 2, + "type": "group" + } +} diff --git a/src/content/teslafestgroups/giga-coil.json b/src/content/teslafestgroups/giga-coil.json new file mode 100644 index 0000000..f0c774a --- /dev/null +++ b/src/content/teslafestgroups/giga-coil.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../../.astro/collections/teslafestgroups.schema.json", + "info": { + "title": "Giga Coil", + "releaseDate": "2024-03-15", + "shortdescription": "The second collection of old Challenge Quests that requires strategic of servants - let's go again", + "releaseNumber": 4, + "type": "group" + } +} diff --git a/src/content/teslafestgroups/mega-coil.json b/src/content/teslafestgroups/mega-coil.json new file mode 100644 index 0000000..9b65bc7 --- /dev/null +++ b/src/content/teslafestgroups/mega-coil.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../../.astro/collections/teslafestgroups.schema.json", + "info": { + "title": "Mega Coil", + "releaseDate": "2024-03-15", + "shortdescription": "A collection of old Challenge Quests that requires strategic use of a full servant roster - be prepared", + "releaseNumber": 3, + "type": "group" + } +} \ No newline at end of file diff --git a/static/data/_navdata.json b/src/data/_navdata.json similarity index 63% rename from static/data/_navdata.json rename to src/data/_navdata.json index ea9e90c..68082cd 100644 --- a/static/data/_navdata.json +++ b/src/data/_navdata.json @@ -8,5 +8,10 @@ "link": "/database", "text": "TA Database", "icon": "database" + }, + { + "link": "/teslafest", + "text": "Teslafest", + "icon": "databasestar" } ] diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 6ea5a45..39e99c5 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,11 +1,16 @@ --- import Navbar from '../components/navbar.astro' import NavbarEntry from '../components/navbarEntry.astro' -import navdata from '../../static/data/_navdata.json' +import navdata from '../data/_navdata.json' import embed from '../assets/embed.png' import home from 'iconoir/icons/home.svg' import database from 'iconoir/icons/database.svg' -import type { IconsLookup } from '../types/icons' +import databasestar from 'iconoir/icons/database-star.svg' +import mail from 'iconoir/icons/mail.svg' +import type { IconsLookup } from '../types/generic' + +import workSans800 from '@fontsource/work-sans/files/work-sans-latin-800-normal.woff2?url'; +import workSans600 from '@fontsource/work-sans/files/work-sans-latin-600-normal.woff2?url'; export interface Props { title: string @@ -16,6 +21,8 @@ export interface Props { const icons: IconsLookup = { home: home, database: database, + databasestar: databasestar, + about: mail } const { descriptionOverride, currentpage, title } = Astro.props @@ -54,7 +61,11 @@ const mapped_navdata = navdata.map((item) => ({ <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta name="theme-color" content="#b86cff" /> + <!-- Disable DarkReader, as site is already in dark mode --> + <meta name="darkreader-lock" content="this site only has darkmode"> <!-- Links --> + <link rel="preload" as="font" type="font/woff2" href={workSans600} crossorigin="anonymous" /> + <link rel="preload" as="font" type="font/woff2" href={workSans800} crossorigin="anonymous" /> <link rel="icon" type="image/ico" href="/favicon.ico" /> <link rel="sitemap" href="/sitemap-index.xml" /> <link href="https://mastodon.neshweb.net/@Firq" rel="me" /> @@ -88,7 +99,7 @@ const mapped_navdata = navdata.map((item) => ({ <style is:global> :root { --hover-scale: 1.05; - --speed: 50%; + --speed: 0.5; --ease: 50%; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; --c-darkgray: #1e1e1e; @@ -99,6 +110,8 @@ const mapped_navdata = navdata.map((item) => ({ --c-lighterpurple: #c98fff; --c-purplepink: #c105ff; --c-darkergray: #1b1b1b; + --c-reddish: #ff0077; + --c-lighter: #eee; } body { background: var(--c-lightgray); diff --git a/src/layouts/baseSection.astro b/src/layouts/baseSection.astro index 63dacbd..eea3647 100644 --- a/src/layouts/baseSection.astro +++ b/src/layouts/baseSection.astro @@ -1,15 +1,17 @@ --- export interface Props { title: string + hidetitle?: boolean description: string } -const { title, description } = Astro.props +const { title, hidetitle, description } = Astro.props +const override = hidetitle ? "display: None" : "" --- <div class="base"> - <h1>{title}</h1> - <h2>{description}</h2> + <h1 style={override}>{title}</h1> + <h2 style={override}>{description}</h2> <div> <slot /> </div> @@ -21,46 +23,41 @@ const { title, description } = Astro.props flex-direction: column; justify-content: center; text-align: center; - } - div > div { - row-gap: 1em; - column-gap: 1em; - justify-content: center; - align-self: center; - display: flex; - flex-flow: row wrap; - padding-top: 1em; - position: relative; - } - div h1 { - font-size: 40px; - line-height: 48px; - letter-spacing: -1px; - color: white; - margin-top: 2rem; - margin-bottom: 0px; - margin-left: auto; - margin-right: auto; - padding: 0.25rem 1.5rem; - border-radius: 0.5rem; - max-width: max-content; - background-color: var(--c-darkgray); - padding-bottom: 0.5rem; - } - div h2 { - color: white; - font-size: 16px; - font-weight: 600; - max-width: 75; - margin: 1rem; - line-height: 20px; - text-align: center; - } - @media (min-width: 512px) { div { - row-gap: 1.5em; - column-gap: 1.5em; + gap: 1em; + align-self: center; + flex-flow: row wrap; + padding-top: 1em; + position: relative; + } + + h1 { + font-size: 40px; + line-height: 48px; + letter-spacing: -1px; + color: white; + margin: 2rem auto 0px auto; + padding: 0.25rem 1.5rem; + border-radius: 0.5rem; + max-width: max-content; + background-color: var(--c-darkgray); + padding-bottom: 0.5rem; + } + + h2 { + color: white; + font-size: 16px; + font-weight: 600; + max-width: 75; + margin: 1rem; + line-height: 20px; + text-align: center; + + @supports (text-align-last: center) { + text-align: justify; + text-align-last: center; + } } } @@ -68,6 +65,12 @@ const { title, description } = Astro.props margin-left: 1rem; margin-right: 1rem; } + @media (min-width: 512px) { + div { + row-gap: 1.5em; + column-gap: 1.5em; + } + } @media (min-width: 1000px) { .base { @@ -81,13 +84,18 @@ const { title, description } = Astro.props margin-left: 10%; margin-right: 10%; } - div h1 { - margin-left: unset; - margin-right: unset; - } - div h2 { - text-align: left; + div { + h1 { + margin-left: unset; + margin-right: unset; + } + h2 { + text-align: left; + @supports (text-align-last: center) { + text-align-last: unset; + } + } } } </style> diff --git a/src/layouts/databaseSection.astro b/src/layouts/databaseSection.astro index f6084bc..9fdf39a 100644 --- a/src/layouts/databaseSection.astro +++ b/src/layouts/databaseSection.astro @@ -1,36 +1,59 @@ --- export interface Props { title: string + titlehidden?: boolean + displayLine?: boolean } - -const { title } = Astro.props +const { title, titlehidden, displayLine } = Astro.props +const display = titlehidden ? "display: none" : "" +const line = displayLine ? "flex" : "none" --- <section> - <h1>{title}</h1> + <h1 style={display}>{title}</h1> <div class="wrapper"> + <div class="start hightlighter"></div> <div class="line"></div> <slot /> - <div class="drop"></div> + <div class="drop hightlighter"></div> </div> </section> -<style> - .drop { +<style define:vars={{ line }}> + section { + padding-left: 0.25em; + padding-right: 0.25em; + padding-bottom: 5rem; + } + + .hightlighter { + left: 0; + right: 0; display: flex; position: absolute; visibility: visible; - left: 0; - right: 0; - bottom: -5rem; margin-left: auto; margin-right: auto; height: 1.5rem; width: 1.5rem; + } + + .drop { + bottom: -5rem; border-radius: 0% 50% 50% 50%; transform: rotate(45deg); background-color: var(--c-darkpurple); } + + .start { + top: -2rem; + border-radius: 40%; + border-style: solid; + border-width: 0.25rem; + border-color: var(--c-lightgray); + background-color: var(--c-darkpurple); + } + .line { display: flex; position: absolute; @@ -46,30 +69,31 @@ const { title } = Astro.props z-index: -1; } h1 { - font-size: 40px; line-height: 48px; letter-spacing: -1px; color: white; - font-size: 2.25rem; + font-size: 1.6rem; margin-top: 1rem; margin-bottom: 0; margin-left: auto; margin-right: auto; - padding: 0.25rem 0.75rem; max-width: max-content; background-color: var(--c-darkgray); padding: 0.25rem 1.5rem; border-radius: 0.5rem; padding-bottom: 0.5rem; + justify-self: center; + text-align: center; } .wrapper { - margin: 2rem 3rem 0.5rem 3rem; + margin: 2rem 2rem 0.5rem 2rem; display: flex; flex-flow: column wrap; row-gap: 1em; column-gap: 1em; align-self: center; align-items: stretch; + align-content: center; justify-content: space-around; padding: 1em; color: white; @@ -80,21 +104,41 @@ const { title } = Astro.props .drop { margin-left: 1.5rem; } + .start { + margin-left: 1.25rem; + } .line { margin-left: 2.1rem; } h1 { margin-left: 3rem; + font-size: 1.85rem; } } @media (min-width: 1500px) { .wrapper { - margin-left: 20rem; - margin-right: 20rem; + margin-left: 15rem; + margin-right: 15rem; + flex-direction: row; + } + section { + padding-bottom: unset; + } + .drop, .start, .line { + display: var(--line); + margin-left: 2rem; + } + .start { + margin-left: 1.75rem; + } + .line { + margin-left: 2.6rem; + height: calc(100% + 6rem); + translate: 0px -2rem; } h1 { - margin-left: 20rem; - margin-right: 20rem; + margin-left: 15rem; + margin-right: 15rem; } } </style> diff --git a/src/layouts/taShowcaseLayout.astro b/src/layouts/taShowcaseLayout.astro index e028ea3..a9eb502 100644 --- a/src/layouts/taShowcaseLayout.astro +++ b/src/layouts/taShowcaseLayout.astro @@ -2,35 +2,75 @@ import Layout from '../layouts/Layout.astro' import BaseSection from '../layouts/baseSection.astro' import TACard from '../components/taCard.astro' -import type { filedata } from '../types/ta' +import { plsLoadTAEntry } from '../utils/tools' +import { Image } from 'astro:assets' +import lizsad from '../assets/lizsad.png' +import SmallTitle from '../components/smallTitle.astro' export interface Props { - datafile: string + collection: 'teslafest' | 'taInfoData' + collectionKey: string + baseurl: string } -const { datafile } = Astro.props -const fulldata = import.meta.glob<{ default: any }>(`../content/data/*.json`) -const filecontent: filedata = ( - await fulldata[`../content/data/${datafile}.json`]() -)['default'] - -const title = filecontent.info.title -filecontent.data.sort((a, b) => Date.parse(b.date) - Date.parse(a.date)) +const { collection, collectionKey, baseurl } = Astro.props +const taEntry = await plsLoadTAEntry(collectionKey, collection) +const pagetitle = `${taEntry.info.title} - FGO TA` +const displaystate = taEntry.quests[0].data.length > 0 ? 'none' : 'flex' +const hidetitle = taEntry.quests.length <= 1 --- <Layout - title={title} + title={pagetitle} currentpage="database-entry" - descriptionOverride={filecontent.info.shortdescription} + descriptionOverride={taEntry.info.shortdescription} > - <a href="/database"><< Back to database</a> - <BaseSection title={title} description={filecontent.info.description}> - {filecontent.data.map((item) => <TACard {...item} />)} - </BaseSection> + <SmallTitle + maintext={taEntry.info.title} + subtext={taEntry.info.shortdescription} + fadeout={true} + baseurl={baseurl} + returnbutton={true} + /> + { + taEntry.quests.map((item) => ( + <BaseSection title={item.questTitle} description={item.description} hidetitle={hidetitle}> + {item.data + .sort((a, b) => b.date.valueOf() - a.date.valueOf()) + .map((item) => ( + <TACard {...item} /> + ))} + </BaseSection> + )) + } + <div style=`display: ${displaystate}` class="overridewrapper"> + <Image + class="overrideimage" + src={lizsad} + alt="Sad override if there are no runs" + loading="eager" + /> + </div> <div class="placeholder"></div> </Layout> <style> + .overridewrapper { + justify-content: center; + margin-left: auto; + margin-right: auto; + height: 100%; + width: 100%; + } + .overrideimage { + overflow: auto; + height: auto; + width: auto; + max-width: max-content; + max-height: 16rem; + padding: 0px 1rem; + border-radius: 4rem; + } .placeholder { visibility: hidden; width: 100%; @@ -38,6 +78,9 @@ filecontent.data.sort((a, b) => Date.parse(b.date) - Date.parse(a.date)) } a { + position: sticky; + top: 4rem; + z-index: 1; display: flex; align-items: center; justify-content: center; diff --git a/src/pages/404.astro b/src/pages/404.astro new file mode 100644 index 0000000..6feeda7 --- /dev/null +++ b/src/pages/404.astro @@ -0,0 +1,63 @@ +--- +import { Image } from 'astro:assets' +import Layout from '../layouts/Layout.astro' +import BaseSection from '../layouts/baseSection.astro' +import sadshishou from '../assets/shishousad.webp' + +const description = "Error. This shouldn't happen :/" +--- + +<Layout + title="404 - FGO TA" + currentpage="404" + descriptionOverride={description} +> + <BaseSection title="Firqhundred­andFirq - Not Found" description=""> + <div> + <Image src={sadshishou} alt="Sad Shishou" /> + <h2>Well ... you were not supposed to end up here.</h2> + <a href="/" aria-label="Home" rel="noopener noreferrer"> + << Go back home + </a> + </div> + </BaseSection> +</Layout> + +<style> + div { + display: flex; + flex-wrap: wrap; + flex-direction: column; + align-items: center; + } + h2 { + color: white; + font-size: 2rem; + font-weight: bold; + margin-top: 1rem; + max-width: max-content; + } + a { + display: flex; + align-items: center; + justify-content: center; + width: 75%; + text-align: center; + color: white; + background-color: var(--c-gray); + padding: 0.5rem 0px; + margin-bottom: 2rem; + text-decoration: none; + font-size: 1.5rem; + font-weight: bold; + } + + a:hover { + color: var(--c-darkpurple); + } + + img { + width: 256px; + height: 256px; + } +</style> diff --git a/src/pages/database/[...slug].astro b/src/pages/database/[...slug].astro new file mode 100644 index 0000000..e425539 --- /dev/null +++ b/src/pages/database/[...slug].astro @@ -0,0 +1,122 @@ +--- +import { getCollection } from 'astro:content' +import TaShowcaseLayout from '../../layouts/taShowcaseLayout.astro' +import Layout from '../../layouts/Layout.astro' +import DatabaseSection from '../../layouts/databaseSection.astro' +import QuestListing from '../../components/listings/questListingCard.astro' +import SmallTitle from '../../components/smallTitle.astro' + +interface store { + slug: string + group: boolean + questinfo: + | undefined + | { + slug: string + info: { + title: string + releaseDate: Date + shortdescription: string + releaseNumber: number + } + }[] + pageinfo: + | undefined + | { + title: string + shortdescription: string + } +} + +export async function getStaticPaths() { + const fulldata = await getCollection('taInfoData') + const slugdata: store[] = fulldata.map((data) => { + return { + slug: data.id, + group: false, + questinfo: undefined, + pageinfo: undefined, + } + }) + + const groupdata = await getCollection('groups') + const groups: store[] = groupdata.map((data) => { + return { + slug: data.id, + group: true, + questinfo: undefined, + pageinfo: undefined, + } + }) + + const full = slugdata.concat(groups as any) + full.map((data) => { + if (data.group) { + const coll = fulldata.filter((d) => d.id.split("/", 1)[0] == data.slug) + data.questinfo = coll.map((d) => { + return { slug: d.id, info: d.data.info } + }) + data.questinfo.sort( + (a, b) => + b.info.releaseDate.valueOf() - a.info.releaseDate.valueOf() || + b.info.releaseNumber - a.info.releaseNumber + ) + const page = groupdata.find((d) => d.id === data.slug) + data.pageinfo = page?.data.info + } + }) + + return full.map((data) => ({ + params: { slug: data.slug }, + props: { + key: data.slug, + group: data.group, + questinfo: data.questinfo, + pageinfo: data.pageinfo, + }, + })) +} + +const { key, group, questinfo, pageinfo } = Astro.props + +let baseurl_return = "database" +if (key.includes("/")) { + baseurl_return = baseurl_return + "/" + key.split("/", 1)[0] +} + +--- + +{ + !group && ( + <TaShowcaseLayout + collection="taInfoData" + collectionKey={key} + baseurl={baseurl_return} + /> + ) +} +{ + group && ( + <Layout + title={`${pageinfo!.title} - TA Database - FGO TA`} + currentpage="database" + descriptionOverride={pageinfo!.shortdescription} + > + <SmallTitle + maintext={pageinfo!.title} + subtext={pageinfo!.shortdescription} + fadeout={true} + baseurl="database" + returnbutton={true} + /> + <DatabaseSection title="" titlehidden={true}> + {questinfo!.map((quest) => ( + <QuestListing + {...{ ...quest.info, slug: quest.slug }} + baseurl="database" + /> + ))} + </DatabaseSection> + </Layout> + ) +} diff --git a/src/pages/database/[slug].astro b/src/pages/database/[slug].astro deleted file mode 100644 index 7804300..0000000 --- a/src/pages/database/[slug].astro +++ /dev/null @@ -1,17 +0,0 @@ ---- -import TaShowcaseLayout from '../../layouts/taShowcaseLayout.astro' -import { findSlug } from '../../utils/slugTools' - -export function getStaticPaths() { - const fulldata = import.meta.glob<{ default: any }>( - `../../content/data/*.json` - ) - const keylist = Object.keys(fulldata).map((item) => findSlug(item)!) - - return keylist.map((slug) => ({ params: { slug } })) -} - -const { slug } = Astro.params ---- - -<TaShowcaseLayout datafile={slug} /> diff --git a/src/pages/database/index.astro b/src/pages/database/index.astro index 1aeca1d..1208bf9 100644 --- a/src/pages/database/index.astro +++ b/src/pages/database/index.astro @@ -1,37 +1,60 @@ --- +import { getCollection } from 'astro:content' import Layout from '../../layouts/Layout.astro' -import QuestListing from '../../components/questListing.astro' +import QuestListing from '../../components/listings/questListingLine.astro' +import EventListing from '../../components/listings/eventListingLine.astro' import DatabaseSection from '../../layouts/databaseSection.astro' -import { findSlug } from '../../utils/slugTools' -import type { filedata } from '../../types/ta' +import SmallTitle from '../../components/smallTitle.astro' -const description = 'FGO NA TA Database' +const description = 'A mostly up-to-date list of NA TA runs' +const fulldata = await getCollection('taInfoData') +const groups = await getCollection('groups') +const changes = await getCollection('changes') +let combined = fulldata -const questInfo = [] -const fulldata = import.meta.glob<{ default: filedata }>( - `../../content/data/*.json` -) - -for (const [key, value] of Object.entries(fulldata)) { - const url = `/database/${findSlug(key)}` - questInfo.push({ - ...(await value())['default'].info, - url: url, - }) +for (const group of groups) { + combined = combined.filter((data) => !data.id.startsWith(group.id)) } +combined = combined.concat(groups as any).concat(changes as any) -questInfo.sort( - (a, b) => Date.parse(b.questReleaseDate) - Date.parse(a.questReleaseDate) +combined.sort( + (a, b) => + b.data.info.releaseDate.valueOf() - a.data.info.releaseDate.valueOf() || + b.data.info.releaseNumber - a.data.info.releaseNumber ) --- <Layout - title="FGO NA TA Database" + title="TA Database - FGO TA" currentpage="database" descriptionOverride={description} > - <DatabaseSection title="FGO NA TA Database"> - {questInfo.map((quest) => <QuestListing {...quest} />)} + <SmallTitle + maintext="TA DATA­BASE" + subtext="A mostly up-to-date list of NA TA runs" + fadeout={true} + /> + <DatabaseSection title="NA Runs" titlehidden={true} displayLine={true}> + { + combined.map((quest) => { + if (['quest', 'group'].includes(quest.data.info.type)) { + return ( + <QuestListing + {...{ ...quest.data.info, slug: quest.id }} + baseurl="database" + /> + ) + } else { + return ( + <EventListing + {...{ ...quest.data.info, slug: quest.id }} + link={(quest.data as any).link} + hlcolor={(quest.data as any).color} + /> + ) + } + }) + } </DatabaseSection> </Layout> diff --git a/src/pages/index.astro b/src/pages/index.astro index 27d0182..a5dec7f 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,6 +1,7 @@ --- import Layout from '../layouts/Layout.astro' import Hero from '../components/hero.astro' +import Title from '../components/title.astro' const description = 'This site is a WIP project by Firq. In the future, it will be used to catalogue information around FGO TA and the game in general.' @@ -11,7 +12,8 @@ const description = currentpage="home" descriptionOverride={description} > - <Hero /> + <Title maintext='FGO NA TA DATA­BASE' subtext='The all-in-one lookup for all your TA needs'/> + <Hero fadeout={true}/> </Layout> <style></style> diff --git a/src/pages/teslafest/[...slug].astro b/src/pages/teslafest/[...slug].astro new file mode 100644 index 0000000..2527418 --- /dev/null +++ b/src/pages/teslafest/[...slug].astro @@ -0,0 +1,122 @@ +--- +import { getCollection } from 'astro:content' +import TaShowcaseLayout from '../../layouts/taShowcaseLayout.astro' +import Layout from '../../layouts/Layout.astro' +import DatabaseSection from '../../layouts/databaseSection.astro' +import QuestListing from '../../components/listings/questListingCard.astro' +import SmallTitle from '../../components/smallTitle.astro' + +interface store { + slug: string + group: boolean + questinfo: + | undefined + | { + slug: string + info: { + title: string + releaseDate: Date + shortdescription: string + releaseNumber: number + } + }[] + pageinfo: + | undefined + | { + title: string + shortdescription: string + } +} + +export async function getStaticPaths() { + const fulldata = await getCollection('teslafest') + const slugdata: store[] = fulldata.map((data) => { + return { + slug: data.id, + group: false, + questinfo: undefined, + pageinfo: undefined, + } + }) + + const groupdata = await getCollection('teslafestgroups') + const groups: store[] = groupdata.map((data) => { + return { + slug: data.id, + group: true, + questinfo: undefined, + pageinfo: undefined, + } + }) + + const full = slugdata.concat(groups as any) + full.map((data) => { + if (data.group) { + const coll = fulldata.filter((d) => d.id.split("/", 1)[0] == data.slug) + data.questinfo = coll.map((d) => { + return { slug: d.id, info: d.data.info } + }) + data.questinfo.sort( + (a, b) => + b.info.releaseDate.valueOf() - a.info.releaseDate.valueOf() || + b.info.releaseNumber - a.info.releaseNumber + ) + const page = groupdata.find((d) => d.id === data.slug) + data.pageinfo = page?.data.info + } + }) + + return full.map((data) => ({ + params: { slug: data.slug }, + props: { + key: data.slug, + group: data.group, + questinfo: data.questinfo, + pageinfo: data.pageinfo, + }, + })) +} + +const { key, group, questinfo, pageinfo } = Astro.props + +let baseurl_return = "teslafest" +if (key.includes("/")) { + baseurl_return = baseurl_return + "/" + key.split("/", 1)[0] +} + +--- + +{ + !group && ( + <TaShowcaseLayout + collection="teslafest" + collectionKey={key} + baseurl={baseurl_return} + /> + ) +} +{ + group && ( + <Layout + title={`${pageinfo!.title} - Teslafest - FGO TA`} + currentpage="teslafest" + descriptionOverride={pageinfo!.shortdescription} + > + <SmallTitle + maintext={pageinfo!.title} + subtext={pageinfo!.shortdescription} + fadeout={true} + baseurl="teslafest" + returnbutton={true} + /> + <DatabaseSection title="" titlehidden={true}> + {questinfo!.map((quest) => ( + <QuestListing + {...{ ...quest.info, slug: quest.slug }} + baseurl="teslafest" + /> + ))} + </DatabaseSection> + </Layout> + ) +} diff --git a/src/pages/teslafest/index.astro b/src/pages/teslafest/index.astro new file mode 100644 index 0000000..f307056 --- /dev/null +++ b/src/pages/teslafest/index.astro @@ -0,0 +1,39 @@ +--- +import { getCollection } from 'astro:content' +import Layout from '../../layouts/Layout.astro' +import QuestListing from '../../components/listings/questListingLine.astro' +import DatabaseSection from '../../layouts/databaseSection.astro' +import SmallTitle from '../../components/smallTitle.astro' + +const description = + 'One of the most anticipated events of 2024 - Teslafest. Were the two weeks of time enough for all those quests, even with a parallel lottery?' +const fulldata = await getCollection('teslafest') +const groups = await getCollection('teslafestgroups') + +let combined = fulldata +for (const group of groups) { + combined = combined.filter((data) => !data.id.startsWith(group.id)) +} +combined = combined.concat(groups as any) + +combined.sort( + (a, b) => + b.data.info.releaseDate.valueOf() - a.data.info.releaseDate.valueOf() || + b.data.info.releaseNumber - a.data.info.releaseNumber +) +--- + +<Layout + title="Teslafest - FGO TA" + currentpage="teslafest" + descriptionOverride={description} +> + <SmallTitle maintext="TESLAΒFEST" subtext={description} fadeout={true} /> + <DatabaseSection title="NA Runs" titlehidden={true} displayLine={true}> + { + combined.map((quest) => { return (<QuestListing {...{ ...quest.data.info, slug: quest.id }} baseurl="teslafest" />)}) + } + </DatabaseSection> +</Layout> + +<style></style> diff --git a/src/types/generic.ts b/src/types/generic.ts new file mode 100644 index 0000000..d1a9693 --- /dev/null +++ b/src/types/generic.ts @@ -0,0 +1,10 @@ +export interface IconsLookup { + [key: string]: ImageMetadata +} + +interface GlobGeneric<T> { + default: T +} +export type GlobImage = GlobGeneric<ImageMetadata> + +export type ImportRecord<T> = Record<string, () => Promise<T>> \ No newline at end of file diff --git a/src/types/icons.ts b/src/types/icons.ts deleted file mode 100644 index edd8d2a..0000000 --- a/src/types/icons.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface IconsLookup { - [key: string]: ImageMetadata -} diff --git a/src/types/ta.ts b/src/types/ta.ts deleted file mode 100644 index 75dfb29..0000000 --- a/src/types/ta.ts +++ /dev/null @@ -1,20 +0,0 @@ -interface tadata { - title: string - link: string - servant: string - turns: string - runner: string - date: string -} - -interface info { - title: string - questReleaseDate: string - description: string - shortdescription: string -} - -export interface filedata { - info: info - data: tadata[] -} diff --git a/src/utils/slugTools.ts b/src/utils/slugTools.ts deleted file mode 100644 index d81acd4..0000000 --- a/src/utils/slugTools.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function findSlug(filepath: string) { - return filepath.match(/(?:.*[\\/])(.+)(?:\.json)/)?.[1] -} diff --git a/src/utils/tools.ts b/src/utils/tools.ts new file mode 100644 index 0000000..6d497ed --- /dev/null +++ b/src/utils/tools.ts @@ -0,0 +1,14 @@ +import { getEntry } from 'astro:content' +import type { GlobImage, ImportRecord } from '../types/generic' + +export function plsLoadImage(record: ImportRecord<GlobImage>, path: string) { + const loadedImage = record[path]?.() + if (!loadedImage) throw new Error(`Asset was not found for path ${path}`) + return loadedImage +} + +export async function plsLoadTAEntry(key: string, file: "taInfoData" | "teslafest" = 'taInfoData') { + const filecontent = (await getEntry(file, key))?.data + if (!filecontent) throw new Error(`Datafile was not found for key ${key}`) + return filecontent +} diff --git a/unlighthouse.config.ts b/unlighthouse.config.ts index 4d2881a..6f7d007 100644 --- a/unlighthouse.config.ts +++ b/unlighthouse.config.ts @@ -1,10 +1,32 @@ export default { + lighthouseOptions: { + throttlingMethod: "devtools", + throttling: { + cpuSlowdownMultiplier: 4, + requestLatencyMs: 150, + downloadThroughputKbps: 1638.4, + uploadThroughputKbps: 1638.4, + }, + screenEmulation: { + width: 412, + height: 823, + deviceScaleFactor: 1.75, + } + }, puppeteerOptions: { - args: ["--no-sandbox", "--disable-setuid-sandbox"], + args: [ + "--no-sandbox", + "--disable-setuid-sandbox" + ], }, ci: { budget: 50, - buildStatic: true + buildStatic: true, + }, + scanner: { + sitemap: true, + dynamicSampling: false, + samples: 3, }, outputPath: "unlighthouse-reports", }