@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.
- package/CHANGELOG.md +16 -0
- package/built/cli.js +19 -34
- package/built/cli.js.map +1 -1
- package/built/cmds/compare/ChangeReporter.js.map +1 -1
- package/built/cmds/compare/detectRevisions.js +6 -1
- package/built/cmds/compare/detectRevisions.js.map +1 -1
- package/built/cmds/compare-report/MarkdownReport.js +1 -1
- package/built/cmds/compare-report/ReportSection.js +4 -5
- package/built/cmds/compare-report/ReportSection.js.map +1 -1
- package/built/cmds/compare-report/compareReport.js.map +1 -1
- package/built/cmds/inventory/DependencyMap.js +18 -0
- package/built/cmds/inventory/DependencyMap.js.map +1 -0
- package/built/cmds/inventory/Report.js +3 -0
- package/built/cmds/inventory/Report.js.map +1 -0
- package/built/cmds/inventory/inventory.js +225 -0
- package/built/cmds/inventory/inventory.js.map +1 -0
- package/built/cmds/inventory-report/MarkdownReport.js +124 -0
- package/built/cmds/inventory-report/MarkdownReport.js.map +1 -0
- package/built/cmds/inventory-report/inventoryReport.js +58 -0
- package/built/cmds/inventory-report/inventoryReport.js.map +1 -0
- package/built/html/appmap.js +91 -91
- package/built/html/appmap.js.map +3 -3
- package/built/html/sequenceDiagram.js +91 -91
- package/built/html/sequenceDiagram.js.map +3 -3
- package/built/lib/serveAndOpen.js +1 -2
- package/built/lib/serveAndOpen.js.map +1 -1
- package/built/utils.js +1 -1
- package/built/utils.js.map +1 -1
- package/package.json +2 -2
- package/resources/inventory-report/default/inventory.hbs +89 -0
- package/resources/inventory-report/welcome/welcome.hbs +115 -0
- package/built/cmds/compare/ArchiveAnalyzer.js +0 -69
- package/built/cmds/compare/ArchiveAnalyzer.js.map +0 -1
- package/built/inventoryCommand.js +0 -44
- package/built/inventoryCommand.js.map +0 -1
|
@@ -35,14 +35,13 @@ async function serveAndOpen(file, resources, verifyInSubdir, onListen) {
|
|
|
35
35
|
return send404();
|
|
36
36
|
if (!contentType)
|
|
37
37
|
contentType = mimeTypeOfName(fileName);
|
|
38
|
-
res.writeHead(200, 'OK', { 'Content-Type': contentType });
|
|
39
38
|
const fileStream = (0, fs_1.createReadStream)(path);
|
|
40
39
|
fileStream.pipe(res);
|
|
41
40
|
fileStream.on('open', function () {
|
|
42
41
|
if ((0, utils_1.verbose)()) {
|
|
43
42
|
console.log(`${path}: 200`);
|
|
44
43
|
}
|
|
45
|
-
res.writeHead(200);
|
|
44
|
+
res.writeHead(200, 'OK', { 'Content-Type': contentType });
|
|
46
45
|
});
|
|
47
46
|
fileStream.on('error', function (e) {
|
|
48
47
|
if ((0, utils_1.verbose)()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serveAndOpen.js","sourceRoot":"","sources":["../../src/lib/serveAndOpen.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAsC;AACtC,+BAAoC;AAEpC,gDAAwB;AACxB,+BAAiD;AACjD,6BAA4B;AAC5B,oCAA2C;AAC3C,8EAAyC;AAEzC,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,CACL;QACE,EAAE,EAAE,wBAAwB;QAC5B,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,kBAAkB;KACxB,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B,CACnD,CAAC;AACJ,CAAC;AAEc,KAAK,UAAU,YAAY,CACxC,IAAY,EACZ,SAAiC,EACjC,cAAuB,EACvB,QAA+B;IAE/B,yBAAE,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,MAAM,IAAA,cAAM,EAAC,IAAA,WAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,WAAoB,EAAE,EAAE;YAC9E,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,OAAO,EAAE,CAAC;YAE9D,IAAI,CAAC,WAAW;gBAAE,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzD,
|
|
1
|
+
{"version":3,"file":"serveAndOpen.js","sourceRoot":"","sources":["../../src/lib/serveAndOpen.ts"],"names":[],"mappings":"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"}
|
package/built/utils.js
CHANGED
|
@@ -151,7 +151,7 @@ exports.processNamedFiles = processNamedFiles;
|
|
|
151
151
|
async function findFiles(directory, extensionOrPredicate, fn) {
|
|
152
152
|
const printDebug = verbose();
|
|
153
153
|
if (printDebug) {
|
|
154
|
-
console.warn(`Scanning ${directory} for
|
|
154
|
+
console.warn(`Scanning ${directory} for files matching ${extensionOrPredicate}`);
|
|
155
155
|
}
|
|
156
156
|
const matchFile = async (file) => {
|
|
157
157
|
if (typeof extensionOrPredicate === 'string') {
|
package/built/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAgF;AAChF,8DAAqC;AACrC,iCAA2C;AAC3C,+BAAiC;AACjC,+BAA4B;AAC5B,oDAA4B;AAE5B,0CAA4C;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.100.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"engines": {
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"lint-staged": "^10.5.4",
|
|
61
61
|
"memfs": "^3.4.13",
|
|
62
62
|
"node-fetch": "2.6.7",
|
|
63
|
-
"openapi-types": "^12.1.0",
|
|
64
63
|
"prettier": "^2.7.1",
|
|
65
64
|
"sinon": "^11.1.2",
|
|
66
65
|
"tmp": "^0.2.1",
|
|
@@ -114,6 +113,7 @@
|
|
|
114
113
|
"moo": "^0.5.1",
|
|
115
114
|
"open": "^8.2.1",
|
|
116
115
|
"openapi-diff": "^0.23.6",
|
|
116
|
+
"openapi-types": "^12.1.3",
|
|
117
117
|
"ora": "^5.4.1",
|
|
118
118
|
"parse-diff": "^0.11.1",
|
|
119
119
|
"pkg": "^5.8.0",
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
## AppMap data profile
|
|
2
|
+
|
|
3
|
+
#### How is AppMap data created in this project?
|
|
4
|
+
|
|
5
|
+
| Recorder | Number of AppMaps |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
{{#each appmapCountByRecorderName}}
|
|
8
|
+
| {{@key}} | {{@this}} |
|
|
9
|
+
{{/each}}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Code quality
|
|
13
|
+
|
|
14
|
+
#### Findings
|
|
15
|
+
|
|
16
|
+
| Impact Domain | Number of Findings |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
{{#each findingCountByImpactDomain}}
|
|
19
|
+
| {{@key}} | {{@this}} |
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Server API profile
|
|
24
|
+
|
|
25
|
+
{{#if (length appmapCountByHTTPServerRequestCount) }}
|
|
26
|
+
|
|
27
|
+
#### How many AppMaps have HTTP server requests, and how many do they have?
|
|
28
|
+
|
|
29
|
+
| Number of HTTP server requests | Number of AppMaps |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| None | {{ coalesce appmapCountByHTTPServerRequestCount.[0] 'No AppMaps' }} |
|
|
32
|
+
| Between 1 and 5 | {{ sum_values_by_key_range appmapCountByHTTPServerRequestCount 1 5 }} |
|
|
33
|
+
| More than 5 | {{ sum_values_by_key_range appmapCountByHTTPServerRequestCount 5 }} |
|
|
34
|
+
|
|
35
|
+
#### What are the HTTP server routes of the project?
|
|
36
|
+
|
|
37
|
+
| Route prefix | Number of routes |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
{{#each routeCountByResource}}
|
|
40
|
+
| {{@key}} | {{@this}} |
|
|
41
|
+
{{/each}}
|
|
42
|
+
|
|
43
|
+
#### What HTTP content types are served by the project?
|
|
44
|
+
|
|
45
|
+
| Response Content Type | Number of Routes |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
{{#each routeCountByContentType}}
|
|
48
|
+
| {{@key}} | {{@this}} |
|
|
49
|
+
{{/each}}
|
|
50
|
+
|
|
51
|
+
{{~else~}}
|
|
52
|
+
This project doesn't have any AppMaps of HTTP server requests.
|
|
53
|
+
{{/if}}
|
|
54
|
+
|
|
55
|
+
## SQL profile
|
|
56
|
+
|
|
57
|
+
#### How many AppMaps have SQL queries, and how many do they have?
|
|
58
|
+
|
|
59
|
+
{{#if (length appmapCountBySQLQueryCount) }}
|
|
60
|
+
| SQL queries | Number of AppMaps |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| None | {{ coalesce appmapCountBySQLQueryCount.[0] 'No AppMaps' }} |
|
|
63
|
+
| Between 1 and 5 | {{ sum_values_by_key_range appmapCountBySQLQueryCount 1 5 }} |
|
|
64
|
+
| More than 5 | {{ sum_values_by_key_range appmapCountBySQLQueryCount 5 }} |
|
|
65
|
+
|
|
66
|
+
#### What SQL tables are used by this project?
|
|
67
|
+
|
|
68
|
+
{{#if (length sqlTables) }}
|
|
69
|
+
| Table name |
|
|
70
|
+
| --- |
|
|
71
|
+
{{#each sqlTables}}
|
|
72
|
+
| {{@this}} |
|
|
73
|
+
{{/each}}
|
|
74
|
+
{{/if}}
|
|
75
|
+
|
|
76
|
+
{{~else~}}
|
|
77
|
+
This project doesn't have any AppMaps of SQL queries.
|
|
78
|
+
{{/if}}
|
|
79
|
+
|
|
80
|
+
<!--
|
|
81
|
+
## External services profile
|
|
82
|
+
|
|
83
|
+
TODO
|
|
84
|
+
-->
|
|
85
|
+
|
|
86
|
+
## Code organization
|
|
87
|
+
|
|
88
|
+
The app contains `{{ length packages }}` code packages.
|
|
89
|
+
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
## Welcome to AppMap!
|
|
2
|
+
|
|
3
|
+
This is a report of the AppMap data in your project. Let's start with a look at how the
|
|
4
|
+
AppMap data is created in this project. In CI, AppMaps are generally created by recording
|
|
5
|
+
test cases. Here's how the AppMaps in this project were created:
|
|
6
|
+
|
|
7
|
+
| Recorder | Number of AppMaps |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
{{#each appmapCountByRecorderName}}
|
|
10
|
+
| {{@key}} | {{@this}} |
|
|
11
|
+
{{/each}}
|
|
12
|
+
|
|
13
|
+
Continue reading for information about:
|
|
14
|
+
|
|
15
|
+
- [Runtime analysis](#runtime-analysis)
|
|
16
|
+
- [REST API analysis](#rest-api-analysis)
|
|
17
|
+
- [SQL profile](#sql-profile)
|
|
18
|
+
|
|
19
|
+
#### Runtime Analysis
|
|
20
|
+
|
|
21
|
+
AppMap includes a runtime analysis capability that analyzes the AppMap data for security vulnerabilities,
|
|
22
|
+
performance problems, and code anti-patterns. On each pull request, you'll get a report of
|
|
23
|
+
the new and resolved issues for the repo.
|
|
24
|
+
|
|
25
|
+
{{#if (length findingCountByImpactDomain) }}
|
|
26
|
+
AppMap has performed a preliminary analysis of this repo, and detected some problems. Here's a
|
|
27
|
+
summary:
|
|
28
|
+
|
|
29
|
+
| Impact Domain | Number of Problems |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
{{#each findingCountByImpactDomain}}
|
|
32
|
+
| {{@key}} | {{@this}} |
|
|
33
|
+
{{/each}}
|
|
34
|
+
|
|
35
|
+
{{~else~}}
|
|
36
|
+
No security vulnerabilities or performance problems were detected in this repo. Keep up the good work :slightly_smiling_face:
|
|
37
|
+
{{/if}}
|
|
38
|
+
|
|
39
|
+
AppMap runtime analysis is configurable. [Learn more about configuring AppMap runtime analysis](https://appmap.io/docs/guides/configuring-analysis.html).
|
|
40
|
+
|
|
41
|
+
#### REST API analysis
|
|
42
|
+
|
|
43
|
+
When you record AppMaps that include HTTP server requests, AppMap can automatically generate OpenAPI definitions.
|
|
44
|
+
|
|
45
|
+
{{#if (length appmapCountByHTTPServerRequestCount) }}
|
|
46
|
+
|
|
47
|
+
This project has AppMaps that contain HTTP server requests. Here's a profile of the AppMaps that
|
|
48
|
+
include HTTP server requests:
|
|
49
|
+
|
|
50
|
+
| Number of HTTP server requests | Number of AppMaps |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| None | {{ coalesce appmapCountByHTTPServerRequestCount.[0] 'No AppMaps' }} |
|
|
53
|
+
| Between 1 and 5 | {{ sum_values_by_key_range appmapCountByHTTPServerRequestCount 1 5 }} |
|
|
54
|
+
| More than 5 | {{ sum_values_by_key_range appmapCountByHTTPServerRequestCount 5 }} |
|
|
55
|
+
|
|
56
|
+
At a high level, here are the REST resources that are provided by this project:
|
|
57
|
+
|
|
58
|
+
{{#each routeCountByResource}}`{{@key}}` {{/each}}
|
|
59
|
+
|
|
60
|
+
And here are the different content types served by the API:
|
|
61
|
+
|
|
62
|
+
| Response Content Type | Number of Routes |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
{{#each routeCountByContentType}}
|
|
65
|
+
| {{@key}} | {{@this}} |
|
|
66
|
+
{{/each}}
|
|
67
|
+
|
|
68
|
+
As you change your code and tests, AppMap will automatically update the OpenAPI definitions.
|
|
69
|
+
You'll see a summary of the REST API changes in each pull request.
|
|
70
|
+
|
|
71
|
+
{{~else~}}
|
|
72
|
+
This project doesn't have any AppMaps that contain HTTP server requests. If this is unexpected,
|
|
73
|
+
you can add some test cases that exercise the HTTP server. The more of these type of tests you add,
|
|
74
|
+
the better the AppMap data will be for generating OpenAPI definitions and comparing the API
|
|
75
|
+
changes in each pull request.
|
|
76
|
+
{{/if}}
|
|
77
|
+
|
|
78
|
+
#### SQL profile
|
|
79
|
+
|
|
80
|
+
When your code makes a SQL query, AppMap records the SQL query in detail. It even parses the queries
|
|
81
|
+
to figure out which tables your app is using, and how it's using them.
|
|
82
|
+
|
|
83
|
+
{{#if (length appmapCountBySQLQueryCount) }}
|
|
84
|
+
|
|
85
|
+
Here's a summary of how many SQL queries are in the AppMaps of this project:
|
|
86
|
+
|
|
87
|
+
| SQL queries | Number of AppMaps |
|
|
88
|
+
| --- | --- |
|
|
89
|
+
| None | {{ coalesce appmapCountBySQLQueryCount.[0] 'No AppMaps' }} |
|
|
90
|
+
| Between 1 and 5 | {{ sum_values_by_key_range appmapCountBySQLQueryCount 1 5 }} |
|
|
91
|
+
| More than 5 | {{ sum_values_by_key_range appmapCountBySQLQueryCount 5 }} |
|
|
92
|
+
|
|
93
|
+
{{#if (length sqlTables) }}
|
|
94
|
+
|
|
95
|
+
And here are all the SQL tables that are used by this project:
|
|
96
|
+
|
|
97
|
+
{{#each sqlTables}}`{{@this}}` {{/each}}
|
|
98
|
+
{{/if}}
|
|
99
|
+
|
|
100
|
+
{{~else~}}
|
|
101
|
+
This project doesn't have any AppMaps of SQL queries. If this is unexpected,
|
|
102
|
+
you can add some test cases that interact with the database. The more of these type of tests you add,
|
|
103
|
+
the better the AppMap data will be for analyzing the SQL changes in each pull request.
|
|
104
|
+
{{/if}}
|
|
105
|
+
|
|
106
|
+
<!--
|
|
107
|
+
## External services profile
|
|
108
|
+
|
|
109
|
+
TODO
|
|
110
|
+
|
|
111
|
+
## Code organization
|
|
112
|
+
|
|
113
|
+
The app contains `{{ length packages }}` code packages.
|
|
114
|
+
-->
|
|
115
|
+
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
-
const executeCommand_1 = require("../../lib/executeCommand");
|
|
7
|
-
const openapi_1 = __importDefault(require("../openapi/openapi"));
|
|
8
|
-
const fileSizeFilter_1 = require("../../lib/fileSizeFilter");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const os_1 = require("os");
|
|
11
|
-
const process_1 = require("process");
|
|
12
|
-
const promises_1 = require("fs/promises");
|
|
13
|
-
async function analyzeArchive(revision, dir, scannerConfig) {
|
|
14
|
-
const analyzer = new ArchiveAnalyzer(revision, dir, scannerConfig);
|
|
15
|
-
return analyzer.analyze();
|
|
16
|
-
}
|
|
17
|
-
exports.default = analyzeArchive;
|
|
18
|
-
class ArchiveAnalyzer {
|
|
19
|
-
constructor(revision, dir, scannerConfig) {
|
|
20
|
-
this.revision = revision;
|
|
21
|
-
this.dir = dir;
|
|
22
|
-
this.scannerConfig = scannerConfig;
|
|
23
|
-
}
|
|
24
|
-
async analyze() {
|
|
25
|
-
await this.checkout();
|
|
26
|
-
// Revert await executeCommand(`git checkout -`); in 'finally' block
|
|
27
|
-
await this.inWorkingDirectory(this.dir, async () => {
|
|
28
|
-
await this.openAPI();
|
|
29
|
-
await this.runtimeAnalysis();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
async checkout() {
|
|
33
|
-
await (0, executeCommand_1.executeCommand)(`git checkout ${this.revision}`);
|
|
34
|
-
}
|
|
35
|
-
async openAPI() {
|
|
36
|
-
await openapi_1.default.handler({
|
|
37
|
-
appmapDir: '.',
|
|
38
|
-
outputFile: 'openapi.yml',
|
|
39
|
-
maxSize: fileSizeFilter_1.DefaultMaxAppMapSizeInMB,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
async runtimeAnalysis() {
|
|
43
|
-
let command = `npx @appland/scanner@latest scan --appmap-dir . --all`;
|
|
44
|
-
let scannerConfigFile;
|
|
45
|
-
if (this.scannerConfig) {
|
|
46
|
-
scannerConfigFile = (0, path_1.join)((0, os_1.tmpdir)(), `scanner-config-${process_1.pid}.yml`);
|
|
47
|
-
await (0, promises_1.writeFile)(scannerConfigFile, this.scannerConfig, 'utf-8');
|
|
48
|
-
command += ` -c ${scannerConfigFile}`;
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
await (0, executeCommand_1.executeCommand)(command, true, true, true);
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
if (scannerConfigFile)
|
|
55
|
-
await (0, promises_1.rm)(scannerConfigFile, { force: true });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
async inWorkingDirectory(dir, fn) {
|
|
59
|
-
const cwd = process.cwd();
|
|
60
|
-
process.chdir(dir);
|
|
61
|
-
try {
|
|
62
|
-
await fn();
|
|
63
|
-
}
|
|
64
|
-
finally {
|
|
65
|
-
process.chdir(cwd);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=ArchiveAnalyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArchiveAnalyzer.js","sourceRoot":"","sources":["../../../src/cmds/compare/ArchiveAnalyzer.ts"],"names":[],"mappings":";;;;;AAAA,6DAA0D;AAC1D,iEAA2D;AAC3D,6DAAoE;AACpE,+BAA4B;AAC5B,2BAA4B;AAC5B,qCAA8B;AAC9B,0CAA4C;AAE7B,KAAK,UAAU,cAAc,CAC1C,QAAgB,EAChB,GAAW,EACX,aAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAPD,iCAOC;AAED,MAAM,eAAe;IACnB,YACkB,QAAgB,EAChB,GAAW,EACX,aAAsB;QAFtB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,QAAG,GAAH,GAAG,CAAQ;QACX,kBAAa,GAAb,aAAa,CAAS;IACrC,CAAC;IAEJ,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,oEAAoE;QACpE,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAA,+BAAc,EAAC,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,iBAAU,CAAC,OAAO,CAAC;YACvB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,yCAAwB;SAClC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,OAAO,GAAG,uDAAuD,CAAC;QACtE,IAAI,iBAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,iBAAiB,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,kBAAkB,aAAG,MAAM,CAAC,CAAC;YAChE,MAAM,IAAA,oBAAS,EAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,IAAI,OAAO,iBAAiB,EAAE,CAAC;SACvC;QACD,IAAI;YACF,MAAM,IAAA,+BAAc,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACjD;gBAAS;YACR,IAAI,iBAAiB;gBAAE,MAAM,IAAA,aAAE,EAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACrE;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAI,GAAW,EAAE,EAAoB;QACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI;YACF,MAAM,EAAE,EAAE,CAAC;SACZ;gBAAS;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;CACF"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const { join: joinPath } = require('path');
|
|
3
|
-
const { promises: fsp } = require('fs');
|
|
4
|
-
const { verbose, findFiles, baseName } = require('./utils');
|
|
5
|
-
class InventoryCommand {
|
|
6
|
-
constructor(directory) {
|
|
7
|
-
this.directory = directory;
|
|
8
|
-
this.print = true;
|
|
9
|
-
}
|
|
10
|
-
async execute() {
|
|
11
|
-
if (verbose()) {
|
|
12
|
-
console.warn(`Collecting query info from ${this.directory}`);
|
|
13
|
-
}
|
|
14
|
-
const result = {
|
|
15
|
-
packages: new Set(),
|
|
16
|
-
classes: new Set(),
|
|
17
|
-
labels: new Set(),
|
|
18
|
-
packageDependencies: new Set(),
|
|
19
|
-
sqlTables: new Set(),
|
|
20
|
-
sqlNormalized: new Set(),
|
|
21
|
-
httpServerRequests: new Set(),
|
|
22
|
-
// httpClientRequests: new Set(),
|
|
23
|
-
};
|
|
24
|
-
await this.files(async (appMapFileName) => {
|
|
25
|
-
if (verbose()) {
|
|
26
|
-
console.warn(`Collecting query info from ${appMapFileName}`);
|
|
27
|
-
}
|
|
28
|
-
const indexDir = baseName(appMapFileName);
|
|
29
|
-
await Promise.all(Object.keys(result).map(async (algorithmName) => {
|
|
30
|
-
const items = JSON.parse(await fsp.readFile(joinPath(indexDir, `canonical.${algorithmName}.json`)));
|
|
31
|
-
items.forEach((item) => result[algorithmName].add(JSON.stringify(item)));
|
|
32
|
-
}));
|
|
33
|
-
});
|
|
34
|
-
return Object.keys(result).reduce((memo, key) => {
|
|
35
|
-
memo[key] = [...result[key]].sort().map((i) => JSON.parse(i));
|
|
36
|
-
return memo;
|
|
37
|
-
}, {});
|
|
38
|
-
}
|
|
39
|
-
async files(fn) {
|
|
40
|
-
return findFiles(this.directory, '.appmap.json', fn);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
module.exports = InventoryCommand;
|
|
44
|
-
//# sourceMappingURL=inventoryCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inventoryCommand.js","sourceRoot":"","sources":["../src/inventoryCommand.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACxC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAE5D,MAAM,gBAAgB;IACpB,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9D;QAED,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,IAAI,GAAG,EAAE;YACjB,mBAAmB,EAAE,IAAI,GAAG,EAAE;YAC9B,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,kBAAkB,EAAE,IAAI,GAAG,EAAE;YAC7B,iCAAiC;SAClC,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YACxC,IAAI,OAAO,EAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;aAC9D;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YAE1C,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,aAAa,OAAO,CAAC,CAAC,CAC1E,CAAC;gBAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC"}
|