@soda-gql/codegen 0.11.11 → 0.11.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,7 +1,289 @@
1
- import * as neverthrow0 from "neverthrow";
1
+ import * as neverthrow3 from "neverthrow";
2
2
  import { Result } from "neverthrow";
3
- import { DocumentNode } from "graphql";
3
+ import { DocumentNode, TypeNode } from "graphql";
4
4
 
5
+ //#region packages/codegen/src/graphql-compat/types.d.ts
6
+
7
+ /**
8
+ * Types for graphql-compat code generation.
9
+ * Transforms .graphql operation files to TypeScript compat pattern.
10
+ * @module
11
+ */
12
+ /**
13
+ * Options for running graphql-compat code generation.
14
+ */
15
+ type GraphqlCompatOptions = {
16
+ /** Schema name from config */
17
+ readonly schemaName: string;
18
+ /** Resolved paths to .graphql operation files */
19
+ readonly operationFiles: readonly string[];
20
+ /** Output directory for generated files */
21
+ readonly outputDir?: string;
22
+ /** Import path for graphql-system module (e.g., "@/graphql-system") */
23
+ readonly graphqlSystemPath: string;
24
+ };
25
+ /**
26
+ * Parsed GraphQL operation (query, mutation, subscription).
27
+ */
28
+ type ParsedOperation = {
29
+ readonly kind: "query" | "mutation" | "subscription";
30
+ readonly name: string;
31
+ readonly variables: readonly ParsedVariable[];
32
+ readonly selections: readonly ParsedSelection[];
33
+ readonly sourceFile: string;
34
+ };
35
+ /**
36
+ * Parsed GraphQL fragment definition.
37
+ */
38
+ type ParsedFragment = {
39
+ readonly name: string;
40
+ readonly onType: string;
41
+ readonly selections: readonly ParsedSelection[];
42
+ readonly sourceFile: string;
43
+ };
44
+ /**
45
+ * Parsed variable definition from a GraphQL operation.
46
+ */
47
+ type ParsedVariable = {
48
+ /** Variable name (without $) */
49
+ readonly name: string;
50
+ /** Type name (e.g., "ID", "String", "UserInput") */
51
+ readonly typeName: string;
52
+ /**
53
+ * Type modifier in soda-gql format.
54
+ * Format: inner nullability + list modifiers
55
+ * - Inner: `!` (non-null) or `?` (nullable)
56
+ * - List: `[]!` (non-null list) or `[]?` (nullable list)
57
+ *
58
+ * Examples:
59
+ * - `ID!` → `"!"`
60
+ * - `[ID!]!` → `"![]!"`
61
+ * - `[ID]` → `"?[]?"`
62
+ */
63
+ readonly modifier: string;
64
+ /** Type kind (scalar, enum, or input) */
65
+ readonly typeKind: "scalar" | "enum" | "input";
66
+ /** Default value if specified */
67
+ readonly defaultValue?: ParsedValue;
68
+ };
69
+ /**
70
+ * Parsed selection from a SelectionSet.
71
+ */
72
+ type ParsedSelection = ParsedFieldSelection | ParsedFragmentSpread | ParsedInlineFragment;
73
+ /**
74
+ * Parsed field selection.
75
+ */
76
+ type ParsedFieldSelection = {
77
+ readonly kind: "field";
78
+ readonly name: string;
79
+ readonly alias?: string;
80
+ readonly arguments?: readonly ParsedArgument[];
81
+ /** Nested selections if field returns object type */
82
+ readonly selections?: readonly ParsedSelection[];
83
+ };
84
+ /**
85
+ * Parsed fragment spread (...FragmentName).
86
+ */
87
+ type ParsedFragmentSpread = {
88
+ readonly kind: "fragmentSpread";
89
+ readonly name: string;
90
+ };
91
+ /**
92
+ * Parsed inline fragment (... on Type { }).
93
+ */
94
+ type ParsedInlineFragment = {
95
+ readonly kind: "inlineFragment";
96
+ readonly onType: string;
97
+ readonly selections: readonly ParsedSelection[];
98
+ };
99
+ /**
100
+ * Parsed argument for a field.
101
+ */
102
+ type ParsedArgument = {
103
+ readonly name: string;
104
+ readonly value: ParsedValue;
105
+ };
106
+ /**
107
+ * Parsed value (can be literal or variable reference).
108
+ */
109
+ type ParsedValue = {
110
+ readonly kind: "variable";
111
+ readonly name: string;
112
+ } | {
113
+ readonly kind: "int";
114
+ readonly value: string;
115
+ } | {
116
+ readonly kind: "float";
117
+ readonly value: string;
118
+ } | {
119
+ readonly kind: "string";
120
+ readonly value: string;
121
+ } | {
122
+ readonly kind: "boolean";
123
+ readonly value: boolean;
124
+ } | {
125
+ readonly kind: "null";
126
+ } | {
127
+ readonly kind: "enum";
128
+ readonly value: string;
129
+ } | {
130
+ readonly kind: "list";
131
+ readonly values: readonly ParsedValue[];
132
+ } | {
133
+ readonly kind: "object";
134
+ readonly fields: readonly ParsedObjectField[];
135
+ };
136
+ /**
137
+ * Parsed object field in an object value.
138
+ */
139
+ type ParsedObjectField = {
140
+ readonly name: string;
141
+ readonly value: ParsedValue;
142
+ };
143
+ /**
144
+ * Result of parsing a .graphql file.
145
+ */
146
+ type ParseResult = {
147
+ readonly operations: readonly ParsedOperation[];
148
+ readonly fragments: readonly ParsedFragment[];
149
+ };
150
+ /**
151
+ * Generated file output.
152
+ */
153
+ type GeneratedFile = {
154
+ readonly path: string;
155
+ readonly content: string;
156
+ };
157
+ /**
158
+ * Error types for graphql-compat operations.
159
+ */
160
+ type GraphqlCompatError = {
161
+ readonly code: "GRAPHQL_FILE_NOT_FOUND";
162
+ readonly message: string;
163
+ readonly filePath: string;
164
+ } | {
165
+ readonly code: "GRAPHQL_PARSE_ERROR";
166
+ readonly message: string;
167
+ readonly filePath: string;
168
+ readonly line?: number;
169
+ readonly column?: number;
170
+ } | {
171
+ readonly code: "GRAPHQL_INVALID_OPERATION";
172
+ readonly message: string;
173
+ readonly operationName?: string;
174
+ } | {
175
+ readonly code: "GRAPHQL_UNKNOWN_TYPE";
176
+ readonly message: string;
177
+ readonly typeName: string;
178
+ } | {
179
+ readonly code: "GRAPHQL_FRAGMENT_NOT_FOUND";
180
+ readonly message: string;
181
+ readonly fragmentName: string;
182
+ } | {
183
+ readonly code: "GRAPHQL_OUTPUT_ERROR";
184
+ readonly message: string;
185
+ readonly outputPath: string;
186
+ } | {
187
+ readonly code: "GRAPHQL_INLINE_FRAGMENT_ON_INTERFACE";
188
+ readonly message: string;
189
+ readonly onType: string;
190
+ } | {
191
+ readonly code: "GRAPHQL_UNDECLARED_VARIABLE";
192
+ readonly message: string;
193
+ readonly variableName: string;
194
+ } | {
195
+ readonly code: "GRAPHQL_INLINE_FRAGMENT_WITHOUT_TYPE";
196
+ readonly message: string;
197
+ };
198
+ //#endregion
199
+ //#region packages/codegen/src/graphql-compat/transformer.d.ts
200
+ /**
201
+ * Enriched operation with resolved type information.
202
+ */
203
+ type EnrichedOperation = Omit<ParsedOperation, "variables"> & {
204
+ readonly variables: readonly EnrichedVariable[];
205
+ /** Fragment names used in this operation (for imports) */
206
+ readonly fragmentDependencies: readonly string[];
207
+ };
208
+ /**
209
+ * Enriched fragment with resolved type information.
210
+ */
211
+ type EnrichedFragment = ParsedFragment & {
212
+ /** Fragment names used in this fragment (for imports) */
213
+ readonly fragmentDependencies: readonly string[];
214
+ };
215
+ /**
216
+ * Enriched variable with resolved type kind.
217
+ */
218
+ type EnrichedVariable = Omit<ParsedVariable, "typeKind"> & {
219
+ readonly typeKind: "scalar" | "enum" | "input";
220
+ };
221
+ /**
222
+ * Result of transforming parsed operations.
223
+ */
224
+ type TransformResult = {
225
+ readonly operations: readonly EnrichedOperation[];
226
+ readonly fragments: readonly EnrichedFragment[];
227
+ };
228
+ /**
229
+ * Options for transformation.
230
+ */
231
+ type TransformOptions = {
232
+ /** Schema document for type resolution */
233
+ readonly schemaDocument: DocumentNode;
234
+ };
235
+ /**
236
+ * Transform parsed operations/fragments by enriching them with schema information.
237
+ *
238
+ * This resolves variable type kinds (scalar, enum, input) and collects
239
+ * fragment dependencies.
240
+ */
241
+ declare const transformParsedGraphql: (parsed: ParseResult, options: TransformOptions) => Result<TransformResult, GraphqlCompatError>;
242
+ //#endregion
243
+ //#region packages/codegen/src/graphql-compat/emitter.d.ts
244
+ /**
245
+ * Options for code emission.
246
+ */
247
+ type EmitOptions = {
248
+ /** Schema name to use in gql.schemaName() call */
249
+ readonly schemaName: string;
250
+ /** Import path for graphql-system module */
251
+ readonly graphqlSystemPath: string;
252
+ /** Map of fragment name to its import path (relative) */
253
+ readonly fragmentImports?: ReadonlyMap<string, string>;
254
+ /** Schema document for type lookups (required for inline fragment support) */
255
+ readonly schemaDocument?: DocumentNode;
256
+ };
257
+ /**
258
+ * Emit TypeScript code for an operation.
259
+ */
260
+ declare const emitOperation: (operation: EnrichedOperation, options: EmitOptions) => Result<string, GraphqlCompatError>;
261
+ /**
262
+ * Emit TypeScript code for a fragment.
263
+ */
264
+ declare const emitFragment: (fragment: EnrichedFragment, options: EmitOptions) => Result<string, GraphqlCompatError>;
265
+ //#endregion
266
+ //#region packages/codegen/src/graphql-compat/parser.d.ts
267
+ /**
268
+ * Parse a single .graphql file and extract operations and fragments.
269
+ */
270
+ declare const parseGraphqlFile: (filePath: string) => Result<ParseResult, GraphqlCompatError>;
271
+ /**
272
+ * Parse GraphQL source string directly.
273
+ */
274
+ declare const parseGraphqlSource: (source: string, sourceFile: string) => Result<ParseResult, GraphqlCompatError>;
275
+ /**
276
+ * Parse a GraphQL TypeNode into type name and modifier.
277
+ *
278
+ * Format: inner nullability + list modifiers
279
+ * - Inner: `!` (non-null) or `?` (nullable)
280
+ * - List: `[]!` (non-null list) or `[]?` (nullable list)
281
+ */
282
+ declare const parseTypeNode: (node: TypeNode) => {
283
+ typeName: string;
284
+ modifier: string;
285
+ };
286
+ //#endregion
5
287
  //#region packages/codegen/src/types.d.ts
6
288
  type CodegenFormat = "json" | "human";
7
289
  type CodegenInjectConfig = {
@@ -74,7 +356,7 @@ type CodegenSuccess = {
74
356
  type CodegenResult = Result<CodegenSuccess, CodegenError>;
75
357
  //#endregion
76
358
  //#region packages/codegen/src/inject-template.d.ts
77
- declare const writeInjectTemplate: (outPath: string) => neverthrow0.Err<void, CodegenError> | neverthrow0.Ok<void, CodegenError>;
359
+ declare const writeInjectTemplate: (outPath: string) => neverthrow3.Err<void, CodegenError> | neverthrow3.Ok<void, CodegenError>;
78
360
  declare const getInjectTemplate: () => string;
79
361
  //#endregion
80
362
  //#region packages/codegen/src/runner.d.ts
@@ -85,13 +367,13 @@ declare const runCodegen: (options: CodegenOptions) => Promise<CodegenResult>;
85
367
  * Load a single schema file.
86
368
  * @internal Use loadSchema for public API.
87
369
  */
88
- declare const loadSingleSchema: (schemaPath: string) => neverthrow0.Err<DocumentNode, CodegenError> | neverthrow0.Ok<DocumentNode, CodegenError>;
370
+ declare const loadSingleSchema: (schemaPath: string) => neverthrow3.Err<DocumentNode, CodegenError> | neverthrow3.Ok<DocumentNode, CodegenError>;
89
371
  /**
90
372
  * Load and merge multiple schema files into a single DocumentNode.
91
373
  * Uses GraphQL's concatAST to combine definitions from all files.
92
374
  */
93
- declare const loadSchema: (schemaPaths: readonly string[]) => neverthrow0.Err<DocumentNode, CodegenError> | neverthrow0.Ok<DocumentNode, CodegenError>;
375
+ declare const loadSchema: (schemaPaths: readonly string[]) => neverthrow3.Err<DocumentNode, CodegenError> | neverthrow3.Ok<DocumentNode, CodegenError>;
94
376
  declare const hashSchema: (document: DocumentNode) => string;
95
377
  //#endregion
96
- export { type CodegenCliCommand, type CodegenError, type CodegenFormat, type CodegenInjectConfig, type CodegenOptions, type CodegenResult, type CodegenSchemaConfig, type CodegenSuccess, hashSchema, loadSchema, runCodegen, writeInjectTemplate };
378
+ export { type CodegenCliCommand, type CodegenError, type CodegenFormat, type CodegenInjectConfig, type CodegenOptions, type CodegenResult, type CodegenSchemaConfig, type CodegenSuccess, EmitOptions, EnrichedFragment, EnrichedOperation, EnrichedVariable, GeneratedFile, GraphqlCompatError, GraphqlCompatOptions, ParseResult, ParsedArgument, ParsedFieldSelection, ParsedFragment, ParsedFragmentSpread, ParsedInlineFragment, ParsedObjectField, ParsedOperation, ParsedSelection, ParsedValue, ParsedVariable, TransformOptions, TransformResult, emitFragment, emitOperation, hashSchema, loadSchema, parseGraphqlFile, parseGraphqlSource, parseTypeNode, runCodegen, transformParsedGraphql, writeInjectTemplate };
97
379
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/inject-template.ts","../src/runner.ts","../src/schema.ts"],"sourcesContent":[],"mappings":";;;;;KAEY,aAAA;KAGA,mBAAA;;;AAHZ,CAAA;AAGY,KAMA,mBAAA,GANmB;EAMnB,SAAA,MAAA,EAAA,SAAmB,MAAA,EAAA;EAEZ,SAAA,MAAA,EAAA,mBAAA;EAEuB,SAAA,iBAAA,CAAA,EAAA,MAAA;EAAT,SAAA,mBAAA,CAAA,EAAA,QAAA,CAAS,MAAT,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;CAAQ;AAG7B,KAAA,cAAA,GAAc;EACS,SAAA,OAAA,EAAf,MAAe,CAAA,MAAA,EAAA,mBAAA,CAAA;EAAf,SAAA,OAAA,EAAA,MAAA;EAED,SAAA,MAAA,EAAA,aAAA;EAAa,SAAA,eAAA,CAAA,EAAA,OAAA;EAKpB,SAAA,SAAA,CAAA,EAAiB,MAAA;AAW7B,CAAA;AAoCY,KA/CA,iBAAA,GAgDQ;EAiBR,SAAA,IAAA,EAAA,UAAa;EAAU,SAAA,OAAA,EA9DX,cA8DW;CAAgB,GAAA;EAAvB,SAAA,IAAA,EAAA,oBAAA;EAAM,SAAA,OAAA,EAAA,MAAA;mBAzDX;;KAGX,YAAA;ECnBC,SAAA,IAAA,EAAA,kBAuBZ;EAvBkD,SAAA,OAAA,EAAA,MAAA;EAAA,SAAA,UAAA,EAAA,MAAA;CAAA,GAAA;EAAA,SAAA,IAAA,EAAA,gBAAA;EAAA,SAAA,OAAA,EAAA,MAAA;EAyBtC,SAAA,UAAA,EAAyD,MAAA;;;;ECiBzD,SAAA,OAwNZ,EAAA,MAAA;CAxNyC,GAAA;EAAyB,SAAA,IAAA,EAAA,wBAAA;EAAR,SAAA,OAAA,EAAA,MAAA;CAAO,GAAA;;;;AChDlE,CAAA,GAAa;EAAsC,SAAA,IAAA,EAAA,wBAAA;EAAA,SAAA,OAAA,EAAA,MAAA;EAAA,SAAA,OAAA,EAAA,MAAA;CAAA,GAAA;EAAA,SAAA,IAAA,EAAA,wBAAA;EAAA,SAAA,OAAA,EAAA,MAAA;EAAA,SAAA,OAAA,EAAA,MAAA;AA6BnD,CAAA;AAAyD,KHgC7C,cAAA,GGhC6C;EAAA,SAAA,OAAA,EHiCrC,MGjCqC,CAAA,MAAA,EAAA;IAAA,SAAA,UAAA,EAAA,MAAA;IAAA,SAAA,OAAA,EAAA,MAAA;IAAA,SAAA,KAAA,EAAA,MAAA;IAAA,SAAA,MAAA,EAAA,MAAA;IAAA,SAAA,MAAA,EAAA,MAAA;EAgB5C,CAAA,CAAA;;;;;;;KHkCD,aAAA,GAAgB,OAAO,gBAAgB;;;cCzEtC,0CAAsC,WAAA,CAAA,UAAA,gBAAA,WAAA,CAAA,SAAA;cAyBtC;;;cCiBA,sBAA6B,mBAAiB,QAAQ;;;;;;AF1DnE;AAGY,cGOC,gBHPkB,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GGOoB,WAAA,CAAA,GHPpB,CGOoB,YHPpB,EGOoB,YHPpB,CAAA,GGOoB,WAAA,CAAA,EHPpB,CGOoB,YHPpB,EGOoB,YHPpB,CAAA;AAM/B;;;;AAIyC,cG0B5B,UH1B4B,EAAA,CAAA,WAAA,EAAA,SAAA,MAAA,EAAA,EAAA,GG0BgB,WAAA,CAAA,GH1BhB,CG0BgB,YH1BhB,EG0BgB,YH1BhB,CAAA,GG0BgB,WAAA,CAAA,EH1BhB,CG0BgB,YH1BhB,EG0BgB,YH1BhB,CAAA;AAG7B,cGuCC,UHvCa,EAAA,CAAA,QAAA,EGuCW,YHvCX,EAAA,GAAA,MAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/graphql-compat/types.ts","../src/graphql-compat/transformer.ts","../src/graphql-compat/emitter.ts","../src/graphql-compat/parser.ts","../src/types.ts","../src/inject-template.ts","../src/runner.ts","../src/schema.ts"],"sourcesContent":[],"mappings":"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"}