@appland/appmap 3.96.2 → 3.97.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 +21 -0
- package/built/cmds/archive/analyzeTask.js +0 -7
- package/built/cmds/archive/analyzeTask.js.map +1 -1
- package/built/cmds/compare/ChangeReporter.js +3 -3
- package/built/cmds/compare/ChangeReporter.js.map +1 -1
- package/built/cmds/compare/loadFindings.js +1 -1
- package/built/cmds/compare/loadFindings.js.map +1 -1
- package/built/cmds/compare-report/ChangeReport.js +199 -0
- package/built/cmds/compare-report/ChangeReport.js.map +1 -0
- package/built/cmds/compare-report/MarkdownReport.js +52 -200
- package/built/cmds/compare-report/MarkdownReport.js.map +1 -1
- package/built/cmds/compare-report/Preprocessor.js +115 -0
- package/built/cmds/compare-report/Preprocessor.js.map +1 -0
- package/built/cmds/compare-report/ReportSection.js +167 -0
- package/built/cmds/compare-report/ReportSection.js.map +1 -0
- package/built/cmds/compare-report/compareReport.js +1 -2
- package/built/cmds/compare-report/compareReport.js.map +1 -1
- package/built/html/appmap.js +90 -90
- 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/processAppMapDir.js +0 -2
- package/built/lib/processAppMapDir.js.map +1 -1
- package/package.json +2 -2
- package/resources/change-report/changed-appmaps/details.hbs +25 -0
- package/resources/change-report/changed-appmaps/heading.hbs +7 -0
- package/resources/change-report/failed-tests/details.hbs +57 -0
- package/resources/change-report/failed-tests/heading.hbs +1 -0
- package/resources/change-report/findings/details.hbs +80 -0
- package/resources/change-report/findings/heading.hbs +13 -0
- package/resources/change-report/new-appmaps/details.hbs +11 -0
- package/resources/change-report/new-appmaps/heading.hbs +3 -0
- package/resources/change-report/openapi-diff/details.hbs +55 -0
- package/resources/change-report/openapi-diff/heading.hbs +8 -0
- package/built/lib/findings.js +0 -6
- package/built/lib/findings.js.map +0 -1
- package/resources/change-report.hbs +0 -279
|
@@ -30,8 +30,6 @@ async function processAppMapDir(name, pool, taskFunction, appmapDir, appmapFiles
|
|
|
30
30
|
oversized.add(file);
|
|
31
31
|
}
|
|
32
32
|
else if (result.error) {
|
|
33
|
-
// warn(`${name} failed to process ${file}: ${(result.error as Error).message}`);
|
|
34
|
-
// TODO: Change ^ to this:
|
|
35
33
|
(0, console_1.warn)(`${name} failed to process ${file}: ${result.error}`);
|
|
36
34
|
errors.push(result.error);
|
|
37
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processAppMapDir.js","sourceRoot":"","sources":["../../src/lib/processAppMapDir.ts"],"names":[],"mappings":";;;;;AAAA,qCAA+B;AAC/B,oCAAqC;AAErC,oDAA4B;AAwBb,KAAK,UAAU,gBAAgB,CAC5C,IAAY,EACZ,IAAgB,EAChB,YAA6B,EAC7B,SAAkB,EAClB,WAAsB,EACtB,aAAgD;IAEhD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpC,IAAI,KAAe,CAAC;IACpB,IAAI,WAAW,EAAE;QACf,KAAK,GAAG,WAAW,CAAC;KACrB;SAAM;QACL,IAAA,gBAAM,EAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;QACjF,KAAK,GAAG,MAAM,IAAA,iBAAS,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KACpD;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,KAAK,EAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAiB,EAAE,MAAqB,EAAE,EAAE;QAClF,IAAI,GAAG,EAAE;YACP,IAAA,cAAI,EAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;YAChC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC3B,IAAA,cAAI,EAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE;YACvB,
|
|
1
|
+
{"version":3,"file":"processAppMapDir.js","sourceRoot":"","sources":["../../src/lib/processAppMapDir.ts"],"names":[],"mappings":";;;;;AAAA,qCAA+B;AAC/B,oCAAqC;AAErC,oDAA4B;AAwBb,KAAK,UAAU,gBAAgB,CAC5C,IAAY,EACZ,IAAgB,EAChB,YAA6B,EAC7B,SAAkB,EAClB,WAAsB,EACtB,aAAgD;IAEhD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpC,IAAI,KAAe,CAAC;IACpB,IAAI,WAAW,EAAE;QACf,KAAK,GAAG,WAAW,CAAC;KACrB;SAAM;QACL,IAAA,gBAAM,EAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;QACjF,KAAK,GAAG,MAAM,IAAA,iBAAS,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KACpD;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,KAAK,EAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAiB,EAAE,MAAqB,EAAE,EAAE;QAClF,IAAI,GAAG,EAAE;YACP,IAAA,cAAI,EAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;YAChC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC3B,IAAA,cAAI,EAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE;YACvB,IAAA,cAAI,EAAC,GAAG,IAAI,sBAAsB,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC3B;aAAM;YACL,IAAI,aAAa,EAAE;gBACjB,IAAI;oBACF,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBACnC;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAA,cAAI,EACF,GAAG,IAAI,2CAA2C,IAAI,KACnD,GAAa,CAAC,OACjB,EAAE,CACH,CAAC;iBACH;aACF;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CACJ,CACF,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC5E,CAAC;AAzDD,mCAyDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.97.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"engines": {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
],
|
|
81
81
|
"dependencies": {
|
|
82
82
|
"@appland/client": "^1.8.0",
|
|
83
|
-
"@appland/components": "^
|
|
83
|
+
"@appland/components": "^3",
|
|
84
84
|
"@appland/diagrams": "^1.7.0",
|
|
85
85
|
"@appland/models": "^2.6.3",
|
|
86
86
|
"@appland/openapi": "^1.4.3",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{{#if (length changedAppMaps) }}
|
|
2
|
+
<h2 id="changed-appmaps">🔀 Changed AppMaps</h2>
|
|
3
|
+
|
|
4
|
+
<details>
|
|
5
|
+
|
|
6
|
+
<summary>
|
|
7
|
+
Review changes
|
|
8
|
+
</summary>
|
|
9
|
+
|
|
10
|
+
{{#each changedAppMaps}}
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
{{{@key}}}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
{{#each this}}
|
|
17
|
+
- [{{name}}]({{ appmap_diff_url . }})
|
|
18
|
+
{{/each}}
|
|
19
|
+
{{/each}}
|
|
20
|
+
|
|
21
|
+
{{#if pruned}}
|
|
22
|
+
Because there are so many changed AppMaps, some of them are not listed in this report.
|
|
23
|
+
{{/if}}
|
|
24
|
+
</details>
|
|
25
|
+
{{/if}}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{{#if testFailures.length}}
|
|
2
|
+
<h2 id="failed-tests">⚠️ Failed tests</h2>
|
|
3
|
+
|
|
4
|
+
{{#each testFailures}}
|
|
5
|
+
<details>
|
|
6
|
+
<summary>
|
|
7
|
+
{{ testLocation }}
|
|
8
|
+
</summary>
|
|
9
|
+
|
|
10
|
+
<p/>
|
|
11
|
+
|
|
12
|
+
<!-- testLocation -->
|
|
13
|
+
[{{testLocation}}]({{ source_url testLocation }}) failed with error:
|
|
14
|
+
|
|
15
|
+
{{#if failureMessage}}
|
|
16
|
+
<!-- failureMessage -->
|
|
17
|
+
```
|
|
18
|
+
{{{failureMessage}}}
|
|
19
|
+
```
|
|
20
|
+
{{/if}}
|
|
21
|
+
|
|
22
|
+
<!-- failureLocation -->
|
|
23
|
+
{{#if failureLocation}}
|
|
24
|
+
The error occurred at [{{failureLocation}}]({{ source_url failureLocation }}):
|
|
25
|
+
{{/if}}
|
|
26
|
+
|
|
27
|
+
{{#if testSnippet}}
|
|
28
|
+
{{#with testSnippet}}
|
|
29
|
+
<!-- testSnippet -->
|
|
30
|
+
```{{language}}
|
|
31
|
+
{{{codeFragment}}}
|
|
32
|
+
```
|
|
33
|
+
{{/with}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
|
|
36
|
+
<!-- sourceDiff -->
|
|
37
|
+
{{#if appmap.sourceDiff }}
|
|
38
|
+
##### Related code changes
|
|
39
|
+
|
|
40
|
+
```diff
|
|
41
|
+
{{{appmap.sourceDiff}}}
|
|
42
|
+
```
|
|
43
|
+
{{/if}}
|
|
44
|
+
|
|
45
|
+
[View AppMap of this test »]({{ appmap_url 'head' appmap }})
|
|
46
|
+
{{#if appmap.changed}}
|
|
47
|
+
[View sequence diagram diff of this test »]({{ appmap_diff_url appmap }})
|
|
48
|
+
{{/if}}
|
|
49
|
+
|
|
50
|
+
<hr/>
|
|
51
|
+
</details>
|
|
52
|
+
|
|
53
|
+
{{/each}}
|
|
54
|
+
{{#if pruned}}
|
|
55
|
+
Because there are so many failed tests, some of them are not listed in this report.
|
|
56
|
+
{{/if}}
|
|
57
|
+
{{/if}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
| [Failed tests](#failed-tests) | {{#if testFailures.length}}:warning: {{testFailures.length}} failed{{else}}:white_check_mark: All tests passed{{/if}} |
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{{#*inline "finding-stack" }}
|
|
2
|
+
{{#with stack }}
|
|
3
|
+
{{#each this }}
|
|
4
|
+
{{#if (source_url this)}}
|
|
5
|
+
- [{{this}}]({{ source_url this }})
|
|
6
|
+
{{else}}
|
|
7
|
+
- {{ this }}
|
|
8
|
+
{{/if}}
|
|
9
|
+
{{/each}}
|
|
10
|
+
{{/with}}
|
|
11
|
+
|
|
12
|
+
{{/inline}}
|
|
13
|
+
{{#*inline "finding"}}
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary>
|
|
17
|
+
{{ finding.ruleTitle }}
|
|
18
|
+
</summary>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
##### Description
|
|
22
|
+
|
|
23
|
+
> {{ finding.message }}
|
|
24
|
+
|
|
25
|
+
| Field | Value |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| Rule | [{{ finding.ruleId }}](https://appmap.io/docs/analysis/rules-reference.html#{{finding.ruleId }}) |
|
|
28
|
+
| Impact domain | {{ finding.impactDomain }} |
|
|
29
|
+
|
|
30
|
+
##### View in AppMap
|
|
31
|
+
|
|
32
|
+
- [Full AppMap »]({{ appmap_url 'head' appmap }})
|
|
33
|
+
{{#if appmap.changed}}
|
|
34
|
+
- [Sequence diagram diff »]({{ appmap_diff_url appmap }})
|
|
35
|
+
{{/if}}
|
|
36
|
+
|
|
37
|
+
{{#if appmap.sourceDiff}}
|
|
38
|
+
|
|
39
|
+
##### Related code changes
|
|
40
|
+
|
|
41
|
+
```diff
|
|
42
|
+
{{{ appmap.sourceDiff }}}
|
|
43
|
+
```
|
|
44
|
+
{{/if}}
|
|
45
|
+
|
|
46
|
+
##### Stack trace
|
|
47
|
+
|
|
48
|
+
{{#with finding}}
|
|
49
|
+
{{> finding-stack}}
|
|
50
|
+
{{/with}}
|
|
51
|
+
|
|
52
|
+
</details>
|
|
53
|
+
{{/inline}}
|
|
54
|
+
{{#with findingDiff}}
|
|
55
|
+
{{#if (length newFindings resolvedFindings)}}
|
|
56
|
+
<h2 id="findings">Findings</h2>
|
|
57
|
+
|
|
58
|
+
{{#with newFindings}}
|
|
59
|
+
### :beetle: New findings ({{ length this}})
|
|
60
|
+
|
|
61
|
+
{{#each this}}
|
|
62
|
+
{{> finding}}
|
|
63
|
+
{{/each}}
|
|
64
|
+
|
|
65
|
+
{{/with}}
|
|
66
|
+
|
|
67
|
+
{{#with resolvedFindings}}
|
|
68
|
+
### :tada: Resolved findings ({{ length this}})
|
|
69
|
+
|
|
70
|
+
{{#each this}}
|
|
71
|
+
{{> finding}}
|
|
72
|
+
{{/each}}
|
|
73
|
+
|
|
74
|
+
{{/with}}
|
|
75
|
+
|
|
76
|
+
{{#if pruned}}
|
|
77
|
+
Because there are so many new and resolved findings, some of them are not listed in this report.
|
|
78
|
+
{{/if}}
|
|
79
|
+
{{/if}}
|
|
80
|
+
{{/with}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
| [Findings](#findings) |
|
|
2
|
+
{{~#with findingDiff}}
|
|
3
|
+
{{~#unless (length newFindings resolvedFindings) }}
|
|
4
|
+
:white_check_mark: None
|
|
5
|
+
{{~/unless}}
|
|
6
|
+
{{~#if (length newFindings) }}
|
|
7
|
+
:beetle: {{length newFindings}} new
|
|
8
|
+
{{~/if}}
|
|
9
|
+
{{~#if (length resolvedFindings) }}
|
|
10
|
+
:tada: {{length resolvedFindings}} resolved
|
|
11
|
+
{{~/if}}
|
|
12
|
+
{{~/with}}
|
|
13
|
+
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{{#if newAppMaps.length }}
|
|
2
|
+
<h2 id="new-appmaps">New AppMaps</h2>
|
|
3
|
+
{{#each newAppMaps}}
|
|
4
|
+
|
|
5
|
+
- [{{appmap_title this}}]({{ appmap_url 'head' this }})
|
|
6
|
+
|
|
7
|
+
{{/each}}
|
|
8
|
+
{{#if pruned}}
|
|
9
|
+
Because there are so many new AppMaps, some of them are not listed in this report.
|
|
10
|
+
{{/if}}
|
|
11
|
+
{{/if}}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{{#*inline "api-change"}}
|
|
2
|
+
{{title}} {{#each sourceSpecEntityDetails}}`{{location}}`{{/each}} {{#each destinationSpecEntityDetails}}`{{location}}`{{/each}}
|
|
3
|
+
{{~/inline}}
|
|
4
|
+
{{#if openapiDiff.differenceCount}}
|
|
5
|
+
<h2 id="openapi-changes">🔄 API changes</h2>
|
|
6
|
+
|
|
7
|
+
{{#with openapiDiff}}
|
|
8
|
+
{{#if differenceCount}}
|
|
9
|
+
{{#if breakingDifferences}}
|
|
10
|
+
### 🚧 Breaking changes
|
|
11
|
+
|
|
12
|
+
<small>These changes <b>are not</b> backwards-compatible, according to the OpenAPI specification.</small>
|
|
13
|
+
|
|
14
|
+
{{#each breakingDifferences}}
|
|
15
|
+
- {{> api-change }}
|
|
16
|
+
{{/each}}
|
|
17
|
+
{{/if}}
|
|
18
|
+
|
|
19
|
+
{{#if nonBreakingDifferences}}
|
|
20
|
+
### :wrench: Non-breaking changes
|
|
21
|
+
|
|
22
|
+
<small>These changes <b>are</b> backwards-compatible, according to the OpenAPI specification.</small>
|
|
23
|
+
|
|
24
|
+
{{#each nonBreakingDifferences}}
|
|
25
|
+
- {{> api-change }}
|
|
26
|
+
{{/each}}
|
|
27
|
+
{{/if}}
|
|
28
|
+
|
|
29
|
+
{{#if unclassifiedDifferences}}
|
|
30
|
+
### Unclassified changes
|
|
31
|
+
|
|
32
|
+
<small>The backwards-compatible of these changes <b>cannot be determined</b>, according to the OpenAPI specification.</small>
|
|
33
|
+
|
|
34
|
+
{{#each unclassifiedDifferences}}
|
|
35
|
+
- {{> api-change }}
|
|
36
|
+
{{/each}}
|
|
37
|
+
{{/if}}
|
|
38
|
+
|
|
39
|
+
{{#if pruned}}
|
|
40
|
+
Because there are so many OpenAPI changes, some of them are not listed in this report,
|
|
41
|
+
and the full diff has not been printed either.
|
|
42
|
+
{{else}}
|
|
43
|
+
<details>
|
|
44
|
+
<summary>
|
|
45
|
+
Detailed OpenAPI diff
|
|
46
|
+
</summary>
|
|
47
|
+
|
|
48
|
+
```diff
|
|
49
|
+
{{{sourceDiff}}}
|
|
50
|
+
```
|
|
51
|
+
</details>
|
|
52
|
+
{{/if}}
|
|
53
|
+
{{/if}}
|
|
54
|
+
{{/with}}
|
|
55
|
+
{{/if}}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{{#with openapiDiff }}
|
|
2
|
+
| [API changes](#openapi-changes) |
|
|
3
|
+
{{~#if differenceCount }}
|
|
4
|
+
{{~#if breakingDifferenceCount }} 🚧 {{breakingDifferenceCount}} breaking{{~/if}}
|
|
5
|
+
{{~#if nonBreakingDifferenceCount }}{{#if breakingDifferenceCount }},{{~/if}} :wrench: {{nonBreakingDifferenceCount}} non-breaking{{/if~}}
|
|
6
|
+
{{~else}} :white_check_mark: No API changes
|
|
7
|
+
{{~/if}} |
|
|
8
|
+
{{~/with}}
|
package/built/lib/findings.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// TODO: These types are copied from @appland/scanner. @appland/scanner should become a dependency of @appland/appmap,
|
|
3
|
-
// and the CLI commands should be removed from @appland/scanner.
|
|
4
|
-
// The fact that the two projects both have a CLI is just a historical artifact, that can now be resoved.
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
//# sourceMappingURL=findings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/lib/findings.ts"],"names":[],"mappings":";AAAA,sHAAsH;AACtH,gEAAgE;AAChE,yGAAyG"}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
# AppMap
|
|
2
|
-
|
|
3
|
-
{{#*inline "api-change"}}
|
|
4
|
-
{{title}} {{#each sourceSpecEntityDetails}}`{{location}}`{{/each}} {{#each destinationSpecEntityDetails}}`{{location}}`{{/each}}
|
|
5
|
-
{{~/inline}}
|
|
6
|
-
|
|
7
|
-
{{#*inline "sequence-diagram-diff-link"}}
|
|
8
|
-
{{#if sequenceDiagramDiff}}[{{sequenceDiagramDiff}}]({{ appmap_diff_url sequenceDiagramDiff}}){{/if}}{{#unless sequenceDiagramDiff}}No structural changes detected{{/unless}}
|
|
9
|
-
{{~/inline}}
|
|
10
|
-
|
|
11
|
-
{{#*inline "finding-source-diff"}}
|
|
12
|
-
{{#if (has_source_diff appmap) }}
|
|
13
|
-
|
|
14
|
-
The following code changes are related to this finding:
|
|
15
|
-
|
|
16
|
-
```diff
|
|
17
|
-
{{{source_diff appmap}}}
|
|
18
|
-
```
|
|
19
|
-
{{else}}
|
|
20
|
-
|
|
21
|
-
No relevant code changes found.
|
|
22
|
-
{{/if}}
|
|
23
|
-
{{/inline}}
|
|
24
|
-
|
|
25
|
-
{{#*inline "finding-stack" }}
|
|
26
|
-
{{#with stack }}
|
|
27
|
-
{{#each this }}
|
|
28
|
-
{{#if (source_url this)}}
|
|
29
|
-
- [{{this}}]({{ source_url this }})
|
|
30
|
-
{{else}}
|
|
31
|
-
- {{ this }}
|
|
32
|
-
{{/if}}
|
|
33
|
-
{{/each}}
|
|
34
|
-
{{/with}}
|
|
35
|
-
|
|
36
|
-
{{/inline}}
|
|
37
|
-
|
|
38
|
-
{{#*inline "finding"}}
|
|
39
|
-
|
|
40
|
-
### {{ ruleTitle }}
|
|
41
|
-
|
|
42
|
-
<details>
|
|
43
|
-
<summary>
|
|
44
|
-
Finding details
|
|
45
|
-
</summary>
|
|
46
|
-
|
|
47
|
-
| Field | Value |
|
|
48
|
-
| --- | --- |
|
|
49
|
-
| Message | {{ message }} |
|
|
50
|
-
| AppMap | [{{appmap}}]({{~ appmap_url 'head' appmap }}) |
|
|
51
|
-
|
|
52
|
-
##### Related code changes
|
|
53
|
-
|
|
54
|
-
{{~> finding-source-diff}}
|
|
55
|
-
|
|
56
|
-
##### Stack trace
|
|
57
|
-
|
|
58
|
-
{{> finding-stack}}
|
|
59
|
-
|
|
60
|
-
</details>
|
|
61
|
-
{{/inline}}
|
|
62
|
-
|
|
63
|
-
| Summary | Status |
|
|
64
|
-
| --- | --- |
|
|
65
|
-
{{#if (enabled 'failed-tests') }}
|
|
66
|
-
| [Failed tests](#failed-tests) | {{#if testFailures.length}}:warning: {{testFailures.length}} failed{{else}}:white_check_mark: All tests passed{{/if}} |
|
|
67
|
-
{{~/if}}
|
|
68
|
-
{{~#if (enabled 'openapi-diff')}}{{~#if (defined apiDiff) }}
|
|
69
|
-
| [API changes](#api-changes) |
|
|
70
|
-
{{~#unless apiDiff.differenceCount }}
|
|
71
|
-
:white_check_mark: No API changes
|
|
72
|
-
{{~/unless}}
|
|
73
|
-
{{~#if apiDiff.differenceCount }}
|
|
74
|
-
{{~#if apiDiff.breakingDifferenceCount }}🚧 {{apiDiff.breakingDifferenceCount}} breaking{{~/if}}
|
|
75
|
-
{{~#if apiDiff.nonBreakingDifferenceCount }}{{#if apiDiff.breakingDifferenceCount }}, {{~/if}}:wrench: {{apiDiff.nonBreakingDifferenceCount}} non-breaking{{~/if}}
|
|
76
|
-
{{~/if}}
|
|
77
|
-
|
|
|
78
|
-
{{~/if}}{{~/if}}
|
|
79
|
-
{{~#if (enabled 'findings')}}{{~#if (defined findingDiff) }}
|
|
80
|
-
| [Findings](#findings) |
|
|
81
|
-
{{~#with findingDiff}}
|
|
82
|
-
{{~#unless (length new resolved) }}
|
|
83
|
-
:white_check_mark: None
|
|
84
|
-
{{~/unless}}
|
|
85
|
-
{{~#if (length new) }}
|
|
86
|
-
:beetle: {{length new}} new
|
|
87
|
-
{{~/if}}
|
|
88
|
-
{{~#if (length resolved) }}
|
|
89
|
-
:tada: {{length resolved}} resolved
|
|
90
|
-
{{~/if}}
|
|
91
|
-
{{~/with}}
|
|
92
|
-
|
|
|
93
|
-
{{~/if}}{{~/if}}
|
|
94
|
-
{{#if (enabled 'new-appmaps')}}
|
|
95
|
-
| [New AppMaps](#new-appmaps) |
|
|
96
|
-
{{~#unless newAppMaps.length }}
|
|
97
|
-
:white_check_mark: None
|
|
98
|
-
{{~else}}
|
|
99
|
-
:star: {{newAppMaps.length}} new
|
|
100
|
-
{{~/unless}}
|
|
101
|
-
|
|
|
102
|
-
{{/if}}
|
|
103
|
-
{{#if (enabled 'changed-appmaps')}}
|
|
104
|
-
| [Changed AppMaps](#changed-appmaps) |
|
|
105
|
-
{{~#unless sequenceDiagramDiffSnippetCount }}
|
|
106
|
-
:white_check_mark: No changes
|
|
107
|
-
{{~else}}
|
|
108
|
-
:twisted_rightwards_arrows: {{sequenceDiagramDiffSnippetCount}} changes
|
|
109
|
-
{{~/unless}}
|
|
110
|
-
|
|
|
111
|
-
{{~/if}}
|
|
112
|
-
|
|
113
|
-
{{#if (enabled 'failed-tests')}}
|
|
114
|
-
{{#if testFailures.length}}
|
|
115
|
-
## :warning: Failed tests
|
|
116
|
-
|
|
117
|
-
{{#each testFailures}}
|
|
118
|
-
|
|
119
|
-
<details>
|
|
120
|
-
<summary>
|
|
121
|
-
{{ testLocation }}
|
|
122
|
-
</summary>
|
|
123
|
-
|
|
124
|
-
<p/>
|
|
125
|
-
|
|
126
|
-
[{{testLocation}}]({{ source_url testLocation }}) failed with error:
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
{{{failureMessage}}}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
{{#if failureLocation}}
|
|
133
|
-
The error occurred at [{{failureLocation}}]({{ source_url failureLocation }}):
|
|
134
|
-
{{/if}}
|
|
135
|
-
|
|
136
|
-
{{#if testSnippet}}
|
|
137
|
-
{{#with testSnippet}}
|
|
138
|
-
```{{language}}
|
|
139
|
-
{{{codeFragment}}}
|
|
140
|
-
```
|
|
141
|
-
{{/with}}
|
|
142
|
-
{{/if}}
|
|
143
|
-
|
|
144
|
-
{{#if (has_source_diff appmap)}}
|
|
145
|
-
|
|
146
|
-
The following code changes may be related to this test failure:
|
|
147
|
-
|
|
148
|
-
```diff
|
|
149
|
-
{{{source_diff appmap}}}
|
|
150
|
-
```
|
|
151
|
-
{{else}}
|
|
152
|
-
|
|
153
|
-
No relevant code changes found.
|
|
154
|
-
{{/if}}
|
|
155
|
-
|
|
156
|
-
| Diagram | Link |
|
|
157
|
-
| --- | --- |
|
|
158
|
-
{{#if changedAppMap}}
|
|
159
|
-
{{#with changedAppMap}}
|
|
160
|
-
| Sequence diagram diff | {{> sequence-diagram-diff-link }} |
|
|
161
|
-
{{/with}}
|
|
162
|
-
{{/if}}
|
|
163
|
-
| AppMap | [{{appmap}}]({{ appmap_url 'head' appmap }}) |
|
|
164
|
-
|
|
165
|
-
</details>
|
|
166
|
-
|
|
167
|
-
{{/each}}
|
|
168
|
-
{{/if}}
|
|
169
|
-
{{/if}}
|
|
170
|
-
|
|
171
|
-
{{#if (enabled 'openapi-diff')}}
|
|
172
|
-
{{#if apiDiff.differenceCount }}
|
|
173
|
-
|
|
174
|
-
## 🔄 API changes
|
|
175
|
-
|
|
176
|
-
{{#if apiDiff.breakingDifferences}}
|
|
177
|
-
### 🚧 Breaking changes
|
|
178
|
-
|
|
179
|
-
{{#each apiDiff.breakingDifferences}}
|
|
180
|
-
- {{> api-change }}
|
|
181
|
-
{{/each}}
|
|
182
|
-
{{/if}}
|
|
183
|
-
|
|
184
|
-
{{#if apiDiff.nonBreakingDifferences}}
|
|
185
|
-
### :wrench: Non-breaking changes
|
|
186
|
-
|
|
187
|
-
{{#each apiDiff.nonBreakingDifferences}}
|
|
188
|
-
- {{> api-change }}
|
|
189
|
-
{{/each}}
|
|
190
|
-
{{/if}}
|
|
191
|
-
|
|
192
|
-
{{#if apiDiff.unclassifiedDifferences}}
|
|
193
|
-
### Unclassified changes
|
|
194
|
-
|
|
195
|
-
{{#each apiDiff.unclassifiedDifferences}}
|
|
196
|
-
- {{> api-change }}
|
|
197
|
-
{{/each}}
|
|
198
|
-
{{/if}}
|
|
199
|
-
|
|
200
|
-
<details>
|
|
201
|
-
<summary>
|
|
202
|
-
Detailed OpenAPI diff
|
|
203
|
-
</summary>
|
|
204
|
-
|
|
205
|
-
```diff
|
|
206
|
-
{{{apiDiff.sourceDiff}}}
|
|
207
|
-
```
|
|
208
|
-
</details>
|
|
209
|
-
|
|
210
|
-
{{/if}}
|
|
211
|
-
{{/if}}
|
|
212
|
-
|
|
213
|
-
{{#if (enabled 'findings') }}
|
|
214
|
-
{{#with findingDiff}}
|
|
215
|
-
{{#if (length new resolved)}}
|
|
216
|
-
|
|
217
|
-
<h2 id="findings">Findings</h2>
|
|
218
|
-
|
|
219
|
-
{{#with new}}
|
|
220
|
-
### :beetle: New findings ({{ length this}})
|
|
221
|
-
|
|
222
|
-
{{#each this}}
|
|
223
|
-
{{> finding}}
|
|
224
|
-
{{/each}}
|
|
225
|
-
|
|
226
|
-
{{/with}}
|
|
227
|
-
|
|
228
|
-
{{#with resolved}}
|
|
229
|
-
### :tada: Resolved findings ({{ length this}})
|
|
230
|
-
|
|
231
|
-
{{#each this}}
|
|
232
|
-
{{> finding}}
|
|
233
|
-
{{/each}}
|
|
234
|
-
|
|
235
|
-
{{/with}}
|
|
236
|
-
|
|
237
|
-
{{/if}}
|
|
238
|
-
{{/with}}
|
|
239
|
-
{{/if}}
|
|
240
|
-
|
|
241
|
-
{{#if (enabled 'new-appmaps')}}
|
|
242
|
-
{{#if newAppMaps.length }}
|
|
243
|
-
|
|
244
|
-
<h2 id="new-appmaps">New AppMaps</h2>
|
|
245
|
-
|
|
246
|
-
{{#each newAppMaps}}
|
|
247
|
-
|
|
248
|
-
[{{this}}]({{ appmap_url 'head' this }})
|
|
249
|
-
|
|
250
|
-
{{/each}}
|
|
251
|
-
|
|
252
|
-
{{/if}}
|
|
253
|
-
{{/if}}
|
|
254
|
-
|
|
255
|
-
{{#if (enabled 'changed-appmaps')}}
|
|
256
|
-
{{#if sequenceDiagramDiffSnippetCount }}
|
|
257
|
-
## :twisted_rightwards_arrows: Changed AppMaps
|
|
258
|
-
|
|
259
|
-
<details>
|
|
260
|
-
|
|
261
|
-
<summary>
|
|
262
|
-
Review {{ sequenceDiagramDiffSnippetCount }} changes
|
|
263
|
-
</summary>
|
|
264
|
-
|
|
265
|
-
{{#each sequenceDiagramDiff}}
|
|
266
|
-
|
|
267
|
-
```
|
|
268
|
-
{{{@key}}}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
{{#each this}}
|
|
272
|
-
- [{{.}}]({{ appmap_diff_url . }})
|
|
273
|
-
{{/each}}
|
|
274
|
-
|
|
275
|
-
{{/each}}
|
|
276
|
-
|
|
277
|
-
</details>
|
|
278
|
-
{{/if}}
|
|
279
|
-
{{/if}}
|