@gqlkit-ts/cli 0.4.0 → 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.
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +33 -13
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/gen.d.ts +11 -0
- package/dist/commands/gen.d.ts.map +1 -1
- package/dist/commands/gen.js +11 -2
- package/dist/commands/gen.js.map +1 -1
- package/dist/config-loader/loader.d.ts +1 -0
- package/dist/config-loader/loader.d.ts.map +1 -1
- package/dist/config-loader/loader.js +40 -2
- package/dist/config-loader/loader.js.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.js +52 -16
- package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
- package/dist/type-extractor/types/diagnostics.d.ts +1 -1
- package/dist/type-extractor/types/diagnostics.d.ts.map +1 -1
- package/docs/configuration.md +24 -0
- package/docs/index.md +6 -6
- package/package.json +3 -3
- package/src/commands/docs.ts +50 -24
- package/src/commands/gen.ts +12 -2
- package/src/config-loader/loader.ts +43 -2
- package/src/schema-generator/emitter/code-emitter.ts +86 -21
- package/src/type-extractor/types/diagnostics.ts +1 -0
- /package/docs/schema/{index.md → conventions.md} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;CACjC;AAmJD,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA0C/B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtB,CAAC"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { access, mkdir, readFile, symlink, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join, relative } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { dirname, join, parse, relative, resolve } from "node:path";
|
|
4
3
|
import { define } from "gunshi";
|
|
5
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
-
const CLI_DOCS_DIR = join(__dirname, "../../docs");
|
|
7
4
|
const SKILL_NAME = "gqlkit-guide";
|
|
8
5
|
async function exists(path) {
|
|
9
6
|
try {
|
|
@@ -14,6 +11,22 @@ async function exists(path) {
|
|
|
14
11
|
return false;
|
|
15
12
|
}
|
|
16
13
|
}
|
|
14
|
+
async function findNodeModulesDocsPath(startDir) {
|
|
15
|
+
let currentDir = resolve(startDir);
|
|
16
|
+
const root = parse(currentDir).root;
|
|
17
|
+
while (currentDir !== root) {
|
|
18
|
+
const candidate = join(currentDir, "node_modules/@gqlkit-ts/cli/docs");
|
|
19
|
+
if (await exists(candidate)) {
|
|
20
|
+
return candidate;
|
|
21
|
+
}
|
|
22
|
+
const parent = dirname(currentDir);
|
|
23
|
+
if (parent === currentDir) {
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
currentDir = parent;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
17
30
|
async function detectClaudeEnvironment(dir) {
|
|
18
31
|
const claudeMdExists = await exists(join(dir, "CLAUDE.md"));
|
|
19
32
|
const claudeDirExists = await exists(join(dir, ".claude"));
|
|
@@ -91,8 +104,13 @@ async function generateToolFiles(outputDir, config, filesWritten) {
|
|
|
91
104
|
const skillMdPath = join(skillDir, "SKILL.md");
|
|
92
105
|
await writeFile(skillMdPath, generateSkillMd());
|
|
93
106
|
filesWritten.push(skillMdPath);
|
|
107
|
+
const docsPath = await findNodeModulesDocsPath(skillDir);
|
|
108
|
+
if (docsPath === null) {
|
|
109
|
+
throw new Error(`Could not find @gqlkit-ts/cli docs directory under node_modules (starting from ${resolve(skillDir)}). ` +
|
|
110
|
+
"Ensure @gqlkit-ts/cli is installed.");
|
|
111
|
+
}
|
|
94
112
|
const referencesPath = join(skillDir, "references");
|
|
95
|
-
const relativePath = relative(skillDir,
|
|
113
|
+
const relativePath = relative(skillDir, docsPath);
|
|
96
114
|
await createSymlinkIfNotExists(referencesPath, relativePath);
|
|
97
115
|
filesWritten.push(referencesPath);
|
|
98
116
|
const rulesPath = join(outputDir, config.rulesFile);
|
|
@@ -100,10 +118,6 @@ async function generateToolFiles(outputDir, config, filesWritten) {
|
|
|
100
118
|
filesWritten.push(rulesPath);
|
|
101
119
|
}
|
|
102
120
|
export async function runDocsCommand(options) {
|
|
103
|
-
if (!(await exists(CLI_DOCS_DIR))) {
|
|
104
|
-
console.error(`Documentation directory not found: ${CLI_DOCS_DIR}\nRun "pnpm build" to generate documentation files.`);
|
|
105
|
-
return { exitCode: 1, filesWritten: [] };
|
|
106
|
-
}
|
|
107
121
|
const filesWritten = [];
|
|
108
122
|
const autoDetect = !options.claude && !options.codex;
|
|
109
123
|
const generateClaude = options.claude ||
|
|
@@ -114,11 +128,17 @@ export async function runDocsCommand(options) {
|
|
|
114
128
|
console.log("No AI tool environment detected. Use --claude or --codex to generate explicitly.");
|
|
115
129
|
return { exitCode: 0, filesWritten: [] };
|
|
116
130
|
}
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
try {
|
|
132
|
+
if (generateClaude) {
|
|
133
|
+
await generateToolFiles(options.output, { configDir: ".claude", rulesFile: "CLAUDE.md" }, filesWritten);
|
|
134
|
+
}
|
|
135
|
+
if (generateCodex) {
|
|
136
|
+
await generateToolFiles(options.output, { configDir: ".codex", rulesFile: "AGENTS.md" }, filesWritten);
|
|
137
|
+
}
|
|
119
138
|
}
|
|
120
|
-
|
|
121
|
-
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error(error instanceof Error ? (error.stack ?? error.message) : String(error));
|
|
141
|
+
return { exitCode: 1, filesWritten: [] };
|
|
122
142
|
}
|
|
123
143
|
return { exitCode: 0, filesWritten };
|
|
124
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/gen.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/commands/gen.js
CHANGED
|
@@ -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({
|
|
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
|
|
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
|
}
|
package/dist/commands/gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AAClF,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;
|
|
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;
|
|
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 =
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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
|
|
101
|
-
|
|
102
|
-
|
|
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
|
|
107
|
-
|
|
108
|
-
|
|
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
|
|
147
|
+
const importInfos = importsByFile.get(sourceFile) ?? [];
|
|
117
148
|
const importPath = computeRelativeImportPath(outputDir, sourceFile, importExtension);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
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}: ${
|
|
185
|
+
entries.push(` ${field.fieldName}: ${localName},`);
|
|
151
186
|
}
|
|
152
187
|
else {
|
|
153
|
-
entries.push(` ${field.fieldName}: ${
|
|
188
|
+
entries.push(` ${field.fieldName}: ${localName}.${field.fieldName},`);
|
|
154
189
|
}
|
|
155
190
|
}
|
|
156
191
|
if (abstractResolverForType !== null) {
|
|
157
|
-
|
|
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 =
|
|
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":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAEL,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAYnC,MAAM,qBAAqB,GACzB,wDAAwD,CAAC;AAE3D,SAAS,wBAAwB,CAC/B,gBAAkC,EAClC,OAA6B;IAE7B,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEzD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,gBAAkC,EAClC,OAA6B;IAE7B,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAE7E,OAAO,GAAG,qBAAqB;;;;wCAIO,gBAAgB;CACvD,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CACrB,YAAoB,EACpB,eAAgC;IAEhC,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,IAAI;YACP,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,IAAI;YACP,OAAO,YAAY,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAe,EACf,MAAc,EACd,eAAgC;IAEhC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOD,SAAS,wBAAwB,CAC/B,aAAiD;IAEjD,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IACE,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,CAAC,UAAU,KAAK,EAAE;YAClC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EACpC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;gBACnC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,UAAU,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAC7B,iBAAqC,EACrC,SAAiB,EACjB,eAAgC;IAEhC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAElD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,yBAAyB,CAC1C,SAAS,EACT,UAAU,EACV,eAAe,CAChB,CAAC;QACF,OAAO,CAAC,IAAI,CACV,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,IAAI,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA2B;IAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS,CAAC;IAC9D,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,eAAe,GACnB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,OAAO,qBAAqB,aAAa,KAAK,eAAe,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAC/B,aAAiD;IAEjD,MAAM,OAAO,GAAG,aAAa;SAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS,GAAG,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,oBAAoB,OAAO,WAAW,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CACjC,aAAiD;IAEjD,OAAO,aAAa,CAAC,GAAG,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,UAAU,GAAG,CACtE,CAAC;AACJ,CAAC;AAYD;;;GAGG;AACH,SAAS,qBAAqB,CAAC,UAAkB,EAAE,SAAiB;IAClE,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,YAA0B;IAE1B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC9D,sEAAsE;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAExE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACnE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAEvC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,gBAAgB,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,qBAAqB,CACrC,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,WAAW,CAC7B,CAAC;QAEF,MAAM,IAAI,GACR,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACnE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAgD,EAChD,SAAiB,EACjB,eAAgC;IAEhC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,yBAAyB,CAC1C,SAAS,EACT,UAAU,EACV,eAAe,CAChB,CAAC;QAEF,0CAA0C;QAC1C,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,SAAS,EAAE,CACtD,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,YAAY,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,IAAI,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CACjC,gBAA0C;IAE1C,MAAM,SAAS,GAAG,qBAAqB,CACrC,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,WAAW,CAC7B,CAAC;IACF,OAAO,OAAO,gBAAgB,CAAC,QAAQ,cAAc,gBAAgB,CAAC,WAAW,KAAK,SAAS,WAAW,CAAC;AAC7G,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAyB;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;SAC7B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,GAAG,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,OAAO,QAAQ,CAAC,QAAQ,QAAQ,OAAO,UAAU,CAAC;AAC3D,CAAC;AAED,SAAS,yBAAyB,CAChC,YAA4C;IAE5C,OAAO,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA+B;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;SAC7B,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,eAAe,IAAI,CACzE;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,OAAO,QAAQ,CAAC,QAAQ,QAAQ,OAAO,UAAU,CAAC;AAC3D,CAAC;AAED,SAAS,wBAAwB,CAC/B,kBAAwD;IAExD,OAAO,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAmB,EACnB,uBAAwD;IAExD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,qBAAqB,CACrC,uBAAuB,CAAC,QAAQ,EAChC,uBAAuB,CAAC,WAAW,CACpC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,SAAS,uBAAuB,CAAC,WAAW,KAAK,SAAS,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,OAAO,IAAI,CAAC,QAAQ,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAsD;IAEtD,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAExC,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1C,OAAO,OAAO,SAAS,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACvD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE/B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,yBAAyB,CAChC,eAAyC;IAEzC,MAAM,UAAU,GAAG,wBAAwB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1E,OAAO,OAAO,eAAe,CAAC,aAAa,sCAAsC,UAAU,WAAW,CAAC;AACzG,CAAC;AAED,SAAS,gBAAgB,CACvB,YAA0B,EAC1B,aAAiD;IAEjD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAElD,IAAI,gBAAgB,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC5E,KAAK,MAAM,gBAAgB,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAClE,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,YAAY,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CACxE,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS;QACnC,GAAG,eAAe,CAAC,IAAI,EAAE;QACzB,GAAG,uBAAuB,CAAC,IAAI,EAAE;QACjC,GAAG,sBAAsB,CAAC,IAAI,EAAE;KACjC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACvE,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CACd,sBAAsB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACzD,CAAC;QACJ,CAAC;aAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,GAChB,GAAG,MAAM,CAAC;IACX,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CACV,GAAG,oBAAoB,CAAC,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CACnE,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,sBAAsB,CAC1C,iBAAiB,EACjB,SAAS,EACT,eAAe,CAChB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,yBAAyB,GAC7B,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG;QACjB,GAAG,0BAA0B;QAC7B,GAAG,yBAAyB;QAC5B,GAAG,WAAW;KACf,CAAC;IAEF,MAAM,iBAAiB,GAAG,gBAAgB;QACxC,CAAC,CAAC,gDAAgD,wBAAwB,CAAC,aAAa,CAAC,GAAG;QAC5F,CAAC,CAAC,mCAAmC,CAAC;IAExC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,OAAO,GAAG,qBAAqB;;EAE/B,aAAa,GAAG,iBAAiB;;EAEjC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAGtB,CAAC;AACF,CAAC"}
|
|
@@ -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"}
|
package/docs/configuration.md
CHANGED
|
@@ -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.
|
|
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",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/shell-quote": "1.7.5",
|
|
62
62
|
"memfs": "4.56.10",
|
|
63
|
-
"@gqlkit-ts/
|
|
64
|
-
"@gqlkit-ts/
|
|
63
|
+
"@gqlkit-ts/docs": "0.0.1",
|
|
64
|
+
"@gqlkit-ts/runtime": "0.2.0"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"build": "tsc --build && bundle-docs --target ./docs",
|
package/src/commands/docs.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { access, mkdir, readFile, symlink, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join, relative } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { dirname, join, parse, relative, resolve } from "node:path";
|
|
4
3
|
import { define } from "gunshi";
|
|
5
4
|
|
|
6
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
const CLI_DOCS_DIR = join(__dirname, "../../docs");
|
|
8
5
|
const SKILL_NAME = "gqlkit-guide";
|
|
9
6
|
|
|
10
7
|
export interface RunDocsCommandOptions {
|
|
@@ -27,6 +24,27 @@ async function exists(path: string): Promise<boolean> {
|
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
|
|
27
|
+
async function findNodeModulesDocsPath(
|
|
28
|
+
startDir: string,
|
|
29
|
+
): Promise<string | null> {
|
|
30
|
+
let currentDir = resolve(startDir);
|
|
31
|
+
const root = parse(currentDir).root;
|
|
32
|
+
|
|
33
|
+
while (currentDir !== root) {
|
|
34
|
+
const candidate = join(currentDir, "node_modules/@gqlkit-ts/cli/docs");
|
|
35
|
+
if (await exists(candidate)) {
|
|
36
|
+
return candidate;
|
|
37
|
+
}
|
|
38
|
+
const parent = dirname(currentDir);
|
|
39
|
+
if (parent === currentDir) {
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
currentDir = parent;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
30
48
|
async function detectClaudeEnvironment(dir: string): Promise<boolean> {
|
|
31
49
|
const claudeMdExists = await exists(join(dir, "CLAUDE.md"));
|
|
32
50
|
const claudeDirExists = await exists(join(dir, ".claude"));
|
|
@@ -124,8 +142,16 @@ async function generateToolFiles(
|
|
|
124
142
|
await writeFile(skillMdPath, generateSkillMd());
|
|
125
143
|
filesWritten.push(skillMdPath);
|
|
126
144
|
|
|
145
|
+
const docsPath = await findNodeModulesDocsPath(skillDir);
|
|
146
|
+
if (docsPath === null) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
`Could not find @gqlkit-ts/cli docs directory under node_modules (starting from ${resolve(skillDir)}). ` +
|
|
149
|
+
"Ensure @gqlkit-ts/cli is installed.",
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
127
153
|
const referencesPath = join(skillDir, "references");
|
|
128
|
-
const relativePath = relative(skillDir,
|
|
154
|
+
const relativePath = relative(skillDir, docsPath);
|
|
129
155
|
await createSymlinkIfNotExists(referencesPath, relativePath);
|
|
130
156
|
filesWritten.push(referencesPath);
|
|
131
157
|
|
|
@@ -137,13 +163,6 @@ async function generateToolFiles(
|
|
|
137
163
|
export async function runDocsCommand(
|
|
138
164
|
options: RunDocsCommandOptions,
|
|
139
165
|
): Promise<RunDocsCommandResult> {
|
|
140
|
-
if (!(await exists(CLI_DOCS_DIR))) {
|
|
141
|
-
console.error(
|
|
142
|
-
`Documentation directory not found: ${CLI_DOCS_DIR}\nRun "pnpm build" to generate documentation files.`,
|
|
143
|
-
);
|
|
144
|
-
return { exitCode: 1, filesWritten: [] };
|
|
145
|
-
}
|
|
146
|
-
|
|
147
166
|
const filesWritten: string[] = [];
|
|
148
167
|
|
|
149
168
|
const autoDetect = !options.claude && !options.codex;
|
|
@@ -161,20 +180,27 @@ export async function runDocsCommand(
|
|
|
161
180
|
return { exitCode: 0, filesWritten: [] };
|
|
162
181
|
}
|
|
163
182
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
try {
|
|
184
|
+
if (generateClaude) {
|
|
185
|
+
await generateToolFiles(
|
|
186
|
+
options.output,
|
|
187
|
+
{ configDir: ".claude", rulesFile: "CLAUDE.md" },
|
|
188
|
+
filesWritten,
|
|
189
|
+
);
|
|
190
|
+
}
|
|
171
191
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
192
|
+
if (generateCodex) {
|
|
193
|
+
await generateToolFiles(
|
|
194
|
+
options.output,
|
|
195
|
+
{ configDir: ".codex", rulesFile: "AGENTS.md" },
|
|
196
|
+
filesWritten,
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
} catch (error) {
|
|
200
|
+
console.error(
|
|
201
|
+
error instanceof Error ? (error.stack ?? error.message) : String(error),
|
|
177
202
|
);
|
|
203
|
+
return { exitCode: 1, filesWritten: [] };
|
|
178
204
|
}
|
|
179
205
|
|
|
180
206
|
return { exitCode: 0, filesWritten };
|
package/src/commands/gen.ts
CHANGED
|
@@ -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({
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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,
|
|
176
|
-
const importsByFile = new Map<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
|
|
181
|
-
|
|
182
|
-
|
|
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
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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 { ${
|
|
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
|
-
|
|
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}: ${
|
|
328
|
+
entries.push(` ${field.fieldName}: ${localName},`);
|
|
266
329
|
} else {
|
|
267
330
|
entries.push(
|
|
268
|
-
` ${field.fieldName}: ${
|
|
331
|
+
` ${field.fieldName}: ${localName}.${field.fieldName},`,
|
|
269
332
|
);
|
|
270
333
|
}
|
|
271
334
|
}
|
|
272
335
|
|
|
273
336
|
if (abstractResolverForType !== null) {
|
|
274
|
-
|
|
275
|
-
|
|
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 =
|
|
447
|
+
const importsByFile = collectResolverImports(resolverInfo);
|
|
383
448
|
imports.push(
|
|
384
449
|
...buildResolverImports(importsByFile, outputDir, importExtension),
|
|
385
450
|
);
|
|
File without changes
|