├── .npmrc ├── .prettierignore ├── .github ├── FUNDING.yml ├── renovate.json ├── workflows │ ├── pkg.pr.new.yml │ └── release.yml └── ISSUE_TEMPLATE │ ├── feature_request.yaml │ └── bug_report.yaml ├── static └── favicon.png ├── src ├── demo.spec.js ├── routes │ └── +page.svelte ├── app.d.ts ├── app.html └── lib │ ├── index.js │ └── vite.js ├── e2e └── demo.test.js ├── playwright.config.js ├── vite.config.js ├── .prettierrc ├── .changeset ├── config.json └── README.md ├── .gitignore ├── svelte.config.js ├── CHANGELOG.md ├── jsconfig.json ├── eslint.config.js ├── LICENSE ├── package.json ├── CODE_OF_CONDUCT.md ├── README.md └── pnpm-lock.yaml /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Package Managers 2 | package-lock.json 3 | pnpm-lock.yaml 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: paoloricciuti 4 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paoloricciuti/sveltekit-server-islands/HEAD/static/favicon.png -------------------------------------------------------------------------------- /src/demo.spec.js: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from 'vitest'; 2 | 3 | describe('sum test', () => { 4 | it('adds 1 + 2 to equal 3', () => { 5 | expect(1 + 2).toBe(3); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /e2e/demo.test.js: -------------------------------------------------------------------------------- 1 | import { expect, test } from '@playwright/test'; 2 | 3 | test('home page has expected h1', async ({ page }) => { 4 | await page.goto('/'); 5 | await expect(page.locator('h1')).toBeVisible(); 6 | }); 7 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["config:recommended", "group:linters", ":labels(maintenance,renovatebot)"], 4 | "rangeStrategy": "replace" 5 | } 6 | -------------------------------------------------------------------------------- /playwright.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from '@playwright/test'; 2 | 3 | export default defineConfig({ 4 | webServer: { 5 | command: 'npm run build && npm run preview', 6 | port: 4173, 7 | }, 8 | 9 | testDir: 'e2e', 10 | }); 11 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 |

Welcome to your library project

2 |

Create your package using @sveltejs/package and preview/showcase your work with SvelteKit

3 |

Visit svelte.dev/docs/kit to read the documentation

4 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config'; 2 | import { sveltekit } from '@sveltejs/kit/vite'; 3 | 4 | export default defineConfig({ 5 | plugins: [sveltekit()], 6 | 7 | test: { 8 | include: ['src/**/*.{test,spec}.{js,ts}'], 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-svelte"], 7 | "overrides": [ 8 | { 9 | "files": "*.svelte", 10 | "options": { 11 | "parser": "svelte" 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@3.0.5/schema.json", 3 | "changelog": "@changesets/cli/changelog", 4 | "commit": false, 5 | "fixed": [], 6 | "linked": [], 7 | "access": "public", 8 | "baseBranch": "main", 9 | "updateInternalDependencies": "patch", 10 | "ignore": [] 11 | } 12 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://svelte.dev/docs/kit/types#app.d.ts 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface PageState {} 9 | // interface Platform {} 10 | } 11 | } 12 | 13 | export {}; 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | test-results 2 | node_modules 3 | 4 | # Output 5 | .output 6 | .vercel 7 | .netlify 8 | .wrangler 9 | /.svelte-kit 10 | /build 11 | /dist 12 | 13 | # OS 14 | .DS_Store 15 | Thumbs.db 16 | 17 | # Env 18 | .env 19 | .env.* 20 | !.env.example 21 | !.env.test 22 | 23 | # Vite 24 | vite.config.js.timestamp-* 25 | vite.config.ts.timestamp-* 26 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %sveltekit.head% 8 | 9 | 10 |
%sveltekit.body%
11 | 12 | 13 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | 3 | /** @type {import('@sveltejs/kit').Config} */ 4 | const config = { 5 | kit: { 6 | // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. 7 | // If your environment is not supported, or you settled on a specific environment, switch out the adapter. 8 | // See https://svelte.dev/docs/kit/adapters for more information about adapters. 9 | adapter: adapter(), 10 | }, 11 | }; 12 | 13 | export default config; 14 | -------------------------------------------------------------------------------- /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # sveltekit-server-islands 2 | 3 | ## 0.1.0 4 | 5 | ### Minor Changes 6 | 7 | - 2894b39: feat: allow for server islands hydration with `csr=false` 8 | 9 | ## 0.0.8 10 | 11 | ### Patch Changes 12 | 13 | - fbaaf0e: fix: update `README` 14 | 15 | ## 0.0.7 16 | 17 | ### Patch Changes 18 | 19 | - 8a250f3: feat: provide props and correct url in event 20 | 21 | ## 0.0.6 22 | 23 | ### Patch Changes 24 | 25 | - a56b0a3: chore: new readme 26 | 27 | ## 0.0.5 28 | 29 | ### Patch Changes 30 | 31 | - ce4f133: chore: bump version 32 | -------------------------------------------------------------------------------- /.github/workflows/pkg.pr.new.yml: -------------------------------------------------------------------------------- 1 | name: continuous publish 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - uses: actions/setup-node@v4 13 | with: 14 | node-version: 22.x 15 | - uses: pnpm/action-setup@v4 16 | with: 17 | version: 9 18 | 19 | - name: Install dependencies 20 | run: pnpm install 21 | 22 | - name: Build 23 | run: pnpm build 24 | 25 | - run: pnpx pkg-pr-new publish --compact --no-template 26 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true, 12 | "moduleResolution": "bundler" 13 | } 14 | // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias 15 | // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files 16 | // 17 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 18 | // from the referenced tsconfig.json - TypeScript does not merge them in 19 | } 20 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import prettier from 'eslint-config-prettier'; 2 | import js from '@eslint/js'; 3 | import { includeIgnoreFile } from '@eslint/compat'; 4 | import svelte from 'eslint-plugin-svelte'; 5 | import globals from 'globals'; 6 | import { fileURLToPath } from 'node:url'; 7 | const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); 8 | 9 | /** @type {import('eslint').Linter.Config[]} */ 10 | export default [ 11 | includeIgnoreFile(gitignorePath), 12 | js.configs.recommended, 13 | ...svelte.configs['flat/recommended'], 14 | prettier, 15 | ...svelte.configs['flat/prettier'], 16 | { 17 | languageOptions: { 18 | globals: { 19 | ...globals.browser, 20 | ...globals.node, 21 | }, 22 | }, 23 | }, 24 | ]; 25 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Publish 2 | on: 3 | push: 4 | branches: 5 | - 'main' 6 | 7 | concurrency: ${{ github.workflow }}-${{ github.ref }} 8 | 9 | jobs: 10 | publish: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: pnpm/action-setup@v4 15 | with: 16 | version: 9 17 | - uses: actions/setup-node@v4 18 | with: 19 | node-version: 22.x 20 | cache: 'pnpm' 21 | 22 | - run: pnpm install --frozen-lockfile 23 | - name: Create Release Pull Request or Publish 24 | id: changesets 25 | uses: changesets/action@v1 26 | with: 27 | publish: pnpm run changeset-publish 28 | env: 29 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 30 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yaml: -------------------------------------------------------------------------------- 1 | name: "\U0001F4A1 Feature Request" 2 | description: Request a new feature 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: | 7 | Thank you for taking the time to propose a new idea 8 | - type: textarea 9 | id: problem 10 | attributes: 11 | label: Describe the problem 12 | description: Please provide a clear and concise description the problem this feature would solve. The more information you can provide here, the better. 13 | placeholder: I would like to... 14 | validations: 15 | required: true 16 | - type: textarea 17 | id: solution 18 | attributes: 19 | label: Describe the proposed solution 20 | description: Try to provide a description of the API you would like to see implemented 21 | placeholder: I would like to see... 22 | validations: 23 | required: true 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Paolo Ricciuti 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yaml: -------------------------------------------------------------------------------- 1 | name: "\U0001F41E Bug report" 2 | description: Report an issue 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: | 7 | First thing first, thanks for reporting! 8 | - type: textarea 9 | id: bug-description 10 | attributes: 11 | label: Describe the bug 12 | description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks! 13 | placeholder: Bug description 14 | validations: 15 | required: true 16 | - type: textarea 17 | id: reproduction 18 | attributes: 19 | label: Reproduction 20 | description: Please provide a link to a repo or better a stackblitz/replit that can reproduce the problem you ran into. This will speed up the fixing. 21 | placeholder: Reproduction 22 | validations: 23 | required: true 24 | - type: textarea 25 | id: logs 26 | attributes: 27 | label: Logs 28 | description: 'Please include browser console and server logs around the time this bug occurred. Optional if provided reproduction. Please try not to insert an image but copy paste the log text.' 29 | render: shell 30 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sveltekit-server-islands", 3 | "version": "0.1.0", 4 | "author": "Paolo Ricciuti", 5 | "license": "MIT", 6 | "keywords": [ 7 | "svelte", 8 | "sveltekit", 9 | "server islands", 10 | "islands" 11 | ], 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/paoloricciuti/sveltekit-server-islands.git" 15 | }, 16 | "scripts": { 17 | "dev": "vite dev", 18 | "build": "vite build && npm run prepack", 19 | "preview": "vite preview", 20 | "prepare": "svelte-kit sync || echo ''", 21 | "prepack": "svelte-kit sync && svelte-package && publint", 22 | "changeset-publish": "pnpm run build && changeset publish", 23 | "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", 24 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", 25 | "format": "prettier --write .", 26 | "lint": "prettier --check . && eslint .", 27 | "test:unit": "vitest", 28 | "test": "npm run test:unit -- --run && npm run test:e2e", 29 | "test:e2e": "playwright test" 30 | }, 31 | "files": [ 32 | "dist", 33 | "!dist/**/*.test.*", 34 | "!dist/**/*.spec.*" 35 | ], 36 | "sideEffects": [ 37 | "**/*.css" 38 | ], 39 | "svelte": "./dist/index.js", 40 | "types": "./dist/index.d.ts", 41 | "type": "module", 42 | "exports": { 43 | ".": { 44 | "types": "./dist/index.d.ts", 45 | "svelte": "./dist/index.js", 46 | "default": "./dist/index.js" 47 | }, 48 | "./vite": { 49 | "types": "./dist/vite.d.ts", 50 | "svelte": "./dist/vite.js", 51 | "default": "./dist/vite.js" 52 | } 53 | }, 54 | "peerDependencies": { 55 | "@sveltejs/kit": "^2.0.0", 56 | "svelte": "^5.0.0" 57 | }, 58 | "devDependencies": { 59 | "@changesets/cli": "^2.27.12", 60 | "@eslint/compat": "^1.2.5", 61 | "@eslint/js": "^9.18.0", 62 | "@playwright/test": "^1.49.1", 63 | "@sveltejs/adapter-auto": "^6.0.0", 64 | "@sveltejs/kit": "^2.16.0", 65 | "@sveltejs/package": "^2.0.0", 66 | "@sveltejs/vite-plugin-svelte": "^5.0.0", 67 | "@types/node": "^22.13.1", 68 | "acorn": "^8.14.0", 69 | "eslint": "^9.18.0", 70 | "eslint-config-prettier": "^10.0.1", 71 | "eslint-plugin-svelte": "^3.0.0", 72 | "globals": "^16.0.0", 73 | "prettier": "^3.4.2", 74 | "prettier-plugin-svelte": "^3.3.3", 75 | "publint": "^0.3.2", 76 | "svelte": "^5.0.0", 77 | "svelte-check": "^4.0.0", 78 | "typescript": "^5.0.0", 79 | "vite": "^6.0.0", 80 | "vitest": "^3.0.0" 81 | }, 82 | "dependencies": { 83 | "esrap": "^1.4.4", 84 | "zimmerframe": "^1.1.2" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/lib/index.js: -------------------------------------------------------------------------------- 1 | import { json } from '@sveltejs/kit'; 2 | import { render } from 'svelte/server'; 3 | 4 | // import all components in islands as "not-island": this will be the actual component 5 | const components = /** 6 | * @type {RecordPromise<{ default: import("svelte").Component, load?: (event: import("@sveltejs/kit").RequestEvent)=>unknown}>>} 7 | */ ( 8 | import.meta.glob('/src/islands/*.svelte', { 9 | query: '?not-island', 10 | }) 11 | ); 12 | 13 | // import all components in islands as "not-island" and raw style: this will be the styles for that component 14 | const styles = /** 15 | * @type {Record Promise<{ code: string; }>>} 16 | */ ( 17 | import.meta.glob('/src/islands/*.svelte', { 18 | query: '?raw&svelte&type=style¬-island', 19 | }) 20 | ); 21 | 22 | /** 23 | * @template {(...rest: any[])=>any} [TData=()=>void] 24 | * @template {Record} [TRest={}] 25 | * @typedef {{ fallback?: import("svelte").Snippet<[]>, data?: Awaited> } & TRest } ServerIslandsProps 26 | */ 27 | 28 | /** 29 | * @template {Record} [TRest={}] 30 | * @typedef {import("@sveltejs/kit").ServerLoadEvent & { props: TRest }} ServerIslandsEvent 31 | */ 32 | 33 | /** 34 | * @template {(...rest: any[])=>any} [TData=()=>void] 35 | * @template {Record} [TRest={}] 36 | * @typedef {{ props: ServerIslandsProps, event: ServerIslandsEvent }} ServerIslands 37 | */ 38 | 39 | /** @type {import('@sveltejs/kit').Handle} */ 40 | export async function handle({ event, resolve }) { 41 | // we create an endpoint to return the server side rendered island 42 | if (event.url.pathname === '/__island') { 43 | const props = await event.request.json(); 44 | const name = event.url.searchParams.get('name'); 45 | const comp = await components[`/src/islands/${name}.svelte`](); 46 | const css = await styles[`/src/islands/${name}.svelte`](); 47 | if (comp.load) { 48 | // if there's a referer let's use it as the url since it's more correct 49 | const referer = event.request.headers.get('referer'); 50 | if (referer) { 51 | const url = new URL(referer); 52 | Object.defineProperty(event.request, 'url', { 53 | value: referer, 54 | enumerable: true, 55 | configurable: true, 56 | }); 57 | Object.defineProperty(event, 'url', { 58 | value: url, 59 | enumerable: true, 60 | configurable: true, 61 | }); 62 | } 63 | Object.defineProperty(event, 'props', { 64 | configurable: true, 65 | enumerable: true, 66 | value: props, 67 | }); 68 | Object.defineProperty(event, 'route', { 69 | get() { 70 | throw new Error("You can't access the route in a Server Island"); 71 | }, 72 | }); 73 | props.data = await comp.load(event); 74 | } 75 | const { body } = render(comp.default, { props }); 76 | return json({ 77 | body: `${body}${css.code ? `` : ''}`, 78 | data: props.data, 79 | }); 80 | } 81 | return resolve(event); 82 | } 83 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | - Demonstrating empathy and kindness toward other people 21 | - Being respectful of differing opinions, viewpoints, and experiences 22 | - Giving and gracefully accepting constructive feedback 23 | - Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | - Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | - The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | - Trolling, insulting or derogatory comments, and personal or political attacks 33 | - Public or private harassment 34 | - Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | - Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | ricciutipaolo@gmail.com. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series 86 | of actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or 93 | permanent ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within 113 | the community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 122 | enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sveltekit-server-islands 2 | 3 | Server islands were introduced by [the Astro team](https://astro.build/blog/future-of-astro-server-islands/) as a way to have bits of dynamic server rendered components in a "sea" of static prerendered content. This library is meant to be a userland implementation of server islands for sveltekit. 4 | 5 | ## Installation 6 | 7 | To install this library you can just use your favorite package manager 8 | 9 | ```bash 10 | pnpm add sveltekit-server-islands 11 | ``` 12 | 13 | ## Setup 14 | 15 | Once you installed the library you need to setup your project to allow for the library to work properly: firstly you need to include the vite plugin in your vite config 16 | 17 | ```ts 18 | import { sveltekit } from '@sveltejs/kit/vite'; 19 | import { islands } from 'sveltekit-server-islands/vite'; 20 | import { defineConfig } from 'vite'; 21 | 22 | export default defineConfig({ 23 | plugins: [sveltekit(), islands()], 24 | }); 25 | ``` 26 | 27 | secondly you need to include the server handle in your `hooks.server.ts` 28 | 29 | ```ts 30 | export { handle } from 'sveltekit-server-islands'; 31 | ``` 32 | 33 | P.s. if you already have your own handle you can use `sequence` from `@sveltejs/kit` to concatenate them 34 | 35 | ```ts 36 | import { sequence } from '@sveltejs/kit/hooks'; 37 | 38 | import { handle as islands } from 'sveltekit-server-islands'; 39 | 40 | export const handle = sequence(islands, ({ resolve, event }) => { 41 | // your handle 42 | return resolve(event); 43 | }); 44 | ``` 45 | 46 | Finally to take full advantage of server islands you should prerender your application so create a root `+layout.ts` and export a `prerender` variable 47 | 48 | ```ts 49 | export const prerender = true; 50 | ``` 51 | 52 | once you've done this steps you can start authoring your server islands. 53 | 54 | ## Authoring Server Islands 55 | 56 | There's one extra limitation for this plugin to work: you need to put your islands components in a folder inside `/src/islands` 57 | 58 | ```bash 59 | src/ 60 | ├── app.css 61 | ├── app.d.ts 62 | ├── app.html 63 | ├── hooks.server.ts 64 | ├── islands 65 | │ ├── CartCount.svelte 66 | │ ├── CustomerReviews.svelte 67 | │ ├── RecommendedProducts.svelte 68 | │ └── RoomAvailability.svelte 69 | ├── lib 70 | │ ├── AddToCart.svelte 71 | │ ├── Stars.svelte 72 | │ └── index.ts 73 | └── routes 74 | ├── +layout.svelte 75 | ├── +layout.ts 76 | ├── +page.svelte 77 | └── api 78 | └── cart 79 | └── +server.ts 80 | ``` 81 | 82 | Server Islands components are a bit different from normal svelte components because they'll be server rendered and hydrated separately...this means that is very important for them to be able to load their own data. To achieve this you can export a `load` function just like one that you use in sveltekit from the ` 95 | 96 | 99 | 100 | Cart 101 | 102 | ``` 103 | 104 | Both `ServerIslandsEvent` and `ServerIslandsProps` accept an additional type parameter to specify extra props that you want to accept in the component 105 | 106 | ```svelte 107 | 119 | 120 | 123 | 124 | Cart ({name}) 125 | 126 | ``` 127 | 128 | As you might have spotted this can introduce a bit of duplication, to prevent this we also expose a type `ServerIslands` that you can use to type both the load function and the props 129 | 130 | ```svelte 131 | 145 | 146 | 149 | 150 | Cart ({name}) 151 | 152 | ``` 153 | 154 | The `ServerIslandsProps` type will also include another important type: a `fallback` snippet. When you use the component you can in-fact provide some markup that will be rendered before the fetch request to server side render the component starts. 155 | 156 | ```svelte 157 | 160 | 161 | 162 | {#snippet fallback()} 163 | Loading... 164 | {/snippet} 165 | 166 | ``` 167 | 168 | Note that if you need it you can pass other props to the component (and even update them after the component has been mounted) 169 | 170 | ## `csr=false` or `csr=true` 171 | 172 | This library also works for both client side rendering set to `true` and to `false`. Since setting client side rendering to false will completely prevent svelte components scripts from executing during `build` and `dev` we also generate in the static folder a bundle for your islands. 173 | 174 | However if you decide to use `csr=false` there's some gotchas that you should be aware of: 175 | 176 | 1. Your server islands will not be able to use any sveltekit import like `$app/page`, `$env/static/private` or even `$lib` 177 | 2. While your server islands will be hydrated any other normal component will still have no interactivity 178 | 3. For the above reason any feature that relies on non islands components is not available (like `setContext` and `getContext`) 179 | -------------------------------------------------------------------------------- /src/lib/vite.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @import { ExportNamedDeclaration, Program } from "acorn"; 3 | */ 4 | import { svelte } from '@sveltejs/vite-plugin-svelte'; 5 | import { build } from 'vite'; 6 | import { readdir, rm } from 'node:fs/promises'; 7 | import { join, dirname } from 'node:path'; 8 | import { walk } from 'zimmerframe'; 9 | import { print } from 'esrap'; 10 | 11 | const output_path = '/__islands'; 12 | const output_dir = `static${output_path}`; 13 | const dir = join(process.cwd(), '/src/islands'); 14 | 15 | /** 16 | * Function used to build the islands components on HMR, on build and on dev...those will be javascript 17 | * files imported when the island loads to hydrate even when csr is false 18 | */ 19 | async function build_islands() { 20 | // remove the old dir 21 | await rm(join(process.cwd(), output_dir), { force: true, recursive: true }); 22 | // read every file in the islands folder 23 | const islands_dir = (await readdir(dir, { withFileTypes: true })).filter((file) => file.isFile()); 24 | const entry = islands_dir.map((file) => file.name); 25 | const islands_components = islands_dir.map((file) => join(file.parentPath, file.name)); 26 | build({ 27 | plugins: [ 28 | svelte(), 29 | { 30 | name: 'vite-plugin-sveltekit-islands-add-hydrate', 31 | transform: { 32 | order: 'post', 33 | handler(code, id) { 34 | // we check if this is one of the islands files 35 | if (islands_components.includes(id)) { 36 | const ast = this.parse(code); 37 | // we remove every export named declaration...this has two effects: firstly will treeshake away the load function 38 | // allowing the user to use server only code from it without it leaking to the client. Furthermore will allow us 39 | // to add an export to hydrate from the module that will be used on the client to hydrate this component if csr is disabled 40 | const modified = /** @type {Program} */ ( 41 | /** @type {unknown} */ ( 42 | walk( 43 | /** @type {ExportNamedDeclaration} */ (/** @type {unknown} */ (ast)), 44 | {}, 45 | { 46 | // @ts-ignore 47 | ExportNamedDeclaration(node) { 48 | // in case there's a declaration we return that declaration...this is to prevent 49 | // functions that are exported AND used to be removed completely 50 | if (node.declaration) { 51 | return node.declaration; 52 | } 53 | return { 54 | type: 'EmptyStatement', 55 | }; 56 | }, 57 | }, 58 | ) 59 | ) 60 | ); 61 | // let's push the `export { hydrate } from svelte` 62 | modified.body.push({ 63 | type: 'ExportNamedDeclaration', 64 | specifiers: [ 65 | { 66 | type: 'ExportSpecifier', 67 | local: { 68 | type: 'Identifier', 69 | name: 'hydrate', 70 | start: 0, 71 | end: 0, 72 | }, 73 | exported: { 74 | type: 'Identifier', 75 | name: 'hydrate', 76 | start: 0, 77 | end: 0, 78 | }, 79 | start: 0, 80 | end: 0, 81 | }, 82 | ], 83 | source: { 84 | type: 'Literal', 85 | value: 'svelte', 86 | start: 0, 87 | end: 0, 88 | }, 89 | attributes: [], 90 | start: 0, 91 | end: 0, 92 | }); 93 | return print(ast); 94 | } 95 | }, 96 | }, 97 | }, 98 | ], 99 | // we only run the build for the specific folder to avoid vite picking up unwanted files 100 | root: dir, 101 | build: { 102 | lib: { 103 | formats: ['es'], 104 | entry, 105 | }, 106 | rollupOptions: { 107 | output: { 108 | dir: output_dir, 109 | }, 110 | }, 111 | }, 112 | }); 113 | } 114 | 115 | /** 116 | * @returns {import("vite").Plugin} 117 | */ 118 | export function islands() { 119 | return { 120 | name: 'vite-plugin-sveltekit-islands', 121 | resolveId(source) { 122 | if (source === 'virtual:render.svelte') { 123 | return 'virtual:render.svelte'; 124 | } 125 | }, 126 | writeBundle: { 127 | sequential: true, 128 | handler: () => { 129 | // build the islands on build 130 | build_islands(); 131 | }, 132 | }, 133 | async configureServer() { 134 | // build the islands on dev 135 | build_islands(); 136 | }, 137 | handleHotUpdate({ file }) { 138 | // build the islands on an hot update if the updated file is in islands 139 | if (dirname(file) === dir) { 140 | build_islands(); 141 | } 142 | }, 143 | load: { 144 | order: 'pre', 145 | handler(id) { 146 | // companion component to render a snippet in createRawSnippet 147 | if (id === 'virtual:render.svelte') { 148 | return ` 151 | {@render snippet?.()}`; 152 | } 153 | try { 154 | const url = new URL('file://' + id); 155 | const [folder, name] = url.pathname.split('/').slice(-2); 156 | if ( 157 | folder === 'islands' && 158 | name.endsWith('.svelte') && 159 | !url.searchParams.has('not-island') && 160 | url.searchParams.get('type') !== 'style' 161 | ) { 162 | // this is the "fake component" that we return when the user import the file normally 163 | // see how it works in the readme for an explanation of the component 164 | return ` 247 | {@render is_land(all.fallback)} 248 | {@html \`\`} 251 | `; 252 | } 253 | } catch { 254 | /** empty */ 255 | } 256 | }, 257 | }, 258 | }; 259 | } 260 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | esrap: 12 | specifier: ^1.4.4 13 | version: 1.4.4 14 | zimmerframe: 15 | specifier: ^1.1.2 16 | version: 1.1.2 17 | devDependencies: 18 | '@changesets/cli': 19 | specifier: ^2.27.12 20 | version: 2.27.12 21 | '@eslint/compat': 22 | specifier: ^1.2.5 23 | version: 1.2.6(eslint@9.19.0) 24 | '@eslint/js': 25 | specifier: ^9.18.0 26 | version: 9.19.0 27 | '@playwright/test': 28 | specifier: ^1.49.1 29 | version: 1.50.1 30 | '@sveltejs/adapter-auto': 31 | specifier: ^6.0.0 32 | version: 6.0.0(@sveltejs/kit@2.16.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1))) 33 | '@sveltejs/kit': 34 | specifier: ^2.16.0 35 | version: 2.16.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 36 | '@sveltejs/package': 37 | specifier: ^2.0.0 38 | version: 2.3.9(svelte@5.19.6)(typescript@5.7.3) 39 | '@sveltejs/vite-plugin-svelte': 40 | specifier: ^5.0.0 41 | version: 5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 42 | '@types/node': 43 | specifier: ^22.13.1 44 | version: 22.13.1 45 | acorn: 46 | specifier: ^8.14.0 47 | version: 8.14.0 48 | eslint: 49 | specifier: ^9.18.0 50 | version: 9.19.0 51 | eslint-config-prettier: 52 | specifier: ^10.0.1 53 | version: 10.0.1(eslint@9.19.0) 54 | eslint-plugin-svelte: 55 | specifier: ^3.0.0 56 | version: 3.0.2(eslint@9.19.0)(svelte@5.19.6) 57 | globals: 58 | specifier: ^16.0.0 59 | version: 16.0.0 60 | prettier: 61 | specifier: ^3.4.2 62 | version: 3.4.2 63 | prettier-plugin-svelte: 64 | specifier: ^3.3.3 65 | version: 3.3.3(prettier@3.4.2)(svelte@5.19.6) 66 | publint: 67 | specifier: ^0.3.2 68 | version: 0.3.2 69 | svelte: 70 | specifier: ^5.0.0 71 | version: 5.19.6 72 | svelte-check: 73 | specifier: ^4.0.0 74 | version: 4.1.4(svelte@5.19.6)(typescript@5.7.3) 75 | typescript: 76 | specifier: ^5.0.0 77 | version: 5.7.3 78 | vite: 79 | specifier: ^6.0.0 80 | version: 6.0.11(@types/node@22.13.1) 81 | vitest: 82 | specifier: ^3.0.0 83 | version: 3.0.4(@types/node@22.13.1) 84 | 85 | packages: 86 | 87 | '@ampproject/remapping@2.3.0': 88 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 89 | engines: {node: '>=6.0.0'} 90 | 91 | '@babel/runtime@7.26.7': 92 | resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} 93 | engines: {node: '>=6.9.0'} 94 | 95 | '@changesets/apply-release-plan@7.0.8': 96 | resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} 97 | 98 | '@changesets/assemble-release-plan@6.0.5': 99 | resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} 100 | 101 | '@changesets/changelog-git@0.2.0': 102 | resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} 103 | 104 | '@changesets/cli@2.27.12': 105 | resolution: {integrity: sha512-9o3fOfHYOvBnyEn0mcahB7wzaA3P4bGJf8PNqGit5PKaMEFdsRixik+txkrJWd2VX+O6wRFXpxQL8j/1ANKE9g==} 106 | hasBin: true 107 | 108 | '@changesets/config@3.0.5': 109 | resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} 110 | 111 | '@changesets/errors@0.2.0': 112 | resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} 113 | 114 | '@changesets/get-dependents-graph@2.1.2': 115 | resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} 116 | 117 | '@changesets/get-release-plan@4.0.6': 118 | resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} 119 | 120 | '@changesets/get-version-range-type@0.4.0': 121 | resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} 122 | 123 | '@changesets/git@3.0.2': 124 | resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} 125 | 126 | '@changesets/logger@0.1.1': 127 | resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} 128 | 129 | '@changesets/parse@0.4.0': 130 | resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} 131 | 132 | '@changesets/pre@2.0.1': 133 | resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} 134 | 135 | '@changesets/read@0.6.2': 136 | resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} 137 | 138 | '@changesets/should-skip-package@0.1.1': 139 | resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} 140 | 141 | '@changesets/types@4.1.0': 142 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} 143 | 144 | '@changesets/types@6.0.0': 145 | resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} 146 | 147 | '@changesets/write@0.3.2': 148 | resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} 149 | 150 | '@esbuild/aix-ppc64@0.24.2': 151 | resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} 152 | engines: {node: '>=18'} 153 | cpu: [ppc64] 154 | os: [aix] 155 | 156 | '@esbuild/android-arm64@0.24.2': 157 | resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} 158 | engines: {node: '>=18'} 159 | cpu: [arm64] 160 | os: [android] 161 | 162 | '@esbuild/android-arm@0.24.2': 163 | resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} 164 | engines: {node: '>=18'} 165 | cpu: [arm] 166 | os: [android] 167 | 168 | '@esbuild/android-x64@0.24.2': 169 | resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} 170 | engines: {node: '>=18'} 171 | cpu: [x64] 172 | os: [android] 173 | 174 | '@esbuild/darwin-arm64@0.24.2': 175 | resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} 176 | engines: {node: '>=18'} 177 | cpu: [arm64] 178 | os: [darwin] 179 | 180 | '@esbuild/darwin-x64@0.24.2': 181 | resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} 182 | engines: {node: '>=18'} 183 | cpu: [x64] 184 | os: [darwin] 185 | 186 | '@esbuild/freebsd-arm64@0.24.2': 187 | resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} 188 | engines: {node: '>=18'} 189 | cpu: [arm64] 190 | os: [freebsd] 191 | 192 | '@esbuild/freebsd-x64@0.24.2': 193 | resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} 194 | engines: {node: '>=18'} 195 | cpu: [x64] 196 | os: [freebsd] 197 | 198 | '@esbuild/linux-arm64@0.24.2': 199 | resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} 200 | engines: {node: '>=18'} 201 | cpu: [arm64] 202 | os: [linux] 203 | 204 | '@esbuild/linux-arm@0.24.2': 205 | resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} 206 | engines: {node: '>=18'} 207 | cpu: [arm] 208 | os: [linux] 209 | 210 | '@esbuild/linux-ia32@0.24.2': 211 | resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} 212 | engines: {node: '>=18'} 213 | cpu: [ia32] 214 | os: [linux] 215 | 216 | '@esbuild/linux-loong64@0.24.2': 217 | resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} 218 | engines: {node: '>=18'} 219 | cpu: [loong64] 220 | os: [linux] 221 | 222 | '@esbuild/linux-mips64el@0.24.2': 223 | resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} 224 | engines: {node: '>=18'} 225 | cpu: [mips64el] 226 | os: [linux] 227 | 228 | '@esbuild/linux-ppc64@0.24.2': 229 | resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} 230 | engines: {node: '>=18'} 231 | cpu: [ppc64] 232 | os: [linux] 233 | 234 | '@esbuild/linux-riscv64@0.24.2': 235 | resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} 236 | engines: {node: '>=18'} 237 | cpu: [riscv64] 238 | os: [linux] 239 | 240 | '@esbuild/linux-s390x@0.24.2': 241 | resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} 242 | engines: {node: '>=18'} 243 | cpu: [s390x] 244 | os: [linux] 245 | 246 | '@esbuild/linux-x64@0.24.2': 247 | resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} 248 | engines: {node: '>=18'} 249 | cpu: [x64] 250 | os: [linux] 251 | 252 | '@esbuild/netbsd-arm64@0.24.2': 253 | resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} 254 | engines: {node: '>=18'} 255 | cpu: [arm64] 256 | os: [netbsd] 257 | 258 | '@esbuild/netbsd-x64@0.24.2': 259 | resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} 260 | engines: {node: '>=18'} 261 | cpu: [x64] 262 | os: [netbsd] 263 | 264 | '@esbuild/openbsd-arm64@0.24.2': 265 | resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} 266 | engines: {node: '>=18'} 267 | cpu: [arm64] 268 | os: [openbsd] 269 | 270 | '@esbuild/openbsd-x64@0.24.2': 271 | resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} 272 | engines: {node: '>=18'} 273 | cpu: [x64] 274 | os: [openbsd] 275 | 276 | '@esbuild/sunos-x64@0.24.2': 277 | resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} 278 | engines: {node: '>=18'} 279 | cpu: [x64] 280 | os: [sunos] 281 | 282 | '@esbuild/win32-arm64@0.24.2': 283 | resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} 284 | engines: {node: '>=18'} 285 | cpu: [arm64] 286 | os: [win32] 287 | 288 | '@esbuild/win32-ia32@0.24.2': 289 | resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} 290 | engines: {node: '>=18'} 291 | cpu: [ia32] 292 | os: [win32] 293 | 294 | '@esbuild/win32-x64@0.24.2': 295 | resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} 296 | engines: {node: '>=18'} 297 | cpu: [x64] 298 | os: [win32] 299 | 300 | '@eslint-community/eslint-utils@4.4.1': 301 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 302 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 303 | peerDependencies: 304 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 305 | 306 | '@eslint-community/regexpp@4.12.1': 307 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 308 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 309 | 310 | '@eslint/compat@1.2.6': 311 | resolution: {integrity: sha512-k7HNCqApoDHM6XzT30zGoETj+D+uUcZUb+IVAJmar3u6bvHf7hhHJcWx09QHj4/a2qrKZMWU0E16tvkiAdv06Q==} 312 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 313 | peerDependencies: 314 | eslint: ^9.10.0 315 | peerDependenciesMeta: 316 | eslint: 317 | optional: true 318 | 319 | '@eslint/config-array@0.19.2': 320 | resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} 321 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 322 | 323 | '@eslint/core@0.10.0': 324 | resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} 325 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 326 | 327 | '@eslint/eslintrc@3.2.0': 328 | resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} 329 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 330 | 331 | '@eslint/js@9.19.0': 332 | resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} 333 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 334 | 335 | '@eslint/object-schema@2.1.6': 336 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 337 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 338 | 339 | '@eslint/plugin-kit@0.2.5': 340 | resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} 341 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 342 | 343 | '@humanfs/core@0.19.1': 344 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 345 | engines: {node: '>=18.18.0'} 346 | 347 | '@humanfs/node@0.16.6': 348 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 349 | engines: {node: '>=18.18.0'} 350 | 351 | '@humanwhocodes/module-importer@1.0.1': 352 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 353 | engines: {node: '>=12.22'} 354 | 355 | '@humanwhocodes/retry@0.3.1': 356 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 357 | engines: {node: '>=18.18'} 358 | 359 | '@humanwhocodes/retry@0.4.1': 360 | resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} 361 | engines: {node: '>=18.18'} 362 | 363 | '@jridgewell/gen-mapping@0.3.8': 364 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 365 | engines: {node: '>=6.0.0'} 366 | 367 | '@jridgewell/resolve-uri@3.1.2': 368 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 369 | engines: {node: '>=6.0.0'} 370 | 371 | '@jridgewell/set-array@1.2.1': 372 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 373 | engines: {node: '>=6.0.0'} 374 | 375 | '@jridgewell/sourcemap-codec@1.5.0': 376 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 377 | 378 | '@jridgewell/trace-mapping@0.3.25': 379 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 380 | 381 | '@manypkg/find-root@1.1.0': 382 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 383 | 384 | '@manypkg/get-packages@1.1.3': 385 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 386 | 387 | '@nodelib/fs.scandir@2.1.5': 388 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 389 | engines: {node: '>= 8'} 390 | 391 | '@nodelib/fs.stat@2.0.5': 392 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 393 | engines: {node: '>= 8'} 394 | 395 | '@nodelib/fs.walk@1.2.8': 396 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 397 | engines: {node: '>= 8'} 398 | 399 | '@playwright/test@1.50.1': 400 | resolution: {integrity: sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==} 401 | engines: {node: '>=18'} 402 | hasBin: true 403 | 404 | '@polka/url@1.0.0-next.28': 405 | resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} 406 | 407 | '@publint/pack@0.1.1': 408 | resolution: {integrity: sha512-TvCl79Y8v18ZhFGd5mjO1kYPovSBq3+4LVCi5Nfl1JI8fS8i8kXbgQFGwBJRXczim8GlW8c2LMBKTtExYXOy/A==} 409 | engines: {node: '>=18'} 410 | 411 | '@rollup/rollup-android-arm-eabi@4.34.0': 412 | resolution: {integrity: sha512-Eeao7ewDq79jVEsrtWIj5RNqB8p2knlm9fhR6uJ2gqP7UfbLrTrxevudVrEPDM7Wkpn/HpRC2QfazH7MXLz3vQ==} 413 | cpu: [arm] 414 | os: [android] 415 | 416 | '@rollup/rollup-android-arm64@4.34.0': 417 | resolution: {integrity: sha512-yVh0Kf1f0Fq4tWNf6mWcbQBCLDpDrDEl88lzPgKhrgTcDrTtlmun92ywEF9dCjmYO3EFiSuJeeo9cYRxl2FswA==} 418 | cpu: [arm64] 419 | os: [android] 420 | 421 | '@rollup/rollup-darwin-arm64@4.34.0': 422 | resolution: {integrity: sha512-gCs0ErAZ9s0Osejpc3qahTsqIPUDjSKIyxK/0BGKvL+Tn0n3Kwvj8BrCv7Y5sR1Ypz1K2qz9Ny0VvkVyoXBVUQ==} 423 | cpu: [arm64] 424 | os: [darwin] 425 | 426 | '@rollup/rollup-darwin-x64@4.34.0': 427 | resolution: {integrity: sha512-aIB5Anc8hngk15t3GUkiO4pv42ykXHfmpXGS+CzM9CTyiWyT8HIS5ygRAy7KcFb/wiw4Br+vh1byqcHRTfq2tQ==} 428 | cpu: [x64] 429 | os: [darwin] 430 | 431 | '@rollup/rollup-freebsd-arm64@4.34.0': 432 | resolution: {integrity: sha512-kpdsUdMlVJMRMaOf/tIvxk8TQdzHhY47imwmASOuMajg/GXpw8GKNd8LNwIHE5Yd1onehNpcUB9jHY6wgw9nHQ==} 433 | cpu: [arm64] 434 | os: [freebsd] 435 | 436 | '@rollup/rollup-freebsd-x64@4.34.0': 437 | resolution: {integrity: sha512-D0RDyHygOBCQiqookcPevrvgEarN0CttBecG4chOeIYCNtlKHmf5oi5kAVpXV7qs0Xh/WO2RnxeicZPtT50V0g==} 438 | cpu: [x64] 439 | os: [freebsd] 440 | 441 | '@rollup/rollup-linux-arm-gnueabihf@4.34.0': 442 | resolution: {integrity: sha512-mCIw8j5LPDXmCOW8mfMZwT6F/Kza03EnSr4wGYEswrEfjTfVsFOxvgYfuRMxTuUF/XmRb9WSMD5GhCWDe2iNrg==} 443 | cpu: [arm] 444 | os: [linux] 445 | 446 | '@rollup/rollup-linux-arm-musleabihf@4.34.0': 447 | resolution: {integrity: sha512-AwwldAu4aCJPob7zmjuDUMvvuatgs8B/QiVB0KwkUarAcPB3W+ToOT+18TQwY4z09Al7G0BvCcmLRop5zBLTag==} 448 | cpu: [arm] 449 | os: [linux] 450 | 451 | '@rollup/rollup-linux-arm64-gnu@4.34.0': 452 | resolution: {integrity: sha512-e7kDUGVP+xw05pV65ZKb0zulRploU3gTu6qH1qL58PrULDGxULIS0OSDQJLH7WiFnpd3ZKUU4VM3u/Z7Zw+e7Q==} 453 | cpu: [arm64] 454 | os: [linux] 455 | 456 | '@rollup/rollup-linux-arm64-musl@4.34.0': 457 | resolution: {integrity: sha512-SXYJw3zpwHgaBqTXeAZ31qfW/v50wq4HhNVvKFhRr5MnptRX2Af4KebLWR1wpxGJtLgfS2hEPuALRIY3LPAAcA==} 458 | cpu: [arm64] 459 | os: [linux] 460 | 461 | '@rollup/rollup-linux-loongarch64-gnu@4.34.0': 462 | resolution: {integrity: sha512-e5XiCinINCI4RdyU3sFyBH4zzz7LiQRvHqDtRe9Dt8o/8hTBaYpdPimayF00eY2qy5j4PaaWK0azRgUench6WQ==} 463 | cpu: [loong64] 464 | os: [linux] 465 | 466 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.0': 467 | resolution: {integrity: sha512-3SWN3e0bAsm9ToprLFBSro8nJe6YN+5xmB11N4FfNf92wvLye/+Rh5JGQtKOpwLKt6e61R1RBc9g+luLJsc23A==} 468 | cpu: [ppc64] 469 | os: [linux] 470 | 471 | '@rollup/rollup-linux-riscv64-gnu@4.34.0': 472 | resolution: {integrity: sha512-B1Oqt3GLh7qmhvfnc2WQla4NuHlcxAD5LyueUi5WtMc76ZWY+6qDtQYqnxARx9r+7mDGfamD+8kTJO0pKUJeJA==} 473 | cpu: [riscv64] 474 | os: [linux] 475 | 476 | '@rollup/rollup-linux-s390x-gnu@4.34.0': 477 | resolution: {integrity: sha512-UfUCo0h/uj48Jq2lnhX0AOhZPSTAq3Eostas+XZ+GGk22pI+Op1Y6cxQ1JkUuKYu2iU+mXj1QjPrZm9nNWV9rg==} 478 | cpu: [s390x] 479 | os: [linux] 480 | 481 | '@rollup/rollup-linux-x64-gnu@4.34.0': 482 | resolution: {integrity: sha512-chZLTUIPbgcpm+Z7ALmomXW8Zh+wE2icrG+K6nt/HenPLmtwCajhQC5flNSk1Xy5EDMt/QAOz2MhzfOfJOLSiA==} 483 | cpu: [x64] 484 | os: [linux] 485 | 486 | '@rollup/rollup-linux-x64-musl@4.34.0': 487 | resolution: {integrity: sha512-jo0UolK70O28BifvEsFD/8r25shFezl0aUk2t0VJzREWHkq19e+pcLu4kX5HiVXNz5qqkD+aAq04Ct8rkxgbyQ==} 488 | cpu: [x64] 489 | os: [linux] 490 | 491 | '@rollup/rollup-win32-arm64-msvc@4.34.0': 492 | resolution: {integrity: sha512-Vmg0NhAap2S54JojJchiu5An54qa6t/oKT7LmDaWggpIcaiL8WcWHEN6OQrfTdL6mQ2GFyH7j2T5/3YPEDOOGA==} 493 | cpu: [arm64] 494 | os: [win32] 495 | 496 | '@rollup/rollup-win32-ia32-msvc@4.34.0': 497 | resolution: {integrity: sha512-CV2aqhDDOsABKHKhNcs1SZFryffQf8vK2XrxP6lxC99ELZAdvsDgPklIBfd65R8R+qvOm1SmLaZ/Fdq961+m7A==} 498 | cpu: [ia32] 499 | os: [win32] 500 | 501 | '@rollup/rollup-win32-x64-msvc@4.34.0': 502 | resolution: {integrity: sha512-g2ASy1QwHP88y5KWvblUolJz9rN+i4ZOsYzkEwcNfaNooxNUXG+ON6F5xFo0NIItpHqxcdAyls05VXpBnludGw==} 503 | cpu: [x64] 504 | os: [win32] 505 | 506 | '@sveltejs/adapter-auto@6.0.0': 507 | resolution: {integrity: sha512-7mR2/G7vlXakaOj6QBSG9dwBfTgWjV+UnEMB5Z6Xu0ZbdXda6c0su1fNkg0ab0zlilSkloMA2NjCna02/DR7sA==} 508 | peerDependencies: 509 | '@sveltejs/kit': ^2.0.0 510 | 511 | '@sveltejs/kit@2.16.1': 512 | resolution: {integrity: sha512-2pF5sgGJx9brYZ/9nNDYnh5KX0JguPF14dnvvtf/MqrvlWrDj/e7Rk3LBJPecFLLK1GRs6ZniD24gFPqZm/NFw==} 513 | engines: {node: '>=18.13'} 514 | hasBin: true 515 | peerDependencies: 516 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 517 | svelte: ^4.0.0 || ^5.0.0-next.0 518 | vite: ^5.0.3 || ^6.0.0 519 | 520 | '@sveltejs/package@2.3.9': 521 | resolution: {integrity: sha512-POIiQknGmcGCcM7ZbFG7cjsJ51GndFOY3PTXa8XFzZ+C/GJfx/JufvVXiWcXVsteP74FeXSSgcC+b5sIayXXKw==} 522 | engines: {node: ^16.14 || >=18} 523 | hasBin: true 524 | peerDependencies: 525 | svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 526 | 527 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1': 528 | resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} 529 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 530 | peerDependencies: 531 | '@sveltejs/vite-plugin-svelte': ^5.0.0 532 | svelte: ^5.0.0 533 | vite: ^6.0.0 534 | 535 | '@sveltejs/vite-plugin-svelte@5.0.3': 536 | resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} 537 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 538 | peerDependencies: 539 | svelte: ^5.0.0 540 | vite: ^6.0.0 541 | 542 | '@types/cookie@0.6.0': 543 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 544 | 545 | '@types/estree@1.0.6': 546 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 547 | 548 | '@types/json-schema@7.0.15': 549 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 550 | 551 | '@types/node@12.20.55': 552 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 553 | 554 | '@types/node@22.13.1': 555 | resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} 556 | 557 | '@vitest/expect@3.0.4': 558 | resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} 559 | 560 | '@vitest/mocker@3.0.4': 561 | resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} 562 | peerDependencies: 563 | msw: ^2.4.9 564 | vite: ^5.0.0 || ^6.0.0 565 | peerDependenciesMeta: 566 | msw: 567 | optional: true 568 | vite: 569 | optional: true 570 | 571 | '@vitest/pretty-format@3.0.4': 572 | resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} 573 | 574 | '@vitest/runner@3.0.4': 575 | resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} 576 | 577 | '@vitest/snapshot@3.0.4': 578 | resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} 579 | 580 | '@vitest/spy@3.0.4': 581 | resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} 582 | 583 | '@vitest/utils@3.0.4': 584 | resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} 585 | 586 | acorn-jsx@5.3.2: 587 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 588 | peerDependencies: 589 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 590 | 591 | acorn-typescript@1.4.13: 592 | resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} 593 | peerDependencies: 594 | acorn: '>=8.9.0' 595 | 596 | acorn@8.14.0: 597 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 598 | engines: {node: '>=0.4.0'} 599 | hasBin: true 600 | 601 | ajv@6.12.6: 602 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 603 | 604 | ansi-colors@4.1.3: 605 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 606 | engines: {node: '>=6'} 607 | 608 | ansi-regex@5.0.1: 609 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 610 | engines: {node: '>=8'} 611 | 612 | ansi-styles@4.3.0: 613 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 614 | engines: {node: '>=8'} 615 | 616 | argparse@1.0.10: 617 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 618 | 619 | argparse@2.0.1: 620 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 621 | 622 | aria-query@5.3.2: 623 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 624 | engines: {node: '>= 0.4'} 625 | 626 | array-union@2.1.0: 627 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 628 | engines: {node: '>=8'} 629 | 630 | assertion-error@2.0.1: 631 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 632 | engines: {node: '>=12'} 633 | 634 | axobject-query@4.1.0: 635 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 636 | engines: {node: '>= 0.4'} 637 | 638 | balanced-match@1.0.2: 639 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 640 | 641 | better-path-resolve@1.0.0: 642 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 643 | engines: {node: '>=4'} 644 | 645 | brace-expansion@1.1.11: 646 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 647 | 648 | braces@3.0.3: 649 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 650 | engines: {node: '>=8'} 651 | 652 | cac@6.7.14: 653 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 654 | engines: {node: '>=8'} 655 | 656 | callsites@3.1.0: 657 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 658 | engines: {node: '>=6'} 659 | 660 | chai@5.1.2: 661 | resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} 662 | engines: {node: '>=12'} 663 | 664 | chalk@4.1.2: 665 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 666 | engines: {node: '>=10'} 667 | 668 | chardet@0.7.0: 669 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 670 | 671 | check-error@2.1.1: 672 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 673 | engines: {node: '>= 16'} 674 | 675 | chokidar@4.0.3: 676 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 677 | engines: {node: '>= 14.16.0'} 678 | 679 | ci-info@3.9.0: 680 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 681 | engines: {node: '>=8'} 682 | 683 | clsx@2.1.1: 684 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 685 | engines: {node: '>=6'} 686 | 687 | color-convert@2.0.1: 688 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 689 | engines: {node: '>=7.0.0'} 690 | 691 | color-name@1.1.4: 692 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 693 | 694 | concat-map@0.0.1: 695 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 696 | 697 | cookie@0.6.0: 698 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 699 | engines: {node: '>= 0.6'} 700 | 701 | cross-spawn@7.0.6: 702 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 703 | engines: {node: '>= 8'} 704 | 705 | cssesc@3.0.0: 706 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 707 | engines: {node: '>=4'} 708 | hasBin: true 709 | 710 | debug@4.4.0: 711 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 712 | engines: {node: '>=6.0'} 713 | peerDependencies: 714 | supports-color: '*' 715 | peerDependenciesMeta: 716 | supports-color: 717 | optional: true 718 | 719 | dedent-js@1.0.1: 720 | resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} 721 | 722 | deep-eql@5.0.2: 723 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 724 | engines: {node: '>=6'} 725 | 726 | deep-is@0.1.4: 727 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 728 | 729 | deepmerge@4.3.1: 730 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 731 | engines: {node: '>=0.10.0'} 732 | 733 | detect-indent@6.1.0: 734 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 735 | engines: {node: '>=8'} 736 | 737 | devalue@5.1.1: 738 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} 739 | 740 | dir-glob@3.0.1: 741 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 742 | engines: {node: '>=8'} 743 | 744 | enquirer@2.4.1: 745 | resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 746 | engines: {node: '>=8.6'} 747 | 748 | es-module-lexer@1.6.0: 749 | resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} 750 | 751 | esbuild@0.24.2: 752 | resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} 753 | engines: {node: '>=18'} 754 | hasBin: true 755 | 756 | escape-string-regexp@4.0.0: 757 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 758 | engines: {node: '>=10'} 759 | 760 | eslint-compat-utils@0.6.4: 761 | resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} 762 | engines: {node: '>=12'} 763 | peerDependencies: 764 | eslint: '>=6.0.0' 765 | 766 | eslint-config-prettier@10.0.1: 767 | resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==} 768 | hasBin: true 769 | peerDependencies: 770 | eslint: '>=7.0.0' 771 | 772 | eslint-plugin-svelte@3.0.2: 773 | resolution: {integrity: sha512-+0QglmWNryvXXxRQKzLF3i+AreTsueCw7PBb0nGVBq+F9HoYqAjQeJ/9N6vFAtjMjK3wgsETrLVyBKPdeufN6Q==} 774 | engines: {node: ^18.20.4 || ^20.18.0 || >=22.10.0} 775 | peerDependencies: 776 | eslint: ^8.57.1 || ^9.0.0 777 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 778 | peerDependenciesMeta: 779 | svelte: 780 | optional: true 781 | 782 | eslint-scope@8.2.0: 783 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} 784 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 785 | 786 | eslint-visitor-keys@3.4.3: 787 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 788 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 789 | 790 | eslint-visitor-keys@4.2.0: 791 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 792 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 793 | 794 | eslint@9.19.0: 795 | resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} 796 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 797 | hasBin: true 798 | peerDependencies: 799 | jiti: '*' 800 | peerDependenciesMeta: 801 | jiti: 802 | optional: true 803 | 804 | esm-env@1.2.2: 805 | resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 806 | 807 | espree@10.3.0: 808 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 809 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 810 | 811 | esprima@4.0.1: 812 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 813 | engines: {node: '>=4'} 814 | hasBin: true 815 | 816 | esquery@1.6.0: 817 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 818 | engines: {node: '>=0.10'} 819 | 820 | esrap@1.4.4: 821 | resolution: {integrity: sha512-tDN6xP/r/b3WmdpWm7LybrD252hY52IokcycPnO+WHfhFF0+n5AWtcLLK7VNV6m0uYgVRhGVs8OkZwRyfC7HzQ==} 822 | 823 | esrecurse@4.3.0: 824 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 825 | engines: {node: '>=4.0'} 826 | 827 | estraverse@5.3.0: 828 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 829 | engines: {node: '>=4.0'} 830 | 831 | estree-walker@3.0.3: 832 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 833 | 834 | esutils@2.0.3: 835 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 836 | engines: {node: '>=0.10.0'} 837 | 838 | expect-type@1.1.0: 839 | resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} 840 | engines: {node: '>=12.0.0'} 841 | 842 | extendable-error@0.1.7: 843 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 844 | 845 | external-editor@3.1.0: 846 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 847 | engines: {node: '>=4'} 848 | 849 | fast-deep-equal@3.1.3: 850 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 851 | 852 | fast-glob@3.3.3: 853 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 854 | engines: {node: '>=8.6.0'} 855 | 856 | fast-json-stable-stringify@2.1.0: 857 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 858 | 859 | fast-levenshtein@2.0.6: 860 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 861 | 862 | fastq@1.19.0: 863 | resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} 864 | 865 | fdir@6.4.3: 866 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} 867 | peerDependencies: 868 | picomatch: ^3 || ^4 869 | peerDependenciesMeta: 870 | picomatch: 871 | optional: true 872 | 873 | file-entry-cache@8.0.0: 874 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 875 | engines: {node: '>=16.0.0'} 876 | 877 | fill-range@7.1.1: 878 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 879 | engines: {node: '>=8'} 880 | 881 | find-up@4.1.0: 882 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 883 | engines: {node: '>=8'} 884 | 885 | find-up@5.0.0: 886 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 887 | engines: {node: '>=10'} 888 | 889 | flat-cache@4.0.1: 890 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 891 | engines: {node: '>=16'} 892 | 893 | flatted@3.3.2: 894 | resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} 895 | 896 | fs-extra@7.0.1: 897 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 898 | engines: {node: '>=6 <7 || >=8'} 899 | 900 | fs-extra@8.1.0: 901 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 902 | engines: {node: '>=6 <7 || >=8'} 903 | 904 | fsevents@2.3.2: 905 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 906 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 907 | os: [darwin] 908 | 909 | fsevents@2.3.3: 910 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 911 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 912 | os: [darwin] 913 | 914 | glob-parent@5.1.2: 915 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 916 | engines: {node: '>= 6'} 917 | 918 | glob-parent@6.0.2: 919 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 920 | engines: {node: '>=10.13.0'} 921 | 922 | globals@14.0.0: 923 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 924 | engines: {node: '>=18'} 925 | 926 | globals@16.0.0: 927 | resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} 928 | engines: {node: '>=18'} 929 | 930 | globby@11.1.0: 931 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 932 | engines: {node: '>=10'} 933 | 934 | graceful-fs@4.2.11: 935 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 936 | 937 | has-flag@4.0.0: 938 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 939 | engines: {node: '>=8'} 940 | 941 | human-id@1.0.2: 942 | resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} 943 | 944 | iconv-lite@0.4.24: 945 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 946 | engines: {node: '>=0.10.0'} 947 | 948 | ignore@5.3.2: 949 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 950 | engines: {node: '>= 4'} 951 | 952 | import-fresh@3.3.0: 953 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 954 | engines: {node: '>=6'} 955 | 956 | import-meta-resolve@4.1.0: 957 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 958 | 959 | imurmurhash@0.1.4: 960 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 961 | engines: {node: '>=0.8.19'} 962 | 963 | is-extglob@2.1.1: 964 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 965 | engines: {node: '>=0.10.0'} 966 | 967 | is-glob@4.0.3: 968 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 969 | engines: {node: '>=0.10.0'} 970 | 971 | is-number@7.0.0: 972 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 973 | engines: {node: '>=0.12.0'} 974 | 975 | is-reference@3.0.3: 976 | resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} 977 | 978 | is-subdir@1.2.0: 979 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 980 | engines: {node: '>=4'} 981 | 982 | is-windows@1.0.2: 983 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 984 | engines: {node: '>=0.10.0'} 985 | 986 | isexe@2.0.0: 987 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 988 | 989 | js-yaml@3.14.1: 990 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 991 | hasBin: true 992 | 993 | js-yaml@4.1.0: 994 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 995 | hasBin: true 996 | 997 | json-buffer@3.0.1: 998 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 999 | 1000 | json-schema-traverse@0.4.1: 1001 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1002 | 1003 | json-stable-stringify-without-jsonify@1.0.1: 1004 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1005 | 1006 | jsonfile@4.0.0: 1007 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1008 | 1009 | keyv@4.5.4: 1010 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1011 | 1012 | kleur@4.1.5: 1013 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1014 | engines: {node: '>=6'} 1015 | 1016 | known-css-properties@0.35.0: 1017 | resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} 1018 | 1019 | levn@0.4.1: 1020 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1021 | engines: {node: '>= 0.8.0'} 1022 | 1023 | lilconfig@2.1.0: 1024 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1025 | engines: {node: '>=10'} 1026 | 1027 | locate-character@3.0.0: 1028 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 1029 | 1030 | locate-path@5.0.0: 1031 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1032 | engines: {node: '>=8'} 1033 | 1034 | locate-path@6.0.0: 1035 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1036 | engines: {node: '>=10'} 1037 | 1038 | lodash.merge@4.6.2: 1039 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1040 | 1041 | lodash.startcase@4.4.0: 1042 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 1043 | 1044 | loupe@3.1.3: 1045 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1046 | 1047 | lower-case@2.0.2: 1048 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 1049 | 1050 | magic-string@0.30.17: 1051 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1052 | 1053 | merge2@1.4.1: 1054 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1055 | engines: {node: '>= 8'} 1056 | 1057 | micromatch@4.0.8: 1058 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1059 | engines: {node: '>=8.6'} 1060 | 1061 | minimatch@3.1.2: 1062 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1063 | 1064 | mri@1.2.0: 1065 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1066 | engines: {node: '>=4'} 1067 | 1068 | mrmime@2.0.0: 1069 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 1070 | engines: {node: '>=10'} 1071 | 1072 | ms@2.1.3: 1073 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1074 | 1075 | nanoid@3.3.8: 1076 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 1077 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1078 | hasBin: true 1079 | 1080 | natural-compare@1.4.0: 1081 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1082 | 1083 | no-case@3.0.4: 1084 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1085 | 1086 | optionator@0.9.4: 1087 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1088 | engines: {node: '>= 0.8.0'} 1089 | 1090 | os-tmpdir@1.0.2: 1091 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1092 | engines: {node: '>=0.10.0'} 1093 | 1094 | outdent@0.5.0: 1095 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1096 | 1097 | p-filter@2.1.0: 1098 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 1099 | engines: {node: '>=8'} 1100 | 1101 | p-limit@2.3.0: 1102 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1103 | engines: {node: '>=6'} 1104 | 1105 | p-limit@3.1.0: 1106 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1107 | engines: {node: '>=10'} 1108 | 1109 | p-locate@4.1.0: 1110 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1111 | engines: {node: '>=8'} 1112 | 1113 | p-locate@5.0.0: 1114 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1115 | engines: {node: '>=10'} 1116 | 1117 | p-map@2.1.0: 1118 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1119 | engines: {node: '>=6'} 1120 | 1121 | p-try@2.2.0: 1122 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1123 | engines: {node: '>=6'} 1124 | 1125 | package-manager-detector@0.2.9: 1126 | resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} 1127 | 1128 | parent-module@1.0.1: 1129 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1130 | engines: {node: '>=6'} 1131 | 1132 | pascal-case@3.1.2: 1133 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 1134 | 1135 | path-exists@4.0.0: 1136 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1137 | engines: {node: '>=8'} 1138 | 1139 | path-key@3.1.1: 1140 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1141 | engines: {node: '>=8'} 1142 | 1143 | path-type@4.0.0: 1144 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1145 | engines: {node: '>=8'} 1146 | 1147 | pathe@2.0.2: 1148 | resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} 1149 | 1150 | pathval@2.0.0: 1151 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1152 | engines: {node: '>= 14.16'} 1153 | 1154 | picocolors@1.1.1: 1155 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1156 | 1157 | picomatch@2.3.1: 1158 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1159 | engines: {node: '>=8.6'} 1160 | 1161 | pify@4.0.1: 1162 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 1163 | engines: {node: '>=6'} 1164 | 1165 | playwright-core@1.50.1: 1166 | resolution: {integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==} 1167 | engines: {node: '>=18'} 1168 | hasBin: true 1169 | 1170 | playwright@1.50.1: 1171 | resolution: {integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==} 1172 | engines: {node: '>=18'} 1173 | hasBin: true 1174 | 1175 | postcss-load-config@3.1.4: 1176 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1177 | engines: {node: '>= 10'} 1178 | peerDependencies: 1179 | postcss: '>=8.0.9' 1180 | ts-node: '>=9.0.0' 1181 | peerDependenciesMeta: 1182 | postcss: 1183 | optional: true 1184 | ts-node: 1185 | optional: true 1186 | 1187 | postcss-safe-parser@7.0.1: 1188 | resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} 1189 | engines: {node: '>=18.0'} 1190 | peerDependencies: 1191 | postcss: ^8.4.31 1192 | 1193 | postcss-scss@4.0.9: 1194 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} 1195 | engines: {node: '>=12.0'} 1196 | peerDependencies: 1197 | postcss: ^8.4.29 1198 | 1199 | postcss-selector-parser@7.1.0: 1200 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} 1201 | engines: {node: '>=4'} 1202 | 1203 | postcss@8.5.1: 1204 | resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} 1205 | engines: {node: ^10 || ^12 || >=14} 1206 | 1207 | prelude-ls@1.2.1: 1208 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1209 | engines: {node: '>= 0.8.0'} 1210 | 1211 | prettier-plugin-svelte@3.3.3: 1212 | resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==} 1213 | peerDependencies: 1214 | prettier: ^3.0.0 1215 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 1216 | 1217 | prettier@2.8.8: 1218 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 1219 | engines: {node: '>=10.13.0'} 1220 | hasBin: true 1221 | 1222 | prettier@3.4.2: 1223 | resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} 1224 | engines: {node: '>=14'} 1225 | hasBin: true 1226 | 1227 | publint@0.3.2: 1228 | resolution: {integrity: sha512-fPs7QUbUvwixxPYUUTn0Kqp0rbH5rbiAOZwQOXMkIj+4Nopby1AngodSQmzTkJWTJ5R4uVV8oYmgVIjj+tgv1w==} 1229 | engines: {node: '>=18'} 1230 | hasBin: true 1231 | 1232 | punycode@2.3.1: 1233 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1234 | engines: {node: '>=6'} 1235 | 1236 | queue-microtask@1.2.3: 1237 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1238 | 1239 | read-yaml-file@1.1.0: 1240 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 1241 | engines: {node: '>=6'} 1242 | 1243 | readdirp@4.1.1: 1244 | resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} 1245 | engines: {node: '>= 14.18.0'} 1246 | 1247 | regenerator-runtime@0.14.1: 1248 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1249 | 1250 | resolve-from@4.0.0: 1251 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1252 | engines: {node: '>=4'} 1253 | 1254 | resolve-from@5.0.0: 1255 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1256 | engines: {node: '>=8'} 1257 | 1258 | reusify@1.0.4: 1259 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1260 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1261 | 1262 | rollup@4.34.0: 1263 | resolution: {integrity: sha512-+4C/cgJ9w6sudisA0nZz0+O7lTP9a3CzNLsoDwaRumM8QHwghUsu6tqHXiTmNUp/rqNiM14++7dkzHDyCRs0Jg==} 1264 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1265 | hasBin: true 1266 | 1267 | run-parallel@1.2.0: 1268 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1269 | 1270 | sade@1.8.1: 1271 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1272 | engines: {node: '>=6'} 1273 | 1274 | safer-buffer@2.1.2: 1275 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1276 | 1277 | semver@7.7.0: 1278 | resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==} 1279 | engines: {node: '>=10'} 1280 | hasBin: true 1281 | 1282 | set-cookie-parser@2.7.1: 1283 | resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} 1284 | 1285 | shebang-command@2.0.0: 1286 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1287 | engines: {node: '>=8'} 1288 | 1289 | shebang-regex@3.0.0: 1290 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1291 | engines: {node: '>=8'} 1292 | 1293 | siginfo@2.0.0: 1294 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1295 | 1296 | signal-exit@4.1.0: 1297 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1298 | engines: {node: '>=14'} 1299 | 1300 | sirv@3.0.0: 1301 | resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} 1302 | engines: {node: '>=18'} 1303 | 1304 | slash@3.0.0: 1305 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1306 | engines: {node: '>=8'} 1307 | 1308 | source-map-js@1.2.1: 1309 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1310 | engines: {node: '>=0.10.0'} 1311 | 1312 | spawndamnit@3.0.1: 1313 | resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} 1314 | 1315 | sprintf-js@1.0.3: 1316 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1317 | 1318 | stackback@0.0.2: 1319 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1320 | 1321 | std-env@3.8.0: 1322 | resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} 1323 | 1324 | strip-ansi@6.0.1: 1325 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1326 | engines: {node: '>=8'} 1327 | 1328 | strip-bom@3.0.0: 1329 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1330 | engines: {node: '>=4'} 1331 | 1332 | strip-json-comments@3.1.1: 1333 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1334 | engines: {node: '>=8'} 1335 | 1336 | supports-color@7.2.0: 1337 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1338 | engines: {node: '>=8'} 1339 | 1340 | svelte-check@4.1.4: 1341 | resolution: {integrity: sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==} 1342 | engines: {node: '>= 18.0.0'} 1343 | hasBin: true 1344 | peerDependencies: 1345 | svelte: ^4.0.0 || ^5.0.0-next.0 1346 | typescript: '>=5.0.0' 1347 | 1348 | svelte-eslint-parser@1.0.0: 1349 | resolution: {integrity: sha512-diZzpeeFhAxormeIhmRS4vXx98GG6T7Dq5y1a6qffqs/5MBrBqqDg8bj88iEohp6bvhU4MIABJmOTa0gXWcbSQ==} 1350 | engines: {node: ^18.20.4 || ^20.18.0 || >=22.10.0} 1351 | peerDependencies: 1352 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 1353 | peerDependenciesMeta: 1354 | svelte: 1355 | optional: true 1356 | 1357 | svelte2tsx@0.7.34: 1358 | resolution: {integrity: sha512-WTMhpNhFf8/h3SMtR5dkdSy2qfveomkhYei/QW9gSPccb0/b82tjHvLop6vT303ZkGswU/da1s6XvrLgthQPCw==} 1359 | peerDependencies: 1360 | svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 1361 | typescript: ^4.9.4 || ^5.0.0 1362 | 1363 | svelte@5.19.6: 1364 | resolution: {integrity: sha512-6ydekB3qyqUal+UhfMjmVOjRGtxysR8vuiMhi2nwuBtPJWnctVlsGspjVFB05qmR+TXI1emuqtZt81c0XiFleA==} 1365 | engines: {node: '>=18'} 1366 | 1367 | term-size@2.2.1: 1368 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 1369 | engines: {node: '>=8'} 1370 | 1371 | tinybench@2.9.0: 1372 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1373 | 1374 | tinyexec@0.3.2: 1375 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1376 | 1377 | tinypool@1.0.2: 1378 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} 1379 | engines: {node: ^18.0.0 || >=20.0.0} 1380 | 1381 | tinyrainbow@2.0.0: 1382 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} 1383 | engines: {node: '>=14.0.0'} 1384 | 1385 | tinyspy@3.0.2: 1386 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 1387 | engines: {node: '>=14.0.0'} 1388 | 1389 | tmp@0.0.33: 1390 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1391 | engines: {node: '>=0.6.0'} 1392 | 1393 | to-regex-range@5.0.1: 1394 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1395 | engines: {node: '>=8.0'} 1396 | 1397 | totalist@3.0.1: 1398 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1399 | engines: {node: '>=6'} 1400 | 1401 | tslib@2.8.1: 1402 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1403 | 1404 | type-check@0.4.0: 1405 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1406 | engines: {node: '>= 0.8.0'} 1407 | 1408 | typescript@5.7.3: 1409 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} 1410 | engines: {node: '>=14.17'} 1411 | hasBin: true 1412 | 1413 | undici-types@6.20.0: 1414 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1415 | 1416 | universalify@0.1.2: 1417 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1418 | engines: {node: '>= 4.0.0'} 1419 | 1420 | uri-js@4.4.1: 1421 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1422 | 1423 | util-deprecate@1.0.2: 1424 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1425 | 1426 | vite-node@3.0.4: 1427 | resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} 1428 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1429 | hasBin: true 1430 | 1431 | vite@6.0.11: 1432 | resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==} 1433 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1434 | hasBin: true 1435 | peerDependencies: 1436 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1437 | jiti: '>=1.21.0' 1438 | less: '*' 1439 | lightningcss: ^1.21.0 1440 | sass: '*' 1441 | sass-embedded: '*' 1442 | stylus: '*' 1443 | sugarss: '*' 1444 | terser: ^5.16.0 1445 | tsx: ^4.8.1 1446 | yaml: ^2.4.2 1447 | peerDependenciesMeta: 1448 | '@types/node': 1449 | optional: true 1450 | jiti: 1451 | optional: true 1452 | less: 1453 | optional: true 1454 | lightningcss: 1455 | optional: true 1456 | sass: 1457 | optional: true 1458 | sass-embedded: 1459 | optional: true 1460 | stylus: 1461 | optional: true 1462 | sugarss: 1463 | optional: true 1464 | terser: 1465 | optional: true 1466 | tsx: 1467 | optional: true 1468 | yaml: 1469 | optional: true 1470 | 1471 | vitefu@1.0.5: 1472 | resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==} 1473 | peerDependencies: 1474 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 1475 | peerDependenciesMeta: 1476 | vite: 1477 | optional: true 1478 | 1479 | vitest@3.0.4: 1480 | resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} 1481 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1482 | hasBin: true 1483 | peerDependencies: 1484 | '@edge-runtime/vm': '*' 1485 | '@types/debug': ^4.1.12 1486 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1487 | '@vitest/browser': 3.0.4 1488 | '@vitest/ui': 3.0.4 1489 | happy-dom: '*' 1490 | jsdom: '*' 1491 | peerDependenciesMeta: 1492 | '@edge-runtime/vm': 1493 | optional: true 1494 | '@types/debug': 1495 | optional: true 1496 | '@types/node': 1497 | optional: true 1498 | '@vitest/browser': 1499 | optional: true 1500 | '@vitest/ui': 1501 | optional: true 1502 | happy-dom: 1503 | optional: true 1504 | jsdom: 1505 | optional: true 1506 | 1507 | which@2.0.2: 1508 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1509 | engines: {node: '>= 8'} 1510 | hasBin: true 1511 | 1512 | why-is-node-running@2.3.0: 1513 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 1514 | engines: {node: '>=8'} 1515 | hasBin: true 1516 | 1517 | word-wrap@1.2.5: 1518 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1519 | engines: {node: '>=0.10.0'} 1520 | 1521 | yaml@1.10.2: 1522 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1523 | engines: {node: '>= 6'} 1524 | 1525 | yocto-queue@0.1.0: 1526 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1527 | engines: {node: '>=10'} 1528 | 1529 | zimmerframe@1.1.2: 1530 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} 1531 | 1532 | snapshots: 1533 | 1534 | '@ampproject/remapping@2.3.0': 1535 | dependencies: 1536 | '@jridgewell/gen-mapping': 0.3.8 1537 | '@jridgewell/trace-mapping': 0.3.25 1538 | 1539 | '@babel/runtime@7.26.7': 1540 | dependencies: 1541 | regenerator-runtime: 0.14.1 1542 | 1543 | '@changesets/apply-release-plan@7.0.8': 1544 | dependencies: 1545 | '@changesets/config': 3.0.5 1546 | '@changesets/get-version-range-type': 0.4.0 1547 | '@changesets/git': 3.0.2 1548 | '@changesets/should-skip-package': 0.1.1 1549 | '@changesets/types': 6.0.0 1550 | '@manypkg/get-packages': 1.1.3 1551 | detect-indent: 6.1.0 1552 | fs-extra: 7.0.1 1553 | lodash.startcase: 4.4.0 1554 | outdent: 0.5.0 1555 | prettier: 2.8.8 1556 | resolve-from: 5.0.0 1557 | semver: 7.7.0 1558 | 1559 | '@changesets/assemble-release-plan@6.0.5': 1560 | dependencies: 1561 | '@changesets/errors': 0.2.0 1562 | '@changesets/get-dependents-graph': 2.1.2 1563 | '@changesets/should-skip-package': 0.1.1 1564 | '@changesets/types': 6.0.0 1565 | '@manypkg/get-packages': 1.1.3 1566 | semver: 7.7.0 1567 | 1568 | '@changesets/changelog-git@0.2.0': 1569 | dependencies: 1570 | '@changesets/types': 6.0.0 1571 | 1572 | '@changesets/cli@2.27.12': 1573 | dependencies: 1574 | '@changesets/apply-release-plan': 7.0.8 1575 | '@changesets/assemble-release-plan': 6.0.5 1576 | '@changesets/changelog-git': 0.2.0 1577 | '@changesets/config': 3.0.5 1578 | '@changesets/errors': 0.2.0 1579 | '@changesets/get-dependents-graph': 2.1.2 1580 | '@changesets/get-release-plan': 4.0.6 1581 | '@changesets/git': 3.0.2 1582 | '@changesets/logger': 0.1.1 1583 | '@changesets/pre': 2.0.1 1584 | '@changesets/read': 0.6.2 1585 | '@changesets/should-skip-package': 0.1.1 1586 | '@changesets/types': 6.0.0 1587 | '@changesets/write': 0.3.2 1588 | '@manypkg/get-packages': 1.1.3 1589 | ansi-colors: 4.1.3 1590 | ci-info: 3.9.0 1591 | enquirer: 2.4.1 1592 | external-editor: 3.1.0 1593 | fs-extra: 7.0.1 1594 | mri: 1.2.0 1595 | p-limit: 2.3.0 1596 | package-manager-detector: 0.2.9 1597 | picocolors: 1.1.1 1598 | resolve-from: 5.0.0 1599 | semver: 7.7.0 1600 | spawndamnit: 3.0.1 1601 | term-size: 2.2.1 1602 | 1603 | '@changesets/config@3.0.5': 1604 | dependencies: 1605 | '@changesets/errors': 0.2.0 1606 | '@changesets/get-dependents-graph': 2.1.2 1607 | '@changesets/logger': 0.1.1 1608 | '@changesets/types': 6.0.0 1609 | '@manypkg/get-packages': 1.1.3 1610 | fs-extra: 7.0.1 1611 | micromatch: 4.0.8 1612 | 1613 | '@changesets/errors@0.2.0': 1614 | dependencies: 1615 | extendable-error: 0.1.7 1616 | 1617 | '@changesets/get-dependents-graph@2.1.2': 1618 | dependencies: 1619 | '@changesets/types': 6.0.0 1620 | '@manypkg/get-packages': 1.1.3 1621 | picocolors: 1.1.1 1622 | semver: 7.7.0 1623 | 1624 | '@changesets/get-release-plan@4.0.6': 1625 | dependencies: 1626 | '@changesets/assemble-release-plan': 6.0.5 1627 | '@changesets/config': 3.0.5 1628 | '@changesets/pre': 2.0.1 1629 | '@changesets/read': 0.6.2 1630 | '@changesets/types': 6.0.0 1631 | '@manypkg/get-packages': 1.1.3 1632 | 1633 | '@changesets/get-version-range-type@0.4.0': {} 1634 | 1635 | '@changesets/git@3.0.2': 1636 | dependencies: 1637 | '@changesets/errors': 0.2.0 1638 | '@manypkg/get-packages': 1.1.3 1639 | is-subdir: 1.2.0 1640 | micromatch: 4.0.8 1641 | spawndamnit: 3.0.1 1642 | 1643 | '@changesets/logger@0.1.1': 1644 | dependencies: 1645 | picocolors: 1.1.1 1646 | 1647 | '@changesets/parse@0.4.0': 1648 | dependencies: 1649 | '@changesets/types': 6.0.0 1650 | js-yaml: 3.14.1 1651 | 1652 | '@changesets/pre@2.0.1': 1653 | dependencies: 1654 | '@changesets/errors': 0.2.0 1655 | '@changesets/types': 6.0.0 1656 | '@manypkg/get-packages': 1.1.3 1657 | fs-extra: 7.0.1 1658 | 1659 | '@changesets/read@0.6.2': 1660 | dependencies: 1661 | '@changesets/git': 3.0.2 1662 | '@changesets/logger': 0.1.1 1663 | '@changesets/parse': 0.4.0 1664 | '@changesets/types': 6.0.0 1665 | fs-extra: 7.0.1 1666 | p-filter: 2.1.0 1667 | picocolors: 1.1.1 1668 | 1669 | '@changesets/should-skip-package@0.1.1': 1670 | dependencies: 1671 | '@changesets/types': 6.0.0 1672 | '@manypkg/get-packages': 1.1.3 1673 | 1674 | '@changesets/types@4.1.0': {} 1675 | 1676 | '@changesets/types@6.0.0': {} 1677 | 1678 | '@changesets/write@0.3.2': 1679 | dependencies: 1680 | '@changesets/types': 6.0.0 1681 | fs-extra: 7.0.1 1682 | human-id: 1.0.2 1683 | prettier: 2.8.8 1684 | 1685 | '@esbuild/aix-ppc64@0.24.2': 1686 | optional: true 1687 | 1688 | '@esbuild/android-arm64@0.24.2': 1689 | optional: true 1690 | 1691 | '@esbuild/android-arm@0.24.2': 1692 | optional: true 1693 | 1694 | '@esbuild/android-x64@0.24.2': 1695 | optional: true 1696 | 1697 | '@esbuild/darwin-arm64@0.24.2': 1698 | optional: true 1699 | 1700 | '@esbuild/darwin-x64@0.24.2': 1701 | optional: true 1702 | 1703 | '@esbuild/freebsd-arm64@0.24.2': 1704 | optional: true 1705 | 1706 | '@esbuild/freebsd-x64@0.24.2': 1707 | optional: true 1708 | 1709 | '@esbuild/linux-arm64@0.24.2': 1710 | optional: true 1711 | 1712 | '@esbuild/linux-arm@0.24.2': 1713 | optional: true 1714 | 1715 | '@esbuild/linux-ia32@0.24.2': 1716 | optional: true 1717 | 1718 | '@esbuild/linux-loong64@0.24.2': 1719 | optional: true 1720 | 1721 | '@esbuild/linux-mips64el@0.24.2': 1722 | optional: true 1723 | 1724 | '@esbuild/linux-ppc64@0.24.2': 1725 | optional: true 1726 | 1727 | '@esbuild/linux-riscv64@0.24.2': 1728 | optional: true 1729 | 1730 | '@esbuild/linux-s390x@0.24.2': 1731 | optional: true 1732 | 1733 | '@esbuild/linux-x64@0.24.2': 1734 | optional: true 1735 | 1736 | '@esbuild/netbsd-arm64@0.24.2': 1737 | optional: true 1738 | 1739 | '@esbuild/netbsd-x64@0.24.2': 1740 | optional: true 1741 | 1742 | '@esbuild/openbsd-arm64@0.24.2': 1743 | optional: true 1744 | 1745 | '@esbuild/openbsd-x64@0.24.2': 1746 | optional: true 1747 | 1748 | '@esbuild/sunos-x64@0.24.2': 1749 | optional: true 1750 | 1751 | '@esbuild/win32-arm64@0.24.2': 1752 | optional: true 1753 | 1754 | '@esbuild/win32-ia32@0.24.2': 1755 | optional: true 1756 | 1757 | '@esbuild/win32-x64@0.24.2': 1758 | optional: true 1759 | 1760 | '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0)': 1761 | dependencies: 1762 | eslint: 9.19.0 1763 | eslint-visitor-keys: 3.4.3 1764 | 1765 | '@eslint-community/regexpp@4.12.1': {} 1766 | 1767 | '@eslint/compat@1.2.6(eslint@9.19.0)': 1768 | optionalDependencies: 1769 | eslint: 9.19.0 1770 | 1771 | '@eslint/config-array@0.19.2': 1772 | dependencies: 1773 | '@eslint/object-schema': 2.1.6 1774 | debug: 4.4.0 1775 | minimatch: 3.1.2 1776 | transitivePeerDependencies: 1777 | - supports-color 1778 | 1779 | '@eslint/core@0.10.0': 1780 | dependencies: 1781 | '@types/json-schema': 7.0.15 1782 | 1783 | '@eslint/eslintrc@3.2.0': 1784 | dependencies: 1785 | ajv: 6.12.6 1786 | debug: 4.4.0 1787 | espree: 10.3.0 1788 | globals: 14.0.0 1789 | ignore: 5.3.2 1790 | import-fresh: 3.3.0 1791 | js-yaml: 4.1.0 1792 | minimatch: 3.1.2 1793 | strip-json-comments: 3.1.1 1794 | transitivePeerDependencies: 1795 | - supports-color 1796 | 1797 | '@eslint/js@9.19.0': {} 1798 | 1799 | '@eslint/object-schema@2.1.6': {} 1800 | 1801 | '@eslint/plugin-kit@0.2.5': 1802 | dependencies: 1803 | '@eslint/core': 0.10.0 1804 | levn: 0.4.1 1805 | 1806 | '@humanfs/core@0.19.1': {} 1807 | 1808 | '@humanfs/node@0.16.6': 1809 | dependencies: 1810 | '@humanfs/core': 0.19.1 1811 | '@humanwhocodes/retry': 0.3.1 1812 | 1813 | '@humanwhocodes/module-importer@1.0.1': {} 1814 | 1815 | '@humanwhocodes/retry@0.3.1': {} 1816 | 1817 | '@humanwhocodes/retry@0.4.1': {} 1818 | 1819 | '@jridgewell/gen-mapping@0.3.8': 1820 | dependencies: 1821 | '@jridgewell/set-array': 1.2.1 1822 | '@jridgewell/sourcemap-codec': 1.5.0 1823 | '@jridgewell/trace-mapping': 0.3.25 1824 | 1825 | '@jridgewell/resolve-uri@3.1.2': {} 1826 | 1827 | '@jridgewell/set-array@1.2.1': {} 1828 | 1829 | '@jridgewell/sourcemap-codec@1.5.0': {} 1830 | 1831 | '@jridgewell/trace-mapping@0.3.25': 1832 | dependencies: 1833 | '@jridgewell/resolve-uri': 3.1.2 1834 | '@jridgewell/sourcemap-codec': 1.5.0 1835 | 1836 | '@manypkg/find-root@1.1.0': 1837 | dependencies: 1838 | '@babel/runtime': 7.26.7 1839 | '@types/node': 12.20.55 1840 | find-up: 4.1.0 1841 | fs-extra: 8.1.0 1842 | 1843 | '@manypkg/get-packages@1.1.3': 1844 | dependencies: 1845 | '@babel/runtime': 7.26.7 1846 | '@changesets/types': 4.1.0 1847 | '@manypkg/find-root': 1.1.0 1848 | fs-extra: 8.1.0 1849 | globby: 11.1.0 1850 | read-yaml-file: 1.1.0 1851 | 1852 | '@nodelib/fs.scandir@2.1.5': 1853 | dependencies: 1854 | '@nodelib/fs.stat': 2.0.5 1855 | run-parallel: 1.2.0 1856 | 1857 | '@nodelib/fs.stat@2.0.5': {} 1858 | 1859 | '@nodelib/fs.walk@1.2.8': 1860 | dependencies: 1861 | '@nodelib/fs.scandir': 2.1.5 1862 | fastq: 1.19.0 1863 | 1864 | '@playwright/test@1.50.1': 1865 | dependencies: 1866 | playwright: 1.50.1 1867 | 1868 | '@polka/url@1.0.0-next.28': {} 1869 | 1870 | '@publint/pack@0.1.1': {} 1871 | 1872 | '@rollup/rollup-android-arm-eabi@4.34.0': 1873 | optional: true 1874 | 1875 | '@rollup/rollup-android-arm64@4.34.0': 1876 | optional: true 1877 | 1878 | '@rollup/rollup-darwin-arm64@4.34.0': 1879 | optional: true 1880 | 1881 | '@rollup/rollup-darwin-x64@4.34.0': 1882 | optional: true 1883 | 1884 | '@rollup/rollup-freebsd-arm64@4.34.0': 1885 | optional: true 1886 | 1887 | '@rollup/rollup-freebsd-x64@4.34.0': 1888 | optional: true 1889 | 1890 | '@rollup/rollup-linux-arm-gnueabihf@4.34.0': 1891 | optional: true 1892 | 1893 | '@rollup/rollup-linux-arm-musleabihf@4.34.0': 1894 | optional: true 1895 | 1896 | '@rollup/rollup-linux-arm64-gnu@4.34.0': 1897 | optional: true 1898 | 1899 | '@rollup/rollup-linux-arm64-musl@4.34.0': 1900 | optional: true 1901 | 1902 | '@rollup/rollup-linux-loongarch64-gnu@4.34.0': 1903 | optional: true 1904 | 1905 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.0': 1906 | optional: true 1907 | 1908 | '@rollup/rollup-linux-riscv64-gnu@4.34.0': 1909 | optional: true 1910 | 1911 | '@rollup/rollup-linux-s390x-gnu@4.34.0': 1912 | optional: true 1913 | 1914 | '@rollup/rollup-linux-x64-gnu@4.34.0': 1915 | optional: true 1916 | 1917 | '@rollup/rollup-linux-x64-musl@4.34.0': 1918 | optional: true 1919 | 1920 | '@rollup/rollup-win32-arm64-msvc@4.34.0': 1921 | optional: true 1922 | 1923 | '@rollup/rollup-win32-ia32-msvc@4.34.0': 1924 | optional: true 1925 | 1926 | '@rollup/rollup-win32-x64-msvc@4.34.0': 1927 | optional: true 1928 | 1929 | '@sveltejs/adapter-auto@6.0.0(@sveltejs/kit@2.16.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))': 1930 | dependencies: 1931 | '@sveltejs/kit': 2.16.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 1932 | import-meta-resolve: 4.1.0 1933 | 1934 | '@sveltejs/kit@2.16.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1))': 1935 | dependencies: 1936 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 1937 | '@types/cookie': 0.6.0 1938 | cookie: 0.6.0 1939 | devalue: 5.1.1 1940 | esm-env: 1.2.2 1941 | import-meta-resolve: 4.1.0 1942 | kleur: 4.1.5 1943 | magic-string: 0.30.17 1944 | mrmime: 2.0.0 1945 | sade: 1.8.1 1946 | set-cookie-parser: 2.7.1 1947 | sirv: 3.0.0 1948 | svelte: 5.19.6 1949 | vite: 6.0.11(@types/node@22.13.1) 1950 | 1951 | '@sveltejs/package@2.3.9(svelte@5.19.6)(typescript@5.7.3)': 1952 | dependencies: 1953 | chokidar: 4.0.3 1954 | kleur: 4.1.5 1955 | sade: 1.8.1 1956 | semver: 7.7.0 1957 | svelte: 5.19.6 1958 | svelte2tsx: 0.7.34(svelte@5.19.6)(typescript@5.7.3) 1959 | transitivePeerDependencies: 1960 | - typescript 1961 | 1962 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1))': 1963 | dependencies: 1964 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 1965 | debug: 4.4.0 1966 | svelte: 5.19.6 1967 | vite: 6.0.11(@types/node@22.13.1) 1968 | transitivePeerDependencies: 1969 | - supports-color 1970 | 1971 | '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1))': 1972 | dependencies: 1973 | '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)))(svelte@5.19.6)(vite@6.0.11(@types/node@22.13.1)) 1974 | debug: 4.4.0 1975 | deepmerge: 4.3.1 1976 | kleur: 4.1.5 1977 | magic-string: 0.30.17 1978 | svelte: 5.19.6 1979 | vite: 6.0.11(@types/node@22.13.1) 1980 | vitefu: 1.0.5(vite@6.0.11(@types/node@22.13.1)) 1981 | transitivePeerDependencies: 1982 | - supports-color 1983 | 1984 | '@types/cookie@0.6.0': {} 1985 | 1986 | '@types/estree@1.0.6': {} 1987 | 1988 | '@types/json-schema@7.0.15': {} 1989 | 1990 | '@types/node@12.20.55': {} 1991 | 1992 | '@types/node@22.13.1': 1993 | dependencies: 1994 | undici-types: 6.20.0 1995 | 1996 | '@vitest/expect@3.0.4': 1997 | dependencies: 1998 | '@vitest/spy': 3.0.4 1999 | '@vitest/utils': 3.0.4 2000 | chai: 5.1.2 2001 | tinyrainbow: 2.0.0 2002 | 2003 | '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.13.1))': 2004 | dependencies: 2005 | '@vitest/spy': 3.0.4 2006 | estree-walker: 3.0.3 2007 | magic-string: 0.30.17 2008 | optionalDependencies: 2009 | vite: 6.0.11(@types/node@22.13.1) 2010 | 2011 | '@vitest/pretty-format@3.0.4': 2012 | dependencies: 2013 | tinyrainbow: 2.0.0 2014 | 2015 | '@vitest/runner@3.0.4': 2016 | dependencies: 2017 | '@vitest/utils': 3.0.4 2018 | pathe: 2.0.2 2019 | 2020 | '@vitest/snapshot@3.0.4': 2021 | dependencies: 2022 | '@vitest/pretty-format': 3.0.4 2023 | magic-string: 0.30.17 2024 | pathe: 2.0.2 2025 | 2026 | '@vitest/spy@3.0.4': 2027 | dependencies: 2028 | tinyspy: 3.0.2 2029 | 2030 | '@vitest/utils@3.0.4': 2031 | dependencies: 2032 | '@vitest/pretty-format': 3.0.4 2033 | loupe: 3.1.3 2034 | tinyrainbow: 2.0.0 2035 | 2036 | acorn-jsx@5.3.2(acorn@8.14.0): 2037 | dependencies: 2038 | acorn: 8.14.0 2039 | 2040 | acorn-typescript@1.4.13(acorn@8.14.0): 2041 | dependencies: 2042 | acorn: 8.14.0 2043 | 2044 | acorn@8.14.0: {} 2045 | 2046 | ajv@6.12.6: 2047 | dependencies: 2048 | fast-deep-equal: 3.1.3 2049 | fast-json-stable-stringify: 2.1.0 2050 | json-schema-traverse: 0.4.1 2051 | uri-js: 4.4.1 2052 | 2053 | ansi-colors@4.1.3: {} 2054 | 2055 | ansi-regex@5.0.1: {} 2056 | 2057 | ansi-styles@4.3.0: 2058 | dependencies: 2059 | color-convert: 2.0.1 2060 | 2061 | argparse@1.0.10: 2062 | dependencies: 2063 | sprintf-js: 1.0.3 2064 | 2065 | argparse@2.0.1: {} 2066 | 2067 | aria-query@5.3.2: {} 2068 | 2069 | array-union@2.1.0: {} 2070 | 2071 | assertion-error@2.0.1: {} 2072 | 2073 | axobject-query@4.1.0: {} 2074 | 2075 | balanced-match@1.0.2: {} 2076 | 2077 | better-path-resolve@1.0.0: 2078 | dependencies: 2079 | is-windows: 1.0.2 2080 | 2081 | brace-expansion@1.1.11: 2082 | dependencies: 2083 | balanced-match: 1.0.2 2084 | concat-map: 0.0.1 2085 | 2086 | braces@3.0.3: 2087 | dependencies: 2088 | fill-range: 7.1.1 2089 | 2090 | cac@6.7.14: {} 2091 | 2092 | callsites@3.1.0: {} 2093 | 2094 | chai@5.1.2: 2095 | dependencies: 2096 | assertion-error: 2.0.1 2097 | check-error: 2.1.1 2098 | deep-eql: 5.0.2 2099 | loupe: 3.1.3 2100 | pathval: 2.0.0 2101 | 2102 | chalk@4.1.2: 2103 | dependencies: 2104 | ansi-styles: 4.3.0 2105 | supports-color: 7.2.0 2106 | 2107 | chardet@0.7.0: {} 2108 | 2109 | check-error@2.1.1: {} 2110 | 2111 | chokidar@4.0.3: 2112 | dependencies: 2113 | readdirp: 4.1.1 2114 | 2115 | ci-info@3.9.0: {} 2116 | 2117 | clsx@2.1.1: {} 2118 | 2119 | color-convert@2.0.1: 2120 | dependencies: 2121 | color-name: 1.1.4 2122 | 2123 | color-name@1.1.4: {} 2124 | 2125 | concat-map@0.0.1: {} 2126 | 2127 | cookie@0.6.0: {} 2128 | 2129 | cross-spawn@7.0.6: 2130 | dependencies: 2131 | path-key: 3.1.1 2132 | shebang-command: 2.0.0 2133 | which: 2.0.2 2134 | 2135 | cssesc@3.0.0: {} 2136 | 2137 | debug@4.4.0: 2138 | dependencies: 2139 | ms: 2.1.3 2140 | 2141 | dedent-js@1.0.1: {} 2142 | 2143 | deep-eql@5.0.2: {} 2144 | 2145 | deep-is@0.1.4: {} 2146 | 2147 | deepmerge@4.3.1: {} 2148 | 2149 | detect-indent@6.1.0: {} 2150 | 2151 | devalue@5.1.1: {} 2152 | 2153 | dir-glob@3.0.1: 2154 | dependencies: 2155 | path-type: 4.0.0 2156 | 2157 | enquirer@2.4.1: 2158 | dependencies: 2159 | ansi-colors: 4.1.3 2160 | strip-ansi: 6.0.1 2161 | 2162 | es-module-lexer@1.6.0: {} 2163 | 2164 | esbuild@0.24.2: 2165 | optionalDependencies: 2166 | '@esbuild/aix-ppc64': 0.24.2 2167 | '@esbuild/android-arm': 0.24.2 2168 | '@esbuild/android-arm64': 0.24.2 2169 | '@esbuild/android-x64': 0.24.2 2170 | '@esbuild/darwin-arm64': 0.24.2 2171 | '@esbuild/darwin-x64': 0.24.2 2172 | '@esbuild/freebsd-arm64': 0.24.2 2173 | '@esbuild/freebsd-x64': 0.24.2 2174 | '@esbuild/linux-arm': 0.24.2 2175 | '@esbuild/linux-arm64': 0.24.2 2176 | '@esbuild/linux-ia32': 0.24.2 2177 | '@esbuild/linux-loong64': 0.24.2 2178 | '@esbuild/linux-mips64el': 0.24.2 2179 | '@esbuild/linux-ppc64': 0.24.2 2180 | '@esbuild/linux-riscv64': 0.24.2 2181 | '@esbuild/linux-s390x': 0.24.2 2182 | '@esbuild/linux-x64': 0.24.2 2183 | '@esbuild/netbsd-arm64': 0.24.2 2184 | '@esbuild/netbsd-x64': 0.24.2 2185 | '@esbuild/openbsd-arm64': 0.24.2 2186 | '@esbuild/openbsd-x64': 0.24.2 2187 | '@esbuild/sunos-x64': 0.24.2 2188 | '@esbuild/win32-arm64': 0.24.2 2189 | '@esbuild/win32-ia32': 0.24.2 2190 | '@esbuild/win32-x64': 0.24.2 2191 | 2192 | escape-string-regexp@4.0.0: {} 2193 | 2194 | eslint-compat-utils@0.6.4(eslint@9.19.0): 2195 | dependencies: 2196 | eslint: 9.19.0 2197 | semver: 7.7.0 2198 | 2199 | eslint-config-prettier@10.0.1(eslint@9.19.0): 2200 | dependencies: 2201 | eslint: 9.19.0 2202 | 2203 | eslint-plugin-svelte@3.0.2(eslint@9.19.0)(svelte@5.19.6): 2204 | dependencies: 2205 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) 2206 | '@jridgewell/sourcemap-codec': 1.5.0 2207 | eslint: 9.19.0 2208 | eslint-compat-utils: 0.6.4(eslint@9.19.0) 2209 | esutils: 2.0.3 2210 | known-css-properties: 0.35.0 2211 | postcss: 8.5.1 2212 | postcss-load-config: 3.1.4(postcss@8.5.1) 2213 | postcss-safe-parser: 7.0.1(postcss@8.5.1) 2214 | semver: 7.7.0 2215 | svelte-eslint-parser: 1.0.0(svelte@5.19.6) 2216 | optionalDependencies: 2217 | svelte: 5.19.6 2218 | transitivePeerDependencies: 2219 | - ts-node 2220 | 2221 | eslint-scope@8.2.0: 2222 | dependencies: 2223 | esrecurse: 4.3.0 2224 | estraverse: 5.3.0 2225 | 2226 | eslint-visitor-keys@3.4.3: {} 2227 | 2228 | eslint-visitor-keys@4.2.0: {} 2229 | 2230 | eslint@9.19.0: 2231 | dependencies: 2232 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) 2233 | '@eslint-community/regexpp': 4.12.1 2234 | '@eslint/config-array': 0.19.2 2235 | '@eslint/core': 0.10.0 2236 | '@eslint/eslintrc': 3.2.0 2237 | '@eslint/js': 9.19.0 2238 | '@eslint/plugin-kit': 0.2.5 2239 | '@humanfs/node': 0.16.6 2240 | '@humanwhocodes/module-importer': 1.0.1 2241 | '@humanwhocodes/retry': 0.4.1 2242 | '@types/estree': 1.0.6 2243 | '@types/json-schema': 7.0.15 2244 | ajv: 6.12.6 2245 | chalk: 4.1.2 2246 | cross-spawn: 7.0.6 2247 | debug: 4.4.0 2248 | escape-string-regexp: 4.0.0 2249 | eslint-scope: 8.2.0 2250 | eslint-visitor-keys: 4.2.0 2251 | espree: 10.3.0 2252 | esquery: 1.6.0 2253 | esutils: 2.0.3 2254 | fast-deep-equal: 3.1.3 2255 | file-entry-cache: 8.0.0 2256 | find-up: 5.0.0 2257 | glob-parent: 6.0.2 2258 | ignore: 5.3.2 2259 | imurmurhash: 0.1.4 2260 | is-glob: 4.0.3 2261 | json-stable-stringify-without-jsonify: 1.0.1 2262 | lodash.merge: 4.6.2 2263 | minimatch: 3.1.2 2264 | natural-compare: 1.4.0 2265 | optionator: 0.9.4 2266 | transitivePeerDependencies: 2267 | - supports-color 2268 | 2269 | esm-env@1.2.2: {} 2270 | 2271 | espree@10.3.0: 2272 | dependencies: 2273 | acorn: 8.14.0 2274 | acorn-jsx: 5.3.2(acorn@8.14.0) 2275 | eslint-visitor-keys: 4.2.0 2276 | 2277 | esprima@4.0.1: {} 2278 | 2279 | esquery@1.6.0: 2280 | dependencies: 2281 | estraverse: 5.3.0 2282 | 2283 | esrap@1.4.4: 2284 | dependencies: 2285 | '@jridgewell/sourcemap-codec': 1.5.0 2286 | 2287 | esrecurse@4.3.0: 2288 | dependencies: 2289 | estraverse: 5.3.0 2290 | 2291 | estraverse@5.3.0: {} 2292 | 2293 | estree-walker@3.0.3: 2294 | dependencies: 2295 | '@types/estree': 1.0.6 2296 | 2297 | esutils@2.0.3: {} 2298 | 2299 | expect-type@1.1.0: {} 2300 | 2301 | extendable-error@0.1.7: {} 2302 | 2303 | external-editor@3.1.0: 2304 | dependencies: 2305 | chardet: 0.7.0 2306 | iconv-lite: 0.4.24 2307 | tmp: 0.0.33 2308 | 2309 | fast-deep-equal@3.1.3: {} 2310 | 2311 | fast-glob@3.3.3: 2312 | dependencies: 2313 | '@nodelib/fs.stat': 2.0.5 2314 | '@nodelib/fs.walk': 1.2.8 2315 | glob-parent: 5.1.2 2316 | merge2: 1.4.1 2317 | micromatch: 4.0.8 2318 | 2319 | fast-json-stable-stringify@2.1.0: {} 2320 | 2321 | fast-levenshtein@2.0.6: {} 2322 | 2323 | fastq@1.19.0: 2324 | dependencies: 2325 | reusify: 1.0.4 2326 | 2327 | fdir@6.4.3: {} 2328 | 2329 | file-entry-cache@8.0.0: 2330 | dependencies: 2331 | flat-cache: 4.0.1 2332 | 2333 | fill-range@7.1.1: 2334 | dependencies: 2335 | to-regex-range: 5.0.1 2336 | 2337 | find-up@4.1.0: 2338 | dependencies: 2339 | locate-path: 5.0.0 2340 | path-exists: 4.0.0 2341 | 2342 | find-up@5.0.0: 2343 | dependencies: 2344 | locate-path: 6.0.0 2345 | path-exists: 4.0.0 2346 | 2347 | flat-cache@4.0.1: 2348 | dependencies: 2349 | flatted: 3.3.2 2350 | keyv: 4.5.4 2351 | 2352 | flatted@3.3.2: {} 2353 | 2354 | fs-extra@7.0.1: 2355 | dependencies: 2356 | graceful-fs: 4.2.11 2357 | jsonfile: 4.0.0 2358 | universalify: 0.1.2 2359 | 2360 | fs-extra@8.1.0: 2361 | dependencies: 2362 | graceful-fs: 4.2.11 2363 | jsonfile: 4.0.0 2364 | universalify: 0.1.2 2365 | 2366 | fsevents@2.3.2: 2367 | optional: true 2368 | 2369 | fsevents@2.3.3: 2370 | optional: true 2371 | 2372 | glob-parent@5.1.2: 2373 | dependencies: 2374 | is-glob: 4.0.3 2375 | 2376 | glob-parent@6.0.2: 2377 | dependencies: 2378 | is-glob: 4.0.3 2379 | 2380 | globals@14.0.0: {} 2381 | 2382 | globals@16.0.0: {} 2383 | 2384 | globby@11.1.0: 2385 | dependencies: 2386 | array-union: 2.1.0 2387 | dir-glob: 3.0.1 2388 | fast-glob: 3.3.3 2389 | ignore: 5.3.2 2390 | merge2: 1.4.1 2391 | slash: 3.0.0 2392 | 2393 | graceful-fs@4.2.11: {} 2394 | 2395 | has-flag@4.0.0: {} 2396 | 2397 | human-id@1.0.2: {} 2398 | 2399 | iconv-lite@0.4.24: 2400 | dependencies: 2401 | safer-buffer: 2.1.2 2402 | 2403 | ignore@5.3.2: {} 2404 | 2405 | import-fresh@3.3.0: 2406 | dependencies: 2407 | parent-module: 1.0.1 2408 | resolve-from: 4.0.0 2409 | 2410 | import-meta-resolve@4.1.0: {} 2411 | 2412 | imurmurhash@0.1.4: {} 2413 | 2414 | is-extglob@2.1.1: {} 2415 | 2416 | is-glob@4.0.3: 2417 | dependencies: 2418 | is-extglob: 2.1.1 2419 | 2420 | is-number@7.0.0: {} 2421 | 2422 | is-reference@3.0.3: 2423 | dependencies: 2424 | '@types/estree': 1.0.6 2425 | 2426 | is-subdir@1.2.0: 2427 | dependencies: 2428 | better-path-resolve: 1.0.0 2429 | 2430 | is-windows@1.0.2: {} 2431 | 2432 | isexe@2.0.0: {} 2433 | 2434 | js-yaml@3.14.1: 2435 | dependencies: 2436 | argparse: 1.0.10 2437 | esprima: 4.0.1 2438 | 2439 | js-yaml@4.1.0: 2440 | dependencies: 2441 | argparse: 2.0.1 2442 | 2443 | json-buffer@3.0.1: {} 2444 | 2445 | json-schema-traverse@0.4.1: {} 2446 | 2447 | json-stable-stringify-without-jsonify@1.0.1: {} 2448 | 2449 | jsonfile@4.0.0: 2450 | optionalDependencies: 2451 | graceful-fs: 4.2.11 2452 | 2453 | keyv@4.5.4: 2454 | dependencies: 2455 | json-buffer: 3.0.1 2456 | 2457 | kleur@4.1.5: {} 2458 | 2459 | known-css-properties@0.35.0: {} 2460 | 2461 | levn@0.4.1: 2462 | dependencies: 2463 | prelude-ls: 1.2.1 2464 | type-check: 0.4.0 2465 | 2466 | lilconfig@2.1.0: {} 2467 | 2468 | locate-character@3.0.0: {} 2469 | 2470 | locate-path@5.0.0: 2471 | dependencies: 2472 | p-locate: 4.1.0 2473 | 2474 | locate-path@6.0.0: 2475 | dependencies: 2476 | p-locate: 5.0.0 2477 | 2478 | lodash.merge@4.6.2: {} 2479 | 2480 | lodash.startcase@4.4.0: {} 2481 | 2482 | loupe@3.1.3: {} 2483 | 2484 | lower-case@2.0.2: 2485 | dependencies: 2486 | tslib: 2.8.1 2487 | 2488 | magic-string@0.30.17: 2489 | dependencies: 2490 | '@jridgewell/sourcemap-codec': 1.5.0 2491 | 2492 | merge2@1.4.1: {} 2493 | 2494 | micromatch@4.0.8: 2495 | dependencies: 2496 | braces: 3.0.3 2497 | picomatch: 2.3.1 2498 | 2499 | minimatch@3.1.2: 2500 | dependencies: 2501 | brace-expansion: 1.1.11 2502 | 2503 | mri@1.2.0: {} 2504 | 2505 | mrmime@2.0.0: {} 2506 | 2507 | ms@2.1.3: {} 2508 | 2509 | nanoid@3.3.8: {} 2510 | 2511 | natural-compare@1.4.0: {} 2512 | 2513 | no-case@3.0.4: 2514 | dependencies: 2515 | lower-case: 2.0.2 2516 | tslib: 2.8.1 2517 | 2518 | optionator@0.9.4: 2519 | dependencies: 2520 | deep-is: 0.1.4 2521 | fast-levenshtein: 2.0.6 2522 | levn: 0.4.1 2523 | prelude-ls: 1.2.1 2524 | type-check: 0.4.0 2525 | word-wrap: 1.2.5 2526 | 2527 | os-tmpdir@1.0.2: {} 2528 | 2529 | outdent@0.5.0: {} 2530 | 2531 | p-filter@2.1.0: 2532 | dependencies: 2533 | p-map: 2.1.0 2534 | 2535 | p-limit@2.3.0: 2536 | dependencies: 2537 | p-try: 2.2.0 2538 | 2539 | p-limit@3.1.0: 2540 | dependencies: 2541 | yocto-queue: 0.1.0 2542 | 2543 | p-locate@4.1.0: 2544 | dependencies: 2545 | p-limit: 2.3.0 2546 | 2547 | p-locate@5.0.0: 2548 | dependencies: 2549 | p-limit: 3.1.0 2550 | 2551 | p-map@2.1.0: {} 2552 | 2553 | p-try@2.2.0: {} 2554 | 2555 | package-manager-detector@0.2.9: {} 2556 | 2557 | parent-module@1.0.1: 2558 | dependencies: 2559 | callsites: 3.1.0 2560 | 2561 | pascal-case@3.1.2: 2562 | dependencies: 2563 | no-case: 3.0.4 2564 | tslib: 2.8.1 2565 | 2566 | path-exists@4.0.0: {} 2567 | 2568 | path-key@3.1.1: {} 2569 | 2570 | path-type@4.0.0: {} 2571 | 2572 | pathe@2.0.2: {} 2573 | 2574 | pathval@2.0.0: {} 2575 | 2576 | picocolors@1.1.1: {} 2577 | 2578 | picomatch@2.3.1: {} 2579 | 2580 | pify@4.0.1: {} 2581 | 2582 | playwright-core@1.50.1: {} 2583 | 2584 | playwright@1.50.1: 2585 | dependencies: 2586 | playwright-core: 1.50.1 2587 | optionalDependencies: 2588 | fsevents: 2.3.2 2589 | 2590 | postcss-load-config@3.1.4(postcss@8.5.1): 2591 | dependencies: 2592 | lilconfig: 2.1.0 2593 | yaml: 1.10.2 2594 | optionalDependencies: 2595 | postcss: 8.5.1 2596 | 2597 | postcss-safe-parser@7.0.1(postcss@8.5.1): 2598 | dependencies: 2599 | postcss: 8.5.1 2600 | 2601 | postcss-scss@4.0.9(postcss@8.5.1): 2602 | dependencies: 2603 | postcss: 8.5.1 2604 | 2605 | postcss-selector-parser@7.1.0: 2606 | dependencies: 2607 | cssesc: 3.0.0 2608 | util-deprecate: 1.0.2 2609 | 2610 | postcss@8.5.1: 2611 | dependencies: 2612 | nanoid: 3.3.8 2613 | picocolors: 1.1.1 2614 | source-map-js: 1.2.1 2615 | 2616 | prelude-ls@1.2.1: {} 2617 | 2618 | prettier-plugin-svelte@3.3.3(prettier@3.4.2)(svelte@5.19.6): 2619 | dependencies: 2620 | prettier: 3.4.2 2621 | svelte: 5.19.6 2622 | 2623 | prettier@2.8.8: {} 2624 | 2625 | prettier@3.4.2: {} 2626 | 2627 | publint@0.3.2: 2628 | dependencies: 2629 | '@publint/pack': 0.1.1 2630 | package-manager-detector: 0.2.9 2631 | picocolors: 1.1.1 2632 | sade: 1.8.1 2633 | 2634 | punycode@2.3.1: {} 2635 | 2636 | queue-microtask@1.2.3: {} 2637 | 2638 | read-yaml-file@1.1.0: 2639 | dependencies: 2640 | graceful-fs: 4.2.11 2641 | js-yaml: 3.14.1 2642 | pify: 4.0.1 2643 | strip-bom: 3.0.0 2644 | 2645 | readdirp@4.1.1: {} 2646 | 2647 | regenerator-runtime@0.14.1: {} 2648 | 2649 | resolve-from@4.0.0: {} 2650 | 2651 | resolve-from@5.0.0: {} 2652 | 2653 | reusify@1.0.4: {} 2654 | 2655 | rollup@4.34.0: 2656 | dependencies: 2657 | '@types/estree': 1.0.6 2658 | optionalDependencies: 2659 | '@rollup/rollup-android-arm-eabi': 4.34.0 2660 | '@rollup/rollup-android-arm64': 4.34.0 2661 | '@rollup/rollup-darwin-arm64': 4.34.0 2662 | '@rollup/rollup-darwin-x64': 4.34.0 2663 | '@rollup/rollup-freebsd-arm64': 4.34.0 2664 | '@rollup/rollup-freebsd-x64': 4.34.0 2665 | '@rollup/rollup-linux-arm-gnueabihf': 4.34.0 2666 | '@rollup/rollup-linux-arm-musleabihf': 4.34.0 2667 | '@rollup/rollup-linux-arm64-gnu': 4.34.0 2668 | '@rollup/rollup-linux-arm64-musl': 4.34.0 2669 | '@rollup/rollup-linux-loongarch64-gnu': 4.34.0 2670 | '@rollup/rollup-linux-powerpc64le-gnu': 4.34.0 2671 | '@rollup/rollup-linux-riscv64-gnu': 4.34.0 2672 | '@rollup/rollup-linux-s390x-gnu': 4.34.0 2673 | '@rollup/rollup-linux-x64-gnu': 4.34.0 2674 | '@rollup/rollup-linux-x64-musl': 4.34.0 2675 | '@rollup/rollup-win32-arm64-msvc': 4.34.0 2676 | '@rollup/rollup-win32-ia32-msvc': 4.34.0 2677 | '@rollup/rollup-win32-x64-msvc': 4.34.0 2678 | fsevents: 2.3.3 2679 | 2680 | run-parallel@1.2.0: 2681 | dependencies: 2682 | queue-microtask: 1.2.3 2683 | 2684 | sade@1.8.1: 2685 | dependencies: 2686 | mri: 1.2.0 2687 | 2688 | safer-buffer@2.1.2: {} 2689 | 2690 | semver@7.7.0: {} 2691 | 2692 | set-cookie-parser@2.7.1: {} 2693 | 2694 | shebang-command@2.0.0: 2695 | dependencies: 2696 | shebang-regex: 3.0.0 2697 | 2698 | shebang-regex@3.0.0: {} 2699 | 2700 | siginfo@2.0.0: {} 2701 | 2702 | signal-exit@4.1.0: {} 2703 | 2704 | sirv@3.0.0: 2705 | dependencies: 2706 | '@polka/url': 1.0.0-next.28 2707 | mrmime: 2.0.0 2708 | totalist: 3.0.1 2709 | 2710 | slash@3.0.0: {} 2711 | 2712 | source-map-js@1.2.1: {} 2713 | 2714 | spawndamnit@3.0.1: 2715 | dependencies: 2716 | cross-spawn: 7.0.6 2717 | signal-exit: 4.1.0 2718 | 2719 | sprintf-js@1.0.3: {} 2720 | 2721 | stackback@0.0.2: {} 2722 | 2723 | std-env@3.8.0: {} 2724 | 2725 | strip-ansi@6.0.1: 2726 | dependencies: 2727 | ansi-regex: 5.0.1 2728 | 2729 | strip-bom@3.0.0: {} 2730 | 2731 | strip-json-comments@3.1.1: {} 2732 | 2733 | supports-color@7.2.0: 2734 | dependencies: 2735 | has-flag: 4.0.0 2736 | 2737 | svelte-check@4.1.4(svelte@5.19.6)(typescript@5.7.3): 2738 | dependencies: 2739 | '@jridgewell/trace-mapping': 0.3.25 2740 | chokidar: 4.0.3 2741 | fdir: 6.4.3 2742 | picocolors: 1.1.1 2743 | sade: 1.8.1 2744 | svelte: 5.19.6 2745 | typescript: 5.7.3 2746 | transitivePeerDependencies: 2747 | - picomatch 2748 | 2749 | svelte-eslint-parser@1.0.0(svelte@5.19.6): 2750 | dependencies: 2751 | eslint-scope: 8.2.0 2752 | eslint-visitor-keys: 4.2.0 2753 | espree: 10.3.0 2754 | postcss: 8.5.1 2755 | postcss-scss: 4.0.9(postcss@8.5.1) 2756 | postcss-selector-parser: 7.1.0 2757 | optionalDependencies: 2758 | svelte: 5.19.6 2759 | 2760 | svelte2tsx@0.7.34(svelte@5.19.6)(typescript@5.7.3): 2761 | dependencies: 2762 | dedent-js: 1.0.1 2763 | pascal-case: 3.1.2 2764 | svelte: 5.19.6 2765 | typescript: 5.7.3 2766 | 2767 | svelte@5.19.6: 2768 | dependencies: 2769 | '@ampproject/remapping': 2.3.0 2770 | '@jridgewell/sourcemap-codec': 1.5.0 2771 | '@types/estree': 1.0.6 2772 | acorn: 8.14.0 2773 | acorn-typescript: 1.4.13(acorn@8.14.0) 2774 | aria-query: 5.3.2 2775 | axobject-query: 4.1.0 2776 | clsx: 2.1.1 2777 | esm-env: 1.2.2 2778 | esrap: 1.4.4 2779 | is-reference: 3.0.3 2780 | locate-character: 3.0.0 2781 | magic-string: 0.30.17 2782 | zimmerframe: 1.1.2 2783 | 2784 | term-size@2.2.1: {} 2785 | 2786 | tinybench@2.9.0: {} 2787 | 2788 | tinyexec@0.3.2: {} 2789 | 2790 | tinypool@1.0.2: {} 2791 | 2792 | tinyrainbow@2.0.0: {} 2793 | 2794 | tinyspy@3.0.2: {} 2795 | 2796 | tmp@0.0.33: 2797 | dependencies: 2798 | os-tmpdir: 1.0.2 2799 | 2800 | to-regex-range@5.0.1: 2801 | dependencies: 2802 | is-number: 7.0.0 2803 | 2804 | totalist@3.0.1: {} 2805 | 2806 | tslib@2.8.1: {} 2807 | 2808 | type-check@0.4.0: 2809 | dependencies: 2810 | prelude-ls: 1.2.1 2811 | 2812 | typescript@5.7.3: {} 2813 | 2814 | undici-types@6.20.0: {} 2815 | 2816 | universalify@0.1.2: {} 2817 | 2818 | uri-js@4.4.1: 2819 | dependencies: 2820 | punycode: 2.3.1 2821 | 2822 | util-deprecate@1.0.2: {} 2823 | 2824 | vite-node@3.0.4(@types/node@22.13.1): 2825 | dependencies: 2826 | cac: 6.7.14 2827 | debug: 4.4.0 2828 | es-module-lexer: 1.6.0 2829 | pathe: 2.0.2 2830 | vite: 6.0.11(@types/node@22.13.1) 2831 | transitivePeerDependencies: 2832 | - '@types/node' 2833 | - jiti 2834 | - less 2835 | - lightningcss 2836 | - sass 2837 | - sass-embedded 2838 | - stylus 2839 | - sugarss 2840 | - supports-color 2841 | - terser 2842 | - tsx 2843 | - yaml 2844 | 2845 | vite@6.0.11(@types/node@22.13.1): 2846 | dependencies: 2847 | esbuild: 0.24.2 2848 | postcss: 8.5.1 2849 | rollup: 4.34.0 2850 | optionalDependencies: 2851 | '@types/node': 22.13.1 2852 | fsevents: 2.3.3 2853 | 2854 | vitefu@1.0.5(vite@6.0.11(@types/node@22.13.1)): 2855 | optionalDependencies: 2856 | vite: 6.0.11(@types/node@22.13.1) 2857 | 2858 | vitest@3.0.4(@types/node@22.13.1): 2859 | dependencies: 2860 | '@vitest/expect': 3.0.4 2861 | '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.13.1)) 2862 | '@vitest/pretty-format': 3.0.4 2863 | '@vitest/runner': 3.0.4 2864 | '@vitest/snapshot': 3.0.4 2865 | '@vitest/spy': 3.0.4 2866 | '@vitest/utils': 3.0.4 2867 | chai: 5.1.2 2868 | debug: 4.4.0 2869 | expect-type: 1.1.0 2870 | magic-string: 0.30.17 2871 | pathe: 2.0.2 2872 | std-env: 3.8.0 2873 | tinybench: 2.9.0 2874 | tinyexec: 0.3.2 2875 | tinypool: 1.0.2 2876 | tinyrainbow: 2.0.0 2877 | vite: 6.0.11(@types/node@22.13.1) 2878 | vite-node: 3.0.4(@types/node@22.13.1) 2879 | why-is-node-running: 2.3.0 2880 | optionalDependencies: 2881 | '@types/node': 22.13.1 2882 | transitivePeerDependencies: 2883 | - jiti 2884 | - less 2885 | - lightningcss 2886 | - msw 2887 | - sass 2888 | - sass-embedded 2889 | - stylus 2890 | - sugarss 2891 | - supports-color 2892 | - terser 2893 | - tsx 2894 | - yaml 2895 | 2896 | which@2.0.2: 2897 | dependencies: 2898 | isexe: 2.0.0 2899 | 2900 | why-is-node-running@2.3.0: 2901 | dependencies: 2902 | siginfo: 2.0.0 2903 | stackback: 0.0.2 2904 | 2905 | word-wrap@1.2.5: {} 2906 | 2907 | yaml@1.10.2: {} 2908 | 2909 | yocto-queue@0.1.0: {} 2910 | 2911 | zimmerframe@1.1.2: {} 2912 | --------------------------------------------------------------------------------