powerautodoc 0.1.30 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +205 -102
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +27 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +70 -0
- package/dist/logger.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function main(configDir?: string): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiEA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyP5D"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,56 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
2
4
|
import { loadConfig } from './config/index.js';
|
|
3
5
|
import { parseSolution, parseSolutionManifest, parseAllFlows, parseClassicWorkflows, parseBusinessRules, parseAllPlugins, parseAllWebResources, parseSecurityRoles, parseEnvironmentVariables, parseConnectionReferences, parseGlobalChoices, parseEmailTemplates, parseModelDrivenApps } from './parsers/index.js';
|
|
4
6
|
import { writeTableMarkdown, writeOverviewMarkdown, writeFlowMarkdown, writePluginMarkdown, writeWebResourceMarkdown } from './renderers/index.js';
|
|
5
7
|
import { publishToWiki } from './publisher/wikiPublisher.js';
|
|
6
8
|
import { buildWikiPages } from './publisher/wikiAssembler.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
import { log, logHeader, logSummary, createSummary } from './logger.js';
|
|
10
|
+
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
11
|
+
/**
|
|
12
|
+
* Wraps a parser call in a try/catch.
|
|
13
|
+
* On failure: logs a warning, records it in the summary, returns the fallback value.
|
|
14
|
+
*/
|
|
15
|
+
function tryParse(component, solutionName, fallback, summary, fn) {
|
|
16
|
+
try {
|
|
17
|
+
return fn();
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
const reason = err?.message ?? String(err);
|
|
21
|
+
log('warn', `${component} parser failed — ${reason}`);
|
|
22
|
+
summary.parseWarnings.push({ solution: solutionName, component, reason });
|
|
23
|
+
return fallback;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validates a solution folder exists and has the expected structure.
|
|
28
|
+
* Returns an actionable error message or null if valid.
|
|
29
|
+
*/
|
|
30
|
+
function validateSolutionPath(unpackedPath) {
|
|
31
|
+
if (!fs.existsSync(unpackedPath)) {
|
|
32
|
+
return `Folder not found: ${unpackedPath}\n → Has the solution been unpacked? Run: pac solution unpack --zipfile MySolution.zip --folder ${unpackedPath}`;
|
|
33
|
+
}
|
|
34
|
+
const solutionXml = path.join(unpackedPath, 'Other', 'solution.xml');
|
|
35
|
+
if (!fs.existsSync(solutionXml)) {
|
|
36
|
+
return `No Other/solution.xml found in: ${unpackedPath}\n → This doesn't look like a pac-unpacked solution folder`;
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// ── Main ──────────────────────────────────────────────────────────────────────
|
|
41
|
+
export async function main(configDir) {
|
|
42
|
+
const summary = createSummary();
|
|
43
|
+
// ---- Load config ----
|
|
44
|
+
let config;
|
|
45
|
+
try {
|
|
46
|
+
config = loadConfig(configDir ?? process.env.DOC_GEN_CONFIG_DIR ?? process.cwd());
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
console.error(`✗ Failed to load config: ${err.message}`);
|
|
50
|
+
console.error(' → Is doc-gen.config.yml present in the current directory?');
|
|
51
|
+
console.error(' → Or set DOC_GEN_CONFIG_DIR to its location.');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
9
54
|
const { path: outputPath } = config.output;
|
|
10
55
|
let mergedSolution = null;
|
|
11
56
|
const allSolutions = [];
|
|
@@ -20,119 +65,177 @@ async function main() {
|
|
|
20
65
|
const allEmailTemplates = [];
|
|
21
66
|
const allModelDrivenApps = [];
|
|
22
67
|
const allConnectionReferences = [];
|
|
68
|
+
// ---- Process each solution ----
|
|
23
69
|
for (const solutionEntry of config.solutions) {
|
|
24
70
|
const { path: unpackedPath, publisherPrefix } = solutionEntry;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Always parse the manifest so every solution appears in the Overview
|
|
34
|
-
const manifest = parseSolutionManifest(unpackedPath);
|
|
35
|
-
// ---- Data model ----
|
|
36
|
-
const tables = parseSolution(unpackedPath, solConfig, publisherPrefix);
|
|
37
|
-
manifest.tables = tables;
|
|
38
|
-
if (!mergedSolution) {
|
|
39
|
-
mergedSolution = manifest;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
mergedSolution.tables = [...mergedSolution.tables, ...tables];
|
|
71
|
+
const solutionLabel = solutionEntry.displayName ?? unpackedPath;
|
|
72
|
+
logHeader(`Processing: ${solutionLabel}`);
|
|
73
|
+
// Validate folder before attempting any parse
|
|
74
|
+
const pathError = validateSolutionPath(unpackedPath);
|
|
75
|
+
if (pathError) {
|
|
76
|
+
log('error', pathError);
|
|
77
|
+
summary.solutionsSkipped.push({ name: solutionLabel, reason: pathError.split('\n')[0] });
|
|
78
|
+
continue;
|
|
43
79
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
80
|
+
// Wrap entire solution in try/catch — skip and continue on unexpected failure
|
|
81
|
+
try {
|
|
82
|
+
const solConfig = { ...config, solution: { unpackedPath, publisherPrefix } };
|
|
83
|
+
// Manifest — if this fails the solution is unreadable, skip it
|
|
84
|
+
const manifest = tryParse('Manifest', solutionLabel, null, summary, () => parseSolutionManifest(unpackedPath));
|
|
85
|
+
if (!manifest) {
|
|
86
|
+
summary.solutionsSkipped.push({ name: solutionLabel, reason: 'Manifest parse failed' });
|
|
87
|
+
continue;
|
|
48
88
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
console.log(` Parsed ${rules.length} business rules from: ${unpackedPath}`);
|
|
56
|
-
}
|
|
57
|
-
// ---- Modern Flows ----
|
|
58
|
-
if (config.components.flows) {
|
|
59
|
-
const flows = parseAllFlows(unpackedPath);
|
|
60
|
-
allFlows.push(...flows);
|
|
61
|
-
writeFlowMarkdown(flows, outputPath);
|
|
62
|
-
console.log(` Parsed ${flows.length} flows from: ${unpackedPath}`);
|
|
63
|
-
}
|
|
64
|
-
// ---- Classic Workflows ----
|
|
65
|
-
if (config.components.classicWorkflows) {
|
|
66
|
-
const classicWfs = parseClassicWorkflows(unpackedPath);
|
|
67
|
-
allClassicWorkflows.push(...classicWfs);
|
|
68
|
-
console.log(` Parsed ${classicWfs.length} classic workflows from: ${unpackedPath}`);
|
|
69
|
-
}
|
|
70
|
-
// ---- Plugins ----
|
|
71
|
-
if (config.components.plugins) {
|
|
72
|
-
const assemblies = parseAllPlugins(unpackedPath);
|
|
73
|
-
allPluginAssemblies.push(...assemblies);
|
|
74
|
-
writePluginMarkdown(assemblies, outputPath);
|
|
75
|
-
console.log(` Parsed ${assemblies.length} plugin assemblies from: ${unpackedPath}`);
|
|
76
|
-
}
|
|
77
|
-
// ---- Web Resources ----
|
|
78
|
-
if (config.components.webResources) {
|
|
79
|
-
const webResources = parseAllWebResources(unpackedPath);
|
|
80
|
-
allWebResources.push(...webResources);
|
|
81
|
-
writeWebResourceMarkdown(webResources, outputPath);
|
|
82
|
-
console.log(` Parsed ${webResources.length} web resources from: ${unpackedPath}`);
|
|
83
|
-
}
|
|
84
|
-
// ---- Security Roles ----
|
|
85
|
-
if (config.components.securityRoles) {
|
|
86
|
-
const roles = parseSecurityRoles(unpackedPath, publisherPrefix);
|
|
87
|
-
allSecurityRoles.push(...roles);
|
|
88
|
-
console.log(` Parsed ${roles.length} security roles from: ${unpackedPath}`);
|
|
89
|
-
}
|
|
90
|
-
// ---- Global Choices ----
|
|
91
|
-
if (config.components.globalChoices) {
|
|
92
|
-
const choices = parseGlobalChoices(unpackedPath, publisherPrefix);
|
|
93
|
-
allGlobalChoices.push(...choices);
|
|
94
|
-
if (choices.length > 0) {
|
|
95
|
-
console.log(` Parsed ${choices.length} global choices from: ${unpackedPath}`);
|
|
89
|
+
// ---- Data model ----
|
|
90
|
+
const tables = tryParse('Tables', solutionLabel, [], summary, () => parseSolution(unpackedPath, solConfig, publisherPrefix));
|
|
91
|
+
manifest.tables = tables;
|
|
92
|
+
log('success', `Tables: ${tables.length} entities`);
|
|
93
|
+
if (!mergedSolution) {
|
|
94
|
+
mergedSolution = manifest;
|
|
96
95
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (config.components.environmentVariables.enabled) {
|
|
100
|
-
const envVars = parseEnvironmentVariables(unpackedPath);
|
|
101
|
-
allEnvVars.push(...envVars);
|
|
102
|
-
if (envVars.length > 0) {
|
|
103
|
-
console.log(` Parsed ${envVars.length} environment variables from: ${unpackedPath}`);
|
|
96
|
+
else {
|
|
97
|
+
mergedSolution.tables = [...mergedSolution.tables, ...tables];
|
|
104
98
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (refs.length > 0) {
|
|
111
|
-
console.log(` Parsed ${refs.length} connection references from: ${unpackedPath}`);
|
|
99
|
+
writeOverviewMarkdown(manifest, outputPath);
|
|
100
|
+
if (config.components.tables) {
|
|
101
|
+
for (const table of tables) {
|
|
102
|
+
writeTableMarkdown(table, `${outputPath}/tables`, solConfig);
|
|
103
|
+
}
|
|
112
104
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
105
|
+
allSolutions.push(manifest);
|
|
106
|
+
// ---- Business Rules ----
|
|
107
|
+
const rules = tryParse('Business Rules', solutionLabel, [], summary, () => parseBusinessRules(unpackedPath));
|
|
108
|
+
allBusinessRules.push(...rules);
|
|
109
|
+
if (rules.length > 0)
|
|
110
|
+
log('success', `Business Rules: ${rules.length}`);
|
|
111
|
+
// ---- Modern Flows ----
|
|
112
|
+
if (config.components.flows) {
|
|
113
|
+
const flows = tryParse('Flows', solutionLabel, [], summary, () => parseAllFlows(unpackedPath));
|
|
114
|
+
allFlows.push(...flows);
|
|
115
|
+
writeFlowMarkdown(flows, outputPath);
|
|
116
|
+
log('success', `Flows: ${flows.length}`);
|
|
120
117
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
118
|
+
// ---- Classic Workflows ----
|
|
119
|
+
if (config.components.classicWorkflows) {
|
|
120
|
+
const classicWfs = tryParse('Classic Workflows', solutionLabel, [], summary, () => parseClassicWorkflows(unpackedPath));
|
|
121
|
+
allClassicWorkflows.push(...classicWfs);
|
|
122
|
+
if (classicWfs.length > 0)
|
|
123
|
+
log('success', `Classic Workflows: ${classicWfs.length}`);
|
|
124
|
+
}
|
|
125
|
+
// ---- Plugins ----
|
|
126
|
+
if (config.components.plugins) {
|
|
127
|
+
const assemblies = tryParse('Plugins', solutionLabel, [], summary, () => parseAllPlugins(unpackedPath));
|
|
128
|
+
allPluginAssemblies.push(...assemblies);
|
|
129
|
+
writePluginMarkdown(assemblies, outputPath);
|
|
130
|
+
if (assemblies.length > 0)
|
|
131
|
+
log('success', `Plugin Assemblies: ${assemblies.length}`);
|
|
132
|
+
}
|
|
133
|
+
// ---- Web Resources ----
|
|
134
|
+
if (config.components.webResources) {
|
|
135
|
+
const webResources = tryParse('Web Resources', solutionLabel, [], summary, () => parseAllWebResources(unpackedPath));
|
|
136
|
+
allWebResources.push(...webResources);
|
|
137
|
+
writeWebResourceMarkdown(webResources, outputPath);
|
|
138
|
+
if (webResources.length > 0)
|
|
139
|
+
log('success', `Web Resources: ${webResources.length}`);
|
|
140
|
+
}
|
|
141
|
+
// ---- Security Roles ----
|
|
142
|
+
if (config.components.securityRoles) {
|
|
143
|
+
const roles = tryParse('Security Roles', solutionLabel, [], summary, () => parseSecurityRoles(unpackedPath, publisherPrefix));
|
|
144
|
+
allSecurityRoles.push(...roles);
|
|
145
|
+
if (roles.length > 0)
|
|
146
|
+
log('success', `Security Roles: ${roles.length}`);
|
|
147
|
+
}
|
|
148
|
+
// ---- Global Choices ----
|
|
149
|
+
if (config.components.globalChoices) {
|
|
150
|
+
const choices = tryParse('Global Choices', solutionLabel, [], summary, () => parseGlobalChoices(unpackedPath, publisherPrefix));
|
|
151
|
+
allGlobalChoices.push(...choices);
|
|
152
|
+
if (choices.length > 0)
|
|
153
|
+
log('success', `Global Choices: ${choices.length}`);
|
|
154
|
+
}
|
|
155
|
+
// ---- Environment Variables ----
|
|
156
|
+
if (config.components.environmentVariables.enabled) {
|
|
157
|
+
const envVars = tryParse('Environment Variables', solutionLabel, [], summary, () => parseEnvironmentVariables(unpackedPath));
|
|
158
|
+
allEnvVars.push(...envVars);
|
|
159
|
+
if (envVars.length > 0)
|
|
160
|
+
log('success', `Environment Variables: ${envVars.length}`);
|
|
161
|
+
}
|
|
162
|
+
// ---- Connection References ----
|
|
163
|
+
if (config.components.connectionReferences) {
|
|
164
|
+
const refs = tryParse('Connection References', solutionLabel, [], summary, () => parseConnectionReferences(unpackedPath));
|
|
165
|
+
allConnectionReferences.push(...refs);
|
|
166
|
+
if (refs.length > 0)
|
|
167
|
+
log('success', `Connection References: ${refs.length}`);
|
|
168
|
+
}
|
|
169
|
+
// ---- Email Templates ----
|
|
170
|
+
if (config.components.emailTemplates) {
|
|
171
|
+
const emailTemplates = tryParse('Email Templates', solutionLabel, [], summary, () => parseEmailTemplates(unpackedPath));
|
|
172
|
+
allEmailTemplates.push(...emailTemplates);
|
|
173
|
+
if (emailTemplates.length > 0)
|
|
174
|
+
log('success', `Email Templates: ${emailTemplates.length}`);
|
|
128
175
|
}
|
|
176
|
+
// ---- Model-Driven Apps ----
|
|
177
|
+
if (config.components.modelDrivenApps) {
|
|
178
|
+
const apps = tryParse('Model-Driven Apps', solutionLabel, [], summary, () => parseModelDrivenApps(unpackedPath, publisherPrefix));
|
|
179
|
+
allModelDrivenApps.push(...apps);
|
|
180
|
+
if (apps.length > 0)
|
|
181
|
+
log('success', `Model-Driven Apps: ${apps.length}`);
|
|
182
|
+
}
|
|
183
|
+
summary.solutionsProcessed++;
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
const reason = err?.message ?? String(err);
|
|
187
|
+
log('error', `Unexpected failure — ${reason}`);
|
|
188
|
+
summary.solutionsSkipped.push({ name: solutionLabel, reason });
|
|
129
189
|
}
|
|
130
190
|
}
|
|
131
191
|
// ---- Wiki publish ----
|
|
132
192
|
if (config.wiki && mergedSolution) {
|
|
133
|
-
|
|
134
|
-
|
|
193
|
+
if (allSolutions.length === 0) {
|
|
194
|
+
log('warn', 'No solutions were processed successfully — skipping wiki publish');
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
logHeader('Publishing to ADO Wiki');
|
|
198
|
+
if (!config.wiki.pat || config.wiki.pat === 'REDACTED') {
|
|
199
|
+
log('error', 'wiki.pat is not set — cannot publish');
|
|
200
|
+
log('info', 'Inject the PAT at runtime via your pipeline secret variable');
|
|
201
|
+
summary.publishFailures.push({ path: '(all pages)', reason: 'PAT not configured' });
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
const pages = buildWikiPages(config, allSolutions, mergedSolution, allFlows, allPluginAssemblies, allWebResources, allClassicWorkflows, allBusinessRules, allSecurityRoles, allEnvVars, allConnectionReferences, allGlobalChoices, allEmailTemplates, allModelDrivenApps);
|
|
205
|
+
log('info', `Built ${pages.length} wiki pages — publishing...`);
|
|
206
|
+
const results = await publishToWiki(config.wiki, pages);
|
|
207
|
+
// Collect results — publishToWiki may return void; handle both cases
|
|
208
|
+
if (Array.isArray(results)) {
|
|
209
|
+
for (const r of results) {
|
|
210
|
+
if (r.success) {
|
|
211
|
+
summary.pagesPublished++;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
summary.publishFailures.push({ path: r.path, reason: r.reason ?? 'Unknown error' });
|
|
215
|
+
log('warn', `Failed to publish: ${r.path} — ${r.reason}`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
// publishToWiki doesn't return results yet — count all as published
|
|
221
|
+
summary.pagesPublished = pages.length;
|
|
222
|
+
log('success', `Published ${pages.length} pages`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else if (!config.wiki) {
|
|
228
|
+
log('info', 'No wiki config — skipping publish (local output only)');
|
|
229
|
+
}
|
|
230
|
+
// ---- Summary ----
|
|
231
|
+
logSummary(summary);
|
|
232
|
+
// Exit with non-zero code if there were hard failures
|
|
233
|
+
if (summary.solutionsSkipped.length > 0 || summary.publishFailures.length > 0) {
|
|
234
|
+
process.exit(1);
|
|
135
235
|
}
|
|
136
236
|
}
|
|
137
|
-
main().catch(
|
|
237
|
+
main().catch((err) => {
|
|
238
|
+
console.error(`\n✗ Fatal error: ${err?.message ?? err}`);
|
|
239
|
+
process.exit(1);
|
|
240
|
+
});
|
|
138
241
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple structured logger for PowerAutoDoc run output.
|
|
3
|
+
* Keeps all console output consistent and easy to read in ADO pipeline logs.
|
|
4
|
+
*/
|
|
5
|
+
export type LogLevel = 'info' | 'success' | 'warn' | 'error' | 'skip';
|
|
6
|
+
export declare function log(level: LogLevel, message: string): void;
|
|
7
|
+
export declare function logHeader(message: string): void;
|
|
8
|
+
export declare function logSummary(summary: RunSummary): void;
|
|
9
|
+
export interface RunSummary {
|
|
10
|
+
solutionsProcessed: number;
|
|
11
|
+
solutionsSkipped: {
|
|
12
|
+
name: string;
|
|
13
|
+
reason: string;
|
|
14
|
+
}[];
|
|
15
|
+
parseWarnings: {
|
|
16
|
+
solution: string;
|
|
17
|
+
component: string;
|
|
18
|
+
reason: string;
|
|
19
|
+
}[];
|
|
20
|
+
pagesPublished: number;
|
|
21
|
+
publishFailures: {
|
|
22
|
+
path: string;
|
|
23
|
+
reason: string;
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
export declare function createSummary(): RunSummary;
|
|
27
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAUtE,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAS1D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG/C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAwCpD;AAID,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,aAAa,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAED,wBAAgB,aAAa,IAAI,UAAU,CAQ1C"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple structured logger for PowerAutoDoc run output.
|
|
3
|
+
* Keeps all console output consistent and easy to read in ADO pipeline logs.
|
|
4
|
+
*/
|
|
5
|
+
const SYMBOLS = {
|
|
6
|
+
info: ' →',
|
|
7
|
+
success: ' ✓',
|
|
8
|
+
warn: ' ⚠',
|
|
9
|
+
error: ' ✗',
|
|
10
|
+
skip: ' ↷',
|
|
11
|
+
};
|
|
12
|
+
export function log(level, message) {
|
|
13
|
+
const symbol = SYMBOLS[level];
|
|
14
|
+
if (level === 'error') {
|
|
15
|
+
console.error(`${symbol} ${message}`);
|
|
16
|
+
}
|
|
17
|
+
else if (level === 'warn') {
|
|
18
|
+
console.warn(`${symbol} ${message}`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.log(`${symbol} ${message}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function logHeader(message) {
|
|
25
|
+
console.log(`\n${message}`);
|
|
26
|
+
console.log('─'.repeat(Math.min(message.length, 60)));
|
|
27
|
+
}
|
|
28
|
+
export function logSummary(summary) {
|
|
29
|
+
console.log('\n════════════════════════════════════════');
|
|
30
|
+
console.log(' PowerAutoDoc — Run Summary');
|
|
31
|
+
console.log('════════════════════════════════════════');
|
|
32
|
+
console.log(` Solutions processed : ${summary.solutionsProcessed}`);
|
|
33
|
+
if (summary.solutionsSkipped.length > 0) {
|
|
34
|
+
console.log(` Solutions skipped : ${summary.solutionsSkipped.length}`);
|
|
35
|
+
for (const s of summary.solutionsSkipped) {
|
|
36
|
+
console.log(` ✗ ${s.name} — ${s.reason}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (summary.parseWarnings.length > 0) {
|
|
40
|
+
console.log(`\n Parse warnings (${summary.parseWarnings.length}):`);
|
|
41
|
+
for (const w of summary.parseWarnings) {
|
|
42
|
+
console.log(` ⚠ [${w.solution}] ${w.component} — ${w.reason}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (summary.pagesPublished > 0) {
|
|
46
|
+
console.log(`\n Wiki pages published: ${summary.pagesPublished}`);
|
|
47
|
+
}
|
|
48
|
+
if (summary.publishFailures.length > 0) {
|
|
49
|
+
console.log(` Publish failures : ${summary.publishFailures.length}`);
|
|
50
|
+
for (const f of summary.publishFailures) {
|
|
51
|
+
console.log(` ✗ ${f.path} — ${f.reason}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const hasErrors = summary.solutionsSkipped.length > 0 || summary.publishFailures.length > 0;
|
|
55
|
+
const hasWarnings = summary.parseWarnings.length > 0;
|
|
56
|
+
console.log('\n Status: ' + (hasErrors ? '✗ Completed with errors' :
|
|
57
|
+
hasWarnings ? '⚠ Completed with warnings' :
|
|
58
|
+
'✓ Completed successfully'));
|
|
59
|
+
console.log('════════════════════════════════════════\n');
|
|
60
|
+
}
|
|
61
|
+
export function createSummary() {
|
|
62
|
+
return {
|
|
63
|
+
solutionsProcessed: 0,
|
|
64
|
+
solutionsSkipped: [],
|
|
65
|
+
parseWarnings: [],
|
|
66
|
+
pagesPublished: 0,
|
|
67
|
+
publishFailures: [],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,GAA6B;IACxC,IAAI,EAAK,KAAK;IACd,OAAO,EAAE,KAAK;IACd,IAAI,EAAK,KAAK;IACd,KAAK,EAAI,KAAK;IACd,IAAI,EAAK,KAAK;CACf,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,OAAe;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC5C,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5F,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAC3B,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvC,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;YAC3C,0BAA0B,CAC3B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;AAC5D,CAAC;AAYD,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "powerautodoc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"description": "Automated as-built documentation generator for Power Platform solutions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"postbuild": "sed -i '1s|^|#!/usr/bin/env node\\n|' dist/index.js && chmod +x dist/index.js",
|