From c06c5d60c8a4d0f05eb3b1e84f97b5611f07005a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:01:46 +1000 Subject: [PATCH] fix(deps): update prisma monorepo to v4 (major) (#7671) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: mitchellhamilton Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com> Co-authored-by: Daniel Cousens --- .changeset/great-sloths-bake.md | 5 + .changeset/slow-games-greet.md | 6 + packages/core/package.json | 9 +- packages/core/src/artifacts.ts | 28 +- packages/core/src/fields/types/json/index.ts | 14 +- .../src/lib/core/mutations/create-update.ts | 26 +- packages/core/src/lib/core/utils.ts | 25 +- packages/core/src/lib/createSystem.ts | 8 +- packages/core/src/lib/migrations.ts | 2 +- packages/core/src/lib/types.d.ts | 4 + packages/core/src/scripts/run/dev.ts | 35 +- .../core/src/scripts/tests/migrations.test.ts | 2 +- packages/core/src/scripts/tests/utils.tsx | 2 +- prisma-utils/package.json | 4 +- prisma-utils/src/index.ts | 2 +- tests/api-tests/access-control/schema.test.ts | 2 +- yarn.lock | 358 ++++++++---------- 17 files changed, 274 insertions(+), 258 deletions(-) create mode 100644 .changeset/great-sloths-bake.md create mode 100644 .changeset/slow-games-greet.md create mode 100644 packages/core/src/lib/types.d.ts diff --git a/.changeset/great-sloths-bake.md b/.changeset/great-sloths-bake.md new file mode 100644 index 00000000000..a276b3946f6 --- /dev/null +++ b/.changeset/great-sloths-bake.md @@ -0,0 +1,5 @@ +--- +'@keystone-6/core': major +--- + +Updates Prisma to 4.2.1 diff --git a/.changeset/slow-games-greet.md b/.changeset/slow-games-greet.md new file mode 100644 index 00000000000..a33cc9b653a --- /dev/null +++ b/.changeset/slow-games-greet.md @@ -0,0 +1,6 @@ +--- +'@keystone-6/core': major +--- + +Changes the return type for the `resolveInput` hook with `json` fields. Previously you may have used `'DbNull'` or `'JsonNull'` as respective null magic values - you can now always use a Javascript `null` value. +Unlike previous behaviour, a null value will now consistently map to a `Prisma.DbNull`. diff --git a/packages/core/package.json b/packages/core/package.json index 071eefeb201..218f4bc2a0b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -53,9 +53,9 @@ "@keystone-ui/tooltip": "^6.0.1", "@nodelib/fs.walk": "^1.2.8", "@preconstruct/next": "^4.0.0", - "@prisma/client": "3.14.0", - "@prisma/migrate": "3.14.0", - "@prisma/sdk": "3.14.0", + "@prisma/client": "4.2.1", + "@prisma/internals": "4.2.1", + "@prisma/migrate": "4.2.1", "@sindresorhus/slugify": "^1.1.2", "@types/apollo-upload-client": "17.0.1", "@types/bcryptjs": "^2.4.2", @@ -113,13 +113,14 @@ "pirates": "4.0.4", "pluralize": "^8.0.0", "prettier": "^2.5.0", - "prisma": "3.14.0", + "prisma": "4.2.1", "prompts": "^2.4.2", "react": "^18.1.0", "react-dom": "^18.1.0", "resolve": "^1.20.0", "source-map-support": "^0.5.20", "supertest": "^6.1.6", + "ts-toolbelt": "^9.6.0", "uid-safe": "^2.1.5", "uuid": "^8.3.2" }, diff --git a/packages/core/src/artifacts.ts b/packages/core/src/artifacts.ts index e291f513a82..7758ded956c 100644 --- a/packages/core/src/artifacts.ts +++ b/packages/core/src/artifacts.ts @@ -2,7 +2,7 @@ import path from 'path'; import { createRequire } from 'module'; import { printSchema, GraphQLSchema } from 'graphql'; import * as fs from 'fs-extra'; -import { getGenerator, formatSchema } from '@prisma/sdk'; +import { getGenerator, formatSchema } from '@prisma/internals'; import { format } from 'prettier'; import type { KeystoneConfig } from './types'; import { confirmPrompt, shouldPrompt } from './lib/prompts'; @@ -54,17 +54,17 @@ async function ensurePrismaBinariesExist() { // ensureBinariesExist does a bunch of slightly expensive things // so if we can avoid running it a bunch in tests, that's ideal if (hasEnsuredBinariesExist) return; - // we're resolving @prisma/engines from @prisma/sdk + // we're resolving @prisma/engines from @prisma/internals // because we don't want to depend on @prisma/engines // since its version includes a commit hash from https://github.com/prisma/prisma-engines - // and we just want to use whatever version @prisma/sdk is using - // also note we use an exact version of @prisma/sdk - // so if @prisma/sdk suddenly stops depending on @prisma/engines + // and we just want to use whatever version @prisma/internals is using + // also note we use an exact version of @prisma/internals + // so if @prisma/internals suddenly stops depending on @prisma/engines // that won't break a released version of Keystone // also, we're not just directly importing @prisma/engines // since stricter package managers(e.g. pnpm, Yarn Berry) // don't allow importing packages that aren't explicitly depended on - const requireFromPrismaSdk = createRequire(require.resolve('@prisma/sdk')); + const requireFromPrismaSdk = createRequire(require.resolve('@prisma/internals')); const prismaEngines = requireFromPrismaSdk('@prisma/engines') as typeof import('@prisma/engines'); await prismaEngines.ensureBinariesExist(); hasEnsuredBinariesExist = true; @@ -248,7 +248,10 @@ export async function generateNodeModulesArtifacts( } async function generatePrismaClient(cwd: string) { - const generator = await getGenerator({ schemaPath: getSchemaPaths(cwd).prisma }); + const generator = await getGenerator({ + schemaPath: getSchemaPaths(cwd).prisma, + dataProxy: false, + }); try { await generator.generate(); } finally { @@ -264,6 +267,13 @@ async function generatePrismaClient(cwd: string) { } } -export function requirePrismaClient(cwd: string) { - return require(path.join(cwd, 'node_modules/.prisma/client')).PrismaClient; +export type PrismaModule = { + PrismaClient: { + new (args: unknown): any; + }; + Prisma: { DbNull: unknown; JsonNull: unknown; [key: string]: unknown }; +}; + +export function requirePrismaClient(cwd: string): PrismaModule { + return require(path.join(cwd, 'node_modules/.prisma/client')); } diff --git a/packages/core/src/fields/types/json/index.ts b/packages/core/src/fields/types/json/index.ts index 7cd8a26f2a3..7a013edcb23 100644 --- a/packages/core/src/fields/types/json/index.ts +++ b/packages/core/src/fields/types/json/index.ts @@ -24,11 +24,6 @@ export const json = throw Error("isIndexed: 'unique' is not a supported option for field type json"); } - const resolve = (val: JSONValue | undefined) => - val === null && (meta.provider === 'postgresql' || meta.provider === 'mysql') - ? 'DbNull' - : val; - return jsonFieldTypePolyfilledForSQLite( meta.provider, { @@ -37,10 +32,10 @@ export const json = create: { arg: graphql.arg({ type: graphql.JSON }), resolve(val) { - return resolve(val === undefined ? defaultValue : val); + return val === undefined ? defaultValue : val; }, }, - update: { arg: graphql.arg({ type: graphql.JSON }), resolve }, + update: { arg: graphql.arg({ type: graphql.JSON }) }, }, output: graphql.field({ type: graphql.JSON }), views: resolveView('json/views'), @@ -50,10 +45,7 @@ export const json = default: defaultValue === null ? undefined - : { - kind: 'literal', - value: JSON.stringify(defaultValue), - }, + : { kind: 'literal', value: JSON.stringify(defaultValue) }, map: config.db?.map, } ); diff --git a/packages/core/src/lib/core/mutations/create-update.ts b/packages/core/src/lib/core/mutations/create-update.ts index 1a6f15b035d..a21826c9371 100644 --- a/packages/core/src/lib/core/mutations/create-update.ts +++ b/packages/core/src/lib/core/mutations/create-update.ts @@ -7,6 +7,7 @@ import { IdType, runWithPrisma, getWriteLimit, + getPrismaNamespace, } from '../utils'; import { InputFilter, resolveUniqueWhereInput, UniqueInputFilter } from '../where-inputs'; import { @@ -363,7 +364,7 @@ async function resolveInputForCreateOrUpdate( // Return the full resolved input (ready for prisma level operation), // and the afterOperation hook to be applied return { - data: transformForPrismaClient(list.fields, hookArgs.resolvedData), + data: transformForPrismaClient(list.fields, hookArgs.resolvedData, context), afterOperation: async (updatedItem: BaseItem) => { await nestedMutationState.afterOperation(); await runSideEffectOnlyHook( @@ -381,19 +382,36 @@ async function resolveInputForCreateOrUpdate( }; } +function transformInnerDBField( + dbField: Exclude, + context: KeystoneContext, + value: unknown +) { + if (dbField.kind === 'scalar' && dbField.scalar === 'Json' && value === null) { + const Prisma = getPrismaNamespace(context); + return Prisma.DbNull; + } + return value; +} + function transformForPrismaClient( fields: Record, - data: Record + data: Record, + context: KeystoneContext ) { return Object.fromEntries( Object.entries(data).flatMap(([fieldKey, value]) => { const { dbField } = fields[fieldKey]; if (dbField.kind === 'multi') { return Object.entries(value).map(([innerFieldKey, fieldValue]) => { - return [getDBFieldKeyForFieldOnMultiField(fieldKey, innerFieldKey), fieldValue]; + return [ + getDBFieldKeyForFieldOnMultiField(fieldKey, innerFieldKey), + transformInnerDBField(dbField.fields[innerFieldKey], context, fieldValue), + ]; }); } - return [[fieldKey, value]]; + + return [[fieldKey, transformInnerDBField(dbField, context, value)]]; }) ); } diff --git a/packages/core/src/lib/core/utils.ts b/packages/core/src/lib/core/utils.ts index 8c8b023a915..9ff2cf6b6d8 100644 --- a/packages/core/src/lib/core/utils.ts +++ b/packages/core/src/lib/core/utils.ts @@ -1,5 +1,6 @@ import { Limit } from 'p-limit'; import pluralize from 'pluralize'; +import { PrismaModule } from '../../artifacts'; import { BaseItem, KeystoneConfig, KeystoneContext } from '../../types'; import { humanize } from '../utils'; import { prismaError } from './graphql-errors'; @@ -164,16 +165,32 @@ export function getDBFieldKeyForFieldOnMultiField(fieldKey: string, subField: st // because even across requests, we want to apply the limit on SQLite const writeLimits = new WeakMap(); -export const setWriteLimit = (prismaClient: object, limit: Limit) => { +export function setWriteLimit(prismaClient: object, limit: Limit) { writeLimits.set(prismaClient, limit); -}; +} // this accepts the context instead of the prisma client because the prisma client on context is `any` // so by accepting the context, it'll be less likely the wrong thing will be passed. -export const getWriteLimit = (context: KeystoneContext) => { +export function getWriteLimit(context: KeystoneContext) { const limit = writeLimits.get(context.prisma); if (limit === undefined) { throw new Error('unexpected write limit not set for prisma client'); } return limit; -}; +} + +const prismaNamespaces = new WeakMap(); + +export function setPrismaNamespace(prismaClient: object, prismaNamespace: PrismaModule['Prisma']) { + prismaNamespaces.set(prismaClient, prismaNamespace); +} + +// this accepts the context instead of the prisma client because the prisma client on context is `any` +// so by accepting the context, it'll be less likely the wrong thing will be passed. +export function getPrismaNamespace(context: KeystoneContext) { + const limit = prismaNamespaces.get(context.prisma); + if (limit === undefined) { + throw new Error('unexpected prisma namespace not set for prisma client'); + } + return limit; +} diff --git a/packages/core/src/lib/createSystem.ts b/packages/core/src/lib/createSystem.ts index ae9f62602f1..71462c4c8a2 100644 --- a/packages/core/src/lib/createSystem.ts +++ b/packages/core/src/lib/createSystem.ts @@ -2,10 +2,11 @@ import pLimit from 'p-limit'; import { FieldData, KeystoneConfig, getGqlNames } from '../types'; import { createAdminMeta } from '../admin-ui/system/createAdminMeta'; +import { PrismaModule } from '../artifacts'; import { createGraphQLSchema } from './createGraphQLSchema'; import { makeCreateContext } from './context/createContext'; import { initialiseLists } from './core/types-for-lists'; -import { setWriteLimit } from './core/utils'; +import { setPrismaNamespace, setWriteLimit } from './core/utils'; function getSudoGraphQLSchema(config: KeystoneConfig) { // This function creates a GraphQLSchema based on a modified version of the provided config. @@ -72,12 +73,13 @@ export function createSystem(config: KeystoneConfig, isLiveReload?: boolean) { return { graphQLSchema, adminMeta, - getKeystone: (PrismaClient: any) => { - const prismaClient = new PrismaClient({ + getKeystone: (prismaModule: PrismaModule) => { + const prismaClient = new prismaModule.PrismaClient({ log: config.db.enableLogging ? ['query'] : undefined, datasources: { [config.db.provider]: { url: config.db.url } }, }); setWriteLimit(prismaClient, pLimit(config.db.provider === 'sqlite' ? 1 : Infinity)); + setPrismaNamespace(prismaClient, prismaModule.Prisma); prismaClient.$on('beforeExit', async () => { // Prisma is failing to properly clean up its child processes // https://github.com/keystonejs/keystone/issues/5477 diff --git a/packages/core/src/lib/migrations.ts b/packages/core/src/lib/migrations.ts index d5b90d293a8..8f85c8c5baf 100644 --- a/packages/core/src/lib/migrations.ts +++ b/packages/core/src/lib/migrations.ts @@ -1,5 +1,5 @@ import path from 'path'; -import { createDatabase, uriToCredentials, DatabaseCredentials } from '@prisma/sdk'; +import { createDatabase, uriToCredentials, DatabaseCredentials } from '@prisma/internals'; import { Migrate } from '@prisma/migrate'; import chalk from 'chalk'; import slugify from '@sindresorhus/slugify'; diff --git a/packages/core/src/lib/types.d.ts b/packages/core/src/lib/types.d.ts new file mode 100644 index 00000000000..f2de1a6128e --- /dev/null +++ b/packages/core/src/lib/types.d.ts @@ -0,0 +1,4 @@ +// @prisma/migrate's types seem to not be right +declare module '@prisma/migrate' { + export * from '@prisma/migrate/dist/migrate/src'; +} diff --git a/packages/core/src/scripts/run/dev.ts b/packages/core/src/scripts/run/dev.ts index cee45ce0441..11ede9023bd 100644 --- a/packages/core/src/scripts/run/dev.ts +++ b/packages/core/src/scripts/run/dev.ts @@ -74,8 +74,16 @@ export const dev = async (cwd: string, shouldDropDatabase: boolean) => { const p = serializePathForImport( path.relative(path.join(getAdminPath(cwd), 'pages', 'api'), `${cwd}/keystone`) ); - const { adminMeta, graphQLSchema, createContext, prismaSchema, apolloServer, ...rest } = - await setupInitialKeystone(config, cwd, shouldDropDatabase); + + const { + adminMeta, + graphQLSchema, + createContext, + prismaSchema, + apolloServer, + prismaClientModule, + ...rest + } = await setupInitialKeystone(config, cwd, shouldDropDatabase); if (configWithHTTP?.server?.extendHttpServer) { const createRequestContext = async (req: IncomingMessage, res: ServerResponse) => @@ -195,8 +203,11 @@ exports.default = function (req, res) { return res.send(x.toString()) } await generateNodeModulesArtifactsWithoutPrismaClient(graphQLSchema, newConfig, cwd); await generateAdminUI(newConfig, graphQLSchema, adminMeta, getAdminPath(cwd), true); - const keystone = getKeystone(function fakePrismaClientClass() { - return prismaClient; + const keystone = getKeystone({ + PrismaClient: function fakePrismaClientClass() { + return prismaClient; + } as unknown as new (args: unknown) => any, + Prisma: prismaClientModule.Prisma, }); await keystone.connect(); const servers = await createExpressServer( @@ -346,10 +357,8 @@ async function setupInitialKeystone( // Generate the Artifacts console.log('✨ Generating GraphQL and Prisma schemas'); const prismaSchema = (await generateCommittedArtifacts(graphQLSchema, config, cwd)).prisma; - let keystonePromise = generateNodeModulesArtifacts(graphQLSchema, config, cwd).then(() => { - const prismaClient = requirePrismaClient(cwd); - return getKeystone(prismaClient); - }); + + let prismaClientGenerationPromise = generateNodeModulesArtifacts(graphQLSchema, config, cwd); let migrationPromise: Promise; @@ -372,8 +381,9 @@ async function setupInitialKeystone( ); } - const [keystone] = await Promise.all([keystonePromise, migrationPromise]); - const { createContext } = keystone; + await Promise.all([prismaClientGenerationPromise, migrationPromise]); + const prismaClientModule = requirePrismaClient(cwd); + const keystone = getKeystone(prismaClientModule); // Connect to the Database console.log('✨ Connecting to the database'); @@ -384,7 +394,7 @@ async function setupInitialKeystone( const { apolloServer, expressServer } = await createExpressServer( config, graphQLSchema, - createContext + keystone.createContext ); console.log(`✅ GraphQL API ready`); @@ -402,8 +412,9 @@ async function setupInitialKeystone( expressServer, apolloServer, graphQLSchema, - createContext, + createContext: keystone.createContext, prismaSchema, + prismaClientModule, }; } diff --git a/packages/core/src/scripts/tests/migrations.test.ts b/packages/core/src/scripts/tests/migrations.test.ts index 01316797cb5..7cee3a8f8b7 100644 --- a/packages/core/src/scripts/tests/migrations.test.ts +++ b/packages/core/src/scripts/tests/migrations.test.ts @@ -41,7 +41,7 @@ async function setupAndStopDevServerForMigrations(cwd: string, resetDb: boolean } function getPrismaClient(cwd: string) { - const prismaClient = new (requirePrismaClient(cwd))({ + const prismaClient = new (requirePrismaClient(cwd).PrismaClient)({ datasources: { sqlite: { url: dbUrl } }, }); return prismaClient; diff --git a/packages/core/src/scripts/tests/utils.tsx b/packages/core/src/scripts/tests/utils.tsx index e19122960f2..a62101d7ddf 100644 --- a/packages/core/src/scripts/tests/utils.tsx +++ b/packages/core/src/scripts/tests/utils.tsx @@ -8,7 +8,7 @@ import fastGlob from 'fast-glob'; import fixturez from 'fixturez'; import outdent from 'outdent'; import { parseArgsStringToArgv } from 'string-argv'; -import { IntrospectionEngine, uriToCredentials } from '@prisma/sdk'; +import { IntrospectionEngine, uriToCredentials } from '@prisma/internals'; import { KeystoneConfig } from '../../types'; import { cli } from '../cli'; import { mockPrompts } from '../../lib/prompts'; diff --git a/prisma-utils/package.json b/prisma-utils/package.json index 714b34c9a22..5de084e5a31 100644 --- a/prisma-utils/package.json +++ b/prisma-utils/package.json @@ -4,8 +4,8 @@ "private": true, "main": "dist/keystone-6-prisma-utils.cjs.js", "dependencies": { - "@prisma/generator-helper": "3.14.0", - "@prisma/sdk": "3.14.0", + "@prisma/generator-helper": "4.2.1", + "@prisma/internals": "4.2.1", "fs-extra": "^10.0.0", "prettier": "^2.5.0" }, diff --git a/prisma-utils/src/index.ts b/prisma-utils/src/index.ts index 662818d9e96..4babb0863f7 100644 --- a/prisma-utils/src/index.ts +++ b/prisma-utils/src/index.ts @@ -6,7 +6,7 @@ import { deepStrictEqual } from 'assert'; import { isDeepStrictEqual } from 'util'; import fs from 'fs-extra'; import { DMMF } from '@prisma/generator-helper'; -import { getDMMF } from '@prisma/sdk'; +import { getDMMF } from '@prisma/internals'; import { format, resolveConfig } from 'prettier'; const providers = ['postgresql', 'sqlite', 'mysql'] as const; diff --git a/tests/api-tests/access-control/schema.test.ts b/tests/api-tests/access-control/schema.test.ts index 8775afa4d22..f9b0c6c8d22 100644 --- a/tests/api-tests/access-control/schema.test.ts +++ b/tests/api-tests/access-control/schema.test.ts @@ -41,7 +41,7 @@ class FakePrismaClient { const { getKeystone } = createSystem(initConfig(config)); -const { createContext } = getKeystone(FakePrismaClient); +const { createContext } = getKeystone({ PrismaClient: FakePrismaClient, Prisma: {} as any }); const context = createContext(); diff --git a/yarn.lock b/yarn.lock index abe319b131a..5b37b5fd561 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3205,6 +3205,40 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@opentelemetry/api@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a" + integrity sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ== + +"@opentelemetry/core@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.5.0.tgz#717bceee15d4c69d4c7321c1fe0f5a562b60eb81" + integrity sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w== + dependencies: + "@opentelemetry/semantic-conventions" "1.5.0" + +"@opentelemetry/resources@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.5.0.tgz#ce7fbdaec3494e41bc279ddbed3c478ee2570b03" + integrity sha512-YeEfC6IY54U3xL3P2+UAiom+r50ZF2jM0J47RV5uTFGF19Xjd5zazSwDPgmxtAd6DwLX0/5S5iqrsH4nEXMYoA== + dependencies: + "@opentelemetry/core" "1.5.0" + "@opentelemetry/semantic-conventions" "1.5.0" + +"@opentelemetry/sdk-trace-base@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.5.0.tgz#259439009fff5637e7a379ece7446ce5beb84b77" + integrity sha512-6lx7YDf67HSQYuWnvq3XgSrWikDJLiGCbrpUP6UWJ5Z47HLcJvwZPRH+cQGJu1DFS3dT2cV3GpAR75/OofPNHQ== + dependencies: + "@opentelemetry/core" "1.5.0" + "@opentelemetry/resources" "1.5.0" + "@opentelemetry/semantic-conventions" "1.5.0" + +"@opentelemetry/semantic-conventions@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.5.0.tgz#cea9792bfcf556c87ded17c6ac729348697bb632" + integrity sha512-wlYG/U6ddW1ilXslnDLLQYJ8nd97W8JJTTfwkGhubx6dzW6SUkd+N4/MzTjjyZlrHQunxHtkHFvVpUKiROvFDw== + "@popperjs/core@^2.10.2": version "2.11.6" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" @@ -3275,40 +3309,33 @@ resolved "https://registry.yarnpkg.com/@preconstruct/next/-/next-4.0.0.tgz#4d9c64ed68bb7cdc72d35d79d1dbe26ba2cae61e" integrity sha512-vSrc8wFQgBErU7dKTKSQtr/DLWPHcN9jMoiWOAQodB1+B4Kpqqry6QhGYoRm0DQU5gNL+Rcp+Xb350O1E/gjsg== -"@prisma/client@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-3.14.0.tgz#bb90405c012fcca11f4647d91153ed4c58f3bd48" - integrity sha512-atb41UpgTR1MCst0VIbiHTMw8lmXnwUvE1KyUCAkq08+wJyjRE78Due+nSf+7uwqQn+fBFYVmoojtinhlLOSaA== +"@prisma/client@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.2.1.tgz#b384587f6066070381ea4c90228a14697a0c271b" + integrity sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ== dependencies: - "@prisma/engines-version" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" + "@prisma/engines-version" "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826" -"@prisma/debug@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-3.13.0.tgz#37e783e46262e637bf27e5d8b2149df09f1dfcc5" - integrity sha512-uzL4ug7pWbiodTSW/WMAJ9SOP/ulxn6EVlV4YTpKaidgPMOLPqSV7iLZP7P4w7q3HGSpWZp+kr2a4nq7+ANEfg== +"@prisma/debug@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-4.2.1.tgz#22f87552325e761b8be794a7595af65314bd57b2" + integrity sha512-Cf7FBwZN5dNHD/iboWYbKQHSykpoVP/AmWVCUm74S3av2XbbHE5Eku5oudhpWD8gE55UrpHvO8hzBmD9m+XTQQ== dependencies: "@types/debug" "4.1.7" - ms "2.1.3" + debug "4.3.4" strip-ansi "6.0.1" -"@prisma/debug@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-3.14.0.tgz#4bc87b6c5e28e018063799ef01fd03f3e4628030" - integrity sha512-cvA2NRJU6oLCFpYcOJO6jjUZZcPwQqdKYVpa6OY+jFrSwLdYLgSPjrfbnBPOD2z1gzODdnrWYfpz3wPKVhZ0IQ== - dependencies: - "@types/debug" "4.1.7" - ms "2.1.3" - strip-ansi "6.0.1" - -"@prisma/engine-core@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-3.14.0.tgz#4ac776ddb81e970a494e61774970bc62e5c09c6a" - integrity sha512-GqXQrGFhuQFX78/UMHXeGglOE+8SqFusSjTgyiiC2whW5Dpu0eVQPTOQ4CgukFkae973PO75HJh27bH4Cw2IWw== - dependencies: - "@prisma/debug" "3.14.0" - "@prisma/engines" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - "@prisma/generator-helper" "3.14.0" - "@prisma/get-platform" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" +"@prisma/engine-core@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-4.2.1.tgz#9644a4e699a2be13e2767487de316dbf7c0d001d" + integrity sha512-IExgNEv7QFq1hj1IX4xWkXyk79V+lkTfw0bSaJuTyNgUOjs7X3Li+56Cs7Ss6aVujlBHXT/79lSkjo+oZ7v0Iw== + dependencies: + "@opentelemetry/api" "^1.1.0" + "@opentelemetry/sdk-trace-base" "^1.4.0" + "@prisma/debug" "4.2.1" + "@prisma/engines" "4.2.1" + "@prisma/generator-helper" "4.2.1" + "@prisma/get-platform" "4.2.1" chalk "4.1.2" execa "5.1.1" get-stream "6.0.1" @@ -3316,25 +3343,25 @@ new-github-issue-url "0.2.1" p-retry "4.6.2" strip-ansi "6.0.1" - undici "5.0.0" + undici "5.8.0" -"@prisma/engines-version@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#4edae57cf6527f35e22cebe75e49214fc0e99ac9" - integrity sha512-D+yHzq4a2r2Rrd0ZOW/mTZbgDIkUkD8ofKgusEI1xPiZz60Daks+UM7Me2ty5FzH3p/TgyhBpRrfIHx+ha20RQ== +"@prisma/engines-version@4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826": + version "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz#63917e579b9f15460f102eaf08a4411a7e0666e7" + integrity sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ== -"@prisma/engines@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#7fa11bc26a51d450185c816cc0ab8cac673fb4bf" - integrity sha512-LwZvI3FY6f43xFjQNRuE10JM5R8vJzFTSmbV9X0Wuhv9kscLkjRlZt0BEoiHmO+2HA3B3xxbMfB5du7ZoSFXGg== +"@prisma/engines@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.2.1.tgz#60c7d0acc1c0c5b70ece712e2cbe13f46a345d6e" + integrity sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g== -"@prisma/fetch-engine@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#764deae6ead869d69d0825c12221da02fa15cb42" - integrity sha512-biB8habC1IrxJc9xhOeS0Rkr4JmyTlRZ+5I8zdH/5F78nZmYzsFdT/KEAA4Wnc1U01Vou5mfJCFrLN+c3+gJXg== +"@prisma/fetch-engine@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-4.2.1.tgz#f8d32a855d2c16696201e7776a987d619720919a" + integrity sha512-O72UNvkiZOBx1fo9LF9BbFOINfJtqy72ska6qwRexa46Fxls2wQHmZAJ2sC2tw5wkm4XO8Nb20rw1qSz6EP1oA== dependencies: - "@prisma/debug" "3.13.0" - "@prisma/get-platform" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" + "@prisma/debug" "4.2.1" + "@prisma/get-platform" "4.2.1" chalk "4.1.2" execa "5.1.1" find-cache-dir "3.3.2" @@ -3351,72 +3378,52 @@ temp-dir "2.0.0" tempy "1.0.1" -"@prisma/generator-helper@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-3.14.0.tgz#d0eb3b6c0d72c35da1644e134ef953059d3208d7" - integrity sha512-WuYhXMOr2rJ+A0D93QLoKJvu7FlHORPZz/72LwZlJT2GXQi2WNtS2xKJzgCI+Auc0JlLjijV5/7mDrUa4iHUbw== +"@prisma/generator-helper@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-4.2.1.tgz#26cd37b00dc2b30e08f9e04333496721833e3ab5" + integrity sha512-6P3lJMu/he4LcvUBL+1L9IkBGpF2Z8Kgp3Qr9hyjPLbFh4gLRfMC76Wj4vIlWpOyKW/P3tQH7NwU9kH/eq6z1g== dependencies: - "@prisma/debug" "3.14.0" + "@prisma/debug" "4.2.1" "@types/cross-spawn" "6.0.2" chalk "4.1.2" cross-spawn "7.0.3" -"@prisma/get-platform@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#239d2f9a62c60ade4924562059c511b721a69d48" - integrity sha512-jblBbReog/f+iIJb1PYAObHpJHdbjXhgHTOnyEPJ8wGl0rMHiwQKGd0ok+vc/da1WfWnDZYxUunuXCqDOtle+A== +"@prisma/get-platform@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-4.2.1.tgz#6f58207554976df11310ec92d15db8bddfaf9f73" + integrity sha512-Ng/a4MWW9OK2WhJYEOXMvESHHUgRgjJuu4j0gCvXd2OgB+F3/1fwUCRDBkgqSPS7VaSaoYVW7kEx0BDXqTfvHA== dependencies: - "@prisma/debug" "3.13.0" + "@prisma/debug" "4.2.1" -"@prisma/migrate@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/migrate/-/migrate-3.14.0.tgz#8b81924c04c6ca2765c912ee26b85735c7907345" - integrity sha512-fDYPcYDGSSBpy/dK8RUmKsaW5l9XLKcTf5fe6YPXMWggFXRaBZFUlUCxJHAoysdoEArHzxZmft6Qdp13Gw6U7w== - dependencies: - "@prisma/debug" "3.14.0" - "@prisma/get-platform" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - "@sindresorhus/slugify" "1.1.2" - chalk "4.1.2" - execa "5.1.1" - get-stdin "8.0.0" - has-yarn "2.1.0" - indent-string "4.0.0" - log-update "4.0.0" - mariadb "3.0.0" - mssql "8.1.0" - pg "8.7.3" - pkg-up "3.1.0" - prompts "2.4.2" - strip-ansi "6.0.1" - strip-indent "3.0.0" - ts-pattern "^4.0.1" - -"@prisma/sdk@3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-3.14.0.tgz#db3cdee76ec7c351e806da6edda307a45cbf2cfc" - integrity sha512-q/4hAQjwW6iAXBmjhcUtwCmnSRu8x3bmpTzZltl/R0wfqjm7GVmKMY3j9XlIj9fzdBHfOKgj9FoNYQx/HBRsHQ== - dependencies: - "@prisma/debug" "3.14.0" - "@prisma/engine-core" "3.14.0" - "@prisma/engines" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - "@prisma/fetch-engine" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - "@prisma/generator-helper" "3.14.0" - "@prisma/get-platform" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - "@timsuchanek/copy" "1.4.5" +"@prisma/internals@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/internals/-/internals-4.2.1.tgz#f1743b6c8c40becaa72d53ecabe063e7f0b3da80" + integrity sha512-0mioRLtvdVTKnZvIf8N7MKHBJ0FBxKwdLXNdO/KRU7efsBjy5YANGf/lxgL9wROAC79jYgeu2jLM9YO5L0ZT6w== + dependencies: + "@prisma/debug" "4.2.1" + "@prisma/engine-core" "4.2.1" + "@prisma/engines" "4.2.1" + "@prisma/fetch-engine" "4.2.1" + "@prisma/generator-helper" "4.2.1" + "@prisma/get-platform" "4.2.1" archiver "5.3.1" - arg "5.0.1" + arg "5.0.2" chalk "4.1.2" checkpoint-client "1.1.21" cli-truncate "2.1.0" - dotenv "16.0.0" + dotenv "16.0.1" escape-string-regexp "4.0.0" execa "5.1.1" find-up "5.0.0" + fp-ts "2.12.2" + fs-extra "10.1.0" fs-jetpack "4.3.1" global-dirs "3.0.0" globby "11.1.0" has-yarn "2.1.0" is-ci "3.0.1" + is-windows "^1.0.2" + is-wsl "^2.2.0" make-dir "3.1.0" new-github-issue-url "0.2.1" node-fetch "2.6.7" @@ -3426,13 +3433,11 @@ prompts "2.4.2" read-pkg-up "7.0.1" replace-string "3.1.0" - resolve "1.22.0" + resolve "1.22.1" rimraf "3.0.2" - shell-quote "1.7.3" string-width "4.2.3" strip-ansi "6.0.1" strip-indent "3.0.0" - tar "6.1.11" temp-dir "2.0.0" temp-write "4.0.0" tempy "1.0.1" @@ -3440,6 +3445,29 @@ tmp "0.2.1" ts-pattern "^4.0.1" +"@prisma/migrate@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@prisma/migrate/-/migrate-4.2.1.tgz#99e68212894dd6c9618514aa53fdcb29aa9d70d7" + integrity sha512-2HO0bh4XpH5mPEqJEWqiY+qjW1a0/43BlbWq7ZDpAxOzRgQfsniK5kFW4JWNczqpjRFjCpWfJndiogSXMVoeng== + dependencies: + "@prisma/debug" "4.2.1" + "@prisma/get-platform" "4.2.1" + "@sindresorhus/slugify" "1.1.2" + chalk "4.1.2" + execa "5.1.1" + get-stdin "8.0.0" + has-yarn "2.1.0" + indent-string "4.0.0" + log-update "4.0.0" + mariadb "3.0.1" + mssql "8.1.2" + pg "8.7.3" + pkg-up "3.1.0" + prompts "2.4.2" + strip-ansi "6.0.1" + strip-indent "3.0.0" + ts-pattern "^4.0.1" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -3841,21 +3869,6 @@ "@testing-library/dom" "^8.5.0" "@types/react-dom" "^18.0.0" -"@timsuchanek/copy@1.4.5": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@timsuchanek/copy/-/copy-1.4.5.tgz#8e9658c056e24e1928a88bed45f9eac6a72b7c40" - integrity sha512-N4+2/DvfwzQqHYL/scq07fv8yXbZc6RyUxKJoE8Clm14JpLOf9yNI4VB4D6RsV3h9zgzZ4loJUydHKM7pp3blw== - dependencies: - "@timsuchanek/sleep-promise" "^8.0.1" - commander "^2.19.0" - mkdirp "^1.0.4" - prettysize "^2.0.0" - -"@timsuchanek/sleep-promise@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@timsuchanek/sleep-promise/-/sleep-promise-8.0.1.tgz#81c0754b345138a519b51c2059771eb5f9b97818" - integrity sha512-cxHYbrXfnCWsklydIHSw5GCMHUPqpJ/enxWSyVHNOgNe61sit/+aOXTTI+VOdWkvVaJsI2vsB9N4+YDNITawOQ== - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -4871,10 +4884,10 @@ arg@4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0" integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== -arg@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" - integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== +arg@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" @@ -5601,11 +5614,6 @@ chokidar@^2.0.0: optionalDependencies: fsevents "^1.2.7" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - ci-info@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" @@ -5782,7 +5790,7 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== -commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: +commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -6114,7 +6122,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -6421,12 +6429,7 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -dotenv@16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411" - integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q== - -dotenv@^16.0.0: +dotenv@16.0.1, dotenv@^16.0.0: version "16.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== @@ -7338,7 +7341,7 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fp-ts@^2.11.5: +fp-ts@2.12.2, fp-ts@^2.11.5: version "2.12.2" resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.12.2.tgz#a191db2dbbb04f48a0e75050b94f57cc876c7b40" integrity sha512-v8J7ud+nTkP5Zz17GhpCsY19wiRbB9miuj61nBcCJyDpu52zs9Z4O7OLDfYoKFQMJ9EsSZA7W1vRgC1d3jy5qw== @@ -7370,7 +7373,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^10.0.0: +fs-extra@10.1.0, fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -7424,13 +7427,6 @@ fs-jetpack@4.3.1: minimatch "^3.0.2" rimraf "^2.6.3" -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -8276,7 +8272,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1, is-core-module@^2.9.0: +is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== @@ -9596,10 +9592,10 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -mariadb@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-3.0.0.tgz#0738b14036be097991172b22c0ce1d43e261c014" - integrity sha512-1uIqD6AWLP5ojMY67XP4+4uRLe9L92HD1ZGU8fidi8cGdYIC+Ghx1JliAtf7lc/tGjOh6J400f/1M4BXVtZFvA== +mariadb@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-3.0.1.tgz#af9aa0aeffd549be171b4b41bdd04315fca13817" + integrity sha512-orYg4JojWszNWlI1a+We2TUe4h+S5WIkjUa0U4DF0jjrOtxBVtCsQtioXxURWCxVfxwQ5wZVZkBoa53lqRuQeQ== dependencies: "@alloc/quick-lru" "^5.2.0" "@types/geojson" "^7946.0.8" @@ -10419,21 +10415,6 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minipass@^3.0.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -10447,11 +10428,6 @@ mixme@^0.5.1: resolved "https://registry.yarnpkg.com/mixme/-/mixme-0.5.4.tgz#8cb3bd0cd32a513c161bf1ca99d143f0bcf2eff3" integrity sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw== -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - moment-timezone@^0.5.34: version "0.5.34" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" @@ -10484,10 +10460,10 @@ ms@2.1.3, ms@^2.1.1, ms@^2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mssql@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/mssql/-/mssql-8.1.0.tgz#d660eafdf0fcf529e2c839705b9455d60ccbacf5" - integrity sha512-S7j4MoanTCLM09I+wMI9thTS2342mgxCpOQ9kpnFiG3P1NStuQMhPILLOgOt6hwMa/ctfTUKl7eJpB5XGPoe6A== +mssql@8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/mssql/-/mssql-8.1.2.tgz#dff6f0cd3fce403bf6d06eaf83578adbe6aab325" + integrity sha512-xkTw3Sp1Jpq2f7CG3rFQn6YK4XZbnL8HfZhaB/KRC/hjDZlJB3pSWYN2Cp/WwxIeA1iUJkdFa6GTfdMY8+DAjg== dependencies: "@tediousjs/connection-string" "^0.3.0" commander "^9.1.0" @@ -11395,22 +11371,17 @@ pretty-format@^28.0.0, pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -prettysize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-2.0.0.tgz#902c02480d865d9cc0813011c9feb4fa02ce6996" - integrity sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg== - prism-react-renderer@^1.2.1: version "1.3.5" resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== -prisma@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.14.0.tgz#dd67ece37d7b5373e9fd9588971de0024b49be81" - integrity sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw== +prisma@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.2.1.tgz#3558359f15021aa4767de8c6d0ca1f285cf33d65" + integrity sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg== dependencies: - "@prisma/engines" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" + "@prisma/engines" "4.2.1" process-nextick-args@~2.0.0: version "2.0.1" @@ -12104,16 +12075,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0: +resolve@1.22.1, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -12372,11 +12334,6 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== - shellsubstitute@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shellsubstitute/-/shellsubstitute-1.2.0.tgz#e4f702a50c518b0f6fe98451890d705af29b6b70" @@ -13044,18 +13001,6 @@ tar-stream@^2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar@6.1.11: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - tarn@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.2.tgz#73b6140fbb881b71559c4f8bfde3d9a4b3d27693" @@ -13394,6 +13339,11 @@ ts-pattern@^4.0.1: resolved "https://registry.yarnpkg.com/ts-pattern/-/ts-pattern-4.0.5.tgz#8e87db265b890ddb0dfc10deda36568296ebd5c3" integrity sha512-Bq44KCEt7JVaNLa148mBCJkcQf4l7jtLEBDuDdeuLynWDA+1a60P4D0rMkqSM9mOKLQbIWUddE9h3XKyKwBeqA== +ts-toolbelt@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5" + integrity sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w== + tsconfig-paths@^3.11.0: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -13533,10 +13483,10 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.0.0.tgz#3c1e08c7f0df90c485d5d8dbb0517e11e34f2090" - integrity sha512-VhUpiZ3No1DOPPQVQnsDZyfcbTTcHdcgWej1PdFnSvOeJmOVDgiOHkunJmBLfmjt4CqgPQddPVjSWW0dsTs5Yg== +undici@5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.8.0.tgz#dec9a8ccd90e5a1d81d43c0eab6503146d649a4f" + integrity sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q== unherit@^1.0.4: version "1.1.3"