@gnapi/cotester 1.2.3 → 1.2.5

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.
@@ -44,17 +44,20 @@ const formatter_1 = require("./formatter");
44
44
  const utils_1 = require("./utils");
45
45
  const mockDataEngine_1 = require("./mockDataEngine");
46
46
  const interfaceShapeResolver_1 = require("./interfaceShapeResolver");
47
+ const sharedMockRegistry_1 = require("./sharedMockRegistry");
47
48
  /**
48
49
  * Generate a mock file that mirrors the source file path.
49
50
  *
50
51
  * Produces `cotester/mocks/<mirror>/file.mock.ts` containing exported
51
52
  * constants with structured mock data for every analysed function.
52
53
  */
53
- async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, mockDir) {
54
+ async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, mockDir, dryRun = false) {
54
55
  if (scenarios.length === 0)
55
56
  return null;
56
57
  const absSrcRoot = path.resolve(projectRoot, srcDir);
57
58
  const mockFilePath = (0, utils_1.mirrorPath)(srcFilePath, absSrcRoot, path.join(projectRoot, mockDir), ".mock.ts");
59
+ // ── Ensure shared registry has entries for all custom types ──────────
60
+ const registryResult = (0, sharedMockRegistry_1.ensureSharedRegistry)(scenarios, projectRoot, mockDir, dryRun, srcFilePath);
58
61
  const constantNames = new Map();
59
62
  const lines = [];
60
63
  // Header comment
@@ -62,6 +65,13 @@ async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, moc
62
65
  lines.push(`// Auto-generated mock data for ${relSrc}`);
63
66
  lines.push(`// Do not edit — regenerated on each source change.`);
64
67
  lines.push("");
68
+ // ── Import from shared registry if we have any custom-type factories ─
69
+ if (registryResult && registryResult.factories.size > 0) {
70
+ const importPath = (0, sharedMockRegistry_1.getRegistryImportPath)(mockFilePath, registryResult.registryPath);
71
+ const factoryNames = [...registryResult.factories.values()].sort().join(", ");
72
+ lines.push(`import { ${factoryNames} } from '${importPath}';`);
73
+ lines.push("");
74
+ }
65
75
  for (const scenario of scenarios) {
66
76
  const fnName = scenario.className
67
77
  ? `${scenario.className}_${scenario.functionName}`
@@ -76,7 +86,19 @@ async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, moc
76
86
  }
77
87
  else {
78
88
  const props = c.paramNames
79
- .map((name, i) => `${name}: ${c.argLiterals[i] ?? "undefined"}`)
89
+ .map((name, i) => {
90
+ const rawLiteral = c.argLiterals[i] ?? "undefined";
91
+ // Resolve the type for this parameter name
92
+ const param = scenario.parameters.find(p => p.name === name);
93
+ if (param) {
94
+ const typeName = (0, sharedMockRegistry_1.extractBaseTypeName)(param.type);
95
+ if ((0, sharedMockRegistry_1.isCustomTypeName)(typeName) && registryResult?.factories.has(typeName)) {
96
+ const factory = registryResult.factories.get(typeName);
97
+ return `${name}: ${factory}()`;
98
+ }
99
+ }
100
+ return `${name}: ${rawLiteral}`;
101
+ })
80
102
  .join(", ");
81
103
  lines.push(` ${key}: { ${props} },`);
82
104
  }
@@ -85,9 +107,18 @@ async function generateMockFile(srcFilePath, scenarios, projectRoot, srcDir, moc
85
107
  lines.push("");
86
108
  }
87
109
  const formatted = await (0, formatter_1.formatCode)(lines.join("\n"), projectRoot);
88
- (0, utils_1.ensureDir)(path.dirname(mockFilePath));
89
- fs.writeFileSync(mockFilePath, formatted, "utf-8");
90
- (0, utils_1.log)(`Mock file → ${path.relative(projectRoot, mockFilePath)}`, "success");
110
+ if (dryRun) {
111
+ const relMock = path.relative(projectRoot, mockFilePath).replace(/\\/g, "/");
112
+ process.stdout.write(`\n${"─".repeat(60)}\n`);
113
+ process.stdout.write(`// [dry-run] Mock file: ${relMock}\n`);
114
+ process.stdout.write(`${"─".repeat(60)}\n`);
115
+ process.stdout.write(formatted);
116
+ }
117
+ else {
118
+ (0, utils_1.ensureDir)(path.dirname(mockFilePath));
119
+ fs.writeFileSync(mockFilePath, formatted, "utf-8");
120
+ (0, utils_1.log)(`Mock file → ${path.relative(projectRoot, mockFilePath)}`, "success");
121
+ }
91
122
  return { filePath: mockFilePath, constantNames };
92
123
  }
93
124
  /**
@@ -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":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ReportOptions {
2
+ format: "html" | "json" | "md";
3
+ /** Path to coverage-summary.json. Defaults to <projectRoot>/coverage/coverage-summary.json */
4
+ coverageSummaryPath?: string;
5
+ /** Write report to this file path; print to stdout if omitted */
6
+ output?: string;
7
+ /** Restrict scan to this subfolder of srcDir */
8
+ folder?: string;
9
+ }
10
+ export declare function runReport(options: ReportOptions): void;
@@ -0,0 +1,270 @@
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.runReport = runReport;
37
+ /**
38
+ * CoTester Coverage Reporter (Feature 15)
39
+ *
40
+ * Reads Istanbul/c8 `coverage/coverage-summary.json`, overlays it with
41
+ * cotester's own function-level tracking (via checker.ts), and outputs
42
+ * a combined report in HTML, JSON, or Markdown format.
43
+ *
44
+ * Usage: cotester report [--format html|json|md] [--coverage <path>] [-o <file>]
45
+ */
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const checker_1 = require("./checker");
49
+ const configManager_1 = require("./configManager");
50
+ const utils_1 = require("./utils");
51
+ // ── Entry point ───────────────────────────────────────────────────────────────
52
+ function runReport(options) {
53
+ const projectRoot = (0, utils_1.getProjectRoot)();
54
+ const summaryPath = options.coverageSummaryPath ??
55
+ path.join(projectRoot, "coverage", "coverage-summary.json");
56
+ // Load Istanbul summary (optional — report works without it)
57
+ let istanbul = {};
58
+ if (fs.existsSync(summaryPath)) {
59
+ try {
60
+ istanbul = JSON.parse(fs.readFileSync(summaryPath, "utf-8"));
61
+ }
62
+ catch {
63
+ (0, utils_1.log)(`Warning: could not parse ${path.relative(projectRoot, summaryPath)} — Istanbul metrics omitted.`, "warn");
64
+ }
65
+ }
66
+ else {
67
+ (0, utils_1.log)(`Info: ${path.relative(projectRoot, summaryPath)} not found — run your test runner with coverage first for Istanbul metrics.`, "info");
68
+ }
69
+ // Get cotester function-level data
70
+ const config = (0, configManager_1.loadConfig)(projectRoot);
71
+ const baseAbsolute = path.resolve(projectRoot, config.srcDir);
72
+ const scanRoot = options.folder
73
+ ? path.resolve(baseAbsolute, options.folder)
74
+ : baseAbsolute;
75
+ const checkResult = (0, checker_1.computeCoverage)(scanRoot, projectRoot, config);
76
+ const rows = buildRows(checkResult, istanbul, projectRoot);
77
+ const content = renderReport(rows, checkResult, options.format, projectRoot);
78
+ if (options.output) {
79
+ const outPath = path.resolve(options.output);
80
+ fs.writeFileSync(outPath, content, "utf-8");
81
+ (0, utils_1.log)(`Report written → ${path.relative(projectRoot, outPath)}`, "success");
82
+ }
83
+ else {
84
+ process.stdout.write(content);
85
+ if (!content.endsWith("\n"))
86
+ process.stdout.write("\n");
87
+ }
88
+ }
89
+ // ── Build combined rows ───────────────────────────────────────────────────────
90
+ function buildRows(checkResult, istanbul, projectRoot) {
91
+ // Build a lookup: normalised absolute path → Istanbul summary
92
+ const istMap = new Map();
93
+ for (const [key, val] of Object.entries(istanbul)) {
94
+ if (key === "total")
95
+ continue;
96
+ // Istanbul keys are absolute paths on most OS; normalise separators
97
+ istMap.set(path.normalize(key), val);
98
+ }
99
+ return checkResult.fileCoverages.map((fc) => {
100
+ const cotesterPct = fc.totalCount === 0
101
+ ? 100
102
+ : Math.round((fc.coveredCount / fc.totalCount) * 100);
103
+ const ist = istMap.get(path.normalize(fc.srcPath));
104
+ return {
105
+ relPath: fc.relPath,
106
+ testExists: fc.testFileExists,
107
+ cotesterPct,
108
+ coveredFns: fc.coveredCount,
109
+ totalFns: fc.totalCount,
110
+ staleCount: fc.staleCount,
111
+ linesPct: ist?.lines.pct,
112
+ branchesPct: ist?.branches.pct,
113
+ fnPct: ist?.functions.pct,
114
+ stmtPct: ist?.statements.pct,
115
+ };
116
+ });
117
+ }
118
+ // ── Renderers ─────────────────────────────────────────────────────────────────
119
+ function renderReport(rows, checkResult, format, projectRoot) {
120
+ switch (format) {
121
+ case "json":
122
+ return renderJson(rows, checkResult);
123
+ case "html":
124
+ return renderHtml(rows, checkResult, projectRoot);
125
+ default:
126
+ return renderMarkdown(rows, checkResult);
127
+ }
128
+ }
129
+ // ── JSON ──────────────────────────────────────────────────────────────────────
130
+ function renderJson(rows, checkResult) {
131
+ return JSON.stringify({
132
+ summary: {
133
+ totalFunctions: checkResult.totalFunctions,
134
+ coveredFunctions: checkResult.coveredFunctions,
135
+ coveragePercent: checkResult.coveragePercent,
136
+ minCoverage: checkResult.minCoverage,
137
+ passed: checkResult.passed,
138
+ totalStale: checkResult.totalStale,
139
+ },
140
+ files: rows,
141
+ }, null, 2);
142
+ }
143
+ // ── Markdown ──────────────────────────────────────────────────────────────────
144
+ function renderMarkdown(rows, checkResult) {
145
+ const lines = [];
146
+ lines.push("# CoTester Coverage Report");
147
+ lines.push("");
148
+ lines.push(`**Overall function coverage:** ${checkResult.coveragePercent}% (${checkResult.coveredFunctions}/${checkResult.totalFunctions})`);
149
+ lines.push(`**Status:** ${checkResult.passed ? "PASS" : "FAIL"} (threshold: ${checkResult.minCoverage}%)`);
150
+ if (checkResult.totalStale > 0) {
151
+ lines.push(`**Stale tests:** ${checkResult.totalStale} function(s) with changed signatures`);
152
+ }
153
+ lines.push("");
154
+ lines.push("| File | CoTester% | Covered/Total | Stale | Lines% | Branches% | Fns% | Stmts% |");
155
+ lines.push("|------|-----------|--------------|-------|--------|-----------|------|--------|");
156
+ for (const r of rows) {
157
+ const testIcon = r.testExists ? "✔" : "✖";
158
+ const stale = r.staleCount > 0 ? `⚠ ${r.staleCount}` : "-";
159
+ const fmtPct = (v) => (v !== undefined ? `${v}%` : "—");
160
+ lines.push(`| ${r.relPath} ${testIcon} | ${r.cotesterPct}% | ${r.coveredFns}/${r.totalFns} | ${stale} | ${fmtPct(r.linesPct)} | ${fmtPct(r.branchesPct)} | ${fmtPct(r.fnPct)} | ${fmtPct(r.stmtPct)} |`);
161
+ }
162
+ lines.push("");
163
+ return lines.join("\n");
164
+ }
165
+ // ── HTML ──────────────────────────────────────────────────────────────────────
166
+ function pctColor(pct) {
167
+ if (pct >= 80)
168
+ return "#22c55e"; // green
169
+ if (pct >= 50)
170
+ return "#f59e0b"; // amber
171
+ return "#ef4444"; // red
172
+ }
173
+ function fmtPct(v) {
174
+ return v !== undefined ? `${v}%` : "—";
175
+ }
176
+ function renderHtml(rows, checkResult, projectRoot) {
177
+ const passColor = checkResult.passed ? "#22c55e" : "#ef4444";
178
+ const passLabel = checkResult.passed ? "PASS" : "FAIL";
179
+ const generatedAt = new Date().toISOString();
180
+ const rowHtml = rows
181
+ .map((r) => {
182
+ const testBadge = r.testExists
183
+ ? `<span style="color:#22c55e">✔</span>`
184
+ : `<span style="color:#ef4444">✖</span>`;
185
+ const staleBadge = r.staleCount > 0
186
+ ? `<span style="color:#f59e0b">⚠ ${r.staleCount}</span>`
187
+ : `<span style="color:#6b7280">—</span>`;
188
+ const ctPct = r.cotesterPct;
189
+ return `
190
+ <tr>
191
+ <td style="max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap" title="${r.relPath}">${r.relPath} ${testBadge}</td>
192
+ <td style="color:${pctColor(ctPct)};font-weight:600;text-align:center">${ctPct}%</td>
193
+ <td style="text-align:center">${r.coveredFns}/${r.totalFns}</td>
194
+ <td style="text-align:center">${staleBadge}</td>
195
+ <td style="text-align:center;color:${r.linesPct !== undefined ? pctColor(r.linesPct) : "#6b7280"}">${fmtPct(r.linesPct)}</td>
196
+ <td style="text-align:center;color:${r.branchesPct !== undefined ? pctColor(r.branchesPct) : "#6b7280"}">${fmtPct(r.branchesPct)}</td>
197
+ <td style="text-align:center;color:${r.fnPct !== undefined ? pctColor(r.fnPct) : "#6b7280"}">${fmtPct(r.fnPct)}</td>
198
+ <td style="text-align:center;color:${r.stmtPct !== undefined ? pctColor(r.stmtPct) : "#6b7280"}">${fmtPct(r.stmtPct)}</td>
199
+ </tr>`;
200
+ })
201
+ .join("");
202
+ return `<!DOCTYPE html>
203
+ <html lang="en">
204
+ <head>
205
+ <meta charset="UTF-8" />
206
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
207
+ <title>CoTester Coverage Report</title>
208
+ <style>
209
+ body { font-family: system-ui, sans-serif; background: #0f172a; color: #e2e8f0; margin: 0; padding: 2rem; }
210
+ h1 { color: #f8fafc; margin-bottom: 0.5rem; }
211
+ .meta { color: #94a3b8; font-size: 0.875rem; margin-bottom: 1.5rem; }
212
+ .summary { display: flex; gap: 1.5rem; margin-bottom: 2rem; flex-wrap: wrap; }
213
+ .card { background: #1e293b; border-radius: 0.75rem; padding: 1rem 1.5rem; min-width: 160px; }
214
+ .card-label { font-size: 0.75rem; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; }
215
+ .card-value { font-size: 1.75rem; font-weight: 700; margin-top: 0.25rem; }
216
+ table { width: 100%; border-collapse: collapse; background: #1e293b; border-radius: 0.75rem; overflow: hidden; }
217
+ th { background: #0f172a; padding: 0.75rem 1rem; text-align: left; font-size: 0.75rem; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; }
218
+ td { padding: 0.625rem 1rem; border-top: 1px solid #0f172a; font-size: 0.875rem; }
219
+ tr:hover td { background: #263548; }
220
+ </style>
221
+ </head>
222
+ <body>
223
+ <h1>CoTester Coverage Report</h1>
224
+ <p class="meta">Generated at ${generatedAt} &mdash; project root: ${projectRoot.replace(/\\/g, "/")}</p>
225
+
226
+ <div class="summary">
227
+ <div class="card">
228
+ <div class="card-label">Function Coverage</div>
229
+ <div class="card-value" style="color:${pctColor(checkResult.coveragePercent)}">${checkResult.coveragePercent}%</div>
230
+ </div>
231
+ <div class="card">
232
+ <div class="card-label">Covered / Total</div>
233
+ <div class="card-value">${checkResult.coveredFunctions} / ${checkResult.totalFunctions}</div>
234
+ </div>
235
+ <div class="card">
236
+ <div class="card-label">Status</div>
237
+ <div class="card-value" style="color:${passColor}">${passLabel}</div>
238
+ </div>
239
+ <div class="card">
240
+ <div class="card-label">Threshold</div>
241
+ <div class="card-value">${checkResult.minCoverage}%</div>
242
+ </div>
243
+ ${checkResult.totalStale > 0 ? `
244
+ <div class="card">
245
+ <div class="card-label">Stale Tests</div>
246
+ <div class="card-value" style="color:#f59e0b">${checkResult.totalStale}</div>
247
+ </div>` : ""}
248
+ </div>
249
+
250
+ <table>
251
+ <thead>
252
+ <tr>
253
+ <th>File</th>
254
+ <th>CoTester%</th>
255
+ <th>Covered/Total</th>
256
+ <th>Stale</th>
257
+ <th>Lines%</th>
258
+ <th>Branches%</th>
259
+ <th>Fns%</th>
260
+ <th>Stmts%</th>
261
+ </tr>
262
+ </thead>
263
+ <tbody>${rowHtml}
264
+ </tbody>
265
+ </table>
266
+ </body>
267
+ </html>
268
+ `;
269
+ }
270
+ //# sourceMappingURL=reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,10 @@ function buildCases(fn, config, projectRoot) {
144
144
  label: trueLabel,
145
145
  argLiterals: fallbackArgs,
146
146
  paramNames,
147
- kind: branch.kind === "guard" ? (fn.throwsErrors ? "throws" : "standard") : "standard",
147
+ // Async functions must use "rejects" for throw-path guards, not "throws"
148
+ kind: branch.kind === "guard"
149
+ ? (fn.throwsErrors ? (fn.isAsync ? "rejects" : "throws") : "standard")
150
+ : "standard",
148
151
  });
149
152
  }
150
153
  // False-path scenario
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioEngine.js","sourceRoot":"","sources":["../src/scenarioEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarioEngine.js","sourceRoot":"","sources":["../src/scenarioEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { TestScenario } from "./scenarioEngine";
2
+ export interface RegistryUpdateResult {
3
+ /** Absolute path to the shared registry file */
4
+ registryPath: string;
5
+ /** Map: typeName → factory function name, e.g. "User" → "mockUser" */
6
+ factories: Map<string, string>;
7
+ }
8
+ /**
9
+ * Collect all custom (non-primitive) parameter types from the given scenarios,
10
+ * ensure each one has an entry in the shared registry file, and return the
11
+ * registry path + factory name map so `generateMockFile` can import them.
12
+ *
13
+ * @param scenarios All scenarios for the current file being processed.
14
+ * @param projectRoot Absolute project root.
15
+ * @param mockDir Mock directory relative to projectRoot (e.g. "cotester/mocks").
16
+ * @param dryRun When true, nothing is written to disk.
17
+ * @param srcFilePath Source file path used for AST-based interface resolution.
18
+ */
19
+ export declare function ensureSharedRegistry(scenarios: TestScenario[], projectRoot: string, mockDir: string, dryRun?: boolean, srcFilePath?: string): RegistryUpdateResult | null;
20
+ /**
21
+ * Compute the relative import path from an individual mock file to the
22
+ * shared registry.
23
+ */
24
+ export declare function getRegistryImportPath(fromMockFilePath: string, registryPath: string): string;
25
+ export declare function extractBaseTypeName(typeStr: string): string;
26
+ export declare function isCustomTypeName(typeName: string): boolean;
27
+ export declare function buildFactoryName(typeName: string): string;