├── api
├── .gitignore
├── src
│ ├── index.ts
│ └── client.ts
├── tsup.config.js
├── package.json
├── biome.json
├── LICENSE
├── readme.md
├── tsconfig.json
└── pnpm-lock.yaml
├── examples
├── streaming-server
│ ├── app
│ │ ├── ___init___.py
│ │ ├── __pycache__
│ │ │ └── main.cpython-310.pyc
│ │ └── main.py
│ ├── start.sh
│ ├── requirements.txt
│ ├── docker-compose.yml
│ ├── Dockerfile
│ └── README.md
├── vite+react
│ ├── src
│ │ ├── vite-env.d.ts
│ │ ├── main.tsx
│ │ ├── App.css
│ │ ├── index.css
│ │ ├── App.tsx
│ │ └── assets
│ │ │ └── react.svg
│ ├── vite.config.ts
│ ├── tsconfig.node.json
│ ├── .gitignore
│ ├── index.html
│ ├── .eslintrc.cjs
│ ├── tsconfig.json
│ ├── package.json
│ ├── README.md
│ ├── public
│ │ └── vite.svg
│ └── pnpm-lock.yaml
└── next-js-example
│ ├── .eslintrc.json
│ ├── src
│ ├── app
│ │ ├── favicon.ico
│ │ ├── layout.tsx
│ │ ├── globals.css
│ │ └── page.tsx
│ └── components
│ │ └── client.tsx
│ ├── next.config.mjs
│ ├── postcss.config.js
│ ├── .gitignore
│ ├── tailwind.config.ts
│ ├── public
│ ├── vercel.svg
│ └── next.svg
│ ├── tsconfig.json
│ ├── package.json
│ └── README.md
├── changelog.md
└── readme.md
/api/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
--------------------------------------------------------------------------------
/examples/streaming-server/app/___init___.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/api/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./client";
2 |
--------------------------------------------------------------------------------
/examples/vite+react/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/examples/next-js-example/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/examples/streaming-server/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose.yml up
4 |
--------------------------------------------------------------------------------
/examples/streaming-server/requirements.txt:
--------------------------------------------------------------------------------
1 | fastapi>=0.68.0,<0.69.0
2 | pydantic>=1.8.0,<2.0.0
3 | uvicorn>=0.15.0,<0.16.0
4 |
--------------------------------------------------------------------------------
/examples/next-js-example/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/glamboyosa/ore/HEAD/examples/next-js-example/src/app/favicon.ico
--------------------------------------------------------------------------------
/examples/next-js-example/next.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {};
3 |
4 | export default nextConfig;
5 |
--------------------------------------------------------------------------------
/examples/next-js-example/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/examples/streaming-server/app/__pycache__/main.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/glamboyosa/ore/HEAD/examples/streaming-server/app/__pycache__/main.cpython-310.pyc
--------------------------------------------------------------------------------
/examples/vite+react/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | })
8 |
--------------------------------------------------------------------------------
/api/tsup.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "tsup";
2 |
3 | export default defineConfig({
4 | entry: ["src/index.ts"],
5 | format: ["cjs", "esm"],
6 | splitting: false,
7 | sourcemap: true,
8 | clean: true,
9 | bundle: true,
10 | dts: true,
11 | });
12 |
--------------------------------------------------------------------------------
/examples/streaming-server/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.8"
2 |
3 | services:
4 | app:
5 | build:
6 | context: .
7 | dockerfile: Dockerfile
8 | ports:
9 | - "4000:4000"
10 | volumes:
11 | - ./app:/code/app
12 | environment:
13 | - ENV=development
14 |
--------------------------------------------------------------------------------
/examples/vite+react/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App.tsx'
4 | import './index.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root')!).render(
7 |
8 |
9 | ,
10 | )
11 |
--------------------------------------------------------------------------------
/examples/vite+react/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true,
8 | "strict": true
9 | },
10 | "include": ["vite.config.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/examples/vite+react/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/examples/vite+react/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/examples/streaming-server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM python:3.10
2 |
3 | WORKDIR /code
4 |
5 | # Copy the requirements file
6 | COPY ./requirements.txt /code/requirements.txt
7 |
8 | # Install the requirements
9 | RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
10 |
11 | # Copy the application code
12 | COPY ./app /code/app
13 |
14 | # Specify the command to run the application
15 | CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "4000", "--reload"]
16 |
--------------------------------------------------------------------------------
/examples/vite+react/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:@typescript-eslint/recommended',
7 | 'plugin:react-hooks/recommended',
8 | ],
9 | ignorePatterns: ['dist', '.eslintrc.cjs'],
10 | parser: '@typescript-eslint/parser',
11 | plugins: ['react-refresh'],
12 | rules: {
13 | 'react-refresh/only-export-components': [
14 | 'warn',
15 | { allowConstantExport: true },
16 | ],
17 | },
18 | }
19 |
--------------------------------------------------------------------------------
/examples/next-js-example/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 | .yarn/install-state.gz
8 |
9 | # testing
10 | /coverage
11 |
12 | # next.js
13 | /.next/
14 | /out/
15 |
16 | # production
17 | /build
18 |
19 | # misc
20 | .DS_Store
21 | *.pem
22 |
23 | # debug
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 |
28 | # local env files
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/examples/next-js-example/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import { Inter } from "next/font/google";
3 | import "./globals.css";
4 |
5 | const inter = Inter({ subsets: ["latin"] });
6 |
7 | export const metadata: Metadata = {
8 | title: "Create Next App",
9 | description: "Generated by create next app",
10 | };
11 |
12 | export default function RootLayout({
13 | children,
14 | }: Readonly<{
15 | children: React.ReactNode;
16 | }>) {
17 | return (
18 |
19 | {children}
20 |
21 | );
22 | }
23 |
--------------------------------------------------------------------------------
/examples/next-js-example/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from "tailwindcss";
2 |
3 | const config: Config = {
4 | content: [
5 | "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
6 | "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
7 | "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
8 | ],
9 | theme: {
10 | extend: {
11 | backgroundImage: {
12 | "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
13 | "gradient-conic":
14 | "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
15 | },
16 | },
17 | },
18 | plugins: [],
19 | };
20 | export default config;
21 |
--------------------------------------------------------------------------------
/examples/next-js-example/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/api/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@glamboyosa/ore",
3 | "version": "0.0.4",
4 | "main": "./dist/index.js",
5 | "module": "./dist/index.mjs",
6 | "types": "./dist/index.d.ts",
7 | "license": "MIT",
8 | "private": false,
9 | "publishConfig": {
10 | "access": "public"
11 | },
12 | "keywords": ["@glamboyosa/ore", "server-sent events", "SSE", "api"],
13 | "scripts": {
14 | "build": "tsup",
15 | "fmt": "pnpm biome format . --write && pnpm biome check . --apply-unsafe "
16 | },
17 | "files": ["./dist/**"],
18 | "devDependencies": {
19 | "@biomejs/biome": "^1.6.3",
20 | "@types/node": "^20.11.30",
21 | "tsup": "^8.0.2",
22 | "typescript": "^5.4.3"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/examples/next-js-example/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["dom", "dom.iterable", "esnext"],
4 | "allowJs": true,
5 | "skipLibCheck": true,
6 | "strict": true,
7 | "noEmit": true,
8 | "esModuleInterop": true,
9 | "module": "esnext",
10 | "moduleResolution": "bundler",
11 | "resolveJsonModule": true,
12 | "isolatedModules": true,
13 | "jsx": "preserve",
14 | "incremental": true,
15 | "plugins": [
16 | {
17 | "name": "next"
18 | }
19 | ],
20 | "paths": {
21 | "@/*": ["./src/*"]
22 | }
23 | },
24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
25 | "exclude": ["node_modules"]
26 | }
27 |
--------------------------------------------------------------------------------
/examples/vite+react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": true,
21 | "noFallthroughCasesInSwitch": true
22 | },
23 | "include": ["src"],
24 | "references": [{ "path": "./tsconfig.node.json" }]
25 | }
26 |
--------------------------------------------------------------------------------
/examples/next-js-example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-js-example",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "@glamboyosa/ore": "^0.0.4",
13 | "next": "14.2.4",
14 | "react": "^18.3.1",
15 | "react-dom": "^18.3.1"
16 | },
17 | "devDependencies": {
18 | "@types/node": "^20",
19 | "@types/react": "^18",
20 | "@types/react-dom": "^18",
21 | "autoprefixer": "^10.0.1",
22 | "eslint": "^8",
23 | "eslint-config-next": "14.2.4",
24 | "postcss": "^8",
25 | "tailwindcss": "^3.3.0",
26 | "typescript": "^5"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/examples/next-js-example/src/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | :root {
6 | --foreground-rgb: 0, 0, 0;
7 | --background-start-rgb: 214, 219, 220;
8 | --background-end-rgb: 255, 255, 255;
9 | }
10 |
11 | @media (prefers-color-scheme: dark) {
12 | :root {
13 | --foreground-rgb: 255, 255, 255;
14 | --background-start-rgb: 0, 0, 0;
15 | --background-end-rgb: 0, 0, 0;
16 | }
17 | }
18 |
19 | body {
20 | color: rgb(var(--foreground-rgb));
21 | background: linear-gradient(
22 | to bottom,
23 | transparent,
24 | rgb(var(--background-end-rgb))
25 | )
26 | rgb(var(--background-start-rgb));
27 | }
28 |
29 | @layer utilities {
30 | .text-balance {
31 | text-wrap: balance;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/examples/vite+react/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | transition: filter 300ms;
13 | }
14 | .logo:hover {
15 | filter: drop-shadow(0 0 2em #646cffaa);
16 | }
17 | .logo.react:hover {
18 | filter: drop-shadow(0 0 2em #61dafbaa);
19 | }
20 |
21 | @keyframes logo-spin {
22 | from {
23 | transform: rotate(0deg);
24 | }
25 | to {
26 | transform: rotate(360deg);
27 | }
28 | }
29 |
30 | @media (prefers-reduced-motion: no-preference) {
31 | a:nth-of-type(2) .logo {
32 | animation: logo-spin infinite 20s linear;
33 | }
34 | }
35 |
36 | .card {
37 | padding: 2em;
38 | }
39 |
40 | .read-the-docs {
41 | color: #888;
42 | }
43 |
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | # Version 0.0.1 24-03-26
2 |
3 | - Initial release of @glamboyosa/ore package.
4 | - Implemented `Ore` class for simplified consumption of Server-Sent Events (SSE) in web applications.
5 | - Implemented handling of incoming SSE events and processing them accordingly.
6 | - Added support for implementing retry strategies for reconnecting to the SSE endpoint in case of connection failures.
7 | - Introduced customizable headers for SSE requests.
8 | - Added option to set maximum retries for connection attempts.
9 |
10 | This changelog reflects the initial release of the package and outlines its key features and functionalities. As updates and improvements are made to the package in future releases, the changelog will be updated accordingly to reflect the changes.
11 |
12 | # Version 0.0.2 24-04-01
13 |
14 | - Add README to package for NPM and co.
15 |
--------------------------------------------------------------------------------
/examples/vite+react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vitereact",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@glamboyosa/ore": "^0.0.1",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0"
16 | },
17 | "devDependencies": {
18 | "@types/react": "^18.2.66",
19 | "@types/react-dom": "^18.2.22",
20 | "@typescript-eslint/eslint-plugin": "^7.2.0",
21 | "@typescript-eslint/parser": "^7.2.0",
22 | "@vitejs/plugin-react": "^4.2.1",
23 | "eslint": "^8.57.0",
24 | "eslint-plugin-react-hooks": "^4.6.0",
25 | "eslint-plugin-react-refresh": "^0.4.6",
26 | "typescript": "^5.2.2",
27 | "vite": "^5.2.0"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/api/biome.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://biomejs.dev/schemas/1.0.0/schema.json",
3 | "linter": {
4 | "enabled": true,
5 | "rules": {
6 | "recommended": true,
7 | "a11y": {
8 | "noSvgWithoutTitle": "off"
9 | },
10 | "correctness": {
11 | "noUnusedVariables": "warn"
12 | },
13 | "security": {
14 | "noDangerouslySetInnerHtml": "off"
15 | },
16 | "style": {
17 | "useBlockStatements": "error",
18 | "noNonNullAssertion": "off"
19 | },
20 | "performance": {
21 | "noDelete": "off"
22 | },
23 | "suspicious": {
24 | "noExplicitAny": "off"
25 | }
26 | },
27 | "ignore": ["node_modules", "dist"]
28 | },
29 | "formatter": {
30 | "indentStyle": "space",
31 | "indentWidth": 2,
32 | "enabled": true,
33 | "lineWidth": 100,
34 | "ignore": ["node_modules", "dist"]
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/api/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Timothy Ogbemudia
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 |
--------------------------------------------------------------------------------
/examples/streaming-server/README.md:
--------------------------------------------------------------------------------
1 | # FastAPI Streaming Server
2 |
3 | Python example FastAPI SSE server
4 |
5 | ## Prerequisites
6 |
7 | Before running the FastAPI server, ensure that you have the following installed:
8 |
9 | - Docker
10 | - Docker Compose
11 |
12 | I would recommend [Orbstack](https://orbstack.dev), it's lightweight and requires only installation.
13 |
14 | ## Getting Started
15 |
16 | Clone the repository via:
17 |
18 | ```bash
19 | git clone https://github.com/glamboysa/ore.git
20 | ```
21 |
22 | ### Development Environment
23 |
24 | To start the FastAPI server in the development environment, first go to the streaming server folder
25 |
26 | ```bash
27 | cd examples/streaming-server
28 | ```
29 |
30 | Then run the following command:
31 |
32 | ```bash
33 | ./start.sh
34 | ```
35 |
36 | This command will use Docker Compose to build the development Docker image and start the server. The server will be accessible at http://localhost:8000.
37 |
38 | ## Note for macOS Users
39 |
40 | If you encounter permission issues while running the bash scripts on macOS, you may need to give executable permissions to the scripts. You can do this by running the following commands:
41 |
42 | ```bash
43 | chmod +x start.sh
44 | ```
45 |
--------------------------------------------------------------------------------
/examples/next-js-example/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/next-js-example/src/components/client.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import { useEffect, useState, useRef } from "react";
3 | import { Ore } from "@glamboyosa/ore";
4 | type ClientProps = {};
5 | const ore = new Ore({
6 | url: "http://localhost:4000/",
7 | headers: {
8 | "Cache-Control": "no-cache",
9 | },
10 | });
11 |
12 | const Client: React.FC = () => {
13 | const [chat, setCurrentChat] = useState("");
14 | const isFirstRun = useRef(true);
15 | useEffect(() => {
16 | if (isFirstRun.current) {
17 | isFirstRun.current = false;
18 | console.log("console:");
19 | ore.fetchSSE(
20 | (buffer, parts) => {
21 | // console.log("Received buffer:", buffer);
22 | setCurrentChat(buffer);
23 | // Process the received buffer
24 |
25 | const b = parts[parts.length - 1];
26 | //console.log("Received parts i.e. events", parts);
27 | // console.log("Buffer per event", b);
28 | },
29 | (streamEnded) => {
30 | console.log("Stream ended", streamEnded);
31 | }
32 | );
33 | }
34 | }, []);
35 | return (
36 |
40 |
Client Component:
41 |
{chat}
42 |
43 | );
44 | };
45 |
46 | export default Client;
47 |
--------------------------------------------------------------------------------
/examples/vite+react/README.md:
--------------------------------------------------------------------------------
1 | # React + TypeScript + Vite
2 |
3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4 |
5 | Currently, two official plugins are available:
6 |
7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9 |
10 | ## Expanding the ESLint configuration
11 |
12 | If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
13 |
14 | - Configure the top-level `parserOptions` property like this:
15 |
16 | ```js
17 | export default {
18 | // other rules...
19 | parserOptions: {
20 | ecmaVersion: 'latest',
21 | sourceType: 'module',
22 | project: ['./tsconfig.json', './tsconfig.node.json'],
23 | tsconfigRootDir: __dirname,
24 | },
25 | }
26 | ```
27 |
28 | - Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
29 | - Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
30 | - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
31 |
--------------------------------------------------------------------------------
/examples/vite+react/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/vite+react/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | }
15 |
16 | a {
17 | font-weight: 500;
18 | color: #646cff;
19 | text-decoration: inherit;
20 | }
21 | a:hover {
22 | color: #535bf2;
23 | }
24 |
25 | body {
26 | margin: 0;
27 | display: flex;
28 | place-items: center;
29 | min-width: 320px;
30 | min-height: 100vh;
31 | }
32 |
33 | h1 {
34 | font-size: 3.2em;
35 | line-height: 1.1;
36 | }
37 |
38 | button {
39 | border-radius: 8px;
40 | border: 1px solid transparent;
41 | padding: 0.6em 1.2em;
42 | font-size: 1em;
43 | font-weight: 500;
44 | font-family: inherit;
45 | background-color: #1a1a1a;
46 | cursor: pointer;
47 | transition: border-color 0.25s;
48 | }
49 | button:hover {
50 | border-color: #646cff;
51 | }
52 | button:focus,
53 | button:focus-visible {
54 | outline: 4px auto -webkit-focus-ring-color;
55 | }
56 |
57 | @media (prefers-color-scheme: light) {
58 | :root {
59 | color: #213547;
60 | background-color: #ffffff;
61 | }
62 | a:hover {
63 | color: #747bff;
64 | }
65 | button {
66 | background-color: #f9f9f9;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/examples/next-js-example/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | # or
12 | pnpm dev
13 | # or
14 | bun dev
15 | ```
16 |
17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18 |
19 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
20 |
21 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
22 |
23 | ## Learn More
24 |
25 | To learn more about Next.js, take a look at the following resources:
26 |
27 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
29 |
30 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
31 |
32 | ## Deploy on Vercel
33 |
34 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
35 |
36 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
37 |
--------------------------------------------------------------------------------
/examples/vite+react/src/App.tsx:
--------------------------------------------------------------------------------
1 | import reactLogo from "./assets/react.svg";
2 | import viteLogo from "/vite.svg";
3 | import "./App.css";
4 | import { Ore } from "@glamboyosa/ore";
5 | import { useEffect, useRef, useState } from "react";
6 | const ore = new Ore({
7 | url: "http://localhost:4000/",
8 | headers: {
9 | "Cache-Control": "no-cache",
10 | },
11 | });
12 |
13 | function App() {
14 | const [chat, setCurrentChat] = useState("");
15 | const isFirstRun = useRef(true);
16 | useEffect(() => {
17 | if (isFirstRun.current) {
18 | isFirstRun.current = false;
19 | console.log("console:");
20 | ore.fetchSSE(
21 | (buffer, parts) => {
22 | console.log("Received buffer:", buffer);
23 | setCurrentChat(buffer);
24 | // Process the received buffer
25 |
26 | const b = parts[parts.length - 1];
27 | console.log("Received parts i.e. events", parts);
28 | console.log("Buffer per event", b);
29 | },
30 | (streamEnded) => {
31 | console.log("Stream ended", streamEnded);
32 | }
33 | );
34 | }
35 | }, []);
36 | return (
37 | <>
38 |
46 | Vite + React
47 |
48 |
Stream:
49 |
{chat}
50 |
51 | >
52 | );
53 | }
54 |
55 | export default App;
56 |
--------------------------------------------------------------------------------
/examples/streaming-server/app/main.py:
--------------------------------------------------------------------------------
1 | import logging
2 | from fastapi import FastAPI
3 | from fastapi.middleware.cors import CORSMiddleware
4 | from fastapi.responses import StreamingResponse
5 | import time
6 | app = FastAPI()
7 |
8 |
9 | origins = [
10 | "*"
11 | ]
12 |
13 |
14 |
15 | app.add_middleware(
16 | CORSMiddleware,
17 | allow_origins=origins,
18 | allow_methods=["*"],
19 | allow_headers=["*"],
20 | )
21 |
22 | def chunk_text(text: str, chunk_size=50):
23 | """Generator function to chunk text into smaller parts."""
24 | for i in range(0, len(text), chunk_size):
25 | yield text[i:i + chunk_size]
26 | time.sleep(0.2)
27 |
28 | @app.get("/")
29 | async def root():
30 | celsius_temp = 20
31 | fahrenheit_temp = (celsius_temp * 9/5) + 32
32 | description = f"The {celsius_temp} degrees Celsius may seem cool, but it's equivalent to a toasty {fahrenheit_temp} degrees Fahrenheit! Whether you're enjoying a brisk autumn day or cozying up by the fireplace in winter, this temperature conversion highlights the versatility of weather measurement systems. Understanding both Celsius and Fahrenheit allows for seamless communication across international borders and scientific disciplines. So whether you're planning a trip abroad or simply checking the weather forecast, knowing how to convert between Celsius and Fahrenheit is an invaluable skill in today's interconnected world."
33 | print(description)
34 | return StreamingResponse(chunk_text(description, 2), headers={ "Content-Type": "text/event-stream" })
35 |
36 | @app.get("/server-component")
37 | async def root():
38 | server_name = "DataCenter_Server"
39 | cpu_cores = 32
40 | ram_gb = 128
41 | description = f"Server components are cool and The {server_name} is a powerhouse in terms of performance and reliability. With a staggering {cpu_cores} CPU cores and {ram_gb}GB of RAM, it is capable of handling even the most demanding workloads with ease. Whether you're running complex simulations, hosting virtual machines, or managing large-scale databases, this server delivers unmatched speed and efficiency. Its robust design ensures maximum uptime, keeping your operations running smoothly around the clock. Invest in the {server_name} today and experience unparalleled computing power for your business."
42 |
43 | return StreamingResponse(chunk_text(description, 5), headers={ "Content-Type": "text/event-stream" })
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Ore
2 |
3 | Ore is a JavaScript / TypeScript package that simplifies the consumption of Server-Sent Events (SSE) in web applications. It provides an easy-to-use interface for establishing SSE connections, handling incoming events, and implementing retry strategies in case of connection failures.
4 |
5 | ## Motivation
6 |
7 | Consuming Server-Sent Events (SSE) or streaming data in web applications isn't always well-documented and can be complex or just plain unreliable to implement. Ore aims to simplify this process by providing a straightforward and reliable way to consume SSE streams.
8 |
9 | ## Features
10 |
11 | - Establish SSE connections with ease.
12 | - Handle incoming SSE events and process them accordingly.
13 | - Implement retry strategies for reconnecting to the SSE endpoint in case of connection failures.
14 | - Customizable headers for SSE requests.
15 | - Set maximum retries for connection attempts.
16 |
17 | ## Install
18 |
19 | ```bash
20 | npm install @glamboyosa/ore
21 | ```
22 |
23 | ## Usage
24 |
25 | ```typescript
26 | import Ore from "@glamboyosa/ore";
27 |
28 | // Initialize Ore with URL and optional headers
29 | const ore = new Ore({
30 | url: "http://example.com/sse-endpoint",
31 | headers: {
32 | "Cache-Control": "no-cache",
33 | },
34 | });
35 |
36 | // Start SSE connection
37 | ore.fetchSSE(
38 | (buffer, parts) => {
39 | console.log("Received buffer:", buffer);
40 | // Process the received buffer
41 |
42 | const b = parts[parts.length - 1];
43 | console.log("Received parts i.e. events", parts);
44 | console.log("Buffer per event", b);
45 | // process the buffer per event
46 | },
47 | () => {
48 | console.log("Stream ended");
49 | // Handle stream end
50 | }
51 | );
52 | ```
53 |
54 | ## Class Parameters
55 |
56 | - `url`: `string` - The URL of the SSE endpoint.
57 | - `headers`: `HeadersInit` (optional) - Optional headers to include in the SSE request. Must be an object where keys are header names and values are header values.
58 |
59 | ## `fetchSSE` Function Parameters
60 |
61 | - `onBufferReceived`: `function` - Callback function to handle received SSE buffers. Receives the buffer and the optionally the parts i.e. new events as a parameter.
62 | - `onStreamEnded`: `function` - Callback function to handle stream end events. Receives the internal state of if the buffer stream is ended.
63 | - `retries`: `number` (optional) - Optional parameter to specify the maximum number of retry attempts. Default is 3.
64 |
65 | ## Working with React Server Components
66 |
67 | While Ore is intended to work with client components, it is possible to use it in server components using the `fetchSSEForRSC` function. The function takes optional `retries`: `number` (optional) - Optional parameter to specify the maximum number of retry attempts. Default is 3. and `customHeaders`: `HeadersInit` (optional) - Optional headers to include in the SSE request. Must be an object where keys are header names and values are header values.
68 |
69 | ### Usage with RSCs
70 |
71 | Checkout the `next-js-example` directory for a full example on how to use it with Server Components [here](https://github.com/glamboyosa/ore/blob/main/examples/next-js-example/src/app/page.tsx)
72 |
73 | ## Contributing
74 |
75 | Contributions to @glamboyosa/ore are welcome! If you have suggestions for improvements or encounter any issues, feel free to open an issue or submit a pull request on GitHub.
76 |
77 | ## License
78 |
79 | This project is licensed under the MIT License.
80 |
--------------------------------------------------------------------------------
/api/readme.md:
--------------------------------------------------------------------------------
1 | # Ore
2 |
3 | Ore is a JavaScript / TypeScript package that simplifies the consumption of Server-Sent Events (SSE) in web applications. It provides an easy-to-use interface for establishing SSE connections, handling incoming events, and implementing retry strategies in case of connection failures.
4 |
5 | ## Motivation
6 |
7 | Consuming Server-Sent Events (SSE) or streaming data in web applications isn't always well-documented and can be complex or just plain unreliable to implement. Ore aims to simplify this process by providing a straightforward and reliable way to consume SSE streams.
8 |
9 | ## Features
10 |
11 | - Establish SSE connections with ease.
12 | - Handle incoming SSE events and process them accordingly.
13 | - Implement retry strategies for reconnecting to the SSE endpoint in case of connection failures.
14 | - Customizable headers for SSE requests.
15 | - Set maximum retries for connection attempts.
16 |
17 | ## Install
18 |
19 | ```bash
20 | npm install @glamboyosa/ore
21 | ```
22 |
23 | ## Usage
24 |
25 | ```typescript
26 | import Ore from "@glamboyosa/ore";
27 |
28 | // Initialize Ore with URL and optional headers
29 | const ore = new Ore({
30 | url: "http://example.com/sse-endpoint",
31 | headers: {
32 | "Cache-Control": "no-cache",
33 | },
34 | });
35 |
36 | // Start SSE connection
37 | ore.fetchSSE(
38 | (buffer, parts) => {
39 | console.log("Received buffer:", buffer);
40 | // Process the received buffer
41 |
42 | const b = parts[parts.length - 1];
43 | console.log("Received parts i.e. events", parts);
44 | console.log("Buffer per event", b);
45 | // process the buffer per event
46 | },
47 | () => {
48 | console.log("Stream ended");
49 | // Handle stream end
50 | }
51 | );
52 | ```
53 |
54 | ## Class Parameters
55 |
56 | - `url`: `string` - The URL of the SSE endpoint.
57 | - `headers`: `HeadersInit` (optional) - Optional headers to include in the SSE request. Must be an object where keys are header names and values are header values.
58 |
59 | ## `fetchSSE` Function Parameters
60 |
61 | - `onBufferReceived`: `function` - Callback function to handle received SSE buffers. Receives the buffer and the optionally the parts i.e. new events as a parameter.
62 | - `onStreamEnded`: `function` - Callback function to handle stream end events. Receives the internal state of if the buffer stream is ended.
63 | - `retries`: `number` (optional) - Optional parameter to specify the maximum number of retry attempts. Default is 3.
64 |
65 | ## Working with React Server Components
66 |
67 | While Ore is intended to work with client components, it is possible to use it in server components using the `fetchSSEForRSC` function. The function takes optional `retries`: `number` (optional) - Optional parameter to specify the maximum number of retry attempts. Default is 3. and `customHeaders`: `HeadersInit` (optional) - Optional headers to include in the SSE request. Must be an object where keys are header names and values are header values.
68 |
69 | ### Usage with RSCs
70 |
71 | Checkout the `next-js-example` directory for a full example on how to use it with Server Components [here](https://github.com/glamboyosa/ore/blob/main/examples/next-js-example/src/app/page.tsx)
72 |
73 | ## Contributing
74 |
75 | Contributions to @glamboyosa/ore are welcome! If you have suggestions for improvements or encounter any issues, feel free to open an issue or submit a pull request on GitHub.
76 |
77 | ## License
78 |
79 | This project is licensed under the MIT License.
80 |
--------------------------------------------------------------------------------
/examples/next-js-example/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | import Image from "next/image";
2 | import Client from "@/components/client";
3 | import { Ore } from "@glamboyosa/ore";
4 | import { Suspense } from "react";
5 |
6 | const ore = new Ore({
7 | url: "http://localhost:4000/server-component/",
8 | headers: {
9 | "Cache-Control": "no-cache",
10 | },
11 | });
12 | async function RecursiveText({ buffer }: { buffer: any }) {
13 | const { done, value } = await buffer.read();
14 | console.log(value, done);
15 | if (done) return null;
16 | const text = new TextDecoder().decode(value);
17 | console.log(text);
18 | return (
19 |
20 | {text}
21 |
22 |
23 |
24 |
25 | );
26 | }
27 | export default async function Home() {
28 | const stream = await ore.fetchSSEForRSC();
29 | console.log(stream);
30 | return (
31 |
32 |
33 |
34 |
35 |
Server Component stream:
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
64 |
65 |
66 |
67 |
75 |
76 |
77 | );
78 | }
79 |
80 | export const dynamic = "force-dynamic";
81 |
--------------------------------------------------------------------------------
/examples/vite+react/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/api/src/client.ts:
--------------------------------------------------------------------------------
1 | interface OreOptions {
2 | url: string;
3 | headers?: HeadersInit;
4 | }
5 |
6 | class Ore {
7 | private url: string;
8 | private headers?: HeadersInit;
9 | private streamEnded = false;
10 | private retryCount = 0;
11 | private maxRetries = 3;
12 |
13 | constructor(options: OreOptions) {
14 | this.url = options.url;
15 | this.headers = options.headers
16 | ? {
17 | "Content-Type": "text/event-stream",
18 | "Cache-Control": "no-cache",
19 | Connection: "keep-alive",
20 | ...options.headers,
21 | }
22 | : {
23 | "Content-Type": "text/event-stream",
24 | "Cache-Control": "no-cache",
25 | Connection: "keep-alive",
26 | };
27 | }
28 |
29 | public fetchSSE(
30 | onBufferReceived: (buffer: string, parts: Array) => void,
31 | onStreamEnded?: (streamEnded: boolean) => void,
32 | customHeaders?: HeadersInit,
33 | retries: number = this.maxRetries,
34 | ): void {
35 | const headers = { ...this.headers, ...customHeaders };
36 |
37 | const fetchWithRetry = async (): Promise => {
38 | try {
39 | const response = await fetch(this.url, {
40 | method: "GET",
41 | headers: headers,
42 | });
43 |
44 | if (!response.ok) {
45 | throw new Error("Failed to connect to SSE endpoint");
46 | }
47 |
48 | this.retryCount = 0;
49 |
50 | const reader = response.body?.getReader();
51 | const decoder = new TextDecoder("utf-8");
52 | let buffer = "";
53 | const processText = ({ done, value }: ReadableStreamReadResult): any => {
54 | if (done) {
55 | this.streamEnded = true;
56 | if (onStreamEnded) {
57 | onStreamEnded(this.streamEnded);
58 | }
59 | return;
60 | }
61 |
62 | buffer += decoder.decode(value, { stream: true });
63 |
64 | const parts = buffer.split("\n\n");
65 |
66 | onBufferReceived(buffer, parts);
67 |
68 | return reader!.read().then(processText);
69 | };
70 | reader
71 | ?.read()
72 | .then(processText)
73 | .catch((error) => {
74 | if (this.retryCount < retries) {
75 | console.error("Error:", error);
76 | console.log("Retrying...");
77 | this.retryCount++;
78 | setTimeout(fetchWithRetry, 1000);
79 | } else {
80 | console.error("Max retries exceeded. Cannot establish SSE connection.");
81 | this.streamEnded = true;
82 | if (onStreamEnded) {
83 | onStreamEnded(this.streamEnded);
84 | }
85 | }
86 | });
87 | } catch (error) {
88 | if (this.retryCount < retries) {
89 | console.error("Error:", error);
90 | console.log("Retrying...");
91 | this.retryCount++;
92 | setTimeout(fetchWithRetry, 1000);
93 | } else {
94 | console.error("Max retries exceeded. Cannot establish SSE connection.");
95 | this.streamEnded = true;
96 | if (onStreamEnded) {
97 | onStreamEnded(this.streamEnded);
98 | }
99 | }
100 | }
101 | };
102 |
103 | fetchWithRetry();
104 | }
105 | public async fetchSSEForRSC(customHeaders?: HeadersInit, retries: number = this.maxRetries) {
106 | const headers = { ...this.headers, ...customHeaders };
107 |
108 | try {
109 | const { signal } = new AbortController();
110 | const response = await fetch(this.url, {
111 | method: "GET",
112 | headers: headers,
113 | cache: "no-store",
114 | signal,
115 | });
116 |
117 | if (!response.ok) {
118 | throw new Error("Failed to connect to SSE endpoint");
119 | }
120 |
121 | this.retryCount = 0;
122 |
123 | return response.body;
124 | } catch (error) {
125 | if (this.retryCount < retries) {
126 | console.error("Error:", error);
127 | console.log("Retrying...");
128 | this.retryCount++;
129 | setTimeout(() => this.fetchSSEForRSC(customHeaders, retries), 1000);
130 | } else {
131 | console.error("Max retries exceeded. Cannot establish SSE connection.");
132 | }
133 | }
134 | }
135 | }
136 |
137 | export { Ore, type OreOptions };
138 |
--------------------------------------------------------------------------------
/api/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Visit https://aka.ms/tsconfig to read more about this file */
4 | /* Projects */
5 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
6 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
7 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
8 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
9 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
10 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
11 | /* Language and Environment */
12 | "target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
13 | "lib": [
14 | "ESNext",
15 | "DOM"
16 | ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */,
17 | // "jsx": "preserve", /* Specify what JSX code is generated. */
18 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
19 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
20 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
21 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
22 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
23 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
24 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
25 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
26 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
27 | /* Modules */
28 | // "module": "CommonJS", /* Specify what module code is generated. */
29 | // "rootDir": "./", /* Specify the root folder within your source files. */
30 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */
36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
38 | "resolveJsonModule": true /* Enable importing .json files. */,
39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
40 | /* JavaScript Support */
41 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
42 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
43 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
44 | /* Emit */
45 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
46 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */
47 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
48 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
49 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
50 | // "outDir": "./", /* Specify an output folder for all emitted files. */
51 | // "removeComments": true, /* Disable emitting comments. */
52 | // "noEmit": true, /* Disable emitting files from a compilation. */
53 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
54 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
55 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
56 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
59 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
60 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
61 | // "newLine": "crlf", /* Set the newline character for emitting files. */
62 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
63 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
64 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
65 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
66 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
67 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
68 | /* Interop Constraints */
69 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
70 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
71 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
72 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
73 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
74 | /* Type Checking */
75 | "strict": true /* Enable all strict type-checking options. */,
76 | "noImplicitAny": true /* Enable error reporting for expressions and declarations with an implied 'any' type. */,
77 | "strictNullChecks": true /* When type checking, take into account 'null' and 'undefined'. */,
78 | "strictFunctionTypes": true /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */,
79 | "strictBindCallApply": true /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */,
80 | "strictPropertyInitialization": true /* Check for class properties that are declared but not set in the constructor. */,
81 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
82 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
83 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
84 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
85 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
86 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
87 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
88 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
89 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
90 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
91 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
92 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
93 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
94 | /* Completeness */
95 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
96 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/api/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | devDependencies:
8 | '@biomejs/biome':
9 | specifier: ^1.6.3
10 | version: 1.6.3
11 | '@types/node':
12 | specifier: ^20.11.30
13 | version: 20.11.30
14 | tsup:
15 | specifier: ^8.0.2
16 | version: 8.0.2(typescript@5.4.3)
17 | typescript:
18 | specifier: ^5.4.3
19 | version: 5.4.3
20 |
21 | packages:
22 |
23 | /@biomejs/biome@1.6.3:
24 | resolution: {integrity: sha512-Xnp/TIpIcTnRA4LwerJuoGYQJEqwXtn5AL0U0OPXll/QGbAKmcUAfizU880xTwZRD4f53iceqODLDaD3wxYlIw==}
25 | engines: {node: '>=14.*'}
26 | hasBin: true
27 | requiresBuild: true
28 | optionalDependencies:
29 | '@biomejs/cli-darwin-arm64': 1.6.3
30 | '@biomejs/cli-darwin-x64': 1.6.3
31 | '@biomejs/cli-linux-arm64': 1.6.3
32 | '@biomejs/cli-linux-arm64-musl': 1.6.3
33 | '@biomejs/cli-linux-x64': 1.6.3
34 | '@biomejs/cli-linux-x64-musl': 1.6.3
35 | '@biomejs/cli-win32-arm64': 1.6.3
36 | '@biomejs/cli-win32-x64': 1.6.3
37 | dev: true
38 |
39 | /@biomejs/cli-darwin-arm64@1.6.3:
40 | resolution: {integrity: sha512-0E8PGu3/8HSkBJdtjno+niJE1ANS/12D7sPK65vw5lTBYmmaYwJdfclDp6XO0IAX7uVd3/YtXlsEua0SVrNt3Q==}
41 | engines: {node: '>=14.*'}
42 | cpu: [arm64]
43 | os: [darwin]
44 | requiresBuild: true
45 | dev: true
46 | optional: true
47 |
48 | /@biomejs/cli-darwin-x64@1.6.3:
49 | resolution: {integrity: sha512-UWu0We/aIRtWXgJKe6ygWt2xR0yXs64BwWqtZbfxBojRn3jgW8UdFAkV5yiUOX3TQlsV6BZH1EQaUAVsccUeeA==}
50 | engines: {node: '>=14.*'}
51 | cpu: [x64]
52 | os: [darwin]
53 | requiresBuild: true
54 | dev: true
55 | optional: true
56 |
57 | /@biomejs/cli-linux-arm64-musl@1.6.3:
58 | resolution: {integrity: sha512-AntGCSfLN1nPcQj4VOk3X2JgnDw07DaPC8BuBmRcsRmn+7GPSWLllVN5awIKlRPZEbGJtSnLkTiDc5Bxw8OiuA==}
59 | engines: {node: '>=14.*'}
60 | cpu: [arm64]
61 | os: [linux]
62 | requiresBuild: true
63 | dev: true
64 | optional: true
65 |
66 | /@biomejs/cli-linux-arm64@1.6.3:
67 | resolution: {integrity: sha512-wFVkQw38kOssfnkbpSh6ums5TaElw3RAt5i/VZwHmgR2nQgE0fHXLO7HwIE9VBkOEdbiIFq+2PxvFIHuJF3z3Q==}
68 | engines: {node: '>=14.*'}
69 | cpu: [arm64]
70 | os: [linux]
71 | requiresBuild: true
72 | dev: true
73 | optional: true
74 |
75 | /@biomejs/cli-linux-x64-musl@1.6.3:
76 | resolution: {integrity: sha512-GelAvGsUwbxfFpKLG+7+dvDmbrfkGqn08sL8CMQrGnhjE1krAqHWiXQsjfmi0UMFdMsk7hbc4oSAP+1+mrXcHQ==}
77 | engines: {node: '>=14.*'}
78 | cpu: [x64]
79 | os: [linux]
80 | requiresBuild: true
81 | dev: true
82 | optional: true
83 |
84 | /@biomejs/cli-linux-x64@1.6.3:
85 | resolution: {integrity: sha512-vyn8TQaTZg617hjqFitwGmb1St5XXvq6I3vmxU/QFalM74BryMSvYCrYWb2Yw/TkykdEwZTMGYp+SWHRb04fTg==}
86 | engines: {node: '>=14.*'}
87 | cpu: [x64]
88 | os: [linux]
89 | requiresBuild: true
90 | dev: true
91 | optional: true
92 |
93 | /@biomejs/cli-win32-arm64@1.6.3:
94 | resolution: {integrity: sha512-Gx8N2Tixke6pAI1BniteCVZgUUmaFEDYosdWxoaCus15BZI/7RcBxhsRM0ZL/lC66StSQ8vHl8JBrrld1k570Q==}
95 | engines: {node: '>=14.*'}
96 | cpu: [arm64]
97 | os: [win32]
98 | requiresBuild: true
99 | dev: true
100 | optional: true
101 |
102 | /@biomejs/cli-win32-x64@1.6.3:
103 | resolution: {integrity: sha512-meungPJw64SqoR7LXY1wG7GC4+4wgpyThdFUMGXa6PCe0BLFOIOcZ9VMj9PstuczMPdgmt/BUMPsj25dK1VO8A==}
104 | engines: {node: '>=14.*'}
105 | cpu: [x64]
106 | os: [win32]
107 | requiresBuild: true
108 | dev: true
109 | optional: true
110 |
111 | /@esbuild/aix-ppc64@0.19.12:
112 | resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
113 | engines: {node: '>=12'}
114 | cpu: [ppc64]
115 | os: [aix]
116 | requiresBuild: true
117 | dev: true
118 | optional: true
119 |
120 | /@esbuild/android-arm64@0.19.12:
121 | resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
122 | engines: {node: '>=12'}
123 | cpu: [arm64]
124 | os: [android]
125 | requiresBuild: true
126 | dev: true
127 | optional: true
128 |
129 | /@esbuild/android-arm@0.19.12:
130 | resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
131 | engines: {node: '>=12'}
132 | cpu: [arm]
133 | os: [android]
134 | requiresBuild: true
135 | dev: true
136 | optional: true
137 |
138 | /@esbuild/android-x64@0.19.12:
139 | resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
140 | engines: {node: '>=12'}
141 | cpu: [x64]
142 | os: [android]
143 | requiresBuild: true
144 | dev: true
145 | optional: true
146 |
147 | /@esbuild/darwin-arm64@0.19.12:
148 | resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
149 | engines: {node: '>=12'}
150 | cpu: [arm64]
151 | os: [darwin]
152 | requiresBuild: true
153 | dev: true
154 | optional: true
155 |
156 | /@esbuild/darwin-x64@0.19.12:
157 | resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
158 | engines: {node: '>=12'}
159 | cpu: [x64]
160 | os: [darwin]
161 | requiresBuild: true
162 | dev: true
163 | optional: true
164 |
165 | /@esbuild/freebsd-arm64@0.19.12:
166 | resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
167 | engines: {node: '>=12'}
168 | cpu: [arm64]
169 | os: [freebsd]
170 | requiresBuild: true
171 | dev: true
172 | optional: true
173 |
174 | /@esbuild/freebsd-x64@0.19.12:
175 | resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
176 | engines: {node: '>=12'}
177 | cpu: [x64]
178 | os: [freebsd]
179 | requiresBuild: true
180 | dev: true
181 | optional: true
182 |
183 | /@esbuild/linux-arm64@0.19.12:
184 | resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
185 | engines: {node: '>=12'}
186 | cpu: [arm64]
187 | os: [linux]
188 | requiresBuild: true
189 | dev: true
190 | optional: true
191 |
192 | /@esbuild/linux-arm@0.19.12:
193 | resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
194 | engines: {node: '>=12'}
195 | cpu: [arm]
196 | os: [linux]
197 | requiresBuild: true
198 | dev: true
199 | optional: true
200 |
201 | /@esbuild/linux-ia32@0.19.12:
202 | resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
203 | engines: {node: '>=12'}
204 | cpu: [ia32]
205 | os: [linux]
206 | requiresBuild: true
207 | dev: true
208 | optional: true
209 |
210 | /@esbuild/linux-loong64@0.19.12:
211 | resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
212 | engines: {node: '>=12'}
213 | cpu: [loong64]
214 | os: [linux]
215 | requiresBuild: true
216 | dev: true
217 | optional: true
218 |
219 | /@esbuild/linux-mips64el@0.19.12:
220 | resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
221 | engines: {node: '>=12'}
222 | cpu: [mips64el]
223 | os: [linux]
224 | requiresBuild: true
225 | dev: true
226 | optional: true
227 |
228 | /@esbuild/linux-ppc64@0.19.12:
229 | resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
230 | engines: {node: '>=12'}
231 | cpu: [ppc64]
232 | os: [linux]
233 | requiresBuild: true
234 | dev: true
235 | optional: true
236 |
237 | /@esbuild/linux-riscv64@0.19.12:
238 | resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
239 | engines: {node: '>=12'}
240 | cpu: [riscv64]
241 | os: [linux]
242 | requiresBuild: true
243 | dev: true
244 | optional: true
245 |
246 | /@esbuild/linux-s390x@0.19.12:
247 | resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
248 | engines: {node: '>=12'}
249 | cpu: [s390x]
250 | os: [linux]
251 | requiresBuild: true
252 | dev: true
253 | optional: true
254 |
255 | /@esbuild/linux-x64@0.19.12:
256 | resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
257 | engines: {node: '>=12'}
258 | cpu: [x64]
259 | os: [linux]
260 | requiresBuild: true
261 | dev: true
262 | optional: true
263 |
264 | /@esbuild/netbsd-x64@0.19.12:
265 | resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
266 | engines: {node: '>=12'}
267 | cpu: [x64]
268 | os: [netbsd]
269 | requiresBuild: true
270 | dev: true
271 | optional: true
272 |
273 | /@esbuild/openbsd-x64@0.19.12:
274 | resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
275 | engines: {node: '>=12'}
276 | cpu: [x64]
277 | os: [openbsd]
278 | requiresBuild: true
279 | dev: true
280 | optional: true
281 |
282 | /@esbuild/sunos-x64@0.19.12:
283 | resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
284 | engines: {node: '>=12'}
285 | cpu: [x64]
286 | os: [sunos]
287 | requiresBuild: true
288 | dev: true
289 | optional: true
290 |
291 | /@esbuild/win32-arm64@0.19.12:
292 | resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
293 | engines: {node: '>=12'}
294 | cpu: [arm64]
295 | os: [win32]
296 | requiresBuild: true
297 | dev: true
298 | optional: true
299 |
300 | /@esbuild/win32-ia32@0.19.12:
301 | resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
302 | engines: {node: '>=12'}
303 | cpu: [ia32]
304 | os: [win32]
305 | requiresBuild: true
306 | dev: true
307 | optional: true
308 |
309 | /@esbuild/win32-x64@0.19.12:
310 | resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
311 | engines: {node: '>=12'}
312 | cpu: [x64]
313 | os: [win32]
314 | requiresBuild: true
315 | dev: true
316 | optional: true
317 |
318 | /@isaacs/cliui@8.0.2:
319 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
320 | engines: {node: '>=12'}
321 | dependencies:
322 | string-width: 5.1.2
323 | string-width-cjs: /string-width@4.2.3
324 | strip-ansi: 7.1.0
325 | strip-ansi-cjs: /strip-ansi@6.0.1
326 | wrap-ansi: 8.1.0
327 | wrap-ansi-cjs: /wrap-ansi@7.0.0
328 | dev: true
329 |
330 | /@jridgewell/gen-mapping@0.3.5:
331 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
332 | engines: {node: '>=6.0.0'}
333 | dependencies:
334 | '@jridgewell/set-array': 1.2.1
335 | '@jridgewell/sourcemap-codec': 1.4.15
336 | '@jridgewell/trace-mapping': 0.3.25
337 | dev: true
338 |
339 | /@jridgewell/resolve-uri@3.1.2:
340 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
341 | engines: {node: '>=6.0.0'}
342 | dev: true
343 |
344 | /@jridgewell/set-array@1.2.1:
345 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
346 | engines: {node: '>=6.0.0'}
347 | dev: true
348 |
349 | /@jridgewell/sourcemap-codec@1.4.15:
350 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
351 | dev: true
352 |
353 | /@jridgewell/trace-mapping@0.3.25:
354 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
355 | dependencies:
356 | '@jridgewell/resolve-uri': 3.1.2
357 | '@jridgewell/sourcemap-codec': 1.4.15
358 | dev: true
359 |
360 | /@nodelib/fs.scandir@2.1.5:
361 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
362 | engines: {node: '>= 8'}
363 | dependencies:
364 | '@nodelib/fs.stat': 2.0.5
365 | run-parallel: 1.2.0
366 | dev: true
367 |
368 | /@nodelib/fs.stat@2.0.5:
369 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
370 | engines: {node: '>= 8'}
371 | dev: true
372 |
373 | /@nodelib/fs.walk@1.2.8:
374 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
375 | engines: {node: '>= 8'}
376 | dependencies:
377 | '@nodelib/fs.scandir': 2.1.5
378 | fastq: 1.17.1
379 | dev: true
380 |
381 | /@pkgjs/parseargs@0.11.0:
382 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
383 | engines: {node: '>=14'}
384 | requiresBuild: true
385 | dev: true
386 | optional: true
387 |
388 | /@rollup/rollup-android-arm-eabi@4.13.0:
389 | resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
390 | cpu: [arm]
391 | os: [android]
392 | requiresBuild: true
393 | dev: true
394 | optional: true
395 |
396 | /@rollup/rollup-android-arm64@4.13.0:
397 | resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
398 | cpu: [arm64]
399 | os: [android]
400 | requiresBuild: true
401 | dev: true
402 | optional: true
403 |
404 | /@rollup/rollup-darwin-arm64@4.13.0:
405 | resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
406 | cpu: [arm64]
407 | os: [darwin]
408 | requiresBuild: true
409 | dev: true
410 | optional: true
411 |
412 | /@rollup/rollup-darwin-x64@4.13.0:
413 | resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
414 | cpu: [x64]
415 | os: [darwin]
416 | requiresBuild: true
417 | dev: true
418 | optional: true
419 |
420 | /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
421 | resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
422 | cpu: [arm]
423 | os: [linux]
424 | requiresBuild: true
425 | dev: true
426 | optional: true
427 |
428 | /@rollup/rollup-linux-arm64-gnu@4.13.0:
429 | resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
430 | cpu: [arm64]
431 | os: [linux]
432 | requiresBuild: true
433 | dev: true
434 | optional: true
435 |
436 | /@rollup/rollup-linux-arm64-musl@4.13.0:
437 | resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
438 | cpu: [arm64]
439 | os: [linux]
440 | requiresBuild: true
441 | dev: true
442 | optional: true
443 |
444 | /@rollup/rollup-linux-riscv64-gnu@4.13.0:
445 | resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
446 | cpu: [riscv64]
447 | os: [linux]
448 | requiresBuild: true
449 | dev: true
450 | optional: true
451 |
452 | /@rollup/rollup-linux-x64-gnu@4.13.0:
453 | resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
454 | cpu: [x64]
455 | os: [linux]
456 | requiresBuild: true
457 | dev: true
458 | optional: true
459 |
460 | /@rollup/rollup-linux-x64-musl@4.13.0:
461 | resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
462 | cpu: [x64]
463 | os: [linux]
464 | requiresBuild: true
465 | dev: true
466 | optional: true
467 |
468 | /@rollup/rollup-win32-arm64-msvc@4.13.0:
469 | resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
470 | cpu: [arm64]
471 | os: [win32]
472 | requiresBuild: true
473 | dev: true
474 | optional: true
475 |
476 | /@rollup/rollup-win32-ia32-msvc@4.13.0:
477 | resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
478 | cpu: [ia32]
479 | os: [win32]
480 | requiresBuild: true
481 | dev: true
482 | optional: true
483 |
484 | /@rollup/rollup-win32-x64-msvc@4.13.0:
485 | resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
486 | cpu: [x64]
487 | os: [win32]
488 | requiresBuild: true
489 | dev: true
490 | optional: true
491 |
492 | /@types/estree@1.0.5:
493 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
494 | dev: true
495 |
496 | /@types/node@20.11.30:
497 | resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
498 | dependencies:
499 | undici-types: 5.26.5
500 | dev: true
501 |
502 | /ansi-regex@5.0.1:
503 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
504 | engines: {node: '>=8'}
505 | dev: true
506 |
507 | /ansi-regex@6.0.1:
508 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
509 | engines: {node: '>=12'}
510 | dev: true
511 |
512 | /ansi-styles@4.3.0:
513 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
514 | engines: {node: '>=8'}
515 | dependencies:
516 | color-convert: 2.0.1
517 | dev: true
518 |
519 | /ansi-styles@6.2.1:
520 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
521 | engines: {node: '>=12'}
522 | dev: true
523 |
524 | /any-promise@1.3.0:
525 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
526 | dev: true
527 |
528 | /anymatch@3.1.3:
529 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
530 | engines: {node: '>= 8'}
531 | dependencies:
532 | normalize-path: 3.0.0
533 | picomatch: 2.3.1
534 | dev: true
535 |
536 | /array-union@2.1.0:
537 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
538 | engines: {node: '>=8'}
539 | dev: true
540 |
541 | /balanced-match@1.0.2:
542 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
543 | dev: true
544 |
545 | /binary-extensions@2.3.0:
546 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
547 | engines: {node: '>=8'}
548 | dev: true
549 |
550 | /brace-expansion@2.0.1:
551 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
552 | dependencies:
553 | balanced-match: 1.0.2
554 | dev: true
555 |
556 | /braces@3.0.2:
557 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
558 | engines: {node: '>=8'}
559 | dependencies:
560 | fill-range: 7.0.1
561 | dev: true
562 |
563 | /bundle-require@4.0.2(esbuild@0.19.12):
564 | resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==}
565 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
566 | peerDependencies:
567 | esbuild: '>=0.17'
568 | dependencies:
569 | esbuild: 0.19.12
570 | load-tsconfig: 0.2.5
571 | dev: true
572 |
573 | /cac@6.7.14:
574 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
575 | engines: {node: '>=8'}
576 | dev: true
577 |
578 | /chokidar@3.6.0:
579 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
580 | engines: {node: '>= 8.10.0'}
581 | dependencies:
582 | anymatch: 3.1.3
583 | braces: 3.0.2
584 | glob-parent: 5.1.2
585 | is-binary-path: 2.1.0
586 | is-glob: 4.0.3
587 | normalize-path: 3.0.0
588 | readdirp: 3.6.0
589 | optionalDependencies:
590 | fsevents: 2.3.3
591 | dev: true
592 |
593 | /color-convert@2.0.1:
594 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
595 | engines: {node: '>=7.0.0'}
596 | dependencies:
597 | color-name: 1.1.4
598 | dev: true
599 |
600 | /color-name@1.1.4:
601 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
602 | dev: true
603 |
604 | /commander@4.1.1:
605 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
606 | engines: {node: '>= 6'}
607 | dev: true
608 |
609 | /cross-spawn@7.0.3:
610 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
611 | engines: {node: '>= 8'}
612 | dependencies:
613 | path-key: 3.1.1
614 | shebang-command: 2.0.0
615 | which: 2.0.2
616 | dev: true
617 |
618 | /debug@4.3.4:
619 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
620 | engines: {node: '>=6.0'}
621 | peerDependencies:
622 | supports-color: '*'
623 | peerDependenciesMeta:
624 | supports-color:
625 | optional: true
626 | dependencies:
627 | ms: 2.1.2
628 | dev: true
629 |
630 | /dir-glob@3.0.1:
631 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
632 | engines: {node: '>=8'}
633 | dependencies:
634 | path-type: 4.0.0
635 | dev: true
636 |
637 | /eastasianwidth@0.2.0:
638 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
639 | dev: true
640 |
641 | /emoji-regex@8.0.0:
642 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
643 | dev: true
644 |
645 | /emoji-regex@9.2.2:
646 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
647 | dev: true
648 |
649 | /esbuild@0.19.12:
650 | resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
651 | engines: {node: '>=12'}
652 | hasBin: true
653 | requiresBuild: true
654 | optionalDependencies:
655 | '@esbuild/aix-ppc64': 0.19.12
656 | '@esbuild/android-arm': 0.19.12
657 | '@esbuild/android-arm64': 0.19.12
658 | '@esbuild/android-x64': 0.19.12
659 | '@esbuild/darwin-arm64': 0.19.12
660 | '@esbuild/darwin-x64': 0.19.12
661 | '@esbuild/freebsd-arm64': 0.19.12
662 | '@esbuild/freebsd-x64': 0.19.12
663 | '@esbuild/linux-arm': 0.19.12
664 | '@esbuild/linux-arm64': 0.19.12
665 | '@esbuild/linux-ia32': 0.19.12
666 | '@esbuild/linux-loong64': 0.19.12
667 | '@esbuild/linux-mips64el': 0.19.12
668 | '@esbuild/linux-ppc64': 0.19.12
669 | '@esbuild/linux-riscv64': 0.19.12
670 | '@esbuild/linux-s390x': 0.19.12
671 | '@esbuild/linux-x64': 0.19.12
672 | '@esbuild/netbsd-x64': 0.19.12
673 | '@esbuild/openbsd-x64': 0.19.12
674 | '@esbuild/sunos-x64': 0.19.12
675 | '@esbuild/win32-arm64': 0.19.12
676 | '@esbuild/win32-ia32': 0.19.12
677 | '@esbuild/win32-x64': 0.19.12
678 | dev: true
679 |
680 | /execa@5.1.1:
681 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
682 | engines: {node: '>=10'}
683 | dependencies:
684 | cross-spawn: 7.0.3
685 | get-stream: 6.0.1
686 | human-signals: 2.1.0
687 | is-stream: 2.0.1
688 | merge-stream: 2.0.0
689 | npm-run-path: 4.0.1
690 | onetime: 5.1.2
691 | signal-exit: 3.0.7
692 | strip-final-newline: 2.0.0
693 | dev: true
694 |
695 | /fast-glob@3.3.2:
696 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
697 | engines: {node: '>=8.6.0'}
698 | dependencies:
699 | '@nodelib/fs.stat': 2.0.5
700 | '@nodelib/fs.walk': 1.2.8
701 | glob-parent: 5.1.2
702 | merge2: 1.4.1
703 | micromatch: 4.0.5
704 | dev: true
705 |
706 | /fastq@1.17.1:
707 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
708 | dependencies:
709 | reusify: 1.0.4
710 | dev: true
711 |
712 | /fill-range@7.0.1:
713 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
714 | engines: {node: '>=8'}
715 | dependencies:
716 | to-regex-range: 5.0.1
717 | dev: true
718 |
719 | /foreground-child@3.1.1:
720 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
721 | engines: {node: '>=14'}
722 | dependencies:
723 | cross-spawn: 7.0.3
724 | signal-exit: 4.1.0
725 | dev: true
726 |
727 | /fsevents@2.3.3:
728 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
729 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
730 | os: [darwin]
731 | requiresBuild: true
732 | dev: true
733 | optional: true
734 |
735 | /get-stream@6.0.1:
736 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
737 | engines: {node: '>=10'}
738 | dev: true
739 |
740 | /glob-parent@5.1.2:
741 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
742 | engines: {node: '>= 6'}
743 | dependencies:
744 | is-glob: 4.0.3
745 | dev: true
746 |
747 | /glob@10.3.10:
748 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
749 | engines: {node: '>=16 || 14 >=14.17'}
750 | hasBin: true
751 | dependencies:
752 | foreground-child: 3.1.1
753 | jackspeak: 2.3.6
754 | minimatch: 9.0.3
755 | minipass: 7.0.4
756 | path-scurry: 1.10.1
757 | dev: true
758 |
759 | /globby@11.1.0:
760 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
761 | engines: {node: '>=10'}
762 | dependencies:
763 | array-union: 2.1.0
764 | dir-glob: 3.0.1
765 | fast-glob: 3.3.2
766 | ignore: 5.3.1
767 | merge2: 1.4.1
768 | slash: 3.0.0
769 | dev: true
770 |
771 | /human-signals@2.1.0:
772 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
773 | engines: {node: '>=10.17.0'}
774 | dev: true
775 |
776 | /ignore@5.3.1:
777 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
778 | engines: {node: '>= 4'}
779 | dev: true
780 |
781 | /is-binary-path@2.1.0:
782 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
783 | engines: {node: '>=8'}
784 | dependencies:
785 | binary-extensions: 2.3.0
786 | dev: true
787 |
788 | /is-extglob@2.1.1:
789 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
790 | engines: {node: '>=0.10.0'}
791 | dev: true
792 |
793 | /is-fullwidth-code-point@3.0.0:
794 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
795 | engines: {node: '>=8'}
796 | dev: true
797 |
798 | /is-glob@4.0.3:
799 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
800 | engines: {node: '>=0.10.0'}
801 | dependencies:
802 | is-extglob: 2.1.1
803 | dev: true
804 |
805 | /is-number@7.0.0:
806 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
807 | engines: {node: '>=0.12.0'}
808 | dev: true
809 |
810 | /is-stream@2.0.1:
811 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
812 | engines: {node: '>=8'}
813 | dev: true
814 |
815 | /isexe@2.0.0:
816 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
817 | dev: true
818 |
819 | /jackspeak@2.3.6:
820 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
821 | engines: {node: '>=14'}
822 | dependencies:
823 | '@isaacs/cliui': 8.0.2
824 | optionalDependencies:
825 | '@pkgjs/parseargs': 0.11.0
826 | dev: true
827 |
828 | /joycon@3.1.1:
829 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
830 | engines: {node: '>=10'}
831 | dev: true
832 |
833 | /lilconfig@3.1.1:
834 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
835 | engines: {node: '>=14'}
836 | dev: true
837 |
838 | /lines-and-columns@1.2.4:
839 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
840 | dev: true
841 |
842 | /load-tsconfig@0.2.5:
843 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
844 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
845 | dev: true
846 |
847 | /lodash.sortby@4.7.0:
848 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
849 | dev: true
850 |
851 | /lru-cache@10.2.0:
852 | resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
853 | engines: {node: 14 || >=16.14}
854 | dev: true
855 |
856 | /merge-stream@2.0.0:
857 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
858 | dev: true
859 |
860 | /merge2@1.4.1:
861 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
862 | engines: {node: '>= 8'}
863 | dev: true
864 |
865 | /micromatch@4.0.5:
866 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
867 | engines: {node: '>=8.6'}
868 | dependencies:
869 | braces: 3.0.2
870 | picomatch: 2.3.1
871 | dev: true
872 |
873 | /mimic-fn@2.1.0:
874 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
875 | engines: {node: '>=6'}
876 | dev: true
877 |
878 | /minimatch@9.0.3:
879 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
880 | engines: {node: '>=16 || 14 >=14.17'}
881 | dependencies:
882 | brace-expansion: 2.0.1
883 | dev: true
884 |
885 | /minipass@7.0.4:
886 | resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
887 | engines: {node: '>=16 || 14 >=14.17'}
888 | dev: true
889 |
890 | /ms@2.1.2:
891 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
892 | dev: true
893 |
894 | /mz@2.7.0:
895 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
896 | dependencies:
897 | any-promise: 1.3.0
898 | object-assign: 4.1.1
899 | thenify-all: 1.6.0
900 | dev: true
901 |
902 | /normalize-path@3.0.0:
903 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
904 | engines: {node: '>=0.10.0'}
905 | dev: true
906 |
907 | /npm-run-path@4.0.1:
908 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
909 | engines: {node: '>=8'}
910 | dependencies:
911 | path-key: 3.1.1
912 | dev: true
913 |
914 | /object-assign@4.1.1:
915 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
916 | engines: {node: '>=0.10.0'}
917 | dev: true
918 |
919 | /onetime@5.1.2:
920 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
921 | engines: {node: '>=6'}
922 | dependencies:
923 | mimic-fn: 2.1.0
924 | dev: true
925 |
926 | /path-key@3.1.1:
927 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
928 | engines: {node: '>=8'}
929 | dev: true
930 |
931 | /path-scurry@1.10.1:
932 | resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
933 | engines: {node: '>=16 || 14 >=14.17'}
934 | dependencies:
935 | lru-cache: 10.2.0
936 | minipass: 7.0.4
937 | dev: true
938 |
939 | /path-type@4.0.0:
940 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
941 | engines: {node: '>=8'}
942 | dev: true
943 |
944 | /picomatch@2.3.1:
945 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
946 | engines: {node: '>=8.6'}
947 | dev: true
948 |
949 | /pirates@4.0.6:
950 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
951 | engines: {node: '>= 6'}
952 | dev: true
953 |
954 | /postcss-load-config@4.0.2:
955 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
956 | engines: {node: '>= 14'}
957 | peerDependencies:
958 | postcss: '>=8.0.9'
959 | ts-node: '>=9.0.0'
960 | peerDependenciesMeta:
961 | postcss:
962 | optional: true
963 | ts-node:
964 | optional: true
965 | dependencies:
966 | lilconfig: 3.1.1
967 | yaml: 2.4.1
968 | dev: true
969 |
970 | /punycode@2.3.1:
971 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
972 | engines: {node: '>=6'}
973 | dev: true
974 |
975 | /queue-microtask@1.2.3:
976 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
977 | dev: true
978 |
979 | /readdirp@3.6.0:
980 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
981 | engines: {node: '>=8.10.0'}
982 | dependencies:
983 | picomatch: 2.3.1
984 | dev: true
985 |
986 | /resolve-from@5.0.0:
987 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
988 | engines: {node: '>=8'}
989 | dev: true
990 |
991 | /reusify@1.0.4:
992 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
993 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
994 | dev: true
995 |
996 | /rollup@4.13.0:
997 | resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
998 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
999 | hasBin: true
1000 | dependencies:
1001 | '@types/estree': 1.0.5
1002 | optionalDependencies:
1003 | '@rollup/rollup-android-arm-eabi': 4.13.0
1004 | '@rollup/rollup-android-arm64': 4.13.0
1005 | '@rollup/rollup-darwin-arm64': 4.13.0
1006 | '@rollup/rollup-darwin-x64': 4.13.0
1007 | '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
1008 | '@rollup/rollup-linux-arm64-gnu': 4.13.0
1009 | '@rollup/rollup-linux-arm64-musl': 4.13.0
1010 | '@rollup/rollup-linux-riscv64-gnu': 4.13.0
1011 | '@rollup/rollup-linux-x64-gnu': 4.13.0
1012 | '@rollup/rollup-linux-x64-musl': 4.13.0
1013 | '@rollup/rollup-win32-arm64-msvc': 4.13.0
1014 | '@rollup/rollup-win32-ia32-msvc': 4.13.0
1015 | '@rollup/rollup-win32-x64-msvc': 4.13.0
1016 | fsevents: 2.3.3
1017 | dev: true
1018 |
1019 | /run-parallel@1.2.0:
1020 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1021 | dependencies:
1022 | queue-microtask: 1.2.3
1023 | dev: true
1024 |
1025 | /shebang-command@2.0.0:
1026 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1027 | engines: {node: '>=8'}
1028 | dependencies:
1029 | shebang-regex: 3.0.0
1030 | dev: true
1031 |
1032 | /shebang-regex@3.0.0:
1033 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1034 | engines: {node: '>=8'}
1035 | dev: true
1036 |
1037 | /signal-exit@3.0.7:
1038 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
1039 | dev: true
1040 |
1041 | /signal-exit@4.1.0:
1042 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1043 | engines: {node: '>=14'}
1044 | dev: true
1045 |
1046 | /slash@3.0.0:
1047 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1048 | engines: {node: '>=8'}
1049 | dev: true
1050 |
1051 | /source-map@0.8.0-beta.0:
1052 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
1053 | engines: {node: '>= 8'}
1054 | dependencies:
1055 | whatwg-url: 7.1.0
1056 | dev: true
1057 |
1058 | /string-width@4.2.3:
1059 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1060 | engines: {node: '>=8'}
1061 | dependencies:
1062 | emoji-regex: 8.0.0
1063 | is-fullwidth-code-point: 3.0.0
1064 | strip-ansi: 6.0.1
1065 | dev: true
1066 |
1067 | /string-width@5.1.2:
1068 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1069 | engines: {node: '>=12'}
1070 | dependencies:
1071 | eastasianwidth: 0.2.0
1072 | emoji-regex: 9.2.2
1073 | strip-ansi: 7.1.0
1074 | dev: true
1075 |
1076 | /strip-ansi@6.0.1:
1077 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1078 | engines: {node: '>=8'}
1079 | dependencies:
1080 | ansi-regex: 5.0.1
1081 | dev: true
1082 |
1083 | /strip-ansi@7.1.0:
1084 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1085 | engines: {node: '>=12'}
1086 | dependencies:
1087 | ansi-regex: 6.0.1
1088 | dev: true
1089 |
1090 | /strip-final-newline@2.0.0:
1091 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
1092 | engines: {node: '>=6'}
1093 | dev: true
1094 |
1095 | /sucrase@3.35.0:
1096 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1097 | engines: {node: '>=16 || 14 >=14.17'}
1098 | hasBin: true
1099 | dependencies:
1100 | '@jridgewell/gen-mapping': 0.3.5
1101 | commander: 4.1.1
1102 | glob: 10.3.10
1103 | lines-and-columns: 1.2.4
1104 | mz: 2.7.0
1105 | pirates: 4.0.6
1106 | ts-interface-checker: 0.1.13
1107 | dev: true
1108 |
1109 | /thenify-all@1.6.0:
1110 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1111 | engines: {node: '>=0.8'}
1112 | dependencies:
1113 | thenify: 3.3.1
1114 | dev: true
1115 |
1116 | /thenify@3.3.1:
1117 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1118 | dependencies:
1119 | any-promise: 1.3.0
1120 | dev: true
1121 |
1122 | /to-regex-range@5.0.1:
1123 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1124 | engines: {node: '>=8.0'}
1125 | dependencies:
1126 | is-number: 7.0.0
1127 | dev: true
1128 |
1129 | /tr46@1.0.1:
1130 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
1131 | dependencies:
1132 | punycode: 2.3.1
1133 | dev: true
1134 |
1135 | /tree-kill@1.2.2:
1136 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
1137 | hasBin: true
1138 | dev: true
1139 |
1140 | /ts-interface-checker@0.1.13:
1141 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1142 | dev: true
1143 |
1144 | /tsup@8.0.2(typescript@5.4.3):
1145 | resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==}
1146 | engines: {node: '>=18'}
1147 | hasBin: true
1148 | peerDependencies:
1149 | '@microsoft/api-extractor': ^7.36.0
1150 | '@swc/core': ^1
1151 | postcss: ^8.4.12
1152 | typescript: '>=4.5.0'
1153 | peerDependenciesMeta:
1154 | '@microsoft/api-extractor':
1155 | optional: true
1156 | '@swc/core':
1157 | optional: true
1158 | postcss:
1159 | optional: true
1160 | typescript:
1161 | optional: true
1162 | dependencies:
1163 | bundle-require: 4.0.2(esbuild@0.19.12)
1164 | cac: 6.7.14
1165 | chokidar: 3.6.0
1166 | debug: 4.3.4
1167 | esbuild: 0.19.12
1168 | execa: 5.1.1
1169 | globby: 11.1.0
1170 | joycon: 3.1.1
1171 | postcss-load-config: 4.0.2
1172 | resolve-from: 5.0.0
1173 | rollup: 4.13.0
1174 | source-map: 0.8.0-beta.0
1175 | sucrase: 3.35.0
1176 | tree-kill: 1.2.2
1177 | typescript: 5.4.3
1178 | transitivePeerDependencies:
1179 | - supports-color
1180 | - ts-node
1181 | dev: true
1182 |
1183 | /typescript@5.4.3:
1184 | resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
1185 | engines: {node: '>=14.17'}
1186 | hasBin: true
1187 | dev: true
1188 |
1189 | /undici-types@5.26.5:
1190 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1191 | dev: true
1192 |
1193 | /webidl-conversions@4.0.2:
1194 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
1195 | dev: true
1196 |
1197 | /whatwg-url@7.1.0:
1198 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
1199 | dependencies:
1200 | lodash.sortby: 4.7.0
1201 | tr46: 1.0.1
1202 | webidl-conversions: 4.0.2
1203 | dev: true
1204 |
1205 | /which@2.0.2:
1206 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1207 | engines: {node: '>= 8'}
1208 | hasBin: true
1209 | dependencies:
1210 | isexe: 2.0.0
1211 | dev: true
1212 |
1213 | /wrap-ansi@7.0.0:
1214 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1215 | engines: {node: '>=10'}
1216 | dependencies:
1217 | ansi-styles: 4.3.0
1218 | string-width: 4.2.3
1219 | strip-ansi: 6.0.1
1220 | dev: true
1221 |
1222 | /wrap-ansi@8.1.0:
1223 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1224 | engines: {node: '>=12'}
1225 | dependencies:
1226 | ansi-styles: 6.2.1
1227 | string-width: 5.1.2
1228 | strip-ansi: 7.1.0
1229 | dev: true
1230 |
1231 | /yaml@2.4.1:
1232 | resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
1233 | engines: {node: '>= 14'}
1234 | hasBin: true
1235 | dev: true
1236 |
--------------------------------------------------------------------------------
/examples/vite+react/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@glamboyosa/ore':
9 | specifier: ^0.0.1
10 | version: 0.0.1
11 | react:
12 | specifier: ^18.2.0
13 | version: 18.2.0
14 | react-dom:
15 | specifier: ^18.2.0
16 | version: 18.2.0(react@18.2.0)
17 |
18 | devDependencies:
19 | '@types/react':
20 | specifier: ^18.2.66
21 | version: 18.2.72
22 | '@types/react-dom':
23 | specifier: ^18.2.22
24 | version: 18.2.22
25 | '@typescript-eslint/eslint-plugin':
26 | specifier: ^7.2.0
27 | version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
28 | '@typescript-eslint/parser':
29 | specifier: ^7.2.0
30 | version: 7.4.0(eslint@8.57.0)(typescript@5.4.3)
31 | '@vitejs/plugin-react':
32 | specifier: ^4.2.1
33 | version: 4.2.1(vite@5.2.6)
34 | eslint:
35 | specifier: ^8.57.0
36 | version: 8.57.0
37 | eslint-plugin-react-hooks:
38 | specifier: ^4.6.0
39 | version: 4.6.0(eslint@8.57.0)
40 | eslint-plugin-react-refresh:
41 | specifier: ^0.4.6
42 | version: 0.4.6(eslint@8.57.0)
43 | typescript:
44 | specifier: ^5.2.2
45 | version: 5.4.3
46 | vite:
47 | specifier: ^5.2.0
48 | version: 5.2.6
49 |
50 | packages:
51 |
52 | /@aashutoshrathi/word-wrap@1.2.6:
53 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
54 | engines: {node: '>=0.10.0'}
55 | dev: true
56 |
57 | /@ampproject/remapping@2.3.0:
58 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
59 | engines: {node: '>=6.0.0'}
60 | dependencies:
61 | '@jridgewell/gen-mapping': 0.3.5
62 | '@jridgewell/trace-mapping': 0.3.25
63 | dev: true
64 |
65 | /@babel/code-frame@7.24.2:
66 | resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
67 | engines: {node: '>=6.9.0'}
68 | dependencies:
69 | '@babel/highlight': 7.24.2
70 | picocolors: 1.0.0
71 | dev: true
72 |
73 | /@babel/compat-data@7.24.1:
74 | resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
75 | engines: {node: '>=6.9.0'}
76 | dev: true
77 |
78 | /@babel/core@7.24.3:
79 | resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==}
80 | engines: {node: '>=6.9.0'}
81 | dependencies:
82 | '@ampproject/remapping': 2.3.0
83 | '@babel/code-frame': 7.24.2
84 | '@babel/generator': 7.24.1
85 | '@babel/helper-compilation-targets': 7.23.6
86 | '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
87 | '@babel/helpers': 7.24.1
88 | '@babel/parser': 7.24.1
89 | '@babel/template': 7.24.0
90 | '@babel/traverse': 7.24.1
91 | '@babel/types': 7.24.0
92 | convert-source-map: 2.0.0
93 | debug: 4.3.4
94 | gensync: 1.0.0-beta.2
95 | json5: 2.2.3
96 | semver: 6.3.1
97 | transitivePeerDependencies:
98 | - supports-color
99 | dev: true
100 |
101 | /@babel/generator@7.24.1:
102 | resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==}
103 | engines: {node: '>=6.9.0'}
104 | dependencies:
105 | '@babel/types': 7.24.0
106 | '@jridgewell/gen-mapping': 0.3.5
107 | '@jridgewell/trace-mapping': 0.3.25
108 | jsesc: 2.5.2
109 | dev: true
110 |
111 | /@babel/helper-compilation-targets@7.23.6:
112 | resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
113 | engines: {node: '>=6.9.0'}
114 | dependencies:
115 | '@babel/compat-data': 7.24.1
116 | '@babel/helper-validator-option': 7.23.5
117 | browserslist: 4.23.0
118 | lru-cache: 5.1.1
119 | semver: 6.3.1
120 | dev: true
121 |
122 | /@babel/helper-environment-visitor@7.22.20:
123 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
124 | engines: {node: '>=6.9.0'}
125 | dev: true
126 |
127 | /@babel/helper-function-name@7.23.0:
128 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
129 | engines: {node: '>=6.9.0'}
130 | dependencies:
131 | '@babel/template': 7.24.0
132 | '@babel/types': 7.24.0
133 | dev: true
134 |
135 | /@babel/helper-hoist-variables@7.22.5:
136 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
137 | engines: {node: '>=6.9.0'}
138 | dependencies:
139 | '@babel/types': 7.24.0
140 | dev: true
141 |
142 | /@babel/helper-module-imports@7.24.3:
143 | resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
144 | engines: {node: '>=6.9.0'}
145 | dependencies:
146 | '@babel/types': 7.24.0
147 | dev: true
148 |
149 | /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3):
150 | resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
151 | engines: {node: '>=6.9.0'}
152 | peerDependencies:
153 | '@babel/core': ^7.0.0
154 | dependencies:
155 | '@babel/core': 7.24.3
156 | '@babel/helper-environment-visitor': 7.22.20
157 | '@babel/helper-module-imports': 7.24.3
158 | '@babel/helper-simple-access': 7.22.5
159 | '@babel/helper-split-export-declaration': 7.22.6
160 | '@babel/helper-validator-identifier': 7.22.20
161 | dev: true
162 |
163 | /@babel/helper-plugin-utils@7.24.0:
164 | resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
165 | engines: {node: '>=6.9.0'}
166 | dev: true
167 |
168 | /@babel/helper-simple-access@7.22.5:
169 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
170 | engines: {node: '>=6.9.0'}
171 | dependencies:
172 | '@babel/types': 7.24.0
173 | dev: true
174 |
175 | /@babel/helper-split-export-declaration@7.22.6:
176 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
177 | engines: {node: '>=6.9.0'}
178 | dependencies:
179 | '@babel/types': 7.24.0
180 | dev: true
181 |
182 | /@babel/helper-string-parser@7.24.1:
183 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
184 | engines: {node: '>=6.9.0'}
185 | dev: true
186 |
187 | /@babel/helper-validator-identifier@7.22.20:
188 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
189 | engines: {node: '>=6.9.0'}
190 | dev: true
191 |
192 | /@babel/helper-validator-option@7.23.5:
193 | resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
194 | engines: {node: '>=6.9.0'}
195 | dev: true
196 |
197 | /@babel/helpers@7.24.1:
198 | resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==}
199 | engines: {node: '>=6.9.0'}
200 | dependencies:
201 | '@babel/template': 7.24.0
202 | '@babel/traverse': 7.24.1
203 | '@babel/types': 7.24.0
204 | transitivePeerDependencies:
205 | - supports-color
206 | dev: true
207 |
208 | /@babel/highlight@7.24.2:
209 | resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
210 | engines: {node: '>=6.9.0'}
211 | dependencies:
212 | '@babel/helper-validator-identifier': 7.22.20
213 | chalk: 2.4.2
214 | js-tokens: 4.0.0
215 | picocolors: 1.0.0
216 | dev: true
217 |
218 | /@babel/parser@7.24.1:
219 | resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==}
220 | engines: {node: '>=6.0.0'}
221 | hasBin: true
222 | dependencies:
223 | '@babel/types': 7.24.0
224 | dev: true
225 |
226 | /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.3):
227 | resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==}
228 | engines: {node: '>=6.9.0'}
229 | peerDependencies:
230 | '@babel/core': ^7.0.0-0
231 | dependencies:
232 | '@babel/core': 7.24.3
233 | '@babel/helper-plugin-utils': 7.24.0
234 | dev: true
235 |
236 | /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.3):
237 | resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==}
238 | engines: {node: '>=6.9.0'}
239 | peerDependencies:
240 | '@babel/core': ^7.0.0-0
241 | dependencies:
242 | '@babel/core': 7.24.3
243 | '@babel/helper-plugin-utils': 7.24.0
244 | dev: true
245 |
246 | /@babel/template@7.24.0:
247 | resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
248 | engines: {node: '>=6.9.0'}
249 | dependencies:
250 | '@babel/code-frame': 7.24.2
251 | '@babel/parser': 7.24.1
252 | '@babel/types': 7.24.0
253 | dev: true
254 |
255 | /@babel/traverse@7.24.1:
256 | resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
257 | engines: {node: '>=6.9.0'}
258 | dependencies:
259 | '@babel/code-frame': 7.24.2
260 | '@babel/generator': 7.24.1
261 | '@babel/helper-environment-visitor': 7.22.20
262 | '@babel/helper-function-name': 7.23.0
263 | '@babel/helper-hoist-variables': 7.22.5
264 | '@babel/helper-split-export-declaration': 7.22.6
265 | '@babel/parser': 7.24.1
266 | '@babel/types': 7.24.0
267 | debug: 4.3.4
268 | globals: 11.12.0
269 | transitivePeerDependencies:
270 | - supports-color
271 | dev: true
272 |
273 | /@babel/types@7.24.0:
274 | resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
275 | engines: {node: '>=6.9.0'}
276 | dependencies:
277 | '@babel/helper-string-parser': 7.24.1
278 | '@babel/helper-validator-identifier': 7.22.20
279 | to-fast-properties: 2.0.0
280 | dev: true
281 |
282 | /@esbuild/aix-ppc64@0.20.2:
283 | resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
284 | engines: {node: '>=12'}
285 | cpu: [ppc64]
286 | os: [aix]
287 | requiresBuild: true
288 | dev: true
289 | optional: true
290 |
291 | /@esbuild/android-arm64@0.20.2:
292 | resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
293 | engines: {node: '>=12'}
294 | cpu: [arm64]
295 | os: [android]
296 | requiresBuild: true
297 | dev: true
298 | optional: true
299 |
300 | /@esbuild/android-arm@0.20.2:
301 | resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
302 | engines: {node: '>=12'}
303 | cpu: [arm]
304 | os: [android]
305 | requiresBuild: true
306 | dev: true
307 | optional: true
308 |
309 | /@esbuild/android-x64@0.20.2:
310 | resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
311 | engines: {node: '>=12'}
312 | cpu: [x64]
313 | os: [android]
314 | requiresBuild: true
315 | dev: true
316 | optional: true
317 |
318 | /@esbuild/darwin-arm64@0.20.2:
319 | resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
320 | engines: {node: '>=12'}
321 | cpu: [arm64]
322 | os: [darwin]
323 | requiresBuild: true
324 | dev: true
325 | optional: true
326 |
327 | /@esbuild/darwin-x64@0.20.2:
328 | resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
329 | engines: {node: '>=12'}
330 | cpu: [x64]
331 | os: [darwin]
332 | requiresBuild: true
333 | dev: true
334 | optional: true
335 |
336 | /@esbuild/freebsd-arm64@0.20.2:
337 | resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
338 | engines: {node: '>=12'}
339 | cpu: [arm64]
340 | os: [freebsd]
341 | requiresBuild: true
342 | dev: true
343 | optional: true
344 |
345 | /@esbuild/freebsd-x64@0.20.2:
346 | resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
347 | engines: {node: '>=12'}
348 | cpu: [x64]
349 | os: [freebsd]
350 | requiresBuild: true
351 | dev: true
352 | optional: true
353 |
354 | /@esbuild/linux-arm64@0.20.2:
355 | resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
356 | engines: {node: '>=12'}
357 | cpu: [arm64]
358 | os: [linux]
359 | requiresBuild: true
360 | dev: true
361 | optional: true
362 |
363 | /@esbuild/linux-arm@0.20.2:
364 | resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
365 | engines: {node: '>=12'}
366 | cpu: [arm]
367 | os: [linux]
368 | requiresBuild: true
369 | dev: true
370 | optional: true
371 |
372 | /@esbuild/linux-ia32@0.20.2:
373 | resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
374 | engines: {node: '>=12'}
375 | cpu: [ia32]
376 | os: [linux]
377 | requiresBuild: true
378 | dev: true
379 | optional: true
380 |
381 | /@esbuild/linux-loong64@0.20.2:
382 | resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
383 | engines: {node: '>=12'}
384 | cpu: [loong64]
385 | os: [linux]
386 | requiresBuild: true
387 | dev: true
388 | optional: true
389 |
390 | /@esbuild/linux-mips64el@0.20.2:
391 | resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
392 | engines: {node: '>=12'}
393 | cpu: [mips64el]
394 | os: [linux]
395 | requiresBuild: true
396 | dev: true
397 | optional: true
398 |
399 | /@esbuild/linux-ppc64@0.20.2:
400 | resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
401 | engines: {node: '>=12'}
402 | cpu: [ppc64]
403 | os: [linux]
404 | requiresBuild: true
405 | dev: true
406 | optional: true
407 |
408 | /@esbuild/linux-riscv64@0.20.2:
409 | resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
410 | engines: {node: '>=12'}
411 | cpu: [riscv64]
412 | os: [linux]
413 | requiresBuild: true
414 | dev: true
415 | optional: true
416 |
417 | /@esbuild/linux-s390x@0.20.2:
418 | resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
419 | engines: {node: '>=12'}
420 | cpu: [s390x]
421 | os: [linux]
422 | requiresBuild: true
423 | dev: true
424 | optional: true
425 |
426 | /@esbuild/linux-x64@0.20.2:
427 | resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
428 | engines: {node: '>=12'}
429 | cpu: [x64]
430 | os: [linux]
431 | requiresBuild: true
432 | dev: true
433 | optional: true
434 |
435 | /@esbuild/netbsd-x64@0.20.2:
436 | resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
437 | engines: {node: '>=12'}
438 | cpu: [x64]
439 | os: [netbsd]
440 | requiresBuild: true
441 | dev: true
442 | optional: true
443 |
444 | /@esbuild/openbsd-x64@0.20.2:
445 | resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
446 | engines: {node: '>=12'}
447 | cpu: [x64]
448 | os: [openbsd]
449 | requiresBuild: true
450 | dev: true
451 | optional: true
452 |
453 | /@esbuild/sunos-x64@0.20.2:
454 | resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
455 | engines: {node: '>=12'}
456 | cpu: [x64]
457 | os: [sunos]
458 | requiresBuild: true
459 | dev: true
460 | optional: true
461 |
462 | /@esbuild/win32-arm64@0.20.2:
463 | resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
464 | engines: {node: '>=12'}
465 | cpu: [arm64]
466 | os: [win32]
467 | requiresBuild: true
468 | dev: true
469 | optional: true
470 |
471 | /@esbuild/win32-ia32@0.20.2:
472 | resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
473 | engines: {node: '>=12'}
474 | cpu: [ia32]
475 | os: [win32]
476 | requiresBuild: true
477 | dev: true
478 | optional: true
479 |
480 | /@esbuild/win32-x64@0.20.2:
481 | resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
482 | engines: {node: '>=12'}
483 | cpu: [x64]
484 | os: [win32]
485 | requiresBuild: true
486 | dev: true
487 | optional: true
488 |
489 | /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
490 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
491 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
492 | peerDependencies:
493 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
494 | dependencies:
495 | eslint: 8.57.0
496 | eslint-visitor-keys: 3.4.3
497 | dev: true
498 |
499 | /@eslint-community/regexpp@4.10.0:
500 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
501 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
502 | dev: true
503 |
504 | /@eslint/eslintrc@2.1.4:
505 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
506 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
507 | dependencies:
508 | ajv: 6.12.6
509 | debug: 4.3.4
510 | espree: 9.6.1
511 | globals: 13.24.0
512 | ignore: 5.3.1
513 | import-fresh: 3.3.0
514 | js-yaml: 4.1.0
515 | minimatch: 3.1.2
516 | strip-json-comments: 3.1.1
517 | transitivePeerDependencies:
518 | - supports-color
519 | dev: true
520 |
521 | /@eslint/js@8.57.0:
522 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
523 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
524 | dev: true
525 |
526 | /@glamboyosa/ore@0.0.1:
527 | resolution: {integrity: sha512-YljM+yrRqLLDJoMFpZMpopxh54qbSxtxrsj+pO9KibrnpCDclASbWDSdQcjYaJ9rfcgr+2XUm975xAT/1lGH1A==}
528 | dev: false
529 |
530 | /@humanwhocodes/config-array@0.11.14:
531 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
532 | engines: {node: '>=10.10.0'}
533 | dependencies:
534 | '@humanwhocodes/object-schema': 2.0.2
535 | debug: 4.3.4
536 | minimatch: 3.1.2
537 | transitivePeerDependencies:
538 | - supports-color
539 | dev: true
540 |
541 | /@humanwhocodes/module-importer@1.0.1:
542 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
543 | engines: {node: '>=12.22'}
544 | dev: true
545 |
546 | /@humanwhocodes/object-schema@2.0.2:
547 | resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
548 | dev: true
549 |
550 | /@jridgewell/gen-mapping@0.3.5:
551 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
552 | engines: {node: '>=6.0.0'}
553 | dependencies:
554 | '@jridgewell/set-array': 1.2.1
555 | '@jridgewell/sourcemap-codec': 1.4.15
556 | '@jridgewell/trace-mapping': 0.3.25
557 | dev: true
558 |
559 | /@jridgewell/resolve-uri@3.1.2:
560 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
561 | engines: {node: '>=6.0.0'}
562 | dev: true
563 |
564 | /@jridgewell/set-array@1.2.1:
565 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
566 | engines: {node: '>=6.0.0'}
567 | dev: true
568 |
569 | /@jridgewell/sourcemap-codec@1.4.15:
570 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
571 | dev: true
572 |
573 | /@jridgewell/trace-mapping@0.3.25:
574 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
575 | dependencies:
576 | '@jridgewell/resolve-uri': 3.1.2
577 | '@jridgewell/sourcemap-codec': 1.4.15
578 | dev: true
579 |
580 | /@nodelib/fs.scandir@2.1.5:
581 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
582 | engines: {node: '>= 8'}
583 | dependencies:
584 | '@nodelib/fs.stat': 2.0.5
585 | run-parallel: 1.2.0
586 | dev: true
587 |
588 | /@nodelib/fs.stat@2.0.5:
589 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
590 | engines: {node: '>= 8'}
591 | dev: true
592 |
593 | /@nodelib/fs.walk@1.2.8:
594 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
595 | engines: {node: '>= 8'}
596 | dependencies:
597 | '@nodelib/fs.scandir': 2.1.5
598 | fastq: 1.17.1
599 | dev: true
600 |
601 | /@rollup/rollup-android-arm-eabi@4.13.1:
602 | resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
603 | cpu: [arm]
604 | os: [android]
605 | requiresBuild: true
606 | dev: true
607 | optional: true
608 |
609 | /@rollup/rollup-android-arm64@4.13.1:
610 | resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
611 | cpu: [arm64]
612 | os: [android]
613 | requiresBuild: true
614 | dev: true
615 | optional: true
616 |
617 | /@rollup/rollup-darwin-arm64@4.13.1:
618 | resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
619 | cpu: [arm64]
620 | os: [darwin]
621 | requiresBuild: true
622 | dev: true
623 | optional: true
624 |
625 | /@rollup/rollup-darwin-x64@4.13.1:
626 | resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
627 | cpu: [x64]
628 | os: [darwin]
629 | requiresBuild: true
630 | dev: true
631 | optional: true
632 |
633 | /@rollup/rollup-linux-arm-gnueabihf@4.13.1:
634 | resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
635 | cpu: [arm]
636 | os: [linux]
637 | requiresBuild: true
638 | dev: true
639 | optional: true
640 |
641 | /@rollup/rollup-linux-arm64-gnu@4.13.1:
642 | resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
643 | cpu: [arm64]
644 | os: [linux]
645 | requiresBuild: true
646 | dev: true
647 | optional: true
648 |
649 | /@rollup/rollup-linux-arm64-musl@4.13.1:
650 | resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
651 | cpu: [arm64]
652 | os: [linux]
653 | requiresBuild: true
654 | dev: true
655 | optional: true
656 |
657 | /@rollup/rollup-linux-riscv64-gnu@4.13.1:
658 | resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
659 | cpu: [riscv64]
660 | os: [linux]
661 | requiresBuild: true
662 | dev: true
663 | optional: true
664 |
665 | /@rollup/rollup-linux-s390x-gnu@4.13.1:
666 | resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
667 | cpu: [s390x]
668 | os: [linux]
669 | requiresBuild: true
670 | dev: true
671 | optional: true
672 |
673 | /@rollup/rollup-linux-x64-gnu@4.13.1:
674 | resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
675 | cpu: [x64]
676 | os: [linux]
677 | requiresBuild: true
678 | dev: true
679 | optional: true
680 |
681 | /@rollup/rollup-linux-x64-musl@4.13.1:
682 | resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
683 | cpu: [x64]
684 | os: [linux]
685 | requiresBuild: true
686 | dev: true
687 | optional: true
688 |
689 | /@rollup/rollup-win32-arm64-msvc@4.13.1:
690 | resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
691 | cpu: [arm64]
692 | os: [win32]
693 | requiresBuild: true
694 | dev: true
695 | optional: true
696 |
697 | /@rollup/rollup-win32-ia32-msvc@4.13.1:
698 | resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
699 | cpu: [ia32]
700 | os: [win32]
701 | requiresBuild: true
702 | dev: true
703 | optional: true
704 |
705 | /@rollup/rollup-win32-x64-msvc@4.13.1:
706 | resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
707 | cpu: [x64]
708 | os: [win32]
709 | requiresBuild: true
710 | dev: true
711 | optional: true
712 |
713 | /@types/babel__core@7.20.5:
714 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
715 | dependencies:
716 | '@babel/parser': 7.24.1
717 | '@babel/types': 7.24.0
718 | '@types/babel__generator': 7.6.8
719 | '@types/babel__template': 7.4.4
720 | '@types/babel__traverse': 7.20.5
721 | dev: true
722 |
723 | /@types/babel__generator@7.6.8:
724 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
725 | dependencies:
726 | '@babel/types': 7.24.0
727 | dev: true
728 |
729 | /@types/babel__template@7.4.4:
730 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
731 | dependencies:
732 | '@babel/parser': 7.24.1
733 | '@babel/types': 7.24.0
734 | dev: true
735 |
736 | /@types/babel__traverse@7.20.5:
737 | resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
738 | dependencies:
739 | '@babel/types': 7.24.0
740 | dev: true
741 |
742 | /@types/estree@1.0.5:
743 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
744 | dev: true
745 |
746 | /@types/json-schema@7.0.15:
747 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
748 | dev: true
749 |
750 | /@types/prop-types@15.7.12:
751 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
752 | dev: true
753 |
754 | /@types/react-dom@18.2.22:
755 | resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==}
756 | dependencies:
757 | '@types/react': 18.2.72
758 | dev: true
759 |
760 | /@types/react@18.2.72:
761 | resolution: {integrity: sha512-/e7GWxGzXQF7OJAua7UAYqYi/4VpXEfbGtmYQcAQwP3SjjjAXfybTf/JK5S+SaetB/ChXl8Y2g1hCsj7jDXxcg==}
762 | dependencies:
763 | '@types/prop-types': 15.7.12
764 | csstype: 3.1.3
765 | dev: true
766 |
767 | /@types/semver@7.5.8:
768 | resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
769 | dev: true
770 |
771 | /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3):
772 | resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
773 | engines: {node: ^18.18.0 || >=20.0.0}
774 | peerDependencies:
775 | '@typescript-eslint/parser': ^7.0.0
776 | eslint: ^8.56.0
777 | typescript: '*'
778 | peerDependenciesMeta:
779 | typescript:
780 | optional: true
781 | dependencies:
782 | '@eslint-community/regexpp': 4.10.0
783 | '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
784 | '@typescript-eslint/scope-manager': 7.4.0
785 | '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
786 | '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
787 | '@typescript-eslint/visitor-keys': 7.4.0
788 | debug: 4.3.4
789 | eslint: 8.57.0
790 | graphemer: 1.4.0
791 | ignore: 5.3.1
792 | natural-compare: 1.4.0
793 | semver: 7.6.0
794 | ts-api-utils: 1.3.0(typescript@5.4.3)
795 | typescript: 5.4.3
796 | transitivePeerDependencies:
797 | - supports-color
798 | dev: true
799 |
800 | /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3):
801 | resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
802 | engines: {node: ^18.18.0 || >=20.0.0}
803 | peerDependencies:
804 | eslint: ^8.56.0
805 | typescript: '*'
806 | peerDependenciesMeta:
807 | typescript:
808 | optional: true
809 | dependencies:
810 | '@typescript-eslint/scope-manager': 7.4.0
811 | '@typescript-eslint/types': 7.4.0
812 | '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
813 | '@typescript-eslint/visitor-keys': 7.4.0
814 | debug: 4.3.4
815 | eslint: 8.57.0
816 | typescript: 5.4.3
817 | transitivePeerDependencies:
818 | - supports-color
819 | dev: true
820 |
821 | /@typescript-eslint/scope-manager@7.4.0:
822 | resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==}
823 | engines: {node: ^18.18.0 || >=20.0.0}
824 | dependencies:
825 | '@typescript-eslint/types': 7.4.0
826 | '@typescript-eslint/visitor-keys': 7.4.0
827 | dev: true
828 |
829 | /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
830 | resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
831 | engines: {node: ^18.18.0 || >=20.0.0}
832 | peerDependencies:
833 | eslint: ^8.56.0
834 | typescript: '*'
835 | peerDependenciesMeta:
836 | typescript:
837 | optional: true
838 | dependencies:
839 | '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
840 | '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
841 | debug: 4.3.4
842 | eslint: 8.57.0
843 | ts-api-utils: 1.3.0(typescript@5.4.3)
844 | typescript: 5.4.3
845 | transitivePeerDependencies:
846 | - supports-color
847 | dev: true
848 |
849 | /@typescript-eslint/types@7.4.0:
850 | resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==}
851 | engines: {node: ^18.18.0 || >=20.0.0}
852 | dev: true
853 |
854 | /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3):
855 | resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
856 | engines: {node: ^18.18.0 || >=20.0.0}
857 | peerDependencies:
858 | typescript: '*'
859 | peerDependenciesMeta:
860 | typescript:
861 | optional: true
862 | dependencies:
863 | '@typescript-eslint/types': 7.4.0
864 | '@typescript-eslint/visitor-keys': 7.4.0
865 | debug: 4.3.4
866 | globby: 11.1.0
867 | is-glob: 4.0.3
868 | minimatch: 9.0.3
869 | semver: 7.6.0
870 | ts-api-utils: 1.3.0(typescript@5.4.3)
871 | typescript: 5.4.3
872 | transitivePeerDependencies:
873 | - supports-color
874 | dev: true
875 |
876 | /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
877 | resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
878 | engines: {node: ^18.18.0 || >=20.0.0}
879 | peerDependencies:
880 | eslint: ^8.56.0
881 | dependencies:
882 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
883 | '@types/json-schema': 7.0.15
884 | '@types/semver': 7.5.8
885 | '@typescript-eslint/scope-manager': 7.4.0
886 | '@typescript-eslint/types': 7.4.0
887 | '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
888 | eslint: 8.57.0
889 | semver: 7.6.0
890 | transitivePeerDependencies:
891 | - supports-color
892 | - typescript
893 | dev: true
894 |
895 | /@typescript-eslint/visitor-keys@7.4.0:
896 | resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==}
897 | engines: {node: ^18.18.0 || >=20.0.0}
898 | dependencies:
899 | '@typescript-eslint/types': 7.4.0
900 | eslint-visitor-keys: 3.4.3
901 | dev: true
902 |
903 | /@ungap/structured-clone@1.2.0:
904 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
905 | dev: true
906 |
907 | /@vitejs/plugin-react@4.2.1(vite@5.2.6):
908 | resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
909 | engines: {node: ^14.18.0 || >=16.0.0}
910 | peerDependencies:
911 | vite: ^4.2.0 || ^5.0.0
912 | dependencies:
913 | '@babel/core': 7.24.3
914 | '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.3)
915 | '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.3)
916 | '@types/babel__core': 7.20.5
917 | react-refresh: 0.14.0
918 | vite: 5.2.6
919 | transitivePeerDependencies:
920 | - supports-color
921 | dev: true
922 |
923 | /acorn-jsx@5.3.2(acorn@8.11.3):
924 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
925 | peerDependencies:
926 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
927 | dependencies:
928 | acorn: 8.11.3
929 | dev: true
930 |
931 | /acorn@8.11.3:
932 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
933 | engines: {node: '>=0.4.0'}
934 | hasBin: true
935 | dev: true
936 |
937 | /ajv@6.12.6:
938 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
939 | dependencies:
940 | fast-deep-equal: 3.1.3
941 | fast-json-stable-stringify: 2.1.0
942 | json-schema-traverse: 0.4.1
943 | uri-js: 4.4.1
944 | dev: true
945 |
946 | /ansi-regex@5.0.1:
947 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
948 | engines: {node: '>=8'}
949 | dev: true
950 |
951 | /ansi-styles@3.2.1:
952 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
953 | engines: {node: '>=4'}
954 | dependencies:
955 | color-convert: 1.9.3
956 | dev: true
957 |
958 | /ansi-styles@4.3.0:
959 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
960 | engines: {node: '>=8'}
961 | dependencies:
962 | color-convert: 2.0.1
963 | dev: true
964 |
965 | /argparse@2.0.1:
966 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
967 | dev: true
968 |
969 | /array-union@2.1.0:
970 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
971 | engines: {node: '>=8'}
972 | dev: true
973 |
974 | /balanced-match@1.0.2:
975 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
976 | dev: true
977 |
978 | /brace-expansion@1.1.11:
979 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
980 | dependencies:
981 | balanced-match: 1.0.2
982 | concat-map: 0.0.1
983 | dev: true
984 |
985 | /brace-expansion@2.0.1:
986 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
987 | dependencies:
988 | balanced-match: 1.0.2
989 | dev: true
990 |
991 | /braces@3.0.2:
992 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
993 | engines: {node: '>=8'}
994 | dependencies:
995 | fill-range: 7.0.1
996 | dev: true
997 |
998 | /browserslist@4.23.0:
999 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
1000 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1001 | hasBin: true
1002 | dependencies:
1003 | caniuse-lite: 1.0.30001600
1004 | electron-to-chromium: 1.4.717
1005 | node-releases: 2.0.14
1006 | update-browserslist-db: 1.0.13(browserslist@4.23.0)
1007 | dev: true
1008 |
1009 | /callsites@3.1.0:
1010 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1011 | engines: {node: '>=6'}
1012 | dev: true
1013 |
1014 | /caniuse-lite@1.0.30001600:
1015 | resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==}
1016 | dev: true
1017 |
1018 | /chalk@2.4.2:
1019 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1020 | engines: {node: '>=4'}
1021 | dependencies:
1022 | ansi-styles: 3.2.1
1023 | escape-string-regexp: 1.0.5
1024 | supports-color: 5.5.0
1025 | dev: true
1026 |
1027 | /chalk@4.1.2:
1028 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1029 | engines: {node: '>=10'}
1030 | dependencies:
1031 | ansi-styles: 4.3.0
1032 | supports-color: 7.2.0
1033 | dev: true
1034 |
1035 | /color-convert@1.9.3:
1036 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1037 | dependencies:
1038 | color-name: 1.1.3
1039 | dev: true
1040 |
1041 | /color-convert@2.0.1:
1042 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1043 | engines: {node: '>=7.0.0'}
1044 | dependencies:
1045 | color-name: 1.1.4
1046 | dev: true
1047 |
1048 | /color-name@1.1.3:
1049 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1050 | dev: true
1051 |
1052 | /color-name@1.1.4:
1053 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1054 | dev: true
1055 |
1056 | /concat-map@0.0.1:
1057 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1058 | dev: true
1059 |
1060 | /convert-source-map@2.0.0:
1061 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
1062 | dev: true
1063 |
1064 | /cross-spawn@7.0.3:
1065 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1066 | engines: {node: '>= 8'}
1067 | dependencies:
1068 | path-key: 3.1.1
1069 | shebang-command: 2.0.0
1070 | which: 2.0.2
1071 | dev: true
1072 |
1073 | /csstype@3.1.3:
1074 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1075 | dev: true
1076 |
1077 | /debug@4.3.4:
1078 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1079 | engines: {node: '>=6.0'}
1080 | peerDependencies:
1081 | supports-color: '*'
1082 | peerDependenciesMeta:
1083 | supports-color:
1084 | optional: true
1085 | dependencies:
1086 | ms: 2.1.2
1087 | dev: true
1088 |
1089 | /deep-is@0.1.4:
1090 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1091 | dev: true
1092 |
1093 | /dir-glob@3.0.1:
1094 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1095 | engines: {node: '>=8'}
1096 | dependencies:
1097 | path-type: 4.0.0
1098 | dev: true
1099 |
1100 | /doctrine@3.0.0:
1101 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1102 | engines: {node: '>=6.0.0'}
1103 | dependencies:
1104 | esutils: 2.0.3
1105 | dev: true
1106 |
1107 | /electron-to-chromium@1.4.717:
1108 | resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==}
1109 | dev: true
1110 |
1111 | /esbuild@0.20.2:
1112 | resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
1113 | engines: {node: '>=12'}
1114 | hasBin: true
1115 | requiresBuild: true
1116 | optionalDependencies:
1117 | '@esbuild/aix-ppc64': 0.20.2
1118 | '@esbuild/android-arm': 0.20.2
1119 | '@esbuild/android-arm64': 0.20.2
1120 | '@esbuild/android-x64': 0.20.2
1121 | '@esbuild/darwin-arm64': 0.20.2
1122 | '@esbuild/darwin-x64': 0.20.2
1123 | '@esbuild/freebsd-arm64': 0.20.2
1124 | '@esbuild/freebsd-x64': 0.20.2
1125 | '@esbuild/linux-arm': 0.20.2
1126 | '@esbuild/linux-arm64': 0.20.2
1127 | '@esbuild/linux-ia32': 0.20.2
1128 | '@esbuild/linux-loong64': 0.20.2
1129 | '@esbuild/linux-mips64el': 0.20.2
1130 | '@esbuild/linux-ppc64': 0.20.2
1131 | '@esbuild/linux-riscv64': 0.20.2
1132 | '@esbuild/linux-s390x': 0.20.2
1133 | '@esbuild/linux-x64': 0.20.2
1134 | '@esbuild/netbsd-x64': 0.20.2
1135 | '@esbuild/openbsd-x64': 0.20.2
1136 | '@esbuild/sunos-x64': 0.20.2
1137 | '@esbuild/win32-arm64': 0.20.2
1138 | '@esbuild/win32-ia32': 0.20.2
1139 | '@esbuild/win32-x64': 0.20.2
1140 | dev: true
1141 |
1142 | /escalade@3.1.2:
1143 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
1144 | engines: {node: '>=6'}
1145 | dev: true
1146 |
1147 | /escape-string-regexp@1.0.5:
1148 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1149 | engines: {node: '>=0.8.0'}
1150 | dev: true
1151 |
1152 | /escape-string-regexp@4.0.0:
1153 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1154 | engines: {node: '>=10'}
1155 | dev: true
1156 |
1157 | /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0):
1158 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1159 | engines: {node: '>=10'}
1160 | peerDependencies:
1161 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1162 | dependencies:
1163 | eslint: 8.57.0
1164 | dev: true
1165 |
1166 | /eslint-plugin-react-refresh@0.4.6(eslint@8.57.0):
1167 | resolution: {integrity: sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==}
1168 | peerDependencies:
1169 | eslint: '>=7'
1170 | dependencies:
1171 | eslint: 8.57.0
1172 | dev: true
1173 |
1174 | /eslint-scope@7.2.2:
1175 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1176 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1177 | dependencies:
1178 | esrecurse: 4.3.0
1179 | estraverse: 5.3.0
1180 | dev: true
1181 |
1182 | /eslint-visitor-keys@3.4.3:
1183 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1184 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1185 | dev: true
1186 |
1187 | /eslint@8.57.0:
1188 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
1189 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1190 | hasBin: true
1191 | dependencies:
1192 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
1193 | '@eslint-community/regexpp': 4.10.0
1194 | '@eslint/eslintrc': 2.1.4
1195 | '@eslint/js': 8.57.0
1196 | '@humanwhocodes/config-array': 0.11.14
1197 | '@humanwhocodes/module-importer': 1.0.1
1198 | '@nodelib/fs.walk': 1.2.8
1199 | '@ungap/structured-clone': 1.2.0
1200 | ajv: 6.12.6
1201 | chalk: 4.1.2
1202 | cross-spawn: 7.0.3
1203 | debug: 4.3.4
1204 | doctrine: 3.0.0
1205 | escape-string-regexp: 4.0.0
1206 | eslint-scope: 7.2.2
1207 | eslint-visitor-keys: 3.4.3
1208 | espree: 9.6.1
1209 | esquery: 1.5.0
1210 | esutils: 2.0.3
1211 | fast-deep-equal: 3.1.3
1212 | file-entry-cache: 6.0.1
1213 | find-up: 5.0.0
1214 | glob-parent: 6.0.2
1215 | globals: 13.24.0
1216 | graphemer: 1.4.0
1217 | ignore: 5.3.1
1218 | imurmurhash: 0.1.4
1219 | is-glob: 4.0.3
1220 | is-path-inside: 3.0.3
1221 | js-yaml: 4.1.0
1222 | json-stable-stringify-without-jsonify: 1.0.1
1223 | levn: 0.4.1
1224 | lodash.merge: 4.6.2
1225 | minimatch: 3.1.2
1226 | natural-compare: 1.4.0
1227 | optionator: 0.9.3
1228 | strip-ansi: 6.0.1
1229 | text-table: 0.2.0
1230 | transitivePeerDependencies:
1231 | - supports-color
1232 | dev: true
1233 |
1234 | /espree@9.6.1:
1235 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1236 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1237 | dependencies:
1238 | acorn: 8.11.3
1239 | acorn-jsx: 5.3.2(acorn@8.11.3)
1240 | eslint-visitor-keys: 3.4.3
1241 | dev: true
1242 |
1243 | /esquery@1.5.0:
1244 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1245 | engines: {node: '>=0.10'}
1246 | dependencies:
1247 | estraverse: 5.3.0
1248 | dev: true
1249 |
1250 | /esrecurse@4.3.0:
1251 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1252 | engines: {node: '>=4.0'}
1253 | dependencies:
1254 | estraverse: 5.3.0
1255 | dev: true
1256 |
1257 | /estraverse@5.3.0:
1258 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1259 | engines: {node: '>=4.0'}
1260 | dev: true
1261 |
1262 | /esutils@2.0.3:
1263 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1264 | engines: {node: '>=0.10.0'}
1265 | dev: true
1266 |
1267 | /fast-deep-equal@3.1.3:
1268 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1269 | dev: true
1270 |
1271 | /fast-glob@3.3.2:
1272 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1273 | engines: {node: '>=8.6.0'}
1274 | dependencies:
1275 | '@nodelib/fs.stat': 2.0.5
1276 | '@nodelib/fs.walk': 1.2.8
1277 | glob-parent: 5.1.2
1278 | merge2: 1.4.1
1279 | micromatch: 4.0.5
1280 | dev: true
1281 |
1282 | /fast-json-stable-stringify@2.1.0:
1283 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1284 | dev: true
1285 |
1286 | /fast-levenshtein@2.0.6:
1287 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1288 | dev: true
1289 |
1290 | /fastq@1.17.1:
1291 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1292 | dependencies:
1293 | reusify: 1.0.4
1294 | dev: true
1295 |
1296 | /file-entry-cache@6.0.1:
1297 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1298 | engines: {node: ^10.12.0 || >=12.0.0}
1299 | dependencies:
1300 | flat-cache: 3.2.0
1301 | dev: true
1302 |
1303 | /fill-range@7.0.1:
1304 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1305 | engines: {node: '>=8'}
1306 | dependencies:
1307 | to-regex-range: 5.0.1
1308 | dev: true
1309 |
1310 | /find-up@5.0.0:
1311 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1312 | engines: {node: '>=10'}
1313 | dependencies:
1314 | locate-path: 6.0.0
1315 | path-exists: 4.0.0
1316 | dev: true
1317 |
1318 | /flat-cache@3.2.0:
1319 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1320 | engines: {node: ^10.12.0 || >=12.0.0}
1321 | dependencies:
1322 | flatted: 3.3.1
1323 | keyv: 4.5.4
1324 | rimraf: 3.0.2
1325 | dev: true
1326 |
1327 | /flatted@3.3.1:
1328 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1329 | dev: true
1330 |
1331 | /fs.realpath@1.0.0:
1332 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1333 | dev: true
1334 |
1335 | /fsevents@2.3.3:
1336 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1337 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1338 | os: [darwin]
1339 | requiresBuild: true
1340 | dev: true
1341 | optional: true
1342 |
1343 | /gensync@1.0.0-beta.2:
1344 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1345 | engines: {node: '>=6.9.0'}
1346 | dev: true
1347 |
1348 | /glob-parent@5.1.2:
1349 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1350 | engines: {node: '>= 6'}
1351 | dependencies:
1352 | is-glob: 4.0.3
1353 | dev: true
1354 |
1355 | /glob-parent@6.0.2:
1356 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1357 | engines: {node: '>=10.13.0'}
1358 | dependencies:
1359 | is-glob: 4.0.3
1360 | dev: true
1361 |
1362 | /glob@7.2.3:
1363 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1364 | dependencies:
1365 | fs.realpath: 1.0.0
1366 | inflight: 1.0.6
1367 | inherits: 2.0.4
1368 | minimatch: 3.1.2
1369 | once: 1.4.0
1370 | path-is-absolute: 1.0.1
1371 | dev: true
1372 |
1373 | /globals@11.12.0:
1374 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1375 | engines: {node: '>=4'}
1376 | dev: true
1377 |
1378 | /globals@13.24.0:
1379 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1380 | engines: {node: '>=8'}
1381 | dependencies:
1382 | type-fest: 0.20.2
1383 | dev: true
1384 |
1385 | /globby@11.1.0:
1386 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1387 | engines: {node: '>=10'}
1388 | dependencies:
1389 | array-union: 2.1.0
1390 | dir-glob: 3.0.1
1391 | fast-glob: 3.3.2
1392 | ignore: 5.3.1
1393 | merge2: 1.4.1
1394 | slash: 3.0.0
1395 | dev: true
1396 |
1397 | /graphemer@1.4.0:
1398 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1399 | dev: true
1400 |
1401 | /has-flag@3.0.0:
1402 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1403 | engines: {node: '>=4'}
1404 | dev: true
1405 |
1406 | /has-flag@4.0.0:
1407 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1408 | engines: {node: '>=8'}
1409 | dev: true
1410 |
1411 | /ignore@5.3.1:
1412 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
1413 | engines: {node: '>= 4'}
1414 | dev: true
1415 |
1416 | /import-fresh@3.3.0:
1417 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1418 | engines: {node: '>=6'}
1419 | dependencies:
1420 | parent-module: 1.0.1
1421 | resolve-from: 4.0.0
1422 | dev: true
1423 |
1424 | /imurmurhash@0.1.4:
1425 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1426 | engines: {node: '>=0.8.19'}
1427 | dev: true
1428 |
1429 | /inflight@1.0.6:
1430 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1431 | dependencies:
1432 | once: 1.4.0
1433 | wrappy: 1.0.2
1434 | dev: true
1435 |
1436 | /inherits@2.0.4:
1437 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1438 | dev: true
1439 |
1440 | /is-extglob@2.1.1:
1441 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1442 | engines: {node: '>=0.10.0'}
1443 | dev: true
1444 |
1445 | /is-glob@4.0.3:
1446 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1447 | engines: {node: '>=0.10.0'}
1448 | dependencies:
1449 | is-extglob: 2.1.1
1450 | dev: true
1451 |
1452 | /is-number@7.0.0:
1453 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1454 | engines: {node: '>=0.12.0'}
1455 | dev: true
1456 |
1457 | /is-path-inside@3.0.3:
1458 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1459 | engines: {node: '>=8'}
1460 | dev: true
1461 |
1462 | /isexe@2.0.0:
1463 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1464 | dev: true
1465 |
1466 | /js-tokens@4.0.0:
1467 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1468 |
1469 | /js-yaml@4.1.0:
1470 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1471 | hasBin: true
1472 | dependencies:
1473 | argparse: 2.0.1
1474 | dev: true
1475 |
1476 | /jsesc@2.5.2:
1477 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1478 | engines: {node: '>=4'}
1479 | hasBin: true
1480 | dev: true
1481 |
1482 | /json-buffer@3.0.1:
1483 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1484 | dev: true
1485 |
1486 | /json-schema-traverse@0.4.1:
1487 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1488 | dev: true
1489 |
1490 | /json-stable-stringify-without-jsonify@1.0.1:
1491 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1492 | dev: true
1493 |
1494 | /json5@2.2.3:
1495 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1496 | engines: {node: '>=6'}
1497 | hasBin: true
1498 | dev: true
1499 |
1500 | /keyv@4.5.4:
1501 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1502 | dependencies:
1503 | json-buffer: 3.0.1
1504 | dev: true
1505 |
1506 | /levn@0.4.1:
1507 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1508 | engines: {node: '>= 0.8.0'}
1509 | dependencies:
1510 | prelude-ls: 1.2.1
1511 | type-check: 0.4.0
1512 | dev: true
1513 |
1514 | /locate-path@6.0.0:
1515 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1516 | engines: {node: '>=10'}
1517 | dependencies:
1518 | p-locate: 5.0.0
1519 | dev: true
1520 |
1521 | /lodash.merge@4.6.2:
1522 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1523 | dev: true
1524 |
1525 | /loose-envify@1.4.0:
1526 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1527 | hasBin: true
1528 | dependencies:
1529 | js-tokens: 4.0.0
1530 | dev: false
1531 |
1532 | /lru-cache@5.1.1:
1533 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1534 | dependencies:
1535 | yallist: 3.1.1
1536 | dev: true
1537 |
1538 | /lru-cache@6.0.0:
1539 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1540 | engines: {node: '>=10'}
1541 | dependencies:
1542 | yallist: 4.0.0
1543 | dev: true
1544 |
1545 | /merge2@1.4.1:
1546 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1547 | engines: {node: '>= 8'}
1548 | dev: true
1549 |
1550 | /micromatch@4.0.5:
1551 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1552 | engines: {node: '>=8.6'}
1553 | dependencies:
1554 | braces: 3.0.2
1555 | picomatch: 2.3.1
1556 | dev: true
1557 |
1558 | /minimatch@3.1.2:
1559 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1560 | dependencies:
1561 | brace-expansion: 1.1.11
1562 | dev: true
1563 |
1564 | /minimatch@9.0.3:
1565 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1566 | engines: {node: '>=16 || 14 >=14.17'}
1567 | dependencies:
1568 | brace-expansion: 2.0.1
1569 | dev: true
1570 |
1571 | /ms@2.1.2:
1572 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1573 | dev: true
1574 |
1575 | /nanoid@3.3.7:
1576 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1577 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1578 | hasBin: true
1579 | dev: true
1580 |
1581 | /natural-compare@1.4.0:
1582 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1583 | dev: true
1584 |
1585 | /node-releases@2.0.14:
1586 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1587 | dev: true
1588 |
1589 | /once@1.4.0:
1590 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1591 | dependencies:
1592 | wrappy: 1.0.2
1593 | dev: true
1594 |
1595 | /optionator@0.9.3:
1596 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
1597 | engines: {node: '>= 0.8.0'}
1598 | dependencies:
1599 | '@aashutoshrathi/word-wrap': 1.2.6
1600 | deep-is: 0.1.4
1601 | fast-levenshtein: 2.0.6
1602 | levn: 0.4.1
1603 | prelude-ls: 1.2.1
1604 | type-check: 0.4.0
1605 | dev: true
1606 |
1607 | /p-limit@3.1.0:
1608 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1609 | engines: {node: '>=10'}
1610 | dependencies:
1611 | yocto-queue: 0.1.0
1612 | dev: true
1613 |
1614 | /p-locate@5.0.0:
1615 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1616 | engines: {node: '>=10'}
1617 | dependencies:
1618 | p-limit: 3.1.0
1619 | dev: true
1620 |
1621 | /parent-module@1.0.1:
1622 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1623 | engines: {node: '>=6'}
1624 | dependencies:
1625 | callsites: 3.1.0
1626 | dev: true
1627 |
1628 | /path-exists@4.0.0:
1629 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1630 | engines: {node: '>=8'}
1631 | dev: true
1632 |
1633 | /path-is-absolute@1.0.1:
1634 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1635 | engines: {node: '>=0.10.0'}
1636 | dev: true
1637 |
1638 | /path-key@3.1.1:
1639 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1640 | engines: {node: '>=8'}
1641 | dev: true
1642 |
1643 | /path-type@4.0.0:
1644 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1645 | engines: {node: '>=8'}
1646 | dev: true
1647 |
1648 | /picocolors@1.0.0:
1649 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1650 | dev: true
1651 |
1652 | /picomatch@2.3.1:
1653 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1654 | engines: {node: '>=8.6'}
1655 | dev: true
1656 |
1657 | /postcss@8.4.38:
1658 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
1659 | engines: {node: ^10 || ^12 || >=14}
1660 | dependencies:
1661 | nanoid: 3.3.7
1662 | picocolors: 1.0.0
1663 | source-map-js: 1.2.0
1664 | dev: true
1665 |
1666 | /prelude-ls@1.2.1:
1667 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1668 | engines: {node: '>= 0.8.0'}
1669 | dev: true
1670 |
1671 | /punycode@2.3.1:
1672 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1673 | engines: {node: '>=6'}
1674 | dev: true
1675 |
1676 | /queue-microtask@1.2.3:
1677 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1678 | dev: true
1679 |
1680 | /react-dom@18.2.0(react@18.2.0):
1681 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1682 | peerDependencies:
1683 | react: ^18.2.0
1684 | dependencies:
1685 | loose-envify: 1.4.0
1686 | react: 18.2.0
1687 | scheduler: 0.23.0
1688 | dev: false
1689 |
1690 | /react-refresh@0.14.0:
1691 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
1692 | engines: {node: '>=0.10.0'}
1693 | dev: true
1694 |
1695 | /react@18.2.0:
1696 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1697 | engines: {node: '>=0.10.0'}
1698 | dependencies:
1699 | loose-envify: 1.4.0
1700 | dev: false
1701 |
1702 | /resolve-from@4.0.0:
1703 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1704 | engines: {node: '>=4'}
1705 | dev: true
1706 |
1707 | /reusify@1.0.4:
1708 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1709 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1710 | dev: true
1711 |
1712 | /rimraf@3.0.2:
1713 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1714 | hasBin: true
1715 | dependencies:
1716 | glob: 7.2.3
1717 | dev: true
1718 |
1719 | /rollup@4.13.1:
1720 | resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
1721 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1722 | hasBin: true
1723 | dependencies:
1724 | '@types/estree': 1.0.5
1725 | optionalDependencies:
1726 | '@rollup/rollup-android-arm-eabi': 4.13.1
1727 | '@rollup/rollup-android-arm64': 4.13.1
1728 | '@rollup/rollup-darwin-arm64': 4.13.1
1729 | '@rollup/rollup-darwin-x64': 4.13.1
1730 | '@rollup/rollup-linux-arm-gnueabihf': 4.13.1
1731 | '@rollup/rollup-linux-arm64-gnu': 4.13.1
1732 | '@rollup/rollup-linux-arm64-musl': 4.13.1
1733 | '@rollup/rollup-linux-riscv64-gnu': 4.13.1
1734 | '@rollup/rollup-linux-s390x-gnu': 4.13.1
1735 | '@rollup/rollup-linux-x64-gnu': 4.13.1
1736 | '@rollup/rollup-linux-x64-musl': 4.13.1
1737 | '@rollup/rollup-win32-arm64-msvc': 4.13.1
1738 | '@rollup/rollup-win32-ia32-msvc': 4.13.1
1739 | '@rollup/rollup-win32-x64-msvc': 4.13.1
1740 | fsevents: 2.3.3
1741 | dev: true
1742 |
1743 | /run-parallel@1.2.0:
1744 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1745 | dependencies:
1746 | queue-microtask: 1.2.3
1747 | dev: true
1748 |
1749 | /scheduler@0.23.0:
1750 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1751 | dependencies:
1752 | loose-envify: 1.4.0
1753 | dev: false
1754 |
1755 | /semver@6.3.1:
1756 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1757 | hasBin: true
1758 | dev: true
1759 |
1760 | /semver@7.6.0:
1761 | resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
1762 | engines: {node: '>=10'}
1763 | hasBin: true
1764 | dependencies:
1765 | lru-cache: 6.0.0
1766 | dev: true
1767 |
1768 | /shebang-command@2.0.0:
1769 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1770 | engines: {node: '>=8'}
1771 | dependencies:
1772 | shebang-regex: 3.0.0
1773 | dev: true
1774 |
1775 | /shebang-regex@3.0.0:
1776 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1777 | engines: {node: '>=8'}
1778 | dev: true
1779 |
1780 | /slash@3.0.0:
1781 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1782 | engines: {node: '>=8'}
1783 | dev: true
1784 |
1785 | /source-map-js@1.2.0:
1786 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
1787 | engines: {node: '>=0.10.0'}
1788 | dev: true
1789 |
1790 | /strip-ansi@6.0.1:
1791 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1792 | engines: {node: '>=8'}
1793 | dependencies:
1794 | ansi-regex: 5.0.1
1795 | dev: true
1796 |
1797 | /strip-json-comments@3.1.1:
1798 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1799 | engines: {node: '>=8'}
1800 | dev: true
1801 |
1802 | /supports-color@5.5.0:
1803 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1804 | engines: {node: '>=4'}
1805 | dependencies:
1806 | has-flag: 3.0.0
1807 | dev: true
1808 |
1809 | /supports-color@7.2.0:
1810 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1811 | engines: {node: '>=8'}
1812 | dependencies:
1813 | has-flag: 4.0.0
1814 | dev: true
1815 |
1816 | /text-table@0.2.0:
1817 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1818 | dev: true
1819 |
1820 | /to-fast-properties@2.0.0:
1821 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1822 | engines: {node: '>=4'}
1823 | dev: true
1824 |
1825 | /to-regex-range@5.0.1:
1826 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1827 | engines: {node: '>=8.0'}
1828 | dependencies:
1829 | is-number: 7.0.0
1830 | dev: true
1831 |
1832 | /ts-api-utils@1.3.0(typescript@5.4.3):
1833 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
1834 | engines: {node: '>=16'}
1835 | peerDependencies:
1836 | typescript: '>=4.2.0'
1837 | dependencies:
1838 | typescript: 5.4.3
1839 | dev: true
1840 |
1841 | /type-check@0.4.0:
1842 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1843 | engines: {node: '>= 0.8.0'}
1844 | dependencies:
1845 | prelude-ls: 1.2.1
1846 | dev: true
1847 |
1848 | /type-fest@0.20.2:
1849 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1850 | engines: {node: '>=10'}
1851 | dev: true
1852 |
1853 | /typescript@5.4.3:
1854 | resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
1855 | engines: {node: '>=14.17'}
1856 | hasBin: true
1857 | dev: true
1858 |
1859 | /update-browserslist-db@1.0.13(browserslist@4.23.0):
1860 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
1861 | hasBin: true
1862 | peerDependencies:
1863 | browserslist: '>= 4.21.0'
1864 | dependencies:
1865 | browserslist: 4.23.0
1866 | escalade: 3.1.2
1867 | picocolors: 1.0.0
1868 | dev: true
1869 |
1870 | /uri-js@4.4.1:
1871 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1872 | dependencies:
1873 | punycode: 2.3.1
1874 | dev: true
1875 |
1876 | /vite@5.2.6:
1877 | resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==}
1878 | engines: {node: ^18.0.0 || >=20.0.0}
1879 | hasBin: true
1880 | peerDependencies:
1881 | '@types/node': ^18.0.0 || >=20.0.0
1882 | less: '*'
1883 | lightningcss: ^1.21.0
1884 | sass: '*'
1885 | stylus: '*'
1886 | sugarss: '*'
1887 | terser: ^5.4.0
1888 | peerDependenciesMeta:
1889 | '@types/node':
1890 | optional: true
1891 | less:
1892 | optional: true
1893 | lightningcss:
1894 | optional: true
1895 | sass:
1896 | optional: true
1897 | stylus:
1898 | optional: true
1899 | sugarss:
1900 | optional: true
1901 | terser:
1902 | optional: true
1903 | dependencies:
1904 | esbuild: 0.20.2
1905 | postcss: 8.4.38
1906 | rollup: 4.13.1
1907 | optionalDependencies:
1908 | fsevents: 2.3.3
1909 | dev: true
1910 |
1911 | /which@2.0.2:
1912 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1913 | engines: {node: '>= 8'}
1914 | hasBin: true
1915 | dependencies:
1916 | isexe: 2.0.0
1917 | dev: true
1918 |
1919 | /wrappy@1.0.2:
1920 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1921 | dev: true
1922 |
1923 | /yallist@3.1.1:
1924 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1925 | dev: true
1926 |
1927 | /yallist@4.0.0:
1928 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1929 | dev: true
1930 |
1931 | /yocto-queue@0.1.0:
1932 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1933 | engines: {node: '>=10'}
1934 | dev: true
1935 |
--------------------------------------------------------------------------------