@imolko/create-ultra-reporter 2.1.33 → 2.1.34

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.
@@ -138,6 +138,13 @@ function readConfig(basePath) {
138
138
  outputPath: typeof b.outputPath === 'string' ? b.outputPath : undefined,
139
139
  };
140
140
  }
141
+ // Validate includeReadme (optional)
142
+ if (config.includeReadme !== undefined) {
143
+ if (typeof config.includeReadme !== 'boolean') {
144
+ throw new types_1.ConfigValidationError('includeReadme must be a boolean when present');
145
+ }
146
+ result.includeReadme = config.includeReadme;
147
+ }
141
148
  return result;
142
149
  }
143
150
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/config/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/config/reader.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export interface UltraReporterConfig {
48
48
  build?: {
49
49
  outputPath?: string;
50
50
  };
51
+ /** Include README.md on the home page and as a doc page. Defaults to false. */
52
+ includeReadme?: boolean;
51
53
  }
52
54
  /**
53
55
  * Validation error with a user-friendly message.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,qDAAqD;AACrD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,sBAAsB;AACtB,8EAA8E;;;AAyD9E;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,qDAAqD;AACrD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,sBAAsB;AACtB,8EAA8E;;;AA2D9E;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC"}
@@ -1,3 +1,4 @@
1
+ import type { ArtifactManifestEntry } from '../reporters/types';
1
2
  /**
2
3
  * Paths to the key output directories derived from the config location.
3
4
  */
@@ -40,3 +41,26 @@ export declare function resolveInternalJsdocConfigPath(cmdRoot: string): string;
40
41
  * Returns the resolved path if found, or `null` if no CTRF file exists.
41
42
  */
42
43
  export declare function resolveTestResultsPath(cwd: string, srcPath: string, configuredPath?: string): string | null;
44
+ /** Parameters for writeDashboardData. */
45
+ export interface WriteDashboardDataParams {
46
+ /** Directory containing ultra-reporter.config.json. */
47
+ configDir: string;
48
+ /** Artifact manifest entries to generate stats from. */
49
+ artifactsManifest: ArtifactManifestEntry[];
50
+ /** Path to the test-results.json file (may not exist). */
51
+ testResultsJsonPath: string;
52
+ /** Whether to include README content in the dashboard. */
53
+ includeReadme: boolean;
54
+ /** Project root directory (for resolving README.md). */
55
+ cwd: string;
56
+ /** Optional repo source URL for link rewriting. */
57
+ repoSourceUrl?: string;
58
+ }
59
+ /**
60
+ * Writes dashboard-summary.json and optionally overview.md.
61
+ *
62
+ * This is called by the pipeline after domain documentation generation.
63
+ * It reads test-results.json, computes summary stats, optionally processes
64
+ * README.md, and writes output to the ultra-reporter directory tree.
65
+ */
66
+ export declare function writeDashboardData(params: WriteDashboardDataParams): void;
@@ -53,6 +53,7 @@ exports.derivePipelinePaths = derivePipelinePaths;
53
53
  exports.generateAllDocs = generateAllDocs;
54
54
  exports.resolveInternalJsdocConfigPath = resolveInternalJsdocConfigPath;
55
55
  exports.resolveTestResultsPath = resolveTestResultsPath;
56
+ exports.writeDashboardData = writeDashboardData;
56
57
  const path = __importStar(require("path"));
57
58
  const fs = __importStar(require("fs"));
58
59
  const path_1 = require("path");
@@ -63,6 +64,8 @@ const converter_1 = require("../scripts/converter");
63
64
  const generate_domain_documentation_1 = require("../reporters/generate-domain-documentation");
64
65
  const generate_use_cases_documentation_1 = require("../reporters/generate-use-cases-documentation");
65
66
  const reader_1 = require("../config/reader");
67
+ const data_transformation_1 = require("../reporters/data-transformation");
68
+ const readme_transform_1 = require("../reporters/readme-transform");
66
69
  const logger_1 = __importDefault(require("../classes/logger"));
67
70
  const pipeLogger = logger_1.default.createContextLogger('pipeline:generate');
68
71
  /**
@@ -175,6 +178,29 @@ async function generateDomainTarget(config, paths, cwd, cmdRoot) {
175
178
  templateDir: (0, path_1.resolve)(cmdRoot, '../reporters/templates'),
176
179
  repoSourceUrl: config.repoSourceUrl,
177
180
  });
181
+ // 5. Generate dashboard summary for the home page
182
+ // The domain reporter writes artifacts-manifest.json to static/data/
183
+ const manifestPath = (0, path_1.resolve)(paths.ultraReporterRoot, 'static', 'data', 'artifacts-manifest.json');
184
+ const testResultsJsonPath = (0, path_1.resolve)(paths.cacheDir, 'test-results.json');
185
+ if ((0, utils_1.existsFile)(manifestPath)) {
186
+ try {
187
+ const manifestEntries = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
188
+ writeDashboardData({
189
+ configDir: cwd,
190
+ artifactsManifest: manifestEntries,
191
+ testResultsJsonPath,
192
+ includeReadme: config.includeReadme === true,
193
+ cwd,
194
+ repoSourceUrl: config.repoSourceUrl,
195
+ });
196
+ }
197
+ catch (err) {
198
+ pipeLogger.warn(`Dashboard summary generation failed: ${err instanceof Error ? err.message : String(err)}`);
199
+ }
200
+ }
201
+ else {
202
+ pipeLogger.warn('artifacts-manifest.json not found, skipping dashboard summary');
203
+ }
178
204
  }
179
205
  // ---------------------------------------------------------------------------
180
206
  // Use-cases target generation
@@ -306,4 +332,60 @@ function writeEmptyTestResults(filePath) {
306
332
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
307
333
  fs.writeFileSync(filePath, JSON.stringify(empty, null, 2));
308
334
  }
335
+ /**
336
+ * Writes dashboard-summary.json and optionally overview.md.
337
+ *
338
+ * This is called by the pipeline after domain documentation generation.
339
+ * It reads test-results.json, computes summary stats, optionally processes
340
+ * README.md, and writes output to the ultra-reporter directory tree.
341
+ */
342
+ function writeDashboardData(params) {
343
+ const ultraReporterDir = path.resolve(params.configDir, '.ultra-reporter');
344
+ // Load test results (if available)
345
+ let testResultsData = null;
346
+ if ((0, utils_1.existsFile)(params.testResultsJsonPath)) {
347
+ try {
348
+ const raw = JSON.parse(fs.readFileSync(params.testResultsJsonPath, 'utf-8'));
349
+ testResultsData = {
350
+ numTotalTests: raw.numTotalTests ?? 0,
351
+ numPassedTests: raw.numPassedTests ?? 0,
352
+ numFailedTests: raw.numFailedTests ?? 0,
353
+ numPendingTests: raw.numPendingTests ?? 0,
354
+ numTodoTests: raw.numTodoTests ?? 0,
355
+ numTotalTestSuites: raw.numTotalTestSuites ?? 0,
356
+ };
357
+ }
358
+ catch {
359
+ pipeLogger.warn('Failed to parse test results, dashboard will show zero tests');
360
+ }
361
+ }
362
+ // Compute summary
363
+ const summary = (0, data_transformation_1.computeDashboardSummary)(params.artifactsManifest, testResultsData);
364
+ // Process README if configured
365
+ if (params.includeReadme) {
366
+ const readmePath = path.resolve(params.cwd, 'README.md');
367
+ if ((0, utils_1.existsFile)(readmePath)) {
368
+ const readmeContent = fs.readFileSync(readmePath, 'utf-8');
369
+ const { html, excerptHtml } = (0, readme_transform_1.processReadme)(readmeContent, params.repoSourceUrl);
370
+ summary.readmeHtml = html;
371
+ summary.readmeExcerptHtml = excerptHtml;
372
+ // Write overview.md for the docs site
373
+ const overviewPath = path.resolve(ultraReporterDir, 'generated-docs', 'overview.md');
374
+ fs.mkdirSync(path.dirname(overviewPath), { recursive: true });
375
+ fs.writeFileSync(overviewPath, readmeContent, 'utf-8');
376
+ pipeLogger.info('README.md included in dashboard and docs');
377
+ }
378
+ else {
379
+ pipeLogger.warn('includeReadme is true but README.md not found at project root');
380
+ summary.readmeHtml = '';
381
+ summary.readmeExcerptHtml = '';
382
+ }
383
+ }
384
+ // Write dashboard-summary.json
385
+ const staticDataDir = path.resolve(ultraReporterDir, 'static', 'data');
386
+ fs.mkdirSync(staticDataDir, { recursive: true });
387
+ const summaryPath = path.join(staticDataDir, 'dashboard-summary.json');
388
+ fs.writeFileSync(summaryPath, JSON.stringify(summary, null, 2), 'utf-8');
389
+ pipeLogger.info(`Dashboard summary written (${summary.artifactCount} artifacts, ${summary.contextCount} contexts)`);
390
+ }
309
391
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/pipeline/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/pipeline/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ArtifactManifestEntry, ArtifactRaw, ClassProperty, EnrichedArtifact, EnrichedUseCase, JsdocElem, MethodDefinition, Property, TestFile, UseCaseRaw } from './types';
1
+ import type { ArtifactManifestEntry, ArtifactRaw, ClassProperty, DashboardSummary, EnrichedArtifact, EnrichedUseCase, JsdocElem, MethodDefinition, Property, TestFile, UseCaseRaw } from './types';
2
2
  /**
3
3
  * Extracts property definitions from JSDoc elements whose meta.filename is 'props.ts'.
4
4
  * Iterates over each matching element's `.properties` array and maps them
@@ -87,6 +87,24 @@ export declare function enrichUseCase(raw: UseCaseRaw, allTestResults: TestFile[
87
87
  * @returns The test files with annotations attached (mutated in place)
88
88
  */
89
89
  export declare function matchTestAnnotations(testFiles: TestFile[], jsdocElems: JsdocElem[]): TestFile[];
90
+ /**
91
+ * Computes summary statistics for the homepage dashboard.
92
+ *
93
+ * Pure function — takes artifact manifest entries and test results,
94
+ * returns a DashboardSummary ready for serialization to JSON.
95
+ *
96
+ * @param artifacts - Manifest entries from the domain
97
+ * @param testResultsData - Aggregated test results, or null if no test data
98
+ * @returns Dashboard summary with artifact counts, type breakdown, tags, and test stats
99
+ */
100
+ export declare function computeDashboardSummary(artifacts: ArtifactManifestEntry[], testResultsData: {
101
+ numTotalTests: number;
102
+ numPassedTests: number;
103
+ numFailedTests: number;
104
+ numPendingTests: number;
105
+ numTodoTests: number;
106
+ numTotalTestSuites: number;
107
+ } | null): DashboardSummary;
90
108
  /**
91
109
  * Converts a list of enriched artifacts to manifest entries for the
92
110
  * searchable artifact table.
@@ -47,6 +47,7 @@ exports.buildArtifactId = buildArtifactId;
47
47
  exports.enrichArtifact = enrichArtifact;
48
48
  exports.enrichUseCase = enrichUseCase;
49
49
  exports.matchTestAnnotations = matchTestAnnotations;
50
+ exports.computeDashboardSummary = computeDashboardSummary;
50
51
  exports.buildManifestEntries = buildManifestEntries;
51
52
  const path = __importStar(require("path"));
52
53
  const data_loading_1 = require("./data-loading");
@@ -363,6 +364,84 @@ function extractDir(filePath) {
363
364
  return lastSlash >= 0 ? filePath.slice(0, lastSlash) : filePath;
364
365
  }
365
366
  // ---------------------------------------------------------------------------
367
+ // TYPE_LABELS — human-readable labels for artifact types
368
+ // ---------------------------------------------------------------------------
369
+ const TYPE_LABELS = {
370
+ 'aggregate': 'Aggregates',
371
+ 'entity': 'Entities',
372
+ 'value-object': 'Value Objects',
373
+ 'event': 'Events',
374
+ 'service': 'Services',
375
+ 'repository': 'Repositories',
376
+ 'enum': 'Enums',
377
+ };
378
+ /** Returns a human-readable label for an artifact type. */
379
+ function typeLabel(type) {
380
+ return TYPE_LABELS[type] ?? type.charAt(0).toUpperCase() + type.slice(1);
381
+ }
382
+ // ---------------------------------------------------------------------------
383
+ // computeDashboardSummary — pre-computed stats for the homepage dashboard
384
+ // ---------------------------------------------------------------------------
385
+ /**
386
+ * Computes summary statistics for the homepage dashboard.
387
+ *
388
+ * Pure function — takes artifact manifest entries and test results,
389
+ * returns a DashboardSummary ready for serialization to JSON.
390
+ *
391
+ * @param artifacts - Manifest entries from the domain
392
+ * @param testResultsData - Aggregated test results, or null if no test data
393
+ * @returns Dashboard summary with artifact counts, type breakdown, tags, and test stats
394
+ */
395
+ function computeDashboardSummary(artifacts, testResultsData) {
396
+ const artifactCount = artifacts.length;
397
+ // Distinct context names
398
+ const contextNames = new Set();
399
+ for (const a of artifacts) {
400
+ contextNames.add(a.contextName);
401
+ }
402
+ const contextCount = contextNames.size;
403
+ // Type breakdown
404
+ const typeBreakdown = {};
405
+ for (const a of artifacts) {
406
+ const key = a.type;
407
+ if (!typeBreakdown[key]) {
408
+ typeBreakdown[key] = { count: 0, label: typeLabel(key) };
409
+ }
410
+ typeBreakdown[key].count++;
411
+ }
412
+ // Tag frequency
413
+ const tags = {};
414
+ for (const a of artifacts) {
415
+ for (const tag of a.tags) {
416
+ if (tag) {
417
+ tags[tag] = (tags[tag] || 0) + 1;
418
+ }
419
+ }
420
+ }
421
+ // Test stats
422
+ let testStats;
423
+ if (testResultsData) {
424
+ testStats = {
425
+ total: testResultsData.numTotalTests,
426
+ passed: testResultsData.numPassedTests,
427
+ failed: testResultsData.numFailedTests,
428
+ skipped: testResultsData.numPendingTests,
429
+ todo: testResultsData.numTodoTests,
430
+ suites: testResultsData.numTotalTestSuites,
431
+ };
432
+ }
433
+ else {
434
+ testStats = { total: 0, passed: 0, failed: 0, skipped: 0, todo: 0, suites: 0 };
435
+ }
436
+ return {
437
+ artifactCount,
438
+ contextCount,
439
+ testStats,
440
+ typeBreakdown,
441
+ tags,
442
+ };
443
+ }
444
+ // ---------------------------------------------------------------------------
366
445
  // buildManifestEntries — converts enriched artifacts to manifest entries
367
446
  // ---------------------------------------------------------------------------
368
447
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"data-transformation.js","sourceRoot":"","sources":["../../src/reporters/data-transformation.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,4DAA4D;AAC5D,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgB9E,8CAyBC;AAUD,wDA2BC;AAUD,4DA2BC;AAeD,sDAkCC;AAUD,gCAUC;AAiBD,kDAgBC;AAmBD,0CAYC;AAaD,wCA4CC;AAeD,sCAuBC;AAoBD,oDA4CC;AA6BD,oDAgBC;AAlcD,2CAA6B;AAG7B,iDAAgE;AAEhE,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,UAAuB;IACvD,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,GAAa;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,IAAI,EACF,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,CAAC,CAAC,EAAE;aACT,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,UAAuB;IAC5D,MAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAE9C,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAkB;YAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;YACtC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE;YACxC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;YAClC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;SACjC,CAAC;QACF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,UAAuB;IAC9D,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IACjD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAElD,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAqB;YAC7B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;YACtC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE;YACxC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;YAClC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;SACjC,CAAC;QACF,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,SAAsB,EACtB,SAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,GAAW,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB,CAAC;YACjD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,2CAA2C;YAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E;;;GAGG;AACH,SAAgB,UAAU,CAAC,YAAoB,EAAE,WAAuB;IACtE,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAcD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAiB;IACnD,MAAM,MAAM,GAAe;QACzB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACzC,KAAK;SACF,IAAI,EAAE;SACN,iBAAiB,EAAE;SACnB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEpC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;QACtC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAE9E;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,QAAqB,EACrB,UAAuB,EACvB,cAA0B,EAC1B,GAAW,EACX,QAAgB,EAChB,WAAmB;IAEnB,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6CAA8B,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEzH,gFAAgF;IAChF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1F,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IAE7D,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEvE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW,EAAG,cAAc,CAAC,WAAsB,IAAI,QAAQ,CAAC,WAAW,IAAI,EAAE;QAEjF,EAAE;QACF,UAAU;QACV,KAAK,EAAG,cAAc,CAAC,KAAgB,IAAI,QAAQ,CAAC,IAAI;QAExD,UAAU;QACV,eAAe;QACf,iBAAiB;QAEjB,IAAI,EAAG,cAAc,CAAC,IAAiB,IAAI,EAAE;QAC7C,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;QAC3C,aAAa;QAEb,WAAW,EAAE,oBAAoB;QACjC,GAAG,UAAU;KACd,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,GAAe,EACf,cAA0B,EAC1B,KAAa,EACb,WAAmB;IAEnB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACzC,KAAK;SACF,IAAI,EAAE;SACN,iBAAiB,EAAE;SACnB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEhD,OAAO;QACL,GAAG,GAAG;QACN,EAAE,EAAE,QAAQ,CAAC,GAAG,WAAW,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QACpD,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,WAAW;QACX,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAClC,SAAqB,EACrB,UAAuB;IAEvB,yEAAyE;IACzE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAChC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CACd,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAElD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClC,oEAAoE;gBACpE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,gEAAgE;gBAChE,+DAA+D;gBAC/D,yCAAyC;gBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBACrC,OAAO,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE;oBACrC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,CAAC,UAAU,GAAG;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;oBACpC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;iBACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB,CAClC,SAA6B,EAC7B,WAAmB;IAEnB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;QACzB,WAAW;QACX,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EACR,QAAQ,CAAC,IAAI,KAAK,WAAW;YAC3B,CAAC,CAAC,CAAC,kBAAkB,EAAE,YAAY,CAAC;YACpC,CAAC,CAAC,CAAC,kBAAkB,CAAC;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"data-transformation.js","sourceRoot":"","sources":["../../src/reporters/data-transformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Rewrites relative file links in markdown text to point at repoSourceUrl.
3
+ *
4
+ * Rules (per ADR design decision):
5
+ * - Absolute URLs (https://...) → untouched
6
+ * - Anchor links (#section) → untouched
7
+ * - Relative file links (./foo.md, ../bar/baz.md, docs/qux.md) → repoSourceUrl/resolvedPath
8
+ * - If repoSourceUrl is undefined → links untouched
9
+ *
10
+ * @param markdown - Raw markdown content
11
+ * @param repoSourceUrl - Base URL of the repository (e.g. "https://github.com/o/r/blob/main")
12
+ * @returns Markdown with relative links rewritten
13
+ */
14
+ export declare function transformReadmeLinks(markdown: string, repoSourceUrl: string | undefined): string;
15
+ /**
16
+ * Extracts the first paragraph from an HTML string.
17
+ *
18
+ * Finds the first `<p>` tag, truncates to maxLength chars at word boundary
19
+ * if needed, and appends an ellipsis.
20
+ *
21
+ * @param html - HTML content
22
+ * @param maxLength - Maximum excerpt length in characters (excluding ellipsis)
23
+ * @returns Excerpt HTML or empty string if no paragraph found
24
+ */
25
+ export declare function extractExcerpt(html: string, maxLength: number): string;
26
+ /**
27
+ * Converts README markdown to HTML, rewrites relative links, and extracts
28
+ * an excerpt.
29
+ *
30
+ * @param markdown - Raw README.md content
31
+ * @param repoSourceUrl - Optional repo URL for link rewriting
32
+ * @param excerptMaxLength - Maximum length for excerpt (default 500)
33
+ * @returns HTML, excerpt HTML, and transformed markdown
34
+ */
35
+ export declare function processReadme(markdown: string, repoSourceUrl: string | undefined, excerptMaxLength?: number): {
36
+ html: string;
37
+ excerptHtml: string;
38
+ };
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // README transform layer — pure functions for processing project README.md
4
+ //
5
+ // Handles:
6
+ // - Link rewriting: relative file links → repoSourceUrl
7
+ // - Excerpt extraction: first paragraph of HTML content
8
+ // - Markdown-to-HTML conversion via marked (already a transitive dependency)
9
+ // ---------------------------------------------------------------------------
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.transformReadmeLinks = transformReadmeLinks;
12
+ exports.extractExcerpt = extractExcerpt;
13
+ exports.processReadme = processReadme;
14
+ const marked_1 = require("marked");
15
+ // ---------------------------------------------------------------------------
16
+ // transformReadmeLinks — rewrite relative file links to repo source URL
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * Rewrites relative file links in markdown text to point at repoSourceUrl.
20
+ *
21
+ * Rules (per ADR design decision):
22
+ * - Absolute URLs (https://...) → untouched
23
+ * - Anchor links (#section) → untouched
24
+ * - Relative file links (./foo.md, ../bar/baz.md, docs/qux.md) → repoSourceUrl/resolvedPath
25
+ * - If repoSourceUrl is undefined → links untouched
26
+ *
27
+ * @param markdown - Raw markdown content
28
+ * @param repoSourceUrl - Base URL of the repository (e.g. "https://github.com/o/r/blob/main")
29
+ * @returns Markdown with relative links rewritten
30
+ */
31
+ function transformReadmeLinks(markdown, repoSourceUrl) {
32
+ if (!repoSourceUrl) {
33
+ return markdown;
34
+ }
35
+ // Match markdown links: [text](url)
36
+ // Group 1: link text, Group 2: URL
37
+ return markdown.replace(/\[([^\]]*)\]\(([^)]+)\)/g, (_match, text, url) => {
38
+ // Absolute URLs (http/https) — leave untouched
39
+ if (/^https?:\/\//i.test(url)) {
40
+ return `[${text}](${url})`;
41
+ }
42
+ // Anchor links — leave untouched
43
+ if (/^#/.test(url)) {
44
+ return `[${text}](${url})`;
45
+ }
46
+ // Relative file link — prepend repoSourceUrl
47
+ // Normalize: strip leading ./ prefix, ensure no double-slash
48
+ const normalized = url.replace(/^\.\//, '');
49
+ const base = repoSourceUrl.replace(/\/$/, '');
50
+ return `[${text}](${base}/${normalized})`;
51
+ });
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // extractExcerpt — extract first paragraph from HTML
55
+ // ---------------------------------------------------------------------------
56
+ /**
57
+ * Extracts the first paragraph from an HTML string.
58
+ *
59
+ * Finds the first `<p>` tag, truncates to maxLength chars at word boundary
60
+ * if needed, and appends an ellipsis.
61
+ *
62
+ * @param html - HTML content
63
+ * @param maxLength - Maximum excerpt length in characters (excluding ellipsis)
64
+ * @returns Excerpt HTML or empty string if no paragraph found
65
+ */
66
+ function extractExcerpt(html, maxLength) {
67
+ // Find the first <p> tag
68
+ const match = html.match(/<p>(.*?)<\/p>/s);
69
+ if (!match) {
70
+ return '';
71
+ }
72
+ const fullContent = match[0];
73
+ const innerText = match[1];
74
+ // If within maxLength, return the full paragraph
75
+ if (innerText.length <= maxLength) {
76
+ return fullContent;
77
+ }
78
+ // Truncate at word boundary
79
+ const truncated = innerText.slice(0, maxLength);
80
+ const lastSpace = truncated.lastIndexOf(' ');
81
+ const cutoff = lastSpace > 0 ? lastSpace : maxLength;
82
+ const excerpt = innerText.slice(0, cutoff);
83
+ return `<p>${excerpt}…</p>`;
84
+ }
85
+ // ---------------------------------------------------------------------------
86
+ // processReadme — compose markdown → HTML + link transform + excerpt
87
+ // ---------------------------------------------------------------------------
88
+ /**
89
+ * Converts README markdown to HTML, rewrites relative links, and extracts
90
+ * an excerpt.
91
+ *
92
+ * @param markdown - Raw README.md content
93
+ * @param repoSourceUrl - Optional repo URL for link rewriting
94
+ * @param excerptMaxLength - Maximum length for excerpt (default 500)
95
+ * @returns HTML, excerpt HTML, and transformed markdown
96
+ */
97
+ function processReadme(markdown, repoSourceUrl, excerptMaxLength = 500) {
98
+ if (!markdown) {
99
+ return { html: '', excerptHtml: '' };
100
+ }
101
+ // Transform links in markdown before converting to HTML,
102
+ // so the transformed URLs are preserved in the HTML output.
103
+ const transformed = transformReadmeLinks(markdown, repoSourceUrl);
104
+ // Convert to HTML using marked
105
+ const html = marked_1.marked.parse(transformed, { async: false });
106
+ // Extract excerpt from the HTML
107
+ const excerptHtml = extractExcerpt(html, excerptMaxLength);
108
+ return { html, excerptHtml };
109
+ }
110
+ //# sourceMappingURL=readme-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme-transform.js","sourceRoot":"","sources":["../../src/reporters/readme-transform.ts"],"names":[],"mappings":"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"}
@@ -178,6 +178,33 @@ export interface UseCasePage {
178
178
  markdown: string;
179
179
  destPath: string;
180
180
  }
181
+ /** Type breakdown entry for the dashboard. */
182
+ export interface TypeBreakdownEntry {
183
+ count: number;
184
+ label: string;
185
+ }
186
+ /** Test statistics for the dashboard stat card. */
187
+ export interface DashboardTestStats {
188
+ total: number;
189
+ passed: number;
190
+ failed: number;
191
+ skipped: number;
192
+ todo: number;
193
+ suites: number;
194
+ }
195
+ /**
196
+ * Pre-computed dashboard summary written to static/data/dashboard-summary.json.
197
+ * Consumed by the HomepageFeatures React component at runtime.
198
+ */
199
+ export interface DashboardSummary {
200
+ artifactCount: number;
201
+ contextCount: number;
202
+ testStats: DashboardTestStats;
203
+ typeBreakdown: Record<string, TypeBreakdownEntry>;
204
+ tags: Record<string, number>;
205
+ readmeHtml?: string;
206
+ readmeExcerptHtml?: string;
207
+ }
181
208
  /** A single artifact entry in the static manifest for the searchable table. */
182
209
  export interface ArtifactManifestEntry {
183
210
  name: string;