├── static
├── robots.txt
└── favicon.png
├── src
├── routes
│ ├── +layout.ts
│ ├── CopyTextExample.svelte
│ ├── +layout.svelte
│ ├── GitHub.svelte
│ ├── Example.svelte
│ ├── +page.svelte
│ └── +page.server.ts
├── global.d.ts
├── lib
│ ├── index.ts
│ ├── types.ts
│ └── copy.ts
└── app.html
├── tsconfig.json
├── .github
├── FUNDING.yml
└── workflows
│ ├── tests.yml
│ └── release.yml
├── .gitignore
├── .vscode
├── extensions.json
└── settings.json
├── vite.config.js
├── svelte.config.js
├── .prettierrc
├── LICENSE
├── package.json
├── README.md
├── tests
└── svelte-copy.test.ts
└── pnpm-lock.yaml
/static/robots.txt:
--------------------------------------------------------------------------------
1 | User-Agent: *
2 | Allow: /
3 |
--------------------------------------------------------------------------------
/src/routes/+layout.ts:
--------------------------------------------------------------------------------
1 | export const prerender = true;
2 |
--------------------------------------------------------------------------------
/src/global.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json"
3 | }
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | patreon: onlyspaceghost
2 | custom: https://ghostdev.xyz/donate
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghostdevv/svelte-copy/HEAD/static/favicon.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | .vercel_build_output
9 | .vercel
10 | dist
11 |
--------------------------------------------------------------------------------
/src/lib/index.ts:
--------------------------------------------------------------------------------
1 | export { copy, copyText } from './copy';
2 | export type {
3 | Options,
4 | ErrorCallback,
5 | ErrorCallbackParams,
6 | CopyCallback,
7 | CopyCallbackParams,
8 | } from './types';
9 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "esbenp.prettier-vscode",
4 | "formulahendry.auto-rename-tag",
5 | "svelte.svelte-vscode",
6 | "christian-kohler.npm-intellisense",
7 | "zignd.html-css-class-completion"
8 | ]
9 | }
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | ///
2 | import { sveltekit } from '@sveltejs/kit/vite';
3 | import { defineConfig } from 'vite';
4 |
5 | const config = defineConfig({
6 | plugins: [sveltekit()],
7 |
8 | test: {
9 | environment: 'happy-dom',
10 | },
11 | });
12 |
13 | export default config;
14 |
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
2 | import adapter from '@sveltejs/adapter-static';
3 |
4 | /** @type {import('@sveltejs/kit').Config} */
5 | const config = {
6 | preprocess: vitePreprocess(),
7 |
8 | kit: {
9 | adapter: adapter(),
10 | },
11 | };
12 |
13 | export default config;
14 |
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | svelte-copy demo
9 | %sveltekit.head%
10 |
11 |
12 | %sveltekit.body%
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/routes/CopyTextExample.svelte:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "quoteProps": "as-needed",
4 | "trailingComma": "all",
5 | "bracketSpacing": true,
6 | "arrowParens": "always",
7 | "semi": true,
8 | "useTabs": true,
9 | "tabWidth": 4,
10 | "svelteAllowShorthand": true,
11 | "svelteBracketNewLine": false,
12 | "svelteIndentScriptAndStyle": true,
13 | "plugins": ["prettier-plugin-svelte"],
14 | "overrides": [
15 | {
16 | "files": "*.svelte",
17 | "options": {
18 | "parser": "svelte"
19 | }
20 | }
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 | {@render children()}
14 |
15 |
16 |
28 |
--------------------------------------------------------------------------------
/src/routes/GitHub.svelte:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[javascript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode",
4 | "editor.formatOnSave": true
5 | },
6 | "[typescript]": {
7 | "editor.defaultFormatter": "esbenp.prettier-vscode",
8 | "editor.formatOnSave": true
9 | },
10 | "[svelte]": {
11 | "editor.defaultFormatter": "svelte.svelte-vscode",
12 | "editor.formatOnSave": true
13 | },
14 | "[markdown]": {
15 | "editor.defaultFormatter": "vscode.markdown-language-features",
16 | "editor.formatOnSave": true
17 | },
18 | "[scss]": {
19 | "editor.defaultFormatter": "esbenp.prettier-vscode",
20 | "editor.formatOnSave": true
21 | },
22 | "files.associations": {
23 | "*.svx": "markdown"
24 | }
25 | }
--------------------------------------------------------------------------------
/.github/workflows/tests.yml:
--------------------------------------------------------------------------------
1 | name: Tests
2 |
3 | on:
4 | pull_request:
5 | push:
6 | branches:
7 | - main
8 |
9 | jobs:
10 | tests:
11 | name: Tests
12 | runs-on: ubuntu-latest
13 | strategy:
14 | matrix:
15 | node-version: [20, 22]
16 | steps:
17 | - name: Checkout Repo
18 | uses: actions/checkout@v4
19 |
20 | - name: Setup Node.js ${{ matrix.node-version }}
21 | uses: actions/setup-node@v4
22 | with:
23 | node-version: ${{ matrix.node-version }}
24 |
25 | - name: Setup PNPM
26 | uses: pnpm/action-setup@v4.0.0
27 | with:
28 | version: 9.12.2
29 |
30 | - name: Install Dependencies
31 | run: pnpm install --frozen-lockfile
32 |
33 | - name: Tests
34 | run: pnpm test
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright © 2022 - Present GHOST
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/src/lib/types.ts:
--------------------------------------------------------------------------------
1 | export interface CopyCallbackParams {
2 | /**
3 | * The text that was copied to clipboard
4 | */
5 | text: string;
6 |
7 | /**
8 | * The event that triggered the copy
9 | */
10 | event: Event;
11 | }
12 |
13 | export type CopyCallback = (params: CopyCallbackParams) => void;
14 |
15 | export interface ErrorCallbackParams {
16 | /**
17 | * The error that was thrown
18 | */
19 | error: Error;
20 |
21 | /**
22 | * The event that triggered the copy, and subsequent error
23 | */
24 | event: Event;
25 | }
26 |
27 | export type ErrorCallback = (params: ErrorCallbackParams) => void;
28 |
29 | export interface Options {
30 | /**
31 | * The text to copy to clipboard
32 | */
33 | text: string;
34 |
35 | /**
36 | * The events that will cause the copy to occur.
37 | * @default 'click'
38 | */
39 | events?: string[];
40 |
41 | /**
42 | * This callback fires when text is successfully copied
43 | */
44 | onCopy?: CopyCallback;
45 |
46 | /**
47 | * This callback fires when an error occurs with copying
48 | */
49 | onError?: ErrorCallback;
50 | }
51 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release Package
2 |
3 | on:
4 | release:
5 | types: [created]
6 |
7 | jobs:
8 | publish-npm:
9 | runs-on: ubuntu-latest
10 | permissions:
11 | id-token: write
12 | steps:
13 | - name: Checkout
14 | uses: actions/checkout@v4
15 |
16 | - name: Setup Node 22
17 | uses: actions/setup-node@v4
18 | with:
19 | node-version: 22
20 | registry-url: https://registry.npmjs.org/
21 |
22 | - name: Setup PNPM
23 | uses: pnpm/action-setup@v4.0.0
24 | with:
25 | version: 9.12.2
26 |
27 | - name: Install
28 | run: pnpm install --frozen-lockfile
29 |
30 | - name: Package
31 | run: pnpm package
32 |
33 | - name: Publish
34 | run: |
35 | pnpm config set "//registry.npmjs.org/:_authToken" "${NPM_TOKEN}"
36 | pnpm publish --no-git-checks
37 | env:
38 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
39 | NPM_CONFIG_PROVENANCE: true
40 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-copy",
3 | "version": "2.0.0",
4 | "repository": {
5 | "type": "git",
6 | "url": "git+https://github.com/ghostdevv/svelte-copy.git"
7 | },
8 | "license": "MIT",
9 | "bugs": {
10 | "url": "https://github.com/ghostdevv/svelte-copy/issues"
11 | },
12 | "author": "Willow GHOST (https://ghostdev.xyz)",
13 | "scripts": {
14 | "dev": "vite dev",
15 | "build": "vite build",
16 | "package": "svelte-kit sync && svelte-package && publint",
17 | "test": "vitest"
18 | },
19 | "devDependencies": {
20 | "@sveltejs/adapter-static": "^3.0.5",
21 | "@sveltejs/kit": "2.7.2",
22 | "@sveltejs/package": "^2.3.5",
23 | "@sveltejs/vite-plugin-svelte": "^4.0.0",
24 | "dedent": "^1.5.3",
25 | "ghostsui": "2.0.0-beta.1",
26 | "happy-dom": "^15.7.4",
27 | "prettier": "^3.3.3",
28 | "prettier-plugin-svelte": "^3.2.7",
29 | "publint": "^0.2.11",
30 | "runed": "^0.15.3",
31 | "sass": "^1.80.3",
32 | "shiki": "^1.22.0",
33 | "svelte": "^5.0.2",
34 | "typescript": "^5.6.3",
35 | "vite": "^5.4.9",
36 | "vitest": "^2.1.3"
37 | },
38 | "peerDependencies": {
39 | "svelte": "^5.0.0"
40 | },
41 | "type": "module",
42 | "types": "./dist/index.d.ts",
43 | "svelte": "./dist/index.js",
44 | "sideEffects": false,
45 | "exports": {
46 | "./package.json": "./package.json",
47 | ".": {
48 | "types": "./dist/index.d.ts",
49 | "svelte": "./dist/index.js",
50 | "default": "./dist/index.js"
51 | }
52 | },
53 | "files": [
54 | "dist"
55 | ]
56 | }
57 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Svelte Copy
2 |
3 | A svelte action to copy text to clipboard. It uses the `navigator.clipboard` api, with a fallback to the legacy method.
4 |
5 | # Installing
6 |
7 | ```sh
8 | npm install svelte-copy -D
9 | ```
10 |
11 | This library only works with Svelte 5, checkout [svelte-copy@1](https://www.npmjs.com/package/svelte-copy/v/1.4.2) for Svelte 3/4 support.
12 |
13 | # Usage
14 |
15 | The simplest use is to just pass the text you want to copy:
16 |
17 | ```svelte
18 |
21 |
22 |
23 | Click me!
24 |
25 | ```
26 |
27 | You can expand that with an options object:
28 |
29 | ```svelte
30 |
33 |
34 |
46 | Copy
47 |
48 | ```
49 |
50 | [Read the full docs here](https://svelte-copy.willow.codes).
51 |
52 | # Migrating from v1 to v2
53 |
54 | - The `on:svelte-copy` event is now a `onCopy` param to the action options.
55 | - The `on:svelte-copy:error` event is now a `onError` param to the action options.
56 | - The `events` option now only accepts `string[]`, rather than `string | string[]`
57 | - Svelte 5 is now required
58 |
59 | # Support
60 |
61 | - Join the [discord](https://discord.gg/2Vd4wAjJnm)
62 | - Create a issue on the [github](https://github.com/ghostdevv/svelte-copy)
63 |
--------------------------------------------------------------------------------
/src/routes/Example.svelte:
--------------------------------------------------------------------------------
1 |
27 |
28 |
29 |
30 | {@html code}
31 |
32 |
33 |
34 | {@render children?.(text)}
35 |
36 |
37 |
38 |
77 |
--------------------------------------------------------------------------------
/src/lib/copy.ts:
--------------------------------------------------------------------------------
1 | import type { Action } from 'svelte/action';
2 | import type { Options } from './types';
3 |
4 | export async function copyText(text: string) {
5 | if ('clipboard' in navigator) {
6 | await navigator.clipboard.writeText(text);
7 | } else {
8 | //? This is the fallback deprecated way of copying text to the clipboard.
9 | //? Only runs if it can't find the clipboard API.
10 |
11 | const element = document.createElement('input');
12 |
13 | element.type = 'text';
14 | element.disabled = true;
15 |
16 | element.style.setProperty('position', 'fixed');
17 | element.style.setProperty('z-index', '-100');
18 | element.style.setProperty('pointer-events', 'none');
19 | element.style.setProperty('opacity', '0');
20 |
21 | element.value = text;
22 |
23 | document.body.appendChild(element);
24 |
25 | element.click();
26 | element.select();
27 | document.execCommand('copy');
28 |
29 | document.body.removeChild(element);
30 | }
31 | }
32 |
33 | function parseOptions(options: string | Options): Options {
34 | return typeof options == 'string' ? { text: options } : options;
35 | }
36 |
37 | function addListeners(
38 | element: Element,
39 | cb: (event: Event) => void,
40 | events = ['click'],
41 | ) {
42 | for (const event of events) {
43 | element.addEventListener(event, cb, true);
44 | }
45 | }
46 |
47 | function removeListeners(
48 | element: Element,
49 | cb: (event: Event) => void,
50 | events = ['click'],
51 | ) {
52 | for (const event of events) {
53 | element.removeEventListener(event, cb, true);
54 | }
55 | }
56 |
57 | /**
58 | * A svelte action to copy text to clipboard.
59 | *
60 | * @see https://svelte-copy.willow.codes
61 | *
62 | * @example
63 | *
64 | *
67 | *
68 | *
69 | * Click me!
70 | *
71 | */
72 | export const copy: Action = (
73 | element: Element,
74 | initialOptions: string | Options,
75 | ) => {
76 | let options = parseOptions(initialOptions);
77 |
78 | const handle = async (event: Event) => {
79 | const text = options.text;
80 |
81 | try {
82 | await copyText(text);
83 | options.onCopy?.({ text, event });
84 | } catch (e) {
85 | const error = new Error(`${e instanceof Error ? e.message : e}`, {
86 | cause: e,
87 | });
88 |
89 | options.onError?.({ error, event });
90 | }
91 | };
92 |
93 | addListeners(element, handle, options.events);
94 |
95 | return {
96 | update(newOptions: string | Options) {
97 | removeListeners(element, handle, options.events);
98 |
99 | options = parseOptions(newOptions);
100 |
101 | addListeners(element, handle, options.events);
102 | },
103 | destroy() {
104 | removeListeners(element, handle, options.events);
105 | },
106 | };
107 | };
108 |
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
17 |
18 |
19 | Usage
20 |
21 | The simplest use is to just pass the text you want to copy
22 |
23 |
24 | {#snippet children(text)}
25 | Copy
26 | {/snippet}
27 |
28 |
29 | We could pass this as an object
30 |
31 |
32 | {#snippet children(text)}
33 | Copy
34 | {/snippet}
35 |
36 |
37 | Let's alert the user if the text was copied
38 |
39 |
40 | {#snippet children(text)}
41 |
49 | Copy
50 |
51 | {/snippet}
52 |
53 |
54 | We could tell the user what was copied
55 |
56 |
57 | {#snippet children(text)}
58 |
66 | Copy
67 |
68 | {/snippet}
69 |
70 |
71 | If there was an error, we can check for that too
72 |
73 |
74 | {#snippet children(text)}
75 |
86 | Copy
87 |
88 | {/snippet}
89 |
90 |
91 | We can trigger the copy on custom events
92 |
93 |
94 | {#snippet children(text)}
95 |
109 | Copy
110 |
111 | {/snippet}
112 |
113 |
114 |
115 |
116 | Extra
117 |
118 | copyText()
119 |
120 |
121 | We expose the underlying copyText function. It uses the
122 | navigator.clipboard API by default, with a fallback to the legacy
123 | method.
124 |
125 |
126 |
127 | {#snippet children(text)}
128 |
129 | {/snippet}
130 |
131 |
132 |
133 |
145 |
--------------------------------------------------------------------------------
/src/routes/+page.server.ts:
--------------------------------------------------------------------------------
1 | import { codeToHtml } from 'shiki';
2 | import dedent from 'dedent';
3 |
4 | async function highlight(code: string) {
5 | return await codeToHtml(code, {
6 | lang: 'svelte',
7 | theme: 'nord',
8 | });
9 | }
10 |
11 | export async function load() {
12 | return {
13 | examples: {
14 | simple: await highlight(dedent`
15 |
18 |
19 |
20 | Copy
21 |
22 | `),
23 | simpleObject: await highlight(dedent`
24 |
25 | Copy
26 |
27 | `),
28 | simpleCopyAlert: await highlight(dedent`
29 |
37 | Copy
38 |
39 | `),
40 | copyAlert: await highlight(dedent`
41 |
49 | Copy
50 |
51 | `),
52 | errorAlert: await highlight(dedent`
53 |
61 | Copy
62 |
63 | `),
64 | customEvents: await highlight(dedent`
65 |
77 | Copy
78 |
79 | `),
80 | copyText: await highlight(dedent`
81 |
96 |
97 |
101 | `),
102 | },
103 | };
104 | }
105 |
--------------------------------------------------------------------------------
/tests/svelte-copy.test.ts:
--------------------------------------------------------------------------------
1 | import { describe, it, expect, beforeEach, vi } from 'vitest';
2 | import { copy as copyAction, copyText } from '$lib/index';
3 | import type { Options } from '$lib/types';
4 |
5 | type ActionReturn = import('svelte/action').ActionReturn;
6 |
7 | async function tick() {
8 | await new Promise((resolve) => setTimeout(resolve, 0));
9 | }
10 |
11 | describe('copyText', () => {
12 | beforeEach(async () => {
13 | await navigator.clipboard.writeText('');
14 | });
15 |
16 | it('copies text', async () => {
17 | const text = crypto.randomUUID();
18 |
19 | await copyText(text);
20 |
21 | expect(await navigator.clipboard.readText()).toBe(text);
22 | });
23 | });
24 |
25 | describe('copy action', () => {
26 | beforeEach(async () => {
27 | await navigator.clipboard.writeText('');
28 | });
29 |
30 | it('fires on click', async () => {
31 | const element = document.createElement('button');
32 | const text = crypto.randomUUID();
33 |
34 | copyAction(element, text);
35 | element.click();
36 |
37 | expect(await navigator.clipboard.readText()).toBe(text);
38 | });
39 |
40 | it('only triggers on an event', async () => {
41 | const element = document.createElement('button');
42 | const text = crypto.randomUUID();
43 |
44 | copyAction(element, text);
45 |
46 | expect(await navigator.clipboard.readText()).toEqual('');
47 | });
48 |
49 | it('works with an options object', async () => {
50 | const element = document.createElement('button');
51 | const text = crypto.randomUUID();
52 |
53 | copyAction(element, { text });
54 | element.click();
55 |
56 | expect(await navigator.clipboard.readText()).toBe(text);
57 | });
58 |
59 | it('works with custom events', async () => {
60 | const element = document.createElement('button');
61 | const text = crypto.randomUUID();
62 |
63 | copyAction(element, { text, events: ['pointerover'] });
64 | element.dispatchEvent(new PointerEvent('pointerover'));
65 |
66 | expect(await navigator.clipboard.readText()).toBe(text);
67 | });
68 |
69 | it('calls the onCopy callback with the correct text', async () => {
70 | const element = document.createElement('button');
71 | const text = crypto.randomUUID();
72 | const onCopy = vi.fn();
73 |
74 | copyAction(element, { text, onCopy });
75 |
76 | element.click();
77 | expect(await navigator.clipboard.readText()).toBe(text);
78 | expect(onCopy).toHaveBeenCalledOnce();
79 | expect(onCopy).toHaveBeenCalledWith(expect.objectContaining({ text }));
80 | });
81 |
82 | it('calls the onCopy callback with the click event', async () => {
83 | const element = document.createElement('button');
84 | const text = crypto.randomUUID();
85 | const onCopy = vi.fn();
86 |
87 | copyAction(element, { text, onCopy, events: ['pointerover'] });
88 |
89 | element.dispatchEvent(new PointerEvent('pointerover'));
90 | expect(await navigator.clipboard.readText()).toBe(text);
91 | expect(onCopy).toHaveBeenCalledOnce();
92 | expect(onCopy).toHaveBeenCalledWith(
93 | expect.objectContaining({
94 | text,
95 | event: expect.objectContaining({ type: 'pointerover' }),
96 | }),
97 | );
98 | });
99 |
100 | it('calls the onCopy callback with a custom event', async () => {
101 | const element = document.createElement('button');
102 | const text = crypto.randomUUID();
103 | const onCopy = vi.fn();
104 |
105 | copyAction(element, { text, onCopy });
106 |
107 | element.click();
108 | expect(await navigator.clipboard.readText()).toBe(text);
109 | expect(onCopy).toHaveBeenCalledOnce();
110 | expect(onCopy).toHaveBeenCalledWith(
111 | expect.objectContaining({
112 | text,
113 | event: expect.objectContaining({ type: 'click' }),
114 | }),
115 | );
116 | });
117 |
118 | it('sets updated text correctly with string option', async () => {
119 | const element = document.createElement('button');
120 | const originalText = crypto.randomUUID();
121 |
122 | const { update } = copyAction(element, {
123 | text: originalText,
124 | }) as ActionReturn;
125 |
126 | element.click();
127 | expect(await navigator.clipboard.readText()).toBe(originalText);
128 |
129 | const newText = crypto.randomUUID();
130 | update(newText);
131 | element.click();
132 |
133 | expect(await navigator.clipboard.readText()).toBe(newText);
134 | });
135 |
136 | it('sets updated text correctly with options object', async () => {
137 | const element = document.createElement('button');
138 | const originalText = crypto.randomUUID();
139 |
140 | const { update } = copyAction(element, {
141 | text: originalText,
142 | }) as ActionReturn;
143 |
144 | element.click();
145 | expect(await navigator.clipboard.readText()).toBe(originalText);
146 |
147 | const newText = crypto.randomUUID();
148 | update({ text: newText });
149 |
150 | element.click();
151 | expect(await navigator.clipboard.readText()).toBe(newText);
152 | });
153 |
154 | it('sets updated event listeners', async () => {
155 | const element = document.createElement('button');
156 | const originalText = crypto.randomUUID();
157 |
158 | const { update } = copyAction(element, {
159 | text: originalText,
160 | }) as ActionReturn;
161 |
162 | element.click();
163 | expect(await navigator.clipboard.readText()).toBe(originalText);
164 |
165 | const newText = crypto.randomUUID();
166 | update({ text: newText, events: ['pointerover'] });
167 |
168 | element.click();
169 | expect(await navigator.clipboard.readText()).toBe(originalText);
170 |
171 | element.dispatchEvent(new PointerEvent('pointerover'));
172 | expect(await navigator.clipboard.readText()).toBe(newText);
173 | });
174 |
175 | it('sets updated event listeners', async () => {
176 | const element = document.createElement('button');
177 | const text = crypto.randomUUID();
178 | const onCopy = vi.fn();
179 |
180 | const { update } = copyAction(element, {
181 | text,
182 | onCopy,
183 | }) as ActionReturn;
184 |
185 | element.click();
186 | expect(await navigator.clipboard.readText()).toBe(text);
187 | expect(onCopy).toHaveBeenCalledOnce();
188 | expect(onCopy).toHaveBeenCalledWith(expect.objectContaining({ text }));
189 |
190 | const newOnCopy = vi.fn();
191 | update({ text, onCopy: newOnCopy });
192 |
193 | element.click();
194 | await tick();
195 | expect(onCopy).toHaveBeenCalledOnce();
196 | expect(newOnCopy).toHaveBeenCalledOnce();
197 | expect(newOnCopy).toHaveBeenCalledWith(
198 | expect.objectContaining({ text }),
199 | );
200 | });
201 | });
202 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | '@sveltejs/adapter-static':
12 | specifier: ^3.0.5
13 | version: 3.0.5(@sveltejs/kit@2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))
14 | '@sveltejs/kit':
15 | specifier: 2.7.2
16 | version: 2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
17 | '@sveltejs/package':
18 | specifier: ^2.3.5
19 | version: 2.3.5(svelte@5.0.2)(typescript@5.6.3)
20 | '@sveltejs/vite-plugin-svelte':
21 | specifier: ^4.0.0
22 | version: 4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
23 | dedent:
24 | specifier: ^1.5.3
25 | version: 1.5.3
26 | ghostsui:
27 | specifier: 2.0.0-beta.1
28 | version: 2.0.0-beta.1
29 | happy-dom:
30 | specifier: ^15.7.4
31 | version: 15.7.4
32 | prettier:
33 | specifier: ^3.3.3
34 | version: 3.3.3
35 | prettier-plugin-svelte:
36 | specifier: ^3.2.7
37 | version: 3.2.7(prettier@3.3.3)(svelte@5.0.2)
38 | publint:
39 | specifier: ^0.2.11
40 | version: 0.2.11
41 | runed:
42 | specifier: ^0.15.3
43 | version: 0.15.3(svelte@5.0.2)
44 | sass:
45 | specifier: ^1.80.3
46 | version: 1.80.3
47 | shiki:
48 | specifier: ^1.22.0
49 | version: 1.22.0
50 | svelte:
51 | specifier: ^5.0.2
52 | version: 5.0.2
53 | typescript:
54 | specifier: ^5.6.3
55 | version: 5.6.3
56 | vite:
57 | specifier: ^5.4.9
58 | version: 5.4.9(sass@1.80.3)
59 | vitest:
60 | specifier: ^2.1.3
61 | version: 2.1.3(happy-dom@15.7.4)(sass@1.80.3)
62 |
63 | packages:
64 |
65 | '@ampproject/remapping@2.3.0':
66 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
67 | engines: {node: '>=6.0.0'}
68 |
69 | '@esbuild/aix-ppc64@0.21.5':
70 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
71 | engines: {node: '>=12'}
72 | cpu: [ppc64]
73 | os: [aix]
74 |
75 | '@esbuild/android-arm64@0.21.5':
76 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
77 | engines: {node: '>=12'}
78 | cpu: [arm64]
79 | os: [android]
80 |
81 | '@esbuild/android-arm@0.21.5':
82 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
83 | engines: {node: '>=12'}
84 | cpu: [arm]
85 | os: [android]
86 |
87 | '@esbuild/android-x64@0.21.5':
88 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
89 | engines: {node: '>=12'}
90 | cpu: [x64]
91 | os: [android]
92 |
93 | '@esbuild/darwin-arm64@0.21.5':
94 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
95 | engines: {node: '>=12'}
96 | cpu: [arm64]
97 | os: [darwin]
98 |
99 | '@esbuild/darwin-x64@0.21.5':
100 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
101 | engines: {node: '>=12'}
102 | cpu: [x64]
103 | os: [darwin]
104 |
105 | '@esbuild/freebsd-arm64@0.21.5':
106 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
107 | engines: {node: '>=12'}
108 | cpu: [arm64]
109 | os: [freebsd]
110 |
111 | '@esbuild/freebsd-x64@0.21.5':
112 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
113 | engines: {node: '>=12'}
114 | cpu: [x64]
115 | os: [freebsd]
116 |
117 | '@esbuild/linux-arm64@0.21.5':
118 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
119 | engines: {node: '>=12'}
120 | cpu: [arm64]
121 | os: [linux]
122 |
123 | '@esbuild/linux-arm@0.21.5':
124 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
125 | engines: {node: '>=12'}
126 | cpu: [arm]
127 | os: [linux]
128 |
129 | '@esbuild/linux-ia32@0.21.5':
130 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
131 | engines: {node: '>=12'}
132 | cpu: [ia32]
133 | os: [linux]
134 |
135 | '@esbuild/linux-loong64@0.21.5':
136 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
137 | engines: {node: '>=12'}
138 | cpu: [loong64]
139 | os: [linux]
140 |
141 | '@esbuild/linux-mips64el@0.21.5':
142 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
143 | engines: {node: '>=12'}
144 | cpu: [mips64el]
145 | os: [linux]
146 |
147 | '@esbuild/linux-ppc64@0.21.5':
148 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
149 | engines: {node: '>=12'}
150 | cpu: [ppc64]
151 | os: [linux]
152 |
153 | '@esbuild/linux-riscv64@0.21.5':
154 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
155 | engines: {node: '>=12'}
156 | cpu: [riscv64]
157 | os: [linux]
158 |
159 | '@esbuild/linux-s390x@0.21.5':
160 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
161 | engines: {node: '>=12'}
162 | cpu: [s390x]
163 | os: [linux]
164 |
165 | '@esbuild/linux-x64@0.21.5':
166 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
167 | engines: {node: '>=12'}
168 | cpu: [x64]
169 | os: [linux]
170 |
171 | '@esbuild/netbsd-x64@0.21.5':
172 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
173 | engines: {node: '>=12'}
174 | cpu: [x64]
175 | os: [netbsd]
176 |
177 | '@esbuild/openbsd-x64@0.21.5':
178 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
179 | engines: {node: '>=12'}
180 | cpu: [x64]
181 | os: [openbsd]
182 |
183 | '@esbuild/sunos-x64@0.21.5':
184 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
185 | engines: {node: '>=12'}
186 | cpu: [x64]
187 | os: [sunos]
188 |
189 | '@esbuild/win32-arm64@0.21.5':
190 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
191 | engines: {node: '>=12'}
192 | cpu: [arm64]
193 | os: [win32]
194 |
195 | '@esbuild/win32-ia32@0.21.5':
196 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
197 | engines: {node: '>=12'}
198 | cpu: [ia32]
199 | os: [win32]
200 |
201 | '@esbuild/win32-x64@0.21.5':
202 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
203 | engines: {node: '>=12'}
204 | cpu: [x64]
205 | os: [win32]
206 |
207 | '@jridgewell/gen-mapping@0.3.5':
208 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
209 | engines: {node: '>=6.0.0'}
210 |
211 | '@jridgewell/resolve-uri@3.1.2':
212 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
213 | engines: {node: '>=6.0.0'}
214 |
215 | '@jridgewell/set-array@1.2.1':
216 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
217 | engines: {node: '>=6.0.0'}
218 |
219 | '@jridgewell/sourcemap-codec@1.5.0':
220 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
221 |
222 | '@jridgewell/trace-mapping@0.3.25':
223 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
224 |
225 | '@parcel/watcher-android-arm64@2.4.1':
226 | resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
227 | engines: {node: '>= 10.0.0'}
228 | cpu: [arm64]
229 | os: [android]
230 |
231 | '@parcel/watcher-darwin-arm64@2.4.1':
232 | resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
233 | engines: {node: '>= 10.0.0'}
234 | cpu: [arm64]
235 | os: [darwin]
236 |
237 | '@parcel/watcher-darwin-x64@2.4.1':
238 | resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
239 | engines: {node: '>= 10.0.0'}
240 | cpu: [x64]
241 | os: [darwin]
242 |
243 | '@parcel/watcher-freebsd-x64@2.4.1':
244 | resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
245 | engines: {node: '>= 10.0.0'}
246 | cpu: [x64]
247 | os: [freebsd]
248 |
249 | '@parcel/watcher-linux-arm-glibc@2.4.1':
250 | resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
251 | engines: {node: '>= 10.0.0'}
252 | cpu: [arm]
253 | os: [linux]
254 |
255 | '@parcel/watcher-linux-arm64-glibc@2.4.1':
256 | resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
257 | engines: {node: '>= 10.0.0'}
258 | cpu: [arm64]
259 | os: [linux]
260 |
261 | '@parcel/watcher-linux-arm64-musl@2.4.1':
262 | resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
263 | engines: {node: '>= 10.0.0'}
264 | cpu: [arm64]
265 | os: [linux]
266 |
267 | '@parcel/watcher-linux-x64-glibc@2.4.1':
268 | resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
269 | engines: {node: '>= 10.0.0'}
270 | cpu: [x64]
271 | os: [linux]
272 |
273 | '@parcel/watcher-linux-x64-musl@2.4.1':
274 | resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
275 | engines: {node: '>= 10.0.0'}
276 | cpu: [x64]
277 | os: [linux]
278 |
279 | '@parcel/watcher-win32-arm64@2.4.1':
280 | resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
281 | engines: {node: '>= 10.0.0'}
282 | cpu: [arm64]
283 | os: [win32]
284 |
285 | '@parcel/watcher-win32-ia32@2.4.1':
286 | resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
287 | engines: {node: '>= 10.0.0'}
288 | cpu: [ia32]
289 | os: [win32]
290 |
291 | '@parcel/watcher-win32-x64@2.4.1':
292 | resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
293 | engines: {node: '>= 10.0.0'}
294 | cpu: [x64]
295 | os: [win32]
296 |
297 | '@parcel/watcher@2.4.1':
298 | resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
299 | engines: {node: '>= 10.0.0'}
300 |
301 | '@polka/url@1.0.0-next.28':
302 | resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
303 |
304 | '@rollup/rollup-android-arm-eabi@4.24.0':
305 | resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
306 | cpu: [arm]
307 | os: [android]
308 |
309 | '@rollup/rollup-android-arm64@4.24.0':
310 | resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
311 | cpu: [arm64]
312 | os: [android]
313 |
314 | '@rollup/rollup-darwin-arm64@4.24.0':
315 | resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
316 | cpu: [arm64]
317 | os: [darwin]
318 |
319 | '@rollup/rollup-darwin-x64@4.24.0':
320 | resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
321 | cpu: [x64]
322 | os: [darwin]
323 |
324 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
325 | resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
326 | cpu: [arm]
327 | os: [linux]
328 |
329 | '@rollup/rollup-linux-arm-musleabihf@4.24.0':
330 | resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
331 | cpu: [arm]
332 | os: [linux]
333 |
334 | '@rollup/rollup-linux-arm64-gnu@4.24.0':
335 | resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
336 | cpu: [arm64]
337 | os: [linux]
338 |
339 | '@rollup/rollup-linux-arm64-musl@4.24.0':
340 | resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
341 | cpu: [arm64]
342 | os: [linux]
343 |
344 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
345 | resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
346 | cpu: [ppc64]
347 | os: [linux]
348 |
349 | '@rollup/rollup-linux-riscv64-gnu@4.24.0':
350 | resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
351 | cpu: [riscv64]
352 | os: [linux]
353 |
354 | '@rollup/rollup-linux-s390x-gnu@4.24.0':
355 | resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
356 | cpu: [s390x]
357 | os: [linux]
358 |
359 | '@rollup/rollup-linux-x64-gnu@4.24.0':
360 | resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
361 | cpu: [x64]
362 | os: [linux]
363 |
364 | '@rollup/rollup-linux-x64-musl@4.24.0':
365 | resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
366 | cpu: [x64]
367 | os: [linux]
368 |
369 | '@rollup/rollup-win32-arm64-msvc@4.24.0':
370 | resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
371 | cpu: [arm64]
372 | os: [win32]
373 |
374 | '@rollup/rollup-win32-ia32-msvc@4.24.0':
375 | resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
376 | cpu: [ia32]
377 | os: [win32]
378 |
379 | '@rollup/rollup-win32-x64-msvc@4.24.0':
380 | resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
381 | cpu: [x64]
382 | os: [win32]
383 |
384 | '@shikijs/core@1.22.0':
385 | resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==}
386 |
387 | '@shikijs/engine-javascript@1.22.0':
388 | resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==}
389 |
390 | '@shikijs/engine-oniguruma@1.22.0':
391 | resolution: {integrity: sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==}
392 |
393 | '@shikijs/types@1.22.0':
394 | resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==}
395 |
396 | '@shikijs/vscode-textmate@9.3.0':
397 | resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==}
398 |
399 | '@sveltejs/adapter-static@3.0.5':
400 | resolution: {integrity: sha512-kFJR7RxeB6FBvrKZWAEzIALatgy11ISaaZbcPup8JdWUdrmmfUHHTJ738YHJTEfnCiiXi6aX8Q6ePY7tnSMD6Q==}
401 | peerDependencies:
402 | '@sveltejs/kit': ^2.0.0
403 |
404 | '@sveltejs/kit@2.7.2':
405 | resolution: {integrity: sha512-bFwrl+0bNr0/DHQZM0INwwSPNYqDjfsKRhUoa6rj9d8tDZzszBrJ3La6/HVFxWGONEigtG+SzHXa1BEa1BLdwA==}
406 | engines: {node: '>=18.13'}
407 | hasBin: true
408 | peerDependencies:
409 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1
410 | svelte: ^4.0.0 || ^5.0.0-next.0
411 | vite: ^5.0.3
412 |
413 | '@sveltejs/package@2.3.5':
414 | resolution: {integrity: sha512-fxWSG+pJHxWwcKltG+JoQ+P1CPO7NHVuZD1Gchi/1mNN6C60yD/voHeeXlqr0HHGkvIrpAjRIHLjsavI77Qsiw==}
415 | engines: {node: ^16.14 || >=18}
416 | hasBin: true
417 | peerDependencies:
418 | svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
419 |
420 | '@sveltejs/vite-plugin-svelte-inspector@3.0.0':
421 | resolution: {integrity: sha512-hBxSYW/66989cq9dN248omD/ziskSdIV1NqfuueuAI1z6jGcg14k9Zd98pDIEnoA6wC9kWUGuQ6adzBbWwQyRg==}
422 | engines: {node: ^18.0.0 || ^20.0.0 || >=22}
423 | peerDependencies:
424 | '@sveltejs/vite-plugin-svelte': ^4.0.0-next.0||^4.0.0
425 | svelte: ^5.0.0-next.96 || ^5.0.0
426 | vite: ^5.0.0
427 |
428 | '@sveltejs/vite-plugin-svelte@4.0.0':
429 | resolution: {integrity: sha512-kpVJwF+gNiMEsoHaw+FJL76IYiwBikkxYU83+BpqQLdVMff19KeRKLd2wisS8niNBMJ2omv5gG+iGDDwd8jzag==}
430 | engines: {node: ^18.0.0 || ^20.0.0 || >=22}
431 | peerDependencies:
432 | svelte: ^5.0.0-next.96 || ^5.0.0
433 | vite: ^5.0.0
434 |
435 | '@types/cookie@0.6.0':
436 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
437 |
438 | '@types/estree@1.0.6':
439 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
440 |
441 | '@types/hast@3.0.4':
442 | resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
443 |
444 | '@types/mdast@4.0.4':
445 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
446 |
447 | '@types/unist@3.0.3':
448 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
449 |
450 | '@ungap/structured-clone@1.2.0':
451 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
452 |
453 | '@vitest/expect@2.1.3':
454 | resolution: {integrity: sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==}
455 |
456 | '@vitest/mocker@2.1.3':
457 | resolution: {integrity: sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==}
458 | peerDependencies:
459 | '@vitest/spy': 2.1.3
460 | msw: ^2.3.5
461 | vite: ^5.0.0
462 | peerDependenciesMeta:
463 | msw:
464 | optional: true
465 | vite:
466 | optional: true
467 |
468 | '@vitest/pretty-format@2.1.3':
469 | resolution: {integrity: sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==}
470 |
471 | '@vitest/runner@2.1.3':
472 | resolution: {integrity: sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==}
473 |
474 | '@vitest/snapshot@2.1.3':
475 | resolution: {integrity: sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==}
476 |
477 | '@vitest/spy@2.1.3':
478 | resolution: {integrity: sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==}
479 |
480 | '@vitest/utils@2.1.3':
481 | resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==}
482 |
483 | acorn-typescript@1.4.13:
484 | resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
485 | peerDependencies:
486 | acorn: '>=8.9.0'
487 |
488 | acorn@8.13.0:
489 | resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==}
490 | engines: {node: '>=0.4.0'}
491 | hasBin: true
492 |
493 | aria-query@5.3.2:
494 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
495 | engines: {node: '>= 0.4'}
496 |
497 | assertion-error@2.0.1:
498 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
499 | engines: {node: '>=12'}
500 |
501 | axobject-query@4.1.0:
502 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
503 | engines: {node: '>= 0.4'}
504 |
505 | balanced-match@1.0.2:
506 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
507 |
508 | brace-expansion@2.0.1:
509 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
510 |
511 | braces@3.0.3:
512 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
513 | engines: {node: '>=8'}
514 |
515 | cac@6.7.14:
516 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
517 | engines: {node: '>=8'}
518 |
519 | ccount@2.0.1:
520 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
521 |
522 | chai@5.1.1:
523 | resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==}
524 | engines: {node: '>=12'}
525 |
526 | character-entities-html4@2.1.0:
527 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
528 |
529 | character-entities-legacy@3.0.0:
530 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
531 |
532 | check-error@2.1.1:
533 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
534 | engines: {node: '>= 16'}
535 |
536 | chokidar@4.0.1:
537 | resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
538 | engines: {node: '>= 14.16.0'}
539 |
540 | comma-separated-tokens@2.0.3:
541 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
542 |
543 | cookie@0.6.0:
544 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
545 | engines: {node: '>= 0.6'}
546 |
547 | debug@4.3.7:
548 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
549 | engines: {node: '>=6.0'}
550 | peerDependencies:
551 | supports-color: '*'
552 | peerDependenciesMeta:
553 | supports-color:
554 | optional: true
555 |
556 | dedent-js@1.0.1:
557 | resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==}
558 |
559 | dedent@1.5.3:
560 | resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==}
561 | peerDependencies:
562 | babel-plugin-macros: ^3.1.0
563 | peerDependenciesMeta:
564 | babel-plugin-macros:
565 | optional: true
566 |
567 | deep-eql@5.0.2:
568 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
569 | engines: {node: '>=6'}
570 |
571 | deepmerge@4.3.1:
572 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
573 | engines: {node: '>=0.10.0'}
574 |
575 | dequal@2.0.3:
576 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
577 | engines: {node: '>=6'}
578 |
579 | detect-libc@1.0.3:
580 | resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
581 | engines: {node: '>=0.10'}
582 | hasBin: true
583 |
584 | devalue@5.1.1:
585 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
586 |
587 | devlop@1.1.0:
588 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
589 |
590 | entities@4.5.0:
591 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
592 | engines: {node: '>=0.12'}
593 |
594 | esbuild@0.21.5:
595 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
596 | engines: {node: '>=12'}
597 | hasBin: true
598 |
599 | esm-env@1.0.0:
600 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
601 |
602 | esrap@1.2.2:
603 | resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==}
604 |
605 | estree-walker@3.0.3:
606 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
607 |
608 | fill-range@7.1.1:
609 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
610 | engines: {node: '>=8'}
611 |
612 | fs.realpath@1.0.0:
613 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
614 |
615 | fsevents@2.3.3:
616 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
617 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
618 | os: [darwin]
619 |
620 | ghostsui@2.0.0-beta.1:
621 | resolution: {integrity: sha512-T11BXPTNbrje4PS3hDIAAsdMW5yfxqfS43C7d1uwpMSi80HmzyBqbH4gLWzrweAFbEu90QDirLQLbnzyG6txUg==}
622 |
623 | glob@8.1.0:
624 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
625 | engines: {node: '>=12'}
626 | deprecated: Glob versions prior to v9 are no longer supported
627 |
628 | globalyzer@0.1.0:
629 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
630 |
631 | globrex@0.1.2:
632 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
633 |
634 | happy-dom@15.7.4:
635 | resolution: {integrity: sha512-r1vadDYGMtsHAAsqhDuk4IpPvr6N8MGKy5ntBo7tSdim+pWDxus2PNqOcOt8LuDZ4t3KJHE+gCuzupcx/GKnyQ==}
636 | engines: {node: '>=18.0.0'}
637 |
638 | hast-util-to-html@9.0.3:
639 | resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==}
640 |
641 | hast-util-whitespace@3.0.0:
642 | resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
643 |
644 | html-void-elements@3.0.0:
645 | resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
646 |
647 | ignore-walk@5.0.1:
648 | resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
649 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
650 |
651 | immutable@4.3.7:
652 | resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
653 |
654 | import-meta-resolve@4.1.0:
655 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
656 |
657 | inflight@1.0.6:
658 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
659 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
660 |
661 | inherits@2.0.4:
662 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
663 |
664 | is-extglob@2.1.1:
665 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
666 | engines: {node: '>=0.10.0'}
667 |
668 | is-glob@4.0.3:
669 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
670 | engines: {node: '>=0.10.0'}
671 |
672 | is-number@7.0.0:
673 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
674 | engines: {node: '>=0.12.0'}
675 |
676 | is-reference@3.0.2:
677 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
678 |
679 | kleur@4.1.5:
680 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
681 | engines: {node: '>=6'}
682 |
683 | locate-character@3.0.0:
684 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
685 |
686 | loupe@3.1.2:
687 | resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
688 |
689 | lower-case@2.0.2:
690 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
691 |
692 | magic-string@0.30.12:
693 | resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
694 |
695 | mdast-util-to-hast@13.2.0:
696 | resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
697 |
698 | micromark-util-character@2.1.0:
699 | resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
700 |
701 | micromark-util-encode@2.0.0:
702 | resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
703 |
704 | micromark-util-sanitize-uri@2.0.0:
705 | resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
706 |
707 | micromark-util-symbol@2.0.0:
708 | resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
709 |
710 | micromark-util-types@2.0.0:
711 | resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
712 |
713 | micromatch@4.0.8:
714 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
715 | engines: {node: '>=8.6'}
716 |
717 | minimatch@5.1.6:
718 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
719 | engines: {node: '>=10'}
720 |
721 | mri@1.2.0:
722 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
723 | engines: {node: '>=4'}
724 |
725 | mrmime@2.0.0:
726 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
727 | engines: {node: '>=10'}
728 |
729 | ms@2.1.3:
730 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
731 |
732 | nanoid@3.3.7:
733 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
734 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
735 | hasBin: true
736 |
737 | no-case@3.0.4:
738 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
739 |
740 | node-addon-api@7.1.1:
741 | resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
742 |
743 | npm-bundled@2.0.1:
744 | resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
745 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
746 |
747 | npm-normalize-package-bin@2.0.0:
748 | resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==}
749 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
750 |
751 | npm-packlist@5.1.3:
752 | resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==}
753 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
754 | hasBin: true
755 |
756 | once@1.4.0:
757 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
758 |
759 | oniguruma-to-js@0.4.3:
760 | resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==}
761 |
762 | pascal-case@3.1.2:
763 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
764 |
765 | pathe@1.1.2:
766 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
767 |
768 | pathval@2.0.0:
769 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
770 | engines: {node: '>= 14.16'}
771 |
772 | picocolors@1.1.1:
773 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
774 |
775 | picomatch@2.3.1:
776 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
777 | engines: {node: '>=8.6'}
778 |
779 | postcss@8.4.47:
780 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
781 | engines: {node: ^10 || ^12 || >=14}
782 |
783 | prettier-plugin-svelte@3.2.7:
784 | resolution: {integrity: sha512-/Dswx/ea0lV34If1eDcG3nulQ63YNr5KPDfMsjbdtpSWOxKKJ7nAc2qlVuYwEvCr4raIuredNoR7K4JCkmTGaQ==}
785 | peerDependencies:
786 | prettier: ^3.0.0
787 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
788 |
789 | prettier@3.3.3:
790 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
791 | engines: {node: '>=14'}
792 | hasBin: true
793 |
794 | property-information@6.5.0:
795 | resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
796 |
797 | publint@0.2.11:
798 | resolution: {integrity: sha512-/kxbd+sD/uEG515N/ZYpC6gYs8h89cQ4UIsAq1y6VT4qlNh8xmiSwcP2xU2MbzXFl8J0l2IdONKFweLfYoqhcA==}
799 | engines: {node: '>=16'}
800 | hasBin: true
801 |
802 | readdirp@4.0.2:
803 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
804 | engines: {node: '>= 14.16.0'}
805 |
806 | regex@4.3.3:
807 | resolution: {integrity: sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==}
808 |
809 | rollup@4.24.0:
810 | resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
811 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
812 | hasBin: true
813 |
814 | runed@0.15.3:
815 | resolution: {integrity: sha512-HtayB+loDcGdqJDHW8JFdsZzGQMyVzim6+s3052MkjZnwmwDstmF+cusMeTssBe6TCdt5i9D/Tb+KYXN3L0kXA==}
816 | peerDependencies:
817 | svelte: ^5.0.0-next.1
818 |
819 | sade@1.8.1:
820 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
821 | engines: {node: '>=6'}
822 |
823 | sass@1.80.3:
824 | resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==}
825 | engines: {node: '>=14.0.0'}
826 | hasBin: true
827 |
828 | semver@7.6.3:
829 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
830 | engines: {node: '>=10'}
831 | hasBin: true
832 |
833 | set-cookie-parser@2.7.0:
834 | resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==}
835 |
836 | shiki@1.22.0:
837 | resolution: {integrity: sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw==}
838 |
839 | siginfo@2.0.0:
840 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
841 |
842 | sirv@3.0.0:
843 | resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
844 | engines: {node: '>=18'}
845 |
846 | source-map-js@1.2.1:
847 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
848 | engines: {node: '>=0.10.0'}
849 |
850 | space-separated-tokens@2.0.2:
851 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
852 |
853 | stackback@0.0.2:
854 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
855 |
856 | std-env@3.7.0:
857 | resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
858 |
859 | stringify-entities@4.0.4:
860 | resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
861 |
862 | svelte2tsx@0.7.22:
863 | resolution: {integrity: sha512-hf55ujq17ufVpDQlJzaQfRr9EjlLIwGmFlpKq4uYrQAQFw/99q1OcVYyBT6568iJySgBUY9PdccURrORmfetmQ==}
864 | peerDependencies:
865 | svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
866 | typescript: ^4.9.4 || ^5.0.0
867 |
868 | svelte@5.0.2:
869 | resolution: {integrity: sha512-TIqp5kjyTMa45L0McUvVfjuvlF/hyxVolyAc9APY3/FeF5aqYpt+Y1PckPQ7DlsDkthxNeq2+ystop8GlIV3kw==}
870 | engines: {node: '>=18'}
871 |
872 | tiny-glob@0.2.9:
873 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
874 |
875 | tinybench@2.9.0:
876 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
877 |
878 | tinyexec@0.3.1:
879 | resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
880 |
881 | tinypool@1.0.1:
882 | resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==}
883 | engines: {node: ^18.0.0 || >=20.0.0}
884 |
885 | tinyrainbow@1.2.0:
886 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
887 | engines: {node: '>=14.0.0'}
888 |
889 | tinyspy@3.0.2:
890 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
891 | engines: {node: '>=14.0.0'}
892 |
893 | to-regex-range@5.0.1:
894 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
895 | engines: {node: '>=8.0'}
896 |
897 | totalist@3.0.1:
898 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
899 | engines: {node: '>=6'}
900 |
901 | trim-lines@3.0.1:
902 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
903 |
904 | tslib@2.8.0:
905 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
906 |
907 | typescript@5.6.3:
908 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
909 | engines: {node: '>=14.17'}
910 | hasBin: true
911 |
912 | unist-util-is@6.0.0:
913 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
914 |
915 | unist-util-position@5.0.0:
916 | resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
917 |
918 | unist-util-stringify-position@4.0.0:
919 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
920 |
921 | unist-util-visit-parents@6.0.1:
922 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
923 |
924 | unist-util-visit@5.0.0:
925 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
926 |
927 | vfile-message@4.0.2:
928 | resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
929 |
930 | vfile@6.0.3:
931 | resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
932 |
933 | vite-node@2.1.3:
934 | resolution: {integrity: sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==}
935 | engines: {node: ^18.0.0 || >=20.0.0}
936 | hasBin: true
937 |
938 | vite@5.4.9:
939 | resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==}
940 | engines: {node: ^18.0.0 || >=20.0.0}
941 | hasBin: true
942 | peerDependencies:
943 | '@types/node': ^18.0.0 || >=20.0.0
944 | less: '*'
945 | lightningcss: ^1.21.0
946 | sass: '*'
947 | sass-embedded: '*'
948 | stylus: '*'
949 | sugarss: '*'
950 | terser: ^5.4.0
951 | peerDependenciesMeta:
952 | '@types/node':
953 | optional: true
954 | less:
955 | optional: true
956 | lightningcss:
957 | optional: true
958 | sass:
959 | optional: true
960 | sass-embedded:
961 | optional: true
962 | stylus:
963 | optional: true
964 | sugarss:
965 | optional: true
966 | terser:
967 | optional: true
968 |
969 | vitefu@1.0.3:
970 | resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==}
971 | peerDependencies:
972 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0
973 | peerDependenciesMeta:
974 | vite:
975 | optional: true
976 |
977 | vitest@2.1.3:
978 | resolution: {integrity: sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==}
979 | engines: {node: ^18.0.0 || >=20.0.0}
980 | hasBin: true
981 | peerDependencies:
982 | '@edge-runtime/vm': '*'
983 | '@types/node': ^18.0.0 || >=20.0.0
984 | '@vitest/browser': 2.1.3
985 | '@vitest/ui': 2.1.3
986 | happy-dom: '*'
987 | jsdom: '*'
988 | peerDependenciesMeta:
989 | '@edge-runtime/vm':
990 | optional: true
991 | '@types/node':
992 | optional: true
993 | '@vitest/browser':
994 | optional: true
995 | '@vitest/ui':
996 | optional: true
997 | happy-dom:
998 | optional: true
999 | jsdom:
1000 | optional: true
1001 |
1002 | webidl-conversions@7.0.0:
1003 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
1004 | engines: {node: '>=12'}
1005 |
1006 | whatwg-mimetype@3.0.0:
1007 | resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
1008 | engines: {node: '>=12'}
1009 |
1010 | why-is-node-running@2.3.0:
1011 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
1012 | engines: {node: '>=8'}
1013 | hasBin: true
1014 |
1015 | wrappy@1.0.2:
1016 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1017 |
1018 | zimmerframe@1.1.2:
1019 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
1020 |
1021 | zwitch@2.0.4:
1022 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
1023 |
1024 | snapshots:
1025 |
1026 | '@ampproject/remapping@2.3.0':
1027 | dependencies:
1028 | '@jridgewell/gen-mapping': 0.3.5
1029 | '@jridgewell/trace-mapping': 0.3.25
1030 |
1031 | '@esbuild/aix-ppc64@0.21.5':
1032 | optional: true
1033 |
1034 | '@esbuild/android-arm64@0.21.5':
1035 | optional: true
1036 |
1037 | '@esbuild/android-arm@0.21.5':
1038 | optional: true
1039 |
1040 | '@esbuild/android-x64@0.21.5':
1041 | optional: true
1042 |
1043 | '@esbuild/darwin-arm64@0.21.5':
1044 | optional: true
1045 |
1046 | '@esbuild/darwin-x64@0.21.5':
1047 | optional: true
1048 |
1049 | '@esbuild/freebsd-arm64@0.21.5':
1050 | optional: true
1051 |
1052 | '@esbuild/freebsd-x64@0.21.5':
1053 | optional: true
1054 |
1055 | '@esbuild/linux-arm64@0.21.5':
1056 | optional: true
1057 |
1058 | '@esbuild/linux-arm@0.21.5':
1059 | optional: true
1060 |
1061 | '@esbuild/linux-ia32@0.21.5':
1062 | optional: true
1063 |
1064 | '@esbuild/linux-loong64@0.21.5':
1065 | optional: true
1066 |
1067 | '@esbuild/linux-mips64el@0.21.5':
1068 | optional: true
1069 |
1070 | '@esbuild/linux-ppc64@0.21.5':
1071 | optional: true
1072 |
1073 | '@esbuild/linux-riscv64@0.21.5':
1074 | optional: true
1075 |
1076 | '@esbuild/linux-s390x@0.21.5':
1077 | optional: true
1078 |
1079 | '@esbuild/linux-x64@0.21.5':
1080 | optional: true
1081 |
1082 | '@esbuild/netbsd-x64@0.21.5':
1083 | optional: true
1084 |
1085 | '@esbuild/openbsd-x64@0.21.5':
1086 | optional: true
1087 |
1088 | '@esbuild/sunos-x64@0.21.5':
1089 | optional: true
1090 |
1091 | '@esbuild/win32-arm64@0.21.5':
1092 | optional: true
1093 |
1094 | '@esbuild/win32-ia32@0.21.5':
1095 | optional: true
1096 |
1097 | '@esbuild/win32-x64@0.21.5':
1098 | optional: true
1099 |
1100 | '@jridgewell/gen-mapping@0.3.5':
1101 | dependencies:
1102 | '@jridgewell/set-array': 1.2.1
1103 | '@jridgewell/sourcemap-codec': 1.5.0
1104 | '@jridgewell/trace-mapping': 0.3.25
1105 |
1106 | '@jridgewell/resolve-uri@3.1.2': {}
1107 |
1108 | '@jridgewell/set-array@1.2.1': {}
1109 |
1110 | '@jridgewell/sourcemap-codec@1.5.0': {}
1111 |
1112 | '@jridgewell/trace-mapping@0.3.25':
1113 | dependencies:
1114 | '@jridgewell/resolve-uri': 3.1.2
1115 | '@jridgewell/sourcemap-codec': 1.5.0
1116 |
1117 | '@parcel/watcher-android-arm64@2.4.1':
1118 | optional: true
1119 |
1120 | '@parcel/watcher-darwin-arm64@2.4.1':
1121 | optional: true
1122 |
1123 | '@parcel/watcher-darwin-x64@2.4.1':
1124 | optional: true
1125 |
1126 | '@parcel/watcher-freebsd-x64@2.4.1':
1127 | optional: true
1128 |
1129 | '@parcel/watcher-linux-arm-glibc@2.4.1':
1130 | optional: true
1131 |
1132 | '@parcel/watcher-linux-arm64-glibc@2.4.1':
1133 | optional: true
1134 |
1135 | '@parcel/watcher-linux-arm64-musl@2.4.1':
1136 | optional: true
1137 |
1138 | '@parcel/watcher-linux-x64-glibc@2.4.1':
1139 | optional: true
1140 |
1141 | '@parcel/watcher-linux-x64-musl@2.4.1':
1142 | optional: true
1143 |
1144 | '@parcel/watcher-win32-arm64@2.4.1':
1145 | optional: true
1146 |
1147 | '@parcel/watcher-win32-ia32@2.4.1':
1148 | optional: true
1149 |
1150 | '@parcel/watcher-win32-x64@2.4.1':
1151 | optional: true
1152 |
1153 | '@parcel/watcher@2.4.1':
1154 | dependencies:
1155 | detect-libc: 1.0.3
1156 | is-glob: 4.0.3
1157 | micromatch: 4.0.8
1158 | node-addon-api: 7.1.1
1159 | optionalDependencies:
1160 | '@parcel/watcher-android-arm64': 2.4.1
1161 | '@parcel/watcher-darwin-arm64': 2.4.1
1162 | '@parcel/watcher-darwin-x64': 2.4.1
1163 | '@parcel/watcher-freebsd-x64': 2.4.1
1164 | '@parcel/watcher-linux-arm-glibc': 2.4.1
1165 | '@parcel/watcher-linux-arm64-glibc': 2.4.1
1166 | '@parcel/watcher-linux-arm64-musl': 2.4.1
1167 | '@parcel/watcher-linux-x64-glibc': 2.4.1
1168 | '@parcel/watcher-linux-x64-musl': 2.4.1
1169 | '@parcel/watcher-win32-arm64': 2.4.1
1170 | '@parcel/watcher-win32-ia32': 2.4.1
1171 | '@parcel/watcher-win32-x64': 2.4.1
1172 |
1173 | '@polka/url@1.0.0-next.28': {}
1174 |
1175 | '@rollup/rollup-android-arm-eabi@4.24.0':
1176 | optional: true
1177 |
1178 | '@rollup/rollup-android-arm64@4.24.0':
1179 | optional: true
1180 |
1181 | '@rollup/rollup-darwin-arm64@4.24.0':
1182 | optional: true
1183 |
1184 | '@rollup/rollup-darwin-x64@4.24.0':
1185 | optional: true
1186 |
1187 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
1188 | optional: true
1189 |
1190 | '@rollup/rollup-linux-arm-musleabihf@4.24.0':
1191 | optional: true
1192 |
1193 | '@rollup/rollup-linux-arm64-gnu@4.24.0':
1194 | optional: true
1195 |
1196 | '@rollup/rollup-linux-arm64-musl@4.24.0':
1197 | optional: true
1198 |
1199 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
1200 | optional: true
1201 |
1202 | '@rollup/rollup-linux-riscv64-gnu@4.24.0':
1203 | optional: true
1204 |
1205 | '@rollup/rollup-linux-s390x-gnu@4.24.0':
1206 | optional: true
1207 |
1208 | '@rollup/rollup-linux-x64-gnu@4.24.0':
1209 | optional: true
1210 |
1211 | '@rollup/rollup-linux-x64-musl@4.24.0':
1212 | optional: true
1213 |
1214 | '@rollup/rollup-win32-arm64-msvc@4.24.0':
1215 | optional: true
1216 |
1217 | '@rollup/rollup-win32-ia32-msvc@4.24.0':
1218 | optional: true
1219 |
1220 | '@rollup/rollup-win32-x64-msvc@4.24.0':
1221 | optional: true
1222 |
1223 | '@shikijs/core@1.22.0':
1224 | dependencies:
1225 | '@shikijs/engine-javascript': 1.22.0
1226 | '@shikijs/engine-oniguruma': 1.22.0
1227 | '@shikijs/types': 1.22.0
1228 | '@shikijs/vscode-textmate': 9.3.0
1229 | '@types/hast': 3.0.4
1230 | hast-util-to-html: 9.0.3
1231 |
1232 | '@shikijs/engine-javascript@1.22.0':
1233 | dependencies:
1234 | '@shikijs/types': 1.22.0
1235 | '@shikijs/vscode-textmate': 9.3.0
1236 | oniguruma-to-js: 0.4.3
1237 |
1238 | '@shikijs/engine-oniguruma@1.22.0':
1239 | dependencies:
1240 | '@shikijs/types': 1.22.0
1241 | '@shikijs/vscode-textmate': 9.3.0
1242 |
1243 | '@shikijs/types@1.22.0':
1244 | dependencies:
1245 | '@shikijs/vscode-textmate': 9.3.0
1246 | '@types/hast': 3.0.4
1247 |
1248 | '@shikijs/vscode-textmate@9.3.0': {}
1249 |
1250 | '@sveltejs/adapter-static@3.0.5(@sveltejs/kit@2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))':
1251 | dependencies:
1252 | '@sveltejs/kit': 2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
1253 |
1254 | '@sveltejs/kit@2.7.2(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))':
1255 | dependencies:
1256 | '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
1257 | '@types/cookie': 0.6.0
1258 | cookie: 0.6.0
1259 | devalue: 5.1.1
1260 | esm-env: 1.0.0
1261 | import-meta-resolve: 4.1.0
1262 | kleur: 4.1.5
1263 | magic-string: 0.30.12
1264 | mrmime: 2.0.0
1265 | sade: 1.8.1
1266 | set-cookie-parser: 2.7.0
1267 | sirv: 3.0.0
1268 | svelte: 5.0.2
1269 | tiny-glob: 0.2.9
1270 | vite: 5.4.9(sass@1.80.3)
1271 |
1272 | '@sveltejs/package@2.3.5(svelte@5.0.2)(typescript@5.6.3)':
1273 | dependencies:
1274 | chokidar: 4.0.1
1275 | kleur: 4.1.5
1276 | sade: 1.8.1
1277 | semver: 7.6.3
1278 | svelte: 5.0.2
1279 | svelte2tsx: 0.7.22(svelte@5.0.2)(typescript@5.6.3)
1280 | transitivePeerDependencies:
1281 | - typescript
1282 |
1283 | '@sveltejs/vite-plugin-svelte-inspector@3.0.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))':
1284 | dependencies:
1285 | '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
1286 | debug: 4.3.7
1287 | svelte: 5.0.2
1288 | vite: 5.4.9(sass@1.80.3)
1289 | transitivePeerDependencies:
1290 | - supports-color
1291 |
1292 | '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))':
1293 | dependencies:
1294 | '@sveltejs/vite-plugin-svelte-inspector': 3.0.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.2)(vite@5.4.9(sass@1.80.3)))(svelte@5.0.2)(vite@5.4.9(sass@1.80.3))
1295 | debug: 4.3.7
1296 | deepmerge: 4.3.1
1297 | kleur: 4.1.5
1298 | magic-string: 0.30.12
1299 | svelte: 5.0.2
1300 | vite: 5.4.9(sass@1.80.3)
1301 | vitefu: 1.0.3(vite@5.4.9(sass@1.80.3))
1302 | transitivePeerDependencies:
1303 | - supports-color
1304 |
1305 | '@types/cookie@0.6.0': {}
1306 |
1307 | '@types/estree@1.0.6': {}
1308 |
1309 | '@types/hast@3.0.4':
1310 | dependencies:
1311 | '@types/unist': 3.0.3
1312 |
1313 | '@types/mdast@4.0.4':
1314 | dependencies:
1315 | '@types/unist': 3.0.3
1316 |
1317 | '@types/unist@3.0.3': {}
1318 |
1319 | '@ungap/structured-clone@1.2.0': {}
1320 |
1321 | '@vitest/expect@2.1.3':
1322 | dependencies:
1323 | '@vitest/spy': 2.1.3
1324 | '@vitest/utils': 2.1.3
1325 | chai: 5.1.1
1326 | tinyrainbow: 1.2.0
1327 |
1328 | '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.9(sass@1.80.3))':
1329 | dependencies:
1330 | '@vitest/spy': 2.1.3
1331 | estree-walker: 3.0.3
1332 | magic-string: 0.30.12
1333 | optionalDependencies:
1334 | vite: 5.4.9(sass@1.80.3)
1335 |
1336 | '@vitest/pretty-format@2.1.3':
1337 | dependencies:
1338 | tinyrainbow: 1.2.0
1339 |
1340 | '@vitest/runner@2.1.3':
1341 | dependencies:
1342 | '@vitest/utils': 2.1.3
1343 | pathe: 1.1.2
1344 |
1345 | '@vitest/snapshot@2.1.3':
1346 | dependencies:
1347 | '@vitest/pretty-format': 2.1.3
1348 | magic-string: 0.30.12
1349 | pathe: 1.1.2
1350 |
1351 | '@vitest/spy@2.1.3':
1352 | dependencies:
1353 | tinyspy: 3.0.2
1354 |
1355 | '@vitest/utils@2.1.3':
1356 | dependencies:
1357 | '@vitest/pretty-format': 2.1.3
1358 | loupe: 3.1.2
1359 | tinyrainbow: 1.2.0
1360 |
1361 | acorn-typescript@1.4.13(acorn@8.13.0):
1362 | dependencies:
1363 | acorn: 8.13.0
1364 |
1365 | acorn@8.13.0: {}
1366 |
1367 | aria-query@5.3.2: {}
1368 |
1369 | assertion-error@2.0.1: {}
1370 |
1371 | axobject-query@4.1.0: {}
1372 |
1373 | balanced-match@1.0.2: {}
1374 |
1375 | brace-expansion@2.0.1:
1376 | dependencies:
1377 | balanced-match: 1.0.2
1378 |
1379 | braces@3.0.3:
1380 | dependencies:
1381 | fill-range: 7.1.1
1382 |
1383 | cac@6.7.14: {}
1384 |
1385 | ccount@2.0.1: {}
1386 |
1387 | chai@5.1.1:
1388 | dependencies:
1389 | assertion-error: 2.0.1
1390 | check-error: 2.1.1
1391 | deep-eql: 5.0.2
1392 | loupe: 3.1.2
1393 | pathval: 2.0.0
1394 |
1395 | character-entities-html4@2.1.0: {}
1396 |
1397 | character-entities-legacy@3.0.0: {}
1398 |
1399 | check-error@2.1.1: {}
1400 |
1401 | chokidar@4.0.1:
1402 | dependencies:
1403 | readdirp: 4.0.2
1404 |
1405 | comma-separated-tokens@2.0.3: {}
1406 |
1407 | cookie@0.6.0: {}
1408 |
1409 | debug@4.3.7:
1410 | dependencies:
1411 | ms: 2.1.3
1412 |
1413 | dedent-js@1.0.1: {}
1414 |
1415 | dedent@1.5.3: {}
1416 |
1417 | deep-eql@5.0.2: {}
1418 |
1419 | deepmerge@4.3.1: {}
1420 |
1421 | dequal@2.0.3: {}
1422 |
1423 | detect-libc@1.0.3: {}
1424 |
1425 | devalue@5.1.1: {}
1426 |
1427 | devlop@1.1.0:
1428 | dependencies:
1429 | dequal: 2.0.3
1430 |
1431 | entities@4.5.0: {}
1432 |
1433 | esbuild@0.21.5:
1434 | optionalDependencies:
1435 | '@esbuild/aix-ppc64': 0.21.5
1436 | '@esbuild/android-arm': 0.21.5
1437 | '@esbuild/android-arm64': 0.21.5
1438 | '@esbuild/android-x64': 0.21.5
1439 | '@esbuild/darwin-arm64': 0.21.5
1440 | '@esbuild/darwin-x64': 0.21.5
1441 | '@esbuild/freebsd-arm64': 0.21.5
1442 | '@esbuild/freebsd-x64': 0.21.5
1443 | '@esbuild/linux-arm': 0.21.5
1444 | '@esbuild/linux-arm64': 0.21.5
1445 | '@esbuild/linux-ia32': 0.21.5
1446 | '@esbuild/linux-loong64': 0.21.5
1447 | '@esbuild/linux-mips64el': 0.21.5
1448 | '@esbuild/linux-ppc64': 0.21.5
1449 | '@esbuild/linux-riscv64': 0.21.5
1450 | '@esbuild/linux-s390x': 0.21.5
1451 | '@esbuild/linux-x64': 0.21.5
1452 | '@esbuild/netbsd-x64': 0.21.5
1453 | '@esbuild/openbsd-x64': 0.21.5
1454 | '@esbuild/sunos-x64': 0.21.5
1455 | '@esbuild/win32-arm64': 0.21.5
1456 | '@esbuild/win32-ia32': 0.21.5
1457 | '@esbuild/win32-x64': 0.21.5
1458 |
1459 | esm-env@1.0.0: {}
1460 |
1461 | esrap@1.2.2:
1462 | dependencies:
1463 | '@jridgewell/sourcemap-codec': 1.5.0
1464 | '@types/estree': 1.0.6
1465 |
1466 | estree-walker@3.0.3:
1467 | dependencies:
1468 | '@types/estree': 1.0.6
1469 |
1470 | fill-range@7.1.1:
1471 | dependencies:
1472 | to-regex-range: 5.0.1
1473 |
1474 | fs.realpath@1.0.0: {}
1475 |
1476 | fsevents@2.3.3:
1477 | optional: true
1478 |
1479 | ghostsui@2.0.0-beta.1: {}
1480 |
1481 | glob@8.1.0:
1482 | dependencies:
1483 | fs.realpath: 1.0.0
1484 | inflight: 1.0.6
1485 | inherits: 2.0.4
1486 | minimatch: 5.1.6
1487 | once: 1.4.0
1488 |
1489 | globalyzer@0.1.0: {}
1490 |
1491 | globrex@0.1.2: {}
1492 |
1493 | happy-dom@15.7.4:
1494 | dependencies:
1495 | entities: 4.5.0
1496 | webidl-conversions: 7.0.0
1497 | whatwg-mimetype: 3.0.0
1498 |
1499 | hast-util-to-html@9.0.3:
1500 | dependencies:
1501 | '@types/hast': 3.0.4
1502 | '@types/unist': 3.0.3
1503 | ccount: 2.0.1
1504 | comma-separated-tokens: 2.0.3
1505 | hast-util-whitespace: 3.0.0
1506 | html-void-elements: 3.0.0
1507 | mdast-util-to-hast: 13.2.0
1508 | property-information: 6.5.0
1509 | space-separated-tokens: 2.0.2
1510 | stringify-entities: 4.0.4
1511 | zwitch: 2.0.4
1512 |
1513 | hast-util-whitespace@3.0.0:
1514 | dependencies:
1515 | '@types/hast': 3.0.4
1516 |
1517 | html-void-elements@3.0.0: {}
1518 |
1519 | ignore-walk@5.0.1:
1520 | dependencies:
1521 | minimatch: 5.1.6
1522 |
1523 | immutable@4.3.7: {}
1524 |
1525 | import-meta-resolve@4.1.0: {}
1526 |
1527 | inflight@1.0.6:
1528 | dependencies:
1529 | once: 1.4.0
1530 | wrappy: 1.0.2
1531 |
1532 | inherits@2.0.4: {}
1533 |
1534 | is-extglob@2.1.1: {}
1535 |
1536 | is-glob@4.0.3:
1537 | dependencies:
1538 | is-extglob: 2.1.1
1539 |
1540 | is-number@7.0.0: {}
1541 |
1542 | is-reference@3.0.2:
1543 | dependencies:
1544 | '@types/estree': 1.0.6
1545 |
1546 | kleur@4.1.5: {}
1547 |
1548 | locate-character@3.0.0: {}
1549 |
1550 | loupe@3.1.2: {}
1551 |
1552 | lower-case@2.0.2:
1553 | dependencies:
1554 | tslib: 2.8.0
1555 |
1556 | magic-string@0.30.12:
1557 | dependencies:
1558 | '@jridgewell/sourcemap-codec': 1.5.0
1559 |
1560 | mdast-util-to-hast@13.2.0:
1561 | dependencies:
1562 | '@types/hast': 3.0.4
1563 | '@types/mdast': 4.0.4
1564 | '@ungap/structured-clone': 1.2.0
1565 | devlop: 1.1.0
1566 | micromark-util-sanitize-uri: 2.0.0
1567 | trim-lines: 3.0.1
1568 | unist-util-position: 5.0.0
1569 | unist-util-visit: 5.0.0
1570 | vfile: 6.0.3
1571 |
1572 | micromark-util-character@2.1.0:
1573 | dependencies:
1574 | micromark-util-symbol: 2.0.0
1575 | micromark-util-types: 2.0.0
1576 |
1577 | micromark-util-encode@2.0.0: {}
1578 |
1579 | micromark-util-sanitize-uri@2.0.0:
1580 | dependencies:
1581 | micromark-util-character: 2.1.0
1582 | micromark-util-encode: 2.0.0
1583 | micromark-util-symbol: 2.0.0
1584 |
1585 | micromark-util-symbol@2.0.0: {}
1586 |
1587 | micromark-util-types@2.0.0: {}
1588 |
1589 | micromatch@4.0.8:
1590 | dependencies:
1591 | braces: 3.0.3
1592 | picomatch: 2.3.1
1593 |
1594 | minimatch@5.1.6:
1595 | dependencies:
1596 | brace-expansion: 2.0.1
1597 |
1598 | mri@1.2.0: {}
1599 |
1600 | mrmime@2.0.0: {}
1601 |
1602 | ms@2.1.3: {}
1603 |
1604 | nanoid@3.3.7: {}
1605 |
1606 | no-case@3.0.4:
1607 | dependencies:
1608 | lower-case: 2.0.2
1609 | tslib: 2.8.0
1610 |
1611 | node-addon-api@7.1.1: {}
1612 |
1613 | npm-bundled@2.0.1:
1614 | dependencies:
1615 | npm-normalize-package-bin: 2.0.0
1616 |
1617 | npm-normalize-package-bin@2.0.0: {}
1618 |
1619 | npm-packlist@5.1.3:
1620 | dependencies:
1621 | glob: 8.1.0
1622 | ignore-walk: 5.0.1
1623 | npm-bundled: 2.0.1
1624 | npm-normalize-package-bin: 2.0.0
1625 |
1626 | once@1.4.0:
1627 | dependencies:
1628 | wrappy: 1.0.2
1629 |
1630 | oniguruma-to-js@0.4.3:
1631 | dependencies:
1632 | regex: 4.3.3
1633 |
1634 | pascal-case@3.1.2:
1635 | dependencies:
1636 | no-case: 3.0.4
1637 | tslib: 2.8.0
1638 |
1639 | pathe@1.1.2: {}
1640 |
1641 | pathval@2.0.0: {}
1642 |
1643 | picocolors@1.1.1: {}
1644 |
1645 | picomatch@2.3.1: {}
1646 |
1647 | postcss@8.4.47:
1648 | dependencies:
1649 | nanoid: 3.3.7
1650 | picocolors: 1.1.1
1651 | source-map-js: 1.2.1
1652 |
1653 | prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.0.2):
1654 | dependencies:
1655 | prettier: 3.3.3
1656 | svelte: 5.0.2
1657 |
1658 | prettier@3.3.3: {}
1659 |
1660 | property-information@6.5.0: {}
1661 |
1662 | publint@0.2.11:
1663 | dependencies:
1664 | npm-packlist: 5.1.3
1665 | picocolors: 1.1.1
1666 | sade: 1.8.1
1667 |
1668 | readdirp@4.0.2: {}
1669 |
1670 | regex@4.3.3: {}
1671 |
1672 | rollup@4.24.0:
1673 | dependencies:
1674 | '@types/estree': 1.0.6
1675 | optionalDependencies:
1676 | '@rollup/rollup-android-arm-eabi': 4.24.0
1677 | '@rollup/rollup-android-arm64': 4.24.0
1678 | '@rollup/rollup-darwin-arm64': 4.24.0
1679 | '@rollup/rollup-darwin-x64': 4.24.0
1680 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.0
1681 | '@rollup/rollup-linux-arm-musleabihf': 4.24.0
1682 | '@rollup/rollup-linux-arm64-gnu': 4.24.0
1683 | '@rollup/rollup-linux-arm64-musl': 4.24.0
1684 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0
1685 | '@rollup/rollup-linux-riscv64-gnu': 4.24.0
1686 | '@rollup/rollup-linux-s390x-gnu': 4.24.0
1687 | '@rollup/rollup-linux-x64-gnu': 4.24.0
1688 | '@rollup/rollup-linux-x64-musl': 4.24.0
1689 | '@rollup/rollup-win32-arm64-msvc': 4.24.0
1690 | '@rollup/rollup-win32-ia32-msvc': 4.24.0
1691 | '@rollup/rollup-win32-x64-msvc': 4.24.0
1692 | fsevents: 2.3.3
1693 |
1694 | runed@0.15.3(svelte@5.0.2):
1695 | dependencies:
1696 | esm-env: 1.0.0
1697 | svelte: 5.0.2
1698 |
1699 | sade@1.8.1:
1700 | dependencies:
1701 | mri: 1.2.0
1702 |
1703 | sass@1.80.3:
1704 | dependencies:
1705 | '@parcel/watcher': 2.4.1
1706 | chokidar: 4.0.1
1707 | immutable: 4.3.7
1708 | source-map-js: 1.2.1
1709 |
1710 | semver@7.6.3: {}
1711 |
1712 | set-cookie-parser@2.7.0: {}
1713 |
1714 | shiki@1.22.0:
1715 | dependencies:
1716 | '@shikijs/core': 1.22.0
1717 | '@shikijs/engine-javascript': 1.22.0
1718 | '@shikijs/engine-oniguruma': 1.22.0
1719 | '@shikijs/types': 1.22.0
1720 | '@shikijs/vscode-textmate': 9.3.0
1721 | '@types/hast': 3.0.4
1722 |
1723 | siginfo@2.0.0: {}
1724 |
1725 | sirv@3.0.0:
1726 | dependencies:
1727 | '@polka/url': 1.0.0-next.28
1728 | mrmime: 2.0.0
1729 | totalist: 3.0.1
1730 |
1731 | source-map-js@1.2.1: {}
1732 |
1733 | space-separated-tokens@2.0.2: {}
1734 |
1735 | stackback@0.0.2: {}
1736 |
1737 | std-env@3.7.0: {}
1738 |
1739 | stringify-entities@4.0.4:
1740 | dependencies:
1741 | character-entities-html4: 2.1.0
1742 | character-entities-legacy: 3.0.0
1743 |
1744 | svelte2tsx@0.7.22(svelte@5.0.2)(typescript@5.6.3):
1745 | dependencies:
1746 | dedent-js: 1.0.1
1747 | pascal-case: 3.1.2
1748 | svelte: 5.0.2
1749 | typescript: 5.6.3
1750 |
1751 | svelte@5.0.2:
1752 | dependencies:
1753 | '@ampproject/remapping': 2.3.0
1754 | '@jridgewell/sourcemap-codec': 1.5.0
1755 | '@types/estree': 1.0.6
1756 | acorn: 8.13.0
1757 | acorn-typescript: 1.4.13(acorn@8.13.0)
1758 | aria-query: 5.3.2
1759 | axobject-query: 4.1.0
1760 | esm-env: 1.0.0
1761 | esrap: 1.2.2
1762 | is-reference: 3.0.2
1763 | locate-character: 3.0.0
1764 | magic-string: 0.30.12
1765 | zimmerframe: 1.1.2
1766 |
1767 | tiny-glob@0.2.9:
1768 | dependencies:
1769 | globalyzer: 0.1.0
1770 | globrex: 0.1.2
1771 |
1772 | tinybench@2.9.0: {}
1773 |
1774 | tinyexec@0.3.1: {}
1775 |
1776 | tinypool@1.0.1: {}
1777 |
1778 | tinyrainbow@1.2.0: {}
1779 |
1780 | tinyspy@3.0.2: {}
1781 |
1782 | to-regex-range@5.0.1:
1783 | dependencies:
1784 | is-number: 7.0.0
1785 |
1786 | totalist@3.0.1: {}
1787 |
1788 | trim-lines@3.0.1: {}
1789 |
1790 | tslib@2.8.0: {}
1791 |
1792 | typescript@5.6.3: {}
1793 |
1794 | unist-util-is@6.0.0:
1795 | dependencies:
1796 | '@types/unist': 3.0.3
1797 |
1798 | unist-util-position@5.0.0:
1799 | dependencies:
1800 | '@types/unist': 3.0.3
1801 |
1802 | unist-util-stringify-position@4.0.0:
1803 | dependencies:
1804 | '@types/unist': 3.0.3
1805 |
1806 | unist-util-visit-parents@6.0.1:
1807 | dependencies:
1808 | '@types/unist': 3.0.3
1809 | unist-util-is: 6.0.0
1810 |
1811 | unist-util-visit@5.0.0:
1812 | dependencies:
1813 | '@types/unist': 3.0.3
1814 | unist-util-is: 6.0.0
1815 | unist-util-visit-parents: 6.0.1
1816 |
1817 | vfile-message@4.0.2:
1818 | dependencies:
1819 | '@types/unist': 3.0.3
1820 | unist-util-stringify-position: 4.0.0
1821 |
1822 | vfile@6.0.3:
1823 | dependencies:
1824 | '@types/unist': 3.0.3
1825 | vfile-message: 4.0.2
1826 |
1827 | vite-node@2.1.3(sass@1.80.3):
1828 | dependencies:
1829 | cac: 6.7.14
1830 | debug: 4.3.7
1831 | pathe: 1.1.2
1832 | vite: 5.4.9(sass@1.80.3)
1833 | transitivePeerDependencies:
1834 | - '@types/node'
1835 | - less
1836 | - lightningcss
1837 | - sass
1838 | - sass-embedded
1839 | - stylus
1840 | - sugarss
1841 | - supports-color
1842 | - terser
1843 |
1844 | vite@5.4.9(sass@1.80.3):
1845 | dependencies:
1846 | esbuild: 0.21.5
1847 | postcss: 8.4.47
1848 | rollup: 4.24.0
1849 | optionalDependencies:
1850 | fsevents: 2.3.3
1851 | sass: 1.80.3
1852 |
1853 | vitefu@1.0.3(vite@5.4.9(sass@1.80.3)):
1854 | optionalDependencies:
1855 | vite: 5.4.9(sass@1.80.3)
1856 |
1857 | vitest@2.1.3(happy-dom@15.7.4)(sass@1.80.3):
1858 | dependencies:
1859 | '@vitest/expect': 2.1.3
1860 | '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.9(sass@1.80.3))
1861 | '@vitest/pretty-format': 2.1.3
1862 | '@vitest/runner': 2.1.3
1863 | '@vitest/snapshot': 2.1.3
1864 | '@vitest/spy': 2.1.3
1865 | '@vitest/utils': 2.1.3
1866 | chai: 5.1.1
1867 | debug: 4.3.7
1868 | magic-string: 0.30.12
1869 | pathe: 1.1.2
1870 | std-env: 3.7.0
1871 | tinybench: 2.9.0
1872 | tinyexec: 0.3.1
1873 | tinypool: 1.0.1
1874 | tinyrainbow: 1.2.0
1875 | vite: 5.4.9(sass@1.80.3)
1876 | vite-node: 2.1.3(sass@1.80.3)
1877 | why-is-node-running: 2.3.0
1878 | optionalDependencies:
1879 | happy-dom: 15.7.4
1880 | transitivePeerDependencies:
1881 | - less
1882 | - lightningcss
1883 | - msw
1884 | - sass
1885 | - sass-embedded
1886 | - stylus
1887 | - sugarss
1888 | - supports-color
1889 | - terser
1890 |
1891 | webidl-conversions@7.0.0: {}
1892 |
1893 | whatwg-mimetype@3.0.0: {}
1894 |
1895 | why-is-node-running@2.3.0:
1896 | dependencies:
1897 | siginfo: 2.0.0
1898 | stackback: 0.0.2
1899 |
1900 | wrappy@1.0.2: {}
1901 |
1902 | zimmerframe@1.1.2: {}
1903 |
1904 | zwitch@2.0.4: {}
1905 |
--------------------------------------------------------------------------------