Skip to content

Commit 1546f45

Browse files
author
unknown
committed
fix(codegen): pass typeRegistry to CLI generation for proper required/optional field detection
The CLI generator's getFieldsWithDefaults() checks introspection data to determine which fields are nullable or have defaults, and marks them as optional. However, the typeRegistry was never passed through to the CLI generator in either the single-target or multi-target code paths. This caused ALL fields to be marked as required: true in create commands, even nullable fields like inheritsId (UUID without ! in GraphQL). Fixes: 1. Single-target generate(): pass typeRegistry to generateCliFiles() 2. pipelineData: include typeRegistry so multi-target can access it 3. Multi-target generateMulti(): pass typeRegistry from pipelineData to cliTargets
1 parent 2ce4c3c commit 1546f45

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

graphql/codegen/src/core/generate.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { deployPgpm } from 'pgsql-seed';
1515

1616
import type { CliConfig, DbConfig, GraphQLSDKConfigTarget, PgpmConfig } from '../types/config';
1717
import { getConfigOptions } from '../types/config';
18-
import type { CleanOperation, CleanTable } from '../types/schema';
18+
import type { CleanOperation, CleanTable, TypeRegistry } from '../types/schema';
1919
import { generate as generateReactQueryFiles } from './codegen';
2020
import { generateRootBarrel } from './codegen/barrel';
2121
import { generateCli as generateCliFiles, generateMultiTargetCli } from './codegen/cli';
@@ -79,6 +79,7 @@ export interface GenerateResult {
7979
customOperations: {
8080
queries: CleanOperation[];
8181
mutations: CleanOperation[];
82+
typeRegistry?: TypeRegistry;
8283
};
8384
};
8485
}
@@ -292,6 +293,7 @@ export async function generate(
292293
mutations: customOperations.mutations,
293294
},
294295
config: { ...config, nodeHttpAdapter: useNodeHttpAdapter },
296+
typeRegistry: customOperations.typeRegistry,
295297
});
296298
filesToWrite.push(
297299
...files.map((file) => ({
@@ -439,6 +441,7 @@ export async function generate(
439441
customOperations: {
440442
queries: customOperations.queries,
441443
mutations: customOperations.mutations,
444+
typeRegistry: customOperations.typeRegistry,
442445
},
443446
},
444447
};
@@ -676,6 +679,7 @@ export async function generateMulti(
676679
tables: result.pipelineData.tables,
677680
customOperations: result.pipelineData.customOperations,
678681
isAuthTarget,
682+
typeRegistry: result.pipelineData.customOperations.typeRegistry,
679683
});
680684
}
681685
}

0 commit comments

Comments
 (0)