From 468d11181f3259f593229c0495a94e08595d4b78 Mon Sep 17 00:00:00 2001 From: Guga Guichard Date: Mon, 15 Jul 2024 13:06:24 -0300 Subject: [PATCH] docs: Update arktype and remix examples --- examples/arktype/README.md | 2 +- examples/arktype/package.json | 4 +- examples/arktype/pnpm-lock.yaml | 38 +- examples/arktype/src/adapters.ts | 24 +- examples/arktype/src/usage.ts | 8 +- examples/remix/app/business/colors.ts | 4 +- examples/remix/app/business/gpd.ts | 6 +- examples/remix/app/routes/color.$id.tsx | 4 +- examples/remix/package.json | 24 +- examples/remix/pnpm-lock.yaml | 474 ++++++++++++------------ 10 files changed, 286 insertions(+), 302 deletions(-) diff --git a/examples/arktype/README.md b/examples/arktype/README.md index a9b6a6e7..4344fa74 100644 --- a/examples/arktype/README.md +++ b/examples/arktype/README.md @@ -4,6 +4,6 @@ This simple example can be a reference to adapt composable-functions to any othe There are two approaches to use composable-functions with a custom parser: - Create an adapter function that will receive a schema and return a schema in the shape of a `ParserSchena`. Example: [the `adapt` function](./src/adapters.ts). This is our preferred approach and we wrote a [post about it](https://dev.to/seasonedcc/using-arktype-in-place-of-zod-how-to-adapt-parsers-3bd5). -- Create your custom `withSchema` and `applySchema` that will validate your input and context and return a `Result`. Example: [the `withArkSchema` and `applyArkSchema` functions](./src/adapters.ts). +- Create your custom `applySchema` that will validate your input and context and return a `Result`. Example: [the `applyArkSchema` function](./src/adapters.ts). Check out the [`./src`](./src/) directory to understand how we implemented both approaches with [`arktype`](https://github.com/arktypeio/arktype). diff --git a/examples/arktype/package.json b/examples/arktype/package.json index c77f20c8..3e7fbad5 100644 --- a/examples/arktype/package.json +++ b/examples/arktype/package.json @@ -11,8 +11,8 @@ "tsx": "^4.15.8" }, "dependencies": { - "arktype": "2.0.0-dev.26", + "arktype": "2.0.0-dev.29", "composable-functions": "file:../../npm", - "typescript": "^5.5.2" + "typescript": "^5.5.3" } } diff --git a/examples/arktype/pnpm-lock.yaml b/examples/arktype/pnpm-lock.yaml index d1a49673..9cffb70d 100644 --- a/examples/arktype/pnpm-lock.yaml +++ b/examples/arktype/pnpm-lock.yaml @@ -9,23 +9,23 @@ importers: .: dependencies: arktype: - specifier: 2.0.0-dev.26 - version: 2.0.0-dev.26 + specifier: 2.0.0-dev.29 + version: 2.0.0-dev.29 composable-functions: specifier: file:../../npm version: file:../../npm typescript: - specifier: ^5.5.2 - version: 5.5.2 + specifier: ^5.5.3 + version: 5.5.3 devDependencies: tsx: - specifier: ^4.15.7 - version: 4.15.7 + specifier: ^4.15.8 + version: 4.16.2 packages: - '@arktype/schema@0.1.18': - resolution: {integrity: sha512-6xMboHvnO3NtgYNP160PmghElUDpKe/aDMqH2hRRHoMb1Nh0bPilDfr9LJnXQEwfA5hDguqRM+vifOKkROtOLA==} + '@arktype/schema@0.1.22': + resolution: {integrity: sha512-3HAf9EcIgu/H9IIOtfY2yH1exuF5b7z3GmMrPuI9xhC0OwKw5DK/57MNGSxbx9JMw51RLxL/fcEOnyNiXEDT+g==} '@arktype/util@0.0.51': resolution: {integrity: sha512-lukmZcbSVI27ZJ4uJA7ztCKM5OligUfdTrr0E6k+F0tzz9iSEcplS0KZbVD2WfrLL3HXNKBE6g/w3nhYMAMoqw==} @@ -168,8 +168,8 @@ packages: cpu: [x64] os: [win32] - arktype@2.0.0-dev.26: - resolution: {integrity: sha512-L7JkKHPkvEoDRKhtXyrCQcHast2oXFo7sOX1SZ3GSbIFJcEnTRRW12lFvH8M4fFR589CaOE9LleHMg9jZFR2TA==} + arktype@2.0.0-dev.29: + resolution: {integrity: sha512-SJluMYDyaGOYUntlG0rxd8ErRdTGceUb6Svsf5u1aAzSurwsh6my9ktkHA99wtJGmz/CbTv9T7OOan3cUppzUQ==} composable-functions@file:../../npm: resolution: {directory: ../../npm, type: directory} @@ -190,19 +190,19 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - tsx@4.15.7: - resolution: {integrity: sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==} + tsx@4.16.2: + resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==} engines: {node: '>=18.0.0'} hasBin: true - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true snapshots: - '@arktype/schema@0.1.18': + '@arktype/schema@0.1.22': dependencies: '@arktype/util': 0.0.51 @@ -277,9 +277,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - arktype@2.0.0-dev.26: + arktype@2.0.0-dev.29: dependencies: - '@arktype/schema': 0.1.18 + '@arktype/schema': 0.1.22 '@arktype/util': 0.0.51 composable-functions@file:../../npm: {} @@ -319,11 +319,11 @@ snapshots: resolve-pkg-maps@1.0.0: {} - tsx@4.15.7: + tsx@4.16.2: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - typescript@5.5.2: {} + typescript@5.5.3: {} diff --git a/examples/arktype/src/adapters.ts b/examples/arktype/src/adapters.ts index c572b2d0..21cbf5cd 100644 --- a/examples/arktype/src/adapters.ts +++ b/examples/arktype/src/adapters.ts @@ -1,13 +1,10 @@ import { ApplySchemaReturn, composable, - Composable, - ComposableWithSchema, ContextError, failure, InputError, ParserSchema, - UnpackData, } from 'composable-functions' import { type, Type } from 'arktype' @@ -31,8 +28,8 @@ function adapt(schema: T): ParserSchema { */ function applyArkSchema(inputSchema?: Type, contextSchema?: Type) { // - return ( - fn: Composable<(input: Input, context: Context) => R>, + return ( + fn: (input: Input, context: Context) => R, ) => { const callable = ((input?: unknown, context?: unknown) => { const ctxResult = (contextSchema ?? type('unknown'))(context) @@ -55,24 +52,11 @@ function applyArkSchema(inputSchema?: Type, contextSchema?: Type) { : [] return failure([...inputErrors, ...ctxErrors]) } - return fn(result as Input, ctxResult as Context) + return composable(fn)(result as Input, ctxResult as Context) }) as ApplySchemaReturn ;(callable as any).kind = 'composable' as const return callable } } -function withArkSchema( - inputSchema?: Type, - contextSchema?: Type, -): unknown>( - fn: Fn, -) => ComposableWithSchema>> { - return (handler) => - applyArkSchema( - inputSchema, - contextSchema, - )(composable(handler)) as ComposableWithSchema -} - -export { adapt, withArkSchema, applyArkSchema } +export { adapt, applyArkSchema } diff --git a/examples/arktype/src/usage.ts b/examples/arktype/src/usage.ts index c8fbb81f..3c4dec24 100644 --- a/examples/arktype/src/usage.ts +++ b/examples/arktype/src/usage.ts @@ -1,16 +1,16 @@ -import { composable, withSchema } from 'composable-functions' -import { applyArkSchema, withArkSchema, adapt } from './adapters' +import { applySchema, composable } from 'composable-functions' +import { applyArkSchema, adapt } from './adapters' import { type } from 'arktype' const appliedFn = applyArkSchema(type({ a: 'number', b: 'number' }))( composable(({ a, b }: { a: number; b: number }) => a + b), ) -const withFn = withArkSchema( +const withFn = applyArkSchema( type({ a: 'number' }), type({ b: 'number' }), )(({ a }, { b }) => a + b) -const withAdapt = withSchema(adapt(type({ a: 'number', b: 'number' })))( +const withAdapt = applySchema(adapt(type({ a: 'number', b: 'number' })))( ({ a, b }) => a + b, ) diff --git a/examples/remix/app/business/colors.ts b/examples/remix/app/business/colors.ts index 5ae599c1..8ade1069 100644 --- a/examples/remix/app/business/colors.ts +++ b/examples/remix/app/business/colors.ts @@ -1,5 +1,5 @@ import * as z from 'zod' -import { withSchema } from 'composable-functions' +import { applySchema } from 'composable-functions' import { makeService } from 'make-service' const reqRes = makeService('https://reqres.in/api') @@ -22,7 +22,7 @@ const getColor = async ({ id }: { id: string }) => { return response.json(z.object({ data: colorSchema })) } -const mutateColor = withSchema( +const mutateColor = applySchema( z.object({ id: z.string(), color: z.string().min(1, 'Color is required'), diff --git a/examples/remix/app/business/gpd.ts b/examples/remix/app/business/gpd.ts index 41904180..7eeaa631 100644 --- a/examples/remix/app/business/gpd.ts +++ b/examples/remix/app/business/gpd.ts @@ -1,12 +1,12 @@ import { z } from 'zod' -import { withSchema } from 'composable-functions' +import { applySchema } from 'composable-functions' import { createCookie } from '@remix-run/node' const cookie = createCookie('gpd', { maxAge: 20, // seconds }) -const getGPDInfo = withSchema( +const getGPDInfo = applySchema( z.any(), // The "context" knows there can be cookie information in the Request z.object({ agreed: z.boolean().optional() }), @@ -14,7 +14,7 @@ const getGPDInfo = withSchema( return { agreed } }) -const agreeToGPD = withSchema( +const agreeToGPD = applySchema( // Agreeing to the GPD is user input z.object({ agree: z.preprocess((v) => v === 'true', z.boolean()) }), )(async ({ agree }) => ({ agreed: agree })) diff --git a/examples/remix/app/routes/color.$id.tsx b/examples/remix/app/routes/color.$id.tsx index d2f8daa8..33ff6332 100644 --- a/examples/remix/app/routes/color.$id.tsx +++ b/examples/remix/app/routes/color.$id.tsx @@ -1,13 +1,13 @@ import { ActionFunctionArgs, LoaderFunctionArgs } from '@remix-run/node' import { Form, Link, useActionData, useLoaderData } from '@remix-run/react' -import { withSchema, inputFromForm } from 'composable-functions' +import { applySchema, inputFromForm } from 'composable-functions' import tinycolor from 'tinycolor2' import { getColor, mutateColor } from '~/business/colors' import { actionResponse, loaderResponseOrThrow } from '~/lib' import { z } from 'zod' export const loader = async ({ params }: LoaderFunctionArgs) => { - const result = await withSchema(z.object({ id: z.string() }))(getColor)( + const result = await applySchema(z.object({ id: z.string() }))(getColor)( params, ) return loaderResponseOrThrow(result) diff --git a/examples/remix/package.json b/examples/remix/package.json index ff63e4f9..529849ee 100644 --- a/examples/remix/package.json +++ b/examples/remix/package.json @@ -11,30 +11,30 @@ "typecheck": "tsc" }, "dependencies": { - "@remix-run/node": "^2.10.0", - "@remix-run/react": "^2.10.0", - "@remix-run/serve": "^2.10.0", + "@remix-run/node": "^2.10.2", + "@remix-run/react": "^2.10.2", + "@remix-run/serve": "^2.10.2", "@types/tinycolor2": "^1.4.6", "composable-functions": "file:../../npm", - "isbot": "^5.1.10", + "isbot": "^5.1.13", "make-service": "^3.0.0", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "react": "^18.3.1", "react-dom": "^18.3.1", "tinycolor2": "^1.6.0", "zod": "^3.23.8" }, "devDependencies": { - "@remix-run/dev": "^2.10.0", - "@remix-run/eslint-config": "^2.10.0", + "@remix-run/dev": "^2.10.2", + "@remix-run/eslint-config": "^2.10.2", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.14.1", + "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/parser": "^7.16.0", "eslint": "^8.57.0", - "tailwindcss": "^3.4.4", - "typescript": "^5.5.2", - "vite": "^5.3.1", + "tailwindcss": "^3.4.5", + "typescript": "^5.5.3", + "vite": "^5.3.3", "vite-tsconfig-paths": "^4.3.2" }, "engines": { diff --git a/examples/remix/pnpm-lock.yaml b/examples/remix/pnpm-lock.yaml index fedf0907..abbad151 100644 --- a/examples/remix/pnpm-lock.yaml +++ b/examples/remix/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: dependencies: '@remix-run/node': - specifier: ^2.10.0 - version: 2.10.0(typescript@5.5.2) + specifier: ^2.10.2 + version: 2.10.2(typescript@5.5.3) '@remix-run/react': - specifier: ^2.10.0 - version: 2.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.2) + specifier: ^2.10.2 + version: 2.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@remix-run/serve': - specifier: ^2.10.0 - version: 2.10.0(typescript@5.5.2) + specifier: ^2.10.2 + version: 2.10.2(typescript@5.5.3) '@types/tinycolor2': specifier: ^1.4.6 version: 1.4.6 @@ -24,14 +24,14 @@ importers: specifier: file:../../npm version: file:../../npm isbot: - specifier: ^5.1.10 - version: 5.1.10 + specifier: ^5.1.13 + version: 5.1.13 make-service: specifier: ^3.0.0 version: 3.0.0 postcss: - specifier: ^8.4.38 - version: 8.4.38 + specifier: ^8.4.39 + version: 8.4.39 react: specifier: ^18.3.1 version: 18.3.1 @@ -46,11 +46,11 @@ importers: version: 3.23.8 devDependencies: '@remix-run/dev': - specifier: ^2.10.0 - version: 2.10.0(@remix-run/react@2.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.2))(@remix-run/serve@2.10.0(typescript@5.5.2))(@types/node@20.14.9)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)) + specifier: ^2.10.2 + version: 2.10.2(@remix-run/react@2.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@remix-run/serve@2.10.2(typescript@5.5.3))(@types/node@20.14.9)(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.9)) '@remix-run/eslint-config': - specifier: ^2.10.0 - version: 2.10.0(eslint@8.57.0)(react@18.3.1)(typescript@5.5.2) + specifier: ^2.10.2 + version: 2.10.2(eslint@8.57.0)(react@18.3.1)(typescript@5.5.3) '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -58,26 +58,26 @@ importers: specifier: ^18.3.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': - specifier: ^7.14.1 - version: 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + specifier: ^7.16.0 + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': - specifier: ^7.14.1 - version: 7.14.1(eslint@8.57.0)(typescript@5.5.2) + specifier: ^7.16.0 + version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) eslint: specifier: ^8.57.0 version: 8.57.0 tailwindcss: - specifier: ^3.4.4 - version: 3.4.4 + specifier: ^3.4.5 + version: 3.4.5 typescript: - specifier: ^5.5.2 - version: 5.5.2 + specifier: ^5.5.3 + version: 5.5.3 vite: - specifier: ^5.3.1 - version: 5.3.1(@types/node@20.14.9) + specifier: ^5.3.3 + version: 5.3.3(@types/node@20.14.9) vite-tsconfig-paths: specifier: ^4.3.2 - version: 4.3.2(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)) + version: 4.3.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.9)) packages: @@ -652,13 +652,13 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@remix-run/dev@2.10.0': - resolution: {integrity: sha512-GZE4Rck6/1Q16/QtRSq1SyfVf6KhUvJqHZoTmAl56xRVscyA1alDugXVHihwd0YuoaS6/vZ3Rb4eI5roWVrExw==} + '@remix-run/dev@2.10.2': + resolution: {integrity: sha512-7hHC9WY65IJ5ex9Vrv9PkSg15mmYH63unxPDAR74hSfSkectMgsWtMChzdx7Kp/CzN2rttt3cxPwZnAu6PXJUw==} engines: {node: '>=18.0.0'} hasBin: true peerDependencies: - '@remix-run/react': ^2.10.0 - '@remix-run/serve': ^2.10.0 + '@remix-run/react': ^2.10.2 + '@remix-run/serve': ^2.10.2 typescript: ^5.1.0 vite: ^5.1.0 wrangler: ^3.28.2 @@ -672,8 +672,8 @@ packages: wrangler: optional: true - '@remix-run/eslint-config@2.10.0': - resolution: {integrity: sha512-6UNOVsV6T7Q0BCQ28heT4tMzZFDnNPTZXzwCM3bPf6gRZgZ8IlBX3ZvmncisRHiiNphYtmXR/p/e3kJWNH5OCA==} + '@remix-run/eslint-config@2.10.2': + resolution: {integrity: sha512-pg1kZXUePaZMg+2gxMpaJ+t69un5anuVmw9CcuqTpPr+8QnP72NCxt0Ic88KXupajJ7GrIK7PfwUkfqNlCN6xQ==} engines: {node: '>=18.0.0'} peerDependencies: eslint: ^8.0.0 @@ -683,8 +683,8 @@ packages: typescript: optional: true - '@remix-run/express@2.10.0': - resolution: {integrity: sha512-xmHxumbglfbCVJa9a9dMDtOD408DYH27LAHuGfEAPPSf5sc9WMEFBItNxp3bJZ2W2NDeava+h+7BIeR5wNpgxw==} + '@remix-run/express@2.10.2': + resolution: {integrity: sha512-er8b1aLULkM3KHTrU97ovBy5KDu53gCE7VjbqefHG9ZYLMZPOifawmCUaNAirhpkxW/nb08gyJo/5c+WYRrsuQ==} engines: {node: '>=18.0.0'} peerDependencies: express: ^4.19.2 @@ -693,8 +693,8 @@ packages: typescript: optional: true - '@remix-run/node@2.10.0': - resolution: {integrity: sha512-hFBt431leCEoN84kVj6BExv60+3KHFORTU2t24igJNtXPNCHH/pujMMKYaSrS3a5oKDTwwqbCmSztTyyr7uFLA==} + '@remix-run/node@2.10.2': + resolution: {integrity: sha512-Ni4yMQCf6avK2fz91/luuS3wnHzqtbxsdc19es1gAWEnUKfeCwqq5v1R0kzNwrXyh5NYCRhxaegzVH3tGsdYFg==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 @@ -702,8 +702,8 @@ packages: typescript: optional: true - '@remix-run/react@2.10.0': - resolution: {integrity: sha512-XgNpyAoiNCq0jDZb8HPUS6sNJGWx31iJoqOlPy4KkjNexhq+COCN9QzXvsPIm2LpcPG3w7+loKmLMCTsTlH+Eg==} + '@remix-run/react@2.10.2': + resolution: {integrity: sha512-0Fx3AYNjfn6Z/0xmIlVC7exmof20M429PwuApWF1H8YXwdkI+cxLfivRzTa1z7vS55tshurqQum98jQQaUDjoA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0.0 @@ -713,17 +713,17 @@ packages: typescript: optional: true - '@remix-run/router@1.17.0': - resolution: {integrity: sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==} + '@remix-run/router@1.17.1': + resolution: {integrity: sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==} engines: {node: '>=14.0.0'} - '@remix-run/serve@2.10.0': - resolution: {integrity: sha512-JOF2x8HwXo4G5hOqKEUEG7Xm2ZYYL0kZJcWdJVIQxaRN/EmbmJCKGLcW21rZ6VZ/FqpEkSnwmiGFoDkPQ9q6lg==} + '@remix-run/serve@2.10.2': + resolution: {integrity: sha512-ryWW5XK4Ww2mx1yhZPIycNqniZhzwybj61DIPO4cJxThvUkYgXf+Wdzq4jhva2B99naAiu18Em0nwh8VZxFMew==} engines: {node: '>=18.0.0'} hasBin: true - '@remix-run/server-runtime@2.10.0': - resolution: {integrity: sha512-lwgMq3m8U+oz0ZmgOrQeAE3tf6g1LPf2+ff3lgb5xb4bx7bV5VGGwKkzRK4+0fDguHXcW+YcppvdYdnKzQn1YQ==} + '@remix-run/server-runtime@2.10.2': + resolution: {integrity: sha512-c6CzKw4WBP4FkPnz63ua7g73/P1v34Uho2C44SZZf8IOVCGzEM9liLq6slDivn0m/UbyQnXThdXmsVjFcobmZg==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 @@ -902,8 +902,8 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@7.14.1': - resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} + '@typescript-eslint/eslint-plugin@7.16.0': + resolution: {integrity: sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -923,8 +923,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.14.1': - resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==} + '@typescript-eslint/parser@7.16.0': + resolution: {integrity: sha512-ar9E+k7CU8rWi2e5ErzQiC93KKEFAXA2Kky0scAlPcxYblLt8+XZuHUZwlyfXILyQa95P6lQg+eZgh/dDs3+Vw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -937,8 +937,8 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@7.14.1': - resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} + '@typescript-eslint/scope-manager@7.16.0': + resolution: {integrity: sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/type-utils@5.62.0': @@ -951,8 +951,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@7.14.1': - resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} + '@typescript-eslint/type-utils@7.16.0': + resolution: {integrity: sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -965,8 +965,8 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@7.14.1': - resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} + '@typescript-eslint/types@7.16.0': + resolution: {integrity: sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -978,8 +978,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.14.1': - resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} + '@typescript-eslint/typescript-estree@7.16.0': + resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -993,8 +993,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.14.1': - resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} + '@typescript-eslint/utils@7.16.0': + resolution: {integrity: sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1003,8 +1003,8 @@ packages: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/visitor-keys@7.14.1': - resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} + '@typescript-eslint/visitor-keys@7.16.0': + resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -2214,8 +2214,8 @@ packages: isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isbot@5.1.10: - resolution: {integrity: sha512-ob0oFuq/YcNxPZKhGJ+t0TDdDT/5BPNIk74r41528qAf2or2fgUY7Ty8vl0wEz/LIiaJ9JG4qSa1yBqCdPg5ag==} + isbot@5.1.13: + resolution: {integrity: sha512-RXtBib4m9zChSb+187EpNQML7Z3u2i34zDdqcRFZnqSJs0xdh91xzJytc5apYVg+9Y4NGnUQ0AIeJvX9FAnCUw==} engines: {node: '>=18'} isexe@2.0.0: @@ -2892,8 +2892,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -2985,15 +2985,15 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-router-dom@6.24.0: - resolution: {integrity: sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==} + react-router-dom@6.24.1: + resolution: {integrity: sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' - react-router@6.24.0: - resolution: {integrity: sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==} + react-router@6.24.1: + resolution: {integrity: sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' @@ -3302,8 +3302,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tailwindcss@3.4.4: - resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + tailwindcss@3.4.5: + resolution: {integrity: sha512-DlTxttYcogpDfx3tf/8jfnma1nfAYi2cBUYV2YNoPPecwmO3YGiFlOX9D8tGAu+EDF38ryBzvrDKU/BLMsUwbw==} engines: {node: '>=14.0.0'} hasBin: true @@ -3425,8 +3425,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true @@ -3540,8 +3540,8 @@ packages: vite: optional: true - vite@5.3.1: - resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==} + vite@5.3.3: + resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4217,7 +4217,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@remix-run/dev@2.10.0(@remix-run/react@2.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.2))(@remix-run/serve@2.10.0(typescript@5.5.2))(@types/node@20.14.9)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9))': + '@remix-run/dev@2.10.2(@remix-run/react@2.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@remix-run/serve@2.10.2(typescript@5.5.3))(@types/node@20.14.9)(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.9))': dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -4229,10 +4229,10 @@ snapshots: '@babel/types': 7.24.7 '@mdx-js/mdx': 2.3.0 '@npmcli/package-json': 4.0.1 - '@remix-run/node': 2.10.0(typescript@5.5.2) - '@remix-run/react': 2.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.2) - '@remix-run/router': 1.17.0 - '@remix-run/server-runtime': 2.10.0(typescript@5.5.2) + '@remix-run/node': 2.10.2(typescript@5.5.3) + '@remix-run/react': 2.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@remix-run/router': 1.17.1 + '@remix-run/server-runtime': 2.10.2(typescript@5.5.3) '@types/mdx': 2.0.13 '@vanilla-extract/integration': 6.5.0(@types/node@20.14.9) arg: 5.0.2 @@ -4259,10 +4259,10 @@ snapshots: picocolors: 1.0.1 picomatch: 2.3.1 pidtree: 0.6.0 - postcss: 8.4.38 - postcss-discard-duplicates: 5.1.0(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38) - postcss-modules: 6.0.0(postcss@8.4.38) + postcss: 8.4.39 + postcss-discard-duplicates: 5.1.0(postcss@8.4.39) + postcss-load-config: 4.0.2(postcss@8.4.39) + postcss-modules: 6.0.0(postcss@8.4.39) prettier: 2.8.8 pretty-ms: 7.0.1 react-refresh: 0.14.2 @@ -4274,9 +4274,9 @@ snapshots: tsconfig-paths: 4.2.0 ws: 7.5.10 optionalDependencies: - '@remix-run/serve': 2.10.0(typescript@5.5.2) - typescript: 5.5.2 - vite: 5.3.1(@types/node@20.14.9) + '@remix-run/serve': 2.10.2(typescript@5.5.3) + typescript: 5.5.3 + vite: 5.3.3(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -4292,43 +4292,43 @@ snapshots: - ts-node - utf-8-validate - '@remix-run/eslint-config@2.10.0(eslint@8.57.0)(react@18.3.1)(typescript@5.5.2)': + '@remix-run/eslint-config@2.10.2(eslint@8.57.0)(react@18.3.1)(typescript@5.5.3)': dependencies: '@babel/core': 7.24.7 '@babel/eslint-parser': 7.24.7(@babel/core@7.24.7)(eslint@8.57.0) '@babel/preset-react': 7.24.7(@babel/core@7.24.7) '@rushstack/eslint-patch': 1.10.3 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0) - eslint-plugin-jest: 26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) + eslint-plugin-jest: 26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) eslint-plugin-jest-dom: 4.0.3(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) eslint-plugin-node: 11.1.0(eslint@8.57.0) eslint-plugin-react: 7.34.3(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - eslint-plugin-testing-library: 5.11.1(eslint@8.57.0)(typescript@5.5.2) + eslint-plugin-testing-library: 5.11.1(eslint@8.57.0)(typescript@5.5.3) react: 18.3.1 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - eslint-import-resolver-webpack - jest - supports-color - '@remix-run/express@2.10.0(express@4.19.2)(typescript@5.5.2)': + '@remix-run/express@2.10.2(express@4.19.2)(typescript@5.5.3)': dependencies: - '@remix-run/node': 2.10.0(typescript@5.5.2) + '@remix-run/node': 2.10.2(typescript@5.5.3) express: 4.19.2 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 - '@remix-run/node@2.10.0(typescript@5.5.2)': + '@remix-run/node@2.10.2(typescript@5.5.3)': dependencies: - '@remix-run/server-runtime': 2.10.0(typescript@5.5.2) + '@remix-run/server-runtime': 2.10.2(typescript@5.5.3) '@remix-run/web-fetch': 4.4.2 '@web3-storage/multipart-parser': 1.0.0 cookie-signature: 1.2.1 @@ -4336,26 +4336,26 @@ snapshots: stream-slice: 0.1.2 undici: 6.19.2 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 - '@remix-run/react@2.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.2)': + '@remix-run/react@2.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@remix-run/router': 1.17.0 - '@remix-run/server-runtime': 2.10.0(typescript@5.5.2) + '@remix-run/router': 1.17.1 + '@remix-run/server-runtime': 2.10.2(typescript@5.5.3) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.24.0(react@18.3.1) - react-router-dom: 6.24.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router: 6.24.1(react@18.3.1) + react-router-dom: 6.24.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) turbo-stream: 2.2.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 - '@remix-run/router@1.17.0': {} + '@remix-run/router@1.17.1': {} - '@remix-run/serve@2.10.0(typescript@5.5.2)': + '@remix-run/serve@2.10.2(typescript@5.5.3)': dependencies: - '@remix-run/express': 2.10.0(express@4.19.2)(typescript@5.5.2) - '@remix-run/node': 2.10.0(typescript@5.5.2) + '@remix-run/express': 2.10.2(express@4.19.2)(typescript@5.5.3) + '@remix-run/node': 2.10.2(typescript@5.5.3) chokidar: 3.6.0 compression: 1.7.4 express: 4.19.2 @@ -4366,9 +4366,9 @@ snapshots: - supports-color - typescript - '@remix-run/server-runtime@2.10.0(typescript@5.5.2)': + '@remix-run/server-runtime@2.10.2(typescript@5.5.3)': dependencies: - '@remix-run/router': 1.17.0 + '@remix-run/router': 1.17.1 '@types/cookie': 0.6.0 '@web3-storage/multipart-parser': 1.0.0 cookie: 0.6.0 @@ -4376,7 +4376,7 @@ snapshots: source-map: 0.7.4 turbo-stream: 2.2.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 '@remix-run/web-blob@3.1.0': dependencies: @@ -4522,65 +4522,65 @@ snapshots: '@types/unist@2.0.10': {} - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare-lite: 1.4.0 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.5.2) + tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.0 + '@typescript-eslint/type-utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.16.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/scope-manager': 7.16.0 + '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.16.0 debug: 4.3.5 eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -4589,40 +4589,40 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@7.14.1': + '@typescript-eslint/scope-manager@7.16.0': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/visitor-keys': 7.16.0 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 - tsutils: 3.21.0(typescript@5.5.2) + tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/type-utils@7.16.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@7.14.1': {} + '@typescript-eslint/types@7.16.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -4630,35 +4630,35 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.5.2) + tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@7.16.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/visitor-keys': 7.16.0 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.2 @@ -4666,12 +4666,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) + '@typescript-eslint/scope-manager': 7.16.0 + '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -4682,9 +4682,9 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.14.1': + '@typescript-eslint/visitor-keys@7.16.0': dependencies: - '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/types': 7.16.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -4724,7 +4724,7 @@ snapshots: lodash: 4.17.21 mlly: 1.7.1 outdent: 0.8.0 - vite: 5.3.1(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.9) vite-node: 1.6.0(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' @@ -5435,13 +5435,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.5 enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.14.0 @@ -5452,22 +5452,22 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -5479,7 +5479,7 @@ snapshots: eslint-utils: 2.1.0 regexpp: 3.2.0 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -5489,7 +5489,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.14.0 is-glob: 4.0.3 @@ -5500,7 +5500,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.5.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -5513,12 +5513,12 @@ snapshots: eslint: 8.57.0 requireindex: 1.2.0 - eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2): + eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) transitivePeerDependencies: - supports-color - typescript @@ -5579,9 +5579,9 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.11 - eslint-plugin-testing-library@5.11.1(eslint@8.57.0)(typescript@5.5.2): + eslint-plugin-testing-library@5.11.1(eslint@8.57.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -6021,9 +6021,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.38): + icss-utils@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 ieee754@1.2.1: {} @@ -6193,7 +6193,7 @@ snapshots: isarray@2.0.5: {} - isbot@5.1.10: {} + isbot@5.1.13: {} isexe@2.0.0: {} @@ -6961,65 +6961,65 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-discard-duplicates@5.1.0(postcss@8.4.38): + postcss-discard-duplicates@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-import@15.1.0(postcss@8.4.38): + postcss-import@15.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.38): + postcss-js@4.0.1(postcss@8.4.39): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-load-config@4.0.2(postcss@8.4.38): + postcss-load-config@4.0.2(postcss@8.4.39): dependencies: lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + postcss-modules-extract-imports@3.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + postcss-modules-local-by-default@4.0.5(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.38): + postcss-modules-scope@3.2.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-modules-values@4.0.0(postcss@8.4.38): + postcss-modules-values@4.0.0(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 - postcss-modules@6.0.0(postcss@8.4.38): + postcss-modules@6.0.0(postcss@8.4.39): dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.38) + icss-utils: 5.1.0(postcss@8.4.39) lodash.camelcase: 4.3.0 - postcss: 8.4.38 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) - postcss-modules-scope: 3.2.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss: 8.4.39 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) + postcss-modules-scope: 3.2.0(postcss@8.4.39) + postcss-modules-values: 4.0.0(postcss@8.4.39) string-hash: 1.1.3 - postcss-nested@6.0.1(postcss@8.4.38): + postcss-nested@6.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-selector-parser@6.1.0: @@ -7029,7 +7029,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.4.38: + postcss@8.4.39: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -7118,16 +7118,16 @@ snapshots: react-refresh@0.14.2: {} - react-router-dom@6.24.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.24.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@remix-run/router': 1.17.0 + '@remix-run/router': 1.17.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.24.0(react@18.3.1) + react-router: 6.24.1(react@18.3.1) - react-router@6.24.0(react@18.3.1): + react-router@6.24.1(react@18.3.1): dependencies: - '@remix-run/router': 1.17.0 + '@remix-run/router': 1.17.1 react: 18.3.1 react@18.3.1: @@ -7518,7 +7518,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tailwindcss@3.4.4: + tailwindcss@3.4.5: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -7534,11 +7534,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.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) - postcss-nested: 6.0.1(postcss@8.4.38) + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.2(postcss@8.4.39) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.1.0 resolve: 1.22.8 sucrase: 3.35.0 @@ -7602,15 +7602,15 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.5.2): + ts-api-utils@1.3.0(typescript@5.5.3): dependencies: - typescript: 5.5.2 + typescript: 5.5.3 ts-interface-checker@0.1.13: {} - tsconfck@3.1.0(typescript@5.5.2): + tsconfck@3.1.0(typescript@5.5.3): optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 tsconfig-paths@3.15.0: dependencies: @@ -7627,10 +7627,10 @@ snapshots: tslib@1.14.1: {} - tsutils@3.21.0(typescript@5.5.2): + tsutils@3.21.0(typescript@5.5.3): dependencies: tslib: 1.14.1 - typescript: 5.5.2 + typescript: 5.5.3 turbo-stream@2.2.0: {} @@ -7677,7 +7677,7 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript@5.5.2: {} + typescript@5.5.3: {} ufo@1.5.3: {} @@ -7804,7 +7804,7 @@ snapshots: debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.1(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -7815,21 +7815,21 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@4.3.2(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)): + vite-tsconfig-paths@4.3.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.14.9)): dependencies: debug: 4.3.5 globrex: 0.1.2 - tsconfck: 3.1.0(typescript@5.5.2) + tsconfck: 3.1.0(typescript@5.5.3) optionalDependencies: - vite: 5.3.1(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.9) transitivePeerDependencies: - supports-color - typescript - vite@5.3.1(@types/node@20.14.9): + vite@5.3.3(@types/node@20.14.9): dependencies: esbuild: 0.21.5 - postcss: 8.4.38 + postcss: 8.4.39 rollup: 4.18.0 optionalDependencies: '@types/node': 20.14.9