@gnapi/cotester 1.0.0 → 1.2.2
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/analyzer.d.ts +9 -1
- package/dist/analyzer.js +61 -6
- package/dist/analyzer.js.map +1 -1
- package/dist/astCache.d.ts +19 -0
- package/dist/astCache.js +179 -0
- package/dist/astCache.js.map +1 -0
- package/dist/checker.d.ts +60 -0
- package/dist/checker.js +272 -0
- package/dist/checker.js.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -1
- package/dist/configManager.d.ts +5 -0
- package/dist/configManager.js +2 -0
- package/dist/configManager.js.map +1 -1
- package/dist/fileWorker.d.ts +10 -0
- package/dist/fileWorker.js +36 -0
- package/dist/fileWorker.js.map +1 -0
- package/dist/generator.js +8 -7
- package/dist/generator.js.map +1 -1
- package/dist/interfaceShapeResolver.d.ts +8 -0
- package/dist/interfaceShapeResolver.js +273 -0
- package/dist/interfaceShapeResolver.js.map +1 -0
- package/dist/mockGenerator.d.ts +11 -3
- package/dist/mockGenerator.js +42 -12
- package/dist/mockGenerator.js.map +1 -1
- package/dist/pathAliasResolver.d.ts +27 -0
- package/dist/pathAliasResolver.js +163 -0
- package/dist/pathAliasResolver.js.map +1 -0
- package/dist/scenarioEngine.d.ts +4 -1
- package/dist/scenarioEngine.js +7 -4
- package/dist/scenarioEngine.js.map +1 -1
- package/dist/utils.js +11 -4
- package/dist/utils.js.map +1 -1
- package/dist/watcher.js +33 -17
- package/dist/watcher.js.map +1 -1
- package/dist/workerPool.d.ts +22 -0
- package/dist/workerPool.js +131 -0
- package/dist/workerPool.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resolveInterfaceShape = resolveInterfaceShape;
|
|
37
|
+
/**
|
|
38
|
+
* Interface Shape Resolver
|
|
39
|
+
*
|
|
40
|
+
* Uses ts-morph to walk the actual interface / type-alias declaration for a
|
|
41
|
+
* custom type and produce an accurate mock object literal.
|
|
42
|
+
*
|
|
43
|
+
* Handles:
|
|
44
|
+
* - InterfaceDeclaration & TypeAliasDeclaration
|
|
45
|
+
* - Optional properties (prop?: T → omit undefined, use T)
|
|
46
|
+
* - readonly modifiers (ignored — mocks are data literals)
|
|
47
|
+
* - Union types (picks first non-null / non-undefined member)
|
|
48
|
+
* - Intersection types (merges property sets)
|
|
49
|
+
* - Nested custom types (recursive, capped at MAX_DEPTH)
|
|
50
|
+
* - Arrays → []
|
|
51
|
+
* - Enums → first member value
|
|
52
|
+
* - Cross-file imports (follows named imports into their source files)
|
|
53
|
+
* - import("…").TypeName fully-qualified type text (ts-morph output)
|
|
54
|
+
*
|
|
55
|
+
* Module-level project cache: workers are short-lived (one per file), so
|
|
56
|
+
* caching prevents recreating the same Project for every parameter of the
|
|
57
|
+
* same source file.
|
|
58
|
+
*/
|
|
59
|
+
const ts_morph_1 = require("ts-morph");
|
|
60
|
+
const fs = __importStar(require("fs"));
|
|
61
|
+
const path = __importStar(require("path"));
|
|
62
|
+
const mockDataEngine_1 = require("./mockDataEngine");
|
|
63
|
+
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
64
|
+
/** Maximum recursion depth to prevent infinite loops on circular types. */
|
|
65
|
+
const MAX_DEPTH = 4;
|
|
66
|
+
const projectCache = new Map();
|
|
67
|
+
function getCtx(sourceFilePath, projectRoot) {
|
|
68
|
+
const cached = projectCache.get(sourceFilePath);
|
|
69
|
+
if (cached)
|
|
70
|
+
return cached;
|
|
71
|
+
try {
|
|
72
|
+
const tsconfigPath = path.join(projectRoot, "tsconfig.json");
|
|
73
|
+
const project = new ts_morph_1.Project(fs.existsSync(tsconfigPath)
|
|
74
|
+
? { tsConfigFilePath: tsconfigPath, skipAddingFilesFromTsConfig: true }
|
|
75
|
+
: { compilerOptions: { allowJs: true } });
|
|
76
|
+
const sourceFile = project.addSourceFileAtPath(sourceFilePath);
|
|
77
|
+
const ctx = { project, sourceFile };
|
|
78
|
+
projectCache.set(sourceFilePath, ctx);
|
|
79
|
+
return ctx;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// ─── Public API ───────────────────────────────────────────────────────────────
|
|
86
|
+
/**
|
|
87
|
+
* Attempt to resolve `typeName` to an accurate mock object literal by walking
|
|
88
|
+
* the ts-morph AST of `sourceFilePath`.
|
|
89
|
+
*
|
|
90
|
+
* Returns a code literal string (e.g. `{ id: 1, name: 'test-name' }`) or
|
|
91
|
+
* `null` when the type cannot be found / resolved.
|
|
92
|
+
*/
|
|
93
|
+
function resolveInterfaceShape(typeName, sourceFilePath, projectRoot) {
|
|
94
|
+
try {
|
|
95
|
+
// ts-morph emits `import("/abs/path").TypeName` for cross-file types
|
|
96
|
+
const importMatch = typeName.match(/^import\("([^"]+)"\)\.(\w[\w.]*)/);
|
|
97
|
+
if (importMatch) {
|
|
98
|
+
const importedAbsPath = importMatch[1];
|
|
99
|
+
const importedTypeName = importMatch[2];
|
|
100
|
+
const ctx = getCtx(sourceFilePath, projectRoot);
|
|
101
|
+
if (!ctx)
|
|
102
|
+
return null;
|
|
103
|
+
// Ensure the imported file is part of the project
|
|
104
|
+
let importedSF = ctx.project.getSourceFile(importedAbsPath);
|
|
105
|
+
if (!importedSF) {
|
|
106
|
+
try {
|
|
107
|
+
importedSF = ctx.project.addSourceFileAtPath(importedAbsPath);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return resolveTypeInFile(importedTypeName, importedSF, ctx.project, 0);
|
|
114
|
+
}
|
|
115
|
+
const ctx = getCtx(sourceFilePath, projectRoot);
|
|
116
|
+
if (!ctx)
|
|
117
|
+
return null;
|
|
118
|
+
return resolveTypeInFile(typeName, ctx.sourceFile, ctx.project, 0);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// ─── Type lookup ──────────────────────────────────────────────────────────────
|
|
125
|
+
function resolveTypeInFile(typeName, sourceFile, project, depth) {
|
|
126
|
+
if (depth >= MAX_DEPTH)
|
|
127
|
+
return null;
|
|
128
|
+
// 1. Interface declaration in this file
|
|
129
|
+
const iface = sourceFile.getInterface(typeName);
|
|
130
|
+
if (iface)
|
|
131
|
+
return buildMockFromType(iface.getType(), depth);
|
|
132
|
+
// 2. Type alias in this file
|
|
133
|
+
const typeAlias = sourceFile.getTypeAlias(typeName);
|
|
134
|
+
if (typeAlias)
|
|
135
|
+
return buildMockFromType(typeAlias.getType(), depth);
|
|
136
|
+
// 3. Re-exported / imported named type → follow into its source file
|
|
137
|
+
for (const importDecl of sourceFile.getImportDeclarations()) {
|
|
138
|
+
for (const named of importDecl.getNamedImports()) {
|
|
139
|
+
const localName = named.getAliasNode()?.getText() ?? named.getName();
|
|
140
|
+
if (localName !== typeName)
|
|
141
|
+
continue;
|
|
142
|
+
const importedSF = importDecl.getModuleSpecifierSourceFile();
|
|
143
|
+
if (!importedSF)
|
|
144
|
+
continue;
|
|
145
|
+
try {
|
|
146
|
+
project.addSourceFileAtPath(importedSF.getFilePath());
|
|
147
|
+
}
|
|
148
|
+
catch { /* already added */ }
|
|
149
|
+
return resolveTypeInFile(named.getName(), importedSF, project, depth + 1);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
// ─── Type → mock literal ──────────────────────────────────────────────────────
|
|
155
|
+
function buildMockFromType(type, depth) {
|
|
156
|
+
if (depth >= MAX_DEPTH)
|
|
157
|
+
return `{} as any`;
|
|
158
|
+
// ── Union: filter out null/undefined, pick first remaining member ───────
|
|
159
|
+
if (type.isUnion()) {
|
|
160
|
+
const members = type.getUnionTypes().filter((t) => !t.isNull() && !t.isUndefined());
|
|
161
|
+
if (members.length === 0)
|
|
162
|
+
return "null";
|
|
163
|
+
return buildMockFromType(members[0], depth);
|
|
164
|
+
}
|
|
165
|
+
// ── Intersection: merge property sets ────────────────────────────────────
|
|
166
|
+
if (type.isIntersection()) {
|
|
167
|
+
const parts = [];
|
|
168
|
+
for (const member of type.getIntersectionTypes()) {
|
|
169
|
+
const literal = buildMockFromType(member, depth + 1);
|
|
170
|
+
if (literal.startsWith("{") && literal.endsWith("}")) {
|
|
171
|
+
const inner = literal.slice(1, -1).trim();
|
|
172
|
+
if (inner)
|
|
173
|
+
parts.push(inner);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return parts.length > 0 ? `{ ${parts.join(", ")} }` : "{}";
|
|
177
|
+
}
|
|
178
|
+
// ── Primitives ────────────────────────────────────────────────────────────
|
|
179
|
+
if (type.isString() || type.isStringLiteral()) {
|
|
180
|
+
const lit = type.isStringLiteral() ? type.getLiteralValue() : undefined;
|
|
181
|
+
return typeof lit === "string" ? `'${lit}'` : "'test-value'";
|
|
182
|
+
}
|
|
183
|
+
if (type.isNumber() || type.isNumberLiteral()) {
|
|
184
|
+
const lit = type.isNumberLiteral() ? type.getLiteralValue() : undefined;
|
|
185
|
+
return typeof lit === "number" ? String(lit) : "1";
|
|
186
|
+
}
|
|
187
|
+
if (type.isBoolean() || type.isBooleanLiteral()) {
|
|
188
|
+
const lit = type.isBooleanLiteral() ? type.getLiteralValue() : undefined;
|
|
189
|
+
return typeof lit === "boolean" ? String(lit) : "true";
|
|
190
|
+
}
|
|
191
|
+
if (type.isNull())
|
|
192
|
+
return "null";
|
|
193
|
+
if (type.isUndefined())
|
|
194
|
+
return "undefined";
|
|
195
|
+
const text = type.getText();
|
|
196
|
+
// ── Date ─────────────────────────────────────────────────────────────────
|
|
197
|
+
if (text === "Date")
|
|
198
|
+
return "new Date('2025-06-15T10:30:00Z')";
|
|
199
|
+
// ── Array / Tuple ─────────────────────────────────────────────────────────
|
|
200
|
+
if (type.isArray() || type.isTuple())
|
|
201
|
+
return "[]";
|
|
202
|
+
// ── Enum literal ─────────────────────────────────────────────────────────
|
|
203
|
+
if (type.isEnumLiteral()) {
|
|
204
|
+
const lit = type.getLiteralValue();
|
|
205
|
+
if (typeof lit === "string")
|
|
206
|
+
return `'${lit}'`;
|
|
207
|
+
if (typeof lit === "number")
|
|
208
|
+
return String(lit);
|
|
209
|
+
}
|
|
210
|
+
// ── Enum: return first member value ──────────────────────────────────────
|
|
211
|
+
if (type.isEnum()) {
|
|
212
|
+
const symbol = type.getSymbol();
|
|
213
|
+
const decl = symbol?.getDeclarations()[0];
|
|
214
|
+
if (decl && decl.getKind() === ts_morph_1.SyntaxKind.EnumDeclaration) {
|
|
215
|
+
const members = decl.getMembers?.();
|
|
216
|
+
if (members && members.length > 0) {
|
|
217
|
+
const firstVal = members[0].getValue?.();
|
|
218
|
+
if (typeof firstVal === "string")
|
|
219
|
+
return `'${firstVal}'`;
|
|
220
|
+
if (typeof firstVal === "number")
|
|
221
|
+
return String(firstVal);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return "0";
|
|
225
|
+
}
|
|
226
|
+
// ── Object / Interface: walk properties ───────────────────────────────────
|
|
227
|
+
const properties = type.getProperties();
|
|
228
|
+
if (properties.length > 0) {
|
|
229
|
+
const entries = [];
|
|
230
|
+
for (const prop of properties) {
|
|
231
|
+
const propName = prop.getName();
|
|
232
|
+
// Skip index signatures (e.g. [key: string])
|
|
233
|
+
if (propName.startsWith("["))
|
|
234
|
+
continue;
|
|
235
|
+
const propType = getPropType(prop);
|
|
236
|
+
const value = buildValueForProp(propName, propType, depth + 1);
|
|
237
|
+
entries.push(`${propName}: ${value}`);
|
|
238
|
+
}
|
|
239
|
+
if (entries.length > 0)
|
|
240
|
+
return `{ ${entries.join(", ")} }`;
|
|
241
|
+
}
|
|
242
|
+
return `{} as any /* ${text} */`;
|
|
243
|
+
}
|
|
244
|
+
/** Resolve the Type for a property Symbol, unwrapping the value declaration when possible. */
|
|
245
|
+
function getPropType(prop) {
|
|
246
|
+
const valueDecl = prop.getValueDeclaration();
|
|
247
|
+
if (valueDecl) {
|
|
248
|
+
// PropertySignature / PropertyDeclaration / MethodSignature all expose getType()
|
|
249
|
+
const typed = valueDecl;
|
|
250
|
+
if (typeof typed.getType === "function") {
|
|
251
|
+
return typed.getType();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return prop.getDeclaredType();
|
|
255
|
+
}
|
|
256
|
+
/** Generate a mock value for a single property, name-hinting first. */
|
|
257
|
+
function buildValueForProp(propName, propType, depth) {
|
|
258
|
+
// Unwrap T | undefined / T | null for optional properties
|
|
259
|
+
let t = propType;
|
|
260
|
+
if (t.isUnion()) {
|
|
261
|
+
const nonNullable = t.getUnionTypes().filter((m) => !m.isUndefined() && !m.isNull());
|
|
262
|
+
if (nonNullable.length === 0)
|
|
263
|
+
return "undefined";
|
|
264
|
+
t = nonNullable.length === 1 ? nonNullable[0] : nonNullable[0]; // pick first
|
|
265
|
+
}
|
|
266
|
+
// Name-based smart mock (highest priority — same logic as the mock data engine)
|
|
267
|
+
const nameMock = (0, mockDataEngine_1.getSmartMockByName)(propName);
|
|
268
|
+
if (nameMock && nameMock.length > 0)
|
|
269
|
+
return nameMock[0].literal;
|
|
270
|
+
// Recurse into the type structure
|
|
271
|
+
return buildMockFromType(t, depth);
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=interfaceShapeResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaceShapeResolver.js","sourceRoot":"","sources":["../src/interfaceShapeResolver.ts"],"names":[],"mappings":"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"}
|
package/dist/mockGenerator.d.ts
CHANGED
|
@@ -38,9 +38,14 @@ export interface MockArgSet {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Get mock values for a parameter based on its name and type.
|
|
41
|
-
* Priority: name-based rules → type-based rules → interface resolution → default.
|
|
41
|
+
* Priority: name-based rules → type-based rules → AST interface resolution → heuristic → default.
|
|
42
|
+
*
|
|
43
|
+
* @param typeStr TypeScript type string for the parameter.
|
|
44
|
+
* @param paramName Parameter name for name-based heuristics.
|
|
45
|
+
* @param sourceFilePath Absolute path to the source file (enables AST-based interface resolution).
|
|
46
|
+
* @param projectRoot Project root directory (required alongside sourceFilePath).
|
|
42
47
|
*/
|
|
43
|
-
export declare function getMocksForType(typeStr: string, paramName?: string): MockValue[];
|
|
48
|
+
export declare function getMocksForType(typeStr: string, paramName?: string, sourceFilePath?: string, projectRoot?: string): MockValue[];
|
|
44
49
|
/**
|
|
45
50
|
* Get mocks specifically for the return type — used for boolean return assertion hints.
|
|
46
51
|
*/
|
|
@@ -51,8 +56,11 @@ export declare function getMocksForReturnType(typeStr: string): MockValue[];
|
|
|
51
56
|
* Strategy: for each parameter, pick the mock values for its type.
|
|
52
57
|
* We iterate through the mocks in a "zip-longest" fashion so each
|
|
53
58
|
* scenario gets a unique combination where possible.
|
|
59
|
+
*
|
|
60
|
+
* @param sourceFilePath Absolute path to the source file — enables AST interface resolution.
|
|
61
|
+
* @param projectRoot Project root directory — required alongside sourceFilePath.
|
|
54
62
|
*/
|
|
55
|
-
export declare function buildMockArgSets(params: ParameterMeta[]): MockArgSet[];
|
|
63
|
+
export declare function buildMockArgSets(params: ParameterMeta[], sourceFilePath?: string, projectRoot?: string): MockArgSet[];
|
|
56
64
|
/**
|
|
57
65
|
* Get all available mock data as a structured map — used to generate
|
|
58
66
|
* the testgen/mocks/mockData.ts reusable constants file.
|
package/dist/mockGenerator.js
CHANGED
|
@@ -43,6 +43,7 @@ const path = __importStar(require("path"));
|
|
|
43
43
|
const formatter_1 = require("./formatter");
|
|
44
44
|
const utils_1 = require("./utils");
|
|
45
45
|
const mockDataEngine_1 = require("./mockDataEngine");
|
|
46
|
+
const interfaceShapeResolver_1 = require("./interfaceShapeResolver");
|
|
46
47
|
/**
|
|
47
48
|
* Generate a mock file that mirrors the source file path.
|
|
48
49
|
*
|
|
@@ -52,7 +53,8 @@ const mockDataEngine_1 = require("./mockDataEngine");
|
|
|
52
53
|
async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, mockDir) {
|
|
53
54
|
if (scenarios.length === 0)
|
|
54
55
|
return null;
|
|
55
|
-
const
|
|
56
|
+
const absSrcRoot = path.resolve(projectRoot, srcDir);
|
|
57
|
+
const mockFilePath = (0, utils_1.mirrorPath)(srcFilePath, absSrcRoot, path.join(projectRoot, mockDir), ".mock.ts");
|
|
56
58
|
const constantNames = new Map();
|
|
57
59
|
const lines = [];
|
|
58
60
|
// Header comment
|
|
@@ -146,9 +148,14 @@ const DEFAULT_MOCKS = [
|
|
|
146
148
|
];
|
|
147
149
|
/**
|
|
148
150
|
* Get mock values for a parameter based on its name and type.
|
|
149
|
-
* Priority: name-based rules → type-based rules → interface resolution → default.
|
|
151
|
+
* Priority: name-based rules → type-based rules → AST interface resolution → heuristic → default.
|
|
152
|
+
*
|
|
153
|
+
* @param typeStr TypeScript type string for the parameter.
|
|
154
|
+
* @param paramName Parameter name for name-based heuristics.
|
|
155
|
+
* @param sourceFilePath Absolute path to the source file (enables AST-based interface resolution).
|
|
156
|
+
* @param projectRoot Project root directory (required alongside sourceFilePath).
|
|
150
157
|
*/
|
|
151
|
-
function getMocksForType(typeStr, paramName) {
|
|
158
|
+
function getMocksForType(typeStr, paramName, sourceFilePath, projectRoot) {
|
|
152
159
|
// 1. Try name-based smart mocks first (highest priority)
|
|
153
160
|
if (paramName) {
|
|
154
161
|
const nameMocks = (0, mockDataEngine_1.getSmartMockByName)(paramName);
|
|
@@ -172,27 +179,47 @@ function getMocksForType(typeStr, paramName) {
|
|
|
172
179
|
if (t.includes("null") || t.includes("undefined"))
|
|
173
180
|
return [...getMocksForBaseOfUnion(t), ...NULLABLE_MOCKS];
|
|
174
181
|
// 3. Try to generate a structured mock for custom/interface types
|
|
175
|
-
const interfaceMock = resolveInterfaceMock(typeStr);
|
|
182
|
+
const interfaceMock = resolveInterfaceMock(typeStr, sourceFilePath, projectRoot);
|
|
176
183
|
if (interfaceMock)
|
|
177
184
|
return interfaceMock;
|
|
178
185
|
return DEFAULT_MOCKS;
|
|
179
186
|
}
|
|
180
187
|
/**
|
|
181
188
|
* Attempt to build realistic mock values for a custom type/interface.
|
|
182
|
-
*
|
|
183
|
-
*
|
|
189
|
+
*
|
|
190
|
+
* Strategy (in priority order):
|
|
191
|
+
* 1. AST-based shape resolution via ts-morph (when sourceFilePath + projectRoot given)
|
|
192
|
+
* → produces an accurate mock matching the actual interface contract
|
|
193
|
+
* 2. Name-based heuristics (pattern matching on the type name string)
|
|
194
|
+
* → educated guess for common naming conventions
|
|
184
195
|
*/
|
|
185
|
-
function resolveInterfaceMock(typeStr) {
|
|
196
|
+
function resolveInterfaceMock(typeStr, sourceFilePath, projectRoot) {
|
|
186
197
|
// Extract the base type name (remove generics, imports prefix)
|
|
187
198
|
const baseName = typeStr
|
|
188
199
|
.replace(/^import\([^)]+\)\./, "") // strip import("...").
|
|
189
|
-
.replace(
|
|
200
|
+
.replace(/<[^>]+>$/, "") // strip generics
|
|
190
201
|
.trim();
|
|
191
202
|
// Skip if it looks like a primitive or built-in
|
|
192
203
|
if (/^(string|number|boolean|void|any|never|unknown|undefined|null|object|record|date)$/i.test(baseName)) {
|
|
193
204
|
return null;
|
|
194
205
|
}
|
|
195
|
-
//
|
|
206
|
+
// ── 1. AST-based: walk the actual interface/type declaration ──────────
|
|
207
|
+
if (sourceFilePath && projectRoot) {
|
|
208
|
+
try {
|
|
209
|
+
// Pass the original typeStr so the resolver can handle import("...").TypeName
|
|
210
|
+
const resolved = (0, interfaceShapeResolver_1.resolveInterfaceShape)(typeStr, sourceFilePath, projectRoot);
|
|
211
|
+
if (resolved) {
|
|
212
|
+
return [
|
|
213
|
+
{ label: `valid ${baseName.toLowerCase()}`, literal: resolved },
|
|
214
|
+
{ label: `minimal ${baseName.toLowerCase()}`, literal: `{} as any /* ${baseName} */` },
|
|
215
|
+
];
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// AST resolution failed — fall through to heuristics
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// ── 2. Heuristic fallback: pattern-match on the type name ─────────────
|
|
196
223
|
const mockObj = buildSmartMockForTypeName(baseName);
|
|
197
224
|
return [
|
|
198
225
|
{ label: `valid ${baseName.toLowerCase()}`, literal: mockObj },
|
|
@@ -265,13 +292,16 @@ function getMocksForReturnType(typeStr) {
|
|
|
265
292
|
* Strategy: for each parameter, pick the mock values for its type.
|
|
266
293
|
* We iterate through the mocks in a "zip-longest" fashion so each
|
|
267
294
|
* scenario gets a unique combination where possible.
|
|
295
|
+
*
|
|
296
|
+
* @param sourceFilePath Absolute path to the source file — enables AST interface resolution.
|
|
297
|
+
* @param projectRoot Project root directory — required alongside sourceFilePath.
|
|
268
298
|
*/
|
|
269
|
-
function buildMockArgSets(params) {
|
|
299
|
+
function buildMockArgSets(params, sourceFilePath, projectRoot) {
|
|
270
300
|
if (params.length === 0) {
|
|
271
301
|
return [{ scenarioLabel: "handles default case", args: [] }];
|
|
272
302
|
}
|
|
273
|
-
// Pass
|
|
274
|
-
const mocksPerParam = params.map((p) => getMocksForType(p.type, p.name));
|
|
303
|
+
// Pass name, type, and source context for full interface shape resolution
|
|
304
|
+
const mocksPerParam = params.map((p) => getMocksForType(p.type, p.name, sourceFilePath, projectRoot));
|
|
275
305
|
const maxLen = Math.max(...mocksPerParam.map((m) => m.length));
|
|
276
306
|
const result = [];
|
|
277
307
|
for (let i = 0; i < maxLen; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockGenerator.js","sourceRoot":"","sources":["../src/mockGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mockGenerator.js","sourceRoot":"","sources":["../src/mockGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,4CA2DC;AAwGD,0CA4BC;AAsHD,sDAIC;AAYD,4CA8BC;AAyBD,wCAUC;AApaD,uCAAyB;AACzB,2CAA6B;AAI7B,2CAAyC;AACzC,mCAAqD;AACrD,qDAA6E;AAC7E,qEAAiE;AAgBjE;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAClC,WAAmB,EACnB,SAAyB,EACzB,WAAmB,EACnB,MAAc,EACd,OAAe;IAEf,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAA,kBAAU,EAC3B,WAAW,EACX,UAAU,EACV,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAC/B,UAAU,CACb,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iBAAiB;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS;YAC7B,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,EAAE;YAClD,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAE5B,MAAM,SAAS,GAAG,GAAG,MAAM,OAAO,CAAC;QACnC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,MAAM,CAAC,CAAC;QAE5C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU;qBACrB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;qBAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAClE,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAA,WAAG,EAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,KAAK;SACP,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACb,CAAC,KAAK,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;QACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CACnE;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAoBD,gFAAgF;AAEhF,MAAM,YAAY,GAAgB;IAC9B,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE;IAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAC/B,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,yBAAyB,EAAE;CAClE,CAAC;AAEF,gFAAgF;AAEhF,MAAM,YAAY,GAAgB;IAC9B,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;IAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;IACxC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE;IACpE,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE;CACvD,CAAC;AAEF,gFAAgF;AAEhF,MAAM,aAAa,GAAgB;IAC/B,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC9C,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE;CACjD,CAAC;AAEF,gFAAgF;AAEhF,MAAM,WAAW,GAAgB;IAC7B,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5C,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;IAC/C,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,EAAE;CACrE,CAAC;AAEF,gFAAgF;AAEhF,MAAM,YAAY,GAAgB;IAC9B,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;IACxC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,4CAA4C,EAAE;CACvF,CAAC;AAEF,gFAAgF;AAEhF,MAAM,UAAU,GAAgB;IAC5B,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE;IACrD,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,kCAAkC,EAAE;CACvE,CAAC;AAEF,gFAAgF;AAEhF,MAAM,cAAc,GAAgB;IAChC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE;IACxC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE;CACrD,CAAC;AAEF,gFAAgF;AAEhF,MAAM,aAAa,GAAgB;IAC/B,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;CAClD,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC3B,OAAe,EACf,SAAkB,EAClB,cAAuB,EACvB,WAAoB;IAEpB,yDAAyD;IACzD,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAA,mCAAkB,EAAC,SAAS,CAAC,CAAC;QAChD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IACpC,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IACxC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IACxC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IAC1C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC;IAClE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC;IAE5G,kEAAkE;IAClE,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACjF,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CACzB,OAAe,EACf,cAAuB,EACvB,WAAoB;IAEpB,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,OAAO;SACnB,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAE,uBAAuB;SAC1D,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAa,iBAAiB;SACrD,IAAI,EAAE,CAAC;IAEZ,gDAAgD;IAChD,IAAI,qFAAqF,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yEAAyE;IACzE,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,IAAA,8CAAqB,EAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;YAC7E,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO;oBACH,EAAE,KAAK,EAAE,SAAS,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC/D,EAAE,KAAK,EAAE,WAAW,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,QAAQ,KAAK,EAAE;iBACzF,CAAC;YACN,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,qDAAqD;QACzD,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAEpD,OAAO;QACH,EAAE,KAAK,EAAE,SAAS,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;QAC9D,EAAE,KAAK,EAAE,WAAW,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;KACtF,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,QAAgB;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAErC,oCAAoC;IACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,OAAO,SAAS,IAAA,sCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,IAAA,sCAAqB,EAAC,UAAU,EAAE,SAAS,CAAC,gBAAgB,IAAA,sCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;IACzR,CAAC;IAED,0BAA0B;IAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,IAAA,sCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,IAAA,sCAAqB,EAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC;IAClO,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,IAAA,sCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,IAAA,sCAAqB,EAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,IAAA,sCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;IAClO,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtF,OAAO,cAAc,IAAA,sCAAqB,EAAC,SAAS,EAAE,SAAS,CAAC,cAAc,IAAA,sCAAqB,EAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;IACvL,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,OAAO,WAAW,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,0EAA0E,IAAA,sCAAqB,EAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;IAClL,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,wBAAwB,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAC9F,CAAC;IAED,0CAA0C;IAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzF,OAAO,WAAW,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,IAAA,sCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;IACjL,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,OAAO,iEAAiE,CAAC;IAC7E,CAAC;IAED,iCAAiC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,IAAA,sCAAqB,EAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAA,sCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,IAAA,sCAAqB,EAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC;IACjL,CAAC;IAED,kCAAkC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjF,OAAO,YAAY,IAAA,sCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,IAAA,sCAAqB,EAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,IAAA,sCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;IACpL,CAAC;IAED,2CAA2C;IAC3C,OAAO,SAAS,IAAA,sCAAqB,EAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,QAAQ,YAAY,CAAC;AAC/F,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACtC,OAAO,wBAAwB,QAAQ,KAAK,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACjD,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IAC1C,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC5B,MAAuB,EACvB,cAAuB,EACvB,WAAoB;IAEpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,0EAA0E;IAC1E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAgB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,oFAAoF;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC;YACR,aAAa,EAAE,WAAW,YAAY,EAAE;YACxC,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,gFAAgF;AAEhF,SAAS,SAAS,CAAC,OAAe;IAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,oBAAoB;IACpB,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,YAAY;QAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7C,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC3C,gDAAgD;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IACvG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc;IAC1B,OAAO;QACH,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,cAAc;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface PathAliases {
|
|
2
|
+
/** Resolved baseUrl as an absolute path, or null if not set. */
|
|
3
|
+
baseUrl: string | null;
|
|
4
|
+
/**
|
|
5
|
+
* Map of alias pattern → array of replacement patterns.
|
|
6
|
+
* Mirrors compilerOptions.paths — keys may contain a trailing `*`.
|
|
7
|
+
* Example: { "@services/*": ["src/services/*"] }
|
|
8
|
+
*/
|
|
9
|
+
paths: Record<string, string[]>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Load compilerOptions.paths and baseUrl from the host project's tsconfig.json.
|
|
13
|
+
* Returns empty aliases if the file is missing or unparseable.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadPathAliases(projectRoot: string): PathAliases;
|
|
16
|
+
/**
|
|
17
|
+
* Attempt to resolve a non-relative module specifier (e.g. `@services/user`)
|
|
18
|
+
* against the provided alias map.
|
|
19
|
+
*
|
|
20
|
+
* Returns the resolved **relative** path from `sourceFileDir` to the target,
|
|
21
|
+
* or `null` if no alias matches.
|
|
22
|
+
*
|
|
23
|
+
* @param modulePath The raw import specifier from the source file.
|
|
24
|
+
* @param aliases The PathAliases loaded from the host tsconfig.json.
|
|
25
|
+
* @param sourceFileDir Absolute directory of the file containing the import.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveAlias(modulePath: string, aliases: PathAliases, sourceFileDir: string): string | null;
|