@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.
- package/README.md +219 -0
- package/bin/classes/index.d.ts +0 -0
- package/bin/classes/index.js +2 -0
- package/bin/classes/index.js.map +1 -0
- package/bin/classes/logger.d.ts +42 -0
- package/bin/classes/logger.js +185 -0
- package/bin/classes/logger.js.map +1 -0
- package/bin/cli.d.ts +2 -0
- package/bin/cli.js +48 -0
- package/bin/cli.js.map +1 -0
- package/bin/commands/build.d.ts +2 -0
- package/bin/commands/build.js +151 -0
- package/bin/commands/build.js.map +1 -0
- package/bin/commands/create.d.ts +60 -0
- package/bin/commands/create.js +368 -0
- package/bin/commands/create.js.map +1 -0
- package/bin/commands/generate-documentation.d.ts +2 -0
- package/bin/commands/generate-documentation.js +249 -0
- package/bin/commands/generate-documentation.js.map +1 -0
- package/bin/commands/generate.d.ts +2 -0
- package/bin/commands/generate.js +79 -0
- package/bin/commands/generate.js.map +1 -0
- package/bin/commands/index.d.ts +6 -0
- package/bin/commands/index.js +16 -0
- package/bin/commands/index.js.map +1 -0
- package/bin/commands/init.d.ts +2 -0
- package/bin/commands/init.js +54 -0
- package/bin/commands/init.js.map +1 -0
- package/bin/commands/serve.d.ts +2 -0
- package/bin/commands/serve.js +124 -0
- package/bin/commands/serve.js.map +1 -0
- package/bin/commands/types.d.ts +65 -0
- package/bin/commands/types.js +9 -0
- package/bin/commands/types.js.map +1 -0
- package/bin/config/reader.d.ts +17 -0
- package/bin/config/reader.js +166 -0
- package/bin/config/reader.js.map +1 -0
- package/bin/config/types.d.ts +57 -0
- package/bin/config/types.js +21 -0
- package/bin/config/types.js.map +1 -0
- package/bin/data/documentation-folder.d.ts +1 -0
- package/bin/data/documentation-folder.js +5 -0
- package/bin/data/documentation-folder.js.map +1 -0
- package/bin/data/files-generated.d.ts +1 -0
- package/bin/data/files-generated.js +10 -0
- package/bin/data/files-generated.js.map +1 -0
- package/bin/data/index.d.ts +2 -0
- package/bin/data/index.js +8 -0
- package/bin/data/index.js.map +1 -0
- package/bin/pipeline/generate.d.ts +26 -0
- package/bin/pipeline/generate.js +269 -0
- package/bin/pipeline/generate.js.map +1 -0
- package/bin/reporters/data-loading.d.ts +121 -0
- package/bin/reporters/data-loading.js +398 -0
- package/bin/reporters/data-loading.js.map +1 -0
- package/bin/reporters/data-transformation.d.ts +101 -0
- package/bin/reporters/data-transformation.js +392 -0
- package/bin/reporters/data-transformation.js.map +1 -0
- package/bin/reporters/file-writing.d.ts +29 -0
- package/bin/reporters/file-writing.js +100 -0
- package/bin/reporters/file-writing.js.map +1 -0
- package/bin/reporters/generate-domain-documentation.d.ts +17 -0
- package/bin/reporters/generate-domain-documentation.js +161 -0
- package/bin/reporters/generate-domain-documentation.js.map +1 -0
- package/bin/reporters/generate-use-cases-documentation.d.ts +18 -0
- package/bin/reporters/generate-use-cases-documentation.js +123 -0
- package/bin/reporters/generate-use-cases-documentation.js.map +1 -0
- package/bin/reporters/rendering.d.ts +116 -0
- package/bin/reporters/rendering.js +385 -0
- package/bin/reporters/rendering.js.map +1 -0
- package/bin/reporters/templates/README.md +28 -0
- package/bin/reporters/templates/card.template.jsx +5 -0
- package/bin/reporters/templates/cards-container.template.jsx +5 -0
- package/bin/reporters/types.d.ts +190 -0
- package/bin/reporters/types.js +8 -0
- package/bin/reporters/types.js.map +1 -0
- package/bin/scaffold/assembler.d.ts +13 -0
- package/bin/scaffold/assembler.js +371 -0
- package/bin/scaffold/assembler.js.map +1 -0
- package/bin/scaffold/doc-assembler.d.ts +10 -0
- package/bin/scaffold/doc-assembler.js +113 -0
- package/bin/scaffold/doc-assembler.js.map +1 -0
- package/bin/scripts/add-import.d.ts +1 -0
- package/bin/scripts/add-import.js +26 -0
- package/bin/scripts/add-import.js.map +1 -0
- package/bin/scripts/converter.d.ts +6 -0
- package/bin/scripts/converter.js +120 -0
- package/bin/scripts/converter.js.map +1 -0
- package/bin/scripts/copy-files.d.ts +1 -0
- package/bin/scripts/copy-files.js +96 -0
- package/bin/scripts/copy-files.js.map +1 -0
- package/bin/scripts/create-folder.d.ts +1 -0
- package/bin/scripts/create-folder.js +23 -0
- package/bin/scripts/create-folder.js.map +1 -0
- package/bin/scripts/delete-paths.d.ts +1 -0
- package/bin/scripts/delete-paths.js +34 -0
- package/bin/scripts/delete-paths.js.map +1 -0
- package/bin/scripts/exists-file.d.ts +5 -0
- package/bin/scripts/exists-file.js +12 -0
- package/bin/scripts/exists-file.js.map +1 -0
- package/bin/scripts/generate-track-artifacts.d.ts +1 -0
- package/bin/scripts/generate-track-artifacts.js +59 -0
- package/bin/scripts/generate-track-artifacts.js.map +1 -0
- package/bin/scripts/get-artifacts.d.ts +1 -0
- package/bin/scripts/get-artifacts.js +38 -0
- package/bin/scripts/get-artifacts.js.map +1 -0
- package/bin/scripts/get-directories.d.ts +1 -0
- package/bin/scripts/get-directories.js +10 -0
- package/bin/scripts/get-directories.js.map +1 -0
- package/bin/scripts/get-file.d.ts +9 -0
- package/bin/scripts/get-file.js +38 -0
- package/bin/scripts/get-file.js.map +1 -0
- package/bin/scripts/labels.d.ts +35 -0
- package/bin/scripts/labels.js +108 -0
- package/bin/scripts/labels.js.map +1 -0
- package/bin/scripts/markdown.d.ts +34 -0
- package/bin/scripts/markdown.js +99 -0
- package/bin/scripts/markdown.js.map +1 -0
- package/bin/scripts/names.d.ts +18 -0
- package/bin/scripts/names.js +64 -0
- package/bin/scripts/names.js.map +1 -0
- package/bin/scripts/track-artifacts.d.ts +2 -0
- package/bin/scripts/track-artifacts.js +101 -0
- package/bin/scripts/track-artifacts.js.map +1 -0
- package/bin/utils/create-folder.d.ts +1 -0
- package/bin/utils/create-folder.js +23 -0
- package/bin/utils/create-folder.js.map +1 -0
- package/bin/utils/delete-markdown-files.d.ts +1 -0
- package/bin/utils/delete-markdown-files.js +46 -0
- package/bin/utils/delete-markdown-files.js.map +1 -0
- package/bin/utils/delete-paths.d.ts +5 -0
- package/bin/utils/delete-paths.js +26 -0
- package/bin/utils/delete-paths.js.map +1 -0
- package/bin/utils/exists-file.d.ts +6 -0
- package/bin/utils/exists-file.js +13 -0
- package/bin/utils/exists-file.js.map +1 -0
- package/bin/utils/exists-folder.d.ts +6 -0
- package/bin/utils/exists-folder.js +13 -0
- package/bin/utils/exists-folder.js.map +1 -0
- package/bin/utils/get-internal-resource-path.d.ts +1 -0
- package/bin/utils/get-internal-resource-path.js +43 -0
- package/bin/utils/get-internal-resource-path.js.map +1 -0
- package/bin/utils/get-json-file.d.ts +1 -0
- package/bin/utils/get-json-file.js +27 -0
- package/bin/utils/get-json-file.js.map +1 -0
- package/bin/utils/index.d.ts +6 -0
- package/bin/utils/index.js +16 -0
- package/bin/utils/index.js.map +1 -0
- package/bin/utils/run-command.d.ts +5 -0
- package/bin/utils/run-command.js +36 -0
- package/bin/utils/run-command.js.map +1 -0
- package/jsdoc.conf.json +30 -0
- package/package.json +75 -0
- package/templates/documentation/README.md +41 -0
- package/templates/documentation/docs/.gitkeep +0 -0
- package/templates/documentation/docusaurus.config.ts +127 -0
- package/templates/documentation/package-lock.json +19431 -0
- package/templates/documentation/package.json +49 -0
- package/templates/documentation/sidebars.ts +33 -0
- package/templates/documentation/src/components/ArtifactTable/FilterBar.tsx +185 -0
- package/templates/documentation/src/components/ArtifactTable/index.tsx +298 -0
- package/templates/documentation/src/components/ArtifactTable/styles.module.css +282 -0
- package/templates/documentation/src/components/ArtifactTable/types.ts +31 -0
- package/templates/documentation/src/components/HomepageFeatures/index.tsx +77 -0
- package/templates/documentation/src/components/HomepageFeatures/styles.module.css +11 -0
- package/templates/documentation/src/css/custom.css +30 -0
- package/templates/documentation/src/pages/index.module.css +23 -0
- package/templates/documentation/src/pages/index.tsx +43 -0
- package/templates/documentation/src/pages/markdown-page.md +7 -0
- package/templates/documentation/static/.nojekyll +0 -0
- package/templates/documentation/static/img/docusaurus-social-card.jpg +0 -0
- package/templates/documentation/static/img/docusaurus.png +0 -0
- package/templates/documentation/static/img/favicon.ico +0 -0
- package/templates/documentation/static/img/logo.svg +1 -0
- package/templates/documentation/static/img/logo_imolko_azul.png +0 -0
- package/templates/documentation/static/img/undraw_docusaurus_mountain.svg +171 -0
- package/templates/documentation/static/img/undraw_docusaurus_react.svg +170 -0
- package/templates/documentation/static/img/undraw_docusaurus_tree.svg +40 -0
- package/templates/documentation/tsconfig.json +8 -0
- package/templates/documentation/ultra-reporter.config.json +55 -0
- package/templates/track-artifacts-script.ts +44 -0
- package/tsconfig.build-track.json +39 -0
|
@@ -0,0 +1,249 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.registerCommandGenerateDocumentation = registerCommandGenerateDocumentation;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const logger_1 = __importDefault(require("../classes/logger"));
|
|
43
|
+
const utils_1 = require("../utils");
|
|
44
|
+
const path_1 = require("path");
|
|
45
|
+
const delete_paths_1 = require("../scripts/delete-paths");
|
|
46
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
47
|
+
const converter_1 = require("../scripts/converter");
|
|
48
|
+
const generate_domain_documentation_1 = require("../reporters/generate-domain-documentation");
|
|
49
|
+
const generate_use_cases_documentation_1 = require("../reporters/generate-use-cases-documentation");
|
|
50
|
+
const types_1 = require("./types");
|
|
51
|
+
// Crear un logger especĆfico para este comando
|
|
52
|
+
const cmdLogger = logger_1.default.createContextLogger('cmd:generate-documentation');
|
|
53
|
+
const DOCUSAURUS_DOMAIN_CONFIG = {
|
|
54
|
+
"label": "Domain Artifacts",
|
|
55
|
+
"position": 2,
|
|
56
|
+
};
|
|
57
|
+
const DOCUSAURUS_AGGEGATES_CONFIG = {
|
|
58
|
+
"label": "Aggregates",
|
|
59
|
+
"position": 1,
|
|
60
|
+
};
|
|
61
|
+
function registerCommandGenerateDocumentation(program) {
|
|
62
|
+
program
|
|
63
|
+
.command('generate-documentation')
|
|
64
|
+
.description('Generate documentation')
|
|
65
|
+
.option("-p, --documentation-path <path>", "Documentation directory", "./documentation")
|
|
66
|
+
.action(async (options) => {
|
|
67
|
+
cmdLogger.info('Starting generate-documentation command');
|
|
68
|
+
cmdLogger.debug('Local options', options);
|
|
69
|
+
// Check if the documentation folder already exists
|
|
70
|
+
const documentationPath = (0, path_1.resolve)(process.cwd(), options.documentationPath);
|
|
71
|
+
if (!(0, utils_1.existsFolder)(documentationPath)) {
|
|
72
|
+
cmdLogger.info('Documentation folder does not exist');
|
|
73
|
+
cmdLogger.debug('Documentation folder path', { path: options.documentationPath });
|
|
74
|
+
cmdLogger.info('Command generate-documentation completed');
|
|
75
|
+
process.exit(0);
|
|
76
|
+
}
|
|
77
|
+
const configFilePath = (0, path_1.resolve)(documentationPath, "ultra-reporter.config.json");
|
|
78
|
+
if (!(0, utils_1.existsFile)(configFilePath)) {
|
|
79
|
+
cmdLogger.error('Configuration file does not exist');
|
|
80
|
+
cmdLogger.info('Command generate-documentation completed');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
const configFile = (await (0, utils_1.getJSONFile)(configFilePath));
|
|
84
|
+
const targets = configFile.targets || [];
|
|
85
|
+
const cmdRoot = __dirname;
|
|
86
|
+
// Clear manifest for fresh regeneration (append-only per target)
|
|
87
|
+
const manifestDir = path.resolve(documentationPath, 'static', 'data');
|
|
88
|
+
const manifestPath = path.resolve(manifestDir, 'artifacts-manifest.json');
|
|
89
|
+
if ((0, utils_1.existsFile)(manifestPath)) {
|
|
90
|
+
fs.unlinkSync(manifestPath);
|
|
91
|
+
}
|
|
92
|
+
for (let i = 0; i < targets.length; i++) {
|
|
93
|
+
const target = targets[i];
|
|
94
|
+
if (target.type === types_1.TargetType.Domain) {
|
|
95
|
+
const cwd = process.cwd();
|
|
96
|
+
const domainSrc = target.domainSrc;
|
|
97
|
+
const contextName = target.contextName;
|
|
98
|
+
const packageRootName = target.packageRoot.match(/\w+/g)?.join("-") || "package-root";
|
|
99
|
+
const artifactsFolderPath = (0, path_1.resolve)(cwd, domainSrc);
|
|
100
|
+
const packageRootPath = (0, path_1.resolve)(cwd, target.packageRoot);
|
|
101
|
+
const documentationDataPath = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName);
|
|
102
|
+
await (0, delete_paths_1.deletePaths)([
|
|
103
|
+
documentationDataPath
|
|
104
|
+
]);
|
|
105
|
+
await (0, utils_1.createFolder)(documentationDataPath);
|
|
106
|
+
const artifactsJsonPath = (0, path_1.resolve)(documentationDataPath, 'artifacts.json');
|
|
107
|
+
// Pre-compiled track script ā no generation or tsc compilation needed
|
|
108
|
+
const trackArtifactsScriptPath = (0, path_1.resolve)(cmdRoot, "../scripts/track-artifacts.js");
|
|
109
|
+
await (0, utils_1.runCommand)(`node ${trackArtifactsScriptPath} ${artifactsFolderPath} ${artifactsJsonPath} ${contextName}`);
|
|
110
|
+
// Generar reporte JSDoc
|
|
111
|
+
const jsdocNameFile = "jsdoc-report.txt";
|
|
112
|
+
const jsdocOutputFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, jsdocNameFile);
|
|
113
|
+
const internalJsdocConfigPath = (0, path_1.resolve)(cmdRoot, "../../jsdoc.conf.json");
|
|
114
|
+
const jsonFile2 = await (0, utils_1.getJSONFile)(internalJsdocConfigPath);
|
|
115
|
+
const includePath = (0, path_1.resolve)(cwd, domainSrc);
|
|
116
|
+
jsonFile2.source.include = [includePath];
|
|
117
|
+
const jsdocConfigPath = (0, path_1.resolve)(packageRootPath, "jsdoc.conf.json");
|
|
118
|
+
await promises_1.default.writeFile(jsdocConfigPath, JSON.stringify(jsonFile2, null, 2));
|
|
119
|
+
await (0, utils_1.runCommand)(`./node_modules/.bin/jsdoc --explain -c ${jsdocConfigPath} > ${jsdocOutputFile}`);
|
|
120
|
+
const testResultsPath = (0, path_1.resolve)(cwd, target.testsResultFile);
|
|
121
|
+
const testResultsFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, "ctfr-test-results.json");
|
|
122
|
+
if ((0, utils_1.existsFile)(testResultsPath)) {
|
|
123
|
+
const testResults = await (0, utils_1.getJSONFile)(testResultsPath);
|
|
124
|
+
await promises_1.default.writeFile(testResultsFile, JSON.stringify(testResults, null, 2));
|
|
125
|
+
const newTestResultsFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, "test-results.json");
|
|
126
|
+
(0, converter_1.convertTestJsonFormat)(testResultsFile, newTestResultsFile);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
const emptyTestResults = {
|
|
130
|
+
"numFailedTestSuites": 0,
|
|
131
|
+
"numFailedTests": 0,
|
|
132
|
+
"numPassedTestSuites": 0,
|
|
133
|
+
"numPassedTests": 0,
|
|
134
|
+
"numPendingTestSuites": 0,
|
|
135
|
+
"numPendingTests": 0,
|
|
136
|
+
"numRuntimeErrorTestSuites": 0,
|
|
137
|
+
"numTodoTests": 0,
|
|
138
|
+
"numTotalTestSuites": 400,
|
|
139
|
+
"numTotalTests": 0,
|
|
140
|
+
"startTime": 0,
|
|
141
|
+
"success": true,
|
|
142
|
+
"testResults": []
|
|
143
|
+
};
|
|
144
|
+
await promises_1.default.writeFile(testResultsFile, JSON.stringify(emptyTestResults, null, 2));
|
|
145
|
+
}
|
|
146
|
+
// Clean up temporary config file
|
|
147
|
+
await (0, delete_paths_1.deletePaths)([
|
|
148
|
+
jsdocConfigPath
|
|
149
|
+
]);
|
|
150
|
+
const domainTabName = target.docusaurus?.domain?.name || 'domain';
|
|
151
|
+
const docusaurusDomainPath = (0, path_1.resolve)(documentationPath, "docs", domainTabName);
|
|
152
|
+
let categoryConfigPath = (0, path_1.resolve)(docusaurusDomainPath, "_category_.json");
|
|
153
|
+
let categoryConfig = target.docusaurus?.domain?.config ? target.docusaurus.domain.config : DOCUSAURUS_DOMAIN_CONFIG;
|
|
154
|
+
await (0, delete_paths_1.deletePaths)([docusaurusDomainPath]);
|
|
155
|
+
await (0, utils_1.createFolder)(docusaurusDomainPath);
|
|
156
|
+
await promises_1.default.writeFile(categoryConfigPath, JSON.stringify(categoryConfig, null, 2));
|
|
157
|
+
const aggregatesTabName = target.docusaurus?.aggregates?.name || 'aggregates';
|
|
158
|
+
const docusaurusAggregatesPath = (0, path_1.resolve)(documentationPath, "docs", aggregatesTabName);
|
|
159
|
+
categoryConfigPath = (0, path_1.resolve)(docusaurusAggregatesPath, "_category_.json");
|
|
160
|
+
categoryConfig = target.docusaurus?.aggregates?.config ? target.docusaurus.aggregates.config : DOCUSAURUS_AGGEGATES_CONFIG;
|
|
161
|
+
await (0, delete_paths_1.deletePaths)([docusaurusAggregatesPath]);
|
|
162
|
+
await (0, utils_1.createFolder)(docusaurusAggregatesPath);
|
|
163
|
+
await promises_1.default.writeFile(categoryConfigPath, JSON.stringify(categoryConfig, null, 2));
|
|
164
|
+
await (0, generate_domain_documentation_1.generateDomainDocumentation)({
|
|
165
|
+
packageRootName,
|
|
166
|
+
contextName,
|
|
167
|
+
documentationPath,
|
|
168
|
+
domainPath: artifactsFolderPath,
|
|
169
|
+
domainTabName,
|
|
170
|
+
aggregateTabName: aggregatesTabName,
|
|
171
|
+
templateDir: (0, path_1.resolve)(cmdRoot, "../reporters/templates"),
|
|
172
|
+
repoSourceUrl: configFile.repoSourceUrl,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else if (target.type === types_1.TargetType.UseCases) {
|
|
176
|
+
const cwd = process.cwd();
|
|
177
|
+
const useCasesSrc = target.useCasesSrc;
|
|
178
|
+
const title = target.title;
|
|
179
|
+
const packageRootName = target.packageRoot.match(/\w+/g)?.join("-") || "package-root";
|
|
180
|
+
const documentationDataPath = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName);
|
|
181
|
+
await (0, delete_paths_1.deletePaths)([
|
|
182
|
+
documentationDataPath
|
|
183
|
+
]);
|
|
184
|
+
await (0, utils_1.createFolder)(documentationDataPath);
|
|
185
|
+
// Generar reporte JSDoc
|
|
186
|
+
const jsdocNameFile = "jsdoc-report.txt";
|
|
187
|
+
console.log({ documentationPath, packageRootName, jsdocNameFile });
|
|
188
|
+
const jsdocOutputFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, jsdocNameFile);
|
|
189
|
+
const internalJsdocConfigPath = (0, path_1.resolve)(cmdRoot, "../../jsdoc.conf.json");
|
|
190
|
+
const jsonFile2 = await (0, utils_1.getJSONFile)(internalJsdocConfigPath);
|
|
191
|
+
const includePath = (0, path_1.resolve)(cwd, useCasesSrc);
|
|
192
|
+
jsonFile2.source.include = [includePath];
|
|
193
|
+
const packageRootPath = (0, path_1.resolve)(cwd, target.packageRoot);
|
|
194
|
+
const jsdocConfigPath = (0, path_1.resolve)(packageRootPath, "jsdoc.conf.json");
|
|
195
|
+
await promises_1.default.writeFile(jsdocConfigPath, JSON.stringify(jsonFile2, null, 2));
|
|
196
|
+
await (0, utils_1.runCommand)(`./node_modules/.bin/jsdoc --explain -c ${jsdocConfigPath} > ${jsdocOutputFile}`);
|
|
197
|
+
const testResultsPath = (0, path_1.resolve)(cwd, target.testsResultFile);
|
|
198
|
+
const testResultsFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, "ctfr-test-results.json");
|
|
199
|
+
if ((0, utils_1.existsFile)(testResultsPath)) {
|
|
200
|
+
const testResults = await (0, utils_1.getJSONFile)(testResultsPath);
|
|
201
|
+
await promises_1.default.writeFile(testResultsFile, JSON.stringify(testResults, null, 2));
|
|
202
|
+
const newTestResultsFile = (0, path_1.resolve)(documentationPath, ".data-generated", packageRootName, "test-results.json");
|
|
203
|
+
(0, converter_1.convertTestJsonFormat)(testResultsFile, newTestResultsFile);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const emptyTestResults = {
|
|
207
|
+
"numFailedTestSuites": 0,
|
|
208
|
+
"numFailedTests": 0,
|
|
209
|
+
"numPassedTestSuites": 0,
|
|
210
|
+
"numPassedTests": 0,
|
|
211
|
+
"numPendingTestSuites": 0,
|
|
212
|
+
"numPendingTests": 0,
|
|
213
|
+
"numRuntimeErrorTestSuites": 0,
|
|
214
|
+
"numTodoTests": 0,
|
|
215
|
+
"numTotalTestSuites": 400,
|
|
216
|
+
"numTotalTests": 0,
|
|
217
|
+
"startTime": 0,
|
|
218
|
+
"success": true,
|
|
219
|
+
"testResults": []
|
|
220
|
+
};
|
|
221
|
+
await promises_1.default.writeFile(testResultsFile, JSON.stringify(emptyTestResults, null, 2));
|
|
222
|
+
}
|
|
223
|
+
// Clean up temporary config file
|
|
224
|
+
await (0, delete_paths_1.deletePaths)([
|
|
225
|
+
jsdocConfigPath
|
|
226
|
+
]);
|
|
227
|
+
const useCasesTabName = target.docusaurus?.useCases?.name || 'use-cases';
|
|
228
|
+
const docusaurusUseCasesPath = (0, path_1.resolve)(documentationPath, "docs", useCasesTabName);
|
|
229
|
+
let categoryConfigPath = (0, path_1.resolve)(docusaurusUseCasesPath, "_category_.json");
|
|
230
|
+
let categoryConfig = target.docusaurus?.useCases?.config ? target.docusaurus.useCases.config : DOCUSAURUS_DOMAIN_CONFIG;
|
|
231
|
+
await (0, delete_paths_1.deletePaths)([docusaurusUseCasesPath]);
|
|
232
|
+
await (0, utils_1.createFolder)(docusaurusUseCasesPath);
|
|
233
|
+
await promises_1.default.writeFile(categoryConfigPath, JSON.stringify(categoryConfig, null, 2));
|
|
234
|
+
const useCasesFolderPath = (0, path_1.resolve)(cwd, useCasesSrc);
|
|
235
|
+
await (0, generate_use_cases_documentation_1.generateUseCasesDocumentation)({
|
|
236
|
+
packageRootName,
|
|
237
|
+
title,
|
|
238
|
+
documentationPath,
|
|
239
|
+
useCasesPath: useCasesFolderPath,
|
|
240
|
+
useCasesTabName,
|
|
241
|
+
templateDir: (0, path_1.resolve)(cmdRoot, "../reporters/templates"),
|
|
242
|
+
cwd,
|
|
243
|
+
repoSourceUrl: configFile.repoSourceUrl,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=generate-documentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-documentation.js","sourceRoot":"","sources":["../../src/commands/generate-documentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// generate command ā generate docs only, no dev server
|
|
4
|
+
//
|
|
5
|
+
// For CI/CD pipelines:
|
|
6
|
+
// ultra-reporter generate
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.registerCommandGenerate = registerCommandGenerate;
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const path_1 = require("path");
|
|
48
|
+
const logger_1 = __importDefault(require("../classes/logger"));
|
|
49
|
+
const reader_1 = require("../config/reader");
|
|
50
|
+
const generate_1 = require("../pipeline/generate");
|
|
51
|
+
const cmdLogger = logger_1.default.createContextLogger('cmd:generate');
|
|
52
|
+
function registerCommandGenerate(program) {
|
|
53
|
+
program
|
|
54
|
+
.command('generate')
|
|
55
|
+
.description('Generate documentation without starting a server')
|
|
56
|
+
.action(async () => {
|
|
57
|
+
cmdLogger.info('Starting generate command');
|
|
58
|
+
const cwd = process.cwd();
|
|
59
|
+
// Find config
|
|
60
|
+
const configPath = (0, reader_1.findConfig)(cwd);
|
|
61
|
+
if (!configPath) {
|
|
62
|
+
cmdLogger.error('No ultra-reporter.config.json found. Run "npx @imolko/create-ultra-reporter create" first.');
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
const configDir = path.dirname(configPath);
|
|
66
|
+
const cmdRoot = (0, path_1.resolve)(__dirname, '..');
|
|
67
|
+
try {
|
|
68
|
+
await (0, generate_1.generateAllDocs)(configDir, cmdRoot);
|
|
69
|
+
cmdLogger.info('Documentation generated successfully!');
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
cmdLogger.error('Failed to generate documentation', {
|
|
73
|
+
message: err instanceof Error ? err.message : String(err),
|
|
74
|
+
});
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,EAAE;AACF,uBAAuB;AACvB,4BAA4B;AAC5B,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAW9E,0DA+BC;AAvCD,2CAA6B;AAC7B,+BAA+B;AAC/B,+DAAuC;AACvC,6CAA8C;AAC9C,mDAAuD;AAEvD,MAAM,SAAS,GAAG,gBAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;AAE7D,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,cAAc;QACd,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS,CAAC,KAAK,CACb,4FAA4F,CAC7F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,IAAA,0BAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBAClD,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { registerCommandInit } from "./init";
|
|
2
|
+
export { registerCommandGenerateDocumentation } from "./generate-documentation";
|
|
3
|
+
export { registerCommandCreate } from "./create";
|
|
4
|
+
export { registerCommandServe } from "./serve";
|
|
5
|
+
export { registerCommandGenerate } from "./generate";
|
|
6
|
+
export { registerCommandBuild } from "./build";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommandBuild = exports.registerCommandGenerate = exports.registerCommandServe = exports.registerCommandCreate = exports.registerCommandGenerateDocumentation = exports.registerCommandInit = void 0;
|
|
4
|
+
var init_1 = require("./init");
|
|
5
|
+
Object.defineProperty(exports, "registerCommandInit", { enumerable: true, get: function () { return init_1.registerCommandInit; } });
|
|
6
|
+
var generate_documentation_1 = require("./generate-documentation");
|
|
7
|
+
Object.defineProperty(exports, "registerCommandGenerateDocumentation", { enumerable: true, get: function () { return generate_documentation_1.registerCommandGenerateDocumentation; } });
|
|
8
|
+
var create_1 = require("./create");
|
|
9
|
+
Object.defineProperty(exports, "registerCommandCreate", { enumerable: true, get: function () { return create_1.registerCommandCreate; } });
|
|
10
|
+
var serve_1 = require("./serve");
|
|
11
|
+
Object.defineProperty(exports, "registerCommandServe", { enumerable: true, get: function () { return serve_1.registerCommandServe; } });
|
|
12
|
+
var generate_1 = require("./generate");
|
|
13
|
+
Object.defineProperty(exports, "registerCommandGenerate", { enumerable: true, get: function () { return generate_1.registerCommandGenerate; } });
|
|
14
|
+
var build_1 = require("./build");
|
|
15
|
+
Object.defineProperty(exports, "registerCommandBuild", { enumerable: true, get: function () { return build_1.registerCommandBuild; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAAnC,2GAAA,mBAAmB,OAAA;AAC5B,mEAA+E;AAAtE,8IAAA,oCAAoC,OAAA;AAC7C,mCAAgD;AAAvC,+GAAA,qBAAqB,OAAA;AAC9B,iCAA8C;AAArC,6GAAA,oBAAoB,OAAA;AAC7B,uCAAoD;AAA3C,mHAAA,uBAAuB,OAAA;AAChC,iCAA8C;AAArC,6GAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.registerCommandInit = registerCommandInit;
|
|
7
|
+
const logger_1 = __importDefault(require("../classes/logger"));
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
// Crear un logger especĆfico para este comando
|
|
11
|
+
const cmdLogger = logger_1.default.createContextLogger('cmd:init');
|
|
12
|
+
function registerCommandInit(program) {
|
|
13
|
+
program
|
|
14
|
+
.command('init')
|
|
15
|
+
.description('initialize documentation repository')
|
|
16
|
+
.option("-p, --documentation-path <path>", "Documentation directory", "./documentation")
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
cmdLogger.info('Starting init command');
|
|
19
|
+
cmdLogger.debug('Local options', options);
|
|
20
|
+
// validate options
|
|
21
|
+
if (!options.documentationPath) {
|
|
22
|
+
cmdLogger.error('Documentation path is required');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
// Check if the documentation folder already exists
|
|
26
|
+
if ((0, utils_1.existsFolder)(options.documentationPath)) {
|
|
27
|
+
cmdLogger.info('Documentation folder already exists');
|
|
28
|
+
cmdLogger.debug('Documentation folder path', { path: options.documentationPath });
|
|
29
|
+
cmdLogger.info('Command Init completed');
|
|
30
|
+
process.exit(0);
|
|
31
|
+
}
|
|
32
|
+
// Create documentation folder
|
|
33
|
+
cmdLogger.info('Creating documentation folder');
|
|
34
|
+
cmdLogger.debug('Documentation folder path', { path: options.documentationPath });
|
|
35
|
+
try {
|
|
36
|
+
const cmdRoot = __dirname;
|
|
37
|
+
const templateDocumentationFolderPath = "../../templates/documentation";
|
|
38
|
+
const templateDocumentationFolder = (0, path_1.resolve)(cmdRoot, templateDocumentationFolderPath);
|
|
39
|
+
cmdLogger.debug('Template documentation folder', { templateDocumentationFolder });
|
|
40
|
+
const copyFilesScriptPath = (0, path_1.resolve)(cmdRoot, "../scripts/copy-files.js");
|
|
41
|
+
cmdLogger.debug('Copy files script path', { copyFilesScriptPath });
|
|
42
|
+
await (0, utils_1.runCommand)(`node ${copyFilesScriptPath} ${templateDocumentationFolder} ${options.documentationPath}`);
|
|
43
|
+
cmdLogger.info('Command Init completed');
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
cmdLogger.error('Error in command Init', {
|
|
47
|
+
message: error instanceof Error ? error.message : String(error),
|
|
48
|
+
stack: error instanceof Error ? error.stack : undefined
|
|
49
|
+
});
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAYA,kDA4CC;AAvDD,+DAAsC;AACtC,oCAAoD;AACpD,+BAA+B;AAE/B,+CAA+C;AAC/C,MAAM,SAAS,GAAG,gBAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAMzD,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CACL,iCAAiC,EACjC,yBAAyB,EACzB,iBAAiB,CAClB;SACA,MAAM,CAAC,KAAK,EAAE,OAAwB,EAAE,EAAE;QACzC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1C,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC/B,SAAS,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,mDAAmD;QACnD,IAAI,IAAA,oBAAY,EAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACtD,SAAS,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAClF,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,8BAA8B;QAC9B,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,SAAS,CAAC;YAC1B,MAAM,+BAA+B,GAAG,+BAA+B,CAAC;YACxE,MAAM,2BAA2B,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;YACtF,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAClF,MAAM,mBAAmB,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACzE,SAAS,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,MAAM,IAAA,kBAAU,EAAC,QAAQ,mBAAmB,IAAI,2BAA2B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC5G,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACvC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// serve command ā generate docs, assemble Docusaurus, start dev server
|
|
4
|
+
//
|
|
5
|
+
// Single command for daily development:
|
|
6
|
+
// ultra-reporter serve [--port 3000] [--full]
|
|
7
|
+
//
|
|
8
|
+
// Watches source files and regenerates on change (debounced 500ms).
|
|
9
|
+
// Lazy-installs Docusaurus deps on first run.
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.registerCommandServe = registerCommandServe;
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
const path_1 = require("path");
|
|
51
|
+
const child_process_1 = require("child_process");
|
|
52
|
+
const logger_1 = __importDefault(require("../classes/logger"));
|
|
53
|
+
const reader_1 = require("../config/reader");
|
|
54
|
+
const assembler_1 = require("../scaffold/assembler");
|
|
55
|
+
const doc_assembler_1 = require("../scaffold/doc-assembler");
|
|
56
|
+
const generate_1 = require("../pipeline/generate");
|
|
57
|
+
const utils_1 = require("../utils");
|
|
58
|
+
const cmdLogger = logger_1.default.createContextLogger('cmd:serve');
|
|
59
|
+
/** Promise wrapper around child_process.exec. */
|
|
60
|
+
function execPromise(command, options) {
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
(0, child_process_1.exec)(command, { ...options }, (error, stdout, stderr) => {
|
|
63
|
+
if (error) {
|
|
64
|
+
reject(stderr || error.message);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
resolve(stdout);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function registerCommandServe(program) {
|
|
72
|
+
program
|
|
73
|
+
.command('serve')
|
|
74
|
+
.description('Generate documentation and start the dev server')
|
|
75
|
+
.option('--port <port>', 'Port to serve on', '3000')
|
|
76
|
+
.option('--full', 'Force full regeneration including JSDoc extraction', false)
|
|
77
|
+
.action(async (options) => {
|
|
78
|
+
cmdLogger.info('Starting serve command');
|
|
79
|
+
const cwd = process.cwd();
|
|
80
|
+
// Find config
|
|
81
|
+
const configPath = (0, reader_1.findConfig)(cwd);
|
|
82
|
+
if (!configPath) {
|
|
83
|
+
cmdLogger.error('No ultra-reporter.config.json found. Run "npx @imolko/create-ultra-reporter create" first.');
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
const configDir = path.dirname(configPath);
|
|
87
|
+
const docusaurusDir = path.resolve(configDir, '.ultra-reporter', 'docusaurus');
|
|
88
|
+
const cmdRoot = (0, path_1.resolve)(__dirname, '..');
|
|
89
|
+
// 1. Assemble/update Docusaurus scaffold if needed
|
|
90
|
+
const libraryTemplateDir = (0, path_1.resolve)(cmdRoot, '../templates/documentation');
|
|
91
|
+
(0, assembler_1.assembleScaffold)(configDir, libraryTemplateDir);
|
|
92
|
+
// 2. Lazy npm install inside Docusaurus dir
|
|
93
|
+
if (!(0, utils_1.existsFolder)(path.join(docusaurusDir, 'node_modules'))) {
|
|
94
|
+
cmdLogger.info('Installing Docusaurus dependencies (first run)...');
|
|
95
|
+
try {
|
|
96
|
+
await execPromise('npm install', { cwd: docusaurusDir });
|
|
97
|
+
cmdLogger.info('Dependencies installed.');
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
cmdLogger.error('Failed to install Docusaurus dependencies');
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// 3. Generate docs
|
|
105
|
+
cmdLogger.info('Generating documentation...');
|
|
106
|
+
await (0, generate_1.generateAllDocs)(configDir, cmdRoot);
|
|
107
|
+
// 4. Assemble docs into Docusaurus
|
|
108
|
+
(0, doc_assembler_1.assembleDocs)(configDir);
|
|
109
|
+
// 5. Start Docusaurus dev server
|
|
110
|
+
const port = options.port || '3000';
|
|
111
|
+
cmdLogger.info(`Starting documentation server on port ${port}...`);
|
|
112
|
+
console.log(`\nš Documentation server starting at http://localhost:${port}\n`);
|
|
113
|
+
const docusaurusStart = (0, child_process_1.exec)(`npx docusaurus start --port ${port} --no-open`, { cwd: docusaurusDir });
|
|
114
|
+
docusaurusStart.stdout?.pipe(process.stdout);
|
|
115
|
+
docusaurusStart.stderr?.pipe(process.stderr);
|
|
116
|
+
docusaurusStart.on('exit', (code) => {
|
|
117
|
+
if (code !== 0) {
|
|
118
|
+
cmdLogger.error(`Docusaurus exited with code ${code}`);
|
|
119
|
+
process.exit(code || 1);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|