diff --git a/.github/workflows/comment-release.yml b/.github/workflows/comment-release.yml index 3785f78..4f1a6d2 100644 --- a/.github/workflows/comment-release.yml +++ b/.github/workflows/comment-release.yml @@ -53,7 +53,10 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const { issue: { number: issue_number }, repo: { owner, repo }, payload } = context; - const { name: packageName, version } = require(`${process.env.GITHUB_WORKSPACE}/package.json`); + const fs = require('fs') + const jsonString = fs.readFileSync(`${process.env.GITHUB_WORKSPACE}/package.json`) + var packageJson = JSON.parse(jsonString) + const { name: packageName, version } = packageJson; const body = [ `npm package published to pre tag.`, diff --git a/README.md b/README.md index 5bcd182..218f2a1 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Register the command to the `scripts` property in your package.json file. ```json { "scripts": { - "codegen": "openapi-rq -i ./petstore.yaml -c axios" + "codegen": "openapi-rq -i ./petstore.yaml -c @hey-api/client-fetch" } } ``` @@ -30,7 +30,7 @@ Register the command to the `scripts` property in your package.json file. You can also run the command without installing it in your project using the npx command. ```bash -$ npx --package @7nohe/openapi-react-query-codegen openapi-rq -i ./petstore.yaml -c axios +$ npx --package @7nohe/openapi-react-query-codegen openapi-rq -i ./petstore.yaml -c @hey-api/client-fetch ``` ## Usage @@ -46,14 +46,13 @@ Options: -V, --version output the version number -i, --input OpenAPI specification, can be a path, url or string content (required) -o, --output Output directory (default: "openapi") - -c, --client HTTP client to generate (choices: "angular", "axios", "fetch", "node", "xhr", default: "fetch") + -c, --client HTTP client to generate (choices: "@hey-api/client-fetch", "@hey-api/client-axios", default: "@hey-api/client-fetch") --request Path to custom request file --format Process output folder with formatter? (choices: "biome", "prettier") --lint Process output folder with linter? (choices: "biome", "eslint") --operationId Use operation ID to generate operation names? --serviceResponse Define shape of returned value from service calls (choices: "body", "response", default: "body") --base Manually set base in OpenAPI config instead of inferring from server value - --enums Generate JavaScript objects from enum definitions? ['javascript', 'typescript', 'typescript+namespace'] --enums Generate JavaScript objects from enum definitions? (choices: "javascript", "typescript") --useDateType Use Date type instead of string for date types for models, this will not convert the data to a Date object --debug Run in debug mode? @@ -61,8 +60,8 @@ Options: --schemaType Type of JSON schema [Default: 'json'] (choices: "form", "json") --pageParam Name of the query parameter used for pagination (default: "page") --nextPageParam Name of the response parameter used for next page (default: "nextPage") - --initialPageParam Initial value for the pagination parameter (default: "1") - -h, --help display help for command + --initialPageParam Initial page value to query (default: "initialPageParam") + -h, --help display help for command ``` ### Example Usage diff --git a/biome.json b/biome.json index 8faa5a3..b970cbf 100644 --- a/biome.json +++ b/biome.json @@ -5,6 +5,7 @@ }, "files": { "ignore": [ + ".vscode", "dist", "examples/react-app/openapi", "coverage", diff --git a/examples/nextjs-app/app/components/Pets.tsx b/examples/nextjs-app/app/components/Pets.tsx index e40fa9a..d3eacdc 100644 --- a/examples/nextjs-app/app/components/Pets.tsx +++ b/examples/nextjs-app/app/components/Pets.tsx @@ -1,12 +1,11 @@ "use client"; -import { useDefaultServiceFindPets } from "@/openapi/queries"; +import { useFindPets } from "@/openapi/queries"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; export default function Pets() { - const { data } = useDefaultServiceFindPets({ - limit: 10, - tags: [], + const { data } = useFindPets({ + query: { tags: [], limit: 10 }, }); return ( diff --git a/examples/nextjs-app/app/page.tsx b/examples/nextjs-app/app/page.tsx index 9d4a1ac..f61e199 100644 --- a/examples/nextjs-app/app/page.tsx +++ b/examples/nextjs-app/app/page.tsx @@ -1,18 +1,17 @@ -import { prefetchUseDefaultServiceFindPets } from "@/openapi/queries/prefetch"; import { HydrationBoundary, QueryClient, dehydrate, } from "@tanstack/react-query"; import Link from "next/link"; +import { prefetchUseFindPets } from "../openapi/queries/prefetch"; import Pets from "./components/Pets"; export default async function Home() { const queryClient = new QueryClient(); - await prefetchUseDefaultServiceFindPets(queryClient, { - limit: 10, - tags: [], + await prefetchUseFindPets(queryClient, { + query: { tags: [], limit: 10 }, }); return ( diff --git a/examples/nextjs-app/app/providers.tsx b/examples/nextjs-app/app/providers.tsx index 804498c..86d555c 100644 --- a/examples/nextjs-app/app/providers.tsx +++ b/examples/nextjs-app/app/providers.tsx @@ -1,9 +1,10 @@ "use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import "../fetchClient"; + // We can not useState or useRef in a server component, which is why we are -// extracting this part out into it's own file with 'use client' on top -import { useState } from "react"; +// extracting this part out into function makeQueryClient() { return new QueryClient({ diff --git a/examples/nextjs-app/fetchClient.ts b/examples/nextjs-app/fetchClient.ts new file mode 100644 index 0000000..0ccb3c7 --- /dev/null +++ b/examples/nextjs-app/fetchClient.ts @@ -0,0 +1,5 @@ +import { client } from "@/openapi/requests/services.gen"; + +client.setConfig({ + baseUrl: "http://localhost:4010", +}); diff --git a/examples/nextjs-app/package.json b/examples/nextjs-app/package.json index 2d2eed1..9c5c6d5 100644 --- a/examples/nextjs-app/package.json +++ b/examples/nextjs-app/package.json @@ -9,7 +9,7 @@ "build": "next build", "start": "next start", "lint": "next lint", - "generate:api": "rimraf ./openapi && node ../../dist/cli.mjs -i ../petstore.yaml -c axios --request ./request.ts --format=biome --lint=biome" + "generate:api": "rimraf ./openapi && node ../../dist/cli.mjs -i ../petstore.yaml --request ./request.ts --format=biome --lint=biome --base http://localhost:4010" }, "dependencies": { "@tanstack/react-query": "^5.32.1", diff --git a/examples/petstore.yaml b/examples/petstore.yaml index 2a038a1..f7e4e9b 100644 --- a/examples/petstore.yaml +++ b/examples/petstore.yaml @@ -197,12 +197,12 @@ components: NewPet: type: object required: - - name + - name properties: name: type: string tag: - type: string + type: string Error: type: object @@ -214,4 +214,4 @@ components: type: integer format: int32 message: - type: string \ No newline at end of file + type: string diff --git a/examples/react-app/package.json b/examples/react-app/package.json index d5f8f7c..c68ec7c 100644 --- a/examples/react-app/package.json +++ b/examples/react-app/package.json @@ -9,10 +9,11 @@ "dev:mock": "prism mock ../petstore.yaml --dynamic", "build": "tsc && vite build", "preview": "vite preview", - "generate:api": "rimraf ./openapi && node ../../dist/cli.mjs -i ../petstore.yaml -c axios --request ./request.ts --format=biome --lint=biome", + "generate:api": "rimraf ./openapi && node ../../dist/cli.mjs -i ../petstore.yaml --format=biome --lint=biome -c @hey-api/client-axios", "test:generated": "tsc -p ./tsconfig.openapi.json --noEmit" }, "dependencies": { + "@hey-api/client-axios": "^0.2.7", "@tanstack/react-query": "^5.32.1", "axios": "^1.6.7", "form-data": "~4.0.0", diff --git a/examples/react-app/request.ts b/examples/react-app/request.ts deleted file mode 100644 index 98e0a7f..0000000 --- a/examples/react-app/request.ts +++ /dev/null @@ -1,94 +0,0 @@ -import axios from "axios"; -import type { RawAxiosRequestHeaders } from "axios"; - -import type { ApiRequestOptions } from "./ApiRequestOptions"; -import { CancelablePromise } from "./CancelablePromise"; -import type { OpenAPIConfig } from "./OpenAPI"; - -// Optional: Get and link the cancelation token, so the request can be aborted. -const source = axios.CancelToken.source(); - -const axiosInstance = axios.create({ - // Your custom Axios instance config - baseURL: "http://localhost:4010", - headers: { - // Your custom headers - } satisfies RawAxiosRequestHeaders, -}); - -// Add a request interceptor -axiosInstance.interceptors.request.use( - (config) => { - // Do something before request is sent - if (!config.url || !config.params) { - return config; - } - - for (const [key, value] of Object.entries(config.params)) { - const stringToSearch = `{${key}}`; - if ( - config.url !== undefined && - config.url.search(stringToSearch) !== -1 - ) { - config.url = config.url.replace(`{${key}}`, encodeURIComponent(value)); - delete config.params[key]; - } - } - - return config; - }, - (error) => { - // Do something with request error - return Promise.reject(error); - }, -); - -// Add a response interceptor -axiosInstance.interceptors.response.use( - (response) => { - // Any status code that lie within the range of 2xx cause this function to trigger - // Do something with response data - return response; - }, - (error) => { - // Any status codes that falls outside the range of 2xx cause this function to trigger - // Do something with response error - return Promise.reject(error); - }, -); - -export const request = ( - config: OpenAPIConfig, - options: ApiRequestOptions, -): CancelablePromise => { - return new CancelablePromise((resolve, reject, onCancel) => { - onCancel(() => source.cancel("The user aborted a request.")); - - let formattedHeaders = options.headers as RawAxiosRequestHeaders; - if (options.mediaType) { - formattedHeaders = { - ...options.headers, - "Content-Type": options.mediaType, - } satisfies RawAxiosRequestHeaders; - } - - return axiosInstance - .request({ - url: options.url, - data: options.body, - method: options.method, - params: { - ...options.query, - ...options.path, - }, - headers: formattedHeaders, - cancelToken: source.token, - }) - .then((res) => { - resolve(res.data); - }) - .catch((error) => { - reject(error); - }); - }); -}; diff --git a/examples/react-app/src/App.tsx b/examples/react-app/src/App.tsx index df58103..d1f45d2 100644 --- a/examples/react-app/src/App.tsx +++ b/examples/react-app/src/App.tsx @@ -1,32 +1,35 @@ import "./App.css"; import { useState } from "react"; + +import { createClient } from "@hey-api/client-fetch"; import { - UseDefaultServiceFindPetsKeyFn, - useDefaultServiceAddPet, - useDefaultServiceFindPets, - useDefaultServiceGetNotDefined, - useDefaultServicePostNotDefined, + UseFindPetsKeyFn, + useAddPet, + useFindPets, + useGetNotDefined, + usePostNotDefined, } from "../openapi/queries"; import { SuspenseParent } from "./components/SuspenseParent"; import { queryClient } from "./queryClient"; function App() { + createClient({ baseUrl: "http://localhost:4010" }); + const [tags, _setTags] = useState([]); const [limit, _setLimit] = useState(10); - const { data, error, refetch } = useDefaultServiceFindPets({ tags, limit }); + const { data, error, refetch } = useFindPets({ query: { tags, limit } }); // This is an example of using a hook that has all parameters optional; // Here we do not have to pass in an object - const { data: _ } = useDefaultServiceFindPets(); + const { data: _ } = useFindPets(); // This is an example of a query that is not defined in the OpenAPI spec // this defaults to any - here we are showing how to override the type // Note - this is marked as deprecated in the OpenAPI spec and being passed to the client - const { data: notDefined } = useDefaultServiceGetNotDefined(); - const { mutate: mutateNotDefined } = - useDefaultServicePostNotDefined(); + const { data: notDefined } = useGetNotDefined(); + const { mutate: mutateNotDefined } = usePostNotDefined(); - const { mutate: addPet } = useDefaultServiceAddPet(); + const { mutate: addPet } = useAddPet(); if (error) return ( @@ -52,12 +55,12 @@ function App() { onClick={() => { addPet( { - requestBody: { name: "Duggy" }, + body: { name: "Duggy" }, }, { onSuccess: () => { queryClient.invalidateQueries({ - queryKey: UseDefaultServiceFindPetsKeyFn(), + queryKey: UseFindPetsKeyFn({ query: { tags, limit } }), }); console.log("success"); }, diff --git a/examples/react-app/src/axios.ts b/examples/react-app/src/axios.ts new file mode 100644 index 0000000..e767177 --- /dev/null +++ b/examples/react-app/src/axios.ts @@ -0,0 +1,5 @@ +import { client } from "../openapi/requests/services.gen"; + +client.setConfig({ + baseURL: "http://localhost:4010", +}); diff --git a/examples/react-app/src/components/SuspenseChild.tsx b/examples/react-app/src/components/SuspenseChild.tsx index 0999316..040be32 100644 --- a/examples/react-app/src/components/SuspenseChild.tsx +++ b/examples/react-app/src/components/SuspenseChild.tsx @@ -1,15 +1,17 @@ -import { useDefaultServiceFindPetsSuspense } from "../../openapi/queries/suspense"; +import { useFindPetsSuspense } from "../../openapi/queries/suspense"; export const SuspenseChild = () => { - const { data } = useDefaultServiceFindPetsSuspense({ tags: [], limit: 10 }); - + const { data, error } = useFindPetsSuspense({ + query: { tags: [], limit: 10 }, + }); + console.log({ error }); if (!Array.isArray(data)) { return
Error!
; } return (
    - {data?.map((pet, index) => ( + {data?.map((pet) => (
  • {pet.name}
  • ))}
diff --git a/examples/react-app/src/main.tsx b/examples/react-app/src/main.tsx index df3c2b8..098f65f 100644 --- a/examples/react-app/src/main.tsx +++ b/examples/react-app/src/main.tsx @@ -4,6 +4,7 @@ import App from "./App"; import "./index.css"; import { QueryClientProvider } from "@tanstack/react-query"; import { queryClient } from "./queryClient"; +import "./axios"; ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( diff --git a/lefthook.yml b/lefthook.yml index 3e5f29e..01aa466 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -2,7 +2,7 @@ pre-commit: commands: check: glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}" - run: npx biome check --apply --no-errors-on-unmatched --files-ignore-unknown=true ./ && git update-index --again + run: npx biome check --write --no-errors-on-unmatched --files-ignore-unknown=true ./ && git update-index --again test: glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}" run: npx vitest run diff --git a/package.json b/package.json index e51199f..6f4b8a1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,37 @@ { "name": "@7nohe/openapi-react-query-codegen", - "version": "1.6.1", + "version": "2.0.0", "description": "OpenAPI React Query Codegen", + "bin": { + "openapi-rq": "dist/cli.mjs" + }, + "private": false, + "type": "module", + "workspaces": ["examples/*"], + "scripts": { + "build": "rimraf dist && tsc -p tsconfig.json", + "lint": "biome check .", + "lint:fix": "biome check --write .", + "preview": "npm run build && npm -C examples/react-app run generate:api", + "prepublishOnly": "npm run build", + "release": "npx git-ensure -a && npx bumpp --commit --tag --push", + "test": "vitest --coverage.enabled true", + "snapshot": "vitest --update" + }, + "exports": [ + { + "import": "./dist/generate.mjs", + "require": "./dist/generate.mjs", + "types": "./dist/generate.d.mts" + } + ], + "repository": { + "type": "git", + "url": "git+https://github.com/7nohe/openapi-react-query-codegen.git" + }, + "homepage": "https://github.com/7nohe/openapi-react-query-codegen", + "bugs": "https://github.com/7nohe/openapi-react-query-codegen/issues", + "files": ["dist"], "keywords": [ "codegen", "react-query", @@ -12,36 +42,17 @@ "openapi-typescript-codegen", "@hey-api/openapi-ts" ], - "homepage": "https://github.com/7nohe/openapi-react-query-codegen", - "bugs": "https://github.com/7nohe/openapi-react-query-codegen/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/7nohe/openapi-react-query-codegen.git" - }, "license": "MIT", "author": "Daiki Urata (@7nohe)", - "type": "module", - "bin": { - "openapi-rq": "dist/cli.mjs" - }, - "files": ["dist"], - "workspaces": ["examples/*"], - "scripts": { - "build": "rimraf dist && tsc -p tsconfig.json", - "lint": "biome check .", - "lint:fix": "biome check --write .", - "prepublishOnly": "npm run build", - "preview": "npm run build && npm -C examples/react-app run generate:api", - "release": "npx git-ensure -a && npx bumpp --commit --tag --push", - "snapshot": "vitest --update", - "test": "vitest --coverage.enabled true" - }, "dependencies": { - "@hey-api/openapi-ts": "0.52.0" + "@hey-api/client-fetch": "0.4.0", + "@hey-api/openapi-ts": "0.53.8", + "cross-spawn": "^7.0.3" }, "devDependencies": { "@biomejs/biome": "^1.7.2", - "@types/node": "^20.10.6", + "@types/node": "^22.7.4", + "@types/cross-spawn": "^6.0.6", "@vitest/coverage-v8": "^1.5.0", "commander": "^12.0.0", "glob": "^10.3.10", @@ -55,7 +66,7 @@ "peerDependencies": { "commander": "12.x", "glob": "10.x", - "ts-morph": "22.x", + "ts-morph": "23.x", "typescript": "5.x" }, "packageManager": "pnpm@9.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 962fa3b..626bd17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,58 +8,67 @@ importers: .: dependencies: + '@hey-api/client-fetch': + specifier: 0.4.0 + version: 0.4.0 '@hey-api/openapi-ts': - specifier: 0.52.0 - version: 0.52.0(magicast@0.3.4)(typescript@5.5.4) + specifier: 0.53.8 + version: 0.53.8(typescript@5.6.2) + cross-spawn: + specifier: ^7.0.3 + version: 7.0.3 devDependencies: '@biomejs/biome': specifier: ^1.7.2 - version: 1.8.3 + version: 1.8.1 + '@types/cross-spawn': + specifier: ^6.0.6 + version: 6.0.6 '@types/node': - specifier: ^20.10.6 - version: 20.14.13 + specifier: ^22.7.4 + version: 22.7.4 '@vitest/coverage-v8': specifier: ^1.5.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.14.13)(terser@5.33.0)) + version: 1.6.0(vitest@1.6.0(@types/node@22.7.4)(terser@5.34.1)) commander: specifier: ^12.0.0 version: 12.1.0 glob: specifier: ^10.3.10 - version: 10.4.5 + version: 10.4.1 lefthook: specifier: ^1.6.10 - version: 1.7.11 + version: 1.6.15 rimraf: specifier: ^5.0.5 - version: 5.0.9 + version: 5.0.7 ts-morph: specifier: ^23.0.0 version: 23.0.0 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.13)(typescript@5.5.4) + version: 10.9.2(@types/node@22.7.4)(typescript@5.6.2) typescript: specifier: ^5.5.4 - version: 5.5.4 + version: 5.6.2 vitest: specifier: ^1.5.0 - version: 1.6.0(@types/node@20.14.13)(terser@5.33.0) + version: 1.6.0(@types/node@22.7.4)(terser@5.34.1) examples/nextjs-app: dependencies: '@tanstack/react-query': specifier: ^5.32.1 - version: 5.51.16(react@18.3.1) + version: 5.45.0(react@18.3.1) '@tanstack/react-query-devtools': specifier: ^5.32.1 - version: 5.51.16(@tanstack/react-query@5.51.16(react@18.3.1))(react@18.3.1) + version: 5.45.0(@tanstack/react-query@5.45.0(react@18.3.1))(react@18.3.1) axios: specifier: ^1.6.7 version: 1.7.2 next: specifier: ^14.2.3 - version: 14.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18 version: 18.3.1 @@ -69,10 +78,10 @@ importers: devDependencies: '@stoplight/prism-cli': specifier: ^5.5.2 - version: 5.8.3 + version: 5.8.1 '@types/node': specifier: ^20 - version: 20.14.13 + version: 20.14.2 '@types/react': specifier: ^18 version: 18.3.3 @@ -84,19 +93,22 @@ importers: version: 4.1.5 postcss: specifier: ^8 - version: 8.4.40 + version: 8.4.38 tailwindcss: specifier: ^3.4.1 - version: 3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5)) typescript: specifier: ^5 - version: 5.5.4 + version: 5.4.5 examples/react-app: dependencies: + '@hey-api/client-axios': + specifier: ^0.2.7 + version: 0.2.7(axios@1.7.2) '@tanstack/react-query': specifier: ^5.32.1 - version: 5.51.16(react@18.3.1) + version: 5.45.0(react@18.3.1) axios: specifier: ^1.6.7 version: 1.7.2 @@ -112,10 +124,10 @@ importers: devDependencies: '@biomejs/biome': specifier: ^1.7.2 - version: 1.8.3 + version: 1.8.1 '@stoplight/prism-cli': specifier: ^5.5.2 - version: 5.8.3 + version: 5.8.1 '@types/react': specifier: ^18.3.1 version: 18.3.3 @@ -124,37 +136,37 @@ importers: version: 18.3.0 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.3.1(vite@5.3.5(@types/node@20.14.13)(terser@5.33.0)) + version: 4.3.1(vite@5.2.13(@types/node@22.7.4)(terser@5.34.1)) npm-run-all: specifier: ^4.1.5 version: 4.1.5 typescript: specifier: ^5.4.5 - version: 5.5.4 + version: 5.4.5 vite: specifier: ^5.0.12 - version: 5.3.5(@types/node@20.14.13)(terser@5.33.0) + version: 5.2.13(@types/node@22.7.4)(terser@5.34.1) examples/tanstack-router-app: dependencies: '@tanstack/react-query': specifier: ^5.32.1 - version: 5.51.16(react@18.3.1) + version: 5.45.0(react@18.3.1) '@tanstack/react-query-devtools': specifier: ^5.32.1 - version: 5.51.16(@tanstack/react-query@5.51.16(react@18.3.1))(react@18.3.1) + version: 5.45.0(@tanstack/react-query@5.45.0(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: ^1.58.7 - version: 1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-router-with-query': specifier: ^1.58.7 - version: 1.58.7(@tanstack/react-query@5.51.16(react@18.3.1))(@tanstack/react-router@1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.62.1(@tanstack/react-query@5.45.0(react@18.3.1))(@tanstack/react-router@1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/router-devtools': specifier: ^1.58.7 - version: 1.58.7(@tanstack/react-router@1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.62.1(@tanstack/react-router@1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/start': specifier: ^1.58.7 - version: 1.58.7(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.33.0)(typescript@5.5.4)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) + version: 1.62.1(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.34.1)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) axios: specifier: ^1.6.7 version: 1.7.2 @@ -167,10 +179,10 @@ importers: devDependencies: '@stoplight/prism-cli': specifier: ^5.5.2 - version: 5.8.3 + version: 5.8.1 '@tanstack/router-plugin': specifier: ^1.58.4 - version: 1.58.4(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) + version: 1.62.0(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -179,13 +191,13 @@ importers: version: 18.3.0 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) + version: 4.3.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) npm-run-all: specifier: ^4.1.5 version: 4.1.5 vite: specifier: ^5.4.4 - version: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + version: 5.4.8(@types/node@22.7.4)(terser@5.34.1) packages: @@ -197,90 +209,160 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@apidevtools/json-schema-ref-parser@11.6.4': - resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} + '@apidevtools/json-schema-ref-parser@11.7.0': + resolution: {integrity: sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==} engines: {node: '>= 16'} '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.0': - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + '@babel/compat-data@7.25.7': + resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/core@7.25.7': + resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.7': + resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + '@babel/helper-module-imports@7.25.7': + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.24.8': - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + '@babel/helper-module-transforms@7.25.7': + resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.25.7': + resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} engines: {node: '>=6.9.0'} '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-simple-access@7.25.7': + resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.7': + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.0': - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.7': + resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.7': + resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + '@babel/parser@7.25.7': + resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-syntax-jsx@7.24.7': - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + '@babel/plugin-syntax-jsx@7.25.7': + resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.4': - resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + '@babel/plugin-syntax-typescript@7.25.7': + resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -297,78 +379,82 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.7': + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.3': - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + '@babel/traverse@7.25.7': + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/types@7.25.7': + resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@biomejs/biome@1.8.3': - resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} + '@biomejs/biome@1.8.1': + resolution: {integrity: sha512-fQXGfvq6DIXem12dGQCM2tNF+vsNHH1qs3C7WeOu75Pd0trduoTmoO7G4ntLJ2qDs5wuw981H+cxQhi1uHnAtA==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.8.3': - resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} + '@biomejs/cli-darwin-arm64@1.8.1': + resolution: {integrity: sha512-XLiB7Uu6GALIOBWzQ2aMD0ru4Ly5/qSeQF7kk3AabzJ/kwsEWSe33iVySBP/SS2qv25cgqNiLksjGcw2bHT3mw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.8.3': - resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} + '@biomejs/cli-darwin-x64@1.8.1': + resolution: {integrity: sha512-uMTSxVLMfqkBVqyc25hSn83jBbp+wtWjzM/pHFlKXt3htJuw7FErVGW0nmQ9Sxa9vJ7GcqoltLMl28VQRIMYzg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.8.3': - resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} + '@biomejs/cli-linux-arm64-musl@1.8.1': + resolution: {integrity: sha512-UQ8Wc01J0wQL+5AYOc7qkJn20B4PZmQL1KrmDZh7ot0DvD6aX4+8mmfd/dG5b6Zjo/44QvCKcvkFGCMRYuhWZA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.8.3': - resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} + '@biomejs/cli-linux-arm64@1.8.1': + resolution: {integrity: sha512-3SzZRuC/9Oi2P2IBNPsEj0KXxSXUEYRR2kfRF/Ve8QAfGgrt4qnwuWd6QQKKN5R+oYH691qjm+cXBKEcrP1v/Q==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.8.3': - resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} + '@biomejs/cli-linux-x64-musl@1.8.1': + resolution: {integrity: sha512-fYbP/kNu/rtZ4kKzWVocIdqZOtBSUEg9qUhZaao3dy3CRzafR6u6KDtBeSCnt47O+iLnks1eOR1TUxzr5+QuqA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.8.3': - resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} + '@biomejs/cli-linux-x64@1.8.1': + resolution: {integrity: sha512-AeBycVdNrTzsyYKEOtR2R0Ph0hCD0sCshcp2aOnfGP0hCZbtFg09D0SdKLbyzKntisY41HxKVrydYiaApp+2uw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.8.3': - resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} + '@biomejs/cli-win32-arm64@1.8.1': + resolution: {integrity: sha512-6tEd1H/iFKpgpE3OIB7oNgW5XkjiVMzMRPL8zYoZ036YfuJ5nMYm9eB9H/y81+8Z76vL48fiYzMPotJwukGPqQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.8.3': - resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} + '@biomejs/cli-win32-x64@1.8.1': + resolution: {integrity: sha512-g2H31jJzYmS4jkvl6TiyEjEX+Nv79a5km/xn+5DARTp5MBFzC9gwceusSSB2AkJKqZzY131AiACAWjKrVt5Ijw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -818,8 +904,16 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@hey-api/openapi-ts@0.52.0': - resolution: {integrity: sha512-DA3Zf5ONxMK1PUkK88lAuYbXMgn5BvU5sjJdTAO2YOn6Eu/9ovilBztMzvu8pyY44PmL3n4ex4+f+XIwvgfhvw==} + '@hey-api/client-axios@0.2.7': + resolution: {integrity: sha512-3691It5Bt87/kS1K5+vPt6RdSk/gCnkiaEgjrasgRWKHktJ727f+7QWs+KfmCTSGeXf5ODTu7zNOBwzVkLzGkA==} + peerDependencies: + axios: '>= 1.0.0 < 2' + + '@hey-api/client-fetch@0.4.0': + resolution: {integrity: sha512-T8T3yCl2+AiVVDP6tvfnU/rXOkEHddMTOYCZXUVbydj7URVErh5BelIa8UWBkFYZBP2/mi2nViScNhe9eBolPw==} + + '@hey-api/openapi-ts@0.53.8': + resolution: {integrity: sha512-UbiaIq+JNgG00N/iWYk+LSivOBgWsfGxEHDleWEgQcQr3q7oZJTKL8oH87+KkFDDbUngm1g8lnKI/zLdu1aElQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -855,6 +949,9 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} @@ -871,71 +968,71 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@netlify/functions@2.8.1': - resolution: {integrity: sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==} + '@netlify/functions@2.8.2': + resolution: {integrity: sha512-DeoAQh8LuNPvBE4qsKlezjKj0PyXDryOFJfJKo3Z1qZLKzQ21sT314KQKPVjfvw6knqijj+IO+0kHXy/TJiqNA==} engines: {node: '>=14.0.0'} '@netlify/node-cookies@0.1.0': resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/serverless-functions-api@1.19.1': - resolution: {integrity: sha512-2KYkyluThg1AKfd0JWI7FzpS4A/fzVVGYIf6AM4ydWyNj8eI/86GQVLeRgDoH7CNOxt243R5tutWlmHpVq0/Ew==} + '@netlify/serverless-functions-api@1.26.1': + resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==} engines: {node: '>=18.0.0'} - '@next/env@14.2.5': - resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==} + '@next/env@14.2.4': + resolution: {integrity: sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==} - '@next/swc-darwin-arm64@14.2.5': - resolution: {integrity: sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==} + '@next/swc-darwin-arm64@14.2.4': + resolution: {integrity: sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.5': - resolution: {integrity: sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==} + '@next/swc-darwin-x64@14.2.4': + resolution: {integrity: sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.5': - resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==} + '@next/swc-linux-arm64-gnu@14.2.4': + resolution: {integrity: sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.5': - resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==} + '@next/swc-linux-arm64-musl@14.2.4': + resolution: {integrity: sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.5': - resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==} + '@next/swc-linux-x64-gnu@14.2.4': + resolution: {integrity: sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.5': - resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==} + '@next/swc-linux-x64-musl@14.2.4': + resolution: {integrity: sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.5': - resolution: {integrity: sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==} + '@next/swc-win32-arm64-msvc@14.2.4': + resolution: {integrity: sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.5': - resolution: {integrity: sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==} + '@next/swc-win32-ia32-msvc@14.2.4': + resolution: {integrity: sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.2.5': - resolution: {integrity: sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==} + '@next/swc-win32-x64-msvc@14.2.4': + resolution: {integrity: sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1120,163 +1217,163 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.19.1': - resolution: {integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==} + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.22.4': - resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} + '@rollup/rollup-android-arm-eabi@4.24.0': + resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.19.1': - resolution: {integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==} + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.22.4': - resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} + '@rollup/rollup-android-arm64@4.24.0': + resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.19.1': - resolution: {integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==} + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.22.4': - resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} + '@rollup/rollup-darwin-arm64@4.24.0': + resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.19.1': - resolution: {integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==} + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.22.4': - resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} + '@rollup/rollup-darwin-x64@4.24.0': + resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': - resolution: {integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': - resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.19.1': - resolution: {integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==} + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.22.4': - resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} + '@rollup/rollup-linux-arm-musleabihf@4.24.0': + resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.19.1': - resolution: {integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==} + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.22.4': - resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} + '@rollup/rollup-linux-arm64-gnu@4.24.0': + resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.19.1': - resolution: {integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==} + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.22.4': - resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} + '@rollup/rollup-linux-arm64-musl@4.24.0': + resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': - resolution: {integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.19.1': - resolution: {integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==} + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} + '@rollup/rollup-linux-riscv64-gnu@4.24.0': + resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.19.1': - resolution: {integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==} + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.22.4': - resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} + '@rollup/rollup-linux-s390x-gnu@4.24.0': + resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.19.1': - resolution: {integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==} + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.22.4': - resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} + '@rollup/rollup-linux-x64-gnu@4.24.0': + resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.19.1': - resolution: {integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==} + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.22.4': - resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} + '@rollup/rollup-linux-x64-musl@4.24.0': + resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.19.1': - resolution: {integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==} + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.22.4': - resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} + '@rollup/rollup-win32-arm64-msvc@4.24.0': + resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.19.1': - resolution: {integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==} + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.22.4': - resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} + '@rollup/rollup-win32-ia32-msvc@4.24.0': + resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.19.1': - resolution: {integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==} + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.22.4': - resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} + '@rollup/rollup-win32-x64-msvc@4.24.0': + resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} cpu: [x64] os: [win32] @@ -1287,8 +1384,8 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@stoplight/http-spec@7.1.0': - resolution: {integrity: sha512-Z2XqKX2SV8a1rrgSzFqccX2TolfcblT+l4pNvUU+THaLl50tKDoeidwWWZTzYUzqU0+UV97ponvqEbWWN3PaXg==} + '@stoplight/http-spec@7.0.3': + resolution: {integrity: sha512-r9Y8rT4RbqY7NWqSXjiqtBq0Nme2K5cArSX9gDPeuud8F4CwbizP7xkUwLdwDdHgoJkyIQ3vkFJpHzUVCQeOOA==} engines: {node: '>=14.13'} '@stoplight/json-schema-generator@1.0.2': @@ -1304,8 +1401,8 @@ packages: '@stoplight/json-schema-sampler@0.3.0': resolution: {integrity: sha512-G7QImi2xr9+8iPEg0D9YUi1BWhIiiEm19aMb91oWBSdxuhezOAqqRP3XNY6wczHV9jLWW18f+KkghTy9AG0BQA==} - '@stoplight/json@3.21.5': - resolution: {integrity: sha512-hWc0ctoZ+tZwhJm8FjTP4OHxEm1V28rU84FNJToLYUBLgInZEMqQZ4f55eUECm08QCyUl5x7E48iyiWj+P+ejA==} + '@stoplight/json@3.21.0': + resolution: {integrity: sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==} engines: {node: '>=8.3.0'} '@stoplight/ordered-object-literal@1.0.5': @@ -1316,8 +1413,8 @@ packages: resolution: {integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==} engines: {node: '>=8'} - '@stoplight/prism-cli@5.8.3': - resolution: {integrity: sha512-Tp3bRKp0Q8P0szB9ozsyYDC+BJ+wtcLkInnD3WZQcAeM8irqAfkqwCTVigpcCJeKYRB2p9PtxpG1XtGB5TDP1g==} + '@stoplight/prism-cli@5.8.1': + resolution: {integrity: sha512-GePFIKpHZRnp2UpesxdJuaYG98Pt4zQhF9Q7TBcDvP3o3Dg+8VBdOweJXYs6qJVxJublR7jzVF+zR+J9rr4VZw==} engines: {node: '>=18.20.1'} hasBin: true @@ -1325,12 +1422,12 @@ packages: resolution: {integrity: sha512-fmH7n6e0thzOGcD5uZBu/Xx1iFNfpc9ACTxPie+lFD54SJ214M2FIFXD7kV+NCFlC+w5OFw+lJRaYM859uMnAg==} engines: {node: '>=18.20.1'} - '@stoplight/prism-http-server@5.8.3': - resolution: {integrity: sha512-7SOBjccS+czl9F2eKxY1Y3bjFefq+1aX2PdSHC5+HcZ2oupffRKMA0gIL2/lsvgcPGBO0HJvl6WXPLnRJ3q2yw==} + '@stoplight/prism-http-server@5.8.1': + resolution: {integrity: sha512-7IXx0GpeOrbMosYEsC/oh2r1KWW3ZDFo61XyXJKIhiCqUtcPgLbafONfp5h6a7Dk3RPhJEXGQXXdBSxZ3vSuUQ==} engines: {node: '>=18.20.1'} - '@stoplight/prism-http@5.8.3': - resolution: {integrity: sha512-v58g0d4zhLbGiKkXSIE4ineYkIK8IZ/FT3im2Sg78hhp69TkF9bZc8+XdVYPLZxt1jkLDcm2SepM/InDtaK0xA==} + '@stoplight/prism-http@5.8.1': + resolution: {integrity: sha512-2tTybBTyQtMrLkn+yBOkwivI0MobW77Pfgwc9M0rhAFpM46Zx1gxOG7LIaVIucyAwCwk6X+8wU/ZW/5tm4i+gQ==} engines: {node: '>=18.20.1'} '@stoplight/types@13.20.0': @@ -1358,35 +1455,35 @@ packages: '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} - '@tanstack/history@1.57.6': - resolution: {integrity: sha512-ppAJbnUaHdHmccVmplcd1ivX4GMPHxhStSquuuz0TSAEPEpz0iOVBur4iKfvIuMKm24c40nhvaEwZbKGVfbrGg==} + '@tanstack/history@1.61.1': + resolution: {integrity: sha512-2CqERleeqO3hkhJmyJm37tiL3LYgeOpmo8szqdjgtnnG0z7ZpvzkZz6HkfOr9Ca/ha7mhAiouSvLYuLkM37AMg==} engines: {node: '>=12'} - '@tanstack/query-core@5.51.16': - resolution: {integrity: sha512-zfV+WAtBGm1dUIbL0w/x8qTqVLKU1/Bo1p19J9LF02MmIc4FxzMImMXhFzYJQl5Hx8Wit6RiQ4tB/DvN8y9zaQ==} + '@tanstack/query-core@5.45.0': + resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} - '@tanstack/query-devtools@5.51.16': - resolution: {integrity: sha512-ajwuq4WnkNCMj/Hy3KR8d3RtZ6PSKc1dD2vs2T408MdjgKzQ3klVoL6zDgVO7X+5jlb5zfgcO3thh4ojPhfIaw==} + '@tanstack/query-devtools@5.37.1': + resolution: {integrity: sha512-XcG4IIHIv0YQKrexTqo2zogQWR1Sz672tX2KsfE9kzB+9zhx44vRKH5si4WDILE1PIWQpStFs/NnrDQrBAUQpg==} - '@tanstack/react-cross-context@1.57.6': - resolution: {integrity: sha512-TarQ/WX+uVQ3t8aK4GYUQ4uZ+zAG67hn9vGNp2vtsy0UdOhgHdXf30bi8lR6GsHrZMuS/Z/TlXqqngqBnTwF5A==} + '@tanstack/react-cross-context@1.60.0': + resolution: {integrity: sha512-UZXc0ggrZLvNN3j1qQLtnhPp0gAcxeKS+d+hjGiJuIHSKt5fCbb/88C5uWrq4R4jsw5PnzUaKn8VqyUi/cXsXA==} peerDependencies: react: '>=18' react-dom: '>=18' - '@tanstack/react-query-devtools@5.51.16': - resolution: {integrity: sha512-nX/LeBMba9S9/kKfOrPDUiBXkpc5To8JbssABOadukPB093SF8+NdSO5/2RY72aE0pBwaru2THyM4WX5rEnuAw==} + '@tanstack/react-query-devtools@5.45.0': + resolution: {integrity: sha512-bYHKCBQxRYQgQPPt+OdxJxoGag8SyPYxFxUsTHXERPnhD99I8iUV39XGYePyxKv5b3oME4fM1e8AgQ1aPxTQ6w==} peerDependencies: - '@tanstack/react-query': ^5.51.16 + '@tanstack/react-query': ^5.45.0 react: ^18 || ^19 - '@tanstack/react-query@5.51.16': - resolution: {integrity: sha512-NZnpJ30zkwaA2ZPhxJLs/qoMbd0yNAj6yyb3JTADJx9HjSdtvnNzOY1bDa3bU1B9CZTBBb7W9E1PpWlNXdgESg==} + '@tanstack/react-query@5.45.0': + resolution: {integrity: sha512-y272cKRJp1BvehrWG4ashOBuqBj1Qm2O6fgYJ9LYSHrLdsCXl74GbSVjUQTReUdHuRIl9cEOoyPa6HYag400lw==} peerDependencies: react: ^18.0.0 - '@tanstack/react-router-with-query@1.58.7': - resolution: {integrity: sha512-NhohmafqKHsIJSycTqskmQqcK5vV6bTSp3pNKT9xhTKkxaol3bWi/Lv1NIo6b1MdqghO6dhp+Sc4vIjX/VzdPQ==} + '@tanstack/react-router-with-query@1.62.1': + resolution: {integrity: sha512-S6+BfVTkKdbKudPUrEHccn78tXCq5hlEFuV0x+LvXNDdLo9H62N/0uiZ1HZdCgyeLyU+YNbR0QXJlLQVrRKXkQ==} engines: {node: '>=12'} peerDependencies: '@tanstack/react-query': '>=5.49.2' @@ -1394,11 +1491,11 @@ packages: react: '>=18' react-dom: '>=18' - '@tanstack/react-router@1.58.7': - resolution: {integrity: sha512-iu4WtrhXz0YcJzPMlyP4jT3zfEKJH+dVVKViK8ayL1hWjP2n6A08kYE1hcT3YmuK2LmNmMsnGS+Tc7WAFsHgZQ==} + '@tanstack/react-router@1.62.1': + resolution: {integrity: sha512-8xMVZForpvRK8EtCKJ/ZBVqC3LXGYETeqRns+aFjdQRqy3rnreYKJ+pUDz1gkMWi3fYfC1jvJdZbJdZAtCEssw==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-generator': 1.58.1 + '@tanstack/router-generator': 1.58.12 react: '>=18' react-dom: '>=18' peerDependenciesMeta: @@ -1411,20 +1508,20 @@ packages: react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@tanstack/router-devtools@1.58.7': - resolution: {integrity: sha512-bZL3VDmS63gOW+RKSXRQ7uagATP1k8sM+ucHrcLy98hcVxzYRVwIwVgqTZY2KtUSXgFwb4LXClAdZdiJM9i+gw==} + '@tanstack/router-devtools@1.62.1': + resolution: {integrity: sha512-MTxGell0S4GcCmLLJkCgiNk91Omr8gvMJ62bq892RVBI/O5oBzuZKW6SDLdiToJWKaB2PaL8HyNO0b2AYkPT8g==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.58.7 + '@tanstack/react-router': ^1.62.1 react: '>=18' react-dom: '>=18' - '@tanstack/router-generator@1.58.1': - resolution: {integrity: sha512-oj/97KWi8EHFx/w07fAuXXyhWi5xgSMCfzbB9q42c1ZdLbv8wzBo4a6PO1fCi01tpKKHUopA8dSlGIOeJDhBAA==} + '@tanstack/router-generator@1.58.12': + resolution: {integrity: sha512-Ovzb+zCbiRgJAg6awTXWQjn1uRkVyiBc4jiIk7ll2hg0bHjIOsgiegwx/F2YKycY98vWj9TLv/U4Hoo4rmK0IA==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.58.4': - resolution: {integrity: sha512-Ypoy+HrHwpv9A41bj7dpHhtLYavu7CU8WyuJnuFBY3SI5ZKWF7s/hMYUtVmEVwwT7fJCVQ8gcTkbfAag4uy/pA==} + '@tanstack/router-plugin@1.62.0': + resolution: {integrity: sha512-I+S1QWjKKvWqEns4pwH4KfM0jkiXv00Q5DnG0lw7DKETfBy77UpMLUDruayKfeqErbMv/ksxt6hSlpm3Hlx2dw==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -1438,12 +1535,12 @@ packages: webpack: optional: true - '@tanstack/start-vite-plugin@1.57.14': - resolution: {integrity: sha512-TmuAuD5IkUUz7vX9DcPCYNIgs2WXiMyLacN0uyzYa7mlOfp/vKwSIfMGvkZsyr6jhqzWHeB00EPql60HfjIqaA==} + '@tanstack/start-vite-plugin@1.60.0': + resolution: {integrity: sha512-ap9NFBRyWJo7Xdklad0Bg3LOZ+n9nwWTDOU5ix/ZzZfifNWp5OoHRSVveHqPm2UAHUVp2BCzUK6xbAxtaSjjnw==} engines: {node: '>=12'} - '@tanstack/start@1.58.7': - resolution: {integrity: sha512-j1L9Ddm5Rdu0tmIS0IkhHoz1iyTLjOUkdOidzKBu+03nyHjAVQFpdSybZVh6hWr5Oy6bgWHQsrX6qTEo0Gs/iQ==} + '@tanstack/start@1.62.1': + resolution: {integrity: sha512-y8K/musbAxhm1T65p9M5yBukyrVdHulASCmg4FfYJBjJCSaTIrrE9EnN2J3u5Msy9x/1Ujce5hj9DfmTNTwcZg==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' @@ -1490,9 +1587,15 @@ packages: '@types/braces@3.0.4': resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} + '@types/cross-spawn@6.0.6': + resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/http-proxy@1.17.15': resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} @@ -1508,8 +1611,11 @@ packages: '@types/micromatch@4.0.9': resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} - '@types/node@20.14.13': - resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/node@22.7.4': + resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} @@ -1623,9 +1729,14 @@ packages: peerDependencies: acorn: '>=8.9.0' - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} + hasBin: true acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} @@ -1644,8 +1755,8 @@ packages: ajv: optional: true - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -1752,8 +1863,8 @@ packages: axios@1.7.2: resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} - b4a@1.6.6: - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + b4a@1.6.7: + resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} babel-dead-code-elimination@1.0.6: resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} @@ -1761,8 +1872,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.4.2: - resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + bare-events@2.5.0: + resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -1791,8 +1902,13 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1818,6 +1934,14 @@ packages: magicast: optional: true + c12@2.0.1: + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -1837,18 +1961,17 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - camelcase@8.0.0: - resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} - engines: {node: '>=16'} + caniuse-lite@1.0.30001632: + resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} - caniuse-lite@1.0.30001645: - resolution: {integrity: sha512-GFtY2+qt91kzyMk6j48dJcwJVq5uTkk71XxE3RtScx7XWRLsO7bU44LOFkOZYR8w9YMS0UhPSYpN/6rAMImmLw==} + caniuse-lite@1.0.30001667: + resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - chai@4.5.0: - resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} chalk@2.4.2: @@ -1874,6 +1997,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -1907,8 +2034,8 @@ packages: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} - code-block-writer@13.0.2: - resolution: {integrity: sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==} + code-block-writer@13.0.1: + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1993,8 +2120,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - croner@8.1.1: - resolution: {integrity: sha512-1VdUuRnQP4drdFkS8NKvDR1NBgevm8TOuflcaZEKsxw42CxonjW/2vkj1AKlinJb4ZLwBcuWF9GiPr7FQc6AQA==} + croner@8.1.2: + resolution: {integrity: sha512-ypfPFcAXHuAZRCzo3vJL6ltENzniTjwe/qsLleH1V2/7SRDjgvRQyrLmumFTLmjFax4IuSxfGXEn79fozXcJog==} engines: {node: '>=18.0'} cross-fetch@3.1.8: @@ -2061,8 +2188,8 @@ packages: supports-color: optional: true - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2155,8 +2282,11 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.4: - resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} + electron-to-chromium@1.4.799: + resolution: {integrity: sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==} + + electron-to-chromium@1.5.32: + resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2221,6 +2351,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -2279,11 +2413,8 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@3.0.1: - resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} - - fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + fast-xml-parser@4.4.0: + resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==} hasBin: true fastestsmallesttextencoderdecoder@1.0.22: @@ -2332,8 +2463,8 @@ packages: foreach@2.0.6: resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} - foreground-child@3.2.1: - resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} engines: {node: '>=14'} form-data@4.0.0: @@ -2343,8 +2474,8 @@ packages: format-util@1.0.5: resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} - fp-ts@2.16.9: - resolution: {integrity: sha512-+I2+FnVB+tVaxcYyQkHUq7ZdKScaBlX53A41mxQtpIccsfyv8PzdzP7fzp2AY832T4aoK6UZ5WRX/ebGd8uZuQ==} + fp-ts@2.16.6: + resolution: {integrity: sha512-v7w209VPj4L6pPn/ftFRJu31Oa8QagwcVw7BZmLCUWU4AQoc954rX9ogSIahDf67Pg+GjPbkW/Kn9XWnlWJG0g==} fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} @@ -2422,8 +2553,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true glob@7.2.3: @@ -2468,8 +2600,8 @@ packages: h3@1.11.1: resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} - h3@1.12.0: - resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} + h3@1.13.0: + resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} @@ -2610,9 +2742,8 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} - engines: {node: '>= 0.4'} + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} @@ -2738,21 +2869,26 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} engines: {node: '>=10'} istanbul-reports@3.1.7: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.3.1: + resolution: {integrity: sha512-xPZ6pPzUifI8XDBBxIL4OB1w1ZKmBpmNEeKwNt2d0Spn8XisAIZhWrlOHq5seBrFGTxVx9PbrWvEMyrk4IO5bA==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2826,48 +2962,48 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - lefthook-darwin-arm64@1.7.11: - resolution: {integrity: sha512-JQtGTM2uZF/3MGKmqb3jg8KG0B/V+2IU+H2jLvRtJULjHQxgiAQGsCJZKCYr8Uvq2/sbjaa+YdiKHROlqt7O6w==} + lefthook-darwin-arm64@1.6.15: + resolution: {integrity: sha512-PQKFipNueV2i/W3XI+fDDwzV3YdnJ1AqwIP2BwDpzlSJtQQarsAG7lRvFdjkPGplVLqWoohTQa1/ooBmg+g3dw==} cpu: [arm64] os: [darwin] - lefthook-darwin-x64@1.7.11: - resolution: {integrity: sha512-sfHzHklBh/xEiRGbCkIWZfkyf6gxg4nSryKuA7M6VgwooauXYN+0aXxNbK4CjXBPSMhSCSHh6uHXsqXWaVrTCQ==} + lefthook-darwin-x64@1.6.15: + resolution: {integrity: sha512-dNAZp281EJ1vyovszftVO+uk/xJZbomrtfuQeZ3tAk8Xybu6b4+XSoBklH5eRfl46/TWUNVkSF5owYG6+ZtvIA==} cpu: [x64] os: [darwin] - lefthook-freebsd-arm64@1.7.11: - resolution: {integrity: sha512-UsEHI2xB0c+k3DfTNhl9STBuxZMkgMCUdOS2r6OkVoUY5Uf1PVUH+OTq7dvSAnsueSl6r+3xyCBz2tn48uVwbA==} + lefthook-freebsd-arm64@1.6.15: + resolution: {integrity: sha512-GWGt5jDLOcICjsoPZV4tFjjQJ3v9uNqHXg80QXx+Pb7HSqLFp3OnUEfjV2IO27lOln7+AMTF6WWigJl/NKllKw==} cpu: [arm64] os: [freebsd] - lefthook-freebsd-x64@1.7.11: - resolution: {integrity: sha512-WJznUCrP8kb0nlxWvlvfWJm/SAW0TOJOv2VFeFLInYM1ylFVUVeV2fEvEHOjGIKyt96+uAnbiHOkqIYbhfc03g==} + lefthook-freebsd-x64@1.6.15: + resolution: {integrity: sha512-803r+OYRpY5CBa8LU83EINO+Mi5k7rfflApMJuEIzcH1pFlEjbLttGy2hJX19m1kTKzkz/HuzFl6znbkmZGttw==} cpu: [x64] os: [freebsd] - lefthook-linux-arm64@1.7.11: - resolution: {integrity: sha512-4S+Gdr5jWmwrfHGokcuRQm/A92KLRwYotBgOMwf0etQa4n9B6FGXEi59IOuFNHeZXY4DpxA9A8AvplVdN5KSOA==} + lefthook-linux-arm64@1.6.15: + resolution: {integrity: sha512-4rATbRhhBj4VNnvAEGRXvQL+POO4xwdUdCc2aSBcKdRFnabYabWm9ebSp55id7nDt3mVf7FBKDCl7A3kzUxehQ==} cpu: [arm64] os: [linux] - lefthook-linux-x64@1.7.11: - resolution: {integrity: sha512-3CwNNpRa1fHlymgtxjHQ0BqYMvvj3WXvX4eq1BT+w5NF7h5ZjVaK+nilpgEWUUTQyF66FLai+CGx6wfKvcPOag==} + lefthook-linux-x64@1.6.15: + resolution: {integrity: sha512-VhDL/po/EujilZKq14frjzOgApHrI1bNfghvuWkNz+5LGphe1/iSXV1DKDDOrGprl/vp2p+QUaJW8HMKBiKgTw==} cpu: [x64] os: [linux] - lefthook-windows-arm64@1.7.11: - resolution: {integrity: sha512-DfLVQ4F1iQcudTDnX/Ru1WNSN2OBPrHwwcWVVdQ/KDYWSru6dd4f18M7g98TZ2X9nYHA5IWrX8w2DaBR6P0/bw==} + lefthook-windows-arm64@1.6.15: + resolution: {integrity: sha512-0HcX/tPEktPjkFVrAIUXzlWIN5VhkBqbYl7xofWoYMjdYetFU2dvC2UDqp/ENVA/PxelszgTVLUVaI0RVJHDoA==} cpu: [arm64] os: [win32] - lefthook-windows-x64@1.7.11: - resolution: {integrity: sha512-xAZP4tQr/6YKbKKvp0qMf6UnToXxo9RulzpKq+v5SiGWE5rz3G12XpyaNVslfrb1N30Yp8wUdZdlXBqhUvltYw==} + lefthook-windows-x64@1.6.15: + resolution: {integrity: sha512-oBTfUbJRNOSuR1XsS5frGPCY8p74KXNVOuMX+Oun6kyBSutqe3kmafZ3nytbugJdzGx4bGfYxLISM8EoEkgThA==} cpu: [x64] os: [win32] - lefthook@1.7.11: - resolution: {integrity: sha512-IJ9KSk3+dkjTmKEsH2XJC4elocdgXzIznAHfbgr+5N/dJoB3fj8xNWfNx5fDhjT6so4eCJgdOrF9NJ7cS4wRvw==} + lefthook@1.6.15: + resolution: {integrity: sha512-Jjsz5ln/khEBEWH0ZWtK4A14F5aIGk3iwfyHpqqnxpF79OQR8MYCUN2VzpTk5XgzbokMi/M7CJ17/LPAYBRUEw==} hasBin: true lilconfig@2.1.0: @@ -2885,8 +3021,8 @@ packages: resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} engines: {node: '>=4'} - listhen@1.7.2: - resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + listhen@1.9.0: + resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} hasBin: true load-json-file@4.0.0: @@ -2920,6 +3056,10 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2930,6 +3070,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} @@ -3010,8 +3153,8 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.6: @@ -3081,8 +3224,8 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next@14.2.5: - resolution: {integrity: sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==} + next@14.2.4: + resolution: {integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -3138,6 +3281,9 @@ packages: resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -3166,8 +3312,8 @@ packages: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. - nypm@0.3.9: - resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==} + nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true @@ -3179,9 +3325,8 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -3197,6 +3342,9 @@ packages: ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -3238,9 +3386,6 @@ packages: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -3343,8 +3488,8 @@ packages: resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} engines: {node: '>=4'} - pkg-types@1.1.3: - resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} @@ -3377,14 +3522,14 @@ packages: ts-node: optional: true - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 - postcss-selector-parser@6.1.1: - resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -3394,16 +3539,16 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.40: - resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} - postman-collection@4.4.1: - resolution: {integrity: sha512-1oS1x+Y7gLGV3xF+EwdZtZOmZILsDTogTHdv2nssTjO+bAo7yr++nOwINT1p3A3mrDeCuEscMJmbJzil57FedQ==} + postman-collection@4.4.0: + resolution: {integrity: sha512-2BGDFcUwlK08CqZFUlIC8kwRJueVzPjZnnokWPtJCd9f2J06HBQpGL7t2P1Ud1NEsK9NHq9wdipUhWLOPj5s/Q==} engines: {node: '>=10'} postman-url-encoder@3.0.5: @@ -3506,6 +3651,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + recast@0.23.9: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} @@ -3553,9 +3702,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.9: - resolution: {integrity: sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==} - engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} hasBin: true rollup-plugin-visualizer@5.12.0: @@ -3568,13 +3717,13 @@ packages: rollup: optional: true - rollup@4.19.1: - resolution: {integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==} + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.22.4: - resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} + rollup@4.24.0: + resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3620,8 +3769,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -3846,8 +3995,8 @@ packages: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} - tailwindcss@3.4.7: - resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==} + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} hasBin: true @@ -3858,8 +4007,8 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} - terser@5.33.0: - resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} + terser@5.34.1: + resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==} engines: {node: '>=10'} hasBin: true @@ -3947,8 +4096,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} type-fest@2.19.0: @@ -3979,16 +4128,24 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} hasBin: true + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - uglify-js@3.19.1: - resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==} + uglify-js@3.18.0: + resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} engines: {node: '>=0.8.0'} hasBin: true @@ -4004,6 +4161,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} @@ -4015,8 +4175,8 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - unimport@3.12.0: - resolution: {integrity: sha512-5y8dSvNvyevsnw4TBQkIQR1Rjdbb+XjVSwQwxltpnVZrStBvvPkMPcZrh1kg5kY77kpx6+D4Ztd3W6FOBH/y2Q==} + unimport@3.13.1: + resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} @@ -4082,8 +4242,14 @@ packages: unwasm@0.3.9: resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4091,6 +4257,9 @@ packages: uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-template-lite@22.9.0: resolution: {integrity: sha512-cmGZaykSWEQ5UXKaGKnUS8zFvfp8j1Jvn7dlq3P7tGd5XeybXcfo0xnVBRWiNEp80nO1GYgCLwoaRJ8WMmmk3Q==} @@ -4154,8 +4323,8 @@ packages: vite: optional: true - vite@5.3.5: - resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} + vite@5.2.13: + resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4182,8 +4351,8 @@ packages: terser: optional: true - vite@5.4.7: - resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} + vite@5.4.8: + resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4275,8 +4444,8 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} engines: {node: '>=8'} hasBin: true @@ -4315,8 +4484,8 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.5.0: - resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} hasBin: true @@ -4340,8 +4509,8 @@ packages: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} zip-stream@6.0.1: @@ -4360,7 +4529,7 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@apidevtools/json-schema-ref-parser@11.6.4': + '@apidevtools/json-schema-ref-parser@11.7.0': dependencies: '@jsdevtools/ono': 7.1.3 '@types/json-schema': 7.0.15 @@ -4371,86 +4540,176 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.25.2': {} + '@babel/code-frame@7.25.7': + dependencies: + '@babel/highlight': 7.25.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': + '@babel/core@7.24.7': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.25.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helpers': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.25.0': + '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.24.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/generator@7.25.6': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-compilation-targets@7.25.2': + '@babel/helper-compilation-targets@7.24.7': dependencies: - '@babel/compat-data': 7.25.2 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.25.7': + dependencies: + '@babel/compat-data': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + browserslist: 4.24.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.7': + dependencies: + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-simple-access': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-plugin-utils@7.25.7': {} '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.25.7': + dependencies: + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-string-parser@7.25.7': {} '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-identifier@7.25.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helper-validator-option@7.25.7': {} + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/helpers@7.25.0': + '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 '@babel/highlight@7.24.7': dependencies: @@ -4459,111 +4718,137 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.25.3': + '@babel/highlight@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/helper-validator-identifier': 7.25.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/parser@7.25.7': + dependencies: + '@babel/types': 7.25.7 - '@babel/parser@7.25.6': + '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.24.7)': dependencies: - '@babel/types': 7.25.6 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/template@7.25.0': + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/template@7.24.7': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/template@7.25.7': + dependencies: + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 - '@babel/traverse@7.25.3': + '@babel/traverse@7.24.7': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - debug: 4.3.6 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/traverse@7.25.6': + '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.6 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.2': + '@babel/types@7.24.7': dependencies: - '@babel/helper-string-parser': 7.24.8 + '@babel/helper-string-parser': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@babel/types@7.25.6': + '@babel/types@7.25.7': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 '@bcoe/v8-coverage@0.2.3': {} - '@biomejs/biome@1.8.3': + '@biomejs/biome@1.8.1': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.8.3 - '@biomejs/cli-darwin-x64': 1.8.3 - '@biomejs/cli-linux-arm64': 1.8.3 - '@biomejs/cli-linux-arm64-musl': 1.8.3 - '@biomejs/cli-linux-x64': 1.8.3 - '@biomejs/cli-linux-x64-musl': 1.8.3 - '@biomejs/cli-win32-arm64': 1.8.3 - '@biomejs/cli-win32-x64': 1.8.3 + '@biomejs/cli-darwin-arm64': 1.8.1 + '@biomejs/cli-darwin-x64': 1.8.1 + '@biomejs/cli-linux-arm64': 1.8.1 + '@biomejs/cli-linux-arm64-musl': 1.8.1 + '@biomejs/cli-linux-x64': 1.8.1 + '@biomejs/cli-linux-x64-musl': 1.8.1 + '@biomejs/cli-win32-arm64': 1.8.1 + '@biomejs/cli-win32-x64': 1.8.1 - '@biomejs/cli-darwin-arm64@1.8.3': + '@biomejs/cli-darwin-arm64@1.8.1': optional: true - '@biomejs/cli-darwin-x64@1.8.3': + '@biomejs/cli-darwin-x64@1.8.1': optional: true - '@biomejs/cli-linux-arm64-musl@1.8.3': + '@biomejs/cli-linux-arm64-musl@1.8.1': optional: true - '@biomejs/cli-linux-arm64@1.8.3': + '@biomejs/cli-linux-arm64@1.8.1': optional: true - '@biomejs/cli-linux-x64-musl@1.8.3': + '@biomejs/cli-linux-x64-musl@1.8.1': optional: true - '@biomejs/cli-linux-x64@1.8.3': + '@biomejs/cli-linux-x64@1.8.1': optional: true - '@biomejs/cli-win32-arm64@1.8.3': + '@biomejs/cli-win32-arm64@1.8.1': optional: true - '@biomejs/cli-win32-x64@1.8.3': + '@biomejs/cli-win32-x64@1.8.1': optional: true '@cloudflare/kv-asset-handler@0.3.4': @@ -4797,14 +5082,19 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@hey-api/openapi-ts@0.52.0(magicast@0.3.4)(typescript@5.5.4)': + '@hey-api/client-axios@0.2.7(axios@1.7.2)': dependencies: - '@apidevtools/json-schema-ref-parser': 11.6.4 - c12: 1.11.1(magicast@0.3.4) - camelcase: 8.0.0 + axios: 1.7.2 + + '@hey-api/client-fetch@0.4.0': {} + + '@hey-api/openapi-ts@0.53.8(typescript@5.6.2)': + dependencies: + '@apidevtools/json-schema-ref-parser': 11.7.0 + c12: 2.0.1 commander: 12.1.0 handlebars: 4.7.8 - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - magicast @@ -4828,7 +5118,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -4840,17 +5130,19 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jsdevtools/ono@7.1.3': {} @@ -4863,50 +5155,50 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.3 + semver: 7.6.2 tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color - '@netlify/functions@2.8.1': + '@netlify/functions@2.8.2': dependencies: - '@netlify/serverless-functions-api': 1.19.1 + '@netlify/serverless-functions-api': 1.26.1 '@netlify/node-cookies@0.1.0': {} - '@netlify/serverless-functions-api@1.19.1': + '@netlify/serverless-functions-api@1.26.1': dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 - '@next/env@14.2.5': {} + '@next/env@14.2.4': {} - '@next/swc-darwin-arm64@14.2.5': + '@next/swc-darwin-arm64@14.2.4': optional: true - '@next/swc-darwin-x64@14.2.5': + '@next/swc-darwin-x64@14.2.4': optional: true - '@next/swc-linux-arm64-gnu@14.2.5': + '@next/swc-linux-arm64-gnu@14.2.4': optional: true - '@next/swc-linux-arm64-musl@14.2.5': + '@next/swc-linux-arm64-musl@14.2.4': optional: true - '@next/swc-linux-x64-gnu@14.2.5': + '@next/swc-linux-x64-gnu@14.2.4': optional: true - '@next/swc-linux-x64-musl@14.2.5': + '@next/swc-linux-x64-musl@14.2.4': optional: true - '@next/swc-win32-arm64-msvc@14.2.5': + '@next/swc-win32-arm64-msvc@14.2.4': optional: true - '@next/swc-win32-ia32-msvc@14.2.5': + '@next/swc-win32-ia32-msvc@14.2.4': optional: true - '@next/swc-win32-x64-msvc@14.2.5': + '@next/swc-win32-x64-msvc@14.2.4': optional: true '@nodelib/fs.scandir@2.1.5': @@ -4990,176 +5282,176 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@rollup/plugin-alias@5.1.1(rollup@4.22.4)': + '@rollup/plugin-alias@5.1.1(rollup@4.18.0)': optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-commonjs@25.0.8(rollup@4.22.4)': + '@rollup/plugin-commonjs@25.0.8(rollup@4.18.0)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.11 + magic-string: 0.30.10 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-inject@5.0.5(rollup@4.22.4)': + '@rollup/plugin-inject@5.0.5(rollup@4.18.0)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) estree-walker: 2.0.2 - magic-string: 0.30.11 + magic-string: 0.30.10 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-json@6.1.0(rollup@4.22.4)': + '@rollup/plugin-json@6.1.0(rollup@4.18.0)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-node-resolve@15.3.0(rollup@4.22.4)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.18.0)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-replace@5.0.7(rollup@4.22.4)': + '@rollup/plugin-replace@5.0.7(rollup@4.18.0)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) - magic-string: 0.30.11 + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) + magic-string: 0.30.10 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/plugin-terser@0.4.4(rollup@4.22.4)': + '@rollup/plugin-terser@0.4.4(rollup@4.18.0)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 - terser: 5.33.0 + terser: 5.34.1 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.2(rollup@4.22.4)': + '@rollup/pluginutils@5.1.2(rollup@4.18.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - '@rollup/rollup-android-arm-eabi@4.19.1': + '@rollup/rollup-android-arm-eabi@4.18.0': optional: true - '@rollup/rollup-android-arm-eabi@4.22.4': + '@rollup/rollup-android-arm-eabi@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.19.1': + '@rollup/rollup-android-arm64@4.18.0': optional: true - '@rollup/rollup-android-arm64@4.22.4': + '@rollup/rollup-android-arm64@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.19.1': + '@rollup/rollup-darwin-arm64@4.18.0': optional: true - '@rollup/rollup-darwin-arm64@4.22.4': + '@rollup/rollup-darwin-arm64@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.19.1': + '@rollup/rollup-darwin-x64@4.18.0': optional: true - '@rollup/rollup-darwin-x64@4.22.4': + '@rollup/rollup-darwin-x64@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.19.1': + '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.22.4': + '@rollup/rollup-linux-arm-musleabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.19.1': + '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.22.4': + '@rollup/rollup-linux-arm64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.19.1': + '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.22.4': + '@rollup/rollup-linux-arm64-musl@4.24.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.19.1': + '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.22.4': + '@rollup/rollup-linux-riscv64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.19.1': + '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.22.4': + '@rollup/rollup-linux-s390x-gnu@4.24.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.19.1': + '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.22.4': + '@rollup/rollup-linux-x64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-x64-musl@4.19.1': + '@rollup/rollup-linux-x64-musl@4.18.0': optional: true - '@rollup/rollup-linux-x64-musl@4.22.4': + '@rollup/rollup-linux-x64-musl@4.24.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.19.1': + '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.22.4': + '@rollup/rollup-win32-arm64-msvc@4.24.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.19.1': + '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.22.4': + '@rollup/rollup-win32-ia32-msvc@4.24.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.19.1': + '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.22.4': + '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true '@sinclair/typebox@0.27.8': {} '@sindresorhus/merge-streams@2.3.0': {} - '@stoplight/http-spec@7.1.0': + '@stoplight/http-spec@7.0.3': dependencies: - '@stoplight/json': 3.21.5 + '@stoplight/json': 3.21.0 '@stoplight/json-schema-generator': 1.0.2 '@stoplight/types': 14.1.0 '@types/json-schema': 7.0.11 @@ -5168,7 +5460,7 @@ snapshots: fnv-plus: 1.3.1 lodash: 4.17.21 openapi3-ts: 2.0.2 - postman-collection: 4.4.1 + postman-collection: 4.4.0 tslib: 2.6.3 type-is: 1.6.18 transitivePeerDependencies: @@ -5207,7 +5499,7 @@ snapshots: '@types/json-schema': 7.0.15 json-pointer: 0.6.2 - '@stoplight/json@3.21.5': + '@stoplight/json@3.21.0': dependencies: '@stoplight/ordered-object-literal': 1.0.5 '@stoplight/path': 1.3.2 @@ -5220,17 +5512,17 @@ snapshots: '@stoplight/path@1.3.2': {} - '@stoplight/prism-cli@5.8.3': + '@stoplight/prism-cli@5.8.1': dependencies: - '@stoplight/json': 3.21.5 + '@stoplight/json': 3.21.0 '@stoplight/json-schema-ref-parser': 9.2.7 '@stoplight/prism-core': 5.8.0 - '@stoplight/prism-http': 5.8.3 - '@stoplight/prism-http-server': 5.8.3 + '@stoplight/prism-http': 5.8.1 + '@stoplight/prism-http-server': 5.8.1 '@stoplight/types': 14.1.1 chalk: 4.1.2 chokidar: 3.6.0 - fp-ts: 2.16.9 + fp-ts: 2.16.6 json-schema-faker: 0.5.3 lodash: 4.17.21 node-fetch: 2.7.0 @@ -5247,19 +5539,19 @@ snapshots: '@stoplight/prism-core@5.8.0': dependencies: - fp-ts: 2.16.9 + fp-ts: 2.16.6 lodash: 4.17.21 pino: 6.14.0 tslib: 2.6.3 - '@stoplight/prism-http-server@5.8.3': + '@stoplight/prism-http-server@5.8.1': dependencies: '@stoplight/prism-core': 5.8.0 - '@stoplight/prism-http': 5.8.3 + '@stoplight/prism-http': 5.8.1 '@stoplight/types': 14.1.1 - fast-xml-parser: 4.4.1 - fp-ts: 2.16.9 - io-ts: 2.2.21(fp-ts@2.16.9) + fast-xml-parser: 4.4.0 + fp-ts: 2.16.6 + io-ts: 2.2.21(fp-ts@2.16.6) lodash: 4.17.21 micri: 4.5.1 node-fetch: 2.7.0 @@ -5270,11 +5562,11 @@ snapshots: - encoding - supports-color - '@stoplight/prism-http@5.8.3': + '@stoplight/prism-http@5.8.1': dependencies: '@faker-js/faker': 6.3.1 - '@stoplight/http-spec': 7.1.0 - '@stoplight/json': 3.21.5 + '@stoplight/http-spec': 7.0.3 + '@stoplight/json': 3.21.0 '@stoplight/json-schema-merge-allof': 0.7.8 '@stoplight/json-schema-ref-parser': 9.2.7 '@stoplight/json-schema-sampler': 0.3.0 @@ -5283,12 +5575,12 @@ snapshots: '@stoplight/yaml': 4.3.0 abstract-logging: 2.0.1 accepts: 1.3.8 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) caseless: 0.12.0 chalk: 4.1.2 content-type: 1.0.5 - fp-ts: 2.16.9 + fp-ts: 2.16.6 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 json-schema-faker: 0.5.3 @@ -5311,7 +5603,7 @@ snapshots: '@stoplight/types@14.1.0': dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 utility-types: 3.11.0 '@stoplight/types@14.1.1': @@ -5335,45 +5627,45 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.6.3 - '@tanstack/history@1.57.6': {} + '@tanstack/history@1.61.1': {} - '@tanstack/query-core@5.51.16': {} + '@tanstack/query-core@5.45.0': {} - '@tanstack/query-devtools@5.51.16': {} + '@tanstack/query-devtools@5.37.1': {} - '@tanstack/react-cross-context@1.57.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-cross-context@1.60.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/react-query-devtools@5.51.16(@tanstack/react-query@5.51.16(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query-devtools@5.45.0(@tanstack/react-query@5.45.0(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/query-devtools': 5.51.16 - '@tanstack/react-query': 5.51.16(react@18.3.1) + '@tanstack/query-devtools': 5.37.1 + '@tanstack/react-query': 5.45.0(react@18.3.1) react: 18.3.1 - '@tanstack/react-query@5.51.16(react@18.3.1)': + '@tanstack/react-query@5.45.0(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.51.16 + '@tanstack/query-core': 5.45.0 react: 18.3.1 - '@tanstack/react-router-with-query@1.58.7(@tanstack/react-query@5.51.16(react@18.3.1))(@tanstack/react-router@1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router-with-query@1.62.1(@tanstack/react-query@5.45.0(react@18.3.1))(@tanstack/react-router@1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-query': 5.51.16(react@18.3.1) - '@tanstack/react-router': 1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-query': 5.45.0(react@18.3.1) + '@tanstack/react-router': 1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/react-router@1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router@1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/history': 1.57.6 + '@tanstack/history': 1.61.1 '@tanstack/react-store': 0.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 optionalDependencies: - '@tanstack/router-generator': 1.58.1 + '@tanstack/router-generator': 1.58.12 '@tanstack/react-store@0.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -5382,9 +5674,9 @@ snapshots: react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.2.2(react@18.3.1) - '@tanstack/router-devtools@1.58.7(@tanstack/react-router@1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/router-devtools@1.62.1(@tanstack/react-router@1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-router': 1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 goober: 2.1.14(csstype@3.1.3) react: 18.3.1 @@ -5392,24 +5684,24 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/router-generator@1.58.1': + '@tanstack/router-generator@1.58.12': dependencies: '@tanstack/virtual-file-routes': 1.56.0 prettier: 3.3.3 tsx: 4.19.1 zod: 3.23.8 - '@tanstack/router-plugin@1.58.4(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0))': - dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - '@tanstack/router-generator': 1.58.1 + '@tanstack/router-plugin@1.62.0(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))': + dependencies: + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 + '@tanstack/router-generator': 1.58.12 '@tanstack/virtual-file-routes': 1.56.0 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 @@ -5420,21 +5712,21 @@ snapshots: unplugin: 1.14.1 zod: 3.23.8 optionalDependencies: - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color - webpack-sources - '@tanstack/start-vite-plugin@1.57.14': + '@tanstack/start-vite-plugin@1.60.0': dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 @@ -5442,26 +5734,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/start@1.58.7(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.33.0)(typescript@5.5.4)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0))': + '@tanstack/start@1.62.1(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.34.1)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))': dependencies: - '@tanstack/react-cross-context': 1.57.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-router': 1.58.7(@tanstack/router-generator@1.58.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-generator': 1.58.1 - '@tanstack/router-plugin': 1.58.4(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) - '@tanstack/start-vite-plugin': 1.57.14 + '@tanstack/react-cross-context': 1.60.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.62.1(@tanstack/router-generator@1.58.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-generator': 1.58.12 + '@tanstack/router-plugin': 1.62.0(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) + '@tanstack/start-vite-plugin': 1.60.0 '@types/jsesc': 3.0.3 '@vinxi/react': 0.2.5 - '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) - '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0)) - '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0)) + '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) + '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1)) + '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1)) import-meta-resolve: 4.1.0 isbot: 5.1.17 jsesc: 3.0.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tiny-invariant: 1.3.3 - vinxi: 0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0) - vite-tsconfig-paths: 5.0.1(typescript@5.5.4)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)) + vinxi: 0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1) + vite-tsconfig-paths: 5.0.1(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) zod: 3.23.8 transitivePeerDependencies: - '@azure/app-configuration' @@ -5509,7 +5801,7 @@ snapshots: '@ts-morph/common@0.24.0': dependencies: fast-glob: 3.3.2 - minimatch: 9.0.5 + minimatch: 9.0.4 mkdirp: 3.0.1 path-browserify: 1.0.1 @@ -5523,32 +5815,38 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@types/braces@3.0.4': {} + '@types/cross-spawn@6.0.6': + dependencies: + '@types/node': 20.14.2 + '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.2 '@types/jsesc@3.0.3': {} @@ -5560,10 +5858,14 @@ snapshots: dependencies: '@types/braces': 3.0.4 - '@types/node@20.14.13': + '@types/node@20.14.2': dependencies: undici-types: 5.26.5 + '@types/node@22.7.4': + dependencies: + undici-types: 6.19.8 + '@types/prop-types@15.7.12': {} '@types/react-dom@18.3.0': @@ -5581,14 +5883,14 @@ snapshots: '@types/type-is@1.6.6': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.2 '@vercel/nft@0.26.5': dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -5617,94 +5919,94 @@ snapshots: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.5.4 + ufo: 1.5.3 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: - uWebSockets.js - '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0))': + '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1))': dependencies: - '@babel/parser': 7.25.6 - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + '@babel/parser': 7.24.7 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 tslib: 2.6.3 - vinxi: 0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0) + vinxi: 0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1) - '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0))': + '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))': dependencies: acorn-loose: 8.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) '@vinxi/react@0.2.5': {} - '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0))': + '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0)) - acorn: 8.12.1 + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1)) + acorn: 8.11.3 acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0) + vinxi: 0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1) - '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0))': + '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0)) - acorn: 8.12.1 + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1)) + acorn: 8.11.3 acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0) + vinxi: 0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1) - '@vitejs/plugin-react@4.3.1(vite@5.3.5(@types/node@20.14.13)(terser@5.33.0))': + '@vitejs/plugin-react@4.3.1(vite@5.2.13(@types/node@22.7.4)(terser@5.34.1))': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.5(@types/node@20.14.13)(terser@5.33.0) + vite: 5.2.13(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.1(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0))': + '@vitejs/plugin-react@4.3.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.14.13)(terser@5.33.0))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.7.4)(terser@5.34.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.6 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 + istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.7 - magic-string: 0.30.11 + magic-string: 0.30.10 magicast: 0.3.4 picocolors: 1.0.1 std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.14.13)(terser@5.33.0) + vitest: 1.6.0(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color @@ -5712,7 +6014,7 @@ snapshots: dependencies: '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 - chai: 4.5.0 + chai: 4.4.1 '@vitest/runner@1.6.0': dependencies: @@ -5722,7 +6024,7 @@ snapshots: '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.11 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 @@ -5750,44 +6052,44 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-attributes@1.9.5(acorn@8.12.1): + acorn-import-attributes@1.9.5(acorn@8.11.3): dependencies: - acorn: 8.12.1 + acorn: 8.11.3 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.12.1 + acorn: 8.11.3 acorn-loose@8.4.0: dependencies: - acorn: 8.12.1 + acorn: 8.11.3 - acorn-typescript@1.4.13(acorn@8.12.1): + acorn-typescript@1.4.13(acorn@8.11.3): dependencies: - acorn: 8.12.1 + acorn: 8.11.3 - acorn-walk@8.3.3: - dependencies: - acorn: 8.12.1 + acorn-walk@8.3.2: {} + + acorn@8.11.3: {} acorn@8.12.1: {} agent-base@6.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.5 transitivePeerDependencies: - supports-color - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.16.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.16.0 - ajv@8.17.1: + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.1 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + uri-js: 4.4.1 ansi-align@3.0.1: dependencies: @@ -5822,7 +6124,7 @@ snapshots: archiver-utils@5.0.2: dependencies: - glob: 10.4.5 + glob: 10.4.1 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 @@ -5899,20 +6201,20 @@ snapshots: transitivePeerDependencies: - debug - b4a@1.6.6: {} + b4a@1.6.7: {} babel-dead-code-elimination@1.0.6: dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.6 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/core': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color balanced-match@1.0.2: {} - bare-events@2.4.2: + bare-events@2.5.0: optional: true base64-js@1.5.1: {} @@ -5949,12 +6251,19 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.2: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001645 - electron-to-chromium: 1.5.4 + caniuse-lite: 1.0.30001632 + electron-to-chromium: 1.4.799 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + browserslist@4.24.0: + dependencies: + caniuse-lite: 1.0.30001667 + electron-to-chromium: 1.5.32 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.2) + update-browserslist-db: 1.1.1(browserslist@4.24.0) buffer-crc32@1.0.0: {} @@ -5981,11 +6290,26 @@ snapshots: ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.3 + pkg-types: 1.1.1 rc9: 2.1.2 optionalDependencies: magicast: 0.3.4 + c12@2.0.1: + dependencies: + chokidar: 4.0.1 + confbox: 0.1.7 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 2.3.1 + mlly: 1.7.1 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.2.0 + rc9: 2.1.2 + cac@6.7.14: {} call-bind@1.0.7: @@ -6002,13 +6326,13 @@ snapshots: camelcase@7.0.1: {} - camelcase@8.0.0: {} + caniuse-lite@1.0.30001632: {} - caniuse-lite@1.0.30001645: {} + caniuse-lite@1.0.30001667: {} caseless@0.12.0: {} - chai@4.5.0: + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -6016,7 +6340,7 @@ snapshots: get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.1.0 + type-detect: 4.0.8 chalk@2.4.2: dependencies: @@ -6049,6 +6373,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + chownr@2.0.0: {} citty@0.1.6: @@ -6081,7 +6409,7 @@ snapshots: cluster-key-slot@1.1.2: {} - code-block-writer@13.0.2: {} + code-block-writer@13.0.1: {} color-convert@1.9.3: dependencies: @@ -6155,7 +6483,7 @@ snapshots: create-require@1.1.1: {} - croner@8.1.1: {} + croner@8.1.2: {} cross-fetch@3.1.8: dependencies: @@ -6212,13 +6540,13 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.6: + debug@4.3.5: dependencies: ms: 2.1.2 deep-eql@4.1.4: dependencies: - type-detect: 4.1.0 + type-detect: 4.0.8 deepmerge@4.3.1: {} @@ -6274,7 +6602,9 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.4: {} + electron-to-chromium@1.4.799: {} + + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -6321,7 +6651,7 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.2 + object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -6442,6 +6772,8 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -6492,9 +6824,7 @@ snapshots: fast-safe-stringify@2.1.1: {} - fast-uri@3.0.1: {} - - fast-xml-parser@4.4.1: + fast-xml-parser@4.4.0: dependencies: strnum: 1.0.5 @@ -6532,7 +6862,7 @@ snapshots: foreach@2.0.6: {} - foreground-child@3.2.1: + foreground-child@3.2.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -6545,7 +6875,7 @@ snapshots: format-util@1.0.5: {} - fp-ts@2.16.9: {} + fp-ts@2.16.6: {} fresh@0.5.2: {} @@ -6621,7 +6951,7 @@ snapshots: consola: 3.2.3 defu: 6.1.4 node-fetch-native: 1.6.4 - nypm: 0.3.9 + nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 tar: 6.2.1 @@ -6634,13 +6964,12 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.5: + glob@10.4.1: dependencies: - foreground-child: 3.2.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 + foreground-child: 3.2.0 + jackspeak: 3.4.0 + minimatch: 9.0.4 minipass: 7.1.2 - package-json-from-dist: 1.0.0 path-scurry: 1.11.1 glob@7.2.3: @@ -6701,20 +7030,20 @@ snapshots: iron-webcrypto: 1.2.1 ohash: 1.1.3 radix3: 1.1.2 - ufo: 1.5.4 + ufo: 1.5.3 uncrypto: 0.1.3 unenv: 1.10.0 transitivePeerDependencies: - uWebSockets.js - h3@1.12.0: + h3@1.13.0: dependencies: cookie-es: 1.2.2 crossws: 0.2.4 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 - ohash: 1.1.3 + ohash: 1.1.4 radix3: 1.1.2 ufo: 1.5.4 uncrypto: 0.1.3 @@ -6729,7 +7058,7 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.1 + uglify-js: 3.18.0 handler-agent@0.2.0: {} @@ -6775,7 +7104,7 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -6794,7 +7123,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -6825,15 +7154,15 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 - io-ts@2.2.21(fp-ts@2.16.9): + io-ts@2.2.21(fp-ts@2.16.6): dependencies: - fp-ts: 2.16.9 + fp-ts: 2.16.6 ioredis@5.4.1: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.3.6 + debug: 4.3.5 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -6867,7 +7196,7 @@ snapshots: is-callable@1.2.7: {} - is-core-module@2.15.0: + is-core-module@2.13.1: dependencies: hasown: 2.0.2 @@ -6975,10 +7304,10 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: + istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.6 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -6988,7 +7317,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@3.4.3: + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -6996,6 +7325,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.3.1: {} + js-tokens@4.0.0: {} js-tokens@9.0.0: {} @@ -7060,40 +7391,40 @@ snapshots: dependencies: readable-stream: 2.3.8 - lefthook-darwin-arm64@1.7.11: + lefthook-darwin-arm64@1.6.15: optional: true - lefthook-darwin-x64@1.7.11: + lefthook-darwin-x64@1.6.15: optional: true - lefthook-freebsd-arm64@1.7.11: + lefthook-freebsd-arm64@1.6.15: optional: true - lefthook-freebsd-x64@1.7.11: + lefthook-freebsd-x64@1.6.15: optional: true - lefthook-linux-arm64@1.7.11: + lefthook-linux-arm64@1.6.15: optional: true - lefthook-linux-x64@1.7.11: + lefthook-linux-x64@1.6.15: optional: true - lefthook-windows-arm64@1.7.11: + lefthook-windows-arm64@1.6.15: optional: true - lefthook-windows-x64@1.7.11: + lefthook-windows-x64@1.6.15: optional: true - lefthook@1.7.11: + lefthook@1.6.15: optionalDependencies: - lefthook-darwin-arm64: 1.7.11 - lefthook-darwin-x64: 1.7.11 - lefthook-freebsd-arm64: 1.7.11 - lefthook-freebsd-x64: 1.7.11 - lefthook-linux-arm64: 1.7.11 - lefthook-linux-x64: 1.7.11 - lefthook-windows-arm64: 1.7.11 - lefthook-windows-x64: 1.7.11 + lefthook-darwin-arm64: 1.6.15 + lefthook-darwin-x64: 1.6.15 + lefthook-freebsd-arm64: 1.6.15 + lefthook-freebsd-x64: 1.6.15 + lefthook-linux-arm64: 1.6.15 + lefthook-linux-x64: 1.6.15 + lefthook-windows-arm64: 1.6.15 + lefthook-windows-x64: 1.6.15 lilconfig@2.1.0: {} @@ -7103,7 +7434,7 @@ snapshots: liquid-json@0.3.1: {} - listhen@1.7.2: + listhen@1.9.0: dependencies: '@parcel/watcher': 2.4.1 '@parcel/watcher-wasm': 2.4.1 @@ -7113,9 +7444,9 @@ snapshots: crossws: 0.2.4 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.12.0 + h3: 1.13.0 http-shutdown: 1.2.2 - jiti: 1.21.6 + jiti: 2.3.1 mlly: 1.7.1 node-forge: 1.3.1 pathe: 1.1.2 @@ -7136,7 +7467,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.1 - pkg-types: 1.1.3 + pkg-types: 1.1.1 locate-path@2.0.0: dependencies: @@ -7159,6 +7490,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + lru-cache@10.2.2: {} + lru-cache@10.4.3: {} lru-cache@5.1.1: @@ -7169,20 +7502,24 @@ snapshots: dependencies: yallist: 4.0.0 + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + magic-string@0.30.11: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 magicast@0.2.11: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 recast: 0.23.9 magicast@0.3.4: dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 source-map-js: 1.2.0 make-dir@3.1.0: @@ -7191,7 +7528,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.3 + semver: 7.6.2 make-error@1.3.6: {} @@ -7238,7 +7575,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.5: + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -7269,10 +7606,10 @@ snapshots: mlly@1.7.1: dependencies: - acorn: 8.12.1 + acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.1.3 - ufo: 1.5.4 + pkg-types: 1.1.1 + ufo: 1.5.3 mri@1.2.0: {} @@ -7294,27 +7631,27 @@ snapshots: neo-async@2.6.2: {} - next@14.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.2.5 + '@next/env': 14.2.4 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001645 + caniuse-lite: 1.0.30001632 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.5 - '@next/swc-darwin-x64': 14.2.5 - '@next/swc-linux-arm64-gnu': 14.2.5 - '@next/swc-linux-arm64-musl': 14.2.5 - '@next/swc-linux-x64-gnu': 14.2.5 - '@next/swc-linux-x64-musl': 14.2.5 - '@next/swc-win32-arm64-msvc': 14.2.5 - '@next/swc-win32-ia32-msvc': 14.2.5 - '@next/swc-win32-x64-msvc': 14.2.5 + '@next/swc-darwin-arm64': 14.2.4 + '@next/swc-darwin-x64': 14.2.4 + '@next/swc-linux-arm64-gnu': 14.2.4 + '@next/swc-linux-arm64-musl': 14.2.4 + '@next/swc-linux-x64-gnu': 14.2.4 + '@next/swc-linux-x64-musl': 14.2.4 + '@next/swc-win32-arm64-msvc': 14.2.4 + '@next/swc-win32-ia32-msvc': 14.2.4 + '@next/swc-win32-x64-msvc': 14.2.4 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -7324,15 +7661,15 @@ snapshots: nitropack@2.9.7(magicast@0.3.4): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@netlify/functions': 2.8.1 - '@rollup/plugin-alias': 5.1.1(rollup@4.22.4) - '@rollup/plugin-commonjs': 25.0.8(rollup@4.22.4) - '@rollup/plugin-inject': 5.0.5(rollup@4.22.4) - '@rollup/plugin-json': 6.1.0(rollup@4.22.4) - '@rollup/plugin-node-resolve': 15.3.0(rollup@4.22.4) - '@rollup/plugin-replace': 5.0.7(rollup@4.22.4) - '@rollup/plugin-terser': 0.4.4(rollup@4.22.4) - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@netlify/functions': 2.8.2 + '@rollup/plugin-alias': 5.1.1(rollup@4.18.0) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.18.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.18.0) + '@rollup/plugin-json': 6.1.0(rollup@4.18.0) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.18.0) + '@rollup/plugin-replace': 5.0.7(rollup@4.18.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.18.0) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.26.5 archiver: 7.0.1 @@ -7342,7 +7679,7 @@ snapshots: citty: 0.1.6 consola: 3.2.3 cookie-es: 1.2.2 - croner: 8.1.1 + croner: 8.1.2 crossws: 0.2.4 db0: 0.1.4 defu: 6.1.4 @@ -7354,15 +7691,15 @@ snapshots: fs-extra: 11.2.0 globby: 14.0.2 gzip-size: 7.0.0 - h3: 1.12.0 + h3: 1.13.0 hookable: 5.5.3 httpxy: 0.1.5 ioredis: 5.4.1 jiti: 1.21.6 klona: 2.0.6 knitwork: 1.1.0 - listhen: 1.7.2 - magic-string: 0.30.11 + listhen: 1.9.0 + magic-string: 0.30.10 mime: 4.0.4 mlly: 1.7.1 mri: 1.2.0 @@ -7372,21 +7709,21 @@ snapshots: openapi-typescript: 6.7.6 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.3 + pkg-types: 1.1.1 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.22.4 - rollup-plugin-visualizer: 5.12.0(rollup@4.22.4) + rollup: 4.18.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.18.0) scule: 1.3.0 - semver: 7.6.3 + semver: 7.6.2 serve-placeholder: 2.0.2 serve-static: 1.16.2 std-env: 3.7.0 - ufo: 1.5.4 + ufo: 1.5.3 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.10.0 - unimport: 3.12.0(rollup@4.22.4) + unimport: 3.13.1(rollup@4.18.0) unstorage: 1.12.0(ioredis@5.4.1) unwasm: 0.3.9 transitivePeerDependencies: @@ -7425,6 +7762,8 @@ snapshots: node-gyp-build@4.8.2: {} + node-releases@2.0.14: {} + node-releases@2.0.18: {} nopt@5.0.0: @@ -7463,20 +7802,19 @@ snapshots: gauge: 3.0.2 set-blocking: 2.0.0 - nypm@0.3.9: + nypm@0.3.8: dependencies: citty: 0.1.6 consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - pkg-types: 1.1.3 - ufo: 1.5.4 + ufo: 1.5.3 object-assign@4.1.1: {} object-hash@3.0.0: {} - object-inspect@1.13.2: {} + object-inspect@1.13.1: {} object-keys@1.1.1: {} @@ -7495,6 +7833,8 @@ snapshots: ohash@1.1.3: {} + ohash@1.1.4: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -7536,7 +7876,7 @@ snapshots: p-limit@5.0.0: dependencies: - yocto-queue: 1.1.1 + yocto-queue: 1.0.0 p-locate@2.0.0: dependencies: @@ -7544,8 +7884,6 @@ snapshots: p-try@1.0.0: {} - package-json-from-dist@1.0.0: {} - parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -7575,7 +7913,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.4.3 + lru-cache: 10.2.2 minipass: 7.1.2 path-to-regexp@6.3.0: {} @@ -7623,7 +7961,7 @@ snapshots: find-up: 2.1.0 load-json-file: 4.0.0 - pkg-types@1.1.3: + pkg-types@1.1.1: dependencies: confbox: 0.1.7 mlly: 1.7.1 @@ -7637,32 +7975,32 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.40): + postcss-import@15.1.0(postcss@8.4.38): dependencies: - postcss: 8.4.40 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.40): + postcss-js@4.0.1(postcss@8.4.38): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.40 + postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5)): dependencies: lilconfig: 3.1.2 - yaml: 2.5.0 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.40 - ts-node: 10.9.2(@types/node@20.14.13)(typescript@5.5.4) + postcss: 8.4.38 + ts-node: 10.9.2(@types/node@20.14.2)(typescript@5.4.5) - postcss-nested@6.2.0(postcss@8.4.40): + postcss-nested@6.0.1(postcss@8.4.38): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 - postcss-selector-parser@6.1.1: + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -7675,7 +8013,7 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.40: + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -7687,7 +8025,7 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.1 - postman-collection@4.4.1: + postman-collection@4.4.0: dependencies: '@faker-js/faker': 5.5.3 file-type: 3.9.0 @@ -7802,6 +8140,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + recast@0.23.9: dependencies: ast-types: 0.16.1 @@ -7835,7 +8175,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -7845,61 +8185,61 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.9: + rimraf@5.0.7: dependencies: - glob: 10.4.5 + glob: 10.4.1 - rollup-plugin-visualizer@5.12.0(rollup@4.22.4): + rollup-plugin-visualizer@5.12.0(rollup@4.18.0): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.22.4 + rollup: 4.18.0 - rollup@4.19.1: + rollup@4.18.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.19.1 - '@rollup/rollup-android-arm64': 4.19.1 - '@rollup/rollup-darwin-arm64': 4.19.1 - '@rollup/rollup-darwin-x64': 4.19.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.19.1 - '@rollup/rollup-linux-arm-musleabihf': 4.19.1 - '@rollup/rollup-linux-arm64-gnu': 4.19.1 - '@rollup/rollup-linux-arm64-musl': 4.19.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1 - '@rollup/rollup-linux-riscv64-gnu': 4.19.1 - '@rollup/rollup-linux-s390x-gnu': 4.19.1 - '@rollup/rollup-linux-x64-gnu': 4.19.1 - '@rollup/rollup-linux-x64-musl': 4.19.1 - '@rollup/rollup-win32-arm64-msvc': 4.19.1 - '@rollup/rollup-win32-ia32-msvc': 4.19.1 - '@rollup/rollup-win32-x64-msvc': 4.19.1 + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 - rollup@4.22.4: + rollup@4.24.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.22.4 - '@rollup/rollup-android-arm64': 4.22.4 - '@rollup/rollup-darwin-arm64': 4.22.4 - '@rollup/rollup-darwin-x64': 4.22.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 - '@rollup/rollup-linux-arm-musleabihf': 4.22.4 - '@rollup/rollup-linux-arm64-gnu': 4.22.4 - '@rollup/rollup-linux-arm64-musl': 4.22.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 - '@rollup/rollup-linux-riscv64-gnu': 4.22.4 - '@rollup/rollup-linux-s390x-gnu': 4.22.4 - '@rollup/rollup-linux-x64-gnu': 4.22.4 - '@rollup/rollup-linux-x64-musl': 4.22.4 - '@rollup/rollup-win32-arm64-msvc': 4.22.4 - '@rollup/rollup-win32-ia32-msvc': 4.22.4 - '@rollup/rollup-win32-x64-msvc': 4.22.4 + '@rollup/rollup-android-arm-eabi': 4.24.0 + '@rollup/rollup-android-arm64': 4.24.0 + '@rollup/rollup-darwin-arm64': 4.24.0 + '@rollup/rollup-darwin-x64': 4.24.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 + '@rollup/rollup-linux-arm-musleabihf': 4.24.0 + '@rollup/rollup-linux-arm64-gnu': 4.24.0 + '@rollup/rollup-linux-arm64-musl': 4.24.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 + '@rollup/rollup-linux-riscv64-gnu': 4.24.0 + '@rollup/rollup-linux-s390x-gnu': 4.24.0 + '@rollup/rollup-linux-x64-gnu': 4.24.0 + '@rollup/rollup-linux-x64-musl': 4.24.0 + '@rollup/rollup-win32-arm64-msvc': 4.24.0 + '@rollup/rollup-win32-ia32-msvc': 4.24.0 + '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -7941,7 +8281,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.3: {} + semver@7.6.2: {} send@0.19.0: dependencies: @@ -8017,7 +8357,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.1 siginfo@2.0.0: {} @@ -8089,7 +8429,7 @@ snapshots: queue-tick: 1.0.1 text-decoder: 1.2.0 optionalDependencies: - bare-events: 2.4.2 + bare-events: 2.5.0 string-width@4.2.3: dependencies: @@ -8164,7 +8504,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.4.5 + glob: 10.4.1 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -8184,7 +8524,7 @@ snapshots: system-architecture@0.1.0: {} - tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -8200,12 +8540,12 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.1 - postcss: 8.4.40 - postcss-import: 15.1.0(postcss@8.4.40) - postcss-js: 4.0.1(postcss@8.4.40) - postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)) - postcss-nested: 6.2.0(postcss@8.4.40) - postcss-selector-parser: 6.1.1 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5)) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.1.0 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: @@ -8213,7 +8553,7 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.6.6 + b4a: 1.6.7 fast-fifo: 1.3.2 streamx: 2.20.1 @@ -8226,10 +8566,10 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser@5.33.0: + terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.12.1 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -8241,7 +8581,7 @@ snapshots: text-decoder@1.2.0: dependencies: - b4a: 1.6.6 + b4a: 1.6.7 thenify-all@1.6.0: dependencies: @@ -8276,29 +8616,48 @@ snapshots: ts-morph@23.0.0: dependencies: '@ts-morph/common': 0.24.0 - code-block-writer: 13.0.2 + code-block-writer: 13.0.1 - ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4): + ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.13 - acorn: 8.12.1 - acorn-walk: 8.3.3 + '@types/node': 20.14.2 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.4 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optional: true - tsconfck@3.1.3(typescript@5.5.4): + ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.7.4 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tsconfck@3.1.3(typescript@5.6.2): optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 tslib@2.6.3: {} @@ -8309,7 +8668,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - type-detect@4.1.0: {} + type-detect@4.0.8: {} type-fest@2.19.0: {} @@ -8352,11 +8711,15 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript@5.5.4: {} + typescript@5.4.5: {} + + typescript@5.6.2: {} + + ufo@1.5.3: {} ufo@1.5.4: {} - uglify-js@3.19.1: + uglify-js@3.18.0: optional: true unbox-primitive@1.0.2: @@ -8370,15 +8733,17 @@ snapshots: unctx@2.3.1: dependencies: - acorn: 8.12.1 + acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.11 + magic-string: 0.30.10 unplugin: 1.14.1 transitivePeerDependencies: - webpack-sources undici-types@5.26.5: {} + undici-types@6.19.8: {} + undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 @@ -8393,9 +8758,9 @@ snapshots: unicorn-magic@0.1.0: {} - unimport@3.12.0(rollup@4.22.4): + unimport@3.13.1(rollup@4.18.0): dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + '@rollup/pluginutils': 5.1.2(rollup@4.18.0) acorn: 8.12.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -8424,8 +8789,8 @@ snapshots: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 - h3: 1.12.0 - listhen: 1.7.2 + h3: 1.13.0 + listhen: 1.9.0 lru-cache: 10.4.3 mri: 1.2.0 node-fetch-native: 1.6.4 @@ -8445,22 +8810,32 @@ snapshots: unwasm@0.3.9: dependencies: knitwork: 1.1.0 - magic-string: 0.30.11 + magic-string: 0.30.10 mlly: 1.7.1 pathe: 1.1.2 - pkg-types: 1.1.3 + pkg-types: 1.1.1 unplugin: 1.14.1 transitivePeerDependencies: - webpack-sources - update-browserslist-db@1.1.0(browserslist@4.23.2): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.23.2 + browserslist: 4.23.1 escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.1(browserslist@4.24.0): + dependencies: + browserslist: 4.24.0 + escalade: 3.2.0 + picocolors: 1.1.0 + uqr@0.1.2: {} + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + uri-template-lite@22.9.0: {} urijs@1.19.11: {} @@ -8499,11 +8874,11 @@ snapshots: validate.io-number@1.0.3: {} - vinxi@0.4.3(@types/node@20.14.13)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.33.0): + vinxi@0.4.3(@types/node@22.7.4)(ioredis@5.4.1)(magicast@0.3.4)(terser@5.34.1): dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.24.7) '@types/micromatch': 4.0.9 '@vinxi/listhen': 1.5.6 boxen: 7.1.1 @@ -8529,11 +8904,11 @@ snapshots: resolve: 1.22.8 serve-placeholder: 2.0.2 serve-static: 1.16.2 - ufo: 1.5.4 + ufo: 1.5.3 unctx: 2.3.1 unenv: 1.10.0 unstorage: 1.12.0(ioredis@5.4.1) - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) zod: 3.23.8 transitivePeerDependencies: - '@azure/app-configuration' @@ -8568,13 +8943,13 @@ snapshots: - webpack-sources - xml2js - vite-node@1.6.0(@types/node@20.14.13)(terser@5.33.0): + vite-node@1.6.0(@types/node@22.7.4)(terser@5.34.1): dependencies: cac: 6.7.14 - debug: 4.3.6 + debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - '@types/node' - less @@ -8586,61 +8961,61 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@5.0.1(typescript@5.5.4)(vite@5.4.7(@types/node@20.14.13)(terser@5.33.0)): + vite-tsconfig-paths@5.0.1(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)): dependencies: - debug: 4.3.6 + debug: 4.3.5 globrex: 0.1.2 - tsconfck: 3.1.3(typescript@5.5.4) + tsconfck: 3.1.3(typescript@5.6.2) optionalDependencies: - vite: 5.4.7(@types/node@20.14.13)(terser@5.33.0) + vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1) transitivePeerDependencies: - supports-color - typescript - vite@5.3.5(@types/node@20.14.13)(terser@5.33.0): + vite@5.2.13(@types/node@22.7.4)(terser@5.34.1): dependencies: - esbuild: 0.21.5 - postcss: 8.4.40 - rollup: 4.19.1 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.18.0 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 22.7.4 fsevents: 2.3.3 - terser: 5.33.0 + terser: 5.34.1 - vite@5.4.7(@types/node@20.14.13)(terser@5.33.0): + vite@5.4.8(@types/node@22.7.4)(terser@5.34.1): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.22.4 + rollup: 4.24.0 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 22.7.4 fsevents: 2.3.3 - terser: 5.33.0 + terser: 5.34.1 - vitest@1.6.0(@types/node@20.14.13)(terser@5.33.0): + vitest@1.6.0(@types/node@22.7.4)(terser@5.34.1): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 - acorn-walk: 8.3.3 - chai: 4.5.0 - debug: 4.3.6 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.5 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.11 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.1 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.5(@types/node@20.14.13)(terser@5.33.0) - vite-node: 1.6.0(@types/node@20.14.13)(terser@5.33.0) - why-is-node-running: 2.3.0 + vite: 5.2.13(@types/node@22.7.4)(terser@5.34.1) + vite-node: 1.6.0(@types/node@22.7.4)(terser@5.34.1) + why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 22.7.4 transitivePeerDependencies: - less - lightningcss @@ -8692,7 +9067,7 @@ snapshots: dependencies: isexe: 3.1.1 - why-is-node-running@2.3.0: + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 @@ -8729,7 +9104,7 @@ snapshots: yaml@1.10.2: {} - yaml@2.5.0: {} + yaml@2.4.5: {} yargs-parser@20.2.9: {} @@ -8757,7 +9132,7 @@ snapshots: yn@3.1.1: {} - yocto-queue@1.1.1: {} + yocto-queue@1.0.0: {} zip-stream@6.0.1: dependencies: diff --git a/src/cli.mts b/src/cli.mts index c4ec10c..f1128c1 100644 --- a/src/cli.mts +++ b/src/cli.mts @@ -11,14 +11,21 @@ const program = new Command(); export type LimitedUserConfig = { input: string; output: string; - client?: "angular" | "axios" | "fetch" | "node" | "xhr"; + client?: + | "legacy/angular" + | "legacy/axios" + | "legacy/fetch" + | "legacy/node" + | "legacy/xhr" + | "@hey-api/client-fetch" + | "@hey-api/client-axios"; request?: string; format?: "biome" | "prettier"; lint?: "biome" | "eslint"; operationId?: boolean; serviceResponse?: "body" | "response"; base?: string; - enums?: "javascript" | "typescript" | "typescript+namespace"; + enums?: "javascript" | "typescript" | false; useDateType?: boolean; debug?: boolean; noSchemas?: boolean; @@ -46,8 +53,8 @@ async function setupProgram() { .option("-o, --output ", "Output directory", defaultOutputPath) .addOption( new Option("-c, --client ", "HTTP client to generate") - .choices(["angular", "axios", "fetch", "node", "xhr"]) - .default("fetch"), + .choices(["@hey-api/client-fetch", "@hey-api/client-axios"]) + .default("@hey-api/client-fetch"), ) .option("--request ", "Path to custom request file") .addOption( @@ -79,7 +86,7 @@ async function setupProgram() { new Option( "--enums ", "Generate JavaScript objects from enum definitions?", - ).choices(["javascript", "typescript", "typescript+namespace"]), + ).choices(["javascript", "typescript"]), ) .option( "--useDateType", diff --git a/src/common.mts b/src/common.mts index 0a65cdf..d2c227c 100644 --- a/src/common.mts +++ b/src/common.mts @@ -3,11 +3,12 @@ import { stat } from "node:fs/promises"; import path from "node:path"; import type { ClassDeclaration, - MethodDeclaration, ParameterDeclaration, SourceFile, Type, + VariableDeclaration, } from "ts-morph"; +import { ArrowFunction } from "ts-morph"; import ts from "typescript"; import type { LimitedUserConfig } from "./cli.mjs"; import { queriesOutputPath, requestsOutputPath } from "./constants.mjs"; @@ -38,18 +39,30 @@ export const lowercaseFirstLetter = (str: string) => { return str.charAt(0).toLowerCase() + str.slice(1); }; -export const getNameFromMethod = (method: MethodDeclaration) => { - const methodName = method.getName(); - if (!methodName) { - throw new Error("Method name not found"); +export const getVariableArrowFunctionParameters = ( + variable: VariableDeclaration, +) => { + const initializer = variable.getInitializer(); + if (!initializer) { + throw new Error("Initializer not found"); } - return methodName; + if (!ArrowFunction.isArrowFunction(initializer)) { + throw new Error("Initializer is not an arrow function"); + } + return initializer.getParameters(); +}; + +export const getNameFromVariable = (variable: VariableDeclaration) => { + const variableName = variable.getName(); + if (!variableName) { + throw new Error("Variable name not found"); + } + return variableName; }; -export type MethodDescription = { - className: string; +export type FunctionDescription = { node: SourceFile; - method: MethodDeclaration; + method: VariableDeclaration; methodBlock: ts.Block; httpMethodName: string; jsDoc: string; @@ -98,11 +111,14 @@ export function extractPropertiesFromObjectParam(param: ParameterDeclaration) { .getNode() .getType() .getProperties() - .map((prop) => ({ - name: prop.getName(), - optional: prop.isOptional(), - type: prop.getValueDeclaration()?.getType(), - })); + .filter((prop) => prop.getValueDeclaration()?.getType()) + .map((prop) => { + return { + name: prop.getName(), + optional: prop.isOptional(), + type: prop.getValueDeclaration()?.getType(), + }; + }); return paramNodes; } diff --git a/src/createExports.mts b/src/createExports.mts index 50101fa..7b2ff4e 100644 --- a/src/createExports.mts +++ b/src/createExports.mts @@ -10,8 +10,7 @@ export const createExports = ( nextPageParam: string, initialPageParam: string, ) => { - const { klasses } = service; - const methods = klasses.flatMap((k) => k.methods); + const { methods } = service; const allGet = methods.filter((m) => m.httpMethodName.toUpperCase().includes("GET"), diff --git a/src/createImports.mts b/src/createImports.mts index 8f9bcff..3f86b1b 100644 --- a/src/createImports.mts +++ b/src/createImports.mts @@ -6,10 +6,8 @@ import { modalsFileName, serviceFileName } from "./constants.mjs"; const { join } = posix; export const createImports = ({ - serviceEndName, project, }: { - serviceEndName: string; project: Project; }) => { const modelsFile = project @@ -32,9 +30,7 @@ export const createImports = ({ serviceFile.getExportedDeclarations().keys(), ); - const serviceNames = serviceExports.filter((name) => - name.endsWith(serviceEndName), - ); + const serviceNames = serviceExports; const imports = [ ts.factory.createImportDeclaration( diff --git a/src/createPrefetchOrEnsure.mts b/src/createPrefetchOrEnsure.mts index 2b46e53..33181a6 100644 --- a/src/createPrefetchOrEnsure.mts +++ b/src/createPrefetchOrEnsure.mts @@ -1,11 +1,12 @@ -import type { MethodDeclaration } from "ts-morph"; +import type { VariableDeclaration } from "ts-morph"; import ts from "typescript"; import { BuildCommonTypeName, extractPropertiesFromObjectParam, - getNameFromMethod, + getNameFromVariable, + getVariableArrowFunctionParameters, } from "./common.mjs"; -import type { MethodDescription } from "./common.mjs"; +import type { FunctionDescription } from "./common.mjs"; import { createQueryKeyFromMethod, getQueryKeyFnName, @@ -20,16 +21,14 @@ import { addJSDocToNode } from "./util.mjs"; function createPrefetchOrEnsureHook({ requestParams, method, - className, functionType, }: { requestParams: ts.ParameterDeclaration[]; - method: MethodDeclaration; - className: string; + method: VariableDeclaration; functionType: "prefetch" | "ensure"; }) { - const methodName = getNameFromMethod(method); - const queryName = hookNameFromMethod({ method, className }); + const methodName = getNameFromVariable(method); + const queryName = hookNameFromMethod({ method }); let customHookName = `prefetch${ queryName.charAt(0).toUpperCase() + queryName.slice(1) }`; @@ -39,8 +38,7 @@ function createPrefetchOrEnsureHook({ queryName.charAt(0).toUpperCase() + queryName.slice(1) }Data`; } - - const queryKey = createQueryKeyFromMethod({ method, className }); + const queryKey = createQueryKeyFromMethod({ method }); // const const hookExport = ts.factory.createVariableStatement( @@ -82,19 +80,19 @@ function createPrefetchOrEnsureHook({ BuildCommonTypeName(getQueryKeyFnName(queryKey)), undefined, - method.getParameters().length + getVariableArrowFunctionParameters(method).length ? [ ts.factory.createObjectLiteralExpression( - method - .getParameters() - .flatMap((param) => - extractPropertiesFromObjectParam(param).map( - (p) => - ts.factory.createShorthandPropertyAssignment( - ts.factory.createIdentifier(p.name), - ), - ), + getVariableArrowFunctionParameters( + method, + ).flatMap((param) => + extractPropertiesFromObjectParam(param).map( + (p) => + ts.factory.createShorthandPropertyAssignment( + ts.factory.createIdentifier(p.name), + ), ), + ), ), ] : [], @@ -111,24 +109,22 @@ function createPrefetchOrEnsureHook({ ts.SyntaxKind.EqualsGreaterThanToken, ), ts.factory.createCallExpression( - ts.factory.createPropertyAccessExpression( - ts.factory.createIdentifier(className), - ts.factory.createIdentifier(methodName), - ), + ts.factory.createIdentifier(methodName), + undefined, - method.getParameters().length + getVariableArrowFunctionParameters(method).length ? [ ts.factory.createObjectLiteralExpression( - method - .getParameters() - .flatMap((param) => - extractPropertiesFromObjectParam(param).map( - (p) => - ts.factory.createShorthandPropertyAssignment( - ts.factory.createIdentifier(p.name), - ), - ), + getVariableArrowFunctionParameters( + method, + ).flatMap((param) => + extractPropertiesFromObjectParam(param).map( + (p) => + ts.factory.createShorthandPropertyAssignment( + ts.factory.createIdentifier(p.name), + ), ), + ), ), ] : undefined, @@ -148,11 +144,10 @@ function createPrefetchOrEnsureHook({ } export const createPrefetchOrEnsure = ({ - className, method, jsDoc, functionType, -}: MethodDescription & { functionType: "prefetch" | "ensure" }) => { +}: FunctionDescription & { functionType: "prefetch" | "ensure" }) => { const requestParam = getRequestParamFromMethod(method); const requestParams = requestParam ? [requestParam] : []; @@ -160,7 +155,6 @@ export const createPrefetchOrEnsure = ({ const prefetchOrEnsureHook = createPrefetchOrEnsureHook({ requestParams, method, - className, functionType, }); diff --git a/src/createSource.mts b/src/createSource.mts index 3a4ef97..2a02c40 100644 --- a/src/createSource.mts +++ b/src/createSource.mts @@ -8,7 +8,6 @@ import { getServices } from "./service.mjs"; const createSourceFile = async ( outputPath: string, - serviceEndName: string, pageParam: string, nextPageParam: string, initialPageParam: string, @@ -27,7 +26,6 @@ const createSourceFile = async ( const service = await getServices(project); const imports = createImports({ - serviceEndName, project, }); @@ -121,14 +119,12 @@ const createSourceFile = async ( export const createSource = async ({ outputPath, version, - serviceEndName, pageParam, nextPageParam, initialPageParam, }: { outputPath: string; version: string; - serviceEndName: string; pageParam: string; nextPageParam: string; initialPageParam: string; @@ -201,7 +197,6 @@ export const createSource = async ({ ensureSource, } = await createSourceFile( outputPath, - serviceEndName, pageParam, nextPageParam, initialPageParam, diff --git a/src/createUseMutation.mts b/src/createUseMutation.mts index 2b68e40..8372abd 100644 --- a/src/createUseMutation.mts +++ b/src/createUseMutation.mts @@ -1,14 +1,15 @@ import ts from "typescript"; import { BuildCommonTypeName, - type MethodDescription, + type FunctionDescription, TContext, TData, TError, capitalizeFirstLetter, extractPropertiesFromObjectParam, - getNameFromMethod, + getNameFromVariable, getShortType, + getVariableArrowFunctionParameters, } from "./common.mjs"; import { addJSDocToNode } from "./util.mjs"; @@ -16,10 +17,8 @@ import { addJSDocToNode } from "./util.mjs"; * Awaited> */ function generateAwaitedReturnType({ - className, methodName, }: { - className: string; methodName: string; }) { return ts.factory.createTypeReferenceNode( @@ -29,10 +28,8 @@ function generateAwaitedReturnType({ ts.factory.createIdentifier("ReturnType"), [ ts.factory.createTypeQueryNode( - ts.factory.createQualifiedName( - ts.factory.createIdentifier(className), - ts.factory.createIdentifier(methodName), - ), + ts.factory.createIdentifier(methodName), + undefined, ), ], @@ -41,21 +38,16 @@ function generateAwaitedReturnType({ ); } -export const createUseMutation = ({ - className, - method, - jsDoc, -}: MethodDescription) => { - const methodName = getNameFromMethod(method); +export const createUseMutation = ({ method, jsDoc }: FunctionDescription) => { + const methodName = getNameFromVariable(method); const awaitedResponseDataType = generateAwaitedReturnType({ - className, methodName, }); const mutationResult = ts.factory.createTypeAliasDeclaration( [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier( - `${className}${capitalizeFirstLetter(methodName)}MutationResult`, + `${capitalizeFirstLetter(methodName)}MutationResult`, ), undefined, awaitedResponseDataType, @@ -71,9 +63,9 @@ export const createUseMutation = ({ ); const methodParameters = - method.getParameters().length !== 0 + getVariableArrowFunctionParameters(method).length !== 0 ? ts.factory.createTypeLiteralNode( - method.getParameters().flatMap((param) => { + getVariableArrowFunctionParameters(method).flatMap((param) => { const paramNodes = extractPropertiesFromObjectParam(param); return paramNodes.map((refParam) => ts.factory.createPropertySignature( @@ -97,7 +89,7 @@ export const createUseMutation = ({ [ ts.factory.createVariableDeclaration( ts.factory.createIdentifier( - `use${className}${capitalizeFirstLetter(methodName)}`, + `use${capitalizeFirstLetter(methodName)}`, ), undefined, undefined, @@ -161,13 +153,15 @@ export const createUseMutation = ({ ts.factory.createArrowFunction( undefined, undefined, - method.getParameters().length !== 0 + getVariableArrowFunctionParameters(method).length !== 0 ? [ ts.factory.createParameterDeclaration( undefined, undefined, ts.factory.createObjectBindingPattern( - method.getParameters().flatMap((param) => { + getVariableArrowFunctionParameters( + method, + ).flatMap((param) => { const paramNodes = extractPropertiesFromObjectParam(param); return paramNodes.map((refParam) => @@ -195,15 +189,16 @@ export const createUseMutation = ({ ts.factory.createAsExpression( ts.factory.createAsExpression( ts.factory.createCallExpression( - ts.factory.createPropertyAccessExpression( - ts.factory.createIdentifier(className), - ts.factory.createIdentifier(methodName), - ), + ts.factory.createIdentifier(methodName), + undefined, - method.getParameters().length !== 0 + getVariableArrowFunctionParameters(method) + .length !== 0 ? [ ts.factory.createObjectLiteralExpression( - method.getParameters().flatMap((params) => { + getVariableArrowFunctionParameters( + method, + ).flatMap((params) => { const paramNodes = extractPropertiesFromObjectParam( params, diff --git a/src/createUseQuery.mts b/src/createUseQuery.mts index 2dd225e..df5deea 100644 --- a/src/createUseQuery.mts +++ b/src/createUseQuery.mts @@ -1,4 +1,4 @@ -import type { MethodDeclaration } from "ts-morph"; +import type { VariableDeclaration } from "ts-morph"; import ts from "typescript"; import { BuildCommonTypeName, @@ -8,35 +8,34 @@ import { TError, capitalizeFirstLetter, extractPropertiesFromObjectParam, - getNameFromMethod, + getNameFromVariable, getShortType, + getVariableArrowFunctionParameters, queryKeyConstraint, queryKeyGenericType, } from "./common.mjs"; -import type { MethodDescription } from "./common.mjs"; +import type { FunctionDescription } from "./common.mjs"; import { addJSDocToNode } from "./util.mjs"; export const createApiResponseType = ({ - className, methodName, -}: { className: string; methodName: string }) => { +}: { + methodName: string; +}) => { /** Awaited> */ - const awaitedResponseDataType = ts.factory.createTypeReferenceNode( - ts.factory.createIdentifier("Awaited"), - [ + const awaitedResponseDataType = ts.factory.createIndexedAccessTypeNode( + ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Awaited"), [ ts.factory.createTypeReferenceNode( ts.factory.createIdentifier("ReturnType"), [ ts.factory.createTypeQueryNode( - ts.factory.createQualifiedName( - ts.factory.createIdentifier(className), - ts.factory.createIdentifier(methodName), - ), + ts.factory.createIdentifier(methodName), undefined, ), ], ), - ], + ]), + ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral("data")), ); /** DefaultResponseDataType * export type MyClassMethodDefaultResponse = Awaited> @@ -44,7 +43,7 @@ export const createApiResponseType = ({ const apiResponse = ts.factory.createTypeAliasDeclaration( [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier( - `${capitalizeFirstLetter(className)}${capitalizeFirstLetter(methodName)}DefaultResponse`, + `${capitalizeFirstLetter(methodName)}DefaultResponse`, ), undefined, awaitedResponseDataType, @@ -74,14 +73,14 @@ export const createApiResponseType = ({ }; export function getRequestParamFromMethod( - method: MethodDeclaration, + method: VariableDeclaration, pageParam?: string, ) { - if (!method.getParameters().length) { + if (!getVariableArrowFunctionParameters(method).length) { return null; } - const params = method.getParameters().flatMap((param) => { + const params = getVariableArrowFunctionParameters(method).flatMap((param) => { const paramNodes = extractPropertiesFromObjectParam(param); return paramNodes @@ -135,18 +134,16 @@ export function getRequestParamFromMethod( * export const classNameMethodNameQueryResult = UseQueryResult; */ export function createReturnTypeExport({ - className, methodName, defaultApiResponse, }: { - className: string; methodName: string; defaultApiResponse: ts.TypeAliasDeclaration; }) { return ts.factory.createTypeAliasDeclaration( [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier( - `${capitalizeFirstLetter(className)}${capitalizeFirstLetter(methodName)}QueryResult`, + `${capitalizeFirstLetter(methodName)}QueryResult`, ), [ ts.factory.createTypeParameterDeclaration( @@ -176,10 +173,12 @@ export function createReturnTypeExport({ * QueryKey */ export function createQueryKeyExport({ - className, methodName, queryKey, -}: { className: string; methodName: string; queryKey: string }) { +}: { + methodName: string; + queryKey: string; +}) { return ts.factory.createVariableStatement( [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList( @@ -189,7 +188,7 @@ export function createQueryKeyExport({ undefined, undefined, ts.factory.createStringLiteral( - `${className}${capitalizeFirstLetter(methodName)}`, + `${capitalizeFirstLetter(methodName)}`, ), ), ], @@ -200,17 +199,19 @@ export function createQueryKeyExport({ export function hookNameFromMethod({ method, - className, -}: { method: MethodDeclaration; className: string }) { - const methodName = getNameFromMethod(method); - return `use${className}${capitalizeFirstLetter(methodName)}`; +}: { + method: VariableDeclaration; +}) { + const methodName = getNameFromVariable(method); + return `use${capitalizeFirstLetter(methodName)}`; } export function createQueryKeyFromMethod({ method, - className, -}: { method: MethodDeclaration; className: string }) { - const customHookName = hookNameFromMethod({ method, className }); +}: { + method: VariableDeclaration; +}) { + const customHookName = hookNameFromMethod({ method }); const queryKey = `${customHookName}Key`; return queryKey; } @@ -226,7 +227,6 @@ export function createQueryHook({ responseDataType, requestParams, method, - className, pageParam, nextPageParam, initialPageParam, @@ -235,15 +235,14 @@ export function createQueryHook({ suffix: string; responseDataType: ts.TypeParameterDeclaration; requestParams: ts.ParameterDeclaration[]; - method: MethodDeclaration; - className: string; + method: VariableDeclaration; pageParam?: string; nextPageParam?: string; initialPageParam?: string; }) { - const methodName = getNameFromMethod(method); - const customHookName = hookNameFromMethod({ method, className }); - const queryKey = createQueryKeyFromMethod({ method, className }); + const methodName = getNameFromVariable(method); + const customHookName = hookNameFromMethod({ method }); + const queryKey = createQueryKeyFromMethod({ method }); if ( queryString === "useInfiniteQuery" && @@ -360,11 +359,12 @@ export function createQueryHook({ ts.factory.createCallExpression( BuildCommonTypeName(getQueryKeyFnName(queryKey)), undefined, - - method.getParameters().length + getVariableArrowFunctionParameters(method).length ? [ ts.factory.createObjectLiteralExpression( - method.getParameters().flatMap((param) => + getVariableArrowFunctionParameters( + method, + ).flatMap((param) => extractPropertiesFromObjectParam(param) .filter((p) => p.name !== pageParam) .map((p) => @@ -407,43 +407,71 @@ export function createQueryHook({ ts.factory.createAsExpression( ts.factory.createCallExpression( ts.factory.createPropertyAccessExpression( - ts.factory.createIdentifier(className), - ts.factory.createIdentifier(methodName), - ), - undefined, - method.getParameters().length - ? [ - ts.factory.createObjectLiteralExpression( - method - .getParameters() - .flatMap((param) => - extractPropertiesFromObjectParam( - param, - ).map((p) => - p.name === pageParam - ? ts.factory.createPropertyAssignment( - ts.factory.createIdentifier( - p.name, - ), - ts.factory.createAsExpression( + ts.factory.createCallExpression( + ts.factory.createIdentifier(methodName), + undefined, + getVariableArrowFunctionParameters(method).length + ? [ + ts.factory.createObjectLiteralExpression( + getVariableArrowFunctionParameters( + method, + ).flatMap((param) => + extractPropertiesFromObjectParam( + param, + ).map((p) => + p.name === pageParam + ? ts.factory.createPropertyAssignment( ts.factory.createIdentifier( - "pageParam", + p.name, ), - ts.factory.createKeywordTypeNode( - ts.SyntaxKind.NumberKeyword, + ts.factory.createAsExpression( + ts.factory.createIdentifier( + "pageParam", + ), + ts.factory.createKeywordTypeNode( + ts.SyntaxKind.NumberKeyword, + ), + ), + ) + : ts.factory.createShorthandPropertyAssignment( + ts.factory.createIdentifier( + p.name, ), ), - ) - : ts.factory.createShorthandPropertyAssignment( - ts.factory.createIdentifier( - p.name, - ), - ), + ), ), ), + ] + : undefined, + ), + ts.factory.createIdentifier("then"), + ), + undefined, + [ + ts.factory.createArrowFunction( + undefined, + undefined, + [ + ts.factory.createParameterDeclaration( + undefined, + undefined, + ts.factory.createIdentifier("response"), + undefined, + undefined, + undefined, + ), + ], + undefined, + EqualsOrGreaterThanToken, + ts.factory.createAsExpression( + ts.factory.createPropertyAccessExpression( + ts.factory.createIdentifier("response"), + ts.factory.createIdentifier("data"), ), - ] - : undefined, + ts.factory.createTypeReferenceNode(TData), + ), + ), + ], ), ts.factory.createTypeReferenceNode(TData), ), @@ -470,16 +498,15 @@ export function createQueryHook({ } export const createUseQuery = ( - { className, method, jsDoc }: MethodDescription, + { method, jsDoc }: FunctionDescription, pageParam: string, nextPageParam: string, initialPageParam: string, ) => { - const methodName = getNameFromMethod(method); - const queryKey = createQueryKeyFromMethod({ method, className }); + const methodName = getNameFromVariable(method); + const queryKey = createQueryKeyFromMethod({ method }); const { apiResponse: defaultApiResponse, responseDataType } = createApiResponseType({ - className, methodName, }); @@ -502,7 +529,6 @@ export const createUseQuery = ( responseDataType, requestParams, method, - className, }); const suspenseQueryHook = createQueryHook({ @@ -511,7 +537,6 @@ export const createUseQuery = ( responseDataType, requestParams, method, - className, }); const isInfiniteQuery = requestParamTexts?.includes(pageParam) ?? false; const infiniteQueryHook = isInfiniteQuery @@ -521,7 +546,6 @@ export const createUseQuery = ( responseDataType, requestParams: infiniteRequestParam ? [infiniteRequestParam] : [], method, - className, pageParam, nextPageParam, initialPageParam, @@ -535,13 +559,11 @@ export const createUseQuery = ( : undefined; const returnTypeExport = createReturnTypeExport({ - className, methodName, defaultApiResponse, }); const queryKeyExport = createQueryKeyExport({ - className, methodName, queryKey, }); @@ -563,7 +585,7 @@ export function getQueryKeyFnName(queryKey: string) { return `${capitalizeFirstLetter(queryKey)}Fn`; } -function createQueryKeyFnExport(queryKey: string, method: MethodDeclaration) { +function createQueryKeyFnExport(queryKey: string, method: VariableDeclaration) { const params = getRequestParamFromMethod(method); // override key is used to allow the user to override the the queryKey values @@ -600,7 +622,7 @@ function createQueryKeyFnExport(queryKey: string, method: MethodDeclaration) { function queryKeyFn( queryKey: string, - method: MethodDeclaration, + method: VariableDeclaration, ): ts.Expression { return ts.factory.createArrayLiteralExpression( [ @@ -610,18 +632,17 @@ function queryKeyFn( ts.factory.createBinaryExpression( ts.factory.createIdentifier("queryKey"), ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken), - method.getParameters().length + getVariableArrowFunctionParameters(method) ? ts.factory.createArrayLiteralExpression([ ts.factory.createObjectLiteralExpression( - method - .getParameters() - .flatMap((param) => + getVariableArrowFunctionParameters(method).flatMap( + (param) => extractPropertiesFromObjectParam(param).map((p) => ts.factory.createShorthandPropertyAssignment( ts.factory.createIdentifier(p.name), ), ), - ), + ), ), ]) : ts.factory.createArrayLiteralExpression([]), diff --git a/src/format.mts b/src/format.mts index b2dcbf3..fe7e21d 100644 --- a/src/format.mts +++ b/src/format.mts @@ -1,4 +1,6 @@ +import { sync } from "cross-spawn"; import { IndentationText, NewLineKind, Project, QuoteKind } from "ts-morph"; +import type { LimitedUserConfig } from "./cli.mjs"; export const formatOutput = async (outputPath: string) => { const project = new Project({ @@ -23,3 +25,72 @@ export const formatOutput = async (outputPath: string) => { await Promise.all(tasks); }; + +type OutputProcesser = { + args: (path: string) => ReadonlyArray; + command: string; + name: string; +}; + +const formatters: Record< + Extract, + OutputProcesser +> = { + biome: { + args: (path) => ["format", "--write", path], + command: "biome", + name: "Biome (Format)", + }, + prettier: { + args: (path) => [ + "--ignore-unknown", + path, + "--write", + "--ignore-path", + "./.prettierignore", + ], + command: "prettier", + name: "Prettier", + }, +}; + +/** + * Map of supported linters + */ +const linters: Record< + Extract, + OutputProcesser +> = { + biome: { + args: (path) => ["lint", "--write", path], + command: "biome", + name: "Biome (Lint)", + }, + eslint: { + args: (path) => [path, "--fix"], + command: "eslint", + name: "ESLint", + }, +}; + +export const processOutput = async ({ + output, + format, + lint, +}: { + output: string; + format?: "prettier" | "biome"; + lint?: "biome" | "eslint"; +}) => { + if (format) { + const module = formatters[format]; + console.log(`✨ Running ${module.name} on queries`); + sync(module.command, module.args(output)); + } + + if (lint) { + const module = linters[lint]; + console.log(`✨ Running ${module.name} on queries`); + sync(module.command, module.args(output)); + } +}; diff --git a/src/generate.mts b/src/generate.mts index 6026d4f..545ffd2 100644 --- a/src/generate.mts +++ b/src/generate.mts @@ -6,7 +6,7 @@ import { formatOptions, } from "./common.mjs"; import { createSource } from "./createSource.mjs"; -import { formatOutput } from "./format.mjs"; +import { formatOutput, processOutput } from "./format.mjs"; import { print } from "./print.mjs"; export async function generate(options: LimitedUserConfig, version: string) { @@ -33,7 +33,7 @@ export async function generate(options: LimitedUserConfig, version: string) { services: { export: true, response: formattedOptions.serviceResponse, - asClass: true, + asClass: false, }, types: { dates: formattedOptions.useDateType, @@ -46,7 +46,6 @@ export async function generate(options: LimitedUserConfig, version: string) { const source = await createSource({ outputPath: openApiOutputPath, version, - serviceEndName: "Service", // we are hard coding this because changing the service end name was depreciated in @hey-api/openapi-ts pageParam: formattedOptions.pageParam, nextPageParam: formattedOptions.nextPageParam, initialPageParam: formattedOptions.initialPageParam.toString(), @@ -54,4 +53,9 @@ export async function generate(options: LimitedUserConfig, version: string) { await print(source, formattedOptions); const queriesOutputPath = buildQueriesOutputPath(options.output); await formatOutput(queriesOutputPath); + await processOutput({ + output: queriesOutputPath, + format: formattedOptions.format, + lint: formattedOptions.lint, + }); } diff --git a/src/service.mts b/src/service.mts index e3fb546..4b42f7c 100644 --- a/src/service.mts +++ b/src/service.mts @@ -1,19 +1,11 @@ -import type { ClassDeclaration, Project, SourceFile } from "ts-morph"; +import type { Project, SourceFile } from "ts-morph"; import ts from "typescript"; -import { - type MethodDescription, - getClassNameFromClassNode, - getClassesFromService, -} from "./common.mjs"; +import type { FunctionDescription } from "./common.mjs"; import { serviceFileName } from "./constants.mjs"; export type Service = { node: SourceFile; - klasses: Array<{ - className: string; - klass: ClassDeclaration; - methods: Array; - }>; + methods: Array; }; export async function getServices(project: Project): Promise { @@ -25,85 +17,86 @@ export async function getServices(project: Project): Promise { throw new Error("No service node found"); } - const klasses = getClassesFromService(node); + const methods = getMethodsFromService(node); return { - klasses: klasses.map(({ klass, className }) => ({ - className, - klass, - methods: getMethodsFromService(node, klass), - })), + methods, node, } satisfies Service; } -function getMethodsFromService(node: SourceFile, klass: ClassDeclaration) { - const methods = klass.getMethods(); - if (!methods.length) { - throw new Error("No methods found"); - } - return methods.map((method) => { - const methodBlockNode = method.compilerNode - .getChildren(node.compilerNode) - .find((child) => child.kind === ts.SyntaxKind.Block); +function getMethodsFromService(node: SourceFile): FunctionDescription[] { + const variableStatements = node.getVariableStatements(); - if (!methodBlockNode) { - throw new Error("Method block not found"); - } - const methodBlock = methodBlockNode as ts.Block; - const foundReturnStatement = methodBlock.statements.find( - (s) => s.kind === ts.SyntaxKind.ReturnStatement, - ); - if (!foundReturnStatement) { - throw new Error("Return statement not found"); - } - const returnStatement = foundReturnStatement as ts.ReturnStatement; - const foundCallExpression = returnStatement.expression; - if (!foundCallExpression) { - throw new Error("Call expression not found"); - } - const callExpression = foundCallExpression as ts.CallExpression; - const properties = ( - callExpression.arguments[1] as ts.ObjectLiteralExpression - ).properties as unknown as ts.PropertyAssignment[]; - const httpMethodName = properties - .find((p) => p.name?.getText(node.compilerNode) === "method") - ?.initializer?.getText(node.compilerNode); + // The first variable statement is `const client = createClient(createConfig())`, so we skip it + return variableStatements.splice(1).flatMap((variableStatement) => { + const declarations = variableStatement.getDeclarations(); + return declarations.map((declaration) => { + if (!ts.isVariableDeclaration(declaration.compilerNode)) { + throw new Error("Variable declaration not found"); + } + const initializer = declaration.getInitializer(); + if (!initializer) { + throw new Error("Initializer not found"); + } + if (!ts.isArrowFunction(initializer.compilerNode)) { + throw new Error("Arrow function not found"); + } + const methodBlockNode = initializer.compilerNode.body; + if (!methodBlockNode || !ts.isBlock(methodBlockNode)) { + throw new Error("Method block not found"); + } + const foundReturnStatement = methodBlockNode.statements.find( + (s) => s.kind === ts.SyntaxKind.ReturnStatement, + ); + if (!foundReturnStatement) { + throw new Error("Return statement not found"); + } + const returnStatement = foundReturnStatement as ts.ReturnStatement; + const foundCallExpression = returnStatement.expression; + if (!foundCallExpression) { + throw new Error("Call expression not found"); + } + const callExpression = foundCallExpression as ts.CallExpression; - if (!httpMethodName) { - throw new Error("httpMethodName not found"); - } + const propertyAccessExpression = + callExpression.expression as ts.PropertyAccessExpression; + const httpMethodName = propertyAccessExpression.name.getText(); - const getAllChildren = (tsNode: ts.Node): Array => { - const childItems = tsNode.getChildren(node.compilerNode); - if (childItems.length) { - const allChildren = childItems.map(getAllChildren); - return [tsNode].concat(allChildren.flat()); + if (!httpMethodName) { + throw new Error("httpMethodName not found"); } - return [tsNode]; - }; - const children = getAllChildren(method.compilerNode); - // get all JSDoc comments - // this should be an array of 1 or 0 - const jsDocs = children - .filter((c) => c.kind === ts.SyntaxKind.JSDoc) - .map((c) => c.getText(node.compilerNode)); - // get the first JSDoc comment - const jsDoc = jsDocs?.[0]; - const isDeprecated = children.some( - (c) => c.kind === ts.SyntaxKind.JSDocDeprecatedTag, - ); + const getAllChildren = (tsNode: ts.Node): Array => { + const childItems = tsNode.getChildren(node.compilerNode); + if (childItems.length) { + const allChildren = childItems.map(getAllChildren); + return [tsNode].concat(allChildren.flat()); + } + return [tsNode]; + }; + + const children = getAllChildren(initializer.compilerNode); + // get all JSDoc comments + // this should be an array of 1 or 0 + const jsDocs = children + .filter((c) => c.kind === ts.SyntaxKind.JSDoc) + .map((c) => c.getText(node.compilerNode)); + // get the first JSDoc comment + const jsDoc = jsDocs?.[0]; + const isDeprecated = children.some( + (c) => c.kind === ts.SyntaxKind.JSDocDeprecatedTag, + ); - const className = getClassNameFromClassNode(klass); + const methodDescription: FunctionDescription = { + node, + method: declaration, + methodBlock: methodBlockNode, + httpMethodName, + jsDoc, + isDeprecated, + } satisfies FunctionDescription; - return { - className, - node, - method, - methodBlock, - httpMethodName, - jsDoc, - isDeprecated, - } satisfies MethodDescription; + return methodDescription; + }); }); } diff --git a/tests/__snapshots__/createSource.test.ts.snap b/tests/__snapshots__/createSource.test.ts.snap index 65c2193..d63a6ed 100644 --- a/tests/__snapshots__/createSource.test.ts.snap +++ b/tests/__snapshots__/createSource.test.ts.snap @@ -12,36 +12,36 @@ exports[`createSource > createSource 2`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 import { type QueryClient, useQuery, useSuspenseQuery, useMutation, UseQueryResult, UseQueryOptions, UseMutationOptions, UseMutationResult } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; -import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, AddPetData, AddPetResponse, GetNotDefinedResponse, PostNotDefinedResponse, FindPetByIdData, FindPetByIdResponse, DeletePetData, DeletePetResponse, FindPaginatedPetsData, FindPaginatedPetsResponse, $OpenApiTs } from "../requests/types.gen"; -export type DefaultServiceFindPetsDefaultResponse = Awaited>; -export type DefaultServiceFindPetsQueryResult = UseQueryResult; -export const useDefaultServiceFindPetsKey = "DefaultServiceFindPets"; -export const UseDefaultServiceFindPetsKeyFn = ({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: Array) => [useDefaultServiceFindPetsKey, ...(queryKey ?? [{ limit, tags }])]; -export type DefaultServiceGetNotDefinedDefaultResponse = Awaited>; -export type DefaultServiceGetNotDefinedQueryResult = UseQueryResult; -export const useDefaultServiceGetNotDefinedKey = "DefaultServiceGetNotDefined"; -export const UseDefaultServiceGetNotDefinedKeyFn = (queryKey?: Array) => [useDefaultServiceGetNotDefinedKey, ...(queryKey ?? [])]; -export type DefaultServiceFindPetByIdDefaultResponse = Awaited>; -export type DefaultServiceFindPetByIdQueryResult = UseQueryResult; -export const useDefaultServiceFindPetByIdKey = "DefaultServiceFindPetById"; -export const UseDefaultServiceFindPetByIdKeyFn = ({ id }: { - id: number; -}, queryKey?: Array) => [useDefaultServiceFindPetByIdKey, ...(queryKey ?? [{ id }])]; -export type DefaultServiceFindPaginatedPetsDefaultResponse = Awaited>; -export type DefaultServiceFindPaginatedPetsQueryResult = UseQueryResult; -export const useDefaultServiceFindPaginatedPetsKey = "DefaultServiceFindPaginatedPets"; -export const UseDefaultServiceFindPaginatedPetsKeyFn = ({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: Array) => [useDefaultServiceFindPaginatedPetsKey, ...(queryKey ?? [{ limit, page, tags }])]; -export type DefaultServiceAddPetMutationResult = Awaited>; -export type DefaultServicePostNotDefinedMutationResult = Awaited>; -export type DefaultServiceDeletePetMutationResult = Awaited>; +import { client, findPets, addPet, getNotDefined, postNotDefined, findPetById, deletePet, findPaginatedPets } from "../requests/services.gen"; +import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, FindPetsError, AddPetData, AddPetResponse, AddPetError, GetNotDefinedResponse, GetNotDefinedError, PostNotDefinedResponse, PostNotDefinedError, FindPetByIdData, FindPetByIdResponse, FindPetByIdError, DeletePetData, DeletePetResponse, DeletePetError, FindPaginatedPetsData, FindPaginatedPetsResponse, FindPaginatedPetsError } from "../requests/types.gen"; +export type FindPetsDefaultResponse = Awaited>["data"]; +export type FindPetsQueryResult = UseQueryResult; +export const useFindPetsKey = "FindPets"; +export const UseFindPetsKeyFn = ({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: Array) => [useFindPetsKey, ...(queryKey ?? [{ query, client }])]; +export type GetNotDefinedDefaultResponse = Awaited>["data"]; +export type GetNotDefinedQueryResult = UseQueryResult; +export const useGetNotDefinedKey = "GetNotDefined"; +export const UseGetNotDefinedKeyFn = ({}: {} = {}, queryKey?: Array) => [useGetNotDefinedKey, ...(queryKey ?? [{}])]; +export type FindPetByIdDefaultResponse = Awaited>["data"]; +export type FindPetByIdQueryResult = UseQueryResult; +export const useFindPetByIdKey = "FindPetById"; +export const UseFindPetByIdKeyFn = ({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: Array) => [useFindPetByIdKey, ...(queryKey ?? [{ path, client }])]; +export type FindPaginatedPetsDefaultResponse = Awaited>["data"]; +export type FindPaginatedPetsQueryResult = UseQueryResult; +export const useFindPaginatedPetsKey = "FindPaginatedPets"; +export const UseFindPaginatedPetsKeyFn = ({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: Array) => [useFindPaginatedPetsKey, ...(queryKey ?? [{ query, client }])]; +export type AddPetMutationResult = Awaited>; +export type PostNotDefinedMutationResult = Awaited>; +export type DeletePetMutationResult = Awaited>; " `; @@ -50,87 +50,34 @@ exports[`createSource > createSource 3`] = ` import * as Common from "./common"; import { type QueryClient, useQuery, useSuspenseQuery, useMutation, UseQueryResult, UseQueryOptions, UseMutationOptions, UseMutationResult } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; -import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, AddPetData, AddPetResponse, GetNotDefinedResponse, PostNotDefinedResponse, FindPetByIdData, FindPetByIdResponse, DeletePetData, DeletePetResponse, FindPaginatedPetsData, FindPaginatedPetsResponse, $OpenApiTs } from "../requests/types.gen"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPets = = unknown[]>({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }, queryKey), queryFn: () => DefaultService.findPets({ limit, tags }) as TData, ...options }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServiceGetNotDefined = = unknown[]>(queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(queryKey), queryFn: () => DefaultService.getNotDefined() as TData, ...options }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetById = = unknown[]>({ id }: { - id: number; -}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }, queryKey), queryFn: () => DefaultService.findPetById({ id }) as TData, ...options }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPaginatedPets = = unknown[]>({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }, queryKey), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) as TData, ...options }); -/** -* Creates a new pet in the store. Duplicates are allowed -* @param data The data for the request. -* @param data.requestBody Pet to add to the store -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceAddPet = (options?: Omit = unknown[]>({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }, queryKey), queryFn: () => findPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useGetNotDefined = = unknown[]>({}: {} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}, queryKey), queryFn: () => getNotDefined({}).then(response => response.data as TData) as TData, ...options }); +export const useFindPetById = = unknown[]>({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }, queryKey), queryFn: () => findPetById({ path, client }).then(response => response.data as TData) as TData, ...options }); +export const useFindPaginatedPets = = unknown[]>({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }, queryKey), queryFn: () => findPaginatedPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useAddPet = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: ({ requestBody }) => DefaultService.addPet({ requestBody }) as unknown as Promise, ...options }); -/** -* @deprecated -* This path is not defined at all. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServicePostNotDefined = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: () => DefaultService.postNotDefined() as unknown as Promise, ...options }); -/** -* deletes a single pet based on the ID supplied -* @param data The data for the request. -* @param data.id ID of pet to delete -* @returns void pet deleted -* @throws ApiError -*/ -export const useDefaultServiceDeletePet = (options?: Omit({ mutationFn: ({ body }) => addPet({ body }) as unknown as Promise, ...options }); +export const usePostNotDefined = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: ({}) => postNotDefined({}) as unknown as Promise, ...options }); +export const useDeletePet = (options?: Omit & Config & { headers: Headers; }>; }, TContext>, "mutationFn">) => useMutation({ mutationFn: ({ id }) => DefaultService.deletePet({ id }) as unknown as Promise, ...options }); + path: { id: number; }; + client?: Client & Config & { headers: Headers; }>; +}, TContext>({ mutationFn: ({ path, client }) => deletePet({ path, client }) as unknown as Promise, ...options }); " `; @@ -139,56 +86,21 @@ exports[`createSource > createSource 4`] = ` import * as Common from "./common"; import { type QueryClient, useQuery, useSuspenseQuery, useMutation, UseQueryResult, UseQueryOptions, UseMutationOptions, UseMutationResult } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; -import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, AddPetData, AddPetResponse, GetNotDefinedResponse, PostNotDefinedResponse, FindPetByIdData, FindPetByIdResponse, DeletePetData, DeletePetResponse, FindPaginatedPetsData, FindPaginatedPetsResponse, $OpenApiTs } from "../requests/types.gen"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetsSuspense = = unknown[]>({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }, queryKey), queryFn: () => DefaultService.findPets({ limit, tags }) as TData, ...options }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServiceGetNotDefinedSuspense = = unknown[]>(queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(queryKey), queryFn: () => DefaultService.getNotDefined() as TData, ...options }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetByIdSuspense = = unknown[]>({ id }: { - id: number; -}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }, queryKey), queryFn: () => DefaultService.findPetById({ id }) as TData, ...options }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPaginatedPetsSuspense = = unknown[]>({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }, queryKey), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) as TData, ...options }); +import { client, findPets, addPet, getNotDefined, postNotDefined, findPetById, deletePet, findPaginatedPets } from "../requests/services.gen"; +import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, FindPetsError, AddPetData, AddPetResponse, AddPetError, GetNotDefinedResponse, GetNotDefinedError, PostNotDefinedResponse, PostNotDefinedError, FindPetByIdData, FindPetByIdResponse, FindPetByIdError, DeletePetData, DeletePetResponse, DeletePetError, FindPaginatedPetsData, FindPaginatedPetsResponse, FindPaginatedPetsError } from "../requests/types.gen"; +export const useFindPetsSuspense = = unknown[]>({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }, queryKey), queryFn: () => findPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useGetNotDefinedSuspense = = unknown[]>({}: {} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}, queryKey), queryFn: () => getNotDefined({}).then(response => response.data as TData) as TData, ...options }); +export const useFindPetByIdSuspense = = unknown[]>({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }, queryKey), queryFn: () => findPetById({ path, client }).then(response => response.data as TData) as TData, ...options }); +export const useFindPaginatedPetsSuspense = = unknown[]>({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }, queryKey), queryFn: () => findPaginatedPets({ query, client }).then(response => response.data as TData) as TData, ...options }); " `; @@ -197,55 +109,20 @@ exports[`createSource > createSource 5`] = ` import * as Common from "./common"; import { type QueryClient, useQuery, useSuspenseQuery, useMutation, UseQueryResult, UseQueryOptions, UseMutationOptions, UseMutationResult } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; -import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, AddPetData, AddPetResponse, GetNotDefinedResponse, PostNotDefinedResponse, FindPetByIdData, FindPetByIdResponse, DeletePetData, DeletePetResponse, FindPaginatedPetsData, FindPaginatedPetsResponse, $OpenApiTs } from "../requests/types.gen"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPets = (queryClient: QueryClient, { limit, tags }: { - limit?: number; - tags?: string[]; -} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }), queryFn: () => DefaultService.findPets({ limit, tags }) }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const prefetchUseDefaultServiceGetNotDefined = (queryClient: QueryClient) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(), queryFn: () => DefaultService.getNotDefined() }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPetById = (queryClient: QueryClient, { id }: { - id: number; -}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }), queryFn: () => DefaultService.findPetById({ id }) }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPaginatedPets = (queryClient: QueryClient, { limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) }); +import { client, findPets, addPet, getNotDefined, postNotDefined, findPetById, deletePet, findPaginatedPets } from "../requests/services.gen"; +import { Pet, NewPet, Error, FindPetsData, FindPetsResponse, FindPetsError, AddPetData, AddPetResponse, AddPetError, GetNotDefinedResponse, GetNotDefinedError, PostNotDefinedResponse, PostNotDefinedError, FindPetByIdData, FindPetByIdResponse, FindPetByIdError, DeletePetData, DeletePetResponse, DeletePetError, FindPaginatedPetsData, FindPaginatedPetsResponse, FindPaginatedPetsError } from "../requests/types.gen"; +export const prefetchUseFindPets = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }), queryFn: () => findPets({ query, client }) }); +export const prefetchUseGetNotDefined = (queryClient: QueryClient, {}: {} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}), queryFn: () => getNotDefined({}) }); +export const prefetchUseFindPetById = (queryClient: QueryClient, { path, client }: { + path: { id: number; }; + client?: Client; +}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }), queryFn: () => findPetById({ path, client }) }); +export const prefetchUseFindPaginatedPets = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }), queryFn: () => findPaginatedPets({ query, client }) }); " `; diff --git a/tests/__snapshots__/generate.test.ts.snap b/tests/__snapshots__/generate.test.ts.snap index 94cd5be..d52f9fd 100644 --- a/tests/__snapshots__/generate.test.ts.snap +++ b/tests/__snapshots__/generate.test.ts.snap @@ -3,93 +3,60 @@ exports[`generate > common.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 +import { Client } from "@hey-api/client-fetch"; import { UseQueryResult } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; -export type DefaultServiceFindPetsDefaultResponse = Awaited>; -export type DefaultServiceFindPetsQueryResult = UseQueryResult; -export const useDefaultServiceFindPetsKey = "DefaultServiceFindPets"; -export const UseDefaultServiceFindPetsKeyFn = ({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: Array) => [useDefaultServiceFindPetsKey, ...(queryKey ?? [{ limit, tags }])]; -export type DefaultServiceGetNotDefinedDefaultResponse = Awaited>; -export type DefaultServiceGetNotDefinedQueryResult = UseQueryResult; -export const useDefaultServiceGetNotDefinedKey = "DefaultServiceGetNotDefined"; -export const UseDefaultServiceGetNotDefinedKeyFn = (queryKey?: Array) => [useDefaultServiceGetNotDefinedKey, ...(queryKey ?? [])]; -export type DefaultServiceFindPetByIdDefaultResponse = Awaited>; -export type DefaultServiceFindPetByIdQueryResult = UseQueryResult; -export const useDefaultServiceFindPetByIdKey = "DefaultServiceFindPetById"; -export const UseDefaultServiceFindPetByIdKeyFn = ({ id }: { - id: number; -}, queryKey?: Array) => [useDefaultServiceFindPetByIdKey, ...(queryKey ?? [{ id }])]; -export type DefaultServiceFindPaginatedPetsDefaultResponse = Awaited>; -export type DefaultServiceFindPaginatedPetsQueryResult = UseQueryResult; -export const useDefaultServiceFindPaginatedPetsKey = "DefaultServiceFindPaginatedPets"; -export const UseDefaultServiceFindPaginatedPetsKeyFn = ({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: Array) => [useDefaultServiceFindPaginatedPetsKey, ...(queryKey ?? [{ limit, page, tags }])]; -export type DefaultServiceAddPetMutationResult = Awaited>; -export type DefaultServicePostNotDefinedMutationResult = Awaited>; -export type DefaultServiceDeletePetMutationResult = Awaited>; +import { addPet, deletePet, findPaginatedPets, findPetById, findPets, getNotDefined, postNotDefined } from "../requests/services.gen"; +export type FindPetsDefaultResponse = Awaited>["data"]; +export type FindPetsQueryResult = UseQueryResult; +export const useFindPetsKey = "FindPets"; +export const UseFindPetsKeyFn = ({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: Array) => [useFindPetsKey, ...(queryKey ?? [{ query, client }])]; +export type GetNotDefinedDefaultResponse = Awaited>["data"]; +export type GetNotDefinedQueryResult = UseQueryResult; +export const useGetNotDefinedKey = "GetNotDefined"; +export const UseGetNotDefinedKeyFn = ({ }: {} = {}, queryKey?: Array) => [useGetNotDefinedKey, ...(queryKey ?? [{}])]; +export type FindPetByIdDefaultResponse = Awaited>["data"]; +export type FindPetByIdQueryResult = UseQueryResult; +export const useFindPetByIdKey = "FindPetById"; +export const UseFindPetByIdKeyFn = ({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: Array) => [useFindPetByIdKey, ...(queryKey ?? [{ path, client }])]; +export type FindPaginatedPetsDefaultResponse = Awaited>["data"]; +export type FindPaginatedPetsQueryResult = UseQueryResult; +export const useFindPaginatedPetsKey = "FindPaginatedPets"; +export const UseFindPaginatedPetsKeyFn = ({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: Array) => [useFindPaginatedPetsKey, ...(queryKey ?? [{ query, client }])]; +export type AddPetMutationResult = Awaited>; +export type PostNotDefinedMutationResult = Awaited>; +export type DeletePetMutationResult = Awaited>; " `; exports[`generate > ensureQueryData.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 +import { Client } from "@hey-api/client-fetch"; import { type QueryClient } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; +import { findPaginatedPets, findPetById, findPets, getNotDefined } from "../requests/services.gen"; import * as Common from "./common"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const ensureUseDefaultServiceFindPetsData = (queryClient: QueryClient, { limit, tags }: { - limit?: number; - tags?: string[]; -} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }), queryFn: () => DefaultService.findPets({ limit, tags }) }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const ensureUseDefaultServiceGetNotDefinedData = (queryClient: QueryClient) => queryClient.ensureQueryData({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(), queryFn: () => DefaultService.getNotDefined() }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const ensureUseDefaultServiceFindPetByIdData = (queryClient: QueryClient, { id }: { - id: number; -}) => queryClient.ensureQueryData({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }), queryFn: () => DefaultService.findPetById({ id }) }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const ensureUseDefaultServiceFindPaginatedPetsData = (queryClient: QueryClient, { limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) }); +export const ensureUseFindPetsData = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseFindPetsKeyFn({ query, client }), queryFn: () => findPets({ query, client }) }); +export const ensureUseGetNotDefinedData = (queryClient: QueryClient, { }: {} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseGetNotDefinedKeyFn({}), queryFn: () => getNotDefined({}) }); +export const ensureUseFindPetByIdData = (queryClient: QueryClient, { path, client }: { + path: { id: number; }; + client?: Client; +}) => queryClient.ensureQueryData({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }), queryFn: () => findPetById({ path, client }) }); +export const ensureUseFindPaginatedPetsData = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }), queryFn: () => findPaginatedPets({ query, client }) }); " `; @@ -104,230 +71,88 @@ export * from "./queries"; exports[`generate > infiniteQueries.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 -import { DefaultService } from "../requests/services.gen"; -import * as Common from "./common"; -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPaginatedPetsInfinite = , TError = unknown, TQueryKey extends Array = unknown[]>({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useInfiniteQuery({ - queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, tags }, queryKey), queryFn: ({ pageParam }) => DefaultService.findPaginatedPets({ limit, page: pageParam as number, tags }) as TData, initialPageParam: "initial", getNextPageParam: response => (response as { - meta: { - next: number; - }; - }).meta.next, ...options -}); " `; exports[`generate > prefetch.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 +import { Client } from "@hey-api/client-fetch"; import { type QueryClient } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; +import { findPaginatedPets, findPetById, findPets, getNotDefined } from "../requests/services.gen"; import * as Common from "./common"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPets = (queryClient: QueryClient, { limit, tags }: { - limit?: number; - tags?: string[]; -} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }), queryFn: () => DefaultService.findPets({ limit, tags }) }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const prefetchUseDefaultServiceGetNotDefined = (queryClient: QueryClient) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(), queryFn: () => DefaultService.getNotDefined() }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPetById = (queryClient: QueryClient, { id }: { - id: number; -}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }), queryFn: () => DefaultService.findPetById({ id }) }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const prefetchUseDefaultServiceFindPaginatedPets = (queryClient: QueryClient, { limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) }); +export const prefetchUseFindPets = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }), queryFn: () => findPets({ query, client }) }); +export const prefetchUseGetNotDefined = (queryClient: QueryClient, { }: {} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}), queryFn: () => getNotDefined({}) }); +export const prefetchUseFindPetById = (queryClient: QueryClient, { path, client }: { + path: { id: number; }; + client?: Client; +}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }), queryFn: () => findPetById({ path, client }) }); +export const prefetchUseFindPaginatedPets = (queryClient: QueryClient, { query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }), queryFn: () => findPaginatedPets({ query, client }) }); " `; exports[`generate > queries.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 +import { Client, Config, RequestOptionsBase } from "@hey-api/client-fetch"; import { useMutation, UseMutationOptions, useQuery, UseQueryOptions } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; +import { addPet, deletePet, findPaginatedPets, findPetById, findPets, getNotDefined, postNotDefined } from "../requests/services.gen"; import { NewPet } from "../requests/types.gen"; import * as Common from "./common"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPets = = unknown[]>({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }, queryKey), queryFn: () => DefaultService.findPets({ limit, tags }) as TData, ...options }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServiceGetNotDefined = = unknown[]>(queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(queryKey), queryFn: () => DefaultService.getNotDefined() as TData, ...options }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetById = = unknown[]>({ id }: { - id: number; -}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }, queryKey), queryFn: () => DefaultService.findPetById({ id }) as TData, ...options }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPaginatedPets = = unknown[]>({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }, queryKey), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) as TData, ...options }); -/** -* Creates a new pet in the store. Duplicates are allowed -* @param data The data for the request. -* @param data.requestBody Pet to add to the store -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceAddPet = (options?: Omit = unknown[]>({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }, queryKey), queryFn: () => findPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useGetNotDefined = = unknown[]>({ }: {} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}, queryKey), queryFn: () => getNotDefined({}).then(response => response.data as TData) as TData, ...options }); +export const useFindPetById = = unknown[]>({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }, queryKey), queryFn: () => findPetById({ path, client }).then(response => response.data as TData) as TData, ...options }); +export const useFindPaginatedPets = = unknown[]>({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }, queryKey), queryFn: () => findPaginatedPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useAddPet = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: ({ requestBody }) => DefaultService.addPet({ requestBody }) as unknown as Promise, ...options }); -/** -* @deprecated -* This path is not defined at all. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServicePostNotDefined = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: () => DefaultService.postNotDefined() as unknown as Promise, ...options }); -/** -* deletes a single pet based on the ID supplied -* @param data The data for the request. -* @param data.id ID of pet to delete -* @returns void pet deleted -* @throws ApiError -*/ -export const useDefaultServiceDeletePet = (options?: Omit({ mutationFn: ({ body }) => addPet({ body }) as unknown as Promise, ...options }); +export const usePostNotDefined = (options?: Omit, "mutationFn">) => useMutation({ mutationFn: ({ }) => postNotDefined({}) as unknown as Promise, ...options }); +export const useDeletePet = (options?: Omit & Config & { headers: Headers; }>; }, TContext>, "mutationFn">) => useMutation({ mutationFn: ({ id }) => DefaultService.deletePet({ id }) as unknown as Promise, ...options }); + path: { id: number; }; + client?: Client & Config & { headers: Headers; }>; +}, TContext>({ mutationFn: ({ path, client }) => deletePet({ path, client }) as unknown as Promise, ...options }); " `; exports[`generate > suspense.ts 1`] = ` "// generated with @7nohe/openapi-react-query-codegen@1.0.0 +import { Client } from "@hey-api/client-fetch"; import { UseQueryOptions, useSuspenseQuery } from "@tanstack/react-query"; -import { DefaultService } from "../requests/services.gen"; +import { findPaginatedPets, findPetById, findPets, getNotDefined } from "../requests/services.gen"; import * as Common from "./common"; -/** -* Returns all pets from the system that the user has access to -* Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. -* -* Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. -* -* @param data The data for the request. -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetsSuspense = = unknown[]>({ limit, tags }: { - limit?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPetsKeyFn({ limit, tags }, queryKey), queryFn: () => DefaultService.findPets({ limit, tags }) as TData, ...options }); -/** -* @deprecated -* This path is not fully defined. -* @returns unknown unexpected error -* @throws ApiError -*/ -export const useDefaultServiceGetNotDefinedSuspense = = unknown[]>(queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceGetNotDefinedKeyFn(queryKey), queryFn: () => DefaultService.getNotDefined() as TData, ...options }); -/** -* Returns a user based on a single ID, if the user does not have access to the pet -* @param data The data for the request. -* @param data.id ID of pet to fetch -* @returns Pet pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPetByIdSuspense = = unknown[]>({ id }: { - id: number; -}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPetByIdKeyFn({ id }, queryKey), queryFn: () => DefaultService.findPetById({ id }) as TData, ...options }); -/** -* Returns paginated pets from the system that the user has access to -* -* @param data The data for the request. -* @param data.page page number -* @param data.tags tags to filter by -* @param data.limit maximum number of results to return -* @returns unknown pet response -* @throws ApiError -*/ -export const useDefaultServiceFindPaginatedPetsSuspense = = unknown[]>({ limit, page, tags }: { - limit?: number; - page?: number; - tags?: string[]; -} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseDefaultServiceFindPaginatedPetsKeyFn({ limit, page, tags }, queryKey), queryFn: () => DefaultService.findPaginatedPets({ limit, page, tags }) as TData, ...options }); +export const useFindPetsSuspense = = unknown[]>({ query, client }: { + query?: { limit?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPetsKeyFn({ query, client }, queryKey), queryFn: () => findPets({ query, client }).then(response => response.data as TData) as TData, ...options }); +export const useGetNotDefinedSuspense = = unknown[]>({ }: {} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseGetNotDefinedKeyFn({}, queryKey), queryFn: () => getNotDefined({}).then(response => response.data as TData) as TData, ...options }); +export const useFindPetByIdSuspense = = unknown[]>({ path, client }: { + path: { id: number; }; + client?: Client; +}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPetByIdKeyFn({ path, client }, queryKey), queryFn: () => findPetById({ path, client }).then(response => response.data as TData) as TData, ...options }); +export const useFindPaginatedPetsSuspense = = unknown[]>({ query, client }: { + query?: { limit?: number; page?: number; tags?: string[]; }; + client?: Client; +} = {}, queryKey?: TQueryKey, options?: Omit, "queryKey" | "queryFn">) => useSuspenseQuery({ queryKey: Common.UseFindPaginatedPetsKeyFn({ query, client }, queryKey), queryFn: () => findPaginatedPets({ query, client }).then(response => response.data as TData) as TData, ...options }); " `; diff --git a/tests/common.test.ts b/tests/common.test.ts index 76a09fe..9af48a3 100644 --- a/tests/common.test.ts +++ b/tests/common.test.ts @@ -1,4 +1,9 @@ -import type { ClassDeclaration, MethodDeclaration, SourceFile } from "ts-morph"; +import type { + ClassDeclaration, + MethodDeclaration, + SourceFile, + VariableDeclaration, +} from "ts-morph"; import { describe, expect, test, vi } from "vitest"; import type { LimitedUserConfig } from "../src/cli.mts"; import { @@ -7,7 +12,7 @@ import { formatOptions, getClassNameFromClassNode, getClassesFromService, - getNameFromMethod, + getNameFromVariable, getShortType, lowercaseFirstLetter, safeParseNumber, @@ -239,17 +244,17 @@ describe("common", () => { test("getNameFromMethod - get method name", () => { const method = { getName: vi.fn(() => "test"), - } as unknown as MethodDeclaration; - const result = getNameFromMethod(method); + } as unknown as VariableDeclaration; + const result = getNameFromVariable(method); expect(result).toBe("test"); }); test("getNameFromMethod - no method name", () => { const method = { getName: vi.fn(() => undefined), - } as unknown as MethodDeclaration; - expect(() => getNameFromMethod(method)).toThrowError( - "Method name not found", + } as unknown as VariableDeclaration; + expect(() => getNameFromVariable(method)).toThrowError( + "Variable name not found", ); }); }); diff --git a/tests/createExports.test.ts b/tests/createExports.test.ts index 2784f49..a000bf5 100644 --- a/tests/createExports.test.ts +++ b/tests/createExports.test.ts @@ -24,17 +24,17 @@ describe(fileName, () => { // @ts-ignore .map((e) => e.name.escapedText); expect(commonTypes).toStrictEqual([ - "DefaultServiceFindPetsDefaultResponse", - "DefaultServiceFindPetsQueryResult", - "DefaultServiceGetNotDefinedDefaultResponse", - "DefaultServiceGetNotDefinedQueryResult", - "DefaultServiceFindPetByIdDefaultResponse", - "DefaultServiceFindPetByIdQueryResult", - "DefaultServiceFindPaginatedPetsDefaultResponse", - "DefaultServiceFindPaginatedPetsQueryResult", - "DefaultServiceAddPetMutationResult", - "DefaultServicePostNotDefinedMutationResult", - "DefaultServiceDeletePetMutationResult", + "FindPetsDefaultResponse", + "FindPetsQueryResult", + "GetNotDefinedDefaultResponse", + "GetNotDefinedQueryResult", + "FindPetByIdDefaultResponse", + "FindPetByIdQueryResult", + "FindPaginatedPetsDefaultResponse", + "FindPaginatedPetsQueryResult", + "AddPetMutationResult", + "PostNotDefinedMutationResult", + "DeletePetMutationResult", ]); const constants = exports.allCommon @@ -42,14 +42,14 @@ describe(fileName, () => { // @ts-ignore .map((c) => c.declarationList.declarations[0].name.escapedText); expect(constants).toStrictEqual([ - "useDefaultServiceFindPetsKey", - "UseDefaultServiceFindPetsKeyFn", - "useDefaultServiceGetNotDefinedKey", - "UseDefaultServiceGetNotDefinedKeyFn", - "useDefaultServiceFindPetByIdKey", - "UseDefaultServiceFindPetByIdKeyFn", - "useDefaultServiceFindPaginatedPetsKey", - "UseDefaultServiceFindPaginatedPetsKeyFn", + "useFindPetsKey", + "UseFindPetsKeyFn", + "useGetNotDefinedKey", + "UseGetNotDefinedKeyFn", + "useFindPetByIdKey", + "UseFindPetByIdKeyFn", + "useFindPaginatedPetsKey", + "UseFindPaginatedPetsKeyFn", ]); const mainExports = exports.mainExports.map( @@ -57,13 +57,13 @@ describe(fileName, () => { (e) => e.declarationList.declarations[0].name.escapedText, ); expect(mainExports).toStrictEqual([ - "useDefaultServiceFindPets", - "useDefaultServiceGetNotDefined", - "useDefaultServiceFindPetById", - "useDefaultServiceFindPaginatedPets", - "useDefaultServiceAddPet", - "useDefaultServicePostNotDefined", - "useDefaultServiceDeletePet", + "useFindPets", + "useGetNotDefined", + "useFindPetById", + "useFindPaginatedPets", + "useAddPet", + "usePostNotDefined", + "useDeletePet", ]); const suspenseExports = exports.suspenseExports.map( @@ -71,10 +71,10 @@ describe(fileName, () => { (e) => e.declarationList.declarations[0].name.escapedText, ); expect(suspenseExports).toStrictEqual([ - "useDefaultServiceFindPetsSuspense", - "useDefaultServiceGetNotDefinedSuspense", - "useDefaultServiceFindPetByIdSuspense", - "useDefaultServiceFindPaginatedPetsSuspense", + "useFindPetsSuspense", + "useGetNotDefinedSuspense", + "useFindPetByIdSuspense", + "useFindPaginatedPetsSuspense", ]); }); }); diff --git a/tests/createImports.test.ts b/tests/createImports.test.ts index c0d707e..80b39ef 100644 --- a/tests/createImports.test.ts +++ b/tests/createImports.test.ts @@ -14,7 +14,6 @@ describe(fileName, () => { }); project.addSourceFilesAtPaths(path.join(outputPath(fileName), "**", "*")); const imports = createImports({ - serviceEndName: "Service", project, }); @@ -36,7 +35,6 @@ describe(fileName, () => { }); project.addSourceFilesAtPaths(path.join(outputPath(fileName), "**", "*")); const imports = createImports({ - serviceEndName: "Service", project, }); diff --git a/tests/createSource.test.ts b/tests/createSource.test.ts index f3f114e..55eec67 100644 --- a/tests/createSource.test.ts +++ b/tests/createSource.test.ts @@ -10,9 +10,9 @@ describe(fileName, () => { const source = await createSource({ outputPath: outputPath(fileName), version: "1.0.0", - serviceEndName: "Service", pageParam: "page", nextPageParam: "nextPage", + initialPageParam: "1", }); const indexTs = source.find((s) => s.name === "index.ts"); diff --git a/tests/generate.test.ts b/tests/generate.test.ts index 71aaed5..7e028e8 100644 --- a/tests/generate.test.ts +++ b/tests/generate.test.ts @@ -15,9 +15,9 @@ const readOutput = (fileName: string) => { describe("generate", () => { beforeAll(async () => { const options: LimitedUserConfig = { - client: "fetch", input: path.join(__dirname, "inputs", "petstore.yaml"), output: path.join("tests", "outputs"), + client: "@hey-api/client-fetch", lint: "eslint", pageParam: "page", nextPageParam: "meta.next", diff --git a/tests/service.test.ts b/tests/service.test.ts index d2f64b2..842e977 100644 --- a/tests/service.test.ts +++ b/tests/service.test.ts @@ -16,9 +16,8 @@ describe(fileName, () => { path.join("tests", `${fileName}-outputs`, "**", "*"), ); const service = await getServices(project); - const klass = service.klasses[0]; - expect(klass.className).toBe("DefaultService"); - const methodNames = klass.methods.map((m) => m.method.getName()); + + const methodNames = service.methods.map((m) => m.method.getName()); expect(methodNames).toEqual([ "findPets", "addPet", diff --git a/tests/utils.ts b/tests/utils.ts index 025f386..4da25b7 100644 --- a/tests/utils.ts +++ b/tests/utils.ts @@ -8,13 +8,10 @@ export const outputPath = (prefix: string) => export const generateTSClients = async (prefix: string, inputFile?: string) => { const options: UserConfig = { input: path.join(__dirname, "inputs", inputFile ?? "petstore.yaml"), + client: "@hey-api/client-fetch", output: outputPath(prefix), - client: { - name: "fetch", - bundle: false, - }, services: { - asClass: true, + asClass: false, }, }; await createClient(options);