@appland/appmap 3.99.2 → 3.100.0

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 (35) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/built/cli.js +19 -34
  3. package/built/cli.js.map +1 -1
  4. package/built/cmds/compare/ChangeReporter.js.map +1 -1
  5. package/built/cmds/compare/detectRevisions.js +6 -1
  6. package/built/cmds/compare/detectRevisions.js.map +1 -1
  7. package/built/cmds/compare-report/MarkdownReport.js +1 -1
  8. package/built/cmds/compare-report/ReportSection.js +4 -5
  9. package/built/cmds/compare-report/ReportSection.js.map +1 -1
  10. package/built/cmds/compare-report/compareReport.js.map +1 -1
  11. package/built/cmds/inventory/DependencyMap.js +18 -0
  12. package/built/cmds/inventory/DependencyMap.js.map +1 -0
  13. package/built/cmds/inventory/Report.js +3 -0
  14. package/built/cmds/inventory/Report.js.map +1 -0
  15. package/built/cmds/inventory/inventory.js +225 -0
  16. package/built/cmds/inventory/inventory.js.map +1 -0
  17. package/built/cmds/inventory-report/MarkdownReport.js +124 -0
  18. package/built/cmds/inventory-report/MarkdownReport.js.map +1 -0
  19. package/built/cmds/inventory-report/inventoryReport.js +58 -0
  20. package/built/cmds/inventory-report/inventoryReport.js.map +1 -0
  21. package/built/html/appmap.js +91 -91
  22. package/built/html/appmap.js.map +3 -3
  23. package/built/html/sequenceDiagram.js +91 -91
  24. package/built/html/sequenceDiagram.js.map +3 -3
  25. package/built/lib/serveAndOpen.js +1 -2
  26. package/built/lib/serveAndOpen.js.map +1 -1
  27. package/built/utils.js +1 -1
  28. package/built/utils.js.map +1 -1
  29. package/package.json +2 -2
  30. package/resources/inventory-report/default/inventory.hbs +89 -0
  31. package/resources/inventory-report/welcome/welcome.hbs +115 -0
  32. package/built/cmds/compare/ArchiveAnalyzer.js +0 -69
  33. package/built/cmds/compare/ArchiveAnalyzer.js.map +0 -1
  34. package/built/inventoryCommand.js +0 -44
  35. package/built/inventoryCommand.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/cmds/inventory/inventory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
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.ReportTemplate = exports.WelcomeReport = exports.DefaultReport = void 0;
7
+ const handlebars_1 = __importDefault(require("handlebars"));
8
+ const path_1 = require("path");
9
+ const promises_1 = require("fs/promises");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const fs_1 = require("fs");
12
+ const TemplateDirectory = [
13
+ '../../../resources/inventory-report',
14
+ '../../../../resources/inventory-report', // In development
15
+ ]
16
+ .map((dirName) => (0, path_1.join)(__dirname, dirName))
17
+ .find((dirName) => (0, fs_1.existsSync)(dirName));
18
+ (0, assert_1.default)(TemplateDirectory, "Report template directory 'inventory-report' not found");
19
+ var TemplateName;
20
+ (function (TemplateName) {
21
+ TemplateName["Default"] = "default";
22
+ TemplateName["Welcome"] = "welcome";
23
+ })(TemplateName || (TemplateName = {}));
24
+ async function generateReport(templateName, report) {
25
+ let reportTemplate;
26
+ switch (templateName) {
27
+ case TemplateName.Default:
28
+ reportTemplate = new DefaultReport();
29
+ break;
30
+ case TemplateName.Welcome:
31
+ reportTemplate = new WelcomeReport();
32
+ break;
33
+ }
34
+ return reportTemplate.generateReport(report);
35
+ }
36
+ exports.default = generateReport;
37
+ class DefaultReport {
38
+ async generateReport(reportData) {
39
+ (0, assert_1.default)(TemplateDirectory);
40
+ const templateFile = (0, path_1.join)(TemplateDirectory, 'default', 'inventory.hbs');
41
+ const template = await ReportTemplate.build(templateFile);
42
+ return template.generateMarkdown(reportData);
43
+ }
44
+ }
45
+ exports.DefaultReport = DefaultReport;
46
+ class WelcomeReport {
47
+ async generateReport(reportData) {
48
+ (0, assert_1.default)(TemplateDirectory);
49
+ const templateFile = (0, path_1.join)(TemplateDirectory, 'welcome', 'welcome.hbs');
50
+ const template = await ReportTemplate.build(templateFile);
51
+ return template.generateMarkdown(reportData);
52
+ }
53
+ }
54
+ exports.WelcomeReport = WelcomeReport;
55
+ class ReportTemplate {
56
+ constructor(template) {
57
+ this.template = template;
58
+ }
59
+ generateMarkdown(report) {
60
+ return this.template(report, {
61
+ helpers: ReportTemplate.helpers(),
62
+ allowProtoPropertiesByDefault: true,
63
+ });
64
+ }
65
+ static helpers() {
66
+ const inspect = (value) => {
67
+ return new handlebars_1.default.SafeString(JSON.stringify(value, null, 2));
68
+ };
69
+ const length = (...list) => {
70
+ const _fn = list.pop();
71
+ let result = 0;
72
+ for (const item of list) {
73
+ if (Array.isArray(item)) {
74
+ result += item.length;
75
+ }
76
+ else if (item.constructor === Map) {
77
+ result += item.size;
78
+ }
79
+ else if (typeof item === 'object') {
80
+ result += Object.keys(item).length;
81
+ }
82
+ }
83
+ return result;
84
+ };
85
+ const coalesce = (...list) => {
86
+ const _fn = list.pop();
87
+ return list.find((item) => item !== undefined && item !== '');
88
+ };
89
+ const select_values_by_key_range = (data, keyMin, keyMax) => {
90
+ if (typeof keyMax === 'object')
91
+ keyMax = undefined;
92
+ const result = Object.keys(data)
93
+ .map((k) => parseInt(k, 10))
94
+ .filter((k) => k >= keyMin && (keyMax === undefined || k < keyMax))
95
+ .map((k) => data[k]);
96
+ return result;
97
+ };
98
+ const extractArrayValue = (args) => (Array.isArray(args[0]) ? args[0] : args);
99
+ const sum_values_by_key_range = (data, keyMin, keyMax) => {
100
+ const values = select_values_by_key_range(data, keyMin, keyMax);
101
+ return values.reduce((a, b) => a + (b || 0), 0);
102
+ };
103
+ const sum = () => {
104
+ const args = [...arguments];
105
+ const _fn = args.pop();
106
+ const values = extractArrayValue(args);
107
+ return values.reduce((a, b) => a + (b || 0), 0);
108
+ };
109
+ return {
110
+ coalesce,
111
+ inspect,
112
+ length,
113
+ select_values_by_key_range,
114
+ sum,
115
+ sum_values_by_key_range,
116
+ };
117
+ }
118
+ static async build(templateFile) {
119
+ const template = handlebars_1.default.compile(await (0, promises_1.readFile)(templateFile, 'utf8'));
120
+ return new ReportTemplate(template);
121
+ }
122
+ }
123
+ exports.ReportTemplate = ReportTemplate;
124
+ //# sourceMappingURL=MarkdownReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownReport.js","sourceRoot":"","sources":["../../../src/cmds/inventory-report/MarkdownReport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
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.handler = exports.builder = exports.describe = exports.command = void 0;
7
+ const utils_1 = require("../../utils");
8
+ const handleWorkingDirectory_1 = require("../../lib/handleWorkingDirectory");
9
+ const promises_1 = require("fs/promises");
10
+ const MarkdownReport_1 = __importDefault(require("./MarkdownReport"));
11
+ const console_1 = require("console");
12
+ const process_1 = require("process");
13
+ const path_1 = require("path");
14
+ exports.command = 'inventory-report <report-json-file> [output-file]';
15
+ exports.describe = 'Generate a report document describing the current state of a repository.';
16
+ const builder = (args) => {
17
+ args.positional('report-json-file', {
18
+ type: 'string',
19
+ describe: `JSON report file to read. This file is generated by the 'inventory' command.`,
20
+ demandOption: true,
21
+ });
22
+ args.positional('template-name', {
23
+ type: 'string',
24
+ describe: `Template name.`,
25
+ default: 'default',
26
+ choices: ['default', 'welcome'],
27
+ alias: 't',
28
+ });
29
+ args.positional('output-file', {
30
+ type: 'string',
31
+ describe: `Markdown output file. If not specified, the report is written to stdout.`,
32
+ demandOption: true,
33
+ });
34
+ args.option('directory', {
35
+ describe: 'program working directory',
36
+ type: 'string',
37
+ alias: 'd',
38
+ });
39
+ return args.strict();
40
+ };
41
+ exports.builder = builder;
42
+ const handler = async (argv) => {
43
+ (0, utils_1.verbose)(argv.verbose);
44
+ const { directory } = argv;
45
+ (0, handleWorkingDirectory_1.handleWorkingDirectory)(directory);
46
+ const { reportJsonFile, outputFile, templateName } = argv;
47
+ const report = JSON.parse(await (0, promises_1.readFile)(reportJsonFile, 'utf-8'));
48
+ const reportMD = await (0, MarkdownReport_1.default)(templateName, report);
49
+ if (outputFile) {
50
+ await (0, promises_1.writeFile)(outputFile, reportMD);
51
+ (0, console_1.warn)(`Report written to ${(0, path_1.join)((0, process_1.cwd)(), outputFile)}`);
52
+ }
53
+ else {
54
+ console.log(reportMD);
55
+ }
56
+ };
57
+ exports.handler = handler;
58
+ //# sourceMappingURL=inventoryReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventoryReport.js","sourceRoot":"","sources":["../../../src/cmds/inventory-report/inventoryReport.ts"],"names":[],"mappings":";;;;;;AACA,uCAAsC;AACtC,6EAA0E;AAC1E,0CAAkD;AAClD,sEAA8C;AAC9C,qCAA+B;AAC/B,qCAA8B;AAC9B,+BAA4B;AAEf,QAAA,OAAO,GAAG,mDAAmD,CAAC;AAC9D,QAAA,QAAQ,GAAG,0EAA0E,CAAC;AAE5F,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC1C,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;QAClC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,8EAA8E;QACxF,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QAC/B,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,0EAA0E;QACpF,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,QAAQ,EAAE,2BAA2B;QACrC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC;AA5BW,QAAA,OAAO,WA4BlB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;IACzC,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAA,+CAAsB,EAAC,SAAS,CAAC,CAAC;IAElC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,UAAU,EAAE;QACd,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAA,cAAI,EAAC,qBAAqB,IAAA,WAAI,EAAC,IAAA,aAAG,GAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;KACtD;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACvB;AACH,CAAC,CAAC;AAhBW,QAAA,OAAO,WAgBlB"}