@imolko/create-ultra-reporter 2.1.23-beta

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 (182) hide show
  1. package/README.md +219 -0
  2. package/bin/classes/index.d.ts +0 -0
  3. package/bin/classes/index.js +2 -0
  4. package/bin/classes/index.js.map +1 -0
  5. package/bin/classes/logger.d.ts +42 -0
  6. package/bin/classes/logger.js +185 -0
  7. package/bin/classes/logger.js.map +1 -0
  8. package/bin/cli.d.ts +2 -0
  9. package/bin/cli.js +48 -0
  10. package/bin/cli.js.map +1 -0
  11. package/bin/commands/build.d.ts +2 -0
  12. package/bin/commands/build.js +151 -0
  13. package/bin/commands/build.js.map +1 -0
  14. package/bin/commands/create.d.ts +60 -0
  15. package/bin/commands/create.js +368 -0
  16. package/bin/commands/create.js.map +1 -0
  17. package/bin/commands/generate-documentation.d.ts +2 -0
  18. package/bin/commands/generate-documentation.js +249 -0
  19. package/bin/commands/generate-documentation.js.map +1 -0
  20. package/bin/commands/generate.d.ts +2 -0
  21. package/bin/commands/generate.js +79 -0
  22. package/bin/commands/generate.js.map +1 -0
  23. package/bin/commands/index.d.ts +6 -0
  24. package/bin/commands/index.js +16 -0
  25. package/bin/commands/index.js.map +1 -0
  26. package/bin/commands/init.d.ts +2 -0
  27. package/bin/commands/init.js +54 -0
  28. package/bin/commands/init.js.map +1 -0
  29. package/bin/commands/serve.d.ts +2 -0
  30. package/bin/commands/serve.js +124 -0
  31. package/bin/commands/serve.js.map +1 -0
  32. package/bin/commands/types.d.ts +65 -0
  33. package/bin/commands/types.js +9 -0
  34. package/bin/commands/types.js.map +1 -0
  35. package/bin/config/reader.d.ts +17 -0
  36. package/bin/config/reader.js +166 -0
  37. package/bin/config/reader.js.map +1 -0
  38. package/bin/config/types.d.ts +57 -0
  39. package/bin/config/types.js +21 -0
  40. package/bin/config/types.js.map +1 -0
  41. package/bin/data/documentation-folder.d.ts +1 -0
  42. package/bin/data/documentation-folder.js +5 -0
  43. package/bin/data/documentation-folder.js.map +1 -0
  44. package/bin/data/files-generated.d.ts +1 -0
  45. package/bin/data/files-generated.js +10 -0
  46. package/bin/data/files-generated.js.map +1 -0
  47. package/bin/data/index.d.ts +2 -0
  48. package/bin/data/index.js +8 -0
  49. package/bin/data/index.js.map +1 -0
  50. package/bin/pipeline/generate.d.ts +26 -0
  51. package/bin/pipeline/generate.js +269 -0
  52. package/bin/pipeline/generate.js.map +1 -0
  53. package/bin/reporters/data-loading.d.ts +121 -0
  54. package/bin/reporters/data-loading.js +398 -0
  55. package/bin/reporters/data-loading.js.map +1 -0
  56. package/bin/reporters/data-transformation.d.ts +101 -0
  57. package/bin/reporters/data-transformation.js +392 -0
  58. package/bin/reporters/data-transformation.js.map +1 -0
  59. package/bin/reporters/file-writing.d.ts +29 -0
  60. package/bin/reporters/file-writing.js +100 -0
  61. package/bin/reporters/file-writing.js.map +1 -0
  62. package/bin/reporters/generate-domain-documentation.d.ts +17 -0
  63. package/bin/reporters/generate-domain-documentation.js +161 -0
  64. package/bin/reporters/generate-domain-documentation.js.map +1 -0
  65. package/bin/reporters/generate-use-cases-documentation.d.ts +18 -0
  66. package/bin/reporters/generate-use-cases-documentation.js +123 -0
  67. package/bin/reporters/generate-use-cases-documentation.js.map +1 -0
  68. package/bin/reporters/rendering.d.ts +116 -0
  69. package/bin/reporters/rendering.js +385 -0
  70. package/bin/reporters/rendering.js.map +1 -0
  71. package/bin/reporters/templates/README.md +28 -0
  72. package/bin/reporters/templates/card.template.jsx +5 -0
  73. package/bin/reporters/templates/cards-container.template.jsx +5 -0
  74. package/bin/reporters/types.d.ts +190 -0
  75. package/bin/reporters/types.js +8 -0
  76. package/bin/reporters/types.js.map +1 -0
  77. package/bin/scaffold/assembler.d.ts +13 -0
  78. package/bin/scaffold/assembler.js +371 -0
  79. package/bin/scaffold/assembler.js.map +1 -0
  80. package/bin/scaffold/doc-assembler.d.ts +10 -0
  81. package/bin/scaffold/doc-assembler.js +113 -0
  82. package/bin/scaffold/doc-assembler.js.map +1 -0
  83. package/bin/scripts/add-import.d.ts +1 -0
  84. package/bin/scripts/add-import.js +26 -0
  85. package/bin/scripts/add-import.js.map +1 -0
  86. package/bin/scripts/converter.d.ts +6 -0
  87. package/bin/scripts/converter.js +120 -0
  88. package/bin/scripts/converter.js.map +1 -0
  89. package/bin/scripts/copy-files.d.ts +1 -0
  90. package/bin/scripts/copy-files.js +96 -0
  91. package/bin/scripts/copy-files.js.map +1 -0
  92. package/bin/scripts/create-folder.d.ts +1 -0
  93. package/bin/scripts/create-folder.js +23 -0
  94. package/bin/scripts/create-folder.js.map +1 -0
  95. package/bin/scripts/delete-paths.d.ts +1 -0
  96. package/bin/scripts/delete-paths.js +34 -0
  97. package/bin/scripts/delete-paths.js.map +1 -0
  98. package/bin/scripts/exists-file.d.ts +5 -0
  99. package/bin/scripts/exists-file.js +12 -0
  100. package/bin/scripts/exists-file.js.map +1 -0
  101. package/bin/scripts/generate-track-artifacts.d.ts +1 -0
  102. package/bin/scripts/generate-track-artifacts.js +59 -0
  103. package/bin/scripts/generate-track-artifacts.js.map +1 -0
  104. package/bin/scripts/get-artifacts.d.ts +1 -0
  105. package/bin/scripts/get-artifacts.js +38 -0
  106. package/bin/scripts/get-artifacts.js.map +1 -0
  107. package/bin/scripts/get-directories.d.ts +1 -0
  108. package/bin/scripts/get-directories.js +10 -0
  109. package/bin/scripts/get-directories.js.map +1 -0
  110. package/bin/scripts/get-file.d.ts +9 -0
  111. package/bin/scripts/get-file.js +38 -0
  112. package/bin/scripts/get-file.js.map +1 -0
  113. package/bin/scripts/labels.d.ts +35 -0
  114. package/bin/scripts/labels.js +108 -0
  115. package/bin/scripts/labels.js.map +1 -0
  116. package/bin/scripts/markdown.d.ts +34 -0
  117. package/bin/scripts/markdown.js +99 -0
  118. package/bin/scripts/markdown.js.map +1 -0
  119. package/bin/scripts/names.d.ts +18 -0
  120. package/bin/scripts/names.js +64 -0
  121. package/bin/scripts/names.js.map +1 -0
  122. package/bin/scripts/track-artifacts.d.ts +2 -0
  123. package/bin/scripts/track-artifacts.js +101 -0
  124. package/bin/scripts/track-artifacts.js.map +1 -0
  125. package/bin/utils/create-folder.d.ts +1 -0
  126. package/bin/utils/create-folder.js +23 -0
  127. package/bin/utils/create-folder.js.map +1 -0
  128. package/bin/utils/delete-markdown-files.d.ts +1 -0
  129. package/bin/utils/delete-markdown-files.js +46 -0
  130. package/bin/utils/delete-markdown-files.js.map +1 -0
  131. package/bin/utils/delete-paths.d.ts +5 -0
  132. package/bin/utils/delete-paths.js +26 -0
  133. package/bin/utils/delete-paths.js.map +1 -0
  134. package/bin/utils/exists-file.d.ts +6 -0
  135. package/bin/utils/exists-file.js +13 -0
  136. package/bin/utils/exists-file.js.map +1 -0
  137. package/bin/utils/exists-folder.d.ts +6 -0
  138. package/bin/utils/exists-folder.js +13 -0
  139. package/bin/utils/exists-folder.js.map +1 -0
  140. package/bin/utils/get-internal-resource-path.d.ts +1 -0
  141. package/bin/utils/get-internal-resource-path.js +43 -0
  142. package/bin/utils/get-internal-resource-path.js.map +1 -0
  143. package/bin/utils/get-json-file.d.ts +1 -0
  144. package/bin/utils/get-json-file.js +27 -0
  145. package/bin/utils/get-json-file.js.map +1 -0
  146. package/bin/utils/index.d.ts +6 -0
  147. package/bin/utils/index.js +16 -0
  148. package/bin/utils/index.js.map +1 -0
  149. package/bin/utils/run-command.d.ts +5 -0
  150. package/bin/utils/run-command.js +36 -0
  151. package/bin/utils/run-command.js.map +1 -0
  152. package/jsdoc.conf.json +30 -0
  153. package/package.json +75 -0
  154. package/templates/documentation/README.md +41 -0
  155. package/templates/documentation/docs/.gitkeep +0 -0
  156. package/templates/documentation/docusaurus.config.ts +127 -0
  157. package/templates/documentation/package-lock.json +19431 -0
  158. package/templates/documentation/package.json +49 -0
  159. package/templates/documentation/sidebars.ts +33 -0
  160. package/templates/documentation/src/components/ArtifactTable/FilterBar.tsx +185 -0
  161. package/templates/documentation/src/components/ArtifactTable/index.tsx +298 -0
  162. package/templates/documentation/src/components/ArtifactTable/styles.module.css +282 -0
  163. package/templates/documentation/src/components/ArtifactTable/types.ts +31 -0
  164. package/templates/documentation/src/components/HomepageFeatures/index.tsx +77 -0
  165. package/templates/documentation/src/components/HomepageFeatures/styles.module.css +11 -0
  166. package/templates/documentation/src/css/custom.css +30 -0
  167. package/templates/documentation/src/pages/index.module.css +23 -0
  168. package/templates/documentation/src/pages/index.tsx +43 -0
  169. package/templates/documentation/src/pages/markdown-page.md +7 -0
  170. package/templates/documentation/static/.nojekyll +0 -0
  171. package/templates/documentation/static/img/docusaurus-social-card.jpg +0 -0
  172. package/templates/documentation/static/img/docusaurus.png +0 -0
  173. package/templates/documentation/static/img/favicon.ico +0 -0
  174. package/templates/documentation/static/img/logo.svg +1 -0
  175. package/templates/documentation/static/img/logo_imolko_azul.png +0 -0
  176. package/templates/documentation/static/img/undraw_docusaurus_mountain.svg +171 -0
  177. package/templates/documentation/static/img/undraw_docusaurus_react.svg +170 -0
  178. package/templates/documentation/static/img/undraw_docusaurus_tree.svg +40 -0
  179. package/templates/documentation/tsconfig.json +8 -0
  180. package/templates/documentation/ultra-reporter.config.json +55 -0
  181. package/templates/track-artifacts-script.ts +44 -0
  182. package/tsconfig.build-track.json +39 -0
@@ -0,0 +1,65 @@
1
+ export interface ComandoAOptions {
2
+ documentationPath: string;
3
+ }
4
+ export declare enum TargetType {
5
+ Domain = "domain",
6
+ UseCases = "use-cases"
7
+ }
8
+ export interface DocusaurusDomain {
9
+ domain: {
10
+ name: string;
11
+ config: {
12
+ label: string;
13
+ position: number;
14
+ link?: {
15
+ type: string;
16
+ description: string;
17
+ };
18
+ };
19
+ };
20
+ aggregates: {
21
+ name: string;
22
+ config: {
23
+ label: string;
24
+ position: number;
25
+ link?: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ };
30
+ };
31
+ }
32
+ export interface DocusaurusUseCases {
33
+ useCases: {
34
+ name: string;
35
+ config: {
36
+ label: string;
37
+ position: number;
38
+ link: {
39
+ type: string;
40
+ description: string;
41
+ };
42
+ };
43
+ };
44
+ }
45
+ export interface DomainTarget {
46
+ type: TargetType.Domain;
47
+ packageRoot: string;
48
+ domainSrc: string;
49
+ contextName: string;
50
+ testsResultFile: string;
51
+ docusaurus: DocusaurusDomain;
52
+ }
53
+ export interface UseCasesTarget {
54
+ type: TargetType.UseCases;
55
+ title: string;
56
+ packageRoot: string;
57
+ useCasesSrc: string;
58
+ contextName: string;
59
+ testsResultFile: string;
60
+ docusaurus: DocusaurusUseCases;
61
+ }
62
+ export interface ConfigFile {
63
+ repoSourceUrl?: string;
64
+ targets: (DomainTarget | UseCasesTarget)[];
65
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TargetType = void 0;
4
+ var TargetType;
5
+ (function (TargetType) {
6
+ TargetType["Domain"] = "domain";
7
+ TargetType["UseCases"] = "use-cases";
8
+ })(TargetType || (exports.TargetType = TargetType = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,oCAAsB,CAAA;AACxB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
@@ -0,0 +1,17 @@
1
+ import type { UltraReporterConfig } from './types';
2
+ /**
3
+ * Reads and validates an ultra-reporter.config.json from the given directory.
4
+ *
5
+ * @param basePath - Directory containing ultra-reporter.config.json
6
+ * @returns Validated configuration
7
+ * @throws ConfigValidationError if config is missing, malformed, or invalid
8
+ */
9
+ export declare function readConfig(basePath: string): UltraReporterConfig;
10
+ /**
11
+ * Walks up the directory tree from startDir to find an
12
+ * ultra-reporter.config.json file.
13
+ *
14
+ * @param startDir - Directory to start searching from
15
+ * @returns Absolute path to the config file, or null if not found
16
+ */
17
+ export declare function findConfig(startDir: string): string | null;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Configuration reader for ultra-reporter.config.json
4
+ //
5
+ // Reads and validates the simplified config format. Provides:
6
+ // - readConfig(basePath): reads & validates config from a directory
7
+ // - findConfig(startDir): walks up to find ultra-reporter.config.json
8
+ // ---------------------------------------------------------------------------
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.readConfig = readConfig;
44
+ exports.findConfig = findConfig;
45
+ const fs = __importStar(require("fs"));
46
+ const path = __importStar(require("path"));
47
+ const types_1 = require("./types");
48
+ /**
49
+ * Reads and validates an ultra-reporter.config.json from the given directory.
50
+ *
51
+ * @param basePath - Directory containing ultra-reporter.config.json
52
+ * @returns Validated configuration
53
+ * @throws ConfigValidationError if config is missing, malformed, or invalid
54
+ */
55
+ function readConfig(basePath) {
56
+ const configPath = path.resolve(basePath, 'ultra-reporter.config.json');
57
+ let raw;
58
+ try {
59
+ raw = fs.readFileSync(configPath, 'utf-8');
60
+ }
61
+ catch {
62
+ throw new types_1.ConfigValidationError(`Configuration file not found: ${configPath}`);
63
+ }
64
+ let parsed;
65
+ try {
66
+ parsed = JSON.parse(raw);
67
+ }
68
+ catch (err) {
69
+ throw new types_1.ConfigValidationError(`Failed to parse ${configPath}: ${err instanceof Error ? err.message : String(err)}`);
70
+ }
71
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
72
+ throw new types_1.ConfigValidationError('Configuration must be a JSON object');
73
+ }
74
+ const config = parsed;
75
+ // Validate domain (required)
76
+ if (!config.domain || typeof config.domain !== 'object') {
77
+ throw new types_1.ConfigValidationError('Missing required field: domain');
78
+ }
79
+ const domain = config.domain;
80
+ if (!domain.name || typeof domain.name !== 'string') {
81
+ throw new types_1.ConfigValidationError('Missing required field: domain.name (must be a string)');
82
+ }
83
+ if (!domain.srcPath || typeof domain.srcPath !== 'string') {
84
+ throw new types_1.ConfigValidationError('Missing required field: domain.srcPath (must be a string)');
85
+ }
86
+ const result = {
87
+ domain: {
88
+ name: domain.name,
89
+ srcPath: domain.srcPath,
90
+ testResultsPath: typeof domain.testResultsPath === 'string'
91
+ ? domain.testResultsPath
92
+ : undefined,
93
+ },
94
+ };
95
+ // Validate repoSourceUrl (optional)
96
+ if (config.repoSourceUrl !== undefined) {
97
+ if (typeof config.repoSourceUrl === 'string') {
98
+ result.repoSourceUrl = config.repoSourceUrl;
99
+ }
100
+ }
101
+ // Validate useCases (optional)
102
+ if (config.useCases !== undefined && config.useCases !== null) {
103
+ if (typeof config.useCases !== 'object') {
104
+ throw new types_1.ConfigValidationError('useCases must be an object');
105
+ }
106
+ const uc = config.useCases;
107
+ if (!uc.srcPath || typeof uc.srcPath !== 'string') {
108
+ throw new types_1.ConfigValidationError('Missing required field: useCases.srcPath (must be a string when useCases is present)');
109
+ }
110
+ result.useCases = {
111
+ title: typeof uc.title === 'string' ? uc.title : 'Use Cases',
112
+ srcPath: uc.srcPath,
113
+ testResultsPath: typeof uc.testResultsPath === 'string'
114
+ ? uc.testResultsPath
115
+ : undefined,
116
+ };
117
+ }
118
+ // Validate docs (optional)
119
+ if (config.docs !== undefined && config.docs !== null) {
120
+ if (typeof config.docs !== 'object') {
121
+ throw new types_1.ConfigValidationError('docs must be an object');
122
+ }
123
+ const d = config.docs;
124
+ if (!d.path || typeof d.path !== 'string') {
125
+ throw new types_1.ConfigValidationError('Missing required field: docs.path (must be a string when docs is present)');
126
+ }
127
+ result.docs = {
128
+ path: d.path,
129
+ };
130
+ }
131
+ // Validate build (optional)
132
+ if (config.build !== undefined && config.build !== null) {
133
+ if (typeof config.build !== 'object') {
134
+ throw new types_1.ConfigValidationError('build must be an object');
135
+ }
136
+ const b = config.build;
137
+ result.build = {
138
+ outputPath: typeof b.outputPath === 'string' ? b.outputPath : undefined,
139
+ };
140
+ }
141
+ return result;
142
+ }
143
+ /**
144
+ * Walks up the directory tree from startDir to find an
145
+ * ultra-reporter.config.json file.
146
+ *
147
+ * @param startDir - Directory to start searching from
148
+ * @returns Absolute path to the config file, or null if not found
149
+ */
150
+ function findConfig(startDir) {
151
+ let currentDir = path.resolve(startDir);
152
+ // eslint-disable-next-line no-constant-condition
153
+ while (true) {
154
+ const configPath = path.join(currentDir, 'ultra-reporter.config.json');
155
+ if (fs.existsSync(configPath)) {
156
+ return configPath;
157
+ }
158
+ const parentDir = path.dirname(currentDir);
159
+ if (parentDir === currentDir) {
160
+ // Reached filesystem root
161
+ return null;
162
+ }
163
+ currentDir = parentDir;
164
+ }
165
+ }
166
+ //# sourceMappingURL=reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/config/reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Domain target configuration.
3
+ * Required: name, srcPath.
4
+ */
5
+ export interface DomainConfig {
6
+ /** Human-readable name used for sidebar labels (e.g., "sentinel"). */
7
+ name: string;
8
+ /** Path to domain source files relative to repo root (e.g., "./domain/src"). */
9
+ srcPath: string;
10
+ /** Path to CTRF test results JSON file (e.g., "./domain/ctrf.json"). */
11
+ testResultsPath?: string;
12
+ }
13
+ /**
14
+ * Use-cases target configuration.
15
+ * Required: title, srcPath.
16
+ */
17
+ export interface UseCasesConfig {
18
+ /** Human-readable title used for sidebar labels (e.g., "Sentinel Use Cases"). */
19
+ title: string;
20
+ /** Path to use-cases source files relative to repo root (e.g., "./features/src"). */
21
+ srcPath: string;
22
+ /** Path to CTRF test results JSON file (e.g., "./features/ctrf.json"). */
23
+ testResultsPath?: string;
24
+ }
25
+ /**
26
+ * User-owned manual docs configuration.
27
+ */
28
+ export interface DocsConfig {
29
+ /** Path to user-written markdown folder (e.g., "./docs"). */
30
+ path: string;
31
+ }
32
+ /**
33
+ * Top-level ultra-reporter configuration file shape.
34
+ *
35
+ * Only `domain.name` and `domain.srcPath` are required.
36
+ * All other fields are optional and degrade gracefully when absent.
37
+ */
38
+ export interface UltraReporterConfig {
39
+ /** Optional URL to the source repository for [View source] links. */
40
+ repoSourceUrl?: string;
41
+ /** Domain target (required). */
42
+ domain: DomainConfig;
43
+ /** Use-cases target (optional — omit if no use-cases). */
44
+ useCases?: UseCasesConfig;
45
+ /** Manual docs folder (optional — omit if no user docs). */
46
+ docs?: DocsConfig;
47
+ /** Production build output path (optional — defaults to .ultra-reporter/build/). */
48
+ build?: {
49
+ outputPath?: string;
50
+ };
51
+ }
52
+ /**
53
+ * Validation error with a user-friendly message.
54
+ */
55
+ export declare class ConfigValidationError extends Error {
56
+ constructor(message: string);
57
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Configuration types for ultra-reporter.config.json
4
+ //
5
+ // Simplified config shape — singleton domain and useCases (not arrays).
6
+ // Power users can manually extend to arrays; the wizard only produces
7
+ // the singleton form.
8
+ // ---------------------------------------------------------------------------
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ConfigValidationError = void 0;
11
+ /**
12
+ * Validation error with a user-friendly message.
13
+ */
14
+ class ConfigValidationError extends Error {
15
+ constructor(message) {
16
+ super(message);
17
+ this.name = 'ConfigValidationError';
18
+ }
19
+ }
20
+ exports.ConfigValidationError = ConfigValidationError;
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ export declare const DOCUMENTATION_FOLDER = "documentation";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DOCUMENTATION_FOLDER = void 0;
4
+ exports.DOCUMENTATION_FOLDER = 'documentation';
5
+ //# sourceMappingURL=documentation-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation-folder.js","sourceRoot":"","sources":["../../src/data/documentation-folder.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const FILES_GENERATED: never[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILES_GENERATED = void 0;
4
+ exports.FILES_GENERATED = [
5
+ // "ultra-reporter-workspace",
6
+ // "tsconfig.build-track.json",
7
+ // "src/track-artifacts-script.ts",
8
+ // "documentation/docs/intro.md",
9
+ ];
10
+ //# sourceMappingURL=files-generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-generated.js","sourceRoot":"","sources":["../../src/data/files-generated.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;AAC7B,8BAA8B;AAC9B,+BAA+B;AAC/B,mCAAmC;AACnC,iCAAiC;CAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FILES_GENERATED } from "./files-generated";
2
+ export { DOCUMENTATION_FOLDER } from "./documentation-folder";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DOCUMENTATION_FOLDER = exports.FILES_GENERATED = void 0;
4
+ var files_generated_1 = require("./files-generated");
5
+ Object.defineProperty(exports, "FILES_GENERATED", { enumerable: true, get: function () { return files_generated_1.FILES_GENERATED; } });
6
+ var documentation_folder_1 = require("./documentation-folder");
7
+ Object.defineProperty(exports, "DOCUMENTATION_FOLDER", { enumerable: true, get: function () { return documentation_folder_1.DOCUMENTATION_FOLDER; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Paths to the key output directories derived from the config location.
3
+ */
4
+ export interface PipelinePaths {
5
+ /** Root .ultra-reporter/ directory */
6
+ ultraReporterRoot: string;
7
+ /** Cache directory for intermediate data */
8
+ cacheDir: string;
9
+ /** Generated docs directory for .md output */
10
+ generatedDocsDir: string;
11
+ /** Path to the config file */
12
+ configPath: string;
13
+ /** Package root name (derived from cwd) */
14
+ packageRootName: string;
15
+ }
16
+ /**
17
+ * Derives pipeline paths from the config file location.
18
+ */
19
+ export declare function derivePipelinePaths(configDir: string): PipelinePaths;
20
+ /**
21
+ * Generates all documentation for the project.
22
+ *
23
+ * @param configDir - Directory containing ultra-reporter.config.json
24
+ * @param cmdRoot - Path to the bin/ directory (for locating internal scripts)
25
+ */
26
+ export declare function generateAllDocs(configDir: string, cmdRoot: string): Promise<void>;