diff --git a/packages/generator/package.json b/packages/generator/package.json index 7a605d24..1e14550b 100644 --- a/packages/generator/package.json +++ b/packages/generator/package.json @@ -1,6 +1,6 @@ { "name": "zod-prisma-types", - "version": "2.4.0", + "version": "2.4.1-beta.0", "description": "Generates zod schemas from Prisma models with advanced validation", "author": "Chris Hörmann", "license": "MIT", @@ -32,13 +32,13 @@ "format": "prettier --write \"**/*.{ts,tsx,md,json}\"" }, "devDependencies": { - "@prisma/internals": "^4.10.1", + "@prisma/internals": "^4.11.0", "@types/lodash": "^4.14.191", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "eslint": "^8.33.0", - "eslint-config-prettier": "^8.6.0", - "eslint-config-universe": "^11.1.1", + "@typescript-eslint/eslint-plugin": "^5.54.1", + "@typescript-eslint/parser": "^5.54.1", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.7.0", + "eslint-config-universe": "^11.2.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.4", @@ -46,7 +46,7 @@ "vitest": "^0.24.5" }, "dependencies": { - "@prisma/generator-helper": "^4.10.1", + "@prisma/generator-helper": "^4.11.0", "code-block-writer": "^11.0.3", "lodash": "^4.17.21", "zod": "^3.21.4" diff --git a/packages/generator/src/functions/contentWriters/writeDecimalJsLike.ts b/packages/generator/src/functions/contentWriters/writeDecimalJsLike.ts index 7cfcc95b..344d0281 100644 --- a/packages/generator/src/functions/contentWriters/writeDecimalJsLike.ts +++ b/packages/generator/src/functions/contentWriters/writeDecimalJsLike.ts @@ -5,16 +5,17 @@ export const writeDecimalJsLike = ({ dmmf, getSingleFileContent = false, }: ContentWriterOptions) => { - const { useMultipleFiles } = dmmf.generatorConfig; + const { useMultipleFiles, prismaClientPath } = dmmf.generatorConfig; if (useMultipleFiles && !getSingleFileContent) { writeImport('{ z }', 'zod'); + writeImport('type { DecimalJsLike }', `${prismaClientPath}/runtime`); } writer .blankLine() .writeLine( - `export const DecimalJSLikeSchema = z.object({ d: z.array(z.number()), e: z.number(), s: z.number() });`, + `export const DecimalJSLikeSchema: z.ZodType = z.object({ d: z.array(z.number()), e: z.number(), s: z.number(), toFixed: z.function().args().returns(z.string()), });`, ) .newLine() .writeLine( diff --git a/packages/generator/src/functions/contentWriters/writeDecimalJsLikeList.ts b/packages/generator/src/functions/contentWriters/writeDecimalJsLikeList.ts index b77f1f4e..da06a10d 100644 --- a/packages/generator/src/functions/contentWriters/writeDecimalJsLikeList.ts +++ b/packages/generator/src/functions/contentWriters/writeDecimalJsLikeList.ts @@ -5,16 +5,17 @@ export const writeDecimalJsLikeList = ({ dmmf, getSingleFileContent = false, }: ContentWriterOptions) => { - const { useMultipleFiles } = dmmf.generatorConfig; + const { useMultipleFiles, prismaClientPath } = dmmf.generatorConfig; if (useMultipleFiles && !getSingleFileContent) { writeImport('{ z }', 'zod'); + writeImport('type { DecimalJsLike }', `${prismaClientPath}/runtime`); } writer .blankLine() .writeLine( - `export const DecimalJSLikeListSchema = z.object({ d: z.array(z.number()), e: z.number(), s: z.number() }).array();`, + `export const DecimalJSLikeListSchema: z.ZodType = z.object({ d: z.array(z.number()), e: z.number(), s: z.number(), toFixed: z.function().args().returns(z.string()), }).array();`, ); if (useMultipleFiles && !getSingleFileContent) { diff --git a/packages/generator/src/functions/contentWriters/writeIsValidDecimalInput.ts b/packages/generator/src/functions/contentWriters/writeIsValidDecimalInput.ts index f7cf6860..e5bc7499 100644 --- a/packages/generator/src/functions/contentWriters/writeIsValidDecimalInput.ts +++ b/packages/generator/src/functions/contentWriters/writeIsValidDecimalInput.ts @@ -20,7 +20,9 @@ export const writeIsValidDecimalInput = ({ .writeLine(`export const isValidDecimalInput =`) .withIndentationLevel(1, () => { writer - .write(`(v?: null | string | number | DecimalJSLike) => `) + .write( + `(v?: null | string | number | DecimalJSLike): v is string | number | DecimalJSLike => `, + ) .inlineBlock(() => { writer .writeLine(`if (!v) return false;`) @@ -28,7 +30,7 @@ export const writeIsValidDecimalInput = ({ .withIndentationLevel(3, () => { writer .writeLine( - `(typeof v === 'object' && 'd' in v && 'e' in v && 's' in v) ||`, + `(typeof v === 'object' && 'd' in v && 'e' in v && 's' in v && 'toFixed' in v) ||`, ) .writeLine( `(typeof v === 'string' && DECIMAL_STRING_REGEX.test(v)) ||`, diff --git a/packages/usage/prisma/schema.prisma b/packages/usage/prisma/schema.prisma index 6a02a611..e792e01d 100644 --- a/packages/usage/prisma/schema.prisma +++ b/packages/usage/prisma/schema.prisma @@ -4,8 +4,8 @@ generator client { provider = "prisma-client-js" // output = "./generated/client" - previewFeatures = ["views", "extendedWhereUnique"] - // previewFeatures = ["views"] + // previewFeatures = ["views", "extendedWhereUnique"] + previewFeatures = ["views"] } datasource db { diff --git a/packages/usage/tests/decimal.test.ts b/packages/usage/tests/decimal.test.ts index f3185ba6..c7f3d711 100644 --- a/packages/usage/tests/decimal.test.ts +++ b/packages/usage/tests/decimal.test.ts @@ -3,12 +3,12 @@ import { DecimalListSchema, DecimalSchema, DECIMAL_STRING_REGEX, - isValidDecimalInput, } from './implementations/decimalSchema'; import { client } from './trpc/client'; import { getServer } from './trpc/server'; import Decimal from 'decimal.js'; import { DecimalJsLike } from '@prisma/client/runtime'; +import { isValidDecimalInput } from '../prisma/generated/zod'; /////////////////////////////////////// // CONSTANTS @@ -33,7 +33,7 @@ export const decimalJsLikeTwo: DecimalJsLike = { /////////////////////////////////////// const isDecimalJsLike = (v: any): v is DecimalJsLike => { - return !!v && 'd' in v && 'e' in v && 's' in v; + return !!v && 'd' in v && 'e' in v && 's' in v && 'toFixed' in v; }; /////////////////////////////////////// @@ -122,7 +122,7 @@ it('should be a valid input when a decimalJSLike is provided to "isValidDecimalI it('should be able to use prisma decimal as input in DecimalSchema', () => { const parsedDecimal = DecimalSchema.parse(new Prisma.Decimal(1.1)); - expect(Prisma.Decimal.isDecimal(parsedDecimal)).toBe(true); + expect(isDecimalJsLike(parsedDecimal)).toBe(true); }); it('should be able to use string as input in DecimalSchema', () => { @@ -161,8 +161,8 @@ it('should be able to use prisma decimal as input in DecimalListSchema', () => { new Prisma.Decimal(1.123), ]); - expect(Prisma.Decimal.isDecimal(parsedDecimals[0])).toBe(true); - expect(Prisma.Decimal.isDecimal(parsedDecimals[1])).toBe(true); + expect(isDecimalJsLike(parsedDecimals[0])).toBe(true); + expect(isDecimalJsLike(parsedDecimals[1])).toBe(true); }); it('should be able to use decimalJS as input in DecimalListSchema', () => { diff --git a/packages/usage/tests/implementations/decimalSchema.ts b/packages/usage/tests/implementations/decimalSchema.ts index 36cb89a7..1212651f 100644 --- a/packages/usage/tests/implementations/decimalSchema.ts +++ b/packages/usage/tests/implementations/decimalSchema.ts @@ -1,51 +1,28 @@ import { Prisma } from '@prisma/client'; import { DecimalJsLike } from '@prisma/client/runtime'; import { z } from 'zod'; - -export const DecimalJSLikeSchema = z.object({ - d: z.array(z.number()), - e: z.number(), - s: z.number(), -}); +import { + DecimalJSLikeSchema, + isValidDecimalInput, +} from '../../prisma/generated/zod'; // TYPEGURADS // ------------------------------ export const DECIMAL_STRING_REGEX = /^[0-9.,e+\-bxffo_cp]+$|Infinity|NaN/; -export const isValidDecimalInput = ( - v?: null | string | number | Prisma.Decimal | DecimalJsLike, -) => { - if (!v) return false; - return ( - (typeof v === 'object' && Prisma.Decimal.isDecimal(v)) || - (typeof v === 'object' && 'd' in v && 'e' in v && 's' in v) || - (typeof v === 'string' && DECIMAL_STRING_REGEX.test(v)) || - typeof v === 'number' - ); -}; // TEST SCHEMAS // ------------------------------ export const DecimalListSchema = z - .union([ - z.number().array(), - z.string().array(), - z.instanceof(Prisma.Decimal).array(), - DecimalJSLikeSchema.array(), - ]) + .union([z.number().array(), z.string().array(), DecimalJSLikeSchema.array()]) .refine((v) => (v as any[]).every((v) => isValidDecimalInput(v)), { message: 'Field "decimal" must be a Decimal', path: ['Models', 'DecimalModel'], }); export const DecimalSchema = z - .union([ - z.number(), - z.string(), - z.instanceof(Prisma.Decimal), - DecimalJSLikeSchema, - ]) + .union([z.number(), z.string(), DecimalJSLikeSchema]) .refine((v) => isValidDecimalInput(v), { message: 'Field "decimal" must be a Decimal', path: ['Models', 'DecimalModel'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47670fbd..c856d87e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,15 +10,15 @@ importers: packages/generator: specifiers: - '@prisma/generator-helper': ^4.10.1 - '@prisma/internals': ^4.10.1 + '@prisma/generator-helper': ^4.11.0 + '@prisma/internals': ^4.11.0 '@types/lodash': ^4.14.191 - '@typescript-eslint/eslint-plugin': ^5.51.0 - '@typescript-eslint/parser': ^5.51.0 + '@typescript-eslint/eslint-plugin': ^5.54.1 + '@typescript-eslint/parser': ^5.54.1 code-block-writer: ^11.0.3 - eslint: ^8.33.0 - eslint-config-prettier: ^8.6.0 - eslint-config-universe: ^11.1.1 + eslint: ^8.35.0 + eslint-config-prettier: ^8.7.0 + eslint-config-universe: ^11.2.0 eslint-plugin-import: ^2.27.5 eslint-plugin-prettier: ^4.2.1 lodash: ^4.17.21 @@ -27,20 +27,20 @@ importers: vitest: ^0.24.5 zod: ^3.21.4 dependencies: - '@prisma/generator-helper': 4.10.1 + '@prisma/generator-helper': 4.11.0 code-block-writer: 11.0.3 lodash: 4.17.21 zod: 3.21.4 devDependencies: - '@prisma/internals': 4.10.1 + '@prisma/internals': 4.11.0 '@types/lodash': 4.14.191 - '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - eslint: 8.33.0 - eslint-config-prettier: 8.6.0_eslint@8.33.0 - eslint-config-universe: 11.1.1_sl4yhqy766lpm4ioafo5vrxqom - eslint-plugin-import: 2.27.5_yzj2n2b43wonjwaifya6xmk2zy - eslint-plugin-prettier: 4.2.1_qa2thblfovmfepmgrc7z2owbo4 + '@typescript-eslint/eslint-plugin': 5.54.1_mlk7dnz565t663n4razh6a6v6i + '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + eslint: 8.35.0 + eslint-config-prettier: 8.7.0_eslint@8.35.0 + eslint-config-universe: 11.2.0_64jebu3ilvs7epq3v3pc7ikc4m + eslint-plugin-import: 2.27.5_uyiasnnzcqrxqkfvjklwnmwcha + eslint-plugin-prettier: 4.2.1_xprnzp4ul2bcpmfe73av4voica prettier: 2.8.4 typescript: 4.9.5 vitest: 0.24.5 @@ -325,8 +325,8 @@ packages: dev: false optional: true - /@eslint/eslintrc/1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint/eslintrc/2.0.0: + resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -342,6 +342,11 @@ packages: - supports-color dev: true + /@eslint/js/8.35.0: + resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@humanwhocodes/config-array/0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} @@ -448,15 +453,6 @@ packages: prisma: 4.11.0 dev: false - /@prisma/debug/4.10.1: - resolution: {integrity: sha512-NCWX+uJiEItzQsOS/4kiAKsT1hgSbN7n+1cNCmzoA6TsEn+WKzN0ZjBKyKuR937z57n2WVGXo5DfnCiW9ClqUg==} - dependencies: - '@types/debug': 4.1.7 - debug: 4.3.4 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - /@prisma/debug/4.11.0: resolution: {integrity: sha512-2ZCmY5l5IfMCnlsBYECysK3Gaoq4BWl7KbOLGDYRwrlZTA/DwUqJ3JrmroJQY6jHvSkyvMrkaJpQKo1QfKuuyw==} dependencies: @@ -465,29 +461,6 @@ packages: strip-ansi: 6.0.1 transitivePeerDependencies: - supports-color - dev: false - - /@prisma/engine-core/4.10.1: - resolution: {integrity: sha512-dEQ8qfpfDGPTvWOuTh+VU6FVCFIUE8maNriAbXklRD1g8vTPKjy9tljY0ERHJGYEe6q5ljWXoAuBCEcGudwNDw==} - dependencies: - '@opentelemetry/api': 1.4.0 - '@opentelemetry/sdk-trace-base': 1.9.1_@opentelemetry+api@1.4.0 - '@prisma/debug': 4.10.1 - '@prisma/engines': 4.10.1 - '@prisma/generator-helper': 4.10.1 - '@prisma/get-platform': 4.10.1 - chalk: 4.1.2 - execa: 5.1.1 - get-stream: 6.0.1 - indent-string: 4.0.0 - new-github-issue-url: 0.2.1 - p-retry: 4.6.2 - strip-ansi: 6.0.1 - ts-pattern: 4.1.3 - undici: 5.16.0 - transitivePeerDependencies: - - supports-color - dev: true /@prisma/engine-core/4.11.0: resolution: {integrity: sha512-sOz7ebcXsEGDxhwsUCnkBeWVwNOjUgDVXSe2i5r35GbhdmEp7ofh/yB4pp9IoqvM99ByVQ3wKQRjZJc+kZYo0Q==} @@ -509,46 +482,15 @@ packages: undici: 5.16.0 transitivePeerDependencies: - supports-color - dev: false /@prisma/engines-version/4.11.0-57.8fde8fef4033376662cad983758335009d522acb: resolution: {integrity: sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==} dev: false - /@prisma/engines/4.10.1: - resolution: {integrity: sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==} - requiresBuild: true - dev: true - /@prisma/engines/4.11.0: resolution: {integrity: sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==} requiresBuild: true - /@prisma/fetch-engine/4.10.1: - resolution: {integrity: sha512-ga6g2TFdBITDyLiV+2Qh/TJOMYXYkg6kSTuyEfLQwOYEe8PLDb+K08WSwZGYoVr5eSuv/pd+JAdHoOQPiU257A==} - dependencies: - '@prisma/debug': 4.10.1 - '@prisma/get-platform': 4.10.1 - chalk: 4.1.2 - execa: 5.1.1 - find-cache-dir: 3.3.2 - fs-extra: 11.1.0 - hasha: 5.2.2 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - node-fetch: 2.6.9 - p-filter: 2.1.0 - p-map: 4.0.0 - p-retry: 4.6.2 - progress: 2.0.3 - rimraf: 3.0.2 - temp-dir: 2.0.0 - tempy: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@prisma/fetch-engine/4.11.0: resolution: {integrity: sha512-/iHmxowXorUEJWhL58LbRVCkJ4WhVdS072gJY6Bg5Twf5/jUxOsOaOshIHVchKy0PKzvlt2mM+Dg7s3FJSkOuA==} dependencies: @@ -572,17 +514,6 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false - - /@prisma/generator-helper/4.10.1: - resolution: {integrity: sha512-OS2hAnRAiWpy+icccG6wp/yx/2jaeLdfYG6ZwD8RR0vZC2PC5VsrJz8tv6kYmuOs3qQwzVcPt9YSj3frWfD5WA==} - dependencies: - '@prisma/debug': 4.10.1 - '@types/cross-spawn': 6.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - transitivePeerDependencies: - - supports-color /@prisma/generator-helper/4.11.0: resolution: {integrity: sha512-hHP2sqMT7xPbFOVQQ1HrGFbCG1mV1DHiiUC7wceJfpWMMuBIBZhQVsayNspHk3V5Y+HeOOUruE+qPNHXk2Botg==} @@ -593,24 +524,6 @@ packages: cross-spawn: 7.0.3 transitivePeerDependencies: - supports-color - dev: false - - /@prisma/get-platform/4.10.1: - resolution: {integrity: sha512-u8pQqOGQp32wfxY9v8NUtzDyieO/PNHLrufvPjRflvXAADSZzpTXlACxiIWoxeaPhf0Zio3/qlFd6+x5GQOtuA==} - dependencies: - '@prisma/debug': 4.10.1 - chalk: 4.1.2 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - fs-jetpack: 5.1.0 - replace-string: 3.1.0 - strip-ansi: 6.0.1 - tempy: 1.0.1 - terminal-link: 2.1.1 - ts-pattern: 4.1.3 - transitivePeerDependencies: - - supports-color - dev: true /@prisma/get-platform/4.11.0: resolution: {integrity: sha512-Eb4BW1HOsRBZxB03vSACsqEHsNqaEKlIYZocCkuhz6EGF0XnINBW2Ih8wlEOEJsrBBu53zH67IwsVFc5Qo5nQg==} @@ -627,57 +540,6 @@ packages: ts-pattern: 4.1.3 transitivePeerDependencies: - supports-color - dev: false - - /@prisma/internals/4.10.1: - resolution: {integrity: sha512-Ib3MWn/CkANYFDJQ0nWK7zUnLtolLBg7cHkmWTrTV5p9s2kln/Aih1FHgvNd6HfpgG9d8MPwZGhBxCV8HqTr0g==} - dependencies: - '@prisma/debug': 4.10.1 - '@prisma/engine-core': 4.10.1 - '@prisma/engines': 4.10.1 - '@prisma/fetch-engine': 4.10.1 - '@prisma/generator-helper': 4.10.1 - '@prisma/get-platform': 4.10.1 - '@prisma/prisma-fmt-wasm': 4.10.1-1.80b351cc7c06d352abe81be19b8a89e9c6b7c110 - archiver: 5.3.1 - arg: 5.0.2 - chalk: 4.1.2 - checkpoint-client: 1.1.23 - cli-truncate: 2.1.0 - dotenv: 16.0.3 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - find-up: 5.0.0 - fp-ts: 2.13.1 - fs-extra: 11.1.0 - fs-jetpack: 5.1.0 - global-dirs: 3.0.1 - globby: 11.1.0 - has-yarn: 2.1.0 - is-windows: 1.0.2 - is-wsl: 2.2.0 - new-github-issue-url: 0.2.1 - node-fetch: 2.6.9 - open: 7.4.2 - ora: 5.4.1 - p-map: 4.0.0 - prompts: 2.4.2 - read-pkg-up: 7.0.1 - replace-string: 3.1.0 - resolve: 1.22.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - strip-indent: 3.0.0 - temp-dir: 2.0.0 - temp-write: 4.0.0 - tempy: 1.0.1 - terminal-link: 2.1.1 - tmp: 0.2.1 - ts-pattern: 4.1.4 - transitivePeerDependencies: - - encoding - - supports-color - dev: true /@prisma/internals/4.11.0: resolution: {integrity: sha512-Z6Dr/cEljJveHTPVHAlKj4u/Nv6lYtzwHc8fESQ5NNpGvqemxpLlZcHWp3Qs0W0Uvi2v27aOT+lPB/Eoz8xSzA==} @@ -728,15 +590,9 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false - - /@prisma/prisma-fmt-wasm/4.10.1-1.80b351cc7c06d352abe81be19b8a89e9c6b7c110: - resolution: {integrity: sha512-MdKvG+jpYhM/furi1N4hZFJKRyyWFgnbSFQgqWTsTPTHX6TxRHPUrUisvvI/hcNVpctGZD1558zxgzmerLrjEg==} - dev: true /@prisma/prisma-fmt-wasm/4.11.0-57.8fde8fef4033376662cad983758335009d522acb: resolution: {integrity: sha512-KV+IrVh8LdwBfJjDGdbZZDg+KwQ6b4Ee7/hLiTpL8ZHLI2IdGOufRxvmZSTuio28wfAporSA+N0YdzAdx43gWA==} - dev: false /@tootallnate/once/2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} @@ -781,7 +637,7 @@ packages: /@types/cross-spawn/6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 18.14.5 + '@types/node': 18.14.6 /@types/debug/4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} @@ -803,13 +659,12 @@ packages: /@types/ms/0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - /@types/node/18.13.0: - resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} - dev: true - /@types/node/18.14.5: resolution: {integrity: sha512-CRT4tMK/DHYhw1fcCEBwME9CSaZNclxfzVMe7GsO6ULSwsttbj70wSiX6rZdIjGblu93sTJxLdhNIT85KKI7Qw==} + /@types/node/18.14.6: + resolution: {integrity: sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==} + /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -832,8 +687,8 @@ packages: resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} dev: false - /@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e: - resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} + /@typescript-eslint/eslint-plugin/5.54.1_mlk7dnz565t663n4razh6a6v6i: + resolution: {integrity: sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -843,12 +698,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/type-utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/scope-manager': 5.54.1 + '@typescript-eslint/type-utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu debug: 4.3.4 - eslint: 8.33.0 + eslint: 8.35.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -860,8 +715,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==} + /@typescript-eslint/parser/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -870,26 +725,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.54.1 + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 debug: 4.3.4 - eslint: 8.33.0 + eslint: 8.35.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.51.0: - resolution: {integrity: sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==} + /@typescript-eslint/scope-manager/5.54.1: + resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/visitor-keys': 5.54.1 dev: true - /@typescript-eslint/type-utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==} + /@typescript-eslint/type-utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + resolution: {integrity: sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -898,23 +753,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 + '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu debug: 4.3.4 - eslint: 8.33.0 + eslint: 8.35.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.51.0: - resolution: {integrity: sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==} + /@typescript-eslint/types/5.54.1: + resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.51.0_typescript@4.9.5: - resolution: {integrity: sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==} + /@typescript-eslint/typescript-estree/5.54.1_typescript@4.9.5: + resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -922,8 +777,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/visitor-keys': 5.54.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -934,31 +789,31 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==} + /@typescript-eslint/utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: + resolution: {integrity: sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - eslint: 8.33.0 + '@typescript-eslint/scope-manager': 5.54.1 + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 + eslint: 8.35.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.33.0 + eslint-utils: 3.0.0_eslint@8.35.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.51.0: - resolution: {integrity: sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==} + /@typescript-eslint/visitor-keys/5.54.1: + resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/types': 5.54.1 eslint-visitor-keys: 3.3.0 dev: true @@ -1492,7 +1347,7 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.5 - is-array-buffer: 3.0.1 + is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 @@ -1784,17 +1639,17 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-prettier/8.6.0_eslint@8.33.0: - resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} + /eslint-config-prettier/8.7.0_eslint@8.35.0: + resolution: {integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.33.0 + eslint: 8.35.0 dev: true - /eslint-config-universe/11.1.1_sl4yhqy766lpm4ioafo5vrxqom: - resolution: {integrity: sha512-42J+/xnwZWcKjpMQbpY1WfAPkiPeTbjIDCrtQ45VsG6+DnpPZMrvD8zrbhPZPSXHF0kTUq22Cp5hQgPqJThHww==} + /eslint-config-universe/11.2.0_64jebu3ilvs7epq3v3pc7ikc4m: + resolution: {integrity: sha512-exyQ2DozdDjq+FmIFmo0l3LDVBIn9l8/hJn6EP/EYKGutj0Wr7MvDLp1nVLP07Wk9ykD0Hi2s8g+TP4SW5cOmQ==} peerDependencies: eslint: '>=8.10' prettier: '>=2.4' @@ -1802,15 +1657,15 @@ packages: prettier: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - eslint: 8.33.0 - eslint-config-prettier: 8.6.0_eslint@8.33.0 - eslint-plugin-import: 2.27.5_yzj2n2b43wonjwaifya6xmk2zy - eslint-plugin-node: 11.1.0_eslint@8.33.0 - eslint-plugin-prettier: 4.2.1_qa2thblfovmfepmgrc7z2owbo4 - eslint-plugin-react: 7.32.2_eslint@8.33.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.33.0 + '@typescript-eslint/eslint-plugin': 5.54.1_mlk7dnz565t663n4razh6a6v6i + '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu + eslint: 8.35.0 + eslint-config-prettier: 8.7.0_eslint@8.35.0 + eslint-plugin-import: 2.27.5_uyiasnnzcqrxqkfvjklwnmwcha + eslint-plugin-node: 11.1.0_eslint@8.35.0 + eslint-plugin-prettier: 4.2.1_xprnzp4ul2bcpmfe73av4voica + eslint-plugin-react: 7.32.2_eslint@8.35.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.35.0 prettier: 2.8.4 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -1829,7 +1684,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_fwto6vsnn2m6f5yglaeo6vhd5y: + /eslint-module-utils/2.7.4_spn4godk7g7ml4zhqabnc6rdgi: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -1850,26 +1705,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu debug: 3.2.7 - eslint: 8.33.0 + eslint: 8.35.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es/3.0.1_eslint@8.33.0: + /eslint-plugin-es/3.0.1_eslint@8.35.0: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.33.0 + eslint: 8.35.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import/2.27.5_yzj2n2b43wonjwaifya6xmk2zy: + /eslint-plugin-import/2.27.5_uyiasnnzcqrxqkfvjklwnmwcha: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -1879,15 +1734,15 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.33.0 + eslint: 8.35.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_fwto6vsnn2m6f5yglaeo6vhd5y + eslint-module-utils: 2.7.4_spn4godk7g7ml4zhqabnc6rdgi has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -1895,21 +1750,21 @@ packages: object.values: 1.1.6 resolve: 1.22.1 semver: 6.3.0 - tsconfig-paths: 3.14.1 + tsconfig-paths: 3.14.2 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-node/11.1.0_eslint@8.33.0: + /eslint-plugin-node/11.1.0_eslint@8.35.0: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.33.0 - eslint-plugin-es: 3.0.1_eslint@8.33.0 + eslint: 8.35.0 + eslint-plugin-es: 3.0.1_eslint@8.35.0 eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -1917,7 +1772,7 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-prettier/4.2.1_qa2thblfovmfepmgrc7z2owbo4: + /eslint-plugin-prettier/4.2.1_xprnzp4ul2bcpmfe73av4voica: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1928,22 +1783,22 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.33.0 - eslint-config-prettier: 8.6.0_eslint@8.33.0 + eslint: 8.35.0 + eslint-config-prettier: 8.7.0_eslint@8.35.0 prettier: 2.8.4 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.33.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.35.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.33.0 + eslint: 8.35.0 dev: true - /eslint-plugin-react/7.32.2_eslint@8.33.0: + /eslint-plugin-react/7.32.2_eslint@8.35.0: resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -1953,7 +1808,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.33.0 + eslint: 8.35.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -1990,13 +1845,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.33.0: + /eslint-utils/3.0.0_eslint@8.35.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.33.0 + eslint: 8.35.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2015,12 +1870,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.33.0: - resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==} + /eslint/8.35.0: + resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 + '@eslint/eslintrc': 2.0.0 + '@eslint/js': 8.35.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2031,10 +1887,10 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.33.0 + eslint-utils: 3.0.0_eslint@8.35.0 eslint-visitor-keys: 3.3.0 espree: 9.4.1 - esquery: 1.4.0 + esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -2072,8 +1928,8 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -2303,7 +2159,6 @@ packages: inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: false /global-dirs/3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} @@ -2435,7 +2290,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: minimatch: 5.1.6 - dev: false /ignore/5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} @@ -2480,8 +2334,8 @@ packages: side-channel: 1.0.4 dev: true - /is-array-buffer/3.0.1: - resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 @@ -2892,12 +2746,10 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: npm-normalize-package-bin: 2.0.0 - dev: false /npm-normalize-package-bin/2.0.0: resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: false /npm-packlist/5.1.3: resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} @@ -2908,7 +2760,6 @@ packages: ignore-walk: 5.0.1 npm-bundled: 2.0.1 npm-normalize-package-bin: 2.0.0 - dev: false /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -3422,8 +3273,8 @@ packages: engines: {node: '>=0.10.0'} dev: false - /spdx-correct/3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.12 @@ -3607,6 +3458,11 @@ packages: /tinybench/2.3.1: resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} + dev: false + + /tinybench/2.4.0: + resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} + dev: true /tinypool/0.3.1: resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} @@ -3698,16 +3554,11 @@ packages: /ts-pattern/4.1.3: resolution: {integrity: sha512-8beXMWTGEv1JfDjSxfNhe4uT5jKYdhmEUKzt4gZW9dmHlquq3b+IbEyA7vX9LjBfzHmvKnM4HiomAUCyaW2Pew==} - /ts-pattern/4.1.4: - resolution: {integrity: sha512-Mcw65oUd1w5ktKi5BRwrnz16Otwk9iv7P0dKgvbi+A1albCDgnixohSqNLuFwIp5dzxPmTPm0iDQ6p1ZJr9uGw==} - dev: true - /ts-pattern/4.2.1: resolution: {integrity: sha512-lXCmHZb01QOM9HdCLvisCGUH9ATdKPON9UaUvwe007gJAhuSBhRWIAIowys5QqNxEq6odWctfMIdI96vzjnOMQ==} - dev: false - /tsconfig-paths/3.14.1: - resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} + /tsconfig-paths/3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -3898,7 +3749,7 @@ packages: /validate-npm-package-license/3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validator/13.9.0: @@ -3906,7 +3757,7 @@ packages: engines: {node: '>= 0.10'} dev: false - /vite/3.2.5_@types+node@18.13.0: + /vite/3.2.5_@types+node@18.14.6: resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3931,7 +3782,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.13.0 + '@types/node': 18.14.6 esbuild: 0.15.18 postcss: 8.4.21 resolve: 1.22.1 @@ -3998,15 +3849,15 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.13.0 + '@types/node': 18.14.6 chai: 4.3.7 debug: 4.3.4 local-pkg: 0.4.3 strip-literal: 0.4.2 - tinybench: 2.3.1 + tinybench: 2.4.0 tinypool: 0.3.1 tinyspy: 1.1.1 - vite: 3.2.5_@types+node@18.13.0 + vite: 3.2.5_@types+node@18.14.6 transitivePeerDependencies: - less - sass