├── .changeset
├── README.md
└── config.json
├── .env.example
├── .github
├── dependabot.yml
└── workflows
│ ├── dependabot.yml
│ └── release.yml
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── eslint.config.js
├── package.json
├── pnpm-lock.yaml
├── src
├── app.d.ts
├── app.html
├── lib
│ ├── Cursors.svelte
│ ├── InstantSvelteAbstractDatabase.svelte.ts
│ ├── InstantSvelteWebDatabase.ts
│ ├── index.ts
│ ├── init.ts
│ ├── useQuery.svelte.ts
│ ├── useTimeout.svelte.ts
│ ├── utils.ts
│ └── version.ts
├── routes
│ ├── +page.svelte
│ ├── auth
│ │ └── +page.svelte
│ ├── cursors
│ │ └── +page.svelte
│ ├── todos
│ │ └── +page.svelte
│ └── typing-indicator
│ │ └── +page.svelte
└── vite-env.d.ts
├── static
└── favicon.png
├── svelte.config.js
├── tsconfig.json
├── vite.config.ts
└── vite.version.ts
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@3.0.3/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "fixed": [],
6 | "linked": [],
7 | "access": "public",
8 | "baseBranch": "main",
9 | "updateInternalDependencies": "patch",
10 | "ignore": []
11 | }
12 |
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | PUBLIC_INSTANT_APP_ID=
2 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: npm
9 | directory: /
10 | schedule:
11 | interval: daily
12 | allow:
13 | - dependency-name: '@instantdb/core'
14 | versioning-strategy: increase
15 |
--------------------------------------------------------------------------------
/.github/workflows/dependabot.yml:
--------------------------------------------------------------------------------
1 | name: Add changeset to Dependabot updates
2 |
3 | on:
4 | pull_request_target:
5 | types: [opened, synchronize, labeled]
6 |
7 | jobs:
8 | dependabot:
9 | name: Update Dependabot PR
10 | runs-on: ubuntu-latest
11 | if: contains(github.event.pull_request.labels.*.name, 'dependencies')
12 |
13 | steps:
14 | - name: Checkout
15 | uses: actions/checkout@v4
16 | with:
17 | fetch-depth: 0
18 | ref: ${{ github.event.pull_request.head.ref }}
19 | - name: Update PR
20 | uses: StafflinePeoplePlus/dependabot-changesets@v0.1.5
21 | with:
22 | owner: wobsoriano
23 | repo: svelte-instantdb
24 | pr-number: ${{ github.event.pull_request.number }}
25 | token: ${{ secrets.GITHUB_TOKEN }}
26 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | concurrency: ${{ github.workflow }}-${{ github.ref }}
9 |
10 | jobs:
11 | release:
12 | permissions:
13 | contents: write # to create release (changesets/action)
14 | pull-requests: write # to create pull request (changesets/action)
15 | name: Release
16 | runs-on: ubuntu-latest
17 | steps:
18 | - name: Checkout Repo
19 | uses: actions/checkout@v4
20 | with:
21 | # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
22 | fetch-depth: 0
23 | - uses: pnpm/action-setup@v4
24 | with:
25 | version: 10.6.3
26 |
27 | - name: Setup Node.js
28 | uses: actions/setup-node@v4
29 | with:
30 | node-version: 22.x
31 | cache: pnpm
32 |
33 | - name: Install dependencies
34 | run: pnpm install --frozen-lockfile
35 |
36 | - name: Create Release Pull Request or Publish to npm
37 | id: changesets
38 | uses: changesets/action@v1
39 | with:
40 | publish: pnpm release
41 | env:
42 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
44 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
3 | # Output
4 | .output
5 | .vercel
6 | /.svelte-kit
7 | /build
8 | /dist
9 |
10 | # OS
11 | .DS_Store
12 | Thumbs.db
13 |
14 | # Env
15 | .env
16 | .env.*
17 | !.env.example
18 | !.env.test
19 |
20 | # Vite
21 | vite.config.js.timestamp-*
22 | vite.config.ts.timestamp-*
23 |
24 | .cursorrules
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # Package Managers
2 | package-lock.json
3 | pnpm-lock.yaml
4 | yarn.lock
5 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte"],
7 | "overrides": [
8 | {
9 | "files": "*.svelte",
10 | "options": {
11 | "bracketSameLine": false,
12 | "parser": "svelte"
13 | }
14 | },
15 | {
16 | "files": ["README.md", "**/package.json"],
17 | "options": {
18 | "useTabs": false,
19 | "tabWidth": 2
20 | }
21 | }
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # svelte-instantdb
2 |
3 | ## 0.4.23
4 |
5 | ### Patch Changes
6 |
7 | - b1bc13d: Bump @instantdb/core from 0.19.10 to 0.19.14
8 |
9 | ## 0.4.22
10 |
11 | ### Patch Changes
12 |
13 | - 6995a2f: Bump @instantdb/core from 0.19.7 to 0.19.10
14 |
15 | ## 0.4.21
16 |
17 | ### Patch Changes
18 |
19 | - c37aea9: Bump @instantdb/core from 0.19.6 to 0.19.7
20 |
21 | ## 0.4.20
22 |
23 | ### Patch Changes
24 |
25 | - 22daffa: Bump @instantdb/core from 0.18.9 to 0.19.6
26 |
27 | ## 0.4.19
28 |
29 | ### Patch Changes
30 |
31 | - 3dae89e: Bump @instantdb/core from 0.18.5 to 0.18.9
32 |
33 | ## 0.4.18
34 |
35 | ### Patch Changes
36 |
37 | - 1325fea: Bump @instantdb/core from 0.18.2 to 0.18.5
38 |
39 | ## 0.4.17
40 |
41 | ### Patch Changes
42 |
43 | - 5c06245: Bump @instantdb/core from 0.17.33 to 0.18.2
44 | - 3a1fedf: Support params in queries and transactions
45 |
46 | Use in queries:
47 |
48 | ```ts
49 | db.useQuery({ docs: {} }, { secret: secret });
50 | ```
51 |
52 | and transactions:
53 |
54 | ```ts
55 | db.transact(db.tx.docs[id].ruleParams({ secret: secret }).update({ title: 'eat' }));
56 | ```
57 |
58 | ## 0.4.16
59 |
60 | ### Patch Changes
61 |
62 | - ab5b089: Bump @instantdb/core from 0.17.32 to 0.17.33
63 |
64 | ## 0.4.15
65 |
66 | ### Patch Changes
67 |
68 | - a5d2f15: Bump @instantdb/core from 0.17.31 to 0.17.32
69 |
70 | ## 0.4.14
71 |
72 | ### Patch Changes
73 |
74 | - 6477b22: Bump @instantdb/core from 0.17.29 to 0.17.31
75 | - 9791baa: Add `useLocalId()` helper, a wrapper around `getLocalId` promise that returns a reactive state. Initially returns `null` and then loads the `localId`.
76 |
77 | ## 0.4.13
78 |
79 | ### Patch Changes
80 |
81 | - 1456c6d: Bump @instantdb/core from 0.17.27 to 0.17.29
82 |
83 | ## 0.4.12
84 |
85 | ### Patch Changes
86 |
87 | - 8ab50b7: Bump @instantdb/core from 0.17.24 to 0.17.27
88 |
89 | ## 0.4.11
90 |
91 | ### Patch Changes
92 |
93 | - 021bba5: Bump @instantdb/core from 0.17.22 to 0.17.24
94 |
95 | ## 0.4.10
96 |
97 | ### Patch Changes
98 |
99 | - 0c58915: Bump @instantdb/core from 0.17.21 to 0.17.22
100 |
101 | ## 0.4.9
102 |
103 | ### Patch Changes
104 |
105 | - 3e9a1a1: Bump @instantdb/core from 0.17.19 to 0.17.21
106 |
107 | ## 0.4.8
108 |
109 | ### Patch Changes
110 |
111 | - 95c99f9: Bump @instantdb/core from 0.17.15 to 0.17.19
112 |
113 | ## 0.4.7
114 |
115 | ### Patch Changes
116 |
117 | - 6110d87: Bump @instantdb/core from 0.17.12 to 0.17.15
118 |
119 | ## 0.4.6
120 |
121 | ### Patch Changes
122 |
123 | - 1ffb133: Bump @instantdb/core from 0.17.10 to 0.17.12
124 |
125 | ## 0.4.5
126 |
127 | ### Patch Changes
128 |
129 | - d3731ad: Bump @instantdb/core from 0.17.6 to 0.17.10
130 |
131 | ## 0.4.4
132 |
133 | ### Patch Changes
134 |
135 | - 372eb46: Bump @instantdb/core from 0.17.5 to 0.17.6
136 |
137 | ## 0.4.3
138 |
139 | ### Patch Changes
140 |
141 | - e6a58c6: Bump @instantdb/core from 0.17.4 to 0.17.5
142 |
143 | ## 0.4.2
144 |
145 | ### Patch Changes
146 |
147 | - 8dfafb4: Bump @instantdb/core from 0.17.3 to 0.17.4
148 |
149 | ## 0.4.1
150 |
151 | ### Patch Changes
152 |
153 | - 591f8e4: Bump @instantdb/core from 0.17.2 to 0.17.3
154 |
155 | ## 0.4.0
156 |
157 | ### Minor Changes
158 |
159 | - 1a8f094: Implement typesafe init and remove stores export
160 |
161 | ### Patch Changes
162 |
163 | - 97944c3: Make sure version is autogenerated
164 |
165 | ## 0.3.4
166 |
167 | ### Patch Changes
168 |
169 | - 4ab22e8: Bump @instantdb/core from 0.15.5 to 0.16.3
170 |
171 | ## 0.3.3
172 |
173 | ### Patch Changes
174 |
175 | - 9b714a8: Bump @instantdb/core from 0.14.30 to 0.15.5
176 |
177 | ## 0.3.2
178 |
179 | ### Patch Changes
180 |
181 | - 1dc021f: Bump @instantdb/core from 0.14.29 to 0.14.30
182 |
183 | ## 0.3.1
184 |
185 | ### Patch Changes
186 |
187 | - 011500b: Bump @instantdb/core from 0.14.27 to 0.14.29
188 |
189 | ## 0.3.0
190 |
191 | ### Minor Changes
192 |
193 | - 7fab8f5: Fix state returned by functions by introducing a `current` getter.
194 |
195 | ```svelte
196 |
209 |
210 | {#if query.current.isLoading}
211 |
Fetching data...
212 | {:else if query.current.error}
213 | Error fetching data: {query.current.error.message}
214 | {:else}
215 |
216 | {/if}
217 | ```
218 |
219 | ## 0.2.4
220 |
221 | ### Patch Changes
222 |
223 | - dd28857: Bump @instantdb/core from 0.14.26 to 0.14.27
224 |
225 | ## 0.2.3
226 |
227 | ### Patch Changes
228 |
229 | - 18ecc68: Bump @instantdb/core from 0.14.25 to 0.14.26
230 |
231 | ## 0.2.2
232 |
233 | ### Patch Changes
234 |
235 | - 3ee57cb: Bump @instantdb/core from 0.14.23 to 0.14.25
236 |
237 | ## 0.2.1
238 |
239 | ### Patch Changes
240 |
241 | - 22c9fca: Bump @instantdb/core from 0.14.22 to 0.14.23
242 |
243 | ## 0.2.0
244 |
245 | ### Minor Changes
246 |
247 | - 32eb266: First class Svelte 5 support
248 |
249 | ## 0.1.8
250 |
251 | ### Patch Changes
252 |
253 | - 374156e: Bump @instantdb/core from 0.14.19 to 0.14.22
254 |
255 | ## 0.1.7
256 |
257 | ### Patch Changes
258 |
259 | - b4c1569: Bump @instantdb/core from 0.14.18 to 0.14.19
260 |
261 | ## 0.1.6
262 |
263 | ### Patch Changes
264 |
265 | - 0eb6145: Do not subscribe to query when query is null
266 | - cf91ba5: Use new generics attribute for Cursors component
267 |
268 | ## 0.1.5
269 |
270 | ### Patch Changes
271 |
272 | - bbc8c31: Bump @instantdb/core from 0.14.13 to 0.14.18
273 |
274 | ## 0.1.4
275 |
276 | ### Patch Changes
277 |
278 | - ce7d74b: Bump @instantdb/core from 0.14.12 to 0.14.13
279 |
280 | ## 0.1.3
281 |
282 | ### Patch Changes
283 |
284 | - ff89838: Export more helper types
285 | - 53bbf17: Add a new `queryOnce` method which is `useQuery` but returns a promise. Ported from this [PR](https://github.com/instantdb/instant/pull/285).
286 | - 3e6bfcd: Fix generated types
287 |
288 | ## 0.1.2
289 |
290 | ### Patch Changes
291 |
292 | - dffa0df: Bump `@instantdb/core` to 0.14.0
293 |
294 | ## 0.1.1
295 |
296 | ### Patch Changes
297 |
298 | - 13d5721: Make db functions accept reactive values
299 |
300 | ## 0.1.0
301 |
302 | ### Minor Changes
303 |
304 | - 65cb845: Add Svelte 5 rune support
305 |
306 | ## 0.0.11
307 |
308 | ### Patch Changes
309 |
310 | - 6493824: Bump `@instantdb/core` to `0.13.2`
311 |
312 | ## 0.0.10
313 |
314 | ### Patch Changes
315 |
316 | - d75830a: Update package.json links
317 |
318 | ## 0.0.9
319 |
320 | ### Patch Changes
321 |
322 | - 7df76c2: Fix default cursor color
323 |
324 | ## 0.0.8
325 |
326 | ### Patch Changes
327 |
328 | - a3db05e: Fix rooms bug where we were sending events before receiving a join room
329 |
330 | ## 0.0.7
331 |
332 | ### Patch Changes
333 |
334 | - 9eabe84: Better typing indicator support
335 |
336 | ## 0.0.6
337 |
338 | ### Patch Changes
339 |
340 | - a3a8f31: Add Cursors support
341 |
342 | ## 0.0.5
343 |
344 | ### Patch Changes
345 |
346 | - ccac0a9: Add svelte 5 support
347 |
348 | ## 0.0.4
349 |
350 | ### Patch Changes
351 |
352 | - b421e0f: More updates
353 |
354 | ## 0.0.3
355 |
356 | ### Patch Changes
357 |
358 | - d540ff2: Add license and improvements
359 |
360 | ## 0.0.2
361 |
362 | ### Patch Changes
363 |
364 | - d3e0d26: Initial changeset
365 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Robert Soriano
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # svelte-instantdb
2 |
3 | Unofficial [Instant](http://instantdb.com/) SDK for Svelte 5.
4 |
5 | ## Installation
6 |
7 | ```bash
8 | npm install svelte-instantdb
9 | ```
10 |
11 | ## Usage
12 |
13 | ### Reading and Writing Data
14 |
15 | ```svelte
16 |
29 |
30 | {#if query.current.isLoading}
31 | Fetching data...
32 | {:else if query.current.error}
33 | Error fetching data: {query.current.error.message}
34 | {:else}
35 |
36 | {/if}
37 | ```
38 |
39 | ### Cursors
40 |
41 | ```svelte
42 | Move your cursor around! ✨
43 | ```
44 |
45 | Custom cursors
46 |
47 | ```svelte
48 |
49 | Move your cursor around! ✨
50 |
51 | {#snippet cursor({ color, presence })}
52 |
53 | {/snippet}
54 |
55 | ```
56 |
57 | ### Typing indicator
58 |
59 | ```svelte
60 |
87 |
88 |
89 |
90 |
95 |
96 | {typing.current.active.length ? typingInfo(typing.current.active) : <> >}
97 |
98 |
99 |
100 | ```
101 |
102 | ### Reactive variables
103 |
104 | To make functions return reactive state, pass a function that returns a state instead:
105 |
106 | ```ts
107 | let todoId = $state(null);
108 |
109 | const todoState = db.useQuery(() =>
110 | todoId
111 | ? {
112 | todos: {
113 | $: {
114 | where: {
115 | id: todoId
116 | }
117 | }
118 | }
119 | }
120 | : null
121 | );
122 |
123 | todoId = 'some_id';
124 | ```
125 |
126 | ## License
127 |
128 | MIT
129 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import js from '@eslint/js';
2 | import ts from 'typescript-eslint';
3 | import svelte from 'eslint-plugin-svelte';
4 | import prettier from 'eslint-config-prettier';
5 | import globals from 'globals';
6 |
7 | /** @type {import('eslint').Linter.Config[]} */
8 | export default [
9 | js.configs.recommended,
10 | ...ts.configs.recommended,
11 | ...svelte.configs['flat/recommended'],
12 | prettier,
13 | ...svelte.configs['flat/prettier'],
14 | {
15 | languageOptions: {
16 | globals: {
17 | ...globals.browser,
18 | ...globals.node
19 | }
20 | }
21 | },
22 | {
23 | files: ['**/*.svelte'],
24 | languageOptions: {
25 | parserOptions: {
26 | parser: ts.parser
27 | }
28 | }
29 | },
30 | {
31 | ignores: ['build/', '.svelte-kit/', 'dist/']
32 | },
33 | {
34 | rules: {
35 | '@typescript-eslint/no-explicit-any': 'warn',
36 | '@typescript-eslint/no-unused-vars': [
37 | 'warn',
38 | { varsIgnorePattern: '^\\$\\$(Props|Events|Slots)$' }
39 | ]
40 | }
41 | }
42 | ];
43 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-instantdb",
3 | "license": "MIT",
4 | "homepage": "https://github.com/wobsoriano/svelte-instantdb#readme",
5 | "repository": {
6 | "type": "git",
7 | "url": "git+https://github.com/wobsoriano/svelte-instantdb.git"
8 | },
9 | "bugs": "https://github.com/wobsoriano/svelte-instantdb/issues",
10 | "packageManager": "pnpm@10.6.3",
11 | "version": "0.4.23",
12 | "scripts": {
13 | "dev": "vite dev",
14 | "build": "npm run package",
15 | "build:playground": "vite build",
16 | "preview": "vite preview",
17 | "build:version": "vite build --config vite.version.ts",
18 | "package": "svelte-kit sync && svelte-package && publint && npm run build:version",
19 | "prepublishOnly": "npm run package",
20 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
21 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
22 | "lint": "prettier --check . && eslint .",
23 | "release": "pnpm build && changeset publish",
24 | "format": "prettier --write ."
25 | },
26 | "exports": {
27 | ".": {
28 | "types": "./dist/index.d.ts",
29 | "svelte": "./dist/index.js"
30 | }
31 | },
32 | "files": [
33 | "dist",
34 | "!dist/**/*.test.*",
35 | "!dist/**/*.spec.*"
36 | ],
37 | "peerDependencies": {
38 | "svelte": "^5.0.0"
39 | },
40 | "devDependencies": {
41 | "@changesets/cli": "^2.28.1",
42 | "@sveltejs/adapter-auto": "^4.0.0",
43 | "@sveltejs/kit": "^2.19.2",
44 | "@sveltejs/package": "^2.3.10",
45 | "@sveltejs/vite-plugin-svelte": "^5.0.3",
46 | "@types/eslint": "^9.6.1",
47 | "eslint": "^9.22.0",
48 | "eslint-config-prettier": "^10.1.1",
49 | "eslint-plugin-svelte": "^3.1.0",
50 | "globals": "^16.0.0",
51 | "prettier": "^3.5.3",
52 | "prettier-plugin-svelte": "^3.3.3",
53 | "publint": "^0.3.9",
54 | "svelte": "^5.23.0",
55 | "svelte-check": "^4.1.5",
56 | "typescript": "^5.8.2",
57 | "typescript-eslint": "^8.26.1",
58 | "vite": "^6.2.2"
59 | },
60 | "svelte": "./dist/index.js",
61 | "types": "./dist/index.d.ts",
62 | "type": "module",
63 | "dependencies": {
64 | "@instantdb/core": "^0.19.14"
65 | },
66 | "pnpm": {
67 | "onlyBuiltDependencies": [
68 | "esbuild"
69 | ]
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@instantdb/core':
12 | specifier: ^0.19.14
13 | version: 0.19.14
14 | devDependencies:
15 | '@changesets/cli':
16 | specifier: ^2.28.1
17 | version: 2.28.1
18 | '@sveltejs/adapter-auto':
19 | specifier: ^4.0.0
20 | version: 4.0.0(@sveltejs/kit@2.19.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2))
21 | '@sveltejs/kit':
22 | specifier: ^2.19.2
23 | version: 2.19.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2)
24 | '@sveltejs/package':
25 | specifier: ^2.3.10
26 | version: 2.3.10(svelte@5.23.0)(typescript@5.8.2)
27 | '@sveltejs/vite-plugin-svelte':
28 | specifier: ^5.0.3
29 | version: 5.0.3(svelte@5.23.0)(vite@6.2.2)
30 | '@types/eslint':
31 | specifier: ^9.6.1
32 | version: 9.6.1
33 | eslint:
34 | specifier: ^9.22.0
35 | version: 9.22.0
36 | eslint-config-prettier:
37 | specifier: ^10.1.1
38 | version: 10.1.1(eslint@9.22.0)
39 | eslint-plugin-svelte:
40 | specifier: ^3.1.0
41 | version: 3.1.0(eslint@9.22.0)(svelte@5.23.0)
42 | globals:
43 | specifier: ^16.0.0
44 | version: 16.0.0
45 | prettier:
46 | specifier: ^3.5.3
47 | version: 3.5.3
48 | prettier-plugin-svelte:
49 | specifier: ^3.3.3
50 | version: 3.3.3(prettier@3.5.3)(svelte@5.23.0)
51 | publint:
52 | specifier: ^0.3.9
53 | version: 0.3.9
54 | svelte:
55 | specifier: ^5.23.0
56 | version: 5.23.0
57 | svelte-check:
58 | specifier: ^4.1.5
59 | version: 4.1.5(svelte@5.23.0)(typescript@5.8.2)
60 | typescript:
61 | specifier: ^5.8.2
62 | version: 5.8.2
63 | typescript-eslint:
64 | specifier: ^8.26.1
65 | version: 8.26.1(eslint@9.22.0)(typescript@5.8.2)
66 | vite:
67 | specifier: ^6.2.2
68 | version: 6.2.2
69 |
70 | packages:
71 |
72 | '@ampproject/remapping@2.3.0':
73 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
74 | engines: {node: '>=6.0.0'}
75 |
76 | '@babel/runtime@7.26.0':
77 | resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
78 | engines: {node: '>=6.9.0'}
79 |
80 | '@changesets/apply-release-plan@7.0.10':
81 | resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==}
82 |
83 | '@changesets/assemble-release-plan@6.0.6':
84 | resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==}
85 |
86 | '@changesets/changelog-git@0.2.1':
87 | resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
88 |
89 | '@changesets/cli@2.28.1':
90 | resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==}
91 | hasBin: true
92 |
93 | '@changesets/config@3.1.1':
94 | resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==}
95 |
96 | '@changesets/errors@0.2.0':
97 | resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
98 |
99 | '@changesets/get-dependents-graph@2.1.3':
100 | resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
101 |
102 | '@changesets/get-release-plan@4.0.8':
103 | resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==}
104 |
105 | '@changesets/get-version-range-type@0.4.0':
106 | resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
107 |
108 | '@changesets/git@3.0.2':
109 | resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==}
110 |
111 | '@changesets/logger@0.1.1':
112 | resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
113 |
114 | '@changesets/parse@0.4.1':
115 | resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==}
116 |
117 | '@changesets/pre@2.0.2':
118 | resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
119 |
120 | '@changesets/read@0.6.3':
121 | resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==}
122 |
123 | '@changesets/should-skip-package@0.1.2':
124 | resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
125 |
126 | '@changesets/types@4.1.0':
127 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
128 |
129 | '@changesets/types@6.1.0':
130 | resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==}
131 |
132 | '@changesets/write@0.4.0':
133 | resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
134 |
135 | '@esbuild/aix-ppc64@0.25.1':
136 | resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
137 | engines: {node: '>=18'}
138 | cpu: [ppc64]
139 | os: [aix]
140 |
141 | '@esbuild/android-arm64@0.25.1':
142 | resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
143 | engines: {node: '>=18'}
144 | cpu: [arm64]
145 | os: [android]
146 |
147 | '@esbuild/android-arm@0.25.1':
148 | resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
149 | engines: {node: '>=18'}
150 | cpu: [arm]
151 | os: [android]
152 |
153 | '@esbuild/android-x64@0.25.1':
154 | resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
155 | engines: {node: '>=18'}
156 | cpu: [x64]
157 | os: [android]
158 |
159 | '@esbuild/darwin-arm64@0.25.1':
160 | resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
161 | engines: {node: '>=18'}
162 | cpu: [arm64]
163 | os: [darwin]
164 |
165 | '@esbuild/darwin-x64@0.25.1':
166 | resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
167 | engines: {node: '>=18'}
168 | cpu: [x64]
169 | os: [darwin]
170 |
171 | '@esbuild/freebsd-arm64@0.25.1':
172 | resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
173 | engines: {node: '>=18'}
174 | cpu: [arm64]
175 | os: [freebsd]
176 |
177 | '@esbuild/freebsd-x64@0.25.1':
178 | resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
179 | engines: {node: '>=18'}
180 | cpu: [x64]
181 | os: [freebsd]
182 |
183 | '@esbuild/linux-arm64@0.25.1':
184 | resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
185 | engines: {node: '>=18'}
186 | cpu: [arm64]
187 | os: [linux]
188 |
189 | '@esbuild/linux-arm@0.25.1':
190 | resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
191 | engines: {node: '>=18'}
192 | cpu: [arm]
193 | os: [linux]
194 |
195 | '@esbuild/linux-ia32@0.25.1':
196 | resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
197 | engines: {node: '>=18'}
198 | cpu: [ia32]
199 | os: [linux]
200 |
201 | '@esbuild/linux-loong64@0.25.1':
202 | resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
203 | engines: {node: '>=18'}
204 | cpu: [loong64]
205 | os: [linux]
206 |
207 | '@esbuild/linux-mips64el@0.25.1':
208 | resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
209 | engines: {node: '>=18'}
210 | cpu: [mips64el]
211 | os: [linux]
212 |
213 | '@esbuild/linux-ppc64@0.25.1':
214 | resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
215 | engines: {node: '>=18'}
216 | cpu: [ppc64]
217 | os: [linux]
218 |
219 | '@esbuild/linux-riscv64@0.25.1':
220 | resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
221 | engines: {node: '>=18'}
222 | cpu: [riscv64]
223 | os: [linux]
224 |
225 | '@esbuild/linux-s390x@0.25.1':
226 | resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
227 | engines: {node: '>=18'}
228 | cpu: [s390x]
229 | os: [linux]
230 |
231 | '@esbuild/linux-x64@0.25.1':
232 | resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
233 | engines: {node: '>=18'}
234 | cpu: [x64]
235 | os: [linux]
236 |
237 | '@esbuild/netbsd-arm64@0.25.1':
238 | resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
239 | engines: {node: '>=18'}
240 | cpu: [arm64]
241 | os: [netbsd]
242 |
243 | '@esbuild/netbsd-x64@0.25.1':
244 | resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
245 | engines: {node: '>=18'}
246 | cpu: [x64]
247 | os: [netbsd]
248 |
249 | '@esbuild/openbsd-arm64@0.25.1':
250 | resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
251 | engines: {node: '>=18'}
252 | cpu: [arm64]
253 | os: [openbsd]
254 |
255 | '@esbuild/openbsd-x64@0.25.1':
256 | resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
257 | engines: {node: '>=18'}
258 | cpu: [x64]
259 | os: [openbsd]
260 |
261 | '@esbuild/sunos-x64@0.25.1':
262 | resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
263 | engines: {node: '>=18'}
264 | cpu: [x64]
265 | os: [sunos]
266 |
267 | '@esbuild/win32-arm64@0.25.1':
268 | resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
269 | engines: {node: '>=18'}
270 | cpu: [arm64]
271 | os: [win32]
272 |
273 | '@esbuild/win32-ia32@0.25.1':
274 | resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
275 | engines: {node: '>=18'}
276 | cpu: [ia32]
277 | os: [win32]
278 |
279 | '@esbuild/win32-x64@0.25.1':
280 | resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
281 | engines: {node: '>=18'}
282 | cpu: [x64]
283 | os: [win32]
284 |
285 | '@eslint-community/eslint-utils@4.4.1':
286 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
287 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
288 | peerDependencies:
289 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
290 |
291 | '@eslint-community/regexpp@4.12.1':
292 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
293 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
294 |
295 | '@eslint/config-array@0.19.2':
296 | resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
297 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
298 |
299 | '@eslint/config-helpers@0.1.0':
300 | resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==}
301 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
302 |
303 | '@eslint/core@0.12.0':
304 | resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
305 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
306 |
307 | '@eslint/eslintrc@3.3.0':
308 | resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
309 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
310 |
311 | '@eslint/js@9.22.0':
312 | resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==}
313 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
314 |
315 | '@eslint/object-schema@2.1.6':
316 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
317 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
318 |
319 | '@eslint/plugin-kit@0.2.7':
320 | resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
321 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
322 |
323 | '@humanfs/core@0.19.1':
324 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
325 | engines: {node: '>=18.18.0'}
326 |
327 | '@humanfs/node@0.16.6':
328 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
329 | engines: {node: '>=18.18.0'}
330 |
331 | '@humanwhocodes/module-importer@1.0.1':
332 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
333 | engines: {node: '>=12.22'}
334 |
335 | '@humanwhocodes/retry@0.3.1':
336 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
337 | engines: {node: '>=18.18'}
338 |
339 | '@humanwhocodes/retry@0.4.2':
340 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
341 | engines: {node: '>=18.18'}
342 |
343 | '@instantdb/core@0.19.14':
344 | resolution: {integrity: sha512-8KDfO/9jFjRQtLVMwsL9/EJTC3LUbohnNf9io5olRAd30weEMCwSRhCG7AnvvefoeLRJ84loMzFNrb2QJFKY8w==}
345 |
346 | '@jridgewell/gen-mapping@0.3.5':
347 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
348 | engines: {node: '>=6.0.0'}
349 |
350 | '@jridgewell/resolve-uri@3.1.2':
351 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
352 | engines: {node: '>=6.0.0'}
353 |
354 | '@jridgewell/set-array@1.2.1':
355 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
356 | engines: {node: '>=6.0.0'}
357 |
358 | '@jridgewell/sourcemap-codec@1.5.0':
359 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
360 |
361 | '@jridgewell/trace-mapping@0.3.25':
362 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
363 |
364 | '@manypkg/find-root@1.1.0':
365 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
366 |
367 | '@manypkg/get-packages@1.1.3':
368 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
369 |
370 | '@nodelib/fs.scandir@2.1.5':
371 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
372 | engines: {node: '>= 8'}
373 |
374 | '@nodelib/fs.stat@2.0.5':
375 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
376 | engines: {node: '>= 8'}
377 |
378 | '@nodelib/fs.walk@1.2.8':
379 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
380 | engines: {node: '>= 8'}
381 |
382 | '@polka/url@1.0.0-next.28':
383 | resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
384 |
385 | '@publint/pack@0.1.2':
386 | resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==}
387 | engines: {node: '>=18'}
388 |
389 | '@rollup/rollup-android-arm-eabi@4.35.0':
390 | resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==}
391 | cpu: [arm]
392 | os: [android]
393 |
394 | '@rollup/rollup-android-arm64@4.35.0':
395 | resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==}
396 | cpu: [arm64]
397 | os: [android]
398 |
399 | '@rollup/rollup-darwin-arm64@4.35.0':
400 | resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==}
401 | cpu: [arm64]
402 | os: [darwin]
403 |
404 | '@rollup/rollup-darwin-x64@4.35.0':
405 | resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==}
406 | cpu: [x64]
407 | os: [darwin]
408 |
409 | '@rollup/rollup-freebsd-arm64@4.35.0':
410 | resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==}
411 | cpu: [arm64]
412 | os: [freebsd]
413 |
414 | '@rollup/rollup-freebsd-x64@4.35.0':
415 | resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==}
416 | cpu: [x64]
417 | os: [freebsd]
418 |
419 | '@rollup/rollup-linux-arm-gnueabihf@4.35.0':
420 | resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==}
421 | cpu: [arm]
422 | os: [linux]
423 |
424 | '@rollup/rollup-linux-arm-musleabihf@4.35.0':
425 | resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==}
426 | cpu: [arm]
427 | os: [linux]
428 |
429 | '@rollup/rollup-linux-arm64-gnu@4.35.0':
430 | resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==}
431 | cpu: [arm64]
432 | os: [linux]
433 |
434 | '@rollup/rollup-linux-arm64-musl@4.35.0':
435 | resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==}
436 | cpu: [arm64]
437 | os: [linux]
438 |
439 | '@rollup/rollup-linux-loongarch64-gnu@4.35.0':
440 | resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==}
441 | cpu: [loong64]
442 | os: [linux]
443 |
444 | '@rollup/rollup-linux-powerpc64le-gnu@4.35.0':
445 | resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==}
446 | cpu: [ppc64]
447 | os: [linux]
448 |
449 | '@rollup/rollup-linux-riscv64-gnu@4.35.0':
450 | resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==}
451 | cpu: [riscv64]
452 | os: [linux]
453 |
454 | '@rollup/rollup-linux-s390x-gnu@4.35.0':
455 | resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==}
456 | cpu: [s390x]
457 | os: [linux]
458 |
459 | '@rollup/rollup-linux-x64-gnu@4.35.0':
460 | resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==}
461 | cpu: [x64]
462 | os: [linux]
463 |
464 | '@rollup/rollup-linux-x64-musl@4.35.0':
465 | resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==}
466 | cpu: [x64]
467 | os: [linux]
468 |
469 | '@rollup/rollup-win32-arm64-msvc@4.35.0':
470 | resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==}
471 | cpu: [arm64]
472 | os: [win32]
473 |
474 | '@rollup/rollup-win32-ia32-msvc@4.35.0':
475 | resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==}
476 | cpu: [ia32]
477 | os: [win32]
478 |
479 | '@rollup/rollup-win32-x64-msvc@4.35.0':
480 | resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==}
481 | cpu: [x64]
482 | os: [win32]
483 |
484 | '@sveltejs/acorn-typescript@1.0.5':
485 | resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==}
486 | peerDependencies:
487 | acorn: ^8.9.0
488 |
489 | '@sveltejs/adapter-auto@4.0.0':
490 | resolution: {integrity: sha512-kmuYSQdD2AwThymQF0haQhM8rE5rhutQXG4LNbnbShwhMO4qQGnKaaTy+88DuNSuoQDi58+thpq8XpHc1+oEKQ==}
491 | peerDependencies:
492 | '@sveltejs/kit': ^2.0.0
493 |
494 | '@sveltejs/kit@2.19.2':
495 | resolution: {integrity: sha512-OkW7MMGkjXtdfqdHWlyPozh/Ct1X3pthXAKTSqHm+mwmvmTBASmPE6FhwlvUgsqlCceRYL+5QUGiIJfOy0xIjQ==}
496 | engines: {node: '>=18.13'}
497 | hasBin: true
498 | peerDependencies:
499 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0
500 | svelte: ^4.0.0 || ^5.0.0-next.0
501 | vite: ^5.0.3 || ^6.0.0
502 |
503 | '@sveltejs/package@2.3.10':
504 | resolution: {integrity: sha512-A4fQacgjJ7C/7oSmxR61/TdB14u6ecyMZ8V9JCR5Lol0bLj/PdJPU4uFodFBsKzO3iFiJMpNTgZZ+zYsYZNpUg==}
505 | engines: {node: ^16.14 || >=18}
506 | hasBin: true
507 | peerDependencies:
508 | svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
509 |
510 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1':
511 | resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==}
512 | engines: {node: ^18.0.0 || ^20.0.0 || >=22}
513 | peerDependencies:
514 | '@sveltejs/vite-plugin-svelte': ^5.0.0
515 | svelte: ^5.0.0
516 | vite: ^6.0.0
517 |
518 | '@sveltejs/vite-plugin-svelte@5.0.3':
519 | resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==}
520 | engines: {node: ^18.0.0 || ^20.0.0 || >=22}
521 | peerDependencies:
522 | svelte: ^5.0.0
523 | vite: ^6.0.0
524 |
525 | '@types/cookie@0.6.0':
526 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
527 |
528 | '@types/eslint@9.6.1':
529 | resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
530 |
531 | '@types/estree@1.0.6':
532 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
533 |
534 | '@types/json-schema@7.0.15':
535 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
536 |
537 | '@types/node@12.20.55':
538 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
539 |
540 | '@typescript-eslint/eslint-plugin@8.26.1':
541 | resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==}
542 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
543 | peerDependencies:
544 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
545 | eslint: ^8.57.0 || ^9.0.0
546 | typescript: '>=4.8.4 <5.9.0'
547 |
548 | '@typescript-eslint/parser@8.26.1':
549 | resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==}
550 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
551 | peerDependencies:
552 | eslint: ^8.57.0 || ^9.0.0
553 | typescript: '>=4.8.4 <5.9.0'
554 |
555 | '@typescript-eslint/scope-manager@8.26.1':
556 | resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==}
557 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
558 |
559 | '@typescript-eslint/type-utils@8.26.1':
560 | resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==}
561 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
562 | peerDependencies:
563 | eslint: ^8.57.0 || ^9.0.0
564 | typescript: '>=4.8.4 <5.9.0'
565 |
566 | '@typescript-eslint/types@8.26.1':
567 | resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==}
568 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
569 |
570 | '@typescript-eslint/typescript-estree@8.26.1':
571 | resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==}
572 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
573 | peerDependencies:
574 | typescript: '>=4.8.4 <5.9.0'
575 |
576 | '@typescript-eslint/utils@8.26.1':
577 | resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==}
578 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
579 | peerDependencies:
580 | eslint: ^8.57.0 || ^9.0.0
581 | typescript: '>=4.8.4 <5.9.0'
582 |
583 | '@typescript-eslint/visitor-keys@8.26.1':
584 | resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==}
585 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
586 |
587 | acorn-jsx@5.3.2:
588 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
589 | peerDependencies:
590 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
591 |
592 | acorn@8.14.0:
593 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
594 | engines: {node: '>=0.4.0'}
595 | hasBin: true
596 |
597 | ajv@6.12.6:
598 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
599 |
600 | ansi-colors@4.1.3:
601 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
602 | engines: {node: '>=6'}
603 |
604 | ansi-regex@5.0.1:
605 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
606 | engines: {node: '>=8'}
607 |
608 | ansi-styles@4.3.0:
609 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
610 | engines: {node: '>=8'}
611 |
612 | argparse@1.0.10:
613 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
614 |
615 | argparse@2.0.1:
616 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
617 |
618 | aria-query@5.3.2:
619 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
620 | engines: {node: '>= 0.4'}
621 |
622 | array-union@2.1.0:
623 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
624 | engines: {node: '>=8'}
625 |
626 | axobject-query@4.1.0:
627 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
628 | engines: {node: '>= 0.4'}
629 |
630 | balanced-match@1.0.2:
631 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
632 |
633 | better-path-resolve@1.0.0:
634 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
635 | engines: {node: '>=4'}
636 |
637 | brace-expansion@1.1.11:
638 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
639 |
640 | brace-expansion@2.0.1:
641 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
642 |
643 | braces@3.0.3:
644 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
645 | engines: {node: '>=8'}
646 |
647 | callsites@3.1.0:
648 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
649 | engines: {node: '>=6'}
650 |
651 | chalk@4.1.2:
652 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
653 | engines: {node: '>=10'}
654 |
655 | chardet@0.7.0:
656 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
657 |
658 | chokidar@4.0.3:
659 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
660 | engines: {node: '>= 14.16.0'}
661 |
662 | ci-info@3.9.0:
663 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
664 | engines: {node: '>=8'}
665 |
666 | clsx@2.1.1:
667 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
668 | engines: {node: '>=6'}
669 |
670 | color-convert@2.0.1:
671 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
672 | engines: {node: '>=7.0.0'}
673 |
674 | color-name@1.1.4:
675 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
676 |
677 | concat-map@0.0.1:
678 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
679 |
680 | cookie@0.6.0:
681 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
682 | engines: {node: '>= 0.6'}
683 |
684 | cross-spawn@7.0.6:
685 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
686 | engines: {node: '>= 8'}
687 |
688 | cssesc@3.0.0:
689 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
690 | engines: {node: '>=4'}
691 | hasBin: true
692 |
693 | debug@4.4.0:
694 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
695 | engines: {node: '>=6.0'}
696 | peerDependencies:
697 | supports-color: '*'
698 | peerDependenciesMeta:
699 | supports-color:
700 | optional: true
701 |
702 | dedent-js@1.0.1:
703 | resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==}
704 |
705 | deep-is@0.1.4:
706 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
707 |
708 | deepmerge@4.3.1:
709 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
710 | engines: {node: '>=0.10.0'}
711 |
712 | detect-indent@6.1.0:
713 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
714 | engines: {node: '>=8'}
715 |
716 | devalue@5.1.1:
717 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
718 |
719 | dir-glob@3.0.1:
720 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
721 | engines: {node: '>=8'}
722 |
723 | enquirer@2.4.1:
724 | resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
725 | engines: {node: '>=8.6'}
726 |
727 | esbuild@0.25.1:
728 | resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
729 | engines: {node: '>=18'}
730 | hasBin: true
731 |
732 | escape-string-regexp@4.0.0:
733 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
734 | engines: {node: '>=10'}
735 |
736 | eslint-compat-utils@0.6.4:
737 | resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==}
738 | engines: {node: '>=12'}
739 | peerDependencies:
740 | eslint: '>=6.0.0'
741 |
742 | eslint-config-prettier@10.1.1:
743 | resolution: {integrity: sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==}
744 | hasBin: true
745 | peerDependencies:
746 | eslint: '>=7.0.0'
747 |
748 | eslint-plugin-svelte@3.1.0:
749 | resolution: {integrity: sha512-hSQyLDkuuHPJby1ixZfUVrfLON42mT0Odf18MbwAgFUPuyIwJlhy3acUY1/bxt+Njucq/dQxR543zYDqkBNLmw==}
750 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
751 | peerDependencies:
752 | eslint: ^8.57.1 || ^9.0.0
753 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
754 | peerDependenciesMeta:
755 | svelte:
756 | optional: true
757 |
758 | eslint-scope@8.3.0:
759 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
760 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
761 |
762 | eslint-visitor-keys@3.4.3:
763 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
764 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
765 |
766 | eslint-visitor-keys@4.2.0:
767 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
768 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
769 |
770 | eslint@9.22.0:
771 | resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==}
772 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
773 | hasBin: true
774 | peerDependencies:
775 | jiti: '*'
776 | peerDependenciesMeta:
777 | jiti:
778 | optional: true
779 |
780 | esm-env@1.2.2:
781 | resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
782 |
783 | espree@10.3.0:
784 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
785 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
786 |
787 | esprima@4.0.1:
788 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
789 | engines: {node: '>=4'}
790 | hasBin: true
791 |
792 | esquery@1.6.0:
793 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
794 | engines: {node: '>=0.10'}
795 |
796 | esrap@1.4.5:
797 | resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==}
798 |
799 | esrecurse@4.3.0:
800 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
801 | engines: {node: '>=4.0'}
802 |
803 | estraverse@5.3.0:
804 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
805 | engines: {node: '>=4.0'}
806 |
807 | esutils@2.0.3:
808 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
809 | engines: {node: '>=0.10.0'}
810 |
811 | extendable-error@0.1.7:
812 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
813 |
814 | external-editor@3.1.0:
815 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
816 | engines: {node: '>=4'}
817 |
818 | fast-deep-equal@3.1.3:
819 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
820 |
821 | fast-glob@3.3.2:
822 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
823 | engines: {node: '>=8.6.0'}
824 |
825 | fast-json-stable-stringify@2.1.0:
826 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
827 |
828 | fast-levenshtein@2.0.6:
829 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
830 |
831 | fastq@1.17.1:
832 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
833 |
834 | fdir@6.4.2:
835 | resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==}
836 | peerDependencies:
837 | picomatch: ^3 || ^4
838 | peerDependenciesMeta:
839 | picomatch:
840 | optional: true
841 |
842 | file-entry-cache@8.0.0:
843 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
844 | engines: {node: '>=16.0.0'}
845 |
846 | fill-range@7.1.1:
847 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
848 | engines: {node: '>=8'}
849 |
850 | find-up@4.1.0:
851 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
852 | engines: {node: '>=8'}
853 |
854 | find-up@5.0.0:
855 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
856 | engines: {node: '>=10'}
857 |
858 | flat-cache@4.0.1:
859 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
860 | engines: {node: '>=16'}
861 |
862 | flatted@3.3.1:
863 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
864 |
865 | fs-extra@7.0.1:
866 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
867 | engines: {node: '>=6 <7 || >=8'}
868 |
869 | fs-extra@8.1.0:
870 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
871 | engines: {node: '>=6 <7 || >=8'}
872 |
873 | fsevents@2.3.3:
874 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
875 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
876 | os: [darwin]
877 |
878 | glob-parent@5.1.2:
879 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
880 | engines: {node: '>= 6'}
881 |
882 | glob-parent@6.0.2:
883 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
884 | engines: {node: '>=10.13.0'}
885 |
886 | globals@14.0.0:
887 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
888 | engines: {node: '>=18'}
889 |
890 | globals@16.0.0:
891 | resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==}
892 | engines: {node: '>=18'}
893 |
894 | globby@11.1.0:
895 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
896 | engines: {node: '>=10'}
897 |
898 | graceful-fs@4.2.11:
899 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
900 |
901 | graphemer@1.4.0:
902 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
903 |
904 | has-flag@4.0.0:
905 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
906 | engines: {node: '>=8'}
907 |
908 | human-id@4.1.1:
909 | resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==}
910 | hasBin: true
911 |
912 | iconv-lite@0.4.24:
913 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
914 | engines: {node: '>=0.10.0'}
915 |
916 | ignore@5.3.2:
917 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
918 | engines: {node: '>= 4'}
919 |
920 | import-fresh@3.3.0:
921 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
922 | engines: {node: '>=6'}
923 |
924 | import-meta-resolve@4.1.0:
925 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
926 |
927 | imurmurhash@0.1.4:
928 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
929 | engines: {node: '>=0.8.19'}
930 |
931 | is-extglob@2.1.1:
932 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
933 | engines: {node: '>=0.10.0'}
934 |
935 | is-glob@4.0.3:
936 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
937 | engines: {node: '>=0.10.0'}
938 |
939 | is-number@7.0.0:
940 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
941 | engines: {node: '>=0.12.0'}
942 |
943 | is-reference@3.0.3:
944 | resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
945 |
946 | is-subdir@1.2.0:
947 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
948 | engines: {node: '>=4'}
949 |
950 | is-windows@1.0.2:
951 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
952 | engines: {node: '>=0.10.0'}
953 |
954 | isexe@2.0.0:
955 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
956 |
957 | js-yaml@3.14.1:
958 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
959 | hasBin: true
960 |
961 | js-yaml@4.1.0:
962 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
963 | hasBin: true
964 |
965 | json-buffer@3.0.1:
966 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
967 |
968 | json-schema-traverse@0.4.1:
969 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
970 |
971 | json-stable-stringify-without-jsonify@1.0.1:
972 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
973 |
974 | jsonfile@4.0.0:
975 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
976 |
977 | keyv@4.5.4:
978 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
979 |
980 | kleur@4.1.5:
981 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
982 | engines: {node: '>=6'}
983 |
984 | known-css-properties@0.35.0:
985 | resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==}
986 |
987 | levn@0.4.1:
988 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
989 | engines: {node: '>= 0.8.0'}
990 |
991 | lilconfig@2.1.0:
992 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
993 | engines: {node: '>=10'}
994 |
995 | locate-character@3.0.0:
996 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
997 |
998 | locate-path@5.0.0:
999 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1000 | engines: {node: '>=8'}
1001 |
1002 | locate-path@6.0.0:
1003 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1004 | engines: {node: '>=10'}
1005 |
1006 | lodash.merge@4.6.2:
1007 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1008 |
1009 | lodash.startcase@4.4.0:
1010 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
1011 |
1012 | lower-case@2.0.2:
1013 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
1014 |
1015 | magic-string@0.30.17:
1016 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1017 |
1018 | merge2@1.4.1:
1019 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1020 | engines: {node: '>= 8'}
1021 |
1022 | micromatch@4.0.8:
1023 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1024 | engines: {node: '>=8.6'}
1025 |
1026 | minimatch@3.1.2:
1027 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1028 |
1029 | minimatch@9.0.5:
1030 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1031 | engines: {node: '>=16 || 14 >=14.17'}
1032 |
1033 | mri@1.2.0:
1034 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1035 | engines: {node: '>=4'}
1036 |
1037 | mrmime@2.0.0:
1038 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
1039 | engines: {node: '>=10'}
1040 |
1041 | ms@2.1.3:
1042 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1043 |
1044 | mutative@1.2.0:
1045 | resolution: {integrity: sha512-1muFw45Lwjso6TSBGiXfbjKS01fVSD/qaqBfTo/gXgp79e8KM4Sa1XP/S4iN2/DvSdIZgjFJI+JIhC7eKf3GTg==}
1046 | engines: {node: '>=14.0'}
1047 |
1048 | nanoid@3.3.9:
1049 | resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==}
1050 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1051 | hasBin: true
1052 |
1053 | natural-compare@1.4.0:
1054 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1055 |
1056 | no-case@3.0.4:
1057 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
1058 |
1059 | optionator@0.9.4:
1060 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1061 | engines: {node: '>= 0.8.0'}
1062 |
1063 | os-tmpdir@1.0.2:
1064 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
1065 | engines: {node: '>=0.10.0'}
1066 |
1067 | outdent@0.5.0:
1068 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
1069 |
1070 | p-filter@2.1.0:
1071 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
1072 | engines: {node: '>=8'}
1073 |
1074 | p-limit@2.3.0:
1075 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1076 | engines: {node: '>=6'}
1077 |
1078 | p-limit@3.1.0:
1079 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1080 | engines: {node: '>=10'}
1081 |
1082 | p-locate@4.1.0:
1083 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1084 | engines: {node: '>=8'}
1085 |
1086 | p-locate@5.0.0:
1087 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1088 | engines: {node: '>=10'}
1089 |
1090 | p-map@2.1.0:
1091 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
1092 | engines: {node: '>=6'}
1093 |
1094 | p-try@2.2.0:
1095 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1096 | engines: {node: '>=6'}
1097 |
1098 | package-manager-detector@0.2.11:
1099 | resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
1100 |
1101 | parent-module@1.0.1:
1102 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1103 | engines: {node: '>=6'}
1104 |
1105 | pascal-case@3.1.2:
1106 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
1107 |
1108 | path-exists@4.0.0:
1109 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1110 | engines: {node: '>=8'}
1111 |
1112 | path-key@3.1.1:
1113 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1114 | engines: {node: '>=8'}
1115 |
1116 | path-type@4.0.0:
1117 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1118 | engines: {node: '>=8'}
1119 |
1120 | picocolors@1.1.1:
1121 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1122 |
1123 | picomatch@2.3.1:
1124 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1125 | engines: {node: '>=8.6'}
1126 |
1127 | pify@4.0.1:
1128 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
1129 | engines: {node: '>=6'}
1130 |
1131 | postcss-load-config@3.1.4:
1132 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1133 | engines: {node: '>= 10'}
1134 | peerDependencies:
1135 | postcss: '>=8.0.9'
1136 | ts-node: '>=9.0.0'
1137 | peerDependenciesMeta:
1138 | postcss:
1139 | optional: true
1140 | ts-node:
1141 | optional: true
1142 |
1143 | postcss-safe-parser@7.0.1:
1144 | resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==}
1145 | engines: {node: '>=18.0'}
1146 | peerDependencies:
1147 | postcss: ^8.4.31
1148 |
1149 | postcss-scss@4.0.9:
1150 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
1151 | engines: {node: '>=12.0'}
1152 | peerDependencies:
1153 | postcss: ^8.4.29
1154 |
1155 | postcss-selector-parser@7.1.0:
1156 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
1157 | engines: {node: '>=4'}
1158 |
1159 | postcss@8.5.3:
1160 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
1161 | engines: {node: ^10 || ^12 || >=14}
1162 |
1163 | prelude-ls@1.2.1:
1164 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1165 | engines: {node: '>= 0.8.0'}
1166 |
1167 | prettier-plugin-svelte@3.3.3:
1168 | resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==}
1169 | peerDependencies:
1170 | prettier: ^3.0.0
1171 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
1172 |
1173 | prettier@2.8.8:
1174 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
1175 | engines: {node: '>=10.13.0'}
1176 | hasBin: true
1177 |
1178 | prettier@3.5.3:
1179 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
1180 | engines: {node: '>=14'}
1181 | hasBin: true
1182 |
1183 | publint@0.3.9:
1184 | resolution: {integrity: sha512-irTwfRfYW38vomkxxoiZQtFtUOQKpz5m0p9Z60z4xpXrl1KmvSrX1OMARvnnolB5usOXeNfvLj6d/W3rwXKfBQ==}
1185 | engines: {node: '>=18'}
1186 | hasBin: true
1187 |
1188 | punycode@2.3.1:
1189 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1190 | engines: {node: '>=6'}
1191 |
1192 | quansync@0.2.8:
1193 | resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==}
1194 |
1195 | queue-microtask@1.2.3:
1196 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1197 |
1198 | read-yaml-file@1.1.0:
1199 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
1200 | engines: {node: '>=6'}
1201 |
1202 | readdirp@4.0.2:
1203 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
1204 | engines: {node: '>= 14.16.0'}
1205 |
1206 | regenerator-runtime@0.14.1:
1207 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1208 |
1209 | resolve-from@4.0.0:
1210 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1211 | engines: {node: '>=4'}
1212 |
1213 | resolve-from@5.0.0:
1214 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1215 | engines: {node: '>=8'}
1216 |
1217 | reusify@1.0.4:
1218 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1219 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1220 |
1221 | rollup@4.35.0:
1222 | resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==}
1223 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1224 | hasBin: true
1225 |
1226 | run-parallel@1.2.0:
1227 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1228 |
1229 | sade@1.8.1:
1230 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1231 | engines: {node: '>=6'}
1232 |
1233 | safer-buffer@2.1.2:
1234 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1235 |
1236 | semver@7.6.3:
1237 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1238 | engines: {node: '>=10'}
1239 | hasBin: true
1240 |
1241 | set-cookie-parser@2.7.1:
1242 | resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
1243 |
1244 | shebang-command@2.0.0:
1245 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1246 | engines: {node: '>=8'}
1247 |
1248 | shebang-regex@3.0.0:
1249 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1250 | engines: {node: '>=8'}
1251 |
1252 | signal-exit@4.1.0:
1253 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1254 | engines: {node: '>=14'}
1255 |
1256 | sirv@3.0.0:
1257 | resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
1258 | engines: {node: '>=18'}
1259 |
1260 | slash@3.0.0:
1261 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1262 | engines: {node: '>=8'}
1263 |
1264 | source-map-js@1.2.1:
1265 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1266 | engines: {node: '>=0.10.0'}
1267 |
1268 | spawndamnit@3.0.1:
1269 | resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
1270 |
1271 | sprintf-js@1.0.3:
1272 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
1273 |
1274 | strip-ansi@6.0.1:
1275 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1276 | engines: {node: '>=8'}
1277 |
1278 | strip-bom@3.0.0:
1279 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
1280 | engines: {node: '>=4'}
1281 |
1282 | strip-json-comments@3.1.1:
1283 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1284 | engines: {node: '>=8'}
1285 |
1286 | supports-color@7.2.0:
1287 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1288 | engines: {node: '>=8'}
1289 |
1290 | svelte-check@4.1.5:
1291 | resolution: {integrity: sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg==}
1292 | engines: {node: '>= 18.0.0'}
1293 | hasBin: true
1294 | peerDependencies:
1295 | svelte: ^4.0.0 || ^5.0.0-next.0
1296 | typescript: '>=5.0.0'
1297 |
1298 | svelte-eslint-parser@1.0.1:
1299 | resolution: {integrity: sha512-JjdEMXOJqy+dxeaElxbN+meTOtVpHfLnq9VGpiTAOLgM0uHO+ogmUsA3IFgx0x3Wl15pqTZWycCikcD7cAQN/g==}
1300 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1301 | peerDependencies:
1302 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
1303 | peerDependenciesMeta:
1304 | svelte:
1305 | optional: true
1306 |
1307 | svelte2tsx@0.7.35:
1308 | resolution: {integrity: sha512-z2lnOnrfb5nrlRfFQI8Qdz03xQqMHUfPj0j8l/fQuydrH89cCeN+v9jgDwK9GyMtdTRUkE7Neu9Gh+vfXJAfuQ==}
1309 | peerDependencies:
1310 | svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
1311 | typescript: ^4.9.4 || ^5.0.0
1312 |
1313 | svelte@5.23.0:
1314 | resolution: {integrity: sha512-v0lL3NuKontiCxholEiAXCB+BYbndlKbwlDMK0DS86WgGELMJSpyqCSbJeMEMBDwOglnS7Ar2Rq0wwa/z2L8Vg==}
1315 | engines: {node: '>=18'}
1316 |
1317 | term-size@2.2.1:
1318 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
1319 | engines: {node: '>=8'}
1320 |
1321 | tmp@0.0.33:
1322 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
1323 | engines: {node: '>=0.6.0'}
1324 |
1325 | to-regex-range@5.0.1:
1326 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1327 | engines: {node: '>=8.0'}
1328 |
1329 | totalist@3.0.1:
1330 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1331 | engines: {node: '>=6'}
1332 |
1333 | ts-api-utils@2.0.1:
1334 | resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
1335 | engines: {node: '>=18.12'}
1336 | peerDependencies:
1337 | typescript: '>=4.8.4'
1338 |
1339 | tslib@2.8.0:
1340 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
1341 |
1342 | type-check@0.4.0:
1343 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1344 | engines: {node: '>= 0.8.0'}
1345 |
1346 | typescript-eslint@8.26.1:
1347 | resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==}
1348 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1349 | peerDependencies:
1350 | eslint: ^8.57.0 || ^9.0.0
1351 | typescript: '>=4.8.4 <5.9.0'
1352 |
1353 | typescript@5.8.2:
1354 | resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
1355 | engines: {node: '>=14.17'}
1356 | hasBin: true
1357 |
1358 | universalify@0.1.2:
1359 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
1360 | engines: {node: '>= 4.0.0'}
1361 |
1362 | uri-js@4.4.1:
1363 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1364 |
1365 | util-deprecate@1.0.2:
1366 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1367 |
1368 | uuid@9.0.1:
1369 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
1370 | hasBin: true
1371 |
1372 | vite@6.2.2:
1373 | resolution: {integrity: sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==}
1374 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1375 | hasBin: true
1376 | peerDependencies:
1377 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
1378 | jiti: '>=1.21.0'
1379 | less: '*'
1380 | lightningcss: ^1.21.0
1381 | sass: '*'
1382 | sass-embedded: '*'
1383 | stylus: '*'
1384 | sugarss: '*'
1385 | terser: ^5.16.0
1386 | tsx: ^4.8.1
1387 | yaml: ^2.4.2
1388 | peerDependenciesMeta:
1389 | '@types/node':
1390 | optional: true
1391 | jiti:
1392 | optional: true
1393 | less:
1394 | optional: true
1395 | lightningcss:
1396 | optional: true
1397 | sass:
1398 | optional: true
1399 | sass-embedded:
1400 | optional: true
1401 | stylus:
1402 | optional: true
1403 | sugarss:
1404 | optional: true
1405 | terser:
1406 | optional: true
1407 | tsx:
1408 | optional: true
1409 | yaml:
1410 | optional: true
1411 |
1412 | vitefu@1.0.4:
1413 | resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==}
1414 | peerDependencies:
1415 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
1416 | peerDependenciesMeta:
1417 | vite:
1418 | optional: true
1419 |
1420 | which@2.0.2:
1421 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1422 | engines: {node: '>= 8'}
1423 | hasBin: true
1424 |
1425 | word-wrap@1.2.5:
1426 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1427 | engines: {node: '>=0.10.0'}
1428 |
1429 | yaml@1.10.2:
1430 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
1431 | engines: {node: '>= 6'}
1432 |
1433 | yocto-queue@0.1.0:
1434 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1435 | engines: {node: '>=10'}
1436 |
1437 | zimmerframe@1.1.2:
1438 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
1439 |
1440 | snapshots:
1441 |
1442 | '@ampproject/remapping@2.3.0':
1443 | dependencies:
1444 | '@jridgewell/gen-mapping': 0.3.5
1445 | '@jridgewell/trace-mapping': 0.3.25
1446 |
1447 | '@babel/runtime@7.26.0':
1448 | dependencies:
1449 | regenerator-runtime: 0.14.1
1450 |
1451 | '@changesets/apply-release-plan@7.0.10':
1452 | dependencies:
1453 | '@changesets/config': 3.1.1
1454 | '@changesets/get-version-range-type': 0.4.0
1455 | '@changesets/git': 3.0.2
1456 | '@changesets/should-skip-package': 0.1.2
1457 | '@changesets/types': 6.1.0
1458 | '@manypkg/get-packages': 1.1.3
1459 | detect-indent: 6.1.0
1460 | fs-extra: 7.0.1
1461 | lodash.startcase: 4.4.0
1462 | outdent: 0.5.0
1463 | prettier: 2.8.8
1464 | resolve-from: 5.0.0
1465 | semver: 7.6.3
1466 |
1467 | '@changesets/assemble-release-plan@6.0.6':
1468 | dependencies:
1469 | '@changesets/errors': 0.2.0
1470 | '@changesets/get-dependents-graph': 2.1.3
1471 | '@changesets/should-skip-package': 0.1.2
1472 | '@changesets/types': 6.1.0
1473 | '@manypkg/get-packages': 1.1.3
1474 | semver: 7.6.3
1475 |
1476 | '@changesets/changelog-git@0.2.1':
1477 | dependencies:
1478 | '@changesets/types': 6.1.0
1479 |
1480 | '@changesets/cli@2.28.1':
1481 | dependencies:
1482 | '@changesets/apply-release-plan': 7.0.10
1483 | '@changesets/assemble-release-plan': 6.0.6
1484 | '@changesets/changelog-git': 0.2.1
1485 | '@changesets/config': 3.1.1
1486 | '@changesets/errors': 0.2.0
1487 | '@changesets/get-dependents-graph': 2.1.3
1488 | '@changesets/get-release-plan': 4.0.8
1489 | '@changesets/git': 3.0.2
1490 | '@changesets/logger': 0.1.1
1491 | '@changesets/pre': 2.0.2
1492 | '@changesets/read': 0.6.3
1493 | '@changesets/should-skip-package': 0.1.2
1494 | '@changesets/types': 6.1.0
1495 | '@changesets/write': 0.4.0
1496 | '@manypkg/get-packages': 1.1.3
1497 | ansi-colors: 4.1.3
1498 | ci-info: 3.9.0
1499 | enquirer: 2.4.1
1500 | external-editor: 3.1.0
1501 | fs-extra: 7.0.1
1502 | mri: 1.2.0
1503 | p-limit: 2.3.0
1504 | package-manager-detector: 0.2.11
1505 | picocolors: 1.1.1
1506 | resolve-from: 5.0.0
1507 | semver: 7.6.3
1508 | spawndamnit: 3.0.1
1509 | term-size: 2.2.1
1510 |
1511 | '@changesets/config@3.1.1':
1512 | dependencies:
1513 | '@changesets/errors': 0.2.0
1514 | '@changesets/get-dependents-graph': 2.1.3
1515 | '@changesets/logger': 0.1.1
1516 | '@changesets/types': 6.1.0
1517 | '@manypkg/get-packages': 1.1.3
1518 | fs-extra: 7.0.1
1519 | micromatch: 4.0.8
1520 |
1521 | '@changesets/errors@0.2.0':
1522 | dependencies:
1523 | extendable-error: 0.1.7
1524 |
1525 | '@changesets/get-dependents-graph@2.1.3':
1526 | dependencies:
1527 | '@changesets/types': 6.1.0
1528 | '@manypkg/get-packages': 1.1.3
1529 | picocolors: 1.1.1
1530 | semver: 7.6.3
1531 |
1532 | '@changesets/get-release-plan@4.0.8':
1533 | dependencies:
1534 | '@changesets/assemble-release-plan': 6.0.6
1535 | '@changesets/config': 3.1.1
1536 | '@changesets/pre': 2.0.2
1537 | '@changesets/read': 0.6.3
1538 | '@changesets/types': 6.1.0
1539 | '@manypkg/get-packages': 1.1.3
1540 |
1541 | '@changesets/get-version-range-type@0.4.0': {}
1542 |
1543 | '@changesets/git@3.0.2':
1544 | dependencies:
1545 | '@changesets/errors': 0.2.0
1546 | '@manypkg/get-packages': 1.1.3
1547 | is-subdir: 1.2.0
1548 | micromatch: 4.0.8
1549 | spawndamnit: 3.0.1
1550 |
1551 | '@changesets/logger@0.1.1':
1552 | dependencies:
1553 | picocolors: 1.1.1
1554 |
1555 | '@changesets/parse@0.4.1':
1556 | dependencies:
1557 | '@changesets/types': 6.1.0
1558 | js-yaml: 3.14.1
1559 |
1560 | '@changesets/pre@2.0.2':
1561 | dependencies:
1562 | '@changesets/errors': 0.2.0
1563 | '@changesets/types': 6.1.0
1564 | '@manypkg/get-packages': 1.1.3
1565 | fs-extra: 7.0.1
1566 |
1567 | '@changesets/read@0.6.3':
1568 | dependencies:
1569 | '@changesets/git': 3.0.2
1570 | '@changesets/logger': 0.1.1
1571 | '@changesets/parse': 0.4.1
1572 | '@changesets/types': 6.1.0
1573 | fs-extra: 7.0.1
1574 | p-filter: 2.1.0
1575 | picocolors: 1.1.1
1576 |
1577 | '@changesets/should-skip-package@0.1.2':
1578 | dependencies:
1579 | '@changesets/types': 6.1.0
1580 | '@manypkg/get-packages': 1.1.3
1581 |
1582 | '@changesets/types@4.1.0': {}
1583 |
1584 | '@changesets/types@6.1.0': {}
1585 |
1586 | '@changesets/write@0.4.0':
1587 | dependencies:
1588 | '@changesets/types': 6.1.0
1589 | fs-extra: 7.0.1
1590 | human-id: 4.1.1
1591 | prettier: 2.8.8
1592 |
1593 | '@esbuild/aix-ppc64@0.25.1':
1594 | optional: true
1595 |
1596 | '@esbuild/android-arm64@0.25.1':
1597 | optional: true
1598 |
1599 | '@esbuild/android-arm@0.25.1':
1600 | optional: true
1601 |
1602 | '@esbuild/android-x64@0.25.1':
1603 | optional: true
1604 |
1605 | '@esbuild/darwin-arm64@0.25.1':
1606 | optional: true
1607 |
1608 | '@esbuild/darwin-x64@0.25.1':
1609 | optional: true
1610 |
1611 | '@esbuild/freebsd-arm64@0.25.1':
1612 | optional: true
1613 |
1614 | '@esbuild/freebsd-x64@0.25.1':
1615 | optional: true
1616 |
1617 | '@esbuild/linux-arm64@0.25.1':
1618 | optional: true
1619 |
1620 | '@esbuild/linux-arm@0.25.1':
1621 | optional: true
1622 |
1623 | '@esbuild/linux-ia32@0.25.1':
1624 | optional: true
1625 |
1626 | '@esbuild/linux-loong64@0.25.1':
1627 | optional: true
1628 |
1629 | '@esbuild/linux-mips64el@0.25.1':
1630 | optional: true
1631 |
1632 | '@esbuild/linux-ppc64@0.25.1':
1633 | optional: true
1634 |
1635 | '@esbuild/linux-riscv64@0.25.1':
1636 | optional: true
1637 |
1638 | '@esbuild/linux-s390x@0.25.1':
1639 | optional: true
1640 |
1641 | '@esbuild/linux-x64@0.25.1':
1642 | optional: true
1643 |
1644 | '@esbuild/netbsd-arm64@0.25.1':
1645 | optional: true
1646 |
1647 | '@esbuild/netbsd-x64@0.25.1':
1648 | optional: true
1649 |
1650 | '@esbuild/openbsd-arm64@0.25.1':
1651 | optional: true
1652 |
1653 | '@esbuild/openbsd-x64@0.25.1':
1654 | optional: true
1655 |
1656 | '@esbuild/sunos-x64@0.25.1':
1657 | optional: true
1658 |
1659 | '@esbuild/win32-arm64@0.25.1':
1660 | optional: true
1661 |
1662 | '@esbuild/win32-ia32@0.25.1':
1663 | optional: true
1664 |
1665 | '@esbuild/win32-x64@0.25.1':
1666 | optional: true
1667 |
1668 | '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0)':
1669 | dependencies:
1670 | eslint: 9.22.0
1671 | eslint-visitor-keys: 3.4.3
1672 |
1673 | '@eslint-community/regexpp@4.12.1': {}
1674 |
1675 | '@eslint/config-array@0.19.2':
1676 | dependencies:
1677 | '@eslint/object-schema': 2.1.6
1678 | debug: 4.4.0
1679 | minimatch: 3.1.2
1680 | transitivePeerDependencies:
1681 | - supports-color
1682 |
1683 | '@eslint/config-helpers@0.1.0': {}
1684 |
1685 | '@eslint/core@0.12.0':
1686 | dependencies:
1687 | '@types/json-schema': 7.0.15
1688 |
1689 | '@eslint/eslintrc@3.3.0':
1690 | dependencies:
1691 | ajv: 6.12.6
1692 | debug: 4.4.0
1693 | espree: 10.3.0
1694 | globals: 14.0.0
1695 | ignore: 5.3.2
1696 | import-fresh: 3.3.0
1697 | js-yaml: 4.1.0
1698 | minimatch: 3.1.2
1699 | strip-json-comments: 3.1.1
1700 | transitivePeerDependencies:
1701 | - supports-color
1702 |
1703 | '@eslint/js@9.22.0': {}
1704 |
1705 | '@eslint/object-schema@2.1.6': {}
1706 |
1707 | '@eslint/plugin-kit@0.2.7':
1708 | dependencies:
1709 | '@eslint/core': 0.12.0
1710 | levn: 0.4.1
1711 |
1712 | '@humanfs/core@0.19.1': {}
1713 |
1714 | '@humanfs/node@0.16.6':
1715 | dependencies:
1716 | '@humanfs/core': 0.19.1
1717 | '@humanwhocodes/retry': 0.3.1
1718 |
1719 | '@humanwhocodes/module-importer@1.0.1': {}
1720 |
1721 | '@humanwhocodes/retry@0.3.1': {}
1722 |
1723 | '@humanwhocodes/retry@0.4.2': {}
1724 |
1725 | '@instantdb/core@0.19.14':
1726 | dependencies:
1727 | mutative: 1.2.0
1728 | uuid: 9.0.1
1729 |
1730 | '@jridgewell/gen-mapping@0.3.5':
1731 | dependencies:
1732 | '@jridgewell/set-array': 1.2.1
1733 | '@jridgewell/sourcemap-codec': 1.5.0
1734 | '@jridgewell/trace-mapping': 0.3.25
1735 |
1736 | '@jridgewell/resolve-uri@3.1.2': {}
1737 |
1738 | '@jridgewell/set-array@1.2.1': {}
1739 |
1740 | '@jridgewell/sourcemap-codec@1.5.0': {}
1741 |
1742 | '@jridgewell/trace-mapping@0.3.25':
1743 | dependencies:
1744 | '@jridgewell/resolve-uri': 3.1.2
1745 | '@jridgewell/sourcemap-codec': 1.5.0
1746 |
1747 | '@manypkg/find-root@1.1.0':
1748 | dependencies:
1749 | '@babel/runtime': 7.26.0
1750 | '@types/node': 12.20.55
1751 | find-up: 4.1.0
1752 | fs-extra: 8.1.0
1753 |
1754 | '@manypkg/get-packages@1.1.3':
1755 | dependencies:
1756 | '@babel/runtime': 7.26.0
1757 | '@changesets/types': 4.1.0
1758 | '@manypkg/find-root': 1.1.0
1759 | fs-extra: 8.1.0
1760 | globby: 11.1.0
1761 | read-yaml-file: 1.1.0
1762 |
1763 | '@nodelib/fs.scandir@2.1.5':
1764 | dependencies:
1765 | '@nodelib/fs.stat': 2.0.5
1766 | run-parallel: 1.2.0
1767 |
1768 | '@nodelib/fs.stat@2.0.5': {}
1769 |
1770 | '@nodelib/fs.walk@1.2.8':
1771 | dependencies:
1772 | '@nodelib/fs.scandir': 2.1.5
1773 | fastq: 1.17.1
1774 |
1775 | '@polka/url@1.0.0-next.28': {}
1776 |
1777 | '@publint/pack@0.1.2': {}
1778 |
1779 | '@rollup/rollup-android-arm-eabi@4.35.0':
1780 | optional: true
1781 |
1782 | '@rollup/rollup-android-arm64@4.35.0':
1783 | optional: true
1784 |
1785 | '@rollup/rollup-darwin-arm64@4.35.0':
1786 | optional: true
1787 |
1788 | '@rollup/rollup-darwin-x64@4.35.0':
1789 | optional: true
1790 |
1791 | '@rollup/rollup-freebsd-arm64@4.35.0':
1792 | optional: true
1793 |
1794 | '@rollup/rollup-freebsd-x64@4.35.0':
1795 | optional: true
1796 |
1797 | '@rollup/rollup-linux-arm-gnueabihf@4.35.0':
1798 | optional: true
1799 |
1800 | '@rollup/rollup-linux-arm-musleabihf@4.35.0':
1801 | optional: true
1802 |
1803 | '@rollup/rollup-linux-arm64-gnu@4.35.0':
1804 | optional: true
1805 |
1806 | '@rollup/rollup-linux-arm64-musl@4.35.0':
1807 | optional: true
1808 |
1809 | '@rollup/rollup-linux-loongarch64-gnu@4.35.0':
1810 | optional: true
1811 |
1812 | '@rollup/rollup-linux-powerpc64le-gnu@4.35.0':
1813 | optional: true
1814 |
1815 | '@rollup/rollup-linux-riscv64-gnu@4.35.0':
1816 | optional: true
1817 |
1818 | '@rollup/rollup-linux-s390x-gnu@4.35.0':
1819 | optional: true
1820 |
1821 | '@rollup/rollup-linux-x64-gnu@4.35.0':
1822 | optional: true
1823 |
1824 | '@rollup/rollup-linux-x64-musl@4.35.0':
1825 | optional: true
1826 |
1827 | '@rollup/rollup-win32-arm64-msvc@4.35.0':
1828 | optional: true
1829 |
1830 | '@rollup/rollup-win32-ia32-msvc@4.35.0':
1831 | optional: true
1832 |
1833 | '@rollup/rollup-win32-x64-msvc@4.35.0':
1834 | optional: true
1835 |
1836 | '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.0)':
1837 | dependencies:
1838 | acorn: 8.14.0
1839 |
1840 | '@sveltejs/adapter-auto@4.0.0(@sveltejs/kit@2.19.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2))':
1841 | dependencies:
1842 | '@sveltejs/kit': 2.19.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2)
1843 | import-meta-resolve: 4.1.0
1844 |
1845 | '@sveltejs/kit@2.19.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2)':
1846 | dependencies:
1847 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.23.0)(vite@6.2.2)
1848 | '@types/cookie': 0.6.0
1849 | cookie: 0.6.0
1850 | devalue: 5.1.1
1851 | esm-env: 1.2.2
1852 | import-meta-resolve: 4.1.0
1853 | kleur: 4.1.5
1854 | magic-string: 0.30.17
1855 | mrmime: 2.0.0
1856 | sade: 1.8.1
1857 | set-cookie-parser: 2.7.1
1858 | sirv: 3.0.0
1859 | svelte: 5.23.0
1860 | vite: 6.2.2
1861 |
1862 | '@sveltejs/package@2.3.10(svelte@5.23.0)(typescript@5.8.2)':
1863 | dependencies:
1864 | chokidar: 4.0.3
1865 | kleur: 4.1.5
1866 | sade: 1.8.1
1867 | semver: 7.6.3
1868 | svelte: 5.23.0
1869 | svelte2tsx: 0.7.35(svelte@5.23.0)(typescript@5.8.2)
1870 | transitivePeerDependencies:
1871 | - typescript
1872 |
1873 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2)':
1874 | dependencies:
1875 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.23.0)(vite@6.2.2)
1876 | debug: 4.4.0
1877 | svelte: 5.23.0
1878 | vite: 6.2.2
1879 | transitivePeerDependencies:
1880 | - supports-color
1881 |
1882 | '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2)':
1883 | dependencies:
1884 | '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.23.0)(vite@6.2.2))(svelte@5.23.0)(vite@6.2.2)
1885 | debug: 4.4.0
1886 | deepmerge: 4.3.1
1887 | kleur: 4.1.5
1888 | magic-string: 0.30.17
1889 | svelte: 5.23.0
1890 | vite: 6.2.2
1891 | vitefu: 1.0.4(vite@6.2.2)
1892 | transitivePeerDependencies:
1893 | - supports-color
1894 |
1895 | '@types/cookie@0.6.0': {}
1896 |
1897 | '@types/eslint@9.6.1':
1898 | dependencies:
1899 | '@types/estree': 1.0.6
1900 | '@types/json-schema': 7.0.15
1901 |
1902 | '@types/estree@1.0.6': {}
1903 |
1904 | '@types/json-schema@7.0.15': {}
1905 |
1906 | '@types/node@12.20.55': {}
1907 |
1908 | '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)':
1909 | dependencies:
1910 | '@eslint-community/regexpp': 4.12.1
1911 | '@typescript-eslint/parser': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
1912 | '@typescript-eslint/scope-manager': 8.26.1
1913 | '@typescript-eslint/type-utils': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
1914 | '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
1915 | '@typescript-eslint/visitor-keys': 8.26.1
1916 | eslint: 9.22.0
1917 | graphemer: 1.4.0
1918 | ignore: 5.3.2
1919 | natural-compare: 1.4.0
1920 | ts-api-utils: 2.0.1(typescript@5.8.2)
1921 | typescript: 5.8.2
1922 | transitivePeerDependencies:
1923 | - supports-color
1924 |
1925 | '@typescript-eslint/parser@8.26.1(eslint@9.22.0)(typescript@5.8.2)':
1926 | dependencies:
1927 | '@typescript-eslint/scope-manager': 8.26.1
1928 | '@typescript-eslint/types': 8.26.1
1929 | '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2)
1930 | '@typescript-eslint/visitor-keys': 8.26.1
1931 | debug: 4.4.0
1932 | eslint: 9.22.0
1933 | typescript: 5.8.2
1934 | transitivePeerDependencies:
1935 | - supports-color
1936 |
1937 | '@typescript-eslint/scope-manager@8.26.1':
1938 | dependencies:
1939 | '@typescript-eslint/types': 8.26.1
1940 | '@typescript-eslint/visitor-keys': 8.26.1
1941 |
1942 | '@typescript-eslint/type-utils@8.26.1(eslint@9.22.0)(typescript@5.8.2)':
1943 | dependencies:
1944 | '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2)
1945 | '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
1946 | debug: 4.4.0
1947 | eslint: 9.22.0
1948 | ts-api-utils: 2.0.1(typescript@5.8.2)
1949 | typescript: 5.8.2
1950 | transitivePeerDependencies:
1951 | - supports-color
1952 |
1953 | '@typescript-eslint/types@8.26.1': {}
1954 |
1955 | '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)':
1956 | dependencies:
1957 | '@typescript-eslint/types': 8.26.1
1958 | '@typescript-eslint/visitor-keys': 8.26.1
1959 | debug: 4.4.0
1960 | fast-glob: 3.3.2
1961 | is-glob: 4.0.3
1962 | minimatch: 9.0.5
1963 | semver: 7.6.3
1964 | ts-api-utils: 2.0.1(typescript@5.8.2)
1965 | typescript: 5.8.2
1966 | transitivePeerDependencies:
1967 | - supports-color
1968 |
1969 | '@typescript-eslint/utils@8.26.1(eslint@9.22.0)(typescript@5.8.2)':
1970 | dependencies:
1971 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0)
1972 | '@typescript-eslint/scope-manager': 8.26.1
1973 | '@typescript-eslint/types': 8.26.1
1974 | '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2)
1975 | eslint: 9.22.0
1976 | typescript: 5.8.2
1977 | transitivePeerDependencies:
1978 | - supports-color
1979 |
1980 | '@typescript-eslint/visitor-keys@8.26.1':
1981 | dependencies:
1982 | '@typescript-eslint/types': 8.26.1
1983 | eslint-visitor-keys: 4.2.0
1984 |
1985 | acorn-jsx@5.3.2(acorn@8.14.0):
1986 | dependencies:
1987 | acorn: 8.14.0
1988 |
1989 | acorn@8.14.0: {}
1990 |
1991 | ajv@6.12.6:
1992 | dependencies:
1993 | fast-deep-equal: 3.1.3
1994 | fast-json-stable-stringify: 2.1.0
1995 | json-schema-traverse: 0.4.1
1996 | uri-js: 4.4.1
1997 |
1998 | ansi-colors@4.1.3: {}
1999 |
2000 | ansi-regex@5.0.1: {}
2001 |
2002 | ansi-styles@4.3.0:
2003 | dependencies:
2004 | color-convert: 2.0.1
2005 |
2006 | argparse@1.0.10:
2007 | dependencies:
2008 | sprintf-js: 1.0.3
2009 |
2010 | argparse@2.0.1: {}
2011 |
2012 | aria-query@5.3.2: {}
2013 |
2014 | array-union@2.1.0: {}
2015 |
2016 | axobject-query@4.1.0: {}
2017 |
2018 | balanced-match@1.0.2: {}
2019 |
2020 | better-path-resolve@1.0.0:
2021 | dependencies:
2022 | is-windows: 1.0.2
2023 |
2024 | brace-expansion@1.1.11:
2025 | dependencies:
2026 | balanced-match: 1.0.2
2027 | concat-map: 0.0.1
2028 |
2029 | brace-expansion@2.0.1:
2030 | dependencies:
2031 | balanced-match: 1.0.2
2032 |
2033 | braces@3.0.3:
2034 | dependencies:
2035 | fill-range: 7.1.1
2036 |
2037 | callsites@3.1.0: {}
2038 |
2039 | chalk@4.1.2:
2040 | dependencies:
2041 | ansi-styles: 4.3.0
2042 | supports-color: 7.2.0
2043 |
2044 | chardet@0.7.0: {}
2045 |
2046 | chokidar@4.0.3:
2047 | dependencies:
2048 | readdirp: 4.0.2
2049 |
2050 | ci-info@3.9.0: {}
2051 |
2052 | clsx@2.1.1: {}
2053 |
2054 | color-convert@2.0.1:
2055 | dependencies:
2056 | color-name: 1.1.4
2057 |
2058 | color-name@1.1.4: {}
2059 |
2060 | concat-map@0.0.1: {}
2061 |
2062 | cookie@0.6.0: {}
2063 |
2064 | cross-spawn@7.0.6:
2065 | dependencies:
2066 | path-key: 3.1.1
2067 | shebang-command: 2.0.0
2068 | which: 2.0.2
2069 |
2070 | cssesc@3.0.0: {}
2071 |
2072 | debug@4.4.0:
2073 | dependencies:
2074 | ms: 2.1.3
2075 |
2076 | dedent-js@1.0.1: {}
2077 |
2078 | deep-is@0.1.4: {}
2079 |
2080 | deepmerge@4.3.1: {}
2081 |
2082 | detect-indent@6.1.0: {}
2083 |
2084 | devalue@5.1.1: {}
2085 |
2086 | dir-glob@3.0.1:
2087 | dependencies:
2088 | path-type: 4.0.0
2089 |
2090 | enquirer@2.4.1:
2091 | dependencies:
2092 | ansi-colors: 4.1.3
2093 | strip-ansi: 6.0.1
2094 |
2095 | esbuild@0.25.1:
2096 | optionalDependencies:
2097 | '@esbuild/aix-ppc64': 0.25.1
2098 | '@esbuild/android-arm': 0.25.1
2099 | '@esbuild/android-arm64': 0.25.1
2100 | '@esbuild/android-x64': 0.25.1
2101 | '@esbuild/darwin-arm64': 0.25.1
2102 | '@esbuild/darwin-x64': 0.25.1
2103 | '@esbuild/freebsd-arm64': 0.25.1
2104 | '@esbuild/freebsd-x64': 0.25.1
2105 | '@esbuild/linux-arm': 0.25.1
2106 | '@esbuild/linux-arm64': 0.25.1
2107 | '@esbuild/linux-ia32': 0.25.1
2108 | '@esbuild/linux-loong64': 0.25.1
2109 | '@esbuild/linux-mips64el': 0.25.1
2110 | '@esbuild/linux-ppc64': 0.25.1
2111 | '@esbuild/linux-riscv64': 0.25.1
2112 | '@esbuild/linux-s390x': 0.25.1
2113 | '@esbuild/linux-x64': 0.25.1
2114 | '@esbuild/netbsd-arm64': 0.25.1
2115 | '@esbuild/netbsd-x64': 0.25.1
2116 | '@esbuild/openbsd-arm64': 0.25.1
2117 | '@esbuild/openbsd-x64': 0.25.1
2118 | '@esbuild/sunos-x64': 0.25.1
2119 | '@esbuild/win32-arm64': 0.25.1
2120 | '@esbuild/win32-ia32': 0.25.1
2121 | '@esbuild/win32-x64': 0.25.1
2122 |
2123 | escape-string-regexp@4.0.0: {}
2124 |
2125 | eslint-compat-utils@0.6.4(eslint@9.22.0):
2126 | dependencies:
2127 | eslint: 9.22.0
2128 | semver: 7.6.3
2129 |
2130 | eslint-config-prettier@10.1.1(eslint@9.22.0):
2131 | dependencies:
2132 | eslint: 9.22.0
2133 |
2134 | eslint-plugin-svelte@3.1.0(eslint@9.22.0)(svelte@5.23.0):
2135 | dependencies:
2136 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0)
2137 | '@jridgewell/sourcemap-codec': 1.5.0
2138 | eslint: 9.22.0
2139 | eslint-compat-utils: 0.6.4(eslint@9.22.0)
2140 | esutils: 2.0.3
2141 | known-css-properties: 0.35.0
2142 | postcss: 8.5.3
2143 | postcss-load-config: 3.1.4(postcss@8.5.3)
2144 | postcss-safe-parser: 7.0.1(postcss@8.5.3)
2145 | semver: 7.6.3
2146 | svelte-eslint-parser: 1.0.1(svelte@5.23.0)
2147 | optionalDependencies:
2148 | svelte: 5.23.0
2149 | transitivePeerDependencies:
2150 | - ts-node
2151 |
2152 | eslint-scope@8.3.0:
2153 | dependencies:
2154 | esrecurse: 4.3.0
2155 | estraverse: 5.3.0
2156 |
2157 | eslint-visitor-keys@3.4.3: {}
2158 |
2159 | eslint-visitor-keys@4.2.0: {}
2160 |
2161 | eslint@9.22.0:
2162 | dependencies:
2163 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0)
2164 | '@eslint-community/regexpp': 4.12.1
2165 | '@eslint/config-array': 0.19.2
2166 | '@eslint/config-helpers': 0.1.0
2167 | '@eslint/core': 0.12.0
2168 | '@eslint/eslintrc': 3.3.0
2169 | '@eslint/js': 9.22.0
2170 | '@eslint/plugin-kit': 0.2.7
2171 | '@humanfs/node': 0.16.6
2172 | '@humanwhocodes/module-importer': 1.0.1
2173 | '@humanwhocodes/retry': 0.4.2
2174 | '@types/estree': 1.0.6
2175 | '@types/json-schema': 7.0.15
2176 | ajv: 6.12.6
2177 | chalk: 4.1.2
2178 | cross-spawn: 7.0.6
2179 | debug: 4.4.0
2180 | escape-string-regexp: 4.0.0
2181 | eslint-scope: 8.3.0
2182 | eslint-visitor-keys: 4.2.0
2183 | espree: 10.3.0
2184 | esquery: 1.6.0
2185 | esutils: 2.0.3
2186 | fast-deep-equal: 3.1.3
2187 | file-entry-cache: 8.0.0
2188 | find-up: 5.0.0
2189 | glob-parent: 6.0.2
2190 | ignore: 5.3.2
2191 | imurmurhash: 0.1.4
2192 | is-glob: 4.0.3
2193 | json-stable-stringify-without-jsonify: 1.0.1
2194 | lodash.merge: 4.6.2
2195 | minimatch: 3.1.2
2196 | natural-compare: 1.4.0
2197 | optionator: 0.9.4
2198 | transitivePeerDependencies:
2199 | - supports-color
2200 |
2201 | esm-env@1.2.2: {}
2202 |
2203 | espree@10.3.0:
2204 | dependencies:
2205 | acorn: 8.14.0
2206 | acorn-jsx: 5.3.2(acorn@8.14.0)
2207 | eslint-visitor-keys: 4.2.0
2208 |
2209 | esprima@4.0.1: {}
2210 |
2211 | esquery@1.6.0:
2212 | dependencies:
2213 | estraverse: 5.3.0
2214 |
2215 | esrap@1.4.5:
2216 | dependencies:
2217 | '@jridgewell/sourcemap-codec': 1.5.0
2218 |
2219 | esrecurse@4.3.0:
2220 | dependencies:
2221 | estraverse: 5.3.0
2222 |
2223 | estraverse@5.3.0: {}
2224 |
2225 | esutils@2.0.3: {}
2226 |
2227 | extendable-error@0.1.7: {}
2228 |
2229 | external-editor@3.1.0:
2230 | dependencies:
2231 | chardet: 0.7.0
2232 | iconv-lite: 0.4.24
2233 | tmp: 0.0.33
2234 |
2235 | fast-deep-equal@3.1.3: {}
2236 |
2237 | fast-glob@3.3.2:
2238 | dependencies:
2239 | '@nodelib/fs.stat': 2.0.5
2240 | '@nodelib/fs.walk': 1.2.8
2241 | glob-parent: 5.1.2
2242 | merge2: 1.4.1
2243 | micromatch: 4.0.8
2244 |
2245 | fast-json-stable-stringify@2.1.0: {}
2246 |
2247 | fast-levenshtein@2.0.6: {}
2248 |
2249 | fastq@1.17.1:
2250 | dependencies:
2251 | reusify: 1.0.4
2252 |
2253 | fdir@6.4.2: {}
2254 |
2255 | file-entry-cache@8.0.0:
2256 | dependencies:
2257 | flat-cache: 4.0.1
2258 |
2259 | fill-range@7.1.1:
2260 | dependencies:
2261 | to-regex-range: 5.0.1
2262 |
2263 | find-up@4.1.0:
2264 | dependencies:
2265 | locate-path: 5.0.0
2266 | path-exists: 4.0.0
2267 |
2268 | find-up@5.0.0:
2269 | dependencies:
2270 | locate-path: 6.0.0
2271 | path-exists: 4.0.0
2272 |
2273 | flat-cache@4.0.1:
2274 | dependencies:
2275 | flatted: 3.3.1
2276 | keyv: 4.5.4
2277 |
2278 | flatted@3.3.1: {}
2279 |
2280 | fs-extra@7.0.1:
2281 | dependencies:
2282 | graceful-fs: 4.2.11
2283 | jsonfile: 4.0.0
2284 | universalify: 0.1.2
2285 |
2286 | fs-extra@8.1.0:
2287 | dependencies:
2288 | graceful-fs: 4.2.11
2289 | jsonfile: 4.0.0
2290 | universalify: 0.1.2
2291 |
2292 | fsevents@2.3.3:
2293 | optional: true
2294 |
2295 | glob-parent@5.1.2:
2296 | dependencies:
2297 | is-glob: 4.0.3
2298 |
2299 | glob-parent@6.0.2:
2300 | dependencies:
2301 | is-glob: 4.0.3
2302 |
2303 | globals@14.0.0: {}
2304 |
2305 | globals@16.0.0: {}
2306 |
2307 | globby@11.1.0:
2308 | dependencies:
2309 | array-union: 2.1.0
2310 | dir-glob: 3.0.1
2311 | fast-glob: 3.3.2
2312 | ignore: 5.3.2
2313 | merge2: 1.4.1
2314 | slash: 3.0.0
2315 |
2316 | graceful-fs@4.2.11: {}
2317 |
2318 | graphemer@1.4.0: {}
2319 |
2320 | has-flag@4.0.0: {}
2321 |
2322 | human-id@4.1.1: {}
2323 |
2324 | iconv-lite@0.4.24:
2325 | dependencies:
2326 | safer-buffer: 2.1.2
2327 |
2328 | ignore@5.3.2: {}
2329 |
2330 | import-fresh@3.3.0:
2331 | dependencies:
2332 | parent-module: 1.0.1
2333 | resolve-from: 4.0.0
2334 |
2335 | import-meta-resolve@4.1.0: {}
2336 |
2337 | imurmurhash@0.1.4: {}
2338 |
2339 | is-extglob@2.1.1: {}
2340 |
2341 | is-glob@4.0.3:
2342 | dependencies:
2343 | is-extglob: 2.1.1
2344 |
2345 | is-number@7.0.0: {}
2346 |
2347 | is-reference@3.0.3:
2348 | dependencies:
2349 | '@types/estree': 1.0.6
2350 |
2351 | is-subdir@1.2.0:
2352 | dependencies:
2353 | better-path-resolve: 1.0.0
2354 |
2355 | is-windows@1.0.2: {}
2356 |
2357 | isexe@2.0.0: {}
2358 |
2359 | js-yaml@3.14.1:
2360 | dependencies:
2361 | argparse: 1.0.10
2362 | esprima: 4.0.1
2363 |
2364 | js-yaml@4.1.0:
2365 | dependencies:
2366 | argparse: 2.0.1
2367 |
2368 | json-buffer@3.0.1: {}
2369 |
2370 | json-schema-traverse@0.4.1: {}
2371 |
2372 | json-stable-stringify-without-jsonify@1.0.1: {}
2373 |
2374 | jsonfile@4.0.0:
2375 | optionalDependencies:
2376 | graceful-fs: 4.2.11
2377 |
2378 | keyv@4.5.4:
2379 | dependencies:
2380 | json-buffer: 3.0.1
2381 |
2382 | kleur@4.1.5: {}
2383 |
2384 | known-css-properties@0.35.0: {}
2385 |
2386 | levn@0.4.1:
2387 | dependencies:
2388 | prelude-ls: 1.2.1
2389 | type-check: 0.4.0
2390 |
2391 | lilconfig@2.1.0: {}
2392 |
2393 | locate-character@3.0.0: {}
2394 |
2395 | locate-path@5.0.0:
2396 | dependencies:
2397 | p-locate: 4.1.0
2398 |
2399 | locate-path@6.0.0:
2400 | dependencies:
2401 | p-locate: 5.0.0
2402 |
2403 | lodash.merge@4.6.2: {}
2404 |
2405 | lodash.startcase@4.4.0: {}
2406 |
2407 | lower-case@2.0.2:
2408 | dependencies:
2409 | tslib: 2.8.0
2410 |
2411 | magic-string@0.30.17:
2412 | dependencies:
2413 | '@jridgewell/sourcemap-codec': 1.5.0
2414 |
2415 | merge2@1.4.1: {}
2416 |
2417 | micromatch@4.0.8:
2418 | dependencies:
2419 | braces: 3.0.3
2420 | picomatch: 2.3.1
2421 |
2422 | minimatch@3.1.2:
2423 | dependencies:
2424 | brace-expansion: 1.1.11
2425 |
2426 | minimatch@9.0.5:
2427 | dependencies:
2428 | brace-expansion: 2.0.1
2429 |
2430 | mri@1.2.0: {}
2431 |
2432 | mrmime@2.0.0: {}
2433 |
2434 | ms@2.1.3: {}
2435 |
2436 | mutative@1.2.0: {}
2437 |
2438 | nanoid@3.3.9: {}
2439 |
2440 | natural-compare@1.4.0: {}
2441 |
2442 | no-case@3.0.4:
2443 | dependencies:
2444 | lower-case: 2.0.2
2445 | tslib: 2.8.0
2446 |
2447 | optionator@0.9.4:
2448 | dependencies:
2449 | deep-is: 0.1.4
2450 | fast-levenshtein: 2.0.6
2451 | levn: 0.4.1
2452 | prelude-ls: 1.2.1
2453 | type-check: 0.4.0
2454 | word-wrap: 1.2.5
2455 |
2456 | os-tmpdir@1.0.2: {}
2457 |
2458 | outdent@0.5.0: {}
2459 |
2460 | p-filter@2.1.0:
2461 | dependencies:
2462 | p-map: 2.1.0
2463 |
2464 | p-limit@2.3.0:
2465 | dependencies:
2466 | p-try: 2.2.0
2467 |
2468 | p-limit@3.1.0:
2469 | dependencies:
2470 | yocto-queue: 0.1.0
2471 |
2472 | p-locate@4.1.0:
2473 | dependencies:
2474 | p-limit: 2.3.0
2475 |
2476 | p-locate@5.0.0:
2477 | dependencies:
2478 | p-limit: 3.1.0
2479 |
2480 | p-map@2.1.0: {}
2481 |
2482 | p-try@2.2.0: {}
2483 |
2484 | package-manager-detector@0.2.11:
2485 | dependencies:
2486 | quansync: 0.2.8
2487 |
2488 | parent-module@1.0.1:
2489 | dependencies:
2490 | callsites: 3.1.0
2491 |
2492 | pascal-case@3.1.2:
2493 | dependencies:
2494 | no-case: 3.0.4
2495 | tslib: 2.8.0
2496 |
2497 | path-exists@4.0.0: {}
2498 |
2499 | path-key@3.1.1: {}
2500 |
2501 | path-type@4.0.0: {}
2502 |
2503 | picocolors@1.1.1: {}
2504 |
2505 | picomatch@2.3.1: {}
2506 |
2507 | pify@4.0.1: {}
2508 |
2509 | postcss-load-config@3.1.4(postcss@8.5.3):
2510 | dependencies:
2511 | lilconfig: 2.1.0
2512 | yaml: 1.10.2
2513 | optionalDependencies:
2514 | postcss: 8.5.3
2515 |
2516 | postcss-safe-parser@7.0.1(postcss@8.5.3):
2517 | dependencies:
2518 | postcss: 8.5.3
2519 |
2520 | postcss-scss@4.0.9(postcss@8.5.3):
2521 | dependencies:
2522 | postcss: 8.5.3
2523 |
2524 | postcss-selector-parser@7.1.0:
2525 | dependencies:
2526 | cssesc: 3.0.0
2527 | util-deprecate: 1.0.2
2528 |
2529 | postcss@8.5.3:
2530 | dependencies:
2531 | nanoid: 3.3.9
2532 | picocolors: 1.1.1
2533 | source-map-js: 1.2.1
2534 |
2535 | prelude-ls@1.2.1: {}
2536 |
2537 | prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.23.0):
2538 | dependencies:
2539 | prettier: 3.5.3
2540 | svelte: 5.23.0
2541 |
2542 | prettier@2.8.8: {}
2543 |
2544 | prettier@3.5.3: {}
2545 |
2546 | publint@0.3.9:
2547 | dependencies:
2548 | '@publint/pack': 0.1.2
2549 | package-manager-detector: 0.2.11
2550 | picocolors: 1.1.1
2551 | sade: 1.8.1
2552 |
2553 | punycode@2.3.1: {}
2554 |
2555 | quansync@0.2.8: {}
2556 |
2557 | queue-microtask@1.2.3: {}
2558 |
2559 | read-yaml-file@1.1.0:
2560 | dependencies:
2561 | graceful-fs: 4.2.11
2562 | js-yaml: 3.14.1
2563 | pify: 4.0.1
2564 | strip-bom: 3.0.0
2565 |
2566 | readdirp@4.0.2: {}
2567 |
2568 | regenerator-runtime@0.14.1: {}
2569 |
2570 | resolve-from@4.0.0: {}
2571 |
2572 | resolve-from@5.0.0: {}
2573 |
2574 | reusify@1.0.4: {}
2575 |
2576 | rollup@4.35.0:
2577 | dependencies:
2578 | '@types/estree': 1.0.6
2579 | optionalDependencies:
2580 | '@rollup/rollup-android-arm-eabi': 4.35.0
2581 | '@rollup/rollup-android-arm64': 4.35.0
2582 | '@rollup/rollup-darwin-arm64': 4.35.0
2583 | '@rollup/rollup-darwin-x64': 4.35.0
2584 | '@rollup/rollup-freebsd-arm64': 4.35.0
2585 | '@rollup/rollup-freebsd-x64': 4.35.0
2586 | '@rollup/rollup-linux-arm-gnueabihf': 4.35.0
2587 | '@rollup/rollup-linux-arm-musleabihf': 4.35.0
2588 | '@rollup/rollup-linux-arm64-gnu': 4.35.0
2589 | '@rollup/rollup-linux-arm64-musl': 4.35.0
2590 | '@rollup/rollup-linux-loongarch64-gnu': 4.35.0
2591 | '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0
2592 | '@rollup/rollup-linux-riscv64-gnu': 4.35.0
2593 | '@rollup/rollup-linux-s390x-gnu': 4.35.0
2594 | '@rollup/rollup-linux-x64-gnu': 4.35.0
2595 | '@rollup/rollup-linux-x64-musl': 4.35.0
2596 | '@rollup/rollup-win32-arm64-msvc': 4.35.0
2597 | '@rollup/rollup-win32-ia32-msvc': 4.35.0
2598 | '@rollup/rollup-win32-x64-msvc': 4.35.0
2599 | fsevents: 2.3.3
2600 |
2601 | run-parallel@1.2.0:
2602 | dependencies:
2603 | queue-microtask: 1.2.3
2604 |
2605 | sade@1.8.1:
2606 | dependencies:
2607 | mri: 1.2.0
2608 |
2609 | safer-buffer@2.1.2: {}
2610 |
2611 | semver@7.6.3: {}
2612 |
2613 | set-cookie-parser@2.7.1: {}
2614 |
2615 | shebang-command@2.0.0:
2616 | dependencies:
2617 | shebang-regex: 3.0.0
2618 |
2619 | shebang-regex@3.0.0: {}
2620 |
2621 | signal-exit@4.1.0: {}
2622 |
2623 | sirv@3.0.0:
2624 | dependencies:
2625 | '@polka/url': 1.0.0-next.28
2626 | mrmime: 2.0.0
2627 | totalist: 3.0.1
2628 |
2629 | slash@3.0.0: {}
2630 |
2631 | source-map-js@1.2.1: {}
2632 |
2633 | spawndamnit@3.0.1:
2634 | dependencies:
2635 | cross-spawn: 7.0.6
2636 | signal-exit: 4.1.0
2637 |
2638 | sprintf-js@1.0.3: {}
2639 |
2640 | strip-ansi@6.0.1:
2641 | dependencies:
2642 | ansi-regex: 5.0.1
2643 |
2644 | strip-bom@3.0.0: {}
2645 |
2646 | strip-json-comments@3.1.1: {}
2647 |
2648 | supports-color@7.2.0:
2649 | dependencies:
2650 | has-flag: 4.0.0
2651 |
2652 | svelte-check@4.1.5(svelte@5.23.0)(typescript@5.8.2):
2653 | dependencies:
2654 | '@jridgewell/trace-mapping': 0.3.25
2655 | chokidar: 4.0.3
2656 | fdir: 6.4.2
2657 | picocolors: 1.1.1
2658 | sade: 1.8.1
2659 | svelte: 5.23.0
2660 | typescript: 5.8.2
2661 | transitivePeerDependencies:
2662 | - picomatch
2663 |
2664 | svelte-eslint-parser@1.0.1(svelte@5.23.0):
2665 | dependencies:
2666 | eslint-scope: 8.3.0
2667 | eslint-visitor-keys: 4.2.0
2668 | espree: 10.3.0
2669 | postcss: 8.5.3
2670 | postcss-scss: 4.0.9(postcss@8.5.3)
2671 | postcss-selector-parser: 7.1.0
2672 | optionalDependencies:
2673 | svelte: 5.23.0
2674 |
2675 | svelte2tsx@0.7.35(svelte@5.23.0)(typescript@5.8.2):
2676 | dependencies:
2677 | dedent-js: 1.0.1
2678 | pascal-case: 3.1.2
2679 | svelte: 5.23.0
2680 | typescript: 5.8.2
2681 |
2682 | svelte@5.23.0:
2683 | dependencies:
2684 | '@ampproject/remapping': 2.3.0
2685 | '@jridgewell/sourcemap-codec': 1.5.0
2686 | '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.0)
2687 | '@types/estree': 1.0.6
2688 | acorn: 8.14.0
2689 | aria-query: 5.3.2
2690 | axobject-query: 4.1.0
2691 | clsx: 2.1.1
2692 | esm-env: 1.2.2
2693 | esrap: 1.4.5
2694 | is-reference: 3.0.3
2695 | locate-character: 3.0.0
2696 | magic-string: 0.30.17
2697 | zimmerframe: 1.1.2
2698 |
2699 | term-size@2.2.1: {}
2700 |
2701 | tmp@0.0.33:
2702 | dependencies:
2703 | os-tmpdir: 1.0.2
2704 |
2705 | to-regex-range@5.0.1:
2706 | dependencies:
2707 | is-number: 7.0.0
2708 |
2709 | totalist@3.0.1: {}
2710 |
2711 | ts-api-utils@2.0.1(typescript@5.8.2):
2712 | dependencies:
2713 | typescript: 5.8.2
2714 |
2715 | tslib@2.8.0: {}
2716 |
2717 | type-check@0.4.0:
2718 | dependencies:
2719 | prelude-ls: 1.2.1
2720 |
2721 | typescript-eslint@8.26.1(eslint@9.22.0)(typescript@5.8.2):
2722 | dependencies:
2723 | '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
2724 | '@typescript-eslint/parser': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
2725 | '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
2726 | eslint: 9.22.0
2727 | typescript: 5.8.2
2728 | transitivePeerDependencies:
2729 | - supports-color
2730 |
2731 | typescript@5.8.2: {}
2732 |
2733 | universalify@0.1.2: {}
2734 |
2735 | uri-js@4.4.1:
2736 | dependencies:
2737 | punycode: 2.3.1
2738 |
2739 | util-deprecate@1.0.2: {}
2740 |
2741 | uuid@9.0.1: {}
2742 |
2743 | vite@6.2.2:
2744 | dependencies:
2745 | esbuild: 0.25.1
2746 | postcss: 8.5.3
2747 | rollup: 4.35.0
2748 | optionalDependencies:
2749 | fsevents: 2.3.3
2750 |
2751 | vitefu@1.0.4(vite@6.2.2):
2752 | optionalDependencies:
2753 | vite: 6.2.2
2754 |
2755 | which@2.0.2:
2756 | dependencies:
2757 | isexe: 2.0.0
2758 |
2759 | word-wrap@1.2.5: {}
2760 |
2761 | yaml@1.10.2: {}
2762 |
2763 | yocto-queue@0.1.0: {}
2764 |
2765 | zimmerframe@1.1.2: {}
2766 |
--------------------------------------------------------------------------------
/src/app.d.ts:
--------------------------------------------------------------------------------
1 | // See https://kit.svelte.dev/docs/types#app
2 | // for information about these interfaces
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | // interface Locals {}
7 | // interface PageData {}
8 | // interface PageState {}
9 | // interface Platform {}
10 | }
11 | }
12 |
13 | export {};
14 |
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | %sveltekit.head%
8 |
9 |
10 | %sveltekit.body%
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/lib/Cursors.svelte:
--------------------------------------------------------------------------------
1 |
109 |
110 |
111 |
112 |
121 | {@render children?.()}
122 |
123 | {#each Object.entries(cursorsPresence.current.peers) as [id, presence]}
124 | {#if presence[spaceId]}
125 | {@const _cursor = presence[spaceId]}
126 |
134 | {#if cursor}
135 | {@render cursor({ presence: fullPresence.peers[id], color: _cursor.color })}
136 | {:else}
137 | {@render cursorElement(_cursor.color)}
138 | {/if}
139 |
140 | {/if}
141 | {/each}
142 |
143 |
144 |
145 | {#snippet cursorElement(color)}
146 |
168 | {/snippet}
169 |
--------------------------------------------------------------------------------
/src/lib/InstantSvelteAbstractDatabase.svelte.ts:
--------------------------------------------------------------------------------
1 | import {
2 | // types
3 | Auth,
4 | Storage,
5 | txInit,
6 | type AuthState,
7 | type ConnectionStatus,
8 | type TransactionChunk,
9 | type PresenceOpts,
10 | type PresenceResponse,
11 | type RoomSchemaShape,
12 | type InstaQLParams,
13 | type InstantConfig,
14 | type PageInfoResponse,
15 | InstantCoreDatabase,
16 | init as core_init,
17 | type InstaQLLifecycleState,
18 | type InstaQLResponse,
19 | type RoomsOf,
20 | type InstantSchemaDef,
21 | type IInstantDatabase,
22 | type InstaQLOptions
23 | } from '@instantdb/core';
24 | import { useQueryInternal } from './useQuery.svelte.js';
25 | import { useTimeout } from './useTimeout.svelte.js';
26 | import { toValue, type MaybeGetter, type ReactiveValue } from './utils.js';
27 | import { untrack } from 'svelte';
28 |
29 | export type PresenceHandle = PresenceResponse<
30 | PresenceShape,
31 | Keys
32 | > & {
33 | publishPresence: (data: Partial) => void;
34 | };
35 |
36 | export type TypingIndicatorOpts = {
37 | timeout?: number | null;
38 | stopOnEnter?: boolean;
39 | // Perf opt - `active` will always be an empty array
40 | writeOnly?: boolean;
41 | };
42 |
43 | export type TypingIndicatorHandle = {
44 | active: PresenceShape[];
45 | setActive(active: boolean): void;
46 | inputProps: {
47 | onkeydown: (e: KeyboardEvent) => void;
48 | onblur: () => void;
49 | };
50 | };
51 |
52 | export const defaultActivityStopTimeout = 1_000;
53 |
54 | export class InstantSvelteRoom<
55 | Schema extends InstantSchemaDef,
56 | RoomSchema extends RoomSchemaShape,
57 | RoomType extends keyof RoomSchema
58 | > {
59 | _core: InstantCoreDatabase;
60 | type: MaybeGetter;
61 | id: MaybeGetter;
62 |
63 | constructor(
64 | _core: InstantCoreDatabase,
65 | type: MaybeGetter,
66 | id: MaybeGetter
67 | ) {
68 | this._core = _core;
69 | this.type = type;
70 | this.id = id;
71 | }
72 |
73 | /**
74 | * Listen for broadcasted events given a room and topic.
75 | *
76 | * @see https://instantdb.com/docs/presence-and-topics
77 | * @example
78 | *
85 | */
86 | useTopicEffect = (
87 | topic: MaybeGetter,
88 | onEvent: (
89 | event: RoomSchema[RoomType]['topics'][TopicType],
90 | peer: RoomSchema[RoomType]['presence']
91 | ) => any
92 | ): void => {
93 | $effect(() => {
94 | const unsubscribe = this._core._reactor.subscribeTopic(
95 | toValue(this.id),
96 | toValue(topic),
97 | (
98 | event: RoomSchema[RoomType]['topics'][TopicType],
99 | peer: RoomSchema[RoomType]['presence']
100 | ) => {
101 | onEvent(event, peer);
102 | }
103 | );
104 |
105 | return unsubscribe;
106 | });
107 | };
108 |
109 | /**
110 | * Broadcast an event to a room.
111 | *
112 | * @see https://instantdb.com/docs/presence-and-topics
113 | * @example
114 | *
122 | *
123 | *
124 | */
125 | usePublishTopic = (
126 | topic: MaybeGetter
127 | ): ((data: RoomSchema[RoomType]['topics'][Topic]) => void) => {
128 | $effect(() => {
129 | const unsubscribe = this._core._reactor.joinRoom(toValue(this.id));
130 |
131 | return unsubscribe;
132 | });
133 |
134 | const publishTopic = (data: RoomSchema[RoomType]['topics'][Topic]) => {
135 | this._core._reactor.publishTopic({
136 | roomType: toValue(untrack(() => this.type)),
137 | roomId: toValue(this.id),
138 | topic: toValue(topic),
139 | data
140 | });
141 | };
142 |
143 | return publishTopic;
144 | };
145 |
146 | /**
147 | * Listen for peer's presence data in a room, and publish the current user's presence.
148 | *
149 | * @see https://instantdb.com/docs/presence-and-topics
150 | * @example
151 | *
160 | */
161 | usePresence = (
162 | opts: MaybeGetter> = {}
163 | ): ReactiveValue> => {
164 | const getInitialState = (): PresenceResponse => {
165 | const presence = this._core._reactor.getPresence(
166 | toValue(this.type),
167 | toValue(this.id),
168 | toValue(opts)
169 | ) ?? {
170 | peers: {},
171 | isLoading: true
172 | };
173 |
174 | return {
175 | peers: presence.peers,
176 | isLoading: !!presence.isLoading,
177 | user: presence.user,
178 | error: presence.error
179 | };
180 | };
181 |
182 | const state = $state>({
183 | peers: {},
184 | isLoading: true,
185 | user: undefined,
186 | error: undefined
187 | });
188 |
189 | $effect(() => {
190 | Object.entries(getInitialState()).forEach(([key, value]) => {
191 | state[key] = value;
192 | });
193 |
194 | const unsubscribe = this._core._reactor.subscribePresence(
195 | toValue(this.type),
196 | toValue(this.id),
197 | toValue(opts),
198 | (data) => {
199 | Object.entries(data).forEach(([key, value]) => {
200 | state[key] = value;
201 | });
202 | }
203 | );
204 |
205 | return unsubscribe;
206 | });
207 |
208 | const publishPresence = (data: Partial) => {
209 | this._core._reactor.publishPresence(toValue(this.type), toValue(this.id), data);
210 | };
211 |
212 | return {
213 | get current() {
214 | return {
215 | ...state,
216 | publishPresence
217 | };
218 | }
219 | };
220 | };
221 |
222 | /**
223 | * Publishes presence data to a room
224 | *
225 | * @see https://instantdb.com/docs/presence-and-topics
226 | * @example
227 | *
232 | */
233 | useSyncPresence = (data: MaybeGetter>): void => {
234 | $effect(() => {
235 | const unsubscribe = this._core._reactor.joinRoom(toValue(this.id));
236 |
237 | return unsubscribe;
238 | });
239 |
240 | $effect(() => {
241 | const unsubscribe = this._core._reactor.publishPresence(
242 | toValue(this.type),
243 | toValue(this.id),
244 | toValue(data)
245 | );
246 |
247 | return unsubscribe;
248 | });
249 | };
250 |
251 | /**
252 | * Manage typing indicator state
253 | *
254 | * @see https://instantdb.com/docs/presence-and-topics
255 | * @example
256 | *
264 | *
265 | *
266 | */
267 | useTypingIndicator = (
268 | inputName: MaybeGetter,
269 | opts: MaybeGetter = {}
270 | ): ReactiveValue> => {
271 | const timeout = useTimeout();
272 |
273 | const onservedPresence = this.usePresence(() => ({
274 | keys: [toValue(inputName)]
275 | }));
276 |
277 | const active = $derived.by(() => {
278 | const presenceSnapshot = this._core._reactor.getPresence(
279 | toValue(this.type),
280 | toValue(this.id)
281 | );
282 | // eslint-disable-next-line @typescript-eslint/no-unused-expressions
283 | onservedPresence.current.peers;
284 |
285 | return toValue(opts)?.writeOnly
286 | ? []
287 | : Object.values(presenceSnapshot?.peers ?? {}).filter(
288 | (p) => p[toValue(inputName)] === true
289 | );
290 | });
291 |
292 | const setActive = (isActive: boolean) => {
293 | const _opts = toValue(opts);
294 | const _inputName = toValue(inputName);
295 | const type = toValue(this.type);
296 | const id = toValue(this.id);
297 | this._core._reactor.publishPresence(type, id, {
298 | [_inputName]: isActive
299 | } as unknown as Partial);
300 |
301 | if (!isActive) return;
302 |
303 | if (_opts?.timeout === null || _opts?.timeout === 0) return;
304 |
305 | timeout.set(_opts?.timeout ?? defaultActivityStopTimeout, () => {
306 | this._core._reactor.publishPresence(type, id, {
307 | [_inputName]: null
308 | } as Partial);
309 | });
310 | };
311 |
312 | return {
313 | get current() {
314 | return {
315 | active,
316 | setActive,
317 | inputProps: {
318 | onkeydown: (e: KeyboardEvent) => {
319 | const isEnter = toValue(opts)?.stopOnEnter && e.key === 'Enter';
320 | const isActive = !isEnter;
321 |
322 | setActive(isActive);
323 | },
324 | onblur: () => {
325 | setActive(false);
326 | }
327 | }
328 | };
329 | }
330 | };
331 | };
332 | }
333 |
334 | export default abstract class InstantSvelteAbstractDatabase<
335 | Schema extends InstantSchemaDef,
336 | Rooms extends RoomSchemaShape = RoomsOf
337 | > implements IInstantDatabase
338 | {
339 | public tx = txInit();
340 |
341 | public auth: Auth;
342 | public storage: Storage;
343 | public _core: InstantCoreDatabase;
344 |
345 | static Storage?: any;
346 | static NetworkListener?: any;
347 |
348 | constructor(config: InstantConfig, versions?: { [key: string]: string }) {
349 | this._core = core_init(
350 | config,
351 | // @ts-expect-error because TS can't resolve subclass statics
352 | this.constructor.Storage,
353 | // @ts-expect-error because TS can't resolve subclass statics
354 | this.constructor.NetworkListener,
355 | versions
356 | );
357 | this.auth = this._core.auth;
358 | this.storage = this._core.storage;
359 | }
360 |
361 | /**
362 | * Returns a unique ID for a given `name`. It's stored in local storage,
363 | * so you will get the same ID across sessions.
364 | *
365 | * This is useful for generating IDs that could identify a local device or user.
366 | *
367 | * @example
368 | * const deviceId = await db.getLocalId('device');
369 | */
370 | getLocalId = (name: string): Promise => {
371 | return this._core.getLocalId(name);
372 | };
373 |
374 | /**
375 | * A function that returns a unique ID for a given `name`. localIds are
376 | * stored in local storage, so you will get the same ID across sessions.
377 | *
378 | * Initially returns `null`, and then loads the localId.
379 | *
380 | * @example
381 | * const deviceId = db.useLocalId('device');
382 | * if (!deviceId) return null; // loading
383 | * console.log('Device ID:', deviceId)
384 | */
385 | useLocalId = (name: MaybeGetter): string | null => {
386 | let localId = $state(null);
387 |
388 | $effect(() => {
389 | untrack(async () => {
390 | localId = await this.getLocalId(toValue(name));
391 | });
392 | });
393 |
394 | return localId;
395 | };
396 |
397 | /**
398 | * Obtain a handle to a room, which allows you to listen to topics and presence data
399 | *
400 | * If you don't provide a `type` or `id`, Instant will default to `_defaultRoomType` and `_defaultRoomId`
401 | * as the room type and id, respectively.
402 | *
403 | * @see https://instantdb.com/docs/presence-and-topics
404 | *
405 | * @example
406 | * const {
407 | * useTopicEffect,
408 | * usePublishTopic,
409 | * useSyncPresence,
410 | * useTypingIndicator,
411 | * } = db.room(roomType, roomId);
412 | */
413 | room(
414 | type: MaybeGetter = '_defaultRoomType' as RoomType,
415 | id: MaybeGetter = '_defaultRoomId'
416 | ) {
417 | return new InstantSvelteRoom(this._core, type, id);
418 | }
419 |
420 | /**
421 | * Use this to write data! You can create, update, delete, and link objects
422 | *
423 | * @see https://instantdb.com/docs/instaml
424 | *
425 | * @example
426 | * // Create a new object in the `goals` namespace
427 | * const goalId = id();
428 | * db.transact(tx.goals[goalId].update({title: "Get fit"}))
429 | *
430 | * // Update the title
431 | * db.transact(tx.goals[goalId].update({title: "Get super fit"}))
432 | *
433 | * // Delete it
434 | * db.transact(tx.goals[goalId].delete())
435 | *
436 | * // Or create an association:
437 | * todoId = id();
438 | * db.transact([
439 | * tx.todos[todoId].update({ title: 'Go on a run' }),
440 | * tx.goals[goalId].link({todos: todoId}),
441 | * ])
442 | */
443 | transact = (chunks: TransactionChunk | TransactionChunk[]) => {
444 | return this._core.transact(chunks);
445 | };
446 |
447 | /**
448 | * Use this to query your data!
449 | *
450 | * @see https://instantdb.com/docs/instaql
451 | *
452 | * @example
453 | * // listen to all goals
454 | * db.useQuery({ goals: {} })
455 | *
456 | * // goals where the title is "Get Fit"
457 | * db.useQuery({ goals: { $: { where: { title: "Get Fit" } } } })
458 | *
459 | * // all goals, _alongside_ their todos
460 | * db.useQuery({ goals: { todos: {} } })
461 | *
462 | * // skip if `user` is not logged in
463 | * db.useQuery(auth.user ? { goals: {} } : null)
464 | */
465 | useQuery = >(
466 | query: MaybeGetter,
467 | opts?: InstaQLOptions
468 | ): ReactiveValue> => {
469 | const state = $derived(useQueryInternal(this._core, query, opts).current.state);
470 | return {
471 | get current() {
472 | return state;
473 | }
474 | };
475 | };
476 |
477 | /**
478 | * Listen for the logged in state. This is useful
479 | * for deciding when to show a login screen.
480 | *
481 | * Check out the docs for an example `Login` component too!
482 | *
483 | * @see https://instantdb.com/docs/auth
484 | * @example
485 | *
492 | *
493 | * {#if auth.current.isLoading}
494 | * Loading...
495 | * {:else if auth.current.error}
496 | * Uh oh! {auth.error.message}
497 | * {:else if auth.current.user}
498 | *
499 | * {:else}
500 | *
501 | * {/if}
502 | *
503 | */
504 | useAuth = (): ReactiveValue => {
505 | let authState = $state(this._core._reactor._currentUserCached);
506 |
507 | $effect(() => {
508 | const unsubscribe = this._core.subscribeAuth((auth) => {
509 | authState = { isLoading: false, ...auth };
510 | });
511 |
512 | return unsubscribe;
513 | });
514 |
515 | return {
516 | get current() {
517 | return authState;
518 | }
519 | };
520 | };
521 |
522 | /**
523 | * Listen for connection status changes to Instant. Use this for things like
524 | * showing connection state to users
525 | *
526 | * @see https://www.instantdb.com/docs/patterns#connection-status
527 | * @example
528 | *
545 | *
546 | * Connection state: {connectionState}
547 | */
548 | useConnectionStatus = (): ReactiveValue => {
549 | let status = $state(this._core._reactor.status as ConnectionStatus);
550 |
551 | $effect(() => {
552 | const unsubscribe = this._core.subscribeConnectionStatus((newStatus) => {
553 | if (newStatus !== status) {
554 | status = newStatus;
555 | }
556 | });
557 |
558 | return unsubscribe;
559 | });
560 |
561 | return {
562 | get current() {
563 | return status;
564 | }
565 | };
566 | };
567 |
568 | /**
569 | * Use this for one-off queries.
570 | * Returns local data if available, otherwise fetches from the server.
571 | * Because we want to avoid stale data, this method will throw an error
572 | * if the user is offline or there is no active connection to the server.
573 | *
574 | * @see https://instantdb.com/docs/instaql
575 | *
576 | * @example
577 | *
578 | * const resp = await db.queryOnce({ goals: {} });
579 | * console.log(resp.data.goals)
580 | */
581 | queryOnce = >(
582 | query: Q
583 | ): Promise<{
584 | data: InstaQLResponse;
585 | pageInfo: PageInfoResponse;
586 | }> => {
587 | return this._core.queryOnce(query);
588 | };
589 | }
590 |
--------------------------------------------------------------------------------
/src/lib/InstantSvelteWebDatabase.ts:
--------------------------------------------------------------------------------
1 | import type { InstantSchemaDef } from '@instantdb/core';
2 | import InstantSvelteAbstractDatabase from './InstantSvelteAbstractDatabase.svelte.js';
3 |
4 | export default class InstantSvelteWebDatabase<
5 | Schema extends InstantSchemaDef
6 | > extends InstantSvelteAbstractDatabase {}
7 |
--------------------------------------------------------------------------------
/src/lib/index.ts:
--------------------------------------------------------------------------------
1 | import {
2 | id,
3 | tx,
4 | lookup,
5 | i,
6 |
7 | // types
8 | type QueryResponse,
9 | type InstantQuery,
10 | type InstantQueryResult,
11 | type InstantSchema,
12 | type InstantObject,
13 | type InstantEntity,
14 | type InstantSchemaDatabase,
15 | type IInstantDatabase,
16 | type User,
17 | type AuthState,
18 | type Query,
19 | type Config,
20 | type InstaQLParams,
21 | type ConnectionStatus,
22 |
23 | // schema types
24 | type AttrsDefs,
25 | type CardinalityKind,
26 | type DataAttrDef,
27 | type EntitiesDef,
28 | type EntitiesWithLinks,
29 | type EntityDef,
30 | type InstantGraph,
31 | type LinkAttrDef,
32 | type LinkDef,
33 | type LinksDef,
34 | type ResolveAttrs,
35 | type ValueTypes,
36 | type InstaQLEntity,
37 | type InstaQLResult,
38 | type InstantUnknownSchema,
39 | type InstantSchemaDef,
40 | type BackwardsCompatibleSchema,
41 | type InstantRules
42 | } from '@instantdb/core';
43 |
44 | import InstantSvelteAbstractDatabase from './InstantSvelteAbstractDatabase.svelte.js';
45 | import InstantSvelteWebDatabase from './InstantSvelteWebDatabase.js';
46 | import { init, init_experimental } from './init.js';
47 | import Cursors from './Cursors.svelte';
48 |
49 | export {
50 | id,
51 | tx,
52 | lookup,
53 | init,
54 | init_experimental,
55 | InstantSvelteWebDatabase,
56 | Cursors,
57 | i,
58 |
59 | // internal
60 | InstantSvelteAbstractDatabase,
61 |
62 | // types
63 | type Config,
64 | type Query,
65 | type QueryResponse,
66 | type InstantObject,
67 | type User,
68 | type AuthState,
69 | type ConnectionStatus,
70 | type InstantQuery,
71 | type InstantQueryResult,
72 | type InstantSchema,
73 | type InstantEntity,
74 | type InstantSchemaDatabase,
75 | type IInstantDatabase,
76 | type InstaQLParams,
77 |
78 | // schema types
79 | type AttrsDefs,
80 | type CardinalityKind,
81 | type DataAttrDef,
82 | type EntitiesDef,
83 | type EntitiesWithLinks,
84 | type EntityDef,
85 | type InstantGraph,
86 | type LinkAttrDef,
87 | type LinkDef,
88 | type LinksDef,
89 | type ResolveAttrs,
90 | type ValueTypes,
91 | type InstaQLEntity,
92 | type InstaQLResult,
93 | type InstantUnknownSchema,
94 | type InstantSchemaDef,
95 | type BackwardsCompatibleSchema,
96 | type InstantRules
97 | };
98 |
--------------------------------------------------------------------------------
/src/lib/init.ts:
--------------------------------------------------------------------------------
1 | import type { InstantConfig, InstantSchemaDef, InstantUnknownSchema } from '@instantdb/core';
2 |
3 | import InstantSvelteWebDatabase from './InstantSvelteWebDatabase.js';
4 | import VERSION from './version.js';
5 |
6 | /**
7 | *
8 | * The first step: init your application!
9 | *
10 | * Visit https://instantdb.com/dash to get your `appId` :)
11 | *
12 | * @example
13 | * import { init } from "@instantdb/react"
14 | *
15 | * const db = init({ appId: "my-app-id" })
16 | *
17 | * // You can also provide a schema for type safety and editor autocomplete!
18 | *
19 | * import { init } from "@instantdb/react"
20 | * import schema from ""../instant.schema.ts";
21 | *
22 | * const db = init({ appId: "my-app-id", schema })
23 | *
24 | * // To learn more: https://instantdb.com/docs/modeling-data
25 | */
26 | export function init = InstantUnknownSchema>(
27 | config: InstantConfig
28 | ) {
29 | return new InstantSvelteWebDatabase(config, {
30 | 'svelte-instantdb': VERSION
31 | });
32 | }
33 |
34 | /**
35 | * @deprecated
36 | * `init_experimental` is deprecated. You can replace it with `init`.
37 | *
38 | * @example
39 | *
40 | * // Before
41 | * import { init_experimental } from "svelte-instantdb"
42 | * const db = init_experimental({ ... });
43 | *
44 | * // After
45 | * import { init } from "svelte-instantdb"
46 | * const db = init({ ... });
47 | */
48 | export const init_experimental = init;
49 |
--------------------------------------------------------------------------------
/src/lib/useQuery.svelte.ts:
--------------------------------------------------------------------------------
1 | import {
2 | weakHash,
3 | coerceQuery,
4 | type InstaQLParams,
5 | InstantCoreDatabase,
6 | type InstaQLLifecycleState,
7 | type InstantSchemaDef,
8 | type InstaQLOptions
9 | } from '@instantdb/core';
10 |
11 | import { toValue, type MaybeGetter, type ReactiveValue } from './utils.js';
12 |
13 | function stateForResult(result: any) {
14 | return {
15 | isLoading: !result,
16 | data: undefined,
17 | pageInfo: undefined,
18 | error: undefined,
19 | ...(result ? result : {})
20 | };
21 | }
22 |
23 | export function useQueryInternal<
24 | Q extends InstaQLParams,
25 | Schema extends InstantSchemaDef
26 | >(
27 | _core: InstantCoreDatabase,
28 | _query: MaybeGetter,
29 | _opts?: InstaQLOptions
30 | ): ReactiveValue<{
31 | state: InstaQLLifecycleState;
32 | query: any;
33 | }> {
34 | const query = $derived.by(() => {
35 | let finalQuery = toValue(_query);
36 | if (finalQuery && _opts && 'ruleParams' in _opts) {
37 | finalQuery = { $$ruleParams: _opts['ruleParams'], ...finalQuery };
38 | }
39 | return finalQuery ? coerceQuery(finalQuery) : null;
40 | });
41 | const queryHash = $derived(weakHash(query));
42 |
43 | const state = $state>(
44 | stateForResult(_core._reactor.getPreviousResult(query))
45 | );
46 |
47 | $effect(() => {
48 | // eslint-disable-next-line @typescript-eslint/no-unused-expressions
49 | queryHash;
50 |
51 | // Don't subscribe if query is null
52 | if (!query) {
53 | return () => {};
54 | }
55 |
56 | const unsubscribe = _core.subscribeQuery(query, (result) => {
57 | state.isLoading = !result;
58 | state.data = result.data;
59 | state.pageInfo = result.pageInfo;
60 | state.error = result.error;
61 | });
62 |
63 | return () => {
64 | unsubscribe();
65 | };
66 | });
67 |
68 | return {
69 | get current() {
70 | return {
71 | state,
72 | query
73 | };
74 | }
75 | };
76 | }
77 |
--------------------------------------------------------------------------------
/src/lib/useTimeout.svelte.ts:
--------------------------------------------------------------------------------
1 | import { untrack } from 'svelte';
2 |
3 | export function useTimeout() {
4 | let timeoutRef = $state | null>(null);
5 |
6 | $effect(() => {
7 | untrack(() => clear());
8 | });
9 |
10 | function set(delay: number, fn: () => void) {
11 | clearTimeout(timeoutRef);
12 | timeoutRef = setTimeout(fn, delay);
13 | }
14 |
15 | function clear() {
16 | clearTimeout(timeoutRef);
17 | }
18 |
19 | return { set, clear };
20 | }
21 |
--------------------------------------------------------------------------------
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | export type MaybeGetter = T | (() => T);
2 | export type ReactiveValue = {
3 | readonly current: T;
4 | };
5 |
6 | export function toValue(value: MaybeGetter): T {
7 | return typeof value === 'function' ? (value as () => T)() : value;
8 | }
9 |
--------------------------------------------------------------------------------
/src/lib/version.ts:
--------------------------------------------------------------------------------
1 | const VERSION = __LIB_VERSION__;
2 |
3 | export default VERSION;
4 |
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 | Svelte and InstantDB Demos
2 |
3 |
17 |
--------------------------------------------------------------------------------
/src/routes/auth/+page.svelte:
--------------------------------------------------------------------------------
1 |
33 |
34 | {#if auth.current.isLoading}
35 | Loading...
36 | {:else if auth.current.error}
37 | Uh oh! {auth.current.error.message}
38 | {:else if auth.current.user}
39 | Hello, {auth.current.user.email}!
40 | {:else}
41 | {@render login()}
42 | {/if}
43 |
44 | {#snippet login()}
45 |
46 | {#if !sentEmail}
47 | {@render emailForm()}
48 | {:else}
49 | {@render magicCodeForm()}
50 | {/if}
51 |
52 | {/snippet}
53 |
54 | {#snippet emailForm()}
55 |
64 | {/snippet}
65 |
66 | {#snippet magicCodeForm()}
67 |
76 | {/snippet}
77 |
78 |
112 |
--------------------------------------------------------------------------------
/src/routes/cursors/+page.svelte:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 | Move your cursor around! ✨
22 |
23 |
24 |
39 |
--------------------------------------------------------------------------------
/src/routes/todos/+page.svelte:
--------------------------------------------------------------------------------
1 |
71 |
72 |
73 | Svelte InstantDB Todo list
74 |
75 |
79 |
80 |
81 | {#if query.current.isLoading}
82 |
Fetching data...
83 | {:else if query.current.error}
84 |
Error fetching data: {query.current.error.message}
85 | {:else}
86 |
101 | {/if}
102 |
103 | {#if selectedTodo}
104 |
105 |
109 |
ID: {selectedTodo.id}
110 |
Text: {selectedTodo.text}
111 |
Done: {selectedTodo.done ? 'Yes' : 'No'}
112 |
Created At: {selectedTodo.createdAt.toLocaleString()}
113 |
114 | {/if}
115 |
116 |
117 |
118 |
261 |
--------------------------------------------------------------------------------
/src/routes/typing-indicator/+page.svelte:
--------------------------------------------------------------------------------
1 |
48 |
49 |
50 |
60 |
61 |
62 |
67 |
68 | {#if typingIndicator.current.active.length}
69 | {typingInfo(typingIndicator.current.active)}
70 | {:else}
71 |
72 | {/if}
73 |
74 |
75 |
76 |
77 |
140 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | declare const __LIB_VERSION__: string;
2 |
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wobsoriano/svelte-instantdb/aac8a02cac6cd1089fb92e8e784305ba4b6d40c6/static/favicon.png
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import adapter from '@sveltejs/adapter-auto';
2 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
3 |
4 | /** @type {import('@sveltejs/kit').Config} */
5 | const config = {
6 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors
7 | // for more information about preprocessors
8 | preprocess: vitePreprocess(),
9 |
10 | kit: {
11 | // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
12 | // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
13 | // See https://kit.svelte.dev/docs/adapters for more information about adapters.
14 | adapter: adapter()
15 | }
16 | };
17 |
18 | export default config;
19 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": true,
6 | "esModuleInterop": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "resolveJsonModule": true,
9 | "skipLibCheck": true,
10 | "sourceMap": true,
11 | "module": "NodeNext",
12 | "moduleResolution": "NodeNext"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite';
2 | import { defineConfig } from 'vite';
3 | import pkg from './package.json' with { type: 'json' };
4 |
5 | export default defineConfig({
6 | plugins: [sveltekit()],
7 | define: {
8 | __LIB_VERSION__: JSON.stringify(`v${pkg.version}`)
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/vite.version.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import pkg from './package.json' with { type: 'json' };
3 |
4 | // Why this extra Vite config? This is for adding the current library's version
5 | // and pass it to the InstantSvelteWebDatabase class option
6 |
7 | export default defineConfig({
8 | build: {
9 | emptyOutDir: false,
10 | lib: {
11 | entry: 'src/lib/version.ts',
12 | formats: ['es'],
13 | fileName: 'version'
14 | }
15 | },
16 | define: {
17 | __LIB_VERSION__: JSON.stringify(`v${pkg.version}`)
18 | }
19 | });
20 |
--------------------------------------------------------------------------------