From 8d72c4968ddc3f7ece79eb8870194dc071c1065a Mon Sep 17 00:00:00 2001 From: Pavel White Date: Sat, 15 Jul 2023 14:39:22 +0300 Subject: [PATCH 1/6] fix(cli): regenerate prisma schema during `keystone prisma` command We also want to disable GrpahQL validations because it's no so important for prisma command. --- packages/core/src/scripts/prisma.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core/src/scripts/prisma.ts b/packages/core/src/scripts/prisma.ts index ca44da58670..2459c3429f1 100644 --- a/packages/core/src/scripts/prisma.ts +++ b/packages/core/src/scripts/prisma.ts @@ -19,7 +19,6 @@ export async function prisma(cwd: string, args: string[], frozen: boolean) { // TODO: this cannot be changed for now, circular dependency with getSystemPaths, getEsbuildConfig const config = getBuiltKeystoneConfiguration(cwd); const { graphQLSchema } = createSystem(config); - await validatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); const result = await execa('node', [require.resolve('prisma'), ...args], { From 60db7db4143d7c63590f702d4e558606ecb74b03 Mon Sep 17 00:00:00 2001 From: Pavel White Date: Sat, 15 Jul 2023 15:00:43 +0300 Subject: [PATCH 2/6] fix(cli): regenerate prisma schema and GraphQL during `keystone prisma ..` command --- packages/core/src/scripts/prisma.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/src/scripts/prisma.ts b/packages/core/src/scripts/prisma.ts index 2459c3429f1..10fc9a33e85 100644 --- a/packages/core/src/scripts/prisma.ts +++ b/packages/core/src/scripts/prisma.ts @@ -4,7 +4,7 @@ import { createSystem } from '../lib/createSystem'; import { getBuiltKeystoneConfiguration, generateTypescriptTypesAndPrisma, - validatePrismaAndGraphQLSchemas, + generatePrismaAndGraphQLSchemas, } from '../artifacts'; import { getEsbuildConfig } from '../lib/esbuild'; import { ExitError } from './utils'; @@ -19,6 +19,8 @@ export async function prisma(cwd: string, args: string[], frozen: boolean) { // TODO: this cannot be changed for now, circular dependency with getSystemPaths, getEsbuildConfig const config = getBuiltKeystoneConfiguration(cwd); const { graphQLSchema } = createSystem(config); + console.log('✨ Generating GraphQL and Prisma schemas'); + await generatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); const result = await execa('node', [require.resolve('prisma'), ...args], { From f1e27c6d20d313e5dba624f18c8ca9e878d053c8 Mon Sep 17 00:00:00 2001 From: Daniel Cousens <413395+dcousens@users.noreply.github.com> Date: Tue, 18 Jul 2023 12:00:19 +1000 Subject: [PATCH 3/6] respect the frozen flag --- packages/core/src/scripts/prisma.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/core/src/scripts/prisma.ts b/packages/core/src/scripts/prisma.ts index 10fc9a33e85..75d10dd6550 100644 --- a/packages/core/src/scripts/prisma.ts +++ b/packages/core/src/scripts/prisma.ts @@ -19,9 +19,15 @@ export async function prisma(cwd: string, args: string[], frozen: boolean) { // TODO: this cannot be changed for now, circular dependency with getSystemPaths, getEsbuildConfig const config = getBuiltKeystoneConfiguration(cwd); const { graphQLSchema } = createSystem(config); - console.log('✨ Generating GraphQL and Prisma schemas'); - await generatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); - await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); + + if (frozen) { + await validatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); + console.log('✨ GraphQL and Prisma schemas are up to date'); + } else { + await generatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); // TODO: rename to generateSchemas (or similar) + console.log('✨ Generated GraphQL and Prisma schemas'); + await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); // TODO: generate PrismaClientAndTypes (or similar) + } const result = await execa('node', [require.resolve('prisma'), ...args], { cwd, From 800db7b77c475fea1f9fde124cc089275d4c24f4 Mon Sep 17 00:00:00 2001 From: Daniel Cousens <413395+dcousens@users.noreply.github.com> Date: Tue, 18 Jul 2023 12:00:46 +1000 Subject: [PATCH 4/6] fix TODO --- packages/core/src/scripts/prisma.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/scripts/prisma.ts b/packages/core/src/scripts/prisma.ts index 75d10dd6550..7836459e6d0 100644 --- a/packages/core/src/scripts/prisma.ts +++ b/packages/core/src/scripts/prisma.ts @@ -26,7 +26,7 @@ export async function prisma(cwd: string, args: string[], frozen: boolean) { } else { await generatePrismaAndGraphQLSchemas(cwd, config, graphQLSchema); // TODO: rename to generateSchemas (or similar) console.log('✨ Generated GraphQL and Prisma schemas'); - await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); // TODO: generate PrismaClientAndTypes (or similar) + await generateTypescriptTypesAndPrisma(cwd, config, graphQLSchema); // TODO: rename to generatePrismaClientAndTypes (or similar) } const result = await execa('node', [require.resolve('prisma'), ...args], { From 1d36e4b7bc32e6078d6fd5d4bf07d5fb7b472521 Mon Sep 17 00:00:00 2001 From: Daniel Cousens <413395+dcousens@users.noreply.github.com> Date: Tue, 18 Jul 2023 12:02:18 +1000 Subject: [PATCH 5/6] fix imports --- packages/core/src/scripts/prisma.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/src/scripts/prisma.ts b/packages/core/src/scripts/prisma.ts index 7836459e6d0..9a38ca7616e 100644 --- a/packages/core/src/scripts/prisma.ts +++ b/packages/core/src/scripts/prisma.ts @@ -5,6 +5,7 @@ import { getBuiltKeystoneConfiguration, generateTypescriptTypesAndPrisma, generatePrismaAndGraphQLSchemas, + validatePrismaAndGraphQLSchemas } from '../artifacts'; import { getEsbuildConfig } from '../lib/esbuild'; import { ExitError } from './utils'; From 7ce4482fbaaf56bd01422e7791ac88624e394347 Mon Sep 17 00:00:00 2001 From: Daniel Cousens <413395+dcousens@users.noreply.github.com> Date: Mon, 14 Aug 2023 09:53:31 +1000 Subject: [PATCH 6/6] add changeset --- .changeset/fix-frozen-prisma.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-frozen-prisma.md diff --git a/.changeset/fix-frozen-prisma.md b/.changeset/fix-frozen-prisma.md new file mode 100644 index 00000000000..f3052478527 --- /dev/null +++ b/.changeset/fix-frozen-prisma.md @@ -0,0 +1,5 @@ +--- +'@keystone-6/core': major +--- + +Changes `keystone prisma` behaviour to not generate Typescript types and prisma schema when using `--frozen`