zinfer 0.2.7 → 1.0.0-next.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.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/core/brand-detector.d.ts +2 -21
  3. package/dist/core/brand-detector.d.ts.map +1 -1
  4. package/dist/core/brand-detector.js +40 -67
  5. package/dist/core/brand-detector.js.map +1 -1
  6. package/dist/core/config-loader.d.ts.map +1 -1
  7. package/dist/core/description-extractor.d.ts +0 -22
  8. package/dist/core/description-extractor.d.ts.map +1 -1
  9. package/dist/core/description-extractor.js +21 -110
  10. package/dist/core/description-extractor.js.map +1 -1
  11. package/dist/core/errors.d.ts.map +1 -1
  12. package/dist/core/errors.js +1 -28
  13. package/dist/core/errors.js.map +1 -1
  14. package/dist/core/extractor.d.ts +3 -37
  15. package/dist/core/extractor.d.ts.map +1 -1
  16. package/dist/core/extractor.js +42 -178
  17. package/dist/core/extractor.js.map +1 -1
  18. package/dist/core/file-resolver.d.ts.map +1 -1
  19. package/dist/core/file-resolver.js.map +1 -1
  20. package/dist/core/getter-resolver.d.ts +2 -46
  21. package/dist/core/getter-resolver.d.ts.map +1 -1
  22. package/dist/core/getter-resolver.js +33 -85
  23. package/dist/core/getter-resolver.js.map +1 -1
  24. package/dist/core/import-resolver.d.ts +10 -30
  25. package/dist/core/import-resolver.d.ts.map +1 -1
  26. package/dist/core/import-resolver.js +59 -112
  27. package/dist/core/import-resolver.js.map +1 -1
  28. package/dist/core/index.d.ts +0 -2
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/core/index.js +0 -2
  31. package/dist/core/index.js.map +1 -1
  32. package/dist/core/logger.d.ts +0 -6
  33. package/dist/core/logger.d.ts.map +1 -1
  34. package/dist/core/logger.js +2 -9
  35. package/dist/core/logger.js.map +1 -1
  36. package/dist/core/name-mapper.d.ts.map +1 -1
  37. package/dist/core/name-mapper.js.map +1 -1
  38. package/dist/core/schema-detector.d.ts +10 -30
  39. package/dist/core/schema-detector.d.ts.map +1 -1
  40. package/dist/core/schema-detector.js +60 -82
  41. package/dist/core/schema-detector.js.map +1 -1
  42. package/dist/core/schema-reference-analyzer.d.ts +2 -56
  43. package/dist/core/schema-reference-analyzer.d.ts.map +1 -1
  44. package/dist/core/schema-reference-analyzer.js +89 -137
  45. package/dist/core/schema-reference-analyzer.js.map +1 -1
  46. package/dist/core/test-generator.d.ts.map +1 -1
  47. package/dist/core/test-generator.js.map +1 -1
  48. package/dist/core/ts-host.d.ts +38 -0
  49. package/dist/core/ts-host.d.ts.map +1 -0
  50. package/dist/core/ts-host.js +2 -0
  51. package/dist/core/ts-host.js.map +1 -0
  52. package/dist/core/tsgo-ast-utils.d.ts +12 -0
  53. package/dist/core/tsgo-ast-utils.d.ts.map +1 -0
  54. package/dist/core/tsgo-ast-utils.js +43 -0
  55. package/dist/core/tsgo-ast-utils.js.map +1 -0
  56. package/dist/core/tsgo-host.d.ts +54 -0
  57. package/dist/core/tsgo-host.d.ts.map +1 -0
  58. package/dist/core/tsgo-host.js +267 -0
  59. package/dist/core/tsgo-host.js.map +1 -0
  60. package/dist/core/type-printer.d.ts.map +1 -1
  61. package/dist/core/type-printer.js +8 -13
  62. package/dist/core/type-printer.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/package.json +6 -7
@@ -0,0 +1,54 @@
1
+ import type { Project } from "@typescript/native-preview/unstable/sync";
2
+ import type { SourceFile } from "@typescript/native-preview/unstable/ast";
3
+ import type { TsHost } from "./ts-host.js";
4
+ /**
5
+ * tsgo/Corsa-API-backed implementation of {@link TsHost}. Unlike ts-morph,
6
+ * the Corsa API is read-only at the AST level: there is no live SourceFile
7
+ * to mutate. Temporary type aliases are instead injected via a virtual-FS
8
+ * overlay - the file's real content plus appended synthetic statements - so
9
+ * each `resolveTypes` call opens a throwaway, self-contained snapshot rather
10
+ * than mutating shared state. See issue #200.
11
+ *
12
+ * Each operation (getSourceFile/resolveTypes/...) opens its virtual project
13
+ * scoped to only the one file it needs (plus whatever that file transitively
14
+ * imports) rather than accumulating every file ever touched into one
15
+ * ever-growing program: letting unrelated root files pile up in the same
16
+ * program was observed to make the checker's printed member order for
17
+ * union/object types depend on incidental cross-file caching, producing
18
+ * non-deterministic output depending on what else had been processed
19
+ * earlier in the same run.
20
+ */
21
+ export declare class TsgoHost implements TsHost<SourceFile> {
22
+ private readonly api;
23
+ private readonly virtualTsconfigPath;
24
+ private readonly compilerOptions;
25
+ private readonly overlays;
26
+ private readonly virtualFiles;
27
+ private readonly normalizeFlags;
28
+ private currentRootFiles;
29
+ constructor(tsconfigPath?: string);
30
+ private buildVirtualTsconfig;
31
+ /**
32
+ * Opens the virtual project scoped to exactly `rootFiles` for this call.
33
+ * Always marks every root file (not just the tsconfig) as changed: since
34
+ * the same real path is repeatedly reused as a root across calls with
35
+ * different virtual-FS overlay content (or none), the server must never
36
+ * assume a cached parse of it is still valid.
37
+ */
38
+ private openProject;
39
+ /** Returns the tsgo Project for whichever file was most recently requested. */
40
+ get project(): Project;
41
+ getSourceFile(filePath: string): SourceFile;
42
+ tryGetSourceFile(filePath: string): SourceFile | undefined;
43
+ /**
44
+ * Creates an in-memory source file from `content`, not backed by any real
45
+ * file on disk. `fileName` need not exist; it is only used as a stable
46
+ * identifier. Mirrors ts-morph's `Project#createSourceFile`.
47
+ */
48
+ createVirtualSourceFile(fileName: string, content: string): SourceFile;
49
+ ensureNormalizeType(sourceFile: SourceFile): void;
50
+ cleanupNormalizeType(sourceFile: SourceFile): void;
51
+ resolveTypes(sourceFile: SourceFile, statements: string[], typeNames: string[]): Map<string, string>;
52
+ private tryExpandEnum;
53
+ }
54
+ //# sourceMappingURL=tsgo-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsgo-host.d.ts","sourceRoot":"","sources":["../../src/core/tsgo-host.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuF3C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAS,YAAW,MAAM,CAAC,UAAU,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,YAAY,CAAC,EAAE,MAAM;IAsCjC,OAAO,CAAC,oBAAoB;IAO5B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAanB,+EAA+E;IAC/E,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAU3C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM1D;;;;OAIG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAWtE,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjD,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIlD,YAAY,CACV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqDtB,OAAO,CAAC,aAAa;CAwBtB"}
@@ -0,0 +1,267 @@
1
+ import os from "node:os";
2
+ import path from "node:path";
3
+ import { API, ModuleKind } from "@typescript/native-preview/unstable/sync";
4
+ import { ScriptTarget, SyntaxKind } from "@typescript/native-preview/unstable/ast";
5
+ import { NORMALIZE_TYPE_DEFINITION } from "./normalizer.js";
6
+ const DEFAULT_COMPILER_OPTIONS = {
7
+ strict: true,
8
+ target: "ESNext",
9
+ module: "ESNext",
10
+ moduleResolution: "bundler",
11
+ esModuleInterop: true,
12
+ skipLibCheck: true,
13
+ };
14
+ // TS's ModuleResolutionKind isn't re-exported from the public unstable/*
15
+ // surface; these numeric values are stable across TS versions.
16
+ const MODULE_RESOLUTION_KIND_NAMES = {
17
+ 1: "classic",
18
+ 2: "node10",
19
+ 3: "node16",
20
+ 99: "nodenext",
21
+ 100: "bundler",
22
+ };
23
+ /**
24
+ * `Checker`/`parseConfigFile` return fully-resolved CompilerOptions: enum
25
+ * fields as raw numbers, `lib` as resolved lib filenames (e.g.
26
+ * `"lib.es2022.d.ts"` instead of the `"es2022"` tsconfig.json expects), and
27
+ * paths (rootDir/outDir/...) absolutized against the *original* project.
28
+ * Naively re-embedding that into our own from-scratch virtual tsconfig.json
29
+ * would fail to parse (invalid `--lib` values, numeric enum fields) and
30
+ * inherit rootDir/outDir constraints from a project zinfer isn't actually
31
+ * building. Only carry over the handful of fields that affect type-checking
32
+ * of the target file, normalized back to valid tsconfig.json string form.
33
+ *
34
+ * `types`/`typeRoots` are resolved relative to the tsconfig's own directory,
35
+ * which for our virtual tsconfig is an unrelated temp directory - so an
36
+ * explicit `types: ["node"]` from the original project would otherwise fail
37
+ * to resolve `@types/node` at all (breaking even ambient globals like
38
+ * `Object`/`Function`). `typeRoots` is pointed at the original project's
39
+ * `node_modules/@types` so `types` keeps resolving correctly.
40
+ */
41
+ function sanitizeCompilerOptions(options, originalTsconfigDir) {
42
+ const KEEP_KEYS = [
43
+ "strict",
44
+ "esModuleInterop",
45
+ "skipLibCheck",
46
+ "resolveJsonModule",
47
+ "isolatedModules",
48
+ "forceConsistentCasingInFileNames",
49
+ "allowJs",
50
+ "checkJs",
51
+ "types",
52
+ ];
53
+ const result = {};
54
+ for (const key of KEEP_KEYS) {
55
+ if (key in options)
56
+ result[key] = options[key];
57
+ }
58
+ if (Array.isArray(options.lib)) {
59
+ result.lib = options.lib.map((lib) => typeof lib === "string" ? lib.replace(/^lib\./, "").replace(/\.d\.ts$/, "") : lib);
60
+ }
61
+ if (typeof options.target === "number") {
62
+ result.target = ScriptTarget[options.target] ?? DEFAULT_COMPILER_OPTIONS.target;
63
+ }
64
+ if (typeof options.module === "number") {
65
+ result.module = ModuleKind[options.module] ?? DEFAULT_COMPILER_OPTIONS.module;
66
+ }
67
+ if (typeof options.moduleResolution === "number") {
68
+ result.moduleResolution =
69
+ MODULE_RESOLUTION_KIND_NAMES[options.moduleResolution] ??
70
+ DEFAULT_COMPILER_OPTIONS.moduleResolution;
71
+ }
72
+ if ("types" in options) {
73
+ result.typeRoots = [path.join(originalTsconfigDir, "node_modules", "@types")];
74
+ }
75
+ return result;
76
+ }
77
+ const NO_TRUNCATION = 1;
78
+ const IN_TYPE_ALIAS = 8388608;
79
+ const FORMAT_FLAGS = NO_TRUNCATION | IN_TYPE_ALIAS;
80
+ /**
81
+ * tsgo/Corsa-API-backed implementation of {@link TsHost}. Unlike ts-morph,
82
+ * the Corsa API is read-only at the AST level: there is no live SourceFile
83
+ * to mutate. Temporary type aliases are instead injected via a virtual-FS
84
+ * overlay - the file's real content plus appended synthetic statements - so
85
+ * each `resolveTypes` call opens a throwaway, self-contained snapshot rather
86
+ * than mutating shared state. See issue #200.
87
+ *
88
+ * Each operation (getSourceFile/resolveTypes/...) opens its virtual project
89
+ * scoped to only the one file it needs (plus whatever that file transitively
90
+ * imports) rather than accumulating every file ever touched into one
91
+ * ever-growing program: letting unrelated root files pile up in the same
92
+ * program was observed to make the checker's printed member order for
93
+ * union/object types depend on incidental cross-file caching, producing
94
+ * non-deterministic output depending on what else had been processed
95
+ * earlier in the same run.
96
+ */
97
+ export class TsgoHost {
98
+ api;
99
+ virtualTsconfigPath;
100
+ compilerOptions;
101
+ overlays = new Map();
102
+ virtualFiles = new Map();
103
+ normalizeFlags = new Set();
104
+ currentRootFiles = [];
105
+ constructor(tsconfigPath) {
106
+ this.virtualTsconfigPath = path.join(os.tmpdir(), `zinfer-tsgo-${process.pid}-${Math.random().toString(36).slice(2)}.tsconfig.json`);
107
+ this.api = new API({
108
+ fs: {
109
+ readFile: (fileName) => {
110
+ const resolved = path.resolve(fileName);
111
+ if (resolved === this.virtualTsconfigPath) {
112
+ return this.buildVirtualTsconfig();
113
+ }
114
+ if (this.overlays.has(resolved)) {
115
+ return this.overlays.get(resolved);
116
+ }
117
+ if (this.virtualFiles.has(resolved)) {
118
+ return this.virtualFiles.get(resolved);
119
+ }
120
+ return undefined;
121
+ },
122
+ fileExists: (fileName) => {
123
+ const resolved = path.resolve(fileName);
124
+ if (resolved === this.virtualTsconfigPath)
125
+ return true;
126
+ if (this.virtualFiles.has(resolved))
127
+ return true;
128
+ return undefined;
129
+ },
130
+ },
131
+ });
132
+ this.compilerOptions = tsconfigPath
133
+ ? sanitizeCompilerOptions(this.api.parseConfigFile(path.resolve(tsconfigPath)).options, path.dirname(path.resolve(tsconfigPath)))
134
+ : DEFAULT_COMPILER_OPTIONS;
135
+ }
136
+ buildVirtualTsconfig() {
137
+ return JSON.stringify({
138
+ compilerOptions: this.compilerOptions,
139
+ files: this.currentRootFiles,
140
+ });
141
+ }
142
+ /**
143
+ * Opens the virtual project scoped to exactly `rootFiles` for this call.
144
+ * Always marks every root file (not just the tsconfig) as changed: since
145
+ * the same real path is repeatedly reused as a root across calls with
146
+ * different virtual-FS overlay content (or none), the server must never
147
+ * assume a cached parse of it is still valid.
148
+ */
149
+ openProject(rootFiles) {
150
+ this.currentRootFiles = rootFiles;
151
+ const snapshot = this.api.updateSnapshot({
152
+ openProject: this.virtualTsconfigPath,
153
+ fileChanges: { changed: [this.virtualTsconfigPath, ...rootFiles] },
154
+ });
155
+ const project = snapshot.getProject(this.virtualTsconfigPath);
156
+ if (!project) {
157
+ throw new Error("tsgo: failed to open virtual project");
158
+ }
159
+ return project;
160
+ }
161
+ /** Returns the tsgo Project for whichever file was most recently requested. */
162
+ get project() {
163
+ return this.openProject(this.currentRootFiles);
164
+ }
165
+ getSourceFile(filePath) {
166
+ const resolved = path.resolve(filePath);
167
+ const project = this.openProject([resolved]);
168
+ const sourceFile = project.program.getSourceFile(resolved);
169
+ if (!sourceFile) {
170
+ throw new Error(`tsgo: source file not found in program: ${resolved}`);
171
+ }
172
+ return sourceFile;
173
+ }
174
+ tryGetSourceFile(filePath) {
175
+ const resolved = path.resolve(filePath);
176
+ const project = this.openProject([resolved]);
177
+ return project.program.getSourceFile(resolved);
178
+ }
179
+ /**
180
+ * Creates an in-memory source file from `content`, not backed by any real
181
+ * file on disk. `fileName` need not exist; it is only used as a stable
182
+ * identifier. Mirrors ts-morph's `Project#createSourceFile`.
183
+ */
184
+ createVirtualSourceFile(fileName, content) {
185
+ const resolved = path.resolve(fileName);
186
+ this.virtualFiles.set(resolved, content);
187
+ const project = this.openProject([resolved]);
188
+ const sourceFile = project.program.getSourceFile(resolved);
189
+ if (!sourceFile) {
190
+ throw new Error(`tsgo: virtual source file not found: ${resolved}`);
191
+ }
192
+ return sourceFile;
193
+ }
194
+ ensureNormalizeType(sourceFile) {
195
+ this.normalizeFlags.add(sourceFile.fileName);
196
+ }
197
+ cleanupNormalizeType(sourceFile) {
198
+ this.normalizeFlags.delete(sourceFile.fileName);
199
+ }
200
+ resolveTypes(sourceFile, statements, typeNames) {
201
+ const filePath = sourceFile.fileName;
202
+ const normalizeContent = this.normalizeFlags.has(filePath) ? NORMALIZE_TYPE_DEFINITION : "";
203
+ const overlayContent = `${sourceFile.text}\n${normalizeContent}\n${statements.join("\n")}\n`;
204
+ this.overlays.set(filePath, overlayContent);
205
+ try {
206
+ const project = this.openProject([filePath]);
207
+ const overlaidSourceFile = project.program.getSourceFile(filePath);
208
+ if (!overlaidSourceFile) {
209
+ throw new Error(`tsgo: source file not found after overlay: ${filePath}`);
210
+ }
211
+ const results = new Map();
212
+ for (const typeName of typeNames) {
213
+ const declIdx = overlayContent.indexOf(`type ${typeName}`);
214
+ if (declIdx === -1) {
215
+ throw new Error(`tsgo: could not find injected type alias "${typeName}"`);
216
+ }
217
+ const identPos = declIdx + "type ".length;
218
+ const symbol = project.checker.getSymbolAtPosition(filePath, identPos);
219
+ if (!symbol) {
220
+ throw new Error(`tsgo: failed to resolve symbol for type alias "${typeName}"`);
221
+ }
222
+ const type = project.checker.getDeclaredTypeOfSymbol(symbol);
223
+ let rawType = project.checker.typeToString(type, undefined, FORMAT_FLAGS);
224
+ if (rawType.includes("\n")) {
225
+ rawType = rawType
226
+ .split("\n")
227
+ .map((line) => line.trimEnd())
228
+ .join("\n");
229
+ }
230
+ else {
231
+ rawType = rawType.trimEnd();
232
+ }
233
+ if (/^[A-Z][a-zA-Z0-9]*$/.test(rawType)) {
234
+ const expanded = this.tryExpandEnum(overlaidSourceFile, rawType, project);
235
+ if (expanded) {
236
+ rawType = expanded;
237
+ }
238
+ }
239
+ results.set(typeName, rawType);
240
+ }
241
+ return results;
242
+ }
243
+ finally {
244
+ this.overlays.delete(filePath);
245
+ }
246
+ }
247
+ tryExpandEnum(sourceFile, name, project) {
248
+ const enumDecl = sourceFile.statements.find((s) => s.kind === SyntaxKind.EnumDeclaration &&
249
+ s.name.getText(sourceFile) === name);
250
+ if (!enumDecl)
251
+ return undefined;
252
+ const values = enumDecl.members
253
+ .map((member) => {
254
+ const value = project.checker.getConstantValue(member);
255
+ if (typeof value === "string")
256
+ return `"${value}"`;
257
+ if (typeof value === "number")
258
+ return value.toString();
259
+ return null;
260
+ })
261
+ .filter((v) => v !== null);
262
+ if (values.length === 0)
263
+ return undefined;
264
+ return values.join(" | ");
265
+ }
266
+ }
267
+ //# sourceMappingURL=tsgo-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsgo-host.js","sourceRoot":"","sources":["../../src/core/tsgo-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-printer.d.ts","sourceRoot":"","sources":["../../src/core/type-printer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAgBtF;AAqRD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAGzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAG1F;AAyFD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAsDR;AAiBD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,EAC/C,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAqIR;AASD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,EAC/C,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAkBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAarF"}
1
+ {"version":3,"file":"type-printer.d.ts","sourceRoot":"","sources":["../../src/core/type-printer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAgBtF;AAmQD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAGzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAG1F;AAyFD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAsDR;AAiBD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,EAC/C,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAqIR;AASD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,EAC/C,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAkBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAarF"}
@@ -73,8 +73,7 @@ function createParserState() {
73
73
  stringChar: "",
74
74
  currentFieldName: "",
75
75
  capturingFieldName: false,
76
- lastFieldByDepth: {},
77
- fieldNameStack: [],
76
+ pathStack: [],
78
77
  };
79
78
  }
80
79
  /**
@@ -98,24 +97,22 @@ function updateStringState(state, char, prevChar) {
98
97
  * Handles opening brace character.
99
98
  */
100
99
  function handleOpenBrace(state, indent) {
101
- // The field owning this brace is whatever was last seen at the *parent*
102
- // depth - not overwritten by a sibling brace's own inner fields.
103
- const ownerField = state.lastFieldByDepth[state.depth] ?? "";
104
100
  state.depth++;
105
101
  state.result += "{\n" + indent.repeat(state.depth);
106
- state.fieldNameStack.push(ownerField);
107
102
  state.capturingFieldName = true;
108
103
  state.currentFieldName = "";
104
+ if (state.depth > 1 && state.currentFieldName) {
105
+ state.pathStack.push(state.currentFieldName);
106
+ }
109
107
  }
110
108
  /**
111
109
  * Handles closing brace character.
112
110
  */
113
111
  function handleCloseBrace(state, indent) {
114
- // Clear this depth's last-seen field so it can't leak into a sibling
115
- // brace opened afterward at the parent depth.
116
- delete state.lastFieldByDepth[state.depth];
117
112
  state.depth--;
118
- state.fieldNameStack.pop();
113
+ if (state.pathStack.length > 0 && state.depth >= 1) {
114
+ state.pathStack.pop();
115
+ }
119
116
  state.result += "\n" + indent.repeat(state.depth) + "}";
120
117
  }
121
118
  /**
@@ -124,8 +121,7 @@ function handleCloseBrace(state, indent) {
124
121
  function handleColon(state, indent, descriptions, prefix) {
125
122
  if (state.capturingFieldName && state.currentFieldName) {
126
123
  const cleanFieldName = state.currentFieldName.replace(/\?$/, "").trim();
127
- const scopePath = state.fieldNameStack.filter(Boolean).join(".");
128
- const currentPath = [prefix, scopePath].filter(Boolean).join(".");
124
+ const currentPath = [...state.pathStack, prefix].filter(Boolean).join(".");
129
125
  const desc = getFieldDescription(cleanFieldName, currentPath, descriptions);
130
126
  if (desc) {
131
127
  const lastNewlinePos = state.result.lastIndexOf("\n");
@@ -133,7 +129,6 @@ function handleColon(state, indent, descriptions, prefix) {
133
129
  const fieldPart = state.result.substring(lastNewlinePos + 1);
134
130
  state.result = beforeField + createTsDocComment(desc, indent.repeat(state.depth)) + fieldPart;
135
131
  }
136
- state.lastFieldByDepth[state.depth] = cleanFieldName;
137
132
  }
138
133
  state.result += ":";
139
134
  state.capturingFieldName = false;
@@ -1 +1 @@
1
- {"version":3,"file":"type-printer.js","sourceRoot":"","sources":["../../src/core/type-printer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-printer.js","sourceRoot":"","sources":["../../src/core/type-printer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ZodTypeExtractor, type ExtractOptions, formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, type PrintOptions, SchemaDetector, NameMapper, createNameMapper, FileResolver, defineConfig, type ZinferConfig, TestGenerator, generateTypeTests, generateImportPrefix, createTestSchemaInfo, toPascalCase, type TestSchemaInfo, type TestFileInfo, type TestGeneratorOptions, } from "./core/index.js";
1
+ export { ZodTypeExtractor, type ExtractOptions, formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, type PrintOptions, NameMapper, createNameMapper, FileResolver, defineConfig, type ZinferConfig, TestGenerator, generateTypeTests, generateImportPrefix, createTestSchemaInfo, toPascalCase, type TestSchemaInfo, type TestFileInfo, type TestGeneratorOptions, } from "./core/index.js";
2
2
  export type { ExtractResult, FileExtractResult, DetectedSchema, MappedTypeName, NameMappingOptions, OutputOptions, GeneratedFile, DeclarationOptions, } from "./core/index.js";
3
3
  import { type ExtractResult, type NameMappingOptions, type DeclarationOptions } from "./core/index.js";
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,YAAY,EACjB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EAEjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAG1F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC7B,GACL,MAAM,CAGR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,YAAY,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EAEjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAG1F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC7B,GACL,MAAM,CAGR"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Core exports
2
- export { ZodTypeExtractor, formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, SchemaDetector, NameMapper, createNameMapper, FileResolver, defineConfig,
2
+ export { ZodTypeExtractor, formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, NameMapper, createNameMapper, FileResolver, defineConfig,
3
3
  // Test generation
4
4
  TestGenerator, generateTypeTests, generateImportPrefix, createTestSchemaInfo, toPascalCase, } from "./core/index.js";
5
5
  import { ZodTypeExtractor, generateDeclarationFile, NameMapper, formatResult, } from "./core/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EACL,gBAAgB,EAEhB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EAEvB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY;AAEZ,kBAAkB;AAClB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GAIb,MAAM,iBAAiB,CAAC;AAczB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,YAAY,GAIb,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAAkB,EAClB,YAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,UAAkB,EAClB,YAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,MAAM,GAAkB,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,YAAqB;IACvE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwB,EACxB,OAAO,GAGH,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EACL,gBAAgB,EAEhB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EAEvB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY;AAEZ,kBAAkB;AAClB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GAIb,MAAM,iBAAiB,CAAC;AAczB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,YAAY,GAIb,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAAkB,EAClB,YAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,UAAkB,EAClB,YAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,MAAM,GAAkB,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,YAAqB;IACvE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwB,EACxB,UAGI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AACjG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zinfer",
3
- "version": "0.2.7",
3
+ "version": "1.0.0-next.0",
4
4
  "description": "Extract input/output types from Zod schemas",
5
5
  "keywords": [
6
6
  "schema",
@@ -29,21 +29,20 @@
29
29
  "provenance": true
30
30
  },
31
31
  "dependencies": {
32
+ "@typescript/native-preview": "7.0.0-dev.20260707.2",
32
33
  "commander": "^15.0.0",
33
34
  "glob": "^13.0.0",
34
35
  "jiti": "^2.6.1",
35
- "pathe": "^2.0.3",
36
- "ts-morph": "^28.0.0"
36
+ "pathe": "^2.0.3"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@changesets/cli": "2.31.0",
40
- "@types/node": "25.9.5",
41
- "@typescript/native-preview": "7.0.0-dev.20260707.2",
40
+ "@types/node": "25.9.4",
42
41
  "knip": "6.25.0",
43
- "lefthook": "2.1.10",
42
+ "lefthook": "2.1.9",
44
43
  "oxfmt": "0.58.0",
45
44
  "oxlint": "1.73.0",
46
- "typescript": "7.0.2",
45
+ "typescript": "6.0.3",
47
46
  "vitest": "4.1.10",
48
47
  "zod": "4.4.3"
49
48
  },