├── api
├── .gitignore
├── client.py
├── modal_proto
│ ├── api.proto
│ ├── api_pb2.py
│ └── api_pb2_grpc.py
├── token_flow.py
└── app.py
├── web
├── .npmrc
├── src
│ ├── lib
│ │ ├── index.ts
│ │ ├── ui
│ │ │ ├── Footer.svelte
│ │ │ └── StaticGradient.svelte
│ │ ├── schemas.ts
│ │ └── assets
│ │ │ └── static-gradient.svg
│ ├── routes
│ │ ├── +layout.svelte
│ │ └── +page.svelte
│ ├── app.d.ts
│ ├── app.html
│ └── app.css
├── static
│ ├── favicon.ico
│ └── fonts
│ │ └── ToshModal-[wght].ttf
├── .prettierignore
├── postcss.config.js
├── vite.config.ts
├── .gitignore
├── .eslintignore
├── .prettierrc
├── tailwind.config.js
├── tsconfig.json
├── .eslintrc.cjs
├── svelte.config.js
├── README.md
├── package.json
└── pnpm-lock.yaml
├── .gitignore
├── README.md
└── LICENSE
/api/.gitignore:
--------------------------------------------------------------------------------
1 | __pycache__/
2 |
--------------------------------------------------------------------------------
/web/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # MAC
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/web/src/lib/index.ts:
--------------------------------------------------------------------------------
1 | // place files you want to import through the `$lib` alias in this folder.
2 |
--------------------------------------------------------------------------------
/web/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unknown/modal-deploy/main/web/static/favicon.ico
--------------------------------------------------------------------------------
/web/.prettierignore:
--------------------------------------------------------------------------------
1 | # Ignore files for PNPM, NPM and YARN
2 | pnpm-lock.yaml
3 | package-lock.json
4 | yarn.lock
5 |
--------------------------------------------------------------------------------
/web/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {}
5 | }
6 | };
7 |
--------------------------------------------------------------------------------
/web/static/fonts/ToshModal-[wght].ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unknown/modal-deploy/main/web/static/fonts/ToshModal-[wght].ttf
--------------------------------------------------------------------------------
/web/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/web/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite';
2 | import { defineConfig } from 'vite';
3 |
4 | export default defineConfig({
5 | plugins: [sveltekit()]
6 | });
7 |
--------------------------------------------------------------------------------
/web/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 | vite.config.js.timestamp-*
10 | vite.config.ts.timestamp-*
11 |
--------------------------------------------------------------------------------
/web/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/web/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
7 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
8 | }
9 |
--------------------------------------------------------------------------------
/web/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 |
--------------------------------------------------------------------------------
/web/src/lib/ui/Footer.svelte:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/web/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | %sveltekit.head%
8 |
9 |
10 | %sveltekit.body%
11 |
12 |
13 |
--------------------------------------------------------------------------------
/api/client.py:
--------------------------------------------------------------------------------
1 | import grpc
2 |
3 | from modal_proto import api_pb2_grpc
4 |
5 |
6 | class ModalClient:
7 | def __init__(self):
8 | self._channel = grpc.secure_channel(
9 | "api.modal.com:443", grpc.ssl_channel_credentials()
10 | )
11 | self._stub = api_pb2_grpc.ModalClientStub(self._channel)
12 |
13 | @property
14 | def stub(self):
15 | return self._stub
16 |
--------------------------------------------------------------------------------
/web/src/lib/ui/StaticGradient.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
14 |
--------------------------------------------------------------------------------
/web/tailwind.config.js:
--------------------------------------------------------------------------------
1 | import defaultTheme from 'tailwindcss/defaultTheme';
2 |
3 | /** @type {import('tailwindcss').Config} */
4 | export default {
5 | content: ['./src/**/*.{html,js,svelte,ts}'],
6 | theme: {
7 | extend: {
8 | fontFamily: {
9 | sans: ['Inter Variable', ...defaultTheme.fontFamily.sans],
10 | tosh_modal: ['Tosh Modal', ...defaultTheme.fontFamily.sans]
11 | },
12 | colors: {
13 | background: 'rgb(var(--background) / )',
14 | foreground: 'rgb(var(--foreground) / )',
15 |
16 | primary: 'rgb(var(--primary) / )'
17 | }
18 | }
19 | },
20 | plugins: []
21 | };
22 |
--------------------------------------------------------------------------------
/web/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 | "strict": true,
12 | "moduleResolution": "bundler"
13 | }
14 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
15 | // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files
16 | //
17 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
18 | // from the referenced tsconfig.json - TypeScript does not merge them in
19 | }
20 |
--------------------------------------------------------------------------------
/web/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | /** @type { import("eslint").Linter.Config } */
2 | module.exports = {
3 | root: true,
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:@typescript-eslint/recommended',
7 | 'plugin:svelte/recommended',
8 | 'prettier'
9 | ],
10 | parser: '@typescript-eslint/parser',
11 | plugins: ['@typescript-eslint'],
12 | parserOptions: {
13 | sourceType: 'module',
14 | ecmaVersion: 2020,
15 | extraFileExtensions: ['.svelte']
16 | },
17 | env: {
18 | browser: true,
19 | es2017: true,
20 | node: true
21 | },
22 | overrides: [
23 | {
24 | files: ['*.svelte'],
25 | parser: 'svelte-eslint-parser',
26 | parserOptions: {
27 | parser: '@typescript-eslint/parser'
28 | }
29 | }
30 | ]
31 | };
32 |
--------------------------------------------------------------------------------
/web/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 |
--------------------------------------------------------------------------------
/web/src/lib/schemas.ts:
--------------------------------------------------------------------------------
1 | import { z } from 'zod';
2 |
3 | const errorSchema = z.object({
4 | success: z.literal(false),
5 | error: z.string()
6 | });
7 |
8 | const tokenFlowSuccessSchema = z.object({
9 | success: z.literal(true),
10 | web_url: z.string(),
11 | code: z.string()
12 | });
13 |
14 | export const tokenFlowSchema = z.union([tokenFlowSuccessSchema, errorSchema]);
15 |
16 | const tokenFlowWaitSuccessSchema = z.object({
17 | success: z.literal(true)
18 | });
19 |
20 | export const tokenFlowWaitSchema = z.union([tokenFlowWaitSuccessSchema, errorSchema]);
21 |
22 | const deploySuccessSchema = z.object({
23 | success: z.literal(true),
24 | modal_url: z.string()
25 | });
26 |
27 | export const deploySchema = z.union([deploySuccessSchema, errorSchema]);
28 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # modal-deploy
2 |
3 | Modal Deploy makes it easy to deploy Modal apps without having to open a terminal or use the command line. It works on any Modal app, but is most useful for deploying web endpoints because they provide accessible entry points to your app.
4 |
5 | This project is inspired by both [Supafork](https://github.com/chroxify/supafork) and [Vercel's Deploy Button](https://vercel.com/docs/deployments/deploy-button).
6 |
7 | ## How it works
8 |
9 | Modal Deploy first creates a new token that will be used to deploy your app. It then clones the repository
10 | you provide and runs `modal deploy` (using the newly created token) on the file you provide. Tokens are only used once and are not stored.
11 |
12 | While tokens are not persisted, use Modal Deploy at your own risk.
13 |
--------------------------------------------------------------------------------
/api/modal_proto/api.proto:
--------------------------------------------------------------------------------
1 | syntax = "proto3";
2 |
3 | package modal.client;
4 |
5 | message TokenFlowCreateRequest {
6 | string utm_source = 3;
7 | int32 localhost_port = 4;
8 | string next_url = 5;
9 | }
10 |
11 | message TokenFlowCreateResponse {
12 | string token_flow_id = 1;
13 | string web_url = 2;
14 | string code = 3;
15 | string wait_secret = 4;
16 | };
17 |
18 | message TokenFlowWaitRequest {
19 | float timeout = 1;
20 | string token_flow_id = 2;
21 | string wait_secret = 3;
22 | }
23 |
24 | message TokenFlowWaitResponse {
25 | string token_id = 1;
26 | string token_secret = 2;
27 | bool timeout = 3;
28 | string workspace_username = 4;
29 | }
30 |
31 | service ModalClient {
32 | rpc TokenFlowCreate(TokenFlowCreateRequest) returns (TokenFlowCreateResponse);
33 | rpc TokenFlowWait(TokenFlowWaitRequest) returns (TokenFlowWaitResponse);
34 | }
35 |
--------------------------------------------------------------------------------
/api/token_flow.py:
--------------------------------------------------------------------------------
1 | from client import ModalClient
2 | from modal_proto import api_pb2
3 |
4 |
5 | class TokenFlow:
6 | def __init__(self, client: ModalClient):
7 | self.stub = client.stub
8 |
9 | def start(self):
10 | req = api_pb2.TokenFlowCreateRequest(
11 | utm_source="modal-deploy",
12 | localhost_port=None,
13 | next_url=None,
14 | )
15 | resp = self.stub.TokenFlowCreate(req)
16 | self.token_flow_id = resp.token_flow_id
17 | self.wait_secret = resp.wait_secret
18 | return (resp.token_flow_id, resp.web_url, resp.code)
19 |
20 | def finish(self, timeout: float = 40.0, grpc_extra_timeout: float = 5.0):
21 | req = api_pb2.TokenFlowWaitRequest(
22 | token_flow_id=self.token_flow_id,
23 | timeout=timeout,
24 | wait_secret=self.wait_secret,
25 | )
26 | resp = self.stub.TokenFlowWait(req, timeout=(timeout + grpc_extra_timeout))
27 | if not resp.timeout:
28 | return resp
29 | else:
30 | return None
31 |
--------------------------------------------------------------------------------
/web/README.md:
--------------------------------------------------------------------------------
1 | # create-svelte
2 |
3 | Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
4 |
5 | ## Creating a project
6 |
7 | If you're seeing this, you've probably already done this step. Congrats!
8 |
9 | ```bash
10 | # create a new project in the current directory
11 | npm create svelte@latest
12 |
13 | # create a new project in my-app
14 | npm create svelte@latest my-app
15 | ```
16 |
17 | ## Developing
18 |
19 | Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
20 |
21 | ```bash
22 | npm run dev
23 |
24 | # or start the server and open the app in a new browser tab
25 | npm run dev -- --open
26 | ```
27 |
28 | ## Building
29 |
30 | To create a production version of your app:
31 |
32 | ```bash
33 | npm run build
34 | ```
35 |
36 | You can preview the production build with `npm run preview`.
37 |
38 | > To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
39 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 David Mo
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 |
--------------------------------------------------------------------------------
/web/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "modal-portfolio",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
11 | "lint": "prettier --check . && eslint .",
12 | "format": "prettier --write ."
13 | },
14 | "devDependencies": {
15 | "@sveltejs/adapter-auto": "^3.0.0",
16 | "@sveltejs/kit": "^2.0.0",
17 | "@sveltejs/vite-plugin-svelte": "^3.0.0",
18 | "@types/eslint": "^8.56.0",
19 | "@typescript-eslint/eslint-plugin": "^7.0.0",
20 | "@typescript-eslint/parser": "^7.0.0",
21 | "autoprefixer": "^10.4.19",
22 | "eslint": "^8.56.0",
23 | "eslint-config-prettier": "^9.1.0",
24 | "eslint-plugin-svelte": "^2.35.1",
25 | "highlight.js": "^11.9.0",
26 | "postcss": "^8.4.38",
27 | "prettier": "^3.1.1",
28 | "prettier-plugin-svelte": "^3.1.2",
29 | "prettier-plugin-tailwindcss": "^0.5.14",
30 | "svelte": "^4.2.7",
31 | "svelte-check": "^3.6.0",
32 | "svelte-highlight": "^7.6.1",
33 | "tailwindcss": "^3.4.3",
34 | "tslib": "^2.4.1",
35 | "typescript": "^5.0.0",
36 | "vite": "^5.0.3"
37 | },
38 | "type": "module",
39 | "dependencies": {
40 | "@fontsource-variable/inter": "^5.0.18",
41 | "lucide-svelte": "^0.378.0",
42 | "zod": "^3.23.8"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/web/src/lib/assets/static-gradient.svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/api/modal_proto/api_pb2.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # Generated by the protocol buffer compiler. DO NOT EDIT!
3 | # source: api.proto
4 | # Protobuf Python Version: 5.26.1
5 | """Generated protocol buffer code."""
6 | from google.protobuf import descriptor as _descriptor
7 | from google.protobuf import descriptor_pool as _descriptor_pool
8 | from google.protobuf import symbol_database as _symbol_database
9 | from google.protobuf.internal import builder as _builder
10 | # @@protoc_insertion_point(imports)
11 |
12 | _sym_db = _symbol_database.Default()
13 |
14 |
15 |
16 |
17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x12\x0cmodal.client\"V\n\x16TokenFlowCreateRequest\x12\x12\n\nutm_source\x18\x03 \x01(\t\x12\x16\n\x0elocalhost_port\x18\x04 \x01(\x05\x12\x10\n\x08next_url\x18\x05 \x01(\t\"d\n\x17TokenFlowCreateResponse\x12\x15\n\rtoken_flow_id\x18\x01 \x01(\t\x12\x0f\n\x07web_url\x18\x02 \x01(\t\x12\x0c\n\x04\x63ode\x18\x03 \x01(\t\x12\x13\n\x0bwait_secret\x18\x04 \x01(\t\"S\n\x14TokenFlowWaitRequest\x12\x0f\n\x07timeout\x18\x01 \x01(\x02\x12\x15\n\rtoken_flow_id\x18\x02 \x01(\t\x12\x13\n\x0bwait_secret\x18\x03 \x01(\t\"l\n\x15TokenFlowWaitResponse\x12\x10\n\x08token_id\x18\x01 \x01(\t\x12\x14\n\x0ctoken_secret\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x08\x12\x1a\n\x12workspace_username\x18\x04 \x01(\t2\xc7\x01\n\x0bModalClient\x12^\n\x0fTokenFlowCreate\x12$.modal.client.TokenFlowCreateRequest\x1a%.modal.client.TokenFlowCreateResponse\x12X\n\rTokenFlowWait\x12\".modal.client.TokenFlowWaitRequest\x1a#.modal.client.TokenFlowWaitResponseb\x06proto3')
18 |
19 | _globals = globals()
20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_pb2', _globals)
22 | if not _descriptor._USE_C_DESCRIPTORS:
23 | DESCRIPTOR._loaded_options = None
24 | _globals['_TOKENFLOWCREATEREQUEST']._serialized_start=27
25 | _globals['_TOKENFLOWCREATEREQUEST']._serialized_end=113
26 | _globals['_TOKENFLOWCREATERESPONSE']._serialized_start=115
27 | _globals['_TOKENFLOWCREATERESPONSE']._serialized_end=215
28 | _globals['_TOKENFLOWWAITREQUEST']._serialized_start=217
29 | _globals['_TOKENFLOWWAITREQUEST']._serialized_end=300
30 | _globals['_TOKENFLOWWAITRESPONSE']._serialized_start=302
31 | _globals['_TOKENFLOWWAITRESPONSE']._serialized_end=410
32 | _globals['_MODALCLIENT']._serialized_start=413
33 | _globals['_MODALCLIENT']._serialized_end=612
34 | # @@protoc_insertion_point(module_scope)
35 |
--------------------------------------------------------------------------------
/web/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
85 |
86 |
87 |
88 |
89 |
95 | Star on GitHub
96 |
97 |
98 |
Deploy Modal Endpoints
99 |
100 | Deploy web endpoints to Modal with a single click of a button.
101 |
102 |
119 | {#if errorMessage}
120 |
{errorMessage}
121 | {/if}
122 | {#if statusMessage}
123 |
{statusMessage}
124 | {/if}
125 |
126 |
127 |
128 |
129 |
--------------------------------------------------------------------------------
/api/app.py:
--------------------------------------------------------------------------------
1 | import git
2 | import tempfile
3 | import os
4 | import re
5 | import json
6 | import subprocess
7 | from fastapi.responses import StreamingResponse
8 | from client import ModalClient
9 | from token_flow import TokenFlow
10 |
11 | import modal
12 |
13 | app = modal.App("modal-deploy")
14 | image = (
15 | modal.Image.debian_slim()
16 | .apt_install("git")
17 | .pip_install("GitPython")
18 | .pip_install("grpcio>=1.59.0")
19 | .pip_install("modal")
20 | )
21 |
22 |
23 | def extract_github_info(url: str):
24 | pattern = (
25 | r"https:\/\/github\.com\/([^\/]+)\/([^\/]+)\/(?:blob|tree)\/([^\/]+)(?:\/(.*))?"
26 | )
27 | match = re.search(pattern, url)
28 |
29 | if match:
30 | org = match.group(1)
31 | repo = match.group(2)
32 | branch = match.group(3)
33 | path = match.group(4) if match.group(4) is not None else ""
34 |
35 | return (org, repo, branch, path)
36 | else:
37 | raise ValueError(
38 | "The URL is not in the expected format: https://github.com/{org}/{repo}/(blob|tree)/{branch}/{path}"
39 | )
40 |
41 |
42 | def deploy_repo(github_file_url: str):
43 | try:
44 | org, repo, branch, path = extract_github_info(github_file_url)
45 |
46 | repo_url = f"https://github.com/{org}/{repo}"
47 | repo_url_with_creds = repo_url.replace(
48 | "https://", "https://" + os.environ["GITHUB_TOKEN"] + "@"
49 | )
50 | with tempfile.TemporaryDirectory() as dir_name:
51 | print(f"Cloning {repo_url} to {dir_name}")
52 | git.Repo.clone_from(repo_url_with_creds, dir_name, branch=branch)
53 |
54 | # check if the file exists
55 | file_path = os.path.join(dir_name, path)
56 | if not os.path.exists(file_path):
57 | raise ValueError(f'The path "{path}" does not exist in {repo_url}')
58 | elif not os.path.isfile(file_path):
59 | raise ValueError(f'The path "{path}" is not a file in {repo_url}')
60 |
61 | print("Starting token flow...")
62 | token_flow = TokenFlow(ModalClient())
63 | _, web_url, code = token_flow.start()
64 |
65 | print("Waiting for token flow to complete...")
66 | yield json.dumps({"success": True, "web_url": web_url, "code": code}) + "\n"
67 |
68 | # wait for the token flow to complete
69 | result = None
70 | for attempt in range(5):
71 | result = token_flow.finish()
72 | if result is not None:
73 | break
74 | print(f"Waiting for token flow to complete... (attempt {attempt + 2})")
75 |
76 | if result is None:
77 | raise ValueError("Timeout waiting for token flow to complete")
78 |
79 | print("Web authentication finished successfully!")
80 | yield json.dumps({"success": True})
81 |
82 | # if the environment is inherited from the parent process, modal does not respect the token
83 | # i'm unsure which variables cause this, but this also works
84 | modal_env = {
85 | "PATH": os.environ["PATH"],
86 | "MODAL_TOKEN_ID": result.token_id,
87 | "MODAL_TOKEN_SECRET": result.token_secret,
88 | }
89 | process = subprocess.Popen(
90 | ["modal", "deploy", file_path],
91 | env=modal_env,
92 | stderr=subprocess.PIPE,
93 | stdout=subprocess.PIPE,
94 | )
95 | _, stderr = process.communicate()
96 | exit_code = process.wait()
97 |
98 | if exit_code != 0:
99 | raise ValueError("Deployment failed: " + stderr.decode("utf-8"))
100 |
101 | print("Deployment finished successfully!")
102 | yield json.dumps(
103 | {
104 | "success": True,
105 | "modal_url": f"https://modal.com/{result.workspace_username}/apps",
106 | }
107 | ) + "\n"
108 | except ValueError as e:
109 | yield json.dumps(
110 | {
111 | "success": False,
112 | "error": str(e),
113 | }
114 | )
115 | except git.exc.GitCommandError as e:
116 | yield json.dumps({"success": False, "error": str(e)})
117 | except Exception as e:
118 | print(e)
119 | yield json.dumps({"success": False, "error": "Unhandled exception"})
120 |
121 |
122 | @app.function(image=image, secrets=[modal.Secret.from_name("github-secret")])
123 | @modal.web_endpoint()
124 | def deploy_repo_endpoint(github_file_url: str):
125 | return StreamingResponse(
126 | deploy_repo(github_file_url), media_type="text/event-stream"
127 | )
128 |
--------------------------------------------------------------------------------
/web/src/app.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | @font-face {
7 | font-family: 'Tosh Modal';
8 | src: url('/fonts/ToshModal-[wght].ttf') format('truetype');
9 | font-display: swap;
10 | }
11 |
12 | :root {
13 | --background: 12 15 11;
14 | --foreground: 228 228 231;
15 |
16 | --primary: 127 238 100;
17 | }
18 | }
19 |
20 | @layer base {
21 | body {
22 | @apply bg-background text-foreground antialiased;
23 | }
24 | }
25 |
26 | @layer components {
27 | [multiple],
28 | [type='date'],
29 | [type='datetime-local'],
30 | [type='email'],
31 | [type='month'],
32 | [type='number'],
33 | [type='password'],
34 | [type='search'],
35 | [type='tel'],
36 | [type='text'],
37 | [type='time'],
38 | [type='url'],
39 | [type='week'],
40 | select,
41 | textarea {
42 | @apply appearance-none rounded-none border border-gray-500 bg-white p-2 px-3 text-base leading-6 shadow-none;
43 | }
44 |
45 | [multiple]:focus,
46 | [type='date']:focus,
47 | [type='datetime-local']:focus,
48 | [type='email']:focus,
49 | [type='month']:focus,
50 | [type='number']:focus,
51 | [type='password']:focus,
52 | [type='search']:focus,
53 | [type='tel']:focus,
54 | [type='text']:focus,
55 | [type='time']:focus,
56 | [type='url']:focus,
57 | [type='week']:focus,
58 | select:focus,
59 | textarea:focus {
60 | @apply focus:border-blue-600 focus:outline-none focus:outline-2 focus:outline-offset-2 focus:ring focus:ring-blue-600 focus:ring-offset-0 focus:ring-offset-white;
61 | }
62 |
63 | .btn {
64 | @apply inline-flex items-center justify-center rounded-lg px-4 py-1.5 text-sm leading-5 text-white ring-primary/50 transition-colors;
65 | }
66 |
67 | .btn:focus {
68 | @apply outline-none;
69 | }
70 |
71 | .btn:focus-visible {
72 | @apply ring;
73 | }
74 |
75 | .btn:hover {
76 | @apply bg-white/5;
77 | }
78 |
79 | .btn:active {
80 | @apply bg-white/20;
81 | }
82 |
83 | .btn:disabled {
84 | @apply opacity-50;
85 | }
86 |
87 | .btn:active:disabled {
88 | @apply bg-white/10;
89 | }
90 |
91 | .btn.btn-sm {
92 | @apply rounded-md px-1.5 py-0.5 text-sm leading-5;
93 | }
94 |
95 | .btn.btn-lg {
96 | @apply rounded-xl px-5 py-2.5 font-tosh_modal text-lg font-medium leading-7;
97 | }
98 |
99 | .btn-outlined {
100 | @apply border border-white/20;
101 | }
102 |
103 | .btn-outlined:hover {
104 | @apply bg-white/10;
105 | }
106 |
107 | .btn-outlined:active {
108 | @apply bg-white/20;
109 | }
110 |
111 | .btn-primary {
112 | @apply text-primary;
113 | }
114 |
115 | .btn-primary:hover {
116 | @apply bg-primary/10;
117 | }
118 |
119 | .btn-primary:active {
120 | @apply bg-primary/20;
121 | }
122 |
123 | .btn-primary.btn-outlined {
124 | @apply border-primary bg-primary/10;
125 | }
126 |
127 | .btn-primary.btn-outlined:hover {
128 | @apply bg-primary/20;
129 | }
130 |
131 | .btn-primary.btn-outlined:active {
132 | @apply bg-primary/25;
133 | }
134 |
135 | .type-heading-lg {
136 | @apply font-tosh_modal text-5xl font-medium leading-[1.2] tracking-tight;
137 | }
138 |
139 | @media screen(md) {
140 | .type-heading-lg {
141 | @apply text-6xl leading-[1];
142 | }
143 | }
144 |
145 | .type-title-lg {
146 | @apply font-tosh_modal text-3xl font-medium leading-[1.2];
147 | }
148 |
149 | @media screen(md) {
150 | .type-title-lg {
151 | @apply text-4xl leading-9;
152 | }
153 | }
154 |
155 | .type-title-md {
156 | @apply font-tosh_modal text-xl font-medium leading-[1.2];
157 | }
158 |
159 | @media screen(md) {
160 | .type-title-md {
161 | @apply text-2xl leading-8;
162 | }
163 | }
164 |
165 | .type-subtitle-md {
166 | @apply text-base leading-[1.5];
167 | }
168 |
169 | @media screen(md) {
170 | .type-subtitle-md {
171 | @apply text-lg leading-7;
172 | }
173 | }
174 |
175 | [multiple],
176 | [type='date'],
177 | [type='datetime-local'],
178 | [type='email'],
179 | [type='month'],
180 | [type='number'],
181 | [type='password'],
182 | [type='search'],
183 | [type='tel'],
184 | [type='text'],
185 | [type='time'],
186 | [type='url'],
187 | [type='week'],
188 | select,
189 | textarea {
190 | @apply border-white/10 bg-white/5;
191 | }
192 |
193 | [multiple]::-moz-placeholder,
194 | [type='date']::-moz-placeholder,
195 | [type='datetime-local']::-moz-placeholder,
196 | [type='email']::-moz-placeholder,
197 | [type='month']::-moz-placeholder,
198 | [type='number']::-moz-placeholder,
199 | [type='password']::-moz-placeholder,
200 | [type='search']::-moz-placeholder,
201 | [type='tel']::-moz-placeholder,
202 | [type='text']::-moz-placeholder,
203 | [type='time']::-moz-placeholder,
204 | [type='url']::-moz-placeholder,
205 | [type='week']::-moz-placeholder,
206 | select::-moz-placeholder,
207 | textarea::-moz-placeholder {
208 | @apply placeholder-zinc-400;
209 | }
210 |
211 | [multiple]::placeholder,
212 | [type='date']::placeholder,
213 | [type='datetime-local']::placeholder,
214 | [type='email']::placeholder,
215 | [type='month']::placeholder,
216 | [type='number']::placeholder,
217 | [type='password']::placeholder,
218 | [type='search']::placeholder,
219 | [type='tel']::placeholder,
220 | [type='text']::placeholder,
221 | [type='time']::placeholder,
222 | [type='url']::placeholder,
223 | [type='week']::placeholder,
224 | select::placeholder,
225 | textarea::placeholder {
226 | @apply placeholder-zinc-400;
227 | }
228 |
229 | [multiple]:focus,
230 | [type='date']:focus,
231 | [type='datetime-local']:focus,
232 | [type='email']:focus,
233 | [type='month']:focus,
234 | [type='number']:focus,
235 | [type='password']:focus,
236 | [type='search']:focus,
237 | [type='tel']:focus,
238 | [type='text']:focus,
239 | [type='time']:focus,
240 | [type='url']:focus,
241 | [type='week']:focus,
242 | select:focus,
243 | textarea:focus {
244 | @apply focus:border-primary/50 focus:ring-1 focus:ring-primary/50;
245 | }
246 | }
247 |
--------------------------------------------------------------------------------
/api/modal_proto/api_pb2_grpc.py:
--------------------------------------------------------------------------------
1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2 | """Client and server classes corresponding to protobuf-defined services."""
3 | import grpc
4 | import warnings
5 |
6 | import api_pb2 as api__pb2
7 |
8 | GRPC_GENERATED_VERSION = '1.63.0'
9 | GRPC_VERSION = grpc.__version__
10 | EXPECTED_ERROR_RELEASE = '1.65.0'
11 | SCHEDULED_RELEASE_DATE = 'June 25, 2024'
12 | _version_not_supported = False
13 |
14 | try:
15 | from grpc._utilities import first_version_is_lower
16 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
17 | except ImportError:
18 | _version_not_supported = True
19 |
20 | if _version_not_supported:
21 | warnings.warn(
22 | f'The grpc package installed is at version {GRPC_VERSION},'
23 | + f' but the generated code in api_pb2_grpc.py depends on'
24 | + f' grpcio>={GRPC_GENERATED_VERSION}.'
25 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
26 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
27 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
28 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
29 | RuntimeWarning
30 | )
31 |
32 |
33 | class ModalClientStub(object):
34 | """Missing associated documentation comment in .proto file."""
35 |
36 | def __init__(self, channel):
37 | """Constructor.
38 |
39 | Args:
40 | channel: A grpc.Channel.
41 | """
42 | self.TokenFlowCreate = channel.unary_unary(
43 | '/modal.client.ModalClient/TokenFlowCreate',
44 | request_serializer=api__pb2.TokenFlowCreateRequest.SerializeToString,
45 | response_deserializer=api__pb2.TokenFlowCreateResponse.FromString,
46 | _registered_method=True)
47 | self.TokenFlowWait = channel.unary_unary(
48 | '/modal.client.ModalClient/TokenFlowWait',
49 | request_serializer=api__pb2.TokenFlowWaitRequest.SerializeToString,
50 | response_deserializer=api__pb2.TokenFlowWaitResponse.FromString,
51 | _registered_method=True)
52 |
53 |
54 | class ModalClientServicer(object):
55 | """Missing associated documentation comment in .proto file."""
56 |
57 | def TokenFlowCreate(self, request, context):
58 | """Missing associated documentation comment in .proto file."""
59 | context.set_code(grpc.StatusCode.UNIMPLEMENTED)
60 | context.set_details('Method not implemented!')
61 | raise NotImplementedError('Method not implemented!')
62 |
63 | def TokenFlowWait(self, request, context):
64 | """Missing associated documentation comment in .proto file."""
65 | context.set_code(grpc.StatusCode.UNIMPLEMENTED)
66 | context.set_details('Method not implemented!')
67 | raise NotImplementedError('Method not implemented!')
68 |
69 |
70 | def add_ModalClientServicer_to_server(servicer, server):
71 | rpc_method_handlers = {
72 | 'TokenFlowCreate': grpc.unary_unary_rpc_method_handler(
73 | servicer.TokenFlowCreate,
74 | request_deserializer=api__pb2.TokenFlowCreateRequest.FromString,
75 | response_serializer=api__pb2.TokenFlowCreateResponse.SerializeToString,
76 | ),
77 | 'TokenFlowWait': grpc.unary_unary_rpc_method_handler(
78 | servicer.TokenFlowWait,
79 | request_deserializer=api__pb2.TokenFlowWaitRequest.FromString,
80 | response_serializer=api__pb2.TokenFlowWaitResponse.SerializeToString,
81 | ),
82 | }
83 | generic_handler = grpc.method_handlers_generic_handler(
84 | 'modal.client.ModalClient', rpc_method_handlers)
85 | server.add_generic_rpc_handlers((generic_handler,))
86 |
87 |
88 | # This class is part of an EXPERIMENTAL API.
89 | class ModalClient(object):
90 | """Missing associated documentation comment in .proto file."""
91 |
92 | @staticmethod
93 | def TokenFlowCreate(request,
94 | target,
95 | options=(),
96 | channel_credentials=None,
97 | call_credentials=None,
98 | insecure=False,
99 | compression=None,
100 | wait_for_ready=None,
101 | timeout=None,
102 | metadata=None):
103 | return grpc.experimental.unary_unary(
104 | request,
105 | target,
106 | '/modal.client.ModalClient/TokenFlowCreate',
107 | api__pb2.TokenFlowCreateRequest.SerializeToString,
108 | api__pb2.TokenFlowCreateResponse.FromString,
109 | options,
110 | channel_credentials,
111 | insecure,
112 | call_credentials,
113 | compression,
114 | wait_for_ready,
115 | timeout,
116 | metadata,
117 | _registered_method=True)
118 |
119 | @staticmethod
120 | def TokenFlowWait(request,
121 | target,
122 | options=(),
123 | channel_credentials=None,
124 | call_credentials=None,
125 | insecure=False,
126 | compression=None,
127 | wait_for_ready=None,
128 | timeout=None,
129 | metadata=None):
130 | return grpc.experimental.unary_unary(
131 | request,
132 | target,
133 | '/modal.client.ModalClient/TokenFlowWait',
134 | api__pb2.TokenFlowWaitRequest.SerializeToString,
135 | api__pb2.TokenFlowWaitResponse.FromString,
136 | options,
137 | channel_credentials,
138 | insecure,
139 | call_credentials,
140 | compression,
141 | wait_for_ready,
142 | timeout,
143 | metadata,
144 | _registered_method=True)
145 |
--------------------------------------------------------------------------------
/web/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@fontsource-variable/inter':
12 | specifier: ^5.0.18
13 | version: 5.0.18
14 | lucide-svelte:
15 | specifier: ^0.378.0
16 | version: 0.378.0(svelte@4.2.17)
17 | zod:
18 | specifier: ^3.23.8
19 | version: 3.23.8
20 | devDependencies:
21 | '@sveltejs/adapter-auto':
22 | specifier: ^3.0.0
23 | version: 3.2.0(@sveltejs/kit@2.5.8(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11))
24 | '@sveltejs/kit':
25 | specifier: ^2.0.0
26 | version: 2.5.8(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11)
27 | '@sveltejs/vite-plugin-svelte':
28 | specifier: ^3.0.0
29 | version: 3.1.0(svelte@4.2.17)(vite@5.2.11)
30 | '@types/eslint':
31 | specifier: ^8.56.0
32 | version: 8.56.10
33 | '@typescript-eslint/eslint-plugin':
34 | specifier: ^7.0.0
35 | version: 7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
36 | '@typescript-eslint/parser':
37 | specifier: ^7.0.0
38 | version: 7.9.0(eslint@8.57.0)(typescript@5.4.5)
39 | autoprefixer:
40 | specifier: ^10.4.19
41 | version: 10.4.19(postcss@8.4.38)
42 | eslint:
43 | specifier: ^8.56.0
44 | version: 8.57.0
45 | eslint-config-prettier:
46 | specifier: ^9.1.0
47 | version: 9.1.0(eslint@8.57.0)
48 | eslint-plugin-svelte:
49 | specifier: ^2.35.1
50 | version: 2.39.0(eslint@8.57.0)(svelte@4.2.17)
51 | highlight.js:
52 | specifier: ^11.9.0
53 | version: 11.9.0
54 | postcss:
55 | specifier: ^8.4.38
56 | version: 8.4.38
57 | prettier:
58 | specifier: ^3.1.1
59 | version: 3.2.5
60 | prettier-plugin-svelte:
61 | specifier: ^3.1.2
62 | version: 3.2.3(prettier@3.2.5)(svelte@4.2.17)
63 | prettier-plugin-tailwindcss:
64 | specifier: ^0.5.14
65 | version: 0.5.14(prettier-plugin-svelte@3.2.3(prettier@3.2.5)(svelte@4.2.17))(prettier@3.2.5)
66 | svelte:
67 | specifier: ^4.2.7
68 | version: 4.2.17
69 | svelte-check:
70 | specifier: ^3.6.0
71 | version: 3.7.1(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.17)
72 | svelte-highlight:
73 | specifier: ^7.6.1
74 | version: 7.6.1
75 | tailwindcss:
76 | specifier: ^3.4.3
77 | version: 3.4.3
78 | tslib:
79 | specifier: ^2.4.1
80 | version: 2.6.2
81 | typescript:
82 | specifier: ^5.0.0
83 | version: 5.4.5
84 | vite:
85 | specifier: ^5.0.3
86 | version: 5.2.11
87 |
88 | packages:
89 |
90 | '@alloc/quick-lru@5.2.0':
91 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
92 | engines: {node: '>=10'}
93 |
94 | '@ampproject/remapping@2.3.0':
95 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
96 | engines: {node: '>=6.0.0'}
97 |
98 | '@esbuild/aix-ppc64@0.20.2':
99 | resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
100 | engines: {node: '>=12'}
101 | cpu: [ppc64]
102 | os: [aix]
103 |
104 | '@esbuild/android-arm64@0.20.2':
105 | resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
106 | engines: {node: '>=12'}
107 | cpu: [arm64]
108 | os: [android]
109 |
110 | '@esbuild/android-arm@0.20.2':
111 | resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
112 | engines: {node: '>=12'}
113 | cpu: [arm]
114 | os: [android]
115 |
116 | '@esbuild/android-x64@0.20.2':
117 | resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
118 | engines: {node: '>=12'}
119 | cpu: [x64]
120 | os: [android]
121 |
122 | '@esbuild/darwin-arm64@0.20.2':
123 | resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
124 | engines: {node: '>=12'}
125 | cpu: [arm64]
126 | os: [darwin]
127 |
128 | '@esbuild/darwin-x64@0.20.2':
129 | resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
130 | engines: {node: '>=12'}
131 | cpu: [x64]
132 | os: [darwin]
133 |
134 | '@esbuild/freebsd-arm64@0.20.2':
135 | resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
136 | engines: {node: '>=12'}
137 | cpu: [arm64]
138 | os: [freebsd]
139 |
140 | '@esbuild/freebsd-x64@0.20.2':
141 | resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
142 | engines: {node: '>=12'}
143 | cpu: [x64]
144 | os: [freebsd]
145 |
146 | '@esbuild/linux-arm64@0.20.2':
147 | resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
148 | engines: {node: '>=12'}
149 | cpu: [arm64]
150 | os: [linux]
151 |
152 | '@esbuild/linux-arm@0.20.2':
153 | resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
154 | engines: {node: '>=12'}
155 | cpu: [arm]
156 | os: [linux]
157 |
158 | '@esbuild/linux-ia32@0.20.2':
159 | resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
160 | engines: {node: '>=12'}
161 | cpu: [ia32]
162 | os: [linux]
163 |
164 | '@esbuild/linux-loong64@0.20.2':
165 | resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
166 | engines: {node: '>=12'}
167 | cpu: [loong64]
168 | os: [linux]
169 |
170 | '@esbuild/linux-mips64el@0.20.2':
171 | resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
172 | engines: {node: '>=12'}
173 | cpu: [mips64el]
174 | os: [linux]
175 |
176 | '@esbuild/linux-ppc64@0.20.2':
177 | resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
178 | engines: {node: '>=12'}
179 | cpu: [ppc64]
180 | os: [linux]
181 |
182 | '@esbuild/linux-riscv64@0.20.2':
183 | resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
184 | engines: {node: '>=12'}
185 | cpu: [riscv64]
186 | os: [linux]
187 |
188 | '@esbuild/linux-s390x@0.20.2':
189 | resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
190 | engines: {node: '>=12'}
191 | cpu: [s390x]
192 | os: [linux]
193 |
194 | '@esbuild/linux-x64@0.20.2':
195 | resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
196 | engines: {node: '>=12'}
197 | cpu: [x64]
198 | os: [linux]
199 |
200 | '@esbuild/netbsd-x64@0.20.2':
201 | resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
202 | engines: {node: '>=12'}
203 | cpu: [x64]
204 | os: [netbsd]
205 |
206 | '@esbuild/openbsd-x64@0.20.2':
207 | resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
208 | engines: {node: '>=12'}
209 | cpu: [x64]
210 | os: [openbsd]
211 |
212 | '@esbuild/sunos-x64@0.20.2':
213 | resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
214 | engines: {node: '>=12'}
215 | cpu: [x64]
216 | os: [sunos]
217 |
218 | '@esbuild/win32-arm64@0.20.2':
219 | resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
220 | engines: {node: '>=12'}
221 | cpu: [arm64]
222 | os: [win32]
223 |
224 | '@esbuild/win32-ia32@0.20.2':
225 | resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
226 | engines: {node: '>=12'}
227 | cpu: [ia32]
228 | os: [win32]
229 |
230 | '@esbuild/win32-x64@0.20.2':
231 | resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
232 | engines: {node: '>=12'}
233 | cpu: [x64]
234 | os: [win32]
235 |
236 | '@eslint-community/eslint-utils@4.4.0':
237 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
238 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
239 | peerDependencies:
240 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
241 |
242 | '@eslint-community/regexpp@4.10.0':
243 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
244 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
245 |
246 | '@eslint/eslintrc@2.1.4':
247 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
248 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
249 |
250 | '@eslint/js@8.57.0':
251 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
252 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
253 |
254 | '@fontsource-variable/inter@5.0.18':
255 | resolution: {integrity: sha512-rJzSrtJ3b7djiGFvRuTe6stDfbYJGhdQSfn2SI2WfXviee7Er0yKAHE5u7FU7OWVQQQ1x3+cxdmx9NdiAkcrcA==}
256 |
257 | '@humanwhocodes/config-array@0.11.14':
258 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
259 | engines: {node: '>=10.10.0'}
260 |
261 | '@humanwhocodes/module-importer@1.0.1':
262 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
263 | engines: {node: '>=12.22'}
264 |
265 | '@humanwhocodes/object-schema@2.0.3':
266 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
267 |
268 | '@isaacs/cliui@8.0.2':
269 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
270 | engines: {node: '>=12'}
271 |
272 | '@jridgewell/gen-mapping@0.3.5':
273 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
274 | engines: {node: '>=6.0.0'}
275 |
276 | '@jridgewell/resolve-uri@3.1.2':
277 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
278 | engines: {node: '>=6.0.0'}
279 |
280 | '@jridgewell/set-array@1.2.1':
281 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
282 | engines: {node: '>=6.0.0'}
283 |
284 | '@jridgewell/sourcemap-codec@1.4.15':
285 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
286 |
287 | '@jridgewell/trace-mapping@0.3.25':
288 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
289 |
290 | '@nodelib/fs.scandir@2.1.5':
291 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
292 | engines: {node: '>= 8'}
293 |
294 | '@nodelib/fs.stat@2.0.5':
295 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
296 | engines: {node: '>= 8'}
297 |
298 | '@nodelib/fs.walk@1.2.8':
299 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
300 | engines: {node: '>= 8'}
301 |
302 | '@pkgjs/parseargs@0.11.0':
303 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
304 | engines: {node: '>=14'}
305 |
306 | '@polka/url@1.0.0-next.25':
307 | resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
308 |
309 | '@rollup/rollup-android-arm-eabi@4.17.2':
310 | resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
311 | cpu: [arm]
312 | os: [android]
313 |
314 | '@rollup/rollup-android-arm64@4.17.2':
315 | resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
316 | cpu: [arm64]
317 | os: [android]
318 |
319 | '@rollup/rollup-darwin-arm64@4.17.2':
320 | resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
321 | cpu: [arm64]
322 | os: [darwin]
323 |
324 | '@rollup/rollup-darwin-x64@4.17.2':
325 | resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
326 | cpu: [x64]
327 | os: [darwin]
328 |
329 | '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
330 | resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
331 | cpu: [arm]
332 | os: [linux]
333 |
334 | '@rollup/rollup-linux-arm-musleabihf@4.17.2':
335 | resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
336 | cpu: [arm]
337 | os: [linux]
338 |
339 | '@rollup/rollup-linux-arm64-gnu@4.17.2':
340 | resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
341 | cpu: [arm64]
342 | os: [linux]
343 |
344 | '@rollup/rollup-linux-arm64-musl@4.17.2':
345 | resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
346 | cpu: [arm64]
347 | os: [linux]
348 |
349 | '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
350 | resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
351 | cpu: [ppc64]
352 | os: [linux]
353 |
354 | '@rollup/rollup-linux-riscv64-gnu@4.17.2':
355 | resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
356 | cpu: [riscv64]
357 | os: [linux]
358 |
359 | '@rollup/rollup-linux-s390x-gnu@4.17.2':
360 | resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
361 | cpu: [s390x]
362 | os: [linux]
363 |
364 | '@rollup/rollup-linux-x64-gnu@4.17.2':
365 | resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
366 | cpu: [x64]
367 | os: [linux]
368 |
369 | '@rollup/rollup-linux-x64-musl@4.17.2':
370 | resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
371 | cpu: [x64]
372 | os: [linux]
373 |
374 | '@rollup/rollup-win32-arm64-msvc@4.17.2':
375 | resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
376 | cpu: [arm64]
377 | os: [win32]
378 |
379 | '@rollup/rollup-win32-ia32-msvc@4.17.2':
380 | resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
381 | cpu: [ia32]
382 | os: [win32]
383 |
384 | '@rollup/rollup-win32-x64-msvc@4.17.2':
385 | resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
386 | cpu: [x64]
387 | os: [win32]
388 |
389 | '@sveltejs/adapter-auto@3.2.0':
390 | resolution: {integrity: sha512-She5nKT47kwHE18v9NMe6pbJcvULr82u0V3yZ0ej3n1laWKGgkgdEABE9/ak5iDPs93LqsBkuIo51kkwCLBjJA==}
391 | peerDependencies:
392 | '@sveltejs/kit': ^2.0.0
393 |
394 | '@sveltejs/kit@2.5.8':
395 | resolution: {integrity: sha512-ZQXYaVHd1p0kDGwOi4l82i5kAiUQtrhMthDKtJi0zVzmNupKJ0ZlBVAoceuarCuIntPNctyQchW29h5DkFxd1Q==}
396 | engines: {node: '>=18.13'}
397 | hasBin: true
398 | peerDependencies:
399 | '@sveltejs/vite-plugin-svelte': ^3.0.0
400 | svelte: ^4.0.0 || ^5.0.0-next.0
401 | vite: ^5.0.3
402 |
403 | '@sveltejs/vite-plugin-svelte-inspector@2.1.0':
404 | resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==}
405 | engines: {node: ^18.0.0 || >=20}
406 | peerDependencies:
407 | '@sveltejs/vite-plugin-svelte': ^3.0.0
408 | svelte: ^4.0.0 || ^5.0.0-next.0
409 | vite: ^5.0.0
410 |
411 | '@sveltejs/vite-plugin-svelte@3.1.0':
412 | resolution: {integrity: sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==}
413 | engines: {node: ^18.0.0 || >=20}
414 | peerDependencies:
415 | svelte: ^4.0.0 || ^5.0.0-next.0
416 | vite: ^5.0.0
417 |
418 | '@types/cookie@0.6.0':
419 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
420 |
421 | '@types/eslint@8.56.10':
422 | resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
423 |
424 | '@types/estree@1.0.5':
425 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
426 |
427 | '@types/json-schema@7.0.15':
428 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
429 |
430 | '@types/pug@2.0.10':
431 | resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
432 |
433 | '@typescript-eslint/eslint-plugin@7.9.0':
434 | resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
435 | engines: {node: ^18.18.0 || >=20.0.0}
436 | peerDependencies:
437 | '@typescript-eslint/parser': ^7.0.0
438 | eslint: ^8.56.0
439 | typescript: '*'
440 | peerDependenciesMeta:
441 | typescript:
442 | optional: true
443 |
444 | '@typescript-eslint/parser@7.9.0':
445 | resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
446 | engines: {node: ^18.18.0 || >=20.0.0}
447 | peerDependencies:
448 | eslint: ^8.56.0
449 | typescript: '*'
450 | peerDependenciesMeta:
451 | typescript:
452 | optional: true
453 |
454 | '@typescript-eslint/scope-manager@7.9.0':
455 | resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
456 | engines: {node: ^18.18.0 || >=20.0.0}
457 |
458 | '@typescript-eslint/type-utils@7.9.0':
459 | resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
460 | engines: {node: ^18.18.0 || >=20.0.0}
461 | peerDependencies:
462 | eslint: ^8.56.0
463 | typescript: '*'
464 | peerDependenciesMeta:
465 | typescript:
466 | optional: true
467 |
468 | '@typescript-eslint/types@7.9.0':
469 | resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
470 | engines: {node: ^18.18.0 || >=20.0.0}
471 |
472 | '@typescript-eslint/typescript-estree@7.9.0':
473 | resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
474 | engines: {node: ^18.18.0 || >=20.0.0}
475 | peerDependencies:
476 | typescript: '*'
477 | peerDependenciesMeta:
478 | typescript:
479 | optional: true
480 |
481 | '@typescript-eslint/utils@7.9.0':
482 | resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
483 | engines: {node: ^18.18.0 || >=20.0.0}
484 | peerDependencies:
485 | eslint: ^8.56.0
486 |
487 | '@typescript-eslint/visitor-keys@7.9.0':
488 | resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
489 | engines: {node: ^18.18.0 || >=20.0.0}
490 |
491 | '@ungap/structured-clone@1.2.0':
492 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
493 |
494 | acorn-jsx@5.3.2:
495 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
496 | peerDependencies:
497 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
498 |
499 | acorn@8.11.3:
500 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
501 | engines: {node: '>=0.4.0'}
502 | hasBin: true
503 |
504 | ajv@6.12.6:
505 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
506 |
507 | ansi-regex@5.0.1:
508 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
509 | engines: {node: '>=8'}
510 |
511 | ansi-regex@6.0.1:
512 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
513 | engines: {node: '>=12'}
514 |
515 | ansi-styles@4.3.0:
516 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
517 | engines: {node: '>=8'}
518 |
519 | ansi-styles@6.2.1:
520 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
521 | engines: {node: '>=12'}
522 |
523 | any-promise@1.3.0:
524 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
525 |
526 | anymatch@3.1.3:
527 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
528 | engines: {node: '>= 8'}
529 |
530 | arg@5.0.2:
531 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
532 |
533 | argparse@2.0.1:
534 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
535 |
536 | aria-query@5.3.0:
537 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
538 |
539 | array-union@2.1.0:
540 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
541 | engines: {node: '>=8'}
542 |
543 | autoprefixer@10.4.19:
544 | resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
545 | engines: {node: ^10 || ^12 || >=14}
546 | hasBin: true
547 | peerDependencies:
548 | postcss: ^8.1.0
549 |
550 | axobject-query@4.0.0:
551 | resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
552 |
553 | balanced-match@1.0.2:
554 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
555 |
556 | binary-extensions@2.3.0:
557 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
558 | engines: {node: '>=8'}
559 |
560 | brace-expansion@1.1.11:
561 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
562 |
563 | brace-expansion@2.0.1:
564 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
565 |
566 | braces@3.0.2:
567 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
568 | engines: {node: '>=8'}
569 |
570 | browserslist@4.23.0:
571 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
572 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
573 | hasBin: true
574 |
575 | buffer-crc32@0.2.13:
576 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
577 |
578 | callsites@3.1.0:
579 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
580 | engines: {node: '>=6'}
581 |
582 | camelcase-css@2.0.1:
583 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
584 | engines: {node: '>= 6'}
585 |
586 | caniuse-lite@1.0.30001618:
587 | resolution: {integrity: sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==}
588 |
589 | chalk@4.1.2:
590 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
591 | engines: {node: '>=10'}
592 |
593 | chokidar@3.6.0:
594 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
595 | engines: {node: '>= 8.10.0'}
596 |
597 | code-red@1.0.4:
598 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
599 |
600 | color-convert@2.0.1:
601 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
602 | engines: {node: '>=7.0.0'}
603 |
604 | color-name@1.1.4:
605 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
606 |
607 | commander@4.1.1:
608 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
609 | engines: {node: '>= 6'}
610 |
611 | concat-map@0.0.1:
612 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
613 |
614 | cookie@0.6.0:
615 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
616 | engines: {node: '>= 0.6'}
617 |
618 | cross-spawn@7.0.3:
619 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
620 | engines: {node: '>= 8'}
621 |
622 | css-tree@2.3.1:
623 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
624 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
625 |
626 | cssesc@3.0.0:
627 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
628 | engines: {node: '>=4'}
629 | hasBin: true
630 |
631 | debug@4.3.4:
632 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
633 | engines: {node: '>=6.0'}
634 | peerDependencies:
635 | supports-color: '*'
636 | peerDependenciesMeta:
637 | supports-color:
638 | optional: true
639 |
640 | deep-is@0.1.4:
641 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
642 |
643 | deepmerge@4.3.1:
644 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
645 | engines: {node: '>=0.10.0'}
646 |
647 | dequal@2.0.3:
648 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
649 | engines: {node: '>=6'}
650 |
651 | detect-indent@6.1.0:
652 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
653 | engines: {node: '>=8'}
654 |
655 | devalue@5.0.0:
656 | resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==}
657 |
658 | didyoumean@1.2.2:
659 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
660 |
661 | dir-glob@3.0.1:
662 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
663 | engines: {node: '>=8'}
664 |
665 | dlv@1.1.3:
666 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
667 |
668 | doctrine@3.0.0:
669 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
670 | engines: {node: '>=6.0.0'}
671 |
672 | eastasianwidth@0.2.0:
673 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
674 |
675 | electron-to-chromium@1.4.769:
676 | resolution: {integrity: sha512-bZu7p623NEA2rHTc9K1vykl57ektSPQYFFqQir8BOYf6EKOB+yIsbFB9Kpm7Cgt6tsLr9sRkqfqSZUw7LP1XxQ==}
677 |
678 | emoji-regex@8.0.0:
679 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
680 |
681 | emoji-regex@9.2.2:
682 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
683 |
684 | es6-promise@3.3.1:
685 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
686 |
687 | esbuild@0.20.2:
688 | resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
689 | engines: {node: '>=12'}
690 | hasBin: true
691 |
692 | escalade@3.1.2:
693 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
694 | engines: {node: '>=6'}
695 |
696 | escape-string-regexp@4.0.0:
697 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
698 | engines: {node: '>=10'}
699 |
700 | eslint-compat-utils@0.5.0:
701 | resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==}
702 | engines: {node: '>=12'}
703 | peerDependencies:
704 | eslint: '>=6.0.0'
705 |
706 | eslint-config-prettier@9.1.0:
707 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
708 | hasBin: true
709 | peerDependencies:
710 | eslint: '>=7.0.0'
711 |
712 | eslint-plugin-svelte@2.39.0:
713 | resolution: {integrity: sha512-FXktBLXsrxbA+6ZvJK2z/sQOrUKyzSg3fNWK5h0reSCjr2fjAsc9ai/s/JvSl4Hgvz3nYVtTIMwarZH5RcB7BA==}
714 | engines: {node: ^14.17.0 || >=16.0.0}
715 | peerDependencies:
716 | eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0
717 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.112
718 | peerDependenciesMeta:
719 | svelte:
720 | optional: true
721 |
722 | eslint-scope@7.2.2:
723 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
724 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
725 |
726 | eslint-visitor-keys@3.4.3:
727 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
728 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
729 |
730 | eslint@8.57.0:
731 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
732 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
733 | hasBin: true
734 |
735 | esm-env@1.0.0:
736 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
737 |
738 | espree@9.6.1:
739 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
740 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
741 |
742 | esquery@1.5.0:
743 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
744 | engines: {node: '>=0.10'}
745 |
746 | esrecurse@4.3.0:
747 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
748 | engines: {node: '>=4.0'}
749 |
750 | estraverse@5.3.0:
751 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
752 | engines: {node: '>=4.0'}
753 |
754 | estree-walker@3.0.3:
755 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
756 |
757 | esutils@2.0.3:
758 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
759 | engines: {node: '>=0.10.0'}
760 |
761 | fast-deep-equal@3.1.3:
762 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
763 |
764 | fast-glob@3.3.2:
765 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
766 | engines: {node: '>=8.6.0'}
767 |
768 | fast-json-stable-stringify@2.1.0:
769 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
770 |
771 | fast-levenshtein@2.0.6:
772 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
773 |
774 | fastq@1.17.1:
775 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
776 |
777 | file-entry-cache@6.0.1:
778 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
779 | engines: {node: ^10.12.0 || >=12.0.0}
780 |
781 | fill-range@7.0.1:
782 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
783 | engines: {node: '>=8'}
784 |
785 | find-up@5.0.0:
786 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
787 | engines: {node: '>=10'}
788 |
789 | flat-cache@3.2.0:
790 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
791 | engines: {node: ^10.12.0 || >=12.0.0}
792 |
793 | flatted@3.3.1:
794 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
795 |
796 | foreground-child@3.1.1:
797 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
798 | engines: {node: '>=14'}
799 |
800 | fraction.js@4.3.7:
801 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
802 |
803 | fs.realpath@1.0.0:
804 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
805 |
806 | fsevents@2.3.3:
807 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
808 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
809 | os: [darwin]
810 |
811 | function-bind@1.1.2:
812 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
813 |
814 | glob-parent@5.1.2:
815 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
816 | engines: {node: '>= 6'}
817 |
818 | glob-parent@6.0.2:
819 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
820 | engines: {node: '>=10.13.0'}
821 |
822 | glob@10.3.15:
823 | resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==}
824 | engines: {node: '>=16 || 14 >=14.18'}
825 | hasBin: true
826 |
827 | glob@7.2.3:
828 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
829 |
830 | globals@13.24.0:
831 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
832 | engines: {node: '>=8'}
833 |
834 | globalyzer@0.1.0:
835 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
836 |
837 | globby@11.1.0:
838 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
839 | engines: {node: '>=10'}
840 |
841 | globrex@0.1.2:
842 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
843 |
844 | graceful-fs@4.2.11:
845 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
846 |
847 | graphemer@1.4.0:
848 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
849 |
850 | has-flag@4.0.0:
851 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
852 | engines: {node: '>=8'}
853 |
854 | hasown@2.0.2:
855 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
856 | engines: {node: '>= 0.4'}
857 |
858 | highlight.js@11.9.0:
859 | resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
860 | engines: {node: '>=12.0.0'}
861 |
862 | ignore@5.3.1:
863 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
864 | engines: {node: '>= 4'}
865 |
866 | import-fresh@3.3.0:
867 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
868 | engines: {node: '>=6'}
869 |
870 | import-meta-resolve@4.1.0:
871 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
872 |
873 | imurmurhash@0.1.4:
874 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
875 | engines: {node: '>=0.8.19'}
876 |
877 | inflight@1.0.6:
878 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
879 |
880 | inherits@2.0.4:
881 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
882 |
883 | is-binary-path@2.1.0:
884 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
885 | engines: {node: '>=8'}
886 |
887 | is-core-module@2.13.1:
888 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
889 |
890 | is-extglob@2.1.1:
891 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
892 | engines: {node: '>=0.10.0'}
893 |
894 | is-fullwidth-code-point@3.0.0:
895 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
896 | engines: {node: '>=8'}
897 |
898 | is-glob@4.0.3:
899 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
900 | engines: {node: '>=0.10.0'}
901 |
902 | is-number@7.0.0:
903 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
904 | engines: {node: '>=0.12.0'}
905 |
906 | is-path-inside@3.0.3:
907 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
908 | engines: {node: '>=8'}
909 |
910 | is-reference@3.0.2:
911 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
912 |
913 | isexe@2.0.0:
914 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
915 |
916 | jackspeak@2.3.6:
917 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
918 | engines: {node: '>=14'}
919 |
920 | jiti@1.21.0:
921 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
922 | hasBin: true
923 |
924 | js-yaml@4.1.0:
925 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
926 | hasBin: true
927 |
928 | json-buffer@3.0.1:
929 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
930 |
931 | json-schema-traverse@0.4.1:
932 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
933 |
934 | json-stable-stringify-without-jsonify@1.0.1:
935 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
936 |
937 | keyv@4.5.4:
938 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
939 |
940 | kleur@4.1.5:
941 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
942 | engines: {node: '>=6'}
943 |
944 | known-css-properties@0.31.0:
945 | resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==}
946 |
947 | levn@0.4.1:
948 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
949 | engines: {node: '>= 0.8.0'}
950 |
951 | lilconfig@2.1.0:
952 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
953 | engines: {node: '>=10'}
954 |
955 | lilconfig@3.1.1:
956 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
957 | engines: {node: '>=14'}
958 |
959 | lines-and-columns@1.2.4:
960 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
961 |
962 | locate-character@3.0.0:
963 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
964 |
965 | locate-path@6.0.0:
966 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
967 | engines: {node: '>=10'}
968 |
969 | lodash.merge@4.6.2:
970 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
971 |
972 | lru-cache@10.2.2:
973 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
974 | engines: {node: 14 || >=16.14}
975 |
976 | lucide-svelte@0.378.0:
977 | resolution: {integrity: sha512-T7hV1sfOc94AWE5GOJ6r9wGEsR4h4TJr8d4Z0sM8O0e3IBcmeIvEGRAA6jCp7NGy4PeGrn5Tju6Y2JwJQntNrQ==}
978 | peerDependencies:
979 | svelte: ^3 || ^4 || ^5.0.0-next.42
980 |
981 | magic-string@0.30.10:
982 | resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
983 |
984 | mdn-data@2.0.30:
985 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
986 |
987 | merge2@1.4.1:
988 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
989 | engines: {node: '>= 8'}
990 |
991 | micromatch@4.0.5:
992 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
993 | engines: {node: '>=8.6'}
994 |
995 | min-indent@1.0.1:
996 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
997 | engines: {node: '>=4'}
998 |
999 | minimatch@3.1.2:
1000 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1001 |
1002 | minimatch@9.0.4:
1003 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
1004 | engines: {node: '>=16 || 14 >=14.17'}
1005 |
1006 | minimist@1.2.8:
1007 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1008 |
1009 | minipass@7.1.1:
1010 | resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==}
1011 | engines: {node: '>=16 || 14 >=14.17'}
1012 |
1013 | mkdirp@0.5.6:
1014 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1015 | hasBin: true
1016 |
1017 | mri@1.2.0:
1018 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1019 | engines: {node: '>=4'}
1020 |
1021 | mrmime@2.0.0:
1022 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
1023 | engines: {node: '>=10'}
1024 |
1025 | ms@2.1.2:
1026 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1027 |
1028 | mz@2.7.0:
1029 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1030 |
1031 | nanoid@3.3.7:
1032 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1033 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1034 | hasBin: true
1035 |
1036 | natural-compare@1.4.0:
1037 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1038 |
1039 | node-releases@2.0.14:
1040 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1041 |
1042 | normalize-path@3.0.0:
1043 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1044 | engines: {node: '>=0.10.0'}
1045 |
1046 | normalize-range@0.1.2:
1047 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1048 | engines: {node: '>=0.10.0'}
1049 |
1050 | object-assign@4.1.1:
1051 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1052 | engines: {node: '>=0.10.0'}
1053 |
1054 | object-hash@3.0.0:
1055 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1056 | engines: {node: '>= 6'}
1057 |
1058 | once@1.4.0:
1059 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1060 |
1061 | optionator@0.9.4:
1062 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1063 | engines: {node: '>= 0.8.0'}
1064 |
1065 | p-limit@3.1.0:
1066 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1067 | engines: {node: '>=10'}
1068 |
1069 | p-locate@5.0.0:
1070 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1071 | engines: {node: '>=10'}
1072 |
1073 | parent-module@1.0.1:
1074 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1075 | engines: {node: '>=6'}
1076 |
1077 | path-exists@4.0.0:
1078 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1079 | engines: {node: '>=8'}
1080 |
1081 | path-is-absolute@1.0.1:
1082 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1083 | engines: {node: '>=0.10.0'}
1084 |
1085 | path-key@3.1.1:
1086 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1087 | engines: {node: '>=8'}
1088 |
1089 | path-parse@1.0.7:
1090 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1091 |
1092 | path-scurry@1.11.1:
1093 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
1094 | engines: {node: '>=16 || 14 >=14.18'}
1095 |
1096 | path-type@4.0.0:
1097 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1098 | engines: {node: '>=8'}
1099 |
1100 | periscopic@3.1.0:
1101 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
1102 |
1103 | picocolors@1.0.1:
1104 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
1105 |
1106 | picomatch@2.3.1:
1107 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1108 | engines: {node: '>=8.6'}
1109 |
1110 | pify@2.3.0:
1111 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1112 | engines: {node: '>=0.10.0'}
1113 |
1114 | pirates@4.0.6:
1115 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1116 | engines: {node: '>= 6'}
1117 |
1118 | postcss-import@15.1.0:
1119 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1120 | engines: {node: '>=14.0.0'}
1121 | peerDependencies:
1122 | postcss: ^8.0.0
1123 |
1124 | postcss-js@4.0.1:
1125 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1126 | engines: {node: ^12 || ^14 || >= 16}
1127 | peerDependencies:
1128 | postcss: ^8.4.21
1129 |
1130 | postcss-load-config@3.1.4:
1131 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1132 | engines: {node: '>= 10'}
1133 | peerDependencies:
1134 | postcss: '>=8.0.9'
1135 | ts-node: '>=9.0.0'
1136 | peerDependenciesMeta:
1137 | postcss:
1138 | optional: true
1139 | ts-node:
1140 | optional: true
1141 |
1142 | postcss-load-config@4.0.2:
1143 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1144 | engines: {node: '>= 14'}
1145 | peerDependencies:
1146 | postcss: '>=8.0.9'
1147 | ts-node: '>=9.0.0'
1148 | peerDependenciesMeta:
1149 | postcss:
1150 | optional: true
1151 | ts-node:
1152 | optional: true
1153 |
1154 | postcss-nested@6.0.1:
1155 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1156 | engines: {node: '>=12.0'}
1157 | peerDependencies:
1158 | postcss: ^8.2.14
1159 |
1160 | postcss-safe-parser@6.0.0:
1161 | resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
1162 | engines: {node: '>=12.0'}
1163 | peerDependencies:
1164 | postcss: ^8.3.3
1165 |
1166 | postcss-scss@4.0.9:
1167 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
1168 | engines: {node: '>=12.0'}
1169 | peerDependencies:
1170 | postcss: ^8.4.29
1171 |
1172 | postcss-selector-parser@6.0.16:
1173 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
1174 | engines: {node: '>=4'}
1175 |
1176 | postcss-value-parser@4.2.0:
1177 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1178 |
1179 | postcss@8.4.38:
1180 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
1181 | engines: {node: ^10 || ^12 || >=14}
1182 |
1183 | prelude-ls@1.2.1:
1184 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1185 | engines: {node: '>= 0.8.0'}
1186 |
1187 | prettier-plugin-svelte@3.2.3:
1188 | resolution: {integrity: sha512-wJq8RunyFlWco6U0WJV5wNCM7zpBFakS76UBSbmzMGpncpK98NZABaE+s7n8/APDCEVNHXC5Mpq+MLebQtsRlg==}
1189 | peerDependencies:
1190 | prettier: ^3.0.0
1191 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
1192 |
1193 | prettier-plugin-tailwindcss@0.5.14:
1194 | resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==}
1195 | engines: {node: '>=14.21.3'}
1196 | peerDependencies:
1197 | '@ianvs/prettier-plugin-sort-imports': '*'
1198 | '@prettier/plugin-pug': '*'
1199 | '@shopify/prettier-plugin-liquid': '*'
1200 | '@trivago/prettier-plugin-sort-imports': '*'
1201 | '@zackad/prettier-plugin-twig-melody': '*'
1202 | prettier: ^3.0
1203 | prettier-plugin-astro: '*'
1204 | prettier-plugin-css-order: '*'
1205 | prettier-plugin-import-sort: '*'
1206 | prettier-plugin-jsdoc: '*'
1207 | prettier-plugin-marko: '*'
1208 | prettier-plugin-organize-attributes: '*'
1209 | prettier-plugin-organize-imports: '*'
1210 | prettier-plugin-sort-imports: '*'
1211 | prettier-plugin-style-order: '*'
1212 | prettier-plugin-svelte: '*'
1213 | peerDependenciesMeta:
1214 | '@ianvs/prettier-plugin-sort-imports':
1215 | optional: true
1216 | '@prettier/plugin-pug':
1217 | optional: true
1218 | '@shopify/prettier-plugin-liquid':
1219 | optional: true
1220 | '@trivago/prettier-plugin-sort-imports':
1221 | optional: true
1222 | '@zackad/prettier-plugin-twig-melody':
1223 | optional: true
1224 | prettier-plugin-astro:
1225 | optional: true
1226 | prettier-plugin-css-order:
1227 | optional: true
1228 | prettier-plugin-import-sort:
1229 | optional: true
1230 | prettier-plugin-jsdoc:
1231 | optional: true
1232 | prettier-plugin-marko:
1233 | optional: true
1234 | prettier-plugin-organize-attributes:
1235 | optional: true
1236 | prettier-plugin-organize-imports:
1237 | optional: true
1238 | prettier-plugin-sort-imports:
1239 | optional: true
1240 | prettier-plugin-style-order:
1241 | optional: true
1242 | prettier-plugin-svelte:
1243 | optional: true
1244 |
1245 | prettier@3.2.5:
1246 | resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
1247 | engines: {node: '>=14'}
1248 | hasBin: true
1249 |
1250 | punycode@2.3.1:
1251 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1252 | engines: {node: '>=6'}
1253 |
1254 | queue-microtask@1.2.3:
1255 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1256 |
1257 | read-cache@1.0.0:
1258 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1259 |
1260 | readdirp@3.6.0:
1261 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1262 | engines: {node: '>=8.10.0'}
1263 |
1264 | resolve-from@4.0.0:
1265 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1266 | engines: {node: '>=4'}
1267 |
1268 | resolve@1.22.8:
1269 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
1270 | hasBin: true
1271 |
1272 | reusify@1.0.4:
1273 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1274 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1275 |
1276 | rimraf@2.7.1:
1277 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1278 | hasBin: true
1279 |
1280 | rimraf@3.0.2:
1281 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1282 | hasBin: true
1283 |
1284 | rollup@4.17.2:
1285 | resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
1286 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1287 | hasBin: true
1288 |
1289 | run-parallel@1.2.0:
1290 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1291 |
1292 | sade@1.8.1:
1293 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1294 | engines: {node: '>=6'}
1295 |
1296 | sander@0.5.1:
1297 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1298 |
1299 | semver@7.6.2:
1300 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
1301 | engines: {node: '>=10'}
1302 | hasBin: true
1303 |
1304 | set-cookie-parser@2.6.0:
1305 | resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
1306 |
1307 | shebang-command@2.0.0:
1308 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1309 | engines: {node: '>=8'}
1310 |
1311 | shebang-regex@3.0.0:
1312 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1313 | engines: {node: '>=8'}
1314 |
1315 | signal-exit@4.1.0:
1316 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1317 | engines: {node: '>=14'}
1318 |
1319 | sirv@2.0.4:
1320 | resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
1321 | engines: {node: '>= 10'}
1322 |
1323 | slash@3.0.0:
1324 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1325 | engines: {node: '>=8'}
1326 |
1327 | sorcery@0.11.0:
1328 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1329 | hasBin: true
1330 |
1331 | source-map-js@1.2.0:
1332 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
1333 | engines: {node: '>=0.10.0'}
1334 |
1335 | string-width@4.2.3:
1336 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1337 | engines: {node: '>=8'}
1338 |
1339 | string-width@5.1.2:
1340 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1341 | engines: {node: '>=12'}
1342 |
1343 | strip-ansi@6.0.1:
1344 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1345 | engines: {node: '>=8'}
1346 |
1347 | strip-ansi@7.1.0:
1348 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1349 | engines: {node: '>=12'}
1350 |
1351 | strip-indent@3.0.0:
1352 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1353 | engines: {node: '>=8'}
1354 |
1355 | strip-json-comments@3.1.1:
1356 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1357 | engines: {node: '>=8'}
1358 |
1359 | sucrase@3.35.0:
1360 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1361 | engines: {node: '>=16 || 14 >=14.17'}
1362 | hasBin: true
1363 |
1364 | supports-color@7.2.0:
1365 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1366 | engines: {node: '>=8'}
1367 |
1368 | supports-preserve-symlinks-flag@1.0.0:
1369 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1370 | engines: {node: '>= 0.4'}
1371 |
1372 | svelte-check@3.7.1:
1373 | resolution: {integrity: sha512-U4uJoLCzmz2o2U33c7mPDJNhRYX/DNFV11XTUDlFxaKLsO7P+40gvJHMPpoRfa24jqZfST4/G9fGNcUGMO8NAQ==}
1374 | hasBin: true
1375 | peerDependencies:
1376 | svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
1377 |
1378 | svelte-eslint-parser@0.36.0:
1379 | resolution: {integrity: sha512-/6YmUSr0FAVxW8dXNdIMydBnddPMHzaHirAZ7RrT21XYdgGGZMh0LQG6CZsvAFS4r2Y4ItUuCQc8TQ3urB30mQ==}
1380 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1381 | peerDependencies:
1382 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.115
1383 | peerDependenciesMeta:
1384 | svelte:
1385 | optional: true
1386 |
1387 | svelte-highlight@7.6.1:
1388 | resolution: {integrity: sha512-YIpA6LBVpghQndBsbZQLl3ufEje179vQTtC7FH/utbEmUwYecIXsBq4mcwNkCeUuCrpcaF0DkrppWmMp/ZoPfA==}
1389 |
1390 | svelte-hmr@0.16.0:
1391 | resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==}
1392 | engines: {node: ^12.20 || ^14.13.1 || >= 16}
1393 | peerDependencies:
1394 | svelte: ^3.19.0 || ^4.0.0
1395 |
1396 | svelte-preprocess@5.1.4:
1397 | resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
1398 | engines: {node: '>= 16.0.0'}
1399 | peerDependencies:
1400 | '@babel/core': ^7.10.2
1401 | coffeescript: ^2.5.1
1402 | less: ^3.11.3 || ^4.0.0
1403 | postcss: ^7 || ^8
1404 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
1405 | pug: ^3.0.0
1406 | sass: ^1.26.8
1407 | stylus: ^0.55.0
1408 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
1409 | svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
1410 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
1411 | peerDependenciesMeta:
1412 | '@babel/core':
1413 | optional: true
1414 | coffeescript:
1415 | optional: true
1416 | less:
1417 | optional: true
1418 | postcss:
1419 | optional: true
1420 | postcss-load-config:
1421 | optional: true
1422 | pug:
1423 | optional: true
1424 | sass:
1425 | optional: true
1426 | stylus:
1427 | optional: true
1428 | sugarss:
1429 | optional: true
1430 | typescript:
1431 | optional: true
1432 |
1433 | svelte@4.2.17:
1434 | resolution: {integrity: sha512-N7m1YnoXtRf5wya5Gyx3TWuTddI4nAyayyIWFojiWV5IayDYNV5i2mRp/7qNGol4DtxEYxljmrbgp1HM6hUbmQ==}
1435 | engines: {node: '>=16'}
1436 |
1437 | tailwindcss@3.4.3:
1438 | resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
1439 | engines: {node: '>=14.0.0'}
1440 | hasBin: true
1441 |
1442 | text-table@0.2.0:
1443 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1444 |
1445 | thenify-all@1.6.0:
1446 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1447 | engines: {node: '>=0.8'}
1448 |
1449 | thenify@3.3.1:
1450 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1451 |
1452 | tiny-glob@0.2.9:
1453 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
1454 |
1455 | to-regex-range@5.0.1:
1456 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1457 | engines: {node: '>=8.0'}
1458 |
1459 | totalist@3.0.1:
1460 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1461 | engines: {node: '>=6'}
1462 |
1463 | ts-api-utils@1.3.0:
1464 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
1465 | engines: {node: '>=16'}
1466 | peerDependencies:
1467 | typescript: '>=4.2.0'
1468 |
1469 | ts-interface-checker@0.1.13:
1470 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1471 |
1472 | tslib@2.6.2:
1473 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1474 |
1475 | type-check@0.4.0:
1476 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1477 | engines: {node: '>= 0.8.0'}
1478 |
1479 | type-fest@0.20.2:
1480 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1481 | engines: {node: '>=10'}
1482 |
1483 | typescript@5.4.5:
1484 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
1485 | engines: {node: '>=14.17'}
1486 | hasBin: true
1487 |
1488 | update-browserslist-db@1.0.16:
1489 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
1490 | hasBin: true
1491 | peerDependencies:
1492 | browserslist: '>= 4.21.0'
1493 |
1494 | uri-js@4.4.1:
1495 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1496 |
1497 | util-deprecate@1.0.2:
1498 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1499 |
1500 | vite@5.2.11:
1501 | resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
1502 | engines: {node: ^18.0.0 || >=20.0.0}
1503 | hasBin: true
1504 | peerDependencies:
1505 | '@types/node': ^18.0.0 || >=20.0.0
1506 | less: '*'
1507 | lightningcss: ^1.21.0
1508 | sass: '*'
1509 | stylus: '*'
1510 | sugarss: '*'
1511 | terser: ^5.4.0
1512 | peerDependenciesMeta:
1513 | '@types/node':
1514 | optional: true
1515 | less:
1516 | optional: true
1517 | lightningcss:
1518 | optional: true
1519 | sass:
1520 | optional: true
1521 | stylus:
1522 | optional: true
1523 | sugarss:
1524 | optional: true
1525 | terser:
1526 | optional: true
1527 |
1528 | vitefu@0.2.5:
1529 | resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
1530 | peerDependencies:
1531 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0
1532 | peerDependenciesMeta:
1533 | vite:
1534 | optional: true
1535 |
1536 | which@2.0.2:
1537 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1538 | engines: {node: '>= 8'}
1539 | hasBin: true
1540 |
1541 | word-wrap@1.2.5:
1542 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1543 | engines: {node: '>=0.10.0'}
1544 |
1545 | wrap-ansi@7.0.0:
1546 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1547 | engines: {node: '>=10'}
1548 |
1549 | wrap-ansi@8.1.0:
1550 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1551 | engines: {node: '>=12'}
1552 |
1553 | wrappy@1.0.2:
1554 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1555 |
1556 | yaml@1.10.2:
1557 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
1558 | engines: {node: '>= 6'}
1559 |
1560 | yaml@2.4.2:
1561 | resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
1562 | engines: {node: '>= 14'}
1563 | hasBin: true
1564 |
1565 | yocto-queue@0.1.0:
1566 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1567 | engines: {node: '>=10'}
1568 |
1569 | zod@3.23.8:
1570 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
1571 |
1572 | snapshots:
1573 |
1574 | '@alloc/quick-lru@5.2.0': {}
1575 |
1576 | '@ampproject/remapping@2.3.0':
1577 | dependencies:
1578 | '@jridgewell/gen-mapping': 0.3.5
1579 | '@jridgewell/trace-mapping': 0.3.25
1580 |
1581 | '@esbuild/aix-ppc64@0.20.2':
1582 | optional: true
1583 |
1584 | '@esbuild/android-arm64@0.20.2':
1585 | optional: true
1586 |
1587 | '@esbuild/android-arm@0.20.2':
1588 | optional: true
1589 |
1590 | '@esbuild/android-x64@0.20.2':
1591 | optional: true
1592 |
1593 | '@esbuild/darwin-arm64@0.20.2':
1594 | optional: true
1595 |
1596 | '@esbuild/darwin-x64@0.20.2':
1597 | optional: true
1598 |
1599 | '@esbuild/freebsd-arm64@0.20.2':
1600 | optional: true
1601 |
1602 | '@esbuild/freebsd-x64@0.20.2':
1603 | optional: true
1604 |
1605 | '@esbuild/linux-arm64@0.20.2':
1606 | optional: true
1607 |
1608 | '@esbuild/linux-arm@0.20.2':
1609 | optional: true
1610 |
1611 | '@esbuild/linux-ia32@0.20.2':
1612 | optional: true
1613 |
1614 | '@esbuild/linux-loong64@0.20.2':
1615 | optional: true
1616 |
1617 | '@esbuild/linux-mips64el@0.20.2':
1618 | optional: true
1619 |
1620 | '@esbuild/linux-ppc64@0.20.2':
1621 | optional: true
1622 |
1623 | '@esbuild/linux-riscv64@0.20.2':
1624 | optional: true
1625 |
1626 | '@esbuild/linux-s390x@0.20.2':
1627 | optional: true
1628 |
1629 | '@esbuild/linux-x64@0.20.2':
1630 | optional: true
1631 |
1632 | '@esbuild/netbsd-x64@0.20.2':
1633 | optional: true
1634 |
1635 | '@esbuild/openbsd-x64@0.20.2':
1636 | optional: true
1637 |
1638 | '@esbuild/sunos-x64@0.20.2':
1639 | optional: true
1640 |
1641 | '@esbuild/win32-arm64@0.20.2':
1642 | optional: true
1643 |
1644 | '@esbuild/win32-ia32@0.20.2':
1645 | optional: true
1646 |
1647 | '@esbuild/win32-x64@0.20.2':
1648 | optional: true
1649 |
1650 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
1651 | dependencies:
1652 | eslint: 8.57.0
1653 | eslint-visitor-keys: 3.4.3
1654 |
1655 | '@eslint-community/regexpp@4.10.0': {}
1656 |
1657 | '@eslint/eslintrc@2.1.4':
1658 | dependencies:
1659 | ajv: 6.12.6
1660 | debug: 4.3.4
1661 | espree: 9.6.1
1662 | globals: 13.24.0
1663 | ignore: 5.3.1
1664 | import-fresh: 3.3.0
1665 | js-yaml: 4.1.0
1666 | minimatch: 3.1.2
1667 | strip-json-comments: 3.1.1
1668 | transitivePeerDependencies:
1669 | - supports-color
1670 |
1671 | '@eslint/js@8.57.0': {}
1672 |
1673 | '@fontsource-variable/inter@5.0.18': {}
1674 |
1675 | '@humanwhocodes/config-array@0.11.14':
1676 | dependencies:
1677 | '@humanwhocodes/object-schema': 2.0.3
1678 | debug: 4.3.4
1679 | minimatch: 3.1.2
1680 | transitivePeerDependencies:
1681 | - supports-color
1682 |
1683 | '@humanwhocodes/module-importer@1.0.1': {}
1684 |
1685 | '@humanwhocodes/object-schema@2.0.3': {}
1686 |
1687 | '@isaacs/cliui@8.0.2':
1688 | dependencies:
1689 | string-width: 5.1.2
1690 | string-width-cjs: string-width@4.2.3
1691 | strip-ansi: 7.1.0
1692 | strip-ansi-cjs: strip-ansi@6.0.1
1693 | wrap-ansi: 8.1.0
1694 | wrap-ansi-cjs: wrap-ansi@7.0.0
1695 |
1696 | '@jridgewell/gen-mapping@0.3.5':
1697 | dependencies:
1698 | '@jridgewell/set-array': 1.2.1
1699 | '@jridgewell/sourcemap-codec': 1.4.15
1700 | '@jridgewell/trace-mapping': 0.3.25
1701 |
1702 | '@jridgewell/resolve-uri@3.1.2': {}
1703 |
1704 | '@jridgewell/set-array@1.2.1': {}
1705 |
1706 | '@jridgewell/sourcemap-codec@1.4.15': {}
1707 |
1708 | '@jridgewell/trace-mapping@0.3.25':
1709 | dependencies:
1710 | '@jridgewell/resolve-uri': 3.1.2
1711 | '@jridgewell/sourcemap-codec': 1.4.15
1712 |
1713 | '@nodelib/fs.scandir@2.1.5':
1714 | dependencies:
1715 | '@nodelib/fs.stat': 2.0.5
1716 | run-parallel: 1.2.0
1717 |
1718 | '@nodelib/fs.stat@2.0.5': {}
1719 |
1720 | '@nodelib/fs.walk@1.2.8':
1721 | dependencies:
1722 | '@nodelib/fs.scandir': 2.1.5
1723 | fastq: 1.17.1
1724 |
1725 | '@pkgjs/parseargs@0.11.0':
1726 | optional: true
1727 |
1728 | '@polka/url@1.0.0-next.25': {}
1729 |
1730 | '@rollup/rollup-android-arm-eabi@4.17.2':
1731 | optional: true
1732 |
1733 | '@rollup/rollup-android-arm64@4.17.2':
1734 | optional: true
1735 |
1736 | '@rollup/rollup-darwin-arm64@4.17.2':
1737 | optional: true
1738 |
1739 | '@rollup/rollup-darwin-x64@4.17.2':
1740 | optional: true
1741 |
1742 | '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
1743 | optional: true
1744 |
1745 | '@rollup/rollup-linux-arm-musleabihf@4.17.2':
1746 | optional: true
1747 |
1748 | '@rollup/rollup-linux-arm64-gnu@4.17.2':
1749 | optional: true
1750 |
1751 | '@rollup/rollup-linux-arm64-musl@4.17.2':
1752 | optional: true
1753 |
1754 | '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
1755 | optional: true
1756 |
1757 | '@rollup/rollup-linux-riscv64-gnu@4.17.2':
1758 | optional: true
1759 |
1760 | '@rollup/rollup-linux-s390x-gnu@4.17.2':
1761 | optional: true
1762 |
1763 | '@rollup/rollup-linux-x64-gnu@4.17.2':
1764 | optional: true
1765 |
1766 | '@rollup/rollup-linux-x64-musl@4.17.2':
1767 | optional: true
1768 |
1769 | '@rollup/rollup-win32-arm64-msvc@4.17.2':
1770 | optional: true
1771 |
1772 | '@rollup/rollup-win32-ia32-msvc@4.17.2':
1773 | optional: true
1774 |
1775 | '@rollup/rollup-win32-x64-msvc@4.17.2':
1776 | optional: true
1777 |
1778 | '@sveltejs/adapter-auto@3.2.0(@sveltejs/kit@2.5.8(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11))':
1779 | dependencies:
1780 | '@sveltejs/kit': 2.5.8(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11)
1781 | import-meta-resolve: 4.1.0
1782 |
1783 | '@sveltejs/kit@2.5.8(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11)':
1784 | dependencies:
1785 | '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.17)(vite@5.2.11)
1786 | '@types/cookie': 0.6.0
1787 | cookie: 0.6.0
1788 | devalue: 5.0.0
1789 | esm-env: 1.0.0
1790 | import-meta-resolve: 4.1.0
1791 | kleur: 4.1.5
1792 | magic-string: 0.30.10
1793 | mrmime: 2.0.0
1794 | sade: 1.8.1
1795 | set-cookie-parser: 2.6.0
1796 | sirv: 2.0.4
1797 | svelte: 4.2.17
1798 | tiny-glob: 0.2.9
1799 | vite: 5.2.11
1800 |
1801 | '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11)':
1802 | dependencies:
1803 | '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.17)(vite@5.2.11)
1804 | debug: 4.3.4
1805 | svelte: 4.2.17
1806 | vite: 5.2.11
1807 | transitivePeerDependencies:
1808 | - supports-color
1809 |
1810 | '@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11)':
1811 | dependencies:
1812 | '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.17)(vite@5.2.11))(svelte@4.2.17)(vite@5.2.11)
1813 | debug: 4.3.4
1814 | deepmerge: 4.3.1
1815 | kleur: 4.1.5
1816 | magic-string: 0.30.10
1817 | svelte: 4.2.17
1818 | svelte-hmr: 0.16.0(svelte@4.2.17)
1819 | vite: 5.2.11
1820 | vitefu: 0.2.5(vite@5.2.11)
1821 | transitivePeerDependencies:
1822 | - supports-color
1823 |
1824 | '@types/cookie@0.6.0': {}
1825 |
1826 | '@types/eslint@8.56.10':
1827 | dependencies:
1828 | '@types/estree': 1.0.5
1829 | '@types/json-schema': 7.0.15
1830 |
1831 | '@types/estree@1.0.5': {}
1832 |
1833 | '@types/json-schema@7.0.15': {}
1834 |
1835 | '@types/pug@2.0.10': {}
1836 |
1837 | '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
1838 | dependencies:
1839 | '@eslint-community/regexpp': 4.10.0
1840 | '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
1841 | '@typescript-eslint/scope-manager': 7.9.0
1842 | '@typescript-eslint/type-utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
1843 | '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
1844 | '@typescript-eslint/visitor-keys': 7.9.0
1845 | eslint: 8.57.0
1846 | graphemer: 1.4.0
1847 | ignore: 5.3.1
1848 | natural-compare: 1.4.0
1849 | ts-api-utils: 1.3.0(typescript@5.4.5)
1850 | optionalDependencies:
1851 | typescript: 5.4.5
1852 | transitivePeerDependencies:
1853 | - supports-color
1854 |
1855 | '@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
1856 | dependencies:
1857 | '@typescript-eslint/scope-manager': 7.9.0
1858 | '@typescript-eslint/types': 7.9.0
1859 | '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
1860 | '@typescript-eslint/visitor-keys': 7.9.0
1861 | debug: 4.3.4
1862 | eslint: 8.57.0
1863 | optionalDependencies:
1864 | typescript: 5.4.5
1865 | transitivePeerDependencies:
1866 | - supports-color
1867 |
1868 | '@typescript-eslint/scope-manager@7.9.0':
1869 | dependencies:
1870 | '@typescript-eslint/types': 7.9.0
1871 | '@typescript-eslint/visitor-keys': 7.9.0
1872 |
1873 | '@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
1874 | dependencies:
1875 | '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
1876 | '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
1877 | debug: 4.3.4
1878 | eslint: 8.57.0
1879 | ts-api-utils: 1.3.0(typescript@5.4.5)
1880 | optionalDependencies:
1881 | typescript: 5.4.5
1882 | transitivePeerDependencies:
1883 | - supports-color
1884 |
1885 | '@typescript-eslint/types@7.9.0': {}
1886 |
1887 | '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)':
1888 | dependencies:
1889 | '@typescript-eslint/types': 7.9.0
1890 | '@typescript-eslint/visitor-keys': 7.9.0
1891 | debug: 4.3.4
1892 | globby: 11.1.0
1893 | is-glob: 4.0.3
1894 | minimatch: 9.0.4
1895 | semver: 7.6.2
1896 | ts-api-utils: 1.3.0(typescript@5.4.5)
1897 | optionalDependencies:
1898 | typescript: 5.4.5
1899 | transitivePeerDependencies:
1900 | - supports-color
1901 |
1902 | '@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
1903 | dependencies:
1904 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
1905 | '@typescript-eslint/scope-manager': 7.9.0
1906 | '@typescript-eslint/types': 7.9.0
1907 | '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
1908 | eslint: 8.57.0
1909 | transitivePeerDependencies:
1910 | - supports-color
1911 | - typescript
1912 |
1913 | '@typescript-eslint/visitor-keys@7.9.0':
1914 | dependencies:
1915 | '@typescript-eslint/types': 7.9.0
1916 | eslint-visitor-keys: 3.4.3
1917 |
1918 | '@ungap/structured-clone@1.2.0': {}
1919 |
1920 | acorn-jsx@5.3.2(acorn@8.11.3):
1921 | dependencies:
1922 | acorn: 8.11.3
1923 |
1924 | acorn@8.11.3: {}
1925 |
1926 | ajv@6.12.6:
1927 | dependencies:
1928 | fast-deep-equal: 3.1.3
1929 | fast-json-stable-stringify: 2.1.0
1930 | json-schema-traverse: 0.4.1
1931 | uri-js: 4.4.1
1932 |
1933 | ansi-regex@5.0.1: {}
1934 |
1935 | ansi-regex@6.0.1: {}
1936 |
1937 | ansi-styles@4.3.0:
1938 | dependencies:
1939 | color-convert: 2.0.1
1940 |
1941 | ansi-styles@6.2.1: {}
1942 |
1943 | any-promise@1.3.0: {}
1944 |
1945 | anymatch@3.1.3:
1946 | dependencies:
1947 | normalize-path: 3.0.0
1948 | picomatch: 2.3.1
1949 |
1950 | arg@5.0.2: {}
1951 |
1952 | argparse@2.0.1: {}
1953 |
1954 | aria-query@5.3.0:
1955 | dependencies:
1956 | dequal: 2.0.3
1957 |
1958 | array-union@2.1.0: {}
1959 |
1960 | autoprefixer@10.4.19(postcss@8.4.38):
1961 | dependencies:
1962 | browserslist: 4.23.0
1963 | caniuse-lite: 1.0.30001618
1964 | fraction.js: 4.3.7
1965 | normalize-range: 0.1.2
1966 | picocolors: 1.0.1
1967 | postcss: 8.4.38
1968 | postcss-value-parser: 4.2.0
1969 |
1970 | axobject-query@4.0.0:
1971 | dependencies:
1972 | dequal: 2.0.3
1973 |
1974 | balanced-match@1.0.2: {}
1975 |
1976 | binary-extensions@2.3.0: {}
1977 |
1978 | brace-expansion@1.1.11:
1979 | dependencies:
1980 | balanced-match: 1.0.2
1981 | concat-map: 0.0.1
1982 |
1983 | brace-expansion@2.0.1:
1984 | dependencies:
1985 | balanced-match: 1.0.2
1986 |
1987 | braces@3.0.2:
1988 | dependencies:
1989 | fill-range: 7.0.1
1990 |
1991 | browserslist@4.23.0:
1992 | dependencies:
1993 | caniuse-lite: 1.0.30001618
1994 | electron-to-chromium: 1.4.769
1995 | node-releases: 2.0.14
1996 | update-browserslist-db: 1.0.16(browserslist@4.23.0)
1997 |
1998 | buffer-crc32@0.2.13: {}
1999 |
2000 | callsites@3.1.0: {}
2001 |
2002 | camelcase-css@2.0.1: {}
2003 |
2004 | caniuse-lite@1.0.30001618: {}
2005 |
2006 | chalk@4.1.2:
2007 | dependencies:
2008 | ansi-styles: 4.3.0
2009 | supports-color: 7.2.0
2010 |
2011 | chokidar@3.6.0:
2012 | dependencies:
2013 | anymatch: 3.1.3
2014 | braces: 3.0.2
2015 | glob-parent: 5.1.2
2016 | is-binary-path: 2.1.0
2017 | is-glob: 4.0.3
2018 | normalize-path: 3.0.0
2019 | readdirp: 3.6.0
2020 | optionalDependencies:
2021 | fsevents: 2.3.3
2022 |
2023 | code-red@1.0.4:
2024 | dependencies:
2025 | '@jridgewell/sourcemap-codec': 1.4.15
2026 | '@types/estree': 1.0.5
2027 | acorn: 8.11.3
2028 | estree-walker: 3.0.3
2029 | periscopic: 3.1.0
2030 |
2031 | color-convert@2.0.1:
2032 | dependencies:
2033 | color-name: 1.1.4
2034 |
2035 | color-name@1.1.4: {}
2036 |
2037 | commander@4.1.1: {}
2038 |
2039 | concat-map@0.0.1: {}
2040 |
2041 | cookie@0.6.0: {}
2042 |
2043 | cross-spawn@7.0.3:
2044 | dependencies:
2045 | path-key: 3.1.1
2046 | shebang-command: 2.0.0
2047 | which: 2.0.2
2048 |
2049 | css-tree@2.3.1:
2050 | dependencies:
2051 | mdn-data: 2.0.30
2052 | source-map-js: 1.2.0
2053 |
2054 | cssesc@3.0.0: {}
2055 |
2056 | debug@4.3.4:
2057 | dependencies:
2058 | ms: 2.1.2
2059 |
2060 | deep-is@0.1.4: {}
2061 |
2062 | deepmerge@4.3.1: {}
2063 |
2064 | dequal@2.0.3: {}
2065 |
2066 | detect-indent@6.1.0: {}
2067 |
2068 | devalue@5.0.0: {}
2069 |
2070 | didyoumean@1.2.2: {}
2071 |
2072 | dir-glob@3.0.1:
2073 | dependencies:
2074 | path-type: 4.0.0
2075 |
2076 | dlv@1.1.3: {}
2077 |
2078 | doctrine@3.0.0:
2079 | dependencies:
2080 | esutils: 2.0.3
2081 |
2082 | eastasianwidth@0.2.0: {}
2083 |
2084 | electron-to-chromium@1.4.769: {}
2085 |
2086 | emoji-regex@8.0.0: {}
2087 |
2088 | emoji-regex@9.2.2: {}
2089 |
2090 | es6-promise@3.3.1: {}
2091 |
2092 | esbuild@0.20.2:
2093 | optionalDependencies:
2094 | '@esbuild/aix-ppc64': 0.20.2
2095 | '@esbuild/android-arm': 0.20.2
2096 | '@esbuild/android-arm64': 0.20.2
2097 | '@esbuild/android-x64': 0.20.2
2098 | '@esbuild/darwin-arm64': 0.20.2
2099 | '@esbuild/darwin-x64': 0.20.2
2100 | '@esbuild/freebsd-arm64': 0.20.2
2101 | '@esbuild/freebsd-x64': 0.20.2
2102 | '@esbuild/linux-arm': 0.20.2
2103 | '@esbuild/linux-arm64': 0.20.2
2104 | '@esbuild/linux-ia32': 0.20.2
2105 | '@esbuild/linux-loong64': 0.20.2
2106 | '@esbuild/linux-mips64el': 0.20.2
2107 | '@esbuild/linux-ppc64': 0.20.2
2108 | '@esbuild/linux-riscv64': 0.20.2
2109 | '@esbuild/linux-s390x': 0.20.2
2110 | '@esbuild/linux-x64': 0.20.2
2111 | '@esbuild/netbsd-x64': 0.20.2
2112 | '@esbuild/openbsd-x64': 0.20.2
2113 | '@esbuild/sunos-x64': 0.20.2
2114 | '@esbuild/win32-arm64': 0.20.2
2115 | '@esbuild/win32-ia32': 0.20.2
2116 | '@esbuild/win32-x64': 0.20.2
2117 |
2118 | escalade@3.1.2: {}
2119 |
2120 | escape-string-regexp@4.0.0: {}
2121 |
2122 | eslint-compat-utils@0.5.0(eslint@8.57.0):
2123 | dependencies:
2124 | eslint: 8.57.0
2125 | semver: 7.6.2
2126 |
2127 | eslint-config-prettier@9.1.0(eslint@8.57.0):
2128 | dependencies:
2129 | eslint: 8.57.0
2130 |
2131 | eslint-plugin-svelte@2.39.0(eslint@8.57.0)(svelte@4.2.17):
2132 | dependencies:
2133 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
2134 | '@jridgewell/sourcemap-codec': 1.4.15
2135 | debug: 4.3.4
2136 | eslint: 8.57.0
2137 | eslint-compat-utils: 0.5.0(eslint@8.57.0)
2138 | esutils: 2.0.3
2139 | known-css-properties: 0.31.0
2140 | postcss: 8.4.38
2141 | postcss-load-config: 3.1.4(postcss@8.4.38)
2142 | postcss-safe-parser: 6.0.0(postcss@8.4.38)
2143 | postcss-selector-parser: 6.0.16
2144 | semver: 7.6.2
2145 | svelte-eslint-parser: 0.36.0(svelte@4.2.17)
2146 | optionalDependencies:
2147 | svelte: 4.2.17
2148 | transitivePeerDependencies:
2149 | - supports-color
2150 | - ts-node
2151 |
2152 | eslint-scope@7.2.2:
2153 | dependencies:
2154 | esrecurse: 4.3.0
2155 | estraverse: 5.3.0
2156 |
2157 | eslint-visitor-keys@3.4.3: {}
2158 |
2159 | eslint@8.57.0:
2160 | dependencies:
2161 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
2162 | '@eslint-community/regexpp': 4.10.0
2163 | '@eslint/eslintrc': 2.1.4
2164 | '@eslint/js': 8.57.0
2165 | '@humanwhocodes/config-array': 0.11.14
2166 | '@humanwhocodes/module-importer': 1.0.1
2167 | '@nodelib/fs.walk': 1.2.8
2168 | '@ungap/structured-clone': 1.2.0
2169 | ajv: 6.12.6
2170 | chalk: 4.1.2
2171 | cross-spawn: 7.0.3
2172 | debug: 4.3.4
2173 | doctrine: 3.0.0
2174 | escape-string-regexp: 4.0.0
2175 | eslint-scope: 7.2.2
2176 | eslint-visitor-keys: 3.4.3
2177 | espree: 9.6.1
2178 | esquery: 1.5.0
2179 | esutils: 2.0.3
2180 | fast-deep-equal: 3.1.3
2181 | file-entry-cache: 6.0.1
2182 | find-up: 5.0.0
2183 | glob-parent: 6.0.2
2184 | globals: 13.24.0
2185 | graphemer: 1.4.0
2186 | ignore: 5.3.1
2187 | imurmurhash: 0.1.4
2188 | is-glob: 4.0.3
2189 | is-path-inside: 3.0.3
2190 | js-yaml: 4.1.0
2191 | json-stable-stringify-without-jsonify: 1.0.1
2192 | levn: 0.4.1
2193 | lodash.merge: 4.6.2
2194 | minimatch: 3.1.2
2195 | natural-compare: 1.4.0
2196 | optionator: 0.9.4
2197 | strip-ansi: 6.0.1
2198 | text-table: 0.2.0
2199 | transitivePeerDependencies:
2200 | - supports-color
2201 |
2202 | esm-env@1.0.0: {}
2203 |
2204 | espree@9.6.1:
2205 | dependencies:
2206 | acorn: 8.11.3
2207 | acorn-jsx: 5.3.2(acorn@8.11.3)
2208 | eslint-visitor-keys: 3.4.3
2209 |
2210 | esquery@1.5.0:
2211 | dependencies:
2212 | estraverse: 5.3.0
2213 |
2214 | esrecurse@4.3.0:
2215 | dependencies:
2216 | estraverse: 5.3.0
2217 |
2218 | estraverse@5.3.0: {}
2219 |
2220 | estree-walker@3.0.3:
2221 | dependencies:
2222 | '@types/estree': 1.0.5
2223 |
2224 | esutils@2.0.3: {}
2225 |
2226 | fast-deep-equal@3.1.3: {}
2227 |
2228 | fast-glob@3.3.2:
2229 | dependencies:
2230 | '@nodelib/fs.stat': 2.0.5
2231 | '@nodelib/fs.walk': 1.2.8
2232 | glob-parent: 5.1.2
2233 | merge2: 1.4.1
2234 | micromatch: 4.0.5
2235 |
2236 | fast-json-stable-stringify@2.1.0: {}
2237 |
2238 | fast-levenshtein@2.0.6: {}
2239 |
2240 | fastq@1.17.1:
2241 | dependencies:
2242 | reusify: 1.0.4
2243 |
2244 | file-entry-cache@6.0.1:
2245 | dependencies:
2246 | flat-cache: 3.2.0
2247 |
2248 | fill-range@7.0.1:
2249 | dependencies:
2250 | to-regex-range: 5.0.1
2251 |
2252 | find-up@5.0.0:
2253 | dependencies:
2254 | locate-path: 6.0.0
2255 | path-exists: 4.0.0
2256 |
2257 | flat-cache@3.2.0:
2258 | dependencies:
2259 | flatted: 3.3.1
2260 | keyv: 4.5.4
2261 | rimraf: 3.0.2
2262 |
2263 | flatted@3.3.1: {}
2264 |
2265 | foreground-child@3.1.1:
2266 | dependencies:
2267 | cross-spawn: 7.0.3
2268 | signal-exit: 4.1.0
2269 |
2270 | fraction.js@4.3.7: {}
2271 |
2272 | fs.realpath@1.0.0: {}
2273 |
2274 | fsevents@2.3.3:
2275 | optional: true
2276 |
2277 | function-bind@1.1.2: {}
2278 |
2279 | glob-parent@5.1.2:
2280 | dependencies:
2281 | is-glob: 4.0.3
2282 |
2283 | glob-parent@6.0.2:
2284 | dependencies:
2285 | is-glob: 4.0.3
2286 |
2287 | glob@10.3.15:
2288 | dependencies:
2289 | foreground-child: 3.1.1
2290 | jackspeak: 2.3.6
2291 | minimatch: 9.0.4
2292 | minipass: 7.1.1
2293 | path-scurry: 1.11.1
2294 |
2295 | glob@7.2.3:
2296 | dependencies:
2297 | fs.realpath: 1.0.0
2298 | inflight: 1.0.6
2299 | inherits: 2.0.4
2300 | minimatch: 3.1.2
2301 | once: 1.4.0
2302 | path-is-absolute: 1.0.1
2303 |
2304 | globals@13.24.0:
2305 | dependencies:
2306 | type-fest: 0.20.2
2307 |
2308 | globalyzer@0.1.0: {}
2309 |
2310 | globby@11.1.0:
2311 | dependencies:
2312 | array-union: 2.1.0
2313 | dir-glob: 3.0.1
2314 | fast-glob: 3.3.2
2315 | ignore: 5.3.1
2316 | merge2: 1.4.1
2317 | slash: 3.0.0
2318 |
2319 | globrex@0.1.2: {}
2320 |
2321 | graceful-fs@4.2.11: {}
2322 |
2323 | graphemer@1.4.0: {}
2324 |
2325 | has-flag@4.0.0: {}
2326 |
2327 | hasown@2.0.2:
2328 | dependencies:
2329 | function-bind: 1.1.2
2330 |
2331 | highlight.js@11.9.0: {}
2332 |
2333 | ignore@5.3.1: {}
2334 |
2335 | import-fresh@3.3.0:
2336 | dependencies:
2337 | parent-module: 1.0.1
2338 | resolve-from: 4.0.0
2339 |
2340 | import-meta-resolve@4.1.0: {}
2341 |
2342 | imurmurhash@0.1.4: {}
2343 |
2344 | inflight@1.0.6:
2345 | dependencies:
2346 | once: 1.4.0
2347 | wrappy: 1.0.2
2348 |
2349 | inherits@2.0.4: {}
2350 |
2351 | is-binary-path@2.1.0:
2352 | dependencies:
2353 | binary-extensions: 2.3.0
2354 |
2355 | is-core-module@2.13.1:
2356 | dependencies:
2357 | hasown: 2.0.2
2358 |
2359 | is-extglob@2.1.1: {}
2360 |
2361 | is-fullwidth-code-point@3.0.0: {}
2362 |
2363 | is-glob@4.0.3:
2364 | dependencies:
2365 | is-extglob: 2.1.1
2366 |
2367 | is-number@7.0.0: {}
2368 |
2369 | is-path-inside@3.0.3: {}
2370 |
2371 | is-reference@3.0.2:
2372 | dependencies:
2373 | '@types/estree': 1.0.5
2374 |
2375 | isexe@2.0.0: {}
2376 |
2377 | jackspeak@2.3.6:
2378 | dependencies:
2379 | '@isaacs/cliui': 8.0.2
2380 | optionalDependencies:
2381 | '@pkgjs/parseargs': 0.11.0
2382 |
2383 | jiti@1.21.0: {}
2384 |
2385 | js-yaml@4.1.0:
2386 | dependencies:
2387 | argparse: 2.0.1
2388 |
2389 | json-buffer@3.0.1: {}
2390 |
2391 | json-schema-traverse@0.4.1: {}
2392 |
2393 | json-stable-stringify-without-jsonify@1.0.1: {}
2394 |
2395 | keyv@4.5.4:
2396 | dependencies:
2397 | json-buffer: 3.0.1
2398 |
2399 | kleur@4.1.5: {}
2400 |
2401 | known-css-properties@0.31.0: {}
2402 |
2403 | levn@0.4.1:
2404 | dependencies:
2405 | prelude-ls: 1.2.1
2406 | type-check: 0.4.0
2407 |
2408 | lilconfig@2.1.0: {}
2409 |
2410 | lilconfig@3.1.1: {}
2411 |
2412 | lines-and-columns@1.2.4: {}
2413 |
2414 | locate-character@3.0.0: {}
2415 |
2416 | locate-path@6.0.0:
2417 | dependencies:
2418 | p-locate: 5.0.0
2419 |
2420 | lodash.merge@4.6.2: {}
2421 |
2422 | lru-cache@10.2.2: {}
2423 |
2424 | lucide-svelte@0.378.0(svelte@4.2.17):
2425 | dependencies:
2426 | svelte: 4.2.17
2427 |
2428 | magic-string@0.30.10:
2429 | dependencies:
2430 | '@jridgewell/sourcemap-codec': 1.4.15
2431 |
2432 | mdn-data@2.0.30: {}
2433 |
2434 | merge2@1.4.1: {}
2435 |
2436 | micromatch@4.0.5:
2437 | dependencies:
2438 | braces: 3.0.2
2439 | picomatch: 2.3.1
2440 |
2441 | min-indent@1.0.1: {}
2442 |
2443 | minimatch@3.1.2:
2444 | dependencies:
2445 | brace-expansion: 1.1.11
2446 |
2447 | minimatch@9.0.4:
2448 | dependencies:
2449 | brace-expansion: 2.0.1
2450 |
2451 | minimist@1.2.8: {}
2452 |
2453 | minipass@7.1.1: {}
2454 |
2455 | mkdirp@0.5.6:
2456 | dependencies:
2457 | minimist: 1.2.8
2458 |
2459 | mri@1.2.0: {}
2460 |
2461 | mrmime@2.0.0: {}
2462 |
2463 | ms@2.1.2: {}
2464 |
2465 | mz@2.7.0:
2466 | dependencies:
2467 | any-promise: 1.3.0
2468 | object-assign: 4.1.1
2469 | thenify-all: 1.6.0
2470 |
2471 | nanoid@3.3.7: {}
2472 |
2473 | natural-compare@1.4.0: {}
2474 |
2475 | node-releases@2.0.14: {}
2476 |
2477 | normalize-path@3.0.0: {}
2478 |
2479 | normalize-range@0.1.2: {}
2480 |
2481 | object-assign@4.1.1: {}
2482 |
2483 | object-hash@3.0.0: {}
2484 |
2485 | once@1.4.0:
2486 | dependencies:
2487 | wrappy: 1.0.2
2488 |
2489 | optionator@0.9.4:
2490 | dependencies:
2491 | deep-is: 0.1.4
2492 | fast-levenshtein: 2.0.6
2493 | levn: 0.4.1
2494 | prelude-ls: 1.2.1
2495 | type-check: 0.4.0
2496 | word-wrap: 1.2.5
2497 |
2498 | p-limit@3.1.0:
2499 | dependencies:
2500 | yocto-queue: 0.1.0
2501 |
2502 | p-locate@5.0.0:
2503 | dependencies:
2504 | p-limit: 3.1.0
2505 |
2506 | parent-module@1.0.1:
2507 | dependencies:
2508 | callsites: 3.1.0
2509 |
2510 | path-exists@4.0.0: {}
2511 |
2512 | path-is-absolute@1.0.1: {}
2513 |
2514 | path-key@3.1.1: {}
2515 |
2516 | path-parse@1.0.7: {}
2517 |
2518 | path-scurry@1.11.1:
2519 | dependencies:
2520 | lru-cache: 10.2.2
2521 | minipass: 7.1.1
2522 |
2523 | path-type@4.0.0: {}
2524 |
2525 | periscopic@3.1.0:
2526 | dependencies:
2527 | '@types/estree': 1.0.5
2528 | estree-walker: 3.0.3
2529 | is-reference: 3.0.2
2530 |
2531 | picocolors@1.0.1: {}
2532 |
2533 | picomatch@2.3.1: {}
2534 |
2535 | pify@2.3.0: {}
2536 |
2537 | pirates@4.0.6: {}
2538 |
2539 | postcss-import@15.1.0(postcss@8.4.38):
2540 | dependencies:
2541 | postcss: 8.4.38
2542 | postcss-value-parser: 4.2.0
2543 | read-cache: 1.0.0
2544 | resolve: 1.22.8
2545 |
2546 | postcss-js@4.0.1(postcss@8.4.38):
2547 | dependencies:
2548 | camelcase-css: 2.0.1
2549 | postcss: 8.4.38
2550 |
2551 | postcss-load-config@3.1.4(postcss@8.4.38):
2552 | dependencies:
2553 | lilconfig: 2.1.0
2554 | yaml: 1.10.2
2555 | optionalDependencies:
2556 | postcss: 8.4.38
2557 |
2558 | postcss-load-config@4.0.2(postcss@8.4.38):
2559 | dependencies:
2560 | lilconfig: 3.1.1
2561 | yaml: 2.4.2
2562 | optionalDependencies:
2563 | postcss: 8.4.38
2564 |
2565 | postcss-nested@6.0.1(postcss@8.4.38):
2566 | dependencies:
2567 | postcss: 8.4.38
2568 | postcss-selector-parser: 6.0.16
2569 |
2570 | postcss-safe-parser@6.0.0(postcss@8.4.38):
2571 | dependencies:
2572 | postcss: 8.4.38
2573 |
2574 | postcss-scss@4.0.9(postcss@8.4.38):
2575 | dependencies:
2576 | postcss: 8.4.38
2577 |
2578 | postcss-selector-parser@6.0.16:
2579 | dependencies:
2580 | cssesc: 3.0.0
2581 | util-deprecate: 1.0.2
2582 |
2583 | postcss-value-parser@4.2.0: {}
2584 |
2585 | postcss@8.4.38:
2586 | dependencies:
2587 | nanoid: 3.3.7
2588 | picocolors: 1.0.1
2589 | source-map-js: 1.2.0
2590 |
2591 | prelude-ls@1.2.1: {}
2592 |
2593 | prettier-plugin-svelte@3.2.3(prettier@3.2.5)(svelte@4.2.17):
2594 | dependencies:
2595 | prettier: 3.2.5
2596 | svelte: 4.2.17
2597 |
2598 | prettier-plugin-tailwindcss@0.5.14(prettier-plugin-svelte@3.2.3(prettier@3.2.5)(svelte@4.2.17))(prettier@3.2.5):
2599 | dependencies:
2600 | prettier: 3.2.5
2601 | optionalDependencies:
2602 | prettier-plugin-svelte: 3.2.3(prettier@3.2.5)(svelte@4.2.17)
2603 |
2604 | prettier@3.2.5: {}
2605 |
2606 | punycode@2.3.1: {}
2607 |
2608 | queue-microtask@1.2.3: {}
2609 |
2610 | read-cache@1.0.0:
2611 | dependencies:
2612 | pify: 2.3.0
2613 |
2614 | readdirp@3.6.0:
2615 | dependencies:
2616 | picomatch: 2.3.1
2617 |
2618 | resolve-from@4.0.0: {}
2619 |
2620 | resolve@1.22.8:
2621 | dependencies:
2622 | is-core-module: 2.13.1
2623 | path-parse: 1.0.7
2624 | supports-preserve-symlinks-flag: 1.0.0
2625 |
2626 | reusify@1.0.4: {}
2627 |
2628 | rimraf@2.7.1:
2629 | dependencies:
2630 | glob: 7.2.3
2631 |
2632 | rimraf@3.0.2:
2633 | dependencies:
2634 | glob: 7.2.3
2635 |
2636 | rollup@4.17.2:
2637 | dependencies:
2638 | '@types/estree': 1.0.5
2639 | optionalDependencies:
2640 | '@rollup/rollup-android-arm-eabi': 4.17.2
2641 | '@rollup/rollup-android-arm64': 4.17.2
2642 | '@rollup/rollup-darwin-arm64': 4.17.2
2643 | '@rollup/rollup-darwin-x64': 4.17.2
2644 | '@rollup/rollup-linux-arm-gnueabihf': 4.17.2
2645 | '@rollup/rollup-linux-arm-musleabihf': 4.17.2
2646 | '@rollup/rollup-linux-arm64-gnu': 4.17.2
2647 | '@rollup/rollup-linux-arm64-musl': 4.17.2
2648 | '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
2649 | '@rollup/rollup-linux-riscv64-gnu': 4.17.2
2650 | '@rollup/rollup-linux-s390x-gnu': 4.17.2
2651 | '@rollup/rollup-linux-x64-gnu': 4.17.2
2652 | '@rollup/rollup-linux-x64-musl': 4.17.2
2653 | '@rollup/rollup-win32-arm64-msvc': 4.17.2
2654 | '@rollup/rollup-win32-ia32-msvc': 4.17.2
2655 | '@rollup/rollup-win32-x64-msvc': 4.17.2
2656 | fsevents: 2.3.3
2657 |
2658 | run-parallel@1.2.0:
2659 | dependencies:
2660 | queue-microtask: 1.2.3
2661 |
2662 | sade@1.8.1:
2663 | dependencies:
2664 | mri: 1.2.0
2665 |
2666 | sander@0.5.1:
2667 | dependencies:
2668 | es6-promise: 3.3.1
2669 | graceful-fs: 4.2.11
2670 | mkdirp: 0.5.6
2671 | rimraf: 2.7.1
2672 |
2673 | semver@7.6.2: {}
2674 |
2675 | set-cookie-parser@2.6.0: {}
2676 |
2677 | shebang-command@2.0.0:
2678 | dependencies:
2679 | shebang-regex: 3.0.0
2680 |
2681 | shebang-regex@3.0.0: {}
2682 |
2683 | signal-exit@4.1.0: {}
2684 |
2685 | sirv@2.0.4:
2686 | dependencies:
2687 | '@polka/url': 1.0.0-next.25
2688 | mrmime: 2.0.0
2689 | totalist: 3.0.1
2690 |
2691 | slash@3.0.0: {}
2692 |
2693 | sorcery@0.11.0:
2694 | dependencies:
2695 | '@jridgewell/sourcemap-codec': 1.4.15
2696 | buffer-crc32: 0.2.13
2697 | minimist: 1.2.8
2698 | sander: 0.5.1
2699 |
2700 | source-map-js@1.2.0: {}
2701 |
2702 | string-width@4.2.3:
2703 | dependencies:
2704 | emoji-regex: 8.0.0
2705 | is-fullwidth-code-point: 3.0.0
2706 | strip-ansi: 6.0.1
2707 |
2708 | string-width@5.1.2:
2709 | dependencies:
2710 | eastasianwidth: 0.2.0
2711 | emoji-regex: 9.2.2
2712 | strip-ansi: 7.1.0
2713 |
2714 | strip-ansi@6.0.1:
2715 | dependencies:
2716 | ansi-regex: 5.0.1
2717 |
2718 | strip-ansi@7.1.0:
2719 | dependencies:
2720 | ansi-regex: 6.0.1
2721 |
2722 | strip-indent@3.0.0:
2723 | dependencies:
2724 | min-indent: 1.0.1
2725 |
2726 | strip-json-comments@3.1.1: {}
2727 |
2728 | sucrase@3.35.0:
2729 | dependencies:
2730 | '@jridgewell/gen-mapping': 0.3.5
2731 | commander: 4.1.1
2732 | glob: 10.3.15
2733 | lines-and-columns: 1.2.4
2734 | mz: 2.7.0
2735 | pirates: 4.0.6
2736 | ts-interface-checker: 0.1.13
2737 |
2738 | supports-color@7.2.0:
2739 | dependencies:
2740 | has-flag: 4.0.0
2741 |
2742 | supports-preserve-symlinks-flag@1.0.0: {}
2743 |
2744 | svelte-check@3.7.1(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.17):
2745 | dependencies:
2746 | '@jridgewell/trace-mapping': 0.3.25
2747 | chokidar: 3.6.0
2748 | fast-glob: 3.3.2
2749 | import-fresh: 3.3.0
2750 | picocolors: 1.0.1
2751 | sade: 1.8.1
2752 | svelte: 4.2.17
2753 | svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.17)(typescript@5.4.5)
2754 | typescript: 5.4.5
2755 | transitivePeerDependencies:
2756 | - '@babel/core'
2757 | - coffeescript
2758 | - less
2759 | - postcss
2760 | - postcss-load-config
2761 | - pug
2762 | - sass
2763 | - stylus
2764 | - sugarss
2765 |
2766 | svelte-eslint-parser@0.36.0(svelte@4.2.17):
2767 | dependencies:
2768 | eslint-scope: 7.2.2
2769 | eslint-visitor-keys: 3.4.3
2770 | espree: 9.6.1
2771 | postcss: 8.4.38
2772 | postcss-scss: 4.0.9(postcss@8.4.38)
2773 | optionalDependencies:
2774 | svelte: 4.2.17
2775 |
2776 | svelte-highlight@7.6.1:
2777 | dependencies:
2778 | highlight.js: 11.9.0
2779 |
2780 | svelte-hmr@0.16.0(svelte@4.2.17):
2781 | dependencies:
2782 | svelte: 4.2.17
2783 |
2784 | svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.17)(typescript@5.4.5):
2785 | dependencies:
2786 | '@types/pug': 2.0.10
2787 | detect-indent: 6.1.0
2788 | magic-string: 0.30.10
2789 | sorcery: 0.11.0
2790 | strip-indent: 3.0.0
2791 | svelte: 4.2.17
2792 | optionalDependencies:
2793 | postcss: 8.4.38
2794 | postcss-load-config: 4.0.2(postcss@8.4.38)
2795 | typescript: 5.4.5
2796 |
2797 | svelte@4.2.17:
2798 | dependencies:
2799 | '@ampproject/remapping': 2.3.0
2800 | '@jridgewell/sourcemap-codec': 1.4.15
2801 | '@jridgewell/trace-mapping': 0.3.25
2802 | '@types/estree': 1.0.5
2803 | acorn: 8.11.3
2804 | aria-query: 5.3.0
2805 | axobject-query: 4.0.0
2806 | code-red: 1.0.4
2807 | css-tree: 2.3.1
2808 | estree-walker: 3.0.3
2809 | is-reference: 3.0.2
2810 | locate-character: 3.0.0
2811 | magic-string: 0.30.10
2812 | periscopic: 3.1.0
2813 |
2814 | tailwindcss@3.4.3:
2815 | dependencies:
2816 | '@alloc/quick-lru': 5.2.0
2817 | arg: 5.0.2
2818 | chokidar: 3.6.0
2819 | didyoumean: 1.2.2
2820 | dlv: 1.1.3
2821 | fast-glob: 3.3.2
2822 | glob-parent: 6.0.2
2823 | is-glob: 4.0.3
2824 | jiti: 1.21.0
2825 | lilconfig: 2.1.0
2826 | micromatch: 4.0.5
2827 | normalize-path: 3.0.0
2828 | object-hash: 3.0.0
2829 | picocolors: 1.0.1
2830 | postcss: 8.4.38
2831 | postcss-import: 15.1.0(postcss@8.4.38)
2832 | postcss-js: 4.0.1(postcss@8.4.38)
2833 | postcss-load-config: 4.0.2(postcss@8.4.38)
2834 | postcss-nested: 6.0.1(postcss@8.4.38)
2835 | postcss-selector-parser: 6.0.16
2836 | resolve: 1.22.8
2837 | sucrase: 3.35.0
2838 | transitivePeerDependencies:
2839 | - ts-node
2840 |
2841 | text-table@0.2.0: {}
2842 |
2843 | thenify-all@1.6.0:
2844 | dependencies:
2845 | thenify: 3.3.1
2846 |
2847 | thenify@3.3.1:
2848 | dependencies:
2849 | any-promise: 1.3.0
2850 |
2851 | tiny-glob@0.2.9:
2852 | dependencies:
2853 | globalyzer: 0.1.0
2854 | globrex: 0.1.2
2855 |
2856 | to-regex-range@5.0.1:
2857 | dependencies:
2858 | is-number: 7.0.0
2859 |
2860 | totalist@3.0.1: {}
2861 |
2862 | ts-api-utils@1.3.0(typescript@5.4.5):
2863 | dependencies:
2864 | typescript: 5.4.5
2865 |
2866 | ts-interface-checker@0.1.13: {}
2867 |
2868 | tslib@2.6.2: {}
2869 |
2870 | type-check@0.4.0:
2871 | dependencies:
2872 | prelude-ls: 1.2.1
2873 |
2874 | type-fest@0.20.2: {}
2875 |
2876 | typescript@5.4.5: {}
2877 |
2878 | update-browserslist-db@1.0.16(browserslist@4.23.0):
2879 | dependencies:
2880 | browserslist: 4.23.0
2881 | escalade: 3.1.2
2882 | picocolors: 1.0.1
2883 |
2884 | uri-js@4.4.1:
2885 | dependencies:
2886 | punycode: 2.3.1
2887 |
2888 | util-deprecate@1.0.2: {}
2889 |
2890 | vite@5.2.11:
2891 | dependencies:
2892 | esbuild: 0.20.2
2893 | postcss: 8.4.38
2894 | rollup: 4.17.2
2895 | optionalDependencies:
2896 | fsevents: 2.3.3
2897 |
2898 | vitefu@0.2.5(vite@5.2.11):
2899 | optionalDependencies:
2900 | vite: 5.2.11
2901 |
2902 | which@2.0.2:
2903 | dependencies:
2904 | isexe: 2.0.0
2905 |
2906 | word-wrap@1.2.5: {}
2907 |
2908 | wrap-ansi@7.0.0:
2909 | dependencies:
2910 | ansi-styles: 4.3.0
2911 | string-width: 4.2.3
2912 | strip-ansi: 6.0.1
2913 |
2914 | wrap-ansi@8.1.0:
2915 | dependencies:
2916 | ansi-styles: 6.2.1
2917 | string-width: 5.1.2
2918 | strip-ansi: 7.1.0
2919 |
2920 | wrappy@1.0.2: {}
2921 |
2922 | yaml@1.10.2: {}
2923 |
2924 | yaml@2.4.2: {}
2925 |
2926 | yocto-queue@0.1.0: {}
2927 |
2928 | zod@3.23.8: {}
2929 |
--------------------------------------------------------------------------------