@gqlkit-ts/cli 0.4.1 → 0.5.0

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.
@@ -1,5 +1,6 @@
1
1
  export interface RunGenCommandOptions {
2
2
  readonly cwd: string;
3
+ readonly configPath: string | null;
3
4
  }
4
5
  export interface RunGenCommandResult {
5
6
  readonly exitCode: number;
@@ -12,6 +13,11 @@ export declare const genCommand: {
12
13
  type: "string";
13
14
  description: string;
14
15
  };
16
+ config: {
17
+ type: "string";
18
+ short: string;
19
+ description: string;
20
+ };
15
21
  };
16
22
  run: (ctx: Readonly<import("gunshi").CommandContext<{
17
23
  args: {
@@ -19,6 +25,11 @@ export declare const genCommand: {
19
25
  type: "string";
20
26
  description: string;
21
27
  };
28
+ config: {
29
+ type: "string";
30
+ short: string;
31
+ description: string;
32
+ };
22
33
  };
23
34
  extensions: {};
24
35
  }>>) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAqG9B;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;CAerB,CAAC"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAwG9B;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAC"}
@@ -12,7 +12,10 @@ export async function runGenCommand(options) {
12
12
  };
13
13
  const progressReporter = createProgressReporter(writer);
14
14
  const diagnosticReporter = createDiagnosticReporter(writer);
15
- const configResult = await loadConfig({ cwd: options.cwd });
15
+ const configResult = await loadConfig({
16
+ cwd: options.cwd,
17
+ configPath: options.configPath,
18
+ });
16
19
  if (configResult.diagnostics.length > 0) {
17
20
  diagnosticReporter.reportDiagnostics(configResult.diagnostics);
18
21
  diagnosticReporter.reportError("Config load failed");
@@ -89,10 +92,16 @@ export const genCommand = define({
89
92
  type: "string",
90
93
  description: "Working directory for code generation",
91
94
  },
95
+ config: {
96
+ type: "string",
97
+ short: "c",
98
+ description: "Path to config file",
99
+ },
92
100
  },
93
101
  run: async (ctx) => {
94
102
  const cwd = ctx.values.cwd ?? process.cwd();
95
- const result = await runGenCommand({ cwd });
103
+ const configPath = ctx.values.config ?? null;
104
+ const result = await runGenCommand({ cwd, configPath });
96
105
  if (result.exitCode !== 0) {
97
106
  process.exitCode = result.exitCode;
98
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ImportExtension } from "../config/types.js";
2
2
  import type { Diagnostic } from "../type-extractor/types/index.js";
3
3
  export interface LoadConfigOptions {
4
4
  readonly cwd: string;
5
+ readonly configPath: string | null;
5
6
  }
6
7
  export interface ResolvedScalarMapping {
7
8
  readonly graphqlName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config-loader/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD;AAID,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,sBAAsB,0CAA0C,CAAC;AAC9E,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAC5E,eAAO,MAAM,mBAAmB,4CAA4C,CAAC;AAsB7E,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA2D3B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config-loader/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD;AAID,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,sBAAsB,0CAA0C,CAAC;AAC9E,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAC5E,eAAO,MAAM,mBAAmB,4CAA4C,CAAC;AAsB7E,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAqF3B"}
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import { join } from "node:path";
2
+ import { isAbsolute, join } from "node:path";
3
3
  import { createJiti } from "jiti";
4
4
  import { validateConfig } from "./validator.js";
5
5
  const CONFIG_FILE_NAME = "gqlkit.config.ts";
@@ -25,8 +25,33 @@ const DEFAULT_RESOLVED_CONFIG = {
25
25
  hooks: DEFAULT_HOOKS_CONFIG,
26
26
  };
27
27
  export async function loadConfig(options) {
28
- const configPath = join(options.cwd, CONFIG_FILE_NAME);
28
+ const configPath = resolveConfigPath(options);
29
+ if (configPath === null) {
30
+ return {
31
+ config: DEFAULT_RESOLVED_CONFIG,
32
+ configPath: undefined,
33
+ diagnostics: [],
34
+ };
35
+ }
29
36
  if (!existsSync(configPath)) {
37
+ if (options.configPath !== null) {
38
+ return {
39
+ config: DEFAULT_RESOLVED_CONFIG,
40
+ configPath,
41
+ diagnostics: [
42
+ {
43
+ code: "CONFIG_FILE_NOT_FOUND",
44
+ message: `Config file not found: ${configPath}`,
45
+ severity: "error",
46
+ location: {
47
+ file: configPath,
48
+ line: 1,
49
+ column: 1,
50
+ },
51
+ },
52
+ ],
53
+ };
54
+ }
30
55
  return {
31
56
  config: DEFAULT_RESOLVED_CONFIG,
32
57
  configPath: undefined,
@@ -76,4 +101,17 @@ export async function loadConfig(options) {
76
101
  };
77
102
  }
78
103
  }
104
+ function resolveConfigPath(options) {
105
+ if (options.configPath !== null) {
106
+ if (isAbsolute(options.configPath)) {
107
+ return options.configPath;
108
+ }
109
+ return join(options.cwd, options.configPath);
110
+ }
111
+ const defaultPath = join(options.cwd, CONFIG_FILE_NAME);
112
+ if (existsSync(defaultPath)) {
113
+ return defaultPath;
114
+ }
115
+ return null;
116
+ }
79
117
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config-loader/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqDhD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,yCAAyC,CAAC;AAE7E,MAAM,qBAAqB,GAAyB;IAClD,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,qBAAqB;IACnC,UAAU,EAAE,mBAAmB;IAC/B,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,oBAAoB,GAAwB;IAChD,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,MAAM,uBAAuB,GAAmB;IAC9C,SAAS,EAAE,kBAAkB;IAC7B,iBAAiB,EAAE,EAAE;IACrB,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,oBAAoB;CAC5B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,uBAAuB;YAC/B,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GACZ,YAAsC,CAAC,OAAO,IAAI,YAAY,CAAC;QAElE,MAAM,gBAAgB,GAAG,cAAc,CAAC;YACtC,MAAM,EAAE,SAAS;YACjB,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,uBAAuB;gBAC/B,UAAU;gBACV,WAAW,EAAE,gBAAgB,CAAC,WAAW;aAC1C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,gBAAgB,CAAC,cAAc;YACvC,UAAU;YACV,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEpE,OAAO;YACL,MAAM,EAAE,uBAAuB;YAC/B,UAAU;YACV,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,+BAA+B,OAAO,EAAE;oBACjD,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE;wBACR,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;qBACV;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config-loader/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-emitter.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,6CAA6C,CAAC;AAcrD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CASR;AAuTD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAwDzE"}
1
+ {"version":3,"file":"code-emitter.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,6CAA6C,CAAC;AAcrD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CASR;AAwXD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAwDzE"}
@@ -93,19 +93,50 @@ function buildScalarsArgumentType(customScalars) {
93
93
  function buildScalarResolverEntries(customScalars) {
94
94
  return customScalars.map((scalar) => ` ${scalar.scalarName}: scalars.${scalar.scalarName},`);
95
95
  }
96
- function collectResolverImportsByFile(resolverInfo) {
96
+ /**
97
+ * Creates a unique local name for a resolver import.
98
+ * Format: <ParentType>$<FieldName>
99
+ */
100
+ function makeResolverLocalName(parentType, fieldName) {
101
+ return `${parentType}$${fieldName}`;
102
+ }
103
+ /**
104
+ * Collects resolver imports with unique aliases.
105
+ * Uses the pattern <Parent>$<field> for alias names.
106
+ *
107
+ * Note: Uniqueness assumes no duplicate resolver definitions for the same
108
+ * (parentType, fieldName) pair. Duplicate field definitions are caught
109
+ * by GraphQL schema validation at build time.
110
+ */
111
+ function collectResolverImports(resolverInfo) {
97
112
  const importsByFile = new Map();
113
+ // Track seen localNames per file to avoid duplicate import specifiers
114
+ const seenByFile = new Map();
98
115
  for (const type of resolverInfo.types) {
99
116
  for (const field of type.fields) {
100
- const existing = importsByFile.get(field.sourceFile) ?? new Set();
101
- existing.add(field.resolverValueName);
102
- importsByFile.set(field.sourceFile, existing);
117
+ const localName = makeResolverLocalName(type.typeName, field.fieldName);
118
+ const seen = seenByFile.get(field.sourceFile) ?? new Set();
119
+ if (seen.has(localName)) {
120
+ continue;
121
+ }
122
+ seen.add(localName);
123
+ seenByFile.set(field.sourceFile, seen);
124
+ const infos = importsByFile.get(field.sourceFile) ?? [];
125
+ infos.push({ originalName: field.resolverValueName, localName });
126
+ importsByFile.set(field.sourceFile, infos);
103
127
  }
104
128
  }
105
129
  for (const abstractResolver of resolverInfo.abstractTypeResolvers) {
106
- const existing = importsByFile.get(abstractResolver.sourceFile) ?? new Set();
107
- existing.add(abstractResolver.exportName);
108
- importsByFile.set(abstractResolver.sourceFile, existing);
130
+ const localName = makeResolverLocalName(abstractResolver.typeName, abstractResolver.resolverKey);
131
+ const seen = seenByFile.get(abstractResolver.sourceFile) ?? new Set();
132
+ if (seen.has(localName)) {
133
+ continue;
134
+ }
135
+ seen.add(localName);
136
+ seenByFile.set(abstractResolver.sourceFile, seen);
137
+ const infos = importsByFile.get(abstractResolver.sourceFile) ?? [];
138
+ infos.push({ originalName: abstractResolver.exportName, localName });
139
+ importsByFile.set(abstractResolver.sourceFile, infos);
109
140
  }
110
141
  return importsByFile;
111
142
  }
@@ -113,17 +144,20 @@ function buildResolverImports(importsByFile, outputDir, importExtension) {
113
144
  const imports = [];
114
145
  const sortedFiles = [...importsByFile.keys()].sort();
115
146
  for (const sourceFile of sortedFiles) {
116
- const valueNames = importsByFile.get(sourceFile) ?? new Set();
147
+ const importInfos = importsByFile.get(sourceFile) ?? [];
117
148
  const importPath = computeRelativeImportPath(outputDir, sourceFile, importExtension);
118
- const sortedValues = [...valueNames].sort();
119
- if (sortedValues.length > 0) {
120
- imports.push(`import { ${sortedValues.join(", ")} } from "${importPath}";`);
149
+ // Sort by localName for consistent output
150
+ const sortedInfos = [...importInfos].sort((a, b) => a.localName.localeCompare(b.localName));
151
+ if (sortedInfos.length > 0) {
152
+ const importSpecifiers = sortedInfos.map((info) => `${info.originalName} as ${info.localName}`);
153
+ imports.push(`import { ${importSpecifiers.join(", ")} } from "${importPath}";`);
121
154
  }
122
155
  }
123
156
  return imports;
124
157
  }
125
158
  function buildAbstractOnlyTypeEntry(abstractResolver) {
126
- return ` ${abstractResolver.typeName}: {\n ${abstractResolver.resolverKey}: ${abstractResolver.exportName},\n },`;
159
+ const localName = makeResolverLocalName(abstractResolver.typeName, abstractResolver.resolverKey);
160
+ return ` ${abstractResolver.typeName}: {\n ${abstractResolver.resolverKey}: ${localName},\n },`;
127
161
  }
128
162
  function buildNumericEnumResolver(enumInfo) {
129
163
  const entries = enumInfo.members
@@ -146,15 +180,17 @@ function buildStringEnumResolvers(stringEnumMappings) {
146
180
  function buildTypeResolverEntry(type, abstractResolverForType) {
147
181
  const entries = [];
148
182
  for (const field of type.fields) {
183
+ const localName = makeResolverLocalName(type.typeName, field.fieldName);
149
184
  if (field.isDirectExport) {
150
- entries.push(` ${field.fieldName}: ${field.resolverValueName},`);
185
+ entries.push(` ${field.fieldName}: ${localName},`);
151
186
  }
152
187
  else {
153
- entries.push(` ${field.fieldName}: ${field.resolverValueName}.${field.fieldName},`);
188
+ entries.push(` ${field.fieldName}: ${localName}.${field.fieldName},`);
154
189
  }
155
190
  }
156
191
  if (abstractResolverForType !== null) {
157
- entries.push(` ${abstractResolverForType.resolverKey}: ${abstractResolverForType.exportName},`);
192
+ const localName = makeResolverLocalName(abstractResolverForType.typeName, abstractResolverForType.resolverKey);
193
+ entries.push(` ${abstractResolverForType.resolverKey}: ${localName},`);
158
194
  }
159
195
  return ` ${type.typeName}: {\n${entries.join("\n")}\n },`;
160
196
  }
@@ -215,7 +251,7 @@ export function emitResolversCode(params) {
215
251
  if (hasCustomScalars) {
216
252
  imports.push('import { GraphQLScalarType } from "graphql";');
217
253
  }
218
- const importsByFile = collectResolverImportsByFile(resolverInfo);
254
+ const importsByFile = collectResolverImports(resolverInfo);
219
255
  imports.push(...buildResolverImports(importsByFile, outputDir, importExtension));
220
256
  if (hasCustomScalars) {
221
257
  const scalarTypeImports = collectScalarTypeImports(customScalars);
@@ -1 +1 @@
1
- {"version":3,"file":"code-emitter.js","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-emitter.js","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export interface SourceLocation {
3
3
  readonly line: number;
4
4
  readonly column: number;
5
5
  }
6
- export type DiagnosticCode = "DIRECTORY_NOT_FOUND" | "PARSE_ERROR" | "UNSUPPORTED_SYNTAX" | "RESERVED_TYPE_NAME" | "UNRESOLVED_REFERENCE" | "NAMING_CONVENTION_MISMATCH" | "INVALID_RESOLVER_SIGNATURE" | "UNSUPPORTED_RETURN_TYPE" | "UNSUPPORTED_ARG_TYPE" | "UNKNOWN_TARGET_TYPE" | "PARENT_TYPE_MISMATCH" | "MISSING_PARENT_TYPE" | "UNSUPPORTED_ENUM_TYPE" | "INVALID_ENUM_MEMBER" | "INVALID_INPUT_TYPE" | "UNKNOWN_ARGUMENT_TYPE" | "OUTPUT_TYPE_IN_INPUT" | "CIRCULAR_INPUT_REFERENCE" | "UNKNOWN_BRANDED_SCALAR" | "INVALID_SCALAR_IMPORT" | "CONFLICTING_SCALAR_TYPE" | "INVALID_DEFINE_CALL" | "CONFIG_SYNTAX_ERROR" | "CONFIG_MISSING_PROPERTY" | "CONFIG_INVALID_TYPE" | "CONFIG_INVALID_PATH" | "CONFIG_BUILTIN_OVERRIDE" | "CONFIG_DUPLICATE_MAPPING" | "CONFIG_DUPLICATE_TYPE" | "CONFIG_INVALID_OUTPUT_TYPE" | "CONFIG_INVALID_OUTPUT_PATH" | "CONFIG_INVALID_SOURCE_DIR" | "CONFIG_INVALID_IGNORE_GLOBS" | "CONFIG_INVALID_HOOK_TYPE" | "CONFIG_INVALID_HOOK_COMMAND" | "CONFIG_INVALID_ONLY_VALUE" | "CONFIG_INVALID_IMPORT_EXTENSION" | "CUSTOM_SCALAR_TYPE_NOT_FOUND" | "TSCONFIG_NOT_FOUND" | "TSCONFIG_PARSE_ERROR" | "TSCONFIG_INVALID" | "ONEOF_FIELD_NAME_CONFLICT" | "ONEOF_MULTIPLE_PROPERTIES" | "ONEOF_EMPTY_OBJECT" | "ONEOF_INVALID_FIELD_TYPE" | "ONEOF_DUPLICATE_PROPERTY" | "ONEOF_MIXED_MEMBERS" | "ONEOF_NAMED_TYPE_UNION" | "MULTIPLE_INPUT_TYPES" | "MISSING_INPUT_TYPE" | "MISSING_OUTPUT_TYPE" | "EMPTY_DIRECTIVE_NAME" | "UNRESOLVABLE_ARGUMENT" | "UNRESOLVABLE_ARG_TYPE" | "INVALID_LOCATION" | "INVALID_DIRECTIVE_LOCATION" | "UNSUPPORTED_DIRECTIVE_LOCATION" | "UNDEFINED_DIRECTIVE" | "INTERFACE_NOT_FOUND" | "INTERFACE_NOT_INTERFACE" | "INTERFACE_MISSING_FIELD" | "INTERFACE_FIELD_TYPE_MISMATCH" | "INTERFACE_CIRCULAR_REFERENCE" | "UNRESOLVABLE_DEFAULT_VALUE" | "AUTO_TYPE_NAME_COLLISION_USER" | "AUTO_TYPE_NAME_COLLISION_AUTO" | "MODULE_RESOLUTION_ERROR" | "SKIPPED_FIELD" | "SKIPPED_ENUM_VALUE" | "INDEX_SIGNATURE_ONLY" | "UNKNOWN_ABSTRACT_TYPE" | "INVALID_ABSTRACT_TYPE_KIND" | "INVALID_OBJECT_TYPE_KIND" | "DUPLICATE_RESOLVE_TYPE" | "DUPLICATE_IS_TYPE_OF" | "MISSING_ABSTRACT_TYPE_RESOLVER" | "DUPLICATE_ENUM_VALUE" | "DUPLICATE_ENUM_VALUE_AFTER_CONVERSION" | "INVALID_ENUM_MEMBER_NAME" | "AMBIGUOUS_SCALAR_BASE_TYPE" | "INLINE_UNION_PRIMITIVE_MEMBER" | "INLINE_UNION_ENUM_MEMBER" | "INLINE_UNION_UNRESOLVABLE_MEMBER" | "MISSING_TYPENAME_PROPERTY" | "INVALID_TYPENAME_TYPE" | "OPTIONAL_TYPENAME_PROPERTY" | "NULLABLE_TYPENAME_PROPERTY" | "TYPENAME_FIELD_STRUCTURE_MISMATCH" | "DUPLICATE_TYPENAME_VALUE" | "IGNORE_FIELD_NOT_FOUND" | "IGNORE_ALL_FIELDS";
6
+ export type DiagnosticCode = "DIRECTORY_NOT_FOUND" | "PARSE_ERROR" | "UNSUPPORTED_SYNTAX" | "RESERVED_TYPE_NAME" | "UNRESOLVED_REFERENCE" | "NAMING_CONVENTION_MISMATCH" | "INVALID_RESOLVER_SIGNATURE" | "UNSUPPORTED_RETURN_TYPE" | "UNSUPPORTED_ARG_TYPE" | "UNKNOWN_TARGET_TYPE" | "PARENT_TYPE_MISMATCH" | "MISSING_PARENT_TYPE" | "UNSUPPORTED_ENUM_TYPE" | "INVALID_ENUM_MEMBER" | "INVALID_INPUT_TYPE" | "UNKNOWN_ARGUMENT_TYPE" | "OUTPUT_TYPE_IN_INPUT" | "CIRCULAR_INPUT_REFERENCE" | "UNKNOWN_BRANDED_SCALAR" | "INVALID_SCALAR_IMPORT" | "CONFLICTING_SCALAR_TYPE" | "INVALID_DEFINE_CALL" | "CONFIG_SYNTAX_ERROR" | "CONFIG_FILE_NOT_FOUND" | "CONFIG_MISSING_PROPERTY" | "CONFIG_INVALID_TYPE" | "CONFIG_INVALID_PATH" | "CONFIG_BUILTIN_OVERRIDE" | "CONFIG_DUPLICATE_MAPPING" | "CONFIG_DUPLICATE_TYPE" | "CONFIG_INVALID_OUTPUT_TYPE" | "CONFIG_INVALID_OUTPUT_PATH" | "CONFIG_INVALID_SOURCE_DIR" | "CONFIG_INVALID_IGNORE_GLOBS" | "CONFIG_INVALID_HOOK_TYPE" | "CONFIG_INVALID_HOOK_COMMAND" | "CONFIG_INVALID_ONLY_VALUE" | "CONFIG_INVALID_IMPORT_EXTENSION" | "CUSTOM_SCALAR_TYPE_NOT_FOUND" | "TSCONFIG_NOT_FOUND" | "TSCONFIG_PARSE_ERROR" | "TSCONFIG_INVALID" | "ONEOF_FIELD_NAME_CONFLICT" | "ONEOF_MULTIPLE_PROPERTIES" | "ONEOF_EMPTY_OBJECT" | "ONEOF_INVALID_FIELD_TYPE" | "ONEOF_DUPLICATE_PROPERTY" | "ONEOF_MIXED_MEMBERS" | "ONEOF_NAMED_TYPE_UNION" | "MULTIPLE_INPUT_TYPES" | "MISSING_INPUT_TYPE" | "MISSING_OUTPUT_TYPE" | "EMPTY_DIRECTIVE_NAME" | "UNRESOLVABLE_ARGUMENT" | "UNRESOLVABLE_ARG_TYPE" | "INVALID_LOCATION" | "INVALID_DIRECTIVE_LOCATION" | "UNSUPPORTED_DIRECTIVE_LOCATION" | "UNDEFINED_DIRECTIVE" | "INTERFACE_NOT_FOUND" | "INTERFACE_NOT_INTERFACE" | "INTERFACE_MISSING_FIELD" | "INTERFACE_FIELD_TYPE_MISMATCH" | "INTERFACE_CIRCULAR_REFERENCE" | "UNRESOLVABLE_DEFAULT_VALUE" | "AUTO_TYPE_NAME_COLLISION_USER" | "AUTO_TYPE_NAME_COLLISION_AUTO" | "MODULE_RESOLUTION_ERROR" | "SKIPPED_FIELD" | "SKIPPED_ENUM_VALUE" | "INDEX_SIGNATURE_ONLY" | "UNKNOWN_ABSTRACT_TYPE" | "INVALID_ABSTRACT_TYPE_KIND" | "INVALID_OBJECT_TYPE_KIND" | "DUPLICATE_RESOLVE_TYPE" | "DUPLICATE_IS_TYPE_OF" | "MISSING_ABSTRACT_TYPE_RESOLVER" | "DUPLICATE_ENUM_VALUE" | "DUPLICATE_ENUM_VALUE_AFTER_CONVERSION" | "INVALID_ENUM_MEMBER_NAME" | "AMBIGUOUS_SCALAR_BASE_TYPE" | "INLINE_UNION_PRIMITIVE_MEMBER" | "INLINE_UNION_ENUM_MEMBER" | "INLINE_UNION_UNRESOLVABLE_MEMBER" | "MISSING_TYPENAME_PROPERTY" | "INVALID_TYPENAME_TYPE" | "OPTIONAL_TYPENAME_PROPERTY" | "NULLABLE_TYPENAME_PROPERTY" | "TYPENAME_FIELD_STRUCTURE_MISMATCH" | "DUPLICATE_TYPENAME_VALUE" | "IGNORE_FIELD_NOT_FOUND" | "IGNORE_ALL_FIELDS";
7
7
  export interface Diagnostic {
8
8
  readonly code: DiagnosticCode;
9
9
  readonly message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/types/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GACtB,qBAAqB,GACrB,aAAa,GACb,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,4BAA4B,GAC5B,4BAA4B,GAC5B,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,0BAA0B,GAC1B,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,yBAAyB,GACzB,0BAA0B,GAC1B,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,2BAA2B,GAC3B,6BAA6B,GAC7B,0BAA0B,GAC1B,6BAA6B,GAC7B,2BAA2B,GAC3B,iCAAiC,GACjC,8BAA8B,GAC9B,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,2BAA2B,GAC3B,oBAAoB,GACpB,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,kBAAkB,GAClB,4BAA4B,GAC5B,gCAAgC,GAChC,qBAAqB,GACrB,qBAAqB,GACrB,yBAAyB,GACzB,yBAAyB,GACzB,+BAA+B,GAC/B,8BAA8B,GAC9B,4BAA4B,GAC5B,+BAA+B,GAC/B,+BAA+B,GAC/B,yBAAyB,GACzB,eAAe,GACf,oBAAoB,GACpB,sBAAsB,GACtB,uBAAuB,GACvB,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,gCAAgC,GAChC,sBAAsB,GACtB,uCAAuC,GACvC,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B,GAC/B,0BAA0B,GAC1B,kCAAkC,GAClC,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,mCAAmC,GACnC,0BAA0B,GAC1B,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/types/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GACtB,qBAAqB,GACrB,aAAa,GACb,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,4BAA4B,GAC5B,4BAA4B,GAC5B,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,0BAA0B,GAC1B,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,yBAAyB,GACzB,0BAA0B,GAC1B,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,2BAA2B,GAC3B,6BAA6B,GAC7B,0BAA0B,GAC1B,6BAA6B,GAC7B,2BAA2B,GAC3B,iCAAiC,GACjC,8BAA8B,GAC9B,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,2BAA2B,GAC3B,oBAAoB,GACpB,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,kBAAkB,GAClB,4BAA4B,GAC5B,gCAAgC,GAChC,qBAAqB,GACrB,qBAAqB,GACrB,yBAAyB,GACzB,yBAAyB,GACzB,+BAA+B,GAC/B,8BAA8B,GAC9B,4BAA4B,GAC5B,+BAA+B,GAC/B,+BAA+B,GAC/B,yBAAyB,GACzB,eAAe,GACf,oBAAoB,GACpB,sBAAsB,GACtB,uBAAuB,GACvB,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,gCAAgC,GAChC,sBAAsB,GACtB,uCAAuC,GACvC,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B,GAC/B,0BAA0B,GAC1B,kCAAkC,GAClC,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,mCAAmC,GACnC,0BAA0B,GAC1B,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC9C"}
@@ -7,6 +7,30 @@ description: Configure gqlkit via gqlkit.config.ts in your project root.
7
7
 
8
8
  gqlkit can be configured via `gqlkit.config.ts` in your project root.
9
9
 
10
+ ## CLI Options
11
+
12
+ The `gqlkit gen` command accepts the following options:
13
+
14
+ | Option | Short | Description |
15
+ |--------|-------|-------------|
16
+ | `--config <path>` | `-c` | Path to config file (default: `gqlkit.config.ts`) |
17
+ | `--cwd <path>` | | Working directory for code generation |
18
+
19
+ ### Using Multiple Config Files
20
+
21
+ You can use different config files for different GraphQL schemas:
22
+
23
+ ```sh
24
+ # Generate with default config (gqlkit.config.ts)
25
+ gqlkit gen
26
+
27
+ # Generate with a specific config file
28
+ gqlkit gen --config gqlkit.public.config.ts
29
+ gqlkit gen -c gqlkit.admin.config.ts
30
+ ```
31
+
32
+ This is useful when you need to generate multiple GraphQL schemas from the same project, such as separate public and internal APIs.
33
+
10
34
  ## Basic Configuration
11
35
 
12
36
  ```ts
package/docs/index.md CHANGED
@@ -18,15 +18,10 @@ gqlkit generates GraphQL schema and resolver maps from TypeScript types and func
18
18
 
19
19
  - [What is gqlkit?](./what-is-gqlkit.md): Just types and functions — write TypeScript, generate GraphQL.
20
20
  - [Getting Started](./getting-started.md): Install gqlkit and create your first GraphQL schema from TypeScript.
21
- - [Coding Agents](./coding-agents.md): Set up AI coding agents like Claude Code and Codex to understand gqlkit conventions. (skip if reading via `gqlkit-guide` skill)
22
-
23
- ## CLI
24
-
25
- - [Configuration](./configuration.md): Configure gqlkit via gqlkit.config.ts in your project root.
26
21
 
27
22
  ## Schema Definition
28
23
 
29
- - [Schema Definition](./schema.md): gqlkit generates GraphQL schema from your TypeScript types.
24
+ - [Schema Definition](./schema/conventions.md): gqlkit generates GraphQL schema from your TypeScript types.
30
25
  - [Defining Object Types](./schema/objects.md): Plain TypeScript type exports become GraphQL Object types.
31
26
  - [Defining Input Types](./schema/inputs.md): TypeScript types with Input suffix are treated as GraphQL input types.
32
27
  - [Defining Queries and Mutations](./schema/queries-mutations.md): Define Query and Mutation fields using the @gqlkit-ts/runtime API.
@@ -45,3 +40,8 @@ gqlkit generates GraphQL schema and resolver maps from TypeScript types and func
45
40
  - [Integration with Apollo Server](./integration/apollo.md): Use gqlkit with Apollo Server, a popular GraphQL server.
46
41
  - [Integration with Drizzle ORM](./integration/drizzle.md): Derive GraphQL types from Drizzle table definitions.
47
42
  - [Integration with Prisma](./integration/prisma.md): Derive GraphQL types from Prisma model types.
43
+
44
+ ## Guides
45
+
46
+ - [Configuration](./configuration.md): Configure gqlkit via gqlkit.config.ts in your project root.
47
+ - [Coding Agents](./coding-agents.md): Set up AI coding agents like Claude Code and Codex to understand gqlkit conventions. (skip if reading via `gqlkit-guide` skill)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gqlkit-ts/cli",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Just types and functions — write TypeScript, generate GraphQL.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,6 +12,7 @@ import { createProgressReporter } from "../gen-orchestrator/reporter/progress-re
12
12
 
13
13
  export interface RunGenCommandOptions {
14
14
  readonly cwd: string;
15
+ readonly configPath: string | null;
15
16
  }
16
17
 
17
18
  export interface RunGenCommandResult {
@@ -29,7 +30,10 @@ export async function runGenCommand(
29
30
  const progressReporter = createProgressReporter(writer);
30
31
  const diagnosticReporter = createDiagnosticReporter(writer);
31
32
 
32
- const configResult = await loadConfig({ cwd: options.cwd });
33
+ const configResult = await loadConfig({
34
+ cwd: options.cwd,
35
+ configPath: options.configPath,
36
+ });
33
37
 
34
38
  if (configResult.diagnostics.length > 0) {
35
39
  diagnosticReporter.reportDiagnostics(configResult.diagnostics);
@@ -130,10 +134,16 @@ export const genCommand = define({
130
134
  type: "string",
131
135
  description: "Working directory for code generation",
132
136
  },
137
+ config: {
138
+ type: "string",
139
+ short: "c",
140
+ description: "Path to config file",
141
+ },
133
142
  },
134
143
  run: async (ctx) => {
135
144
  const cwd = ctx.values.cwd ?? process.cwd();
136
- const result = await runGenCommand({ cwd });
145
+ const configPath = ctx.values.config ?? null;
146
+ const result = await runGenCommand({ cwd, configPath });
137
147
  if (result.exitCode !== 0) {
138
148
  process.exitCode = result.exitCode;
139
149
  }
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import { join } from "node:path";
2
+ import { isAbsolute, join } from "node:path";
3
3
  import { createJiti } from "jiti";
4
4
  import type { ImportExtension } from "../config/types.js";
5
5
  import type { Diagnostic } from "../type-extractor/types/index.js";
@@ -7,6 +7,7 @@ import { validateConfig } from "./validator.js";
7
7
 
8
8
  export interface LoadConfigOptions {
9
9
  readonly cwd: string;
10
+ readonly configPath: string | null;
10
11
  }
11
12
 
12
13
  export interface ResolvedScalarMapping {
@@ -86,9 +87,35 @@ const DEFAULT_RESOLVED_CONFIG: ResolvedConfig = {
86
87
  export async function loadConfig(
87
88
  options: LoadConfigOptions,
88
89
  ): Promise<LoadConfigResult> {
89
- const configPath = join(options.cwd, CONFIG_FILE_NAME);
90
+ const configPath = resolveConfigPath(options);
91
+
92
+ if (configPath === null) {
93
+ return {
94
+ config: DEFAULT_RESOLVED_CONFIG,
95
+ configPath: undefined,
96
+ diagnostics: [],
97
+ };
98
+ }
90
99
 
91
100
  if (!existsSync(configPath)) {
101
+ if (options.configPath !== null) {
102
+ return {
103
+ config: DEFAULT_RESOLVED_CONFIG,
104
+ configPath,
105
+ diagnostics: [
106
+ {
107
+ code: "CONFIG_FILE_NOT_FOUND",
108
+ message: `Config file not found: ${configPath}`,
109
+ severity: "error",
110
+ location: {
111
+ file: configPath,
112
+ line: 1,
113
+ column: 1,
114
+ },
115
+ },
116
+ ],
117
+ };
118
+ }
92
119
  return {
93
120
  config: DEFAULT_RESOLVED_CONFIG,
94
121
  configPath: undefined,
@@ -145,3 +172,17 @@ export async function loadConfig(
145
172
  };
146
173
  }
147
174
  }
175
+
176
+ function resolveConfigPath(options: LoadConfigOptions): string | null {
177
+ if (options.configPath !== null) {
178
+ if (isAbsolute(options.configPath)) {
179
+ return options.configPath;
180
+ }
181
+ return join(options.cwd, options.configPath);
182
+ }
183
+ const defaultPath = join(options.cwd, CONFIG_FILE_NAME);
184
+ if (existsSync(defaultPath)) {
185
+ return defaultPath;
186
+ }
187
+ return null;
188
+ }
@@ -170,31 +170,80 @@ function buildScalarResolverEntries(
170
170
  );
171
171
  }
172
172
 
173
- function collectResolverImportsByFile(
173
+ /**
174
+ * Information about a resolver import with a unique alias.
175
+ */
176
+ interface ResolverImportInfo {
177
+ /** The original export name from the source file */
178
+ readonly originalName: string;
179
+ /** The unique local name using the pattern <Parent>$<field> */
180
+ readonly localName: string;
181
+ }
182
+
183
+ /**
184
+ * Creates a unique local name for a resolver import.
185
+ * Format: <ParentType>$<FieldName>
186
+ */
187
+ function makeResolverLocalName(parentType: string, fieldName: string): string {
188
+ return `${parentType}$${fieldName}`;
189
+ }
190
+
191
+ /**
192
+ * Collects resolver imports with unique aliases.
193
+ * Uses the pattern <Parent>$<field> for alias names.
194
+ *
195
+ * Note: Uniqueness assumes no duplicate resolver definitions for the same
196
+ * (parentType, fieldName) pair. Duplicate field definitions are caught
197
+ * by GraphQL schema validation at build time.
198
+ */
199
+ function collectResolverImports(
174
200
  resolverInfo: ResolverInfo,
175
- ): Map<string, Set<string>> {
176
- const importsByFile = new Map<string, Set<string>>();
201
+ ): Map<string, ResolverImportInfo[]> {
202
+ const importsByFile = new Map<string, ResolverImportInfo[]>();
203
+ // Track seen localNames per file to avoid duplicate import specifiers
204
+ const seenByFile = new Map<string, Set<string>>();
177
205
 
178
206
  for (const type of resolverInfo.types) {
179
207
  for (const field of type.fields) {
180
- const existing = importsByFile.get(field.sourceFile) ?? new Set<string>();
181
- existing.add(field.resolverValueName);
182
- importsByFile.set(field.sourceFile, existing);
208
+ const localName = makeResolverLocalName(type.typeName, field.fieldName);
209
+
210
+ const seen = seenByFile.get(field.sourceFile) ?? new Set<string>();
211
+ if (seen.has(localName)) {
212
+ continue;
213
+ }
214
+ seen.add(localName);
215
+ seenByFile.set(field.sourceFile, seen);
216
+
217
+ const infos = importsByFile.get(field.sourceFile) ?? [];
218
+ infos.push({ originalName: field.resolverValueName, localName });
219
+ importsByFile.set(field.sourceFile, infos);
183
220
  }
184
221
  }
185
222
 
186
223
  for (const abstractResolver of resolverInfo.abstractTypeResolvers) {
187
- const existing =
188
- importsByFile.get(abstractResolver.sourceFile) ?? new Set<string>();
189
- existing.add(abstractResolver.exportName);
190
- importsByFile.set(abstractResolver.sourceFile, existing);
224
+ const localName = makeResolverLocalName(
225
+ abstractResolver.typeName,
226
+ abstractResolver.resolverKey,
227
+ );
228
+
229
+ const seen =
230
+ seenByFile.get(abstractResolver.sourceFile) ?? new Set<string>();
231
+ if (seen.has(localName)) {
232
+ continue;
233
+ }
234
+ seen.add(localName);
235
+ seenByFile.set(abstractResolver.sourceFile, seen);
236
+
237
+ const infos = importsByFile.get(abstractResolver.sourceFile) ?? [];
238
+ infos.push({ originalName: abstractResolver.exportName, localName });
239
+ importsByFile.set(abstractResolver.sourceFile, infos);
191
240
  }
192
241
 
193
242
  return importsByFile;
194
243
  }
195
244
 
196
245
  function buildResolverImports(
197
- importsByFile: Map<string, Set<string>>,
246
+ importsByFile: Map<string, ResolverImportInfo[]>,
198
247
  outputDir: string,
199
248
  importExtension: ImportExtension,
200
249
  ): string[] {
@@ -202,17 +251,25 @@ function buildResolverImports(
202
251
  const sortedFiles = [...importsByFile.keys()].sort();
203
252
 
204
253
  for (const sourceFile of sortedFiles) {
205
- const valueNames = importsByFile.get(sourceFile) ?? new Set<string>();
254
+ const importInfos = importsByFile.get(sourceFile) ?? [];
206
255
  const importPath = computeRelativeImportPath(
207
256
  outputDir,
208
257
  sourceFile,
209
258
  importExtension,
210
259
  );
211
- const sortedValues = [...valueNames].sort();
212
260
 
213
- if (sortedValues.length > 0) {
261
+ // Sort by localName for consistent output
262
+ const sortedInfos = [...importInfos].sort((a, b) =>
263
+ a.localName.localeCompare(b.localName),
264
+ );
265
+
266
+ if (sortedInfos.length > 0) {
267
+ const importSpecifiers = sortedInfos.map(
268
+ (info) => `${info.originalName} as ${info.localName}`,
269
+ );
270
+
214
271
  imports.push(
215
- `import { ${sortedValues.join(", ")} } from "${importPath}";`,
272
+ `import { ${importSpecifiers.join(", ")} } from "${importPath}";`,
216
273
  );
217
274
  }
218
275
  }
@@ -223,7 +280,11 @@ function buildResolverImports(
223
280
  function buildAbstractOnlyTypeEntry(
224
281
  abstractResolver: AbstractTypeResolverInfo,
225
282
  ): string {
226
- return ` ${abstractResolver.typeName}: {\n ${abstractResolver.resolverKey}: ${abstractResolver.exportName},\n },`;
283
+ const localName = makeResolverLocalName(
284
+ abstractResolver.typeName,
285
+ abstractResolver.resolverKey,
286
+ );
287
+ return ` ${abstractResolver.typeName}: {\n ${abstractResolver.resolverKey}: ${localName},\n },`;
227
288
  }
228
289
 
229
290
  function buildNumericEnumResolver(enumInfo: NumericEnumInfo): string {
@@ -261,19 +322,23 @@ function buildTypeResolverEntry(
261
322
  const entries: string[] = [];
262
323
 
263
324
  for (const field of type.fields) {
325
+ const localName = makeResolverLocalName(type.typeName, field.fieldName);
326
+
264
327
  if (field.isDirectExport) {
265
- entries.push(` ${field.fieldName}: ${field.resolverValueName},`);
328
+ entries.push(` ${field.fieldName}: ${localName},`);
266
329
  } else {
267
330
  entries.push(
268
- ` ${field.fieldName}: ${field.resolverValueName}.${field.fieldName},`,
331
+ ` ${field.fieldName}: ${localName}.${field.fieldName},`,
269
332
  );
270
333
  }
271
334
  }
272
335
 
273
336
  if (abstractResolverForType !== null) {
274
- entries.push(
275
- ` ${abstractResolverForType.resolverKey}: ${abstractResolverForType.exportName},`,
337
+ const localName = makeResolverLocalName(
338
+ abstractResolverForType.typeName,
339
+ abstractResolverForType.resolverKey,
276
340
  );
341
+ entries.push(` ${abstractResolverForType.resolverKey}: ${localName},`);
277
342
  }
278
343
 
279
344
  return ` ${type.typeName}: {\n${entries.join("\n")}\n },`;
@@ -379,7 +444,7 @@ export function emitResolversCode(params: EmitResolversCodeParams): string {
379
444
  imports.push('import { GraphQLScalarType } from "graphql";');
380
445
  }
381
446
 
382
- const importsByFile = collectResolverImportsByFile(resolverInfo);
447
+ const importsByFile = collectResolverImports(resolverInfo);
383
448
  imports.push(
384
449
  ...buildResolverImports(importsByFile, outputDir, importExtension),
385
450
  );
@@ -28,6 +28,7 @@ export type DiagnosticCode =
28
28
  | "CONFLICTING_SCALAR_TYPE"
29
29
  | "INVALID_DEFINE_CALL"
30
30
  | "CONFIG_SYNTAX_ERROR"
31
+ | "CONFIG_FILE_NOT_FOUND"
31
32
  | "CONFIG_MISSING_PROPERTY"
32
33
  | "CONFIG_INVALID_TYPE"
33
34
  | "CONFIG_INVALID_PATH"
File without changes