@packtory/cli 0.0.106 → 0.0.108

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 (172) hide show
  1. package/command-line-interface/config-loader.js +33 -2
  2. package/command-line-interface/config-loader.js.map +1 -1
  3. package/command-line-interface/one-time-password-prompt.js +31 -0
  4. package/command-line-interface/one-time-password-prompt.js.map +1 -1
  5. package/command-line-interface/preview-io/preview-io-shared.js +31 -2
  6. package/command-line-interface/preview-io/preview-io-shared.js.map +1 -1
  7. package/command-line-interface/preview-io/preview-io.js +15 -4
  8. package/command-line-interface/preview-io/preview-io.js.map +1 -1
  9. package/command-line-interface/preview-io/preview-spawn.js +26 -1
  10. package/command-line-interface/preview-io/preview-spawn.js.map +1 -1
  11. package/command-line-interface/runner/changelog-destinations.js +220 -5
  12. package/command-line-interface/runner/changelog-destinations.js.map +1 -1
  13. package/command-line-interface/runner/changelog-handler.js +79 -5
  14. package/command-line-interface/runner/changelog-handler.js.map +1 -1
  15. package/command-line-interface/runner/changelog-pr-log-config.js +147 -1
  16. package/command-line-interface/runner/changelog-pr-log-config.js.map +1 -1
  17. package/command-line-interface/runner/command-parsing.js +10 -0
  18. package/command-line-interface/runner/command-parsing.js.map +1 -1
  19. package/command-line-interface/runner/config-inspect-handler.js +79 -4
  20. package/command-line-interface/runner/config-inspect-handler.js.map +1 -1
  21. package/command-line-interface/runner/failure-printing.js +75 -5
  22. package/command-line-interface/runner/failure-printing.js.map +1 -1
  23. package/command-line-interface/runner/github-api-request.js +100 -0
  24. package/command-line-interface/runner/github-api-request.js.map +1 -1
  25. package/command-line-interface/runner/github-release-client.js +102 -2
  26. package/command-line-interface/runner/github-release-client.js.map +1 -1
  27. package/command-line-interface/runner/github-release-notes.js +74 -1
  28. package/command-line-interface/runner/github-release-notes.js.map +1 -1
  29. package/command-line-interface/runner/github-repository.js +14 -1
  30. package/command-line-interface/runner/github-repository.js.map +1 -1
  31. package/command-line-interface/runner/pack-handler.js +201 -4
  32. package/command-line-interface/runner/pack-handler.js.map +1 -1
  33. package/command-line-interface/runner/package-dependencies-handler.js +49 -4
  34. package/command-line-interface/runner/package-dependencies-handler.js.map +1 -1
  35. package/command-line-interface/runner/package-inspection-handler.js +21 -0
  36. package/command-line-interface/runner/package-inspection-handler.js.map +1 -1
  37. package/command-line-interface/runner/package-side-effects-handler.js +51 -5
  38. package/command-line-interface/runner/package-side-effects-handler.js.map +1 -1
  39. package/command-line-interface/runner/package-tree-handler.js +66 -3
  40. package/command-line-interface/runner/package-tree-handler.js.map +1 -1
  41. package/command-line-interface/runner/preview-handler.js +50 -4
  42. package/command-line-interface/runner/preview-handler.js.map +1 -1
  43. package/command-line-interface/runner/progress-wiring.js +32 -0
  44. package/command-line-interface/runner/progress-wiring.js.map +1 -1
  45. package/command-line-interface/runner/publish-handler.js +45 -2
  46. package/command-line-interface/runner/publish-handler.js.map +1 -1
  47. package/command-line-interface/runner/release-diff-handler.js +33 -3
  48. package/command-line-interface/runner/release-diff-handler.js.map +1 -1
  49. package/command-line-interface/runner/release-handler.js +246 -5
  50. package/command-line-interface/runner/release-handler.js.map +1 -1
  51. package/command-line-interface/runner/release-output-files.js +24 -2
  52. package/command-line-interface/runner/release-output-files.js.map +1 -1
  53. package/command-line-interface/runner/release-plan-result-printing.js +25 -2
  54. package/command-line-interface/runner/release-plan-result-printing.js.map +1 -1
  55. package/command-line-interface/runner/release-pr-branch-commit.js +108 -2
  56. package/command-line-interface/runner/release-pr-branch-commit.js.map +1 -1
  57. package/command-line-interface/runner/release-pr-github-client.js +289 -8
  58. package/command-line-interface/runner/release-pr-github-client.js.map +1 -1
  59. package/command-line-interface/runner/release-pr-workflow-run-cancellation.js +66 -3
  60. package/command-line-interface/runner/release-pr-workflow-run-cancellation.js.map +1 -1
  61. package/command-line-interface/runner/release-pr-workflow-runs.js +52 -1
  62. package/command-line-interface/runner/release-pr-workflow-runs.js.map +1 -1
  63. package/command-line-interface/runner/release-preparation.js +91 -4
  64. package/command-line-interface/runner/release-preparation.js.map +1 -1
  65. package/command-line-interface/runner/release-publish-authorization.js +66 -1
  66. package/command-line-interface/runner/release-publish-authorization.js.map +1 -1
  67. package/command-line-interface/runner/release-pull-request-ci.js +297 -0
  68. package/command-line-interface/runner/release-pull-request-ci.js.map +1 -1
  69. package/command-line-interface/runner/release-pull-request-config.d.ts +50 -12
  70. package/command-line-interface/runner/release-pull-request-config.d.ts.map +1 -1
  71. package/command-line-interface/runner/release-pull-request-config.js +51 -5
  72. package/command-line-interface/runner/release-pull-request-config.js.map +1 -1
  73. package/command-line-interface/runner/release-pull-request-handler.js +320 -9
  74. package/command-line-interface/runner/release-pull-request-handler.js.map +1 -1
  75. package/command-line-interface/runner/release-pull-request-policy.js +46 -0
  76. package/command-line-interface/runner/release-pull-request-policy.js.map +1 -1
  77. package/command-line-interface/runner/release-pull-request-settings.js +18 -2
  78. package/command-line-interface/runner/release-pull-request-settings.js.map +1 -1
  79. package/command-line-interface/runner/report-persistence.js +25 -2
  80. package/command-line-interface/runner/report-persistence.js.map +1 -1
  81. package/command-line-interface/runner/runner-symbols.js +10 -1
  82. package/command-line-interface/runner/runner-symbols.js.map +1 -1
  83. package/command-line-interface/runner/runner.js +403 -15
  84. package/command-line-interface/runner/runner.js.map +1 -1
  85. package/command-line-interface/runner/terminal-error-chain.js +101 -0
  86. package/command-line-interface/runner/terminal-error-chain.js.map +1 -1
  87. package/command-line-interface/spinner/line-spinner-renderer.js +49 -2
  88. package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -1
  89. package/command-line-interface/spinner/spinner-boot.js +9 -1
  90. package/command-line-interface/spinner/spinner-boot.js.map +1 -1
  91. package/command-line-interface/spinner/spinner-glyphs.js +30 -1
  92. package/command-line-interface/spinner/spinner-glyphs.js.map +1 -1
  93. package/command-line-interface/spinner/spinner-render-sequence.js +30 -2
  94. package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -1
  95. package/command-line-interface/spinner/spinner-runtime.js +30 -1
  96. package/command-line-interface/spinner/spinner-runtime.js.map +1 -1
  97. package/command-line-interface/spinner/spinner-shared-state.js +271 -0
  98. package/command-line-interface/spinner/spinner-shared-state.js.map +1 -1
  99. package/command-line-interface/spinner/spinner-snapshots.js +11 -1
  100. package/command-line-interface/spinner/spinner-snapshots.js.map +1 -1
  101. package/command-line-interface/spinner/spinner-worker-backend.js +42 -0
  102. package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -1
  103. package/command-line-interface/spinner/spinner-worker-loop.js +39 -3
  104. package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -1
  105. package/command-line-interface/spinner/terminal-spinner-renderer.js +54 -0
  106. package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -1
  107. package/common/path-tree.js +100 -2
  108. package/common/path-tree.js.map +1 -1
  109. package/package.json +2 -2
  110. package/packages/command-line-interface/pull-request-label-versioning.js +80 -3
  111. package/packages/command-line-interface/pull-request-label-versioning.js.map +1 -1
  112. package/packages/command-line-interface/spinner-boot.entry-point.js +40 -3
  113. package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
  114. package/packtory/changelog-source-file-history.js +108 -2
  115. package/packtory/changelog-source-file-history.js.map +1 -1
  116. package/packtory/packtory-changelog.js +294 -5
  117. package/packtory/packtory-changelog.js.map +1 -1
  118. package/report/html-renderer/artifact-tree-renderer.js +28 -4
  119. package/report/html-renderer/artifact-tree-renderer.js.map +1 -1
  120. package/report/html-renderer/diagnostics-renderer.js +38 -2
  121. package/report/html-renderer/diagnostics-renderer.js.map +1 -1
  122. package/report/html-renderer/diff-renderer.js +28 -1
  123. package/report/html-renderer/diff-renderer.js.map +1 -1
  124. package/report/html-renderer/eliminated-files-renderer.js +15 -2
  125. package/report/html-renderer/eliminated-files-renderer.js.map +1 -1
  126. package/report/html-renderer/html-escaping.js +8 -0
  127. package/report/html-renderer/html-escaping.js.map +1 -1
  128. package/report/html-renderer/html-primitives.js +23 -1
  129. package/report/html-renderer/html-primitives.js.map +1 -1
  130. package/report/html-renderer/html-renderer.js +60 -4
  131. package/report/html-renderer/html-renderer.js.map +1 -1
  132. package/report/html-renderer/html-styles.js +176 -0
  133. package/report/html-renderer/html-styles.js.map +1 -1
  134. package/report/html-renderer/package-renderer.js +31 -6
  135. package/report/html-renderer/package-renderer.js.map +1 -1
  136. package/report/preview/artifact-diff-builder.js +19 -2
  137. package/report/preview/artifact-diff-builder.js.map +1 -1
  138. package/report/preview/artifact-tree-builder.js +19 -1
  139. package/report/preview/artifact-tree-builder.js.map +1 -1
  140. package/report/preview/bundle-artifact-index.js +15 -1
  141. package/report/preview/bundle-artifact-index.js.map +1 -1
  142. package/report/preview/preview-document-state.js +16 -0
  143. package/report/preview/preview-document-state.js.map +1 -1
  144. package/report/preview/preview-document.js +84 -6
  145. package/report/preview/preview-document.js.map +1 -1
  146. package/report/preview/preview-result-inspectors.js +33 -2
  147. package/report/preview/preview-result-inspectors.js.map +1 -1
  148. package/report/preview/preview-summary.js +25 -0
  149. package/report/preview/preview-summary.js.map +1 -1
  150. package/report/release-diff/release-diff-document.js +25 -2
  151. package/report/release-diff/release-diff-document.js.map +1 -1
  152. package/report/release-diff/release-diff-summary.js +39 -1
  153. package/report/release-diff/release-diff-summary.js.map +1 -1
  154. package/report/terminal-renderer/terminal-artifact-renderer.js +30 -2
  155. package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -1
  156. package/report/terminal-renderer/terminal-package-dependencies-renderer.js +77 -1
  157. package/report/terminal-renderer/terminal-package-dependencies-renderer.js.map +1 -1
  158. package/report/terminal-renderer/terminal-package-renderer.js +74 -2
  159. package/report/terminal-renderer/terminal-package-renderer.js.map +1 -1
  160. package/report/terminal-renderer/terminal-package-side-effects-renderer.js +54 -1
  161. package/report/terminal-renderer/terminal-package-side-effects-renderer.js.map +1 -1
  162. package/report/terminal-renderer/terminal-package-tree-renderer.js +16 -3
  163. package/report/terminal-renderer/terminal-package-tree-renderer.js.map +1 -1
  164. package/report/terminal-renderer/terminal-preview-renderer-shared.js +61 -3
  165. package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -1
  166. package/report/terminal-renderer/terminal-preview-renderer.js +54 -2
  167. package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -1
  168. package/report/terminal-renderer/terminal-release-diff-package-renderer.js +145 -4
  169. package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -1
  170. package/report/terminal-renderer/terminal-release-diff-renderer.js +48 -2
  171. package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -1
  172. package/sbom.cdx.json +10 -10
@@ -1,2 +1,178 @@
1
1
  /* eslint-disable @stylistic/max-len -- CSS literals are intentionally long */
2
+ export function htmlReportStyles() {
3
+ return `
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #f4f0e8;
7
+ --panel: #fffdf8;
8
+ --line: #d8cfc2;
9
+ --text: #2c2924;
10
+ --muted: #6b645a;
11
+ --changed: #b6540d;
12
+ --generated: #0b6e4f;
13
+ --unchanged: #4f6d7a;
14
+ --danger: #b42318;
15
+ --danger-bg: #fff1ef;
16
+ --diff-add: #e7f6ec;
17
+ --diff-remove: #fdecec;
18
+ --diff-header: #efe7da;
19
+ --shadow: 0 18px 50px rgba(63, 48, 29, 0.08);
20
+ }
21
+ * { box-sizing: border-box; }
22
+ body {
23
+ margin: 0;
24
+ background:
25
+ radial-gradient(circle at top left, rgba(193, 143, 71, 0.15), transparent 28rem),
26
+ linear-gradient(180deg, #f6f2e8 0%, var(--bg) 100%);
27
+ color: var(--text);
28
+ font-family: Georgia, serif;
29
+ }
30
+ main { max-width: 72rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
31
+ h1 { margin: 0 0 0.25rem; font-size: 2rem; }
32
+ h2, h3 { margin: 0 0 0.75rem; }
33
+ .meta { color: var(--muted); margin: 0; }
34
+ .header {
35
+ background: rgba(255, 253, 248, 0.82);
36
+ backdrop-filter: blur(14px);
37
+ border: 1px solid rgba(216, 207, 194, 0.85);
38
+ border-radius: 1.25rem;
39
+ padding: 1.5rem;
40
+ box-shadow: var(--shadow);
41
+ }
42
+ .mode-label {
43
+ display: inline-block;
44
+ font-size: 0.78rem;
45
+ letter-spacing: 0.08em;
46
+ text-transform: uppercase;
47
+ color: var(--muted);
48
+ margin-bottom: 0.65rem;
49
+ }
50
+ .summary {
51
+ display: grid;
52
+ grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
53
+ gap: 0.75rem;
54
+ margin: 1.5rem 0;
55
+ }
56
+ .summary-card {
57
+ background: var(--panel);
58
+ border: 1px solid var(--line);
59
+ border-radius: 0.9rem;
60
+ padding: 0.95rem 1rem;
61
+ box-shadow: var(--shadow);
62
+ }
63
+ .summary-label {
64
+ display: block;
65
+ color: var(--muted);
66
+ font-size: 0.82rem;
67
+ margin-bottom: 0.35rem;
68
+ }
69
+ .issues {
70
+ background: var(--danger-bg);
71
+ border: 1px solid rgba(180, 35, 24, 0.22);
72
+ border-radius: 0.9rem;
73
+ padding: 1rem 1.1rem;
74
+ margin: 1rem 0 0;
75
+ }
76
+ .packages { display: grid; gap: 1rem; }
77
+ details.package {
78
+ background: var(--panel);
79
+ border: 1px solid var(--line);
80
+ border-radius: 1rem;
81
+ box-shadow: var(--shadow);
82
+ overflow: hidden;
83
+ }
84
+ details.package > summary {
85
+ cursor: pointer;
86
+ list-style: none;
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: space-between;
90
+ gap: 1rem;
91
+ padding: 1rem 1.25rem;
92
+ font-weight: 700;
93
+ background: rgba(255, 250, 241, 0.85);
94
+ }
95
+ details.package > summary::-webkit-details-marker { display: none; }
96
+ .package-title { font-size: 1.05rem; }
97
+ .package-summary { display: flex; gap: 0.4rem; flex-wrap: wrap; justify-content: flex-end; }
98
+ .package-block { padding: 0 1.25rem 1.25rem; }
99
+ .tree { list-style: none; padding: 0; margin: 0; }
100
+ .tree-row {
101
+ display: grid;
102
+ grid-template-columns: minmax(0, 1fr) auto auto;
103
+ gap: 0.65rem;
104
+ padding: 0.32rem 0;
105
+ padding-left: calc(var(--depth) * 1rem);
106
+ border-bottom: 1px solid rgba(216, 207, 194, 0.35);
107
+ align-items: baseline;
108
+ }
109
+ .tree-row:last-child { border-bottom: 0; }
110
+ .tree-row.directory { grid-template-columns: minmax(0, 1fr); color: var(--muted); font-weight: 700; }
111
+ .tree-name { word-break: break-all; }
112
+ .tree-meta { color: var(--muted); font-size: 0.84rem; }
113
+ .tree-badges { display: flex; gap: 0.35rem; flex-wrap: wrap; justify-content: flex-end; }
114
+ .badge {
115
+ display: inline-flex;
116
+ align-items: center;
117
+ border-radius: 999px;
118
+ padding: 0.15rem 0.5rem;
119
+ font-size: 0.76rem;
120
+ font-family: ui-sans-serif, system-ui, sans-serif;
121
+ border: 1px solid currentColor;
122
+ }
123
+ .badge.secondary { color: var(--muted); }
124
+ .badge.status-changed { color: var(--changed); }
125
+ .badge.status-generated { color: var(--generated); }
126
+ .badge.status-unchanged { color: var(--unchanged); }
127
+ .failure {
128
+ margin: 0 1.25rem 1rem;
129
+ padding: 0.9rem 1rem;
130
+ background: var(--danger-bg);
131
+ border-radius: 0.8rem;
132
+ color: var(--danger);
133
+ }
134
+ .eliminated-list { margin: 0; padding-left: 1.25rem; }
135
+ details.diff, details.diagnostic {
136
+ border: 1px solid rgba(216, 207, 194, 0.7);
137
+ border-radius: 0.8rem;
138
+ margin-top: 0.75rem;
139
+ overflow: hidden;
140
+ background: #fffdfa;
141
+ }
142
+ details.diff > summary, details.diagnostic > summary {
143
+ cursor: pointer;
144
+ list-style: none;
145
+ padding: 0.75rem 0.9rem;
146
+ font-weight: 600;
147
+ }
148
+ details.diff > summary::-webkit-details-marker, details.diagnostic > summary::-webkit-details-marker { display: none; }
149
+ .diff-hunk { border-top: 1px solid rgba(216, 207, 194, 0.5); }
150
+ .diff-header {
151
+ padding: 0.45rem 0.75rem;
152
+ background: var(--diff-header);
153
+ color: var(--muted);
154
+ font-family: ui-monospace, monospace;
155
+ font-size: 0.8rem;
156
+ }
157
+ .diff-line {
158
+ white-space: pre-wrap;
159
+ font-family: ui-monospace, monospace;
160
+ font-size: 0.83rem;
161
+ padding: 0.08rem 0.75rem;
162
+ }
163
+ .diff-line.add { background: var(--diff-add); }
164
+ .diff-line.remove { background: var(--diff-remove); }
165
+ pre {
166
+ margin: 0;
167
+ padding: 0.95rem 1rem 1rem;
168
+ overflow-x: auto;
169
+ background: #faf6ef;
170
+ font-size: 0.82rem;
171
+ }
172
+ @media (max-width: 720px) {
173
+ .tree-row { grid-template-columns: minmax(0, 1fr); }
174
+ .tree-badges, .package-summary { justify-content: flex-start; }
175
+ }
176
+ `;
177
+ }
2
178
  //# sourceMappingURL=html-styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-styles.js","sourceRoot":"","sources":["../../../../../source/report/html-renderer/html-styles.ts"],"names":[],"mappings":"AAAA,8EAA8E"}
1
+ {"version":3,"file":"html-styles.js","sourceRoot":"","sources":["../../../../../source/report/html-renderer/html-styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,MAAM,UAAU,gBAAgB;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6KV,CAAC;AACF,CAAC"}
@@ -1,7 +1,32 @@
1
- import "./artifact-tree-renderer.js";
2
- import "./diff-renderer.js";
3
- import "./diagnostics-renderer.js";
4
- import "./eliminated-files-renderer.js";
5
- import "./html-escaping.js";
6
- import "./html-primitives.js";
1
+ import { renderArtifactNode } from "./artifact-tree-renderer.js";
2
+ import { renderPackageDiffs } from "./diff-renderer.js";
3
+ import { renderDiagnostics, renderFailureBanner } from "./diagnostics-renderer.js";
4
+ import { renderEliminatedFiles } from "./eliminated-files-renderer.js";
5
+ import { escapeHtml } from "./html-escaping.js";
6
+ import { renderBadge } from "./html-primitives.js";
7
+ function renderPackageBadges(previewPackage) {
8
+ return [
9
+ renderBadge(previewPackage.hasChanges ? 'changed' : 'unchanged', previewPackage.hasChanges ? 'status-changed' : 'status-unchanged'),
10
+ ...previewPackage.versionTransition === undefined
11
+ ? []
12
+ : [renderBadge(previewPackage.versionTransition, 'secondary')]
13
+ ]
14
+ .join('');
15
+ }
16
+ export function renderPackage(previewPackage) {
17
+ const badges = renderPackageBadges(previewPackage);
18
+ const summary = `<span class="package-title">${escapeHtml(previewPackage.name)}</span>` +
19
+ `<span class="package-summary">${badges}</span>`;
20
+ return `<details class="package"${previewPackage.openByDefault ? ' open' : ''}>
21
+ <summary>${summary}</summary>
22
+ ${renderFailureBanner(previewPackage)}
23
+ <section class="package-block">
24
+ <h3>Artifacts</h3>
25
+ <ul class="tree">${previewPackage.tree.map(renderArtifactNode).join('')}</ul>
26
+ </section>
27
+ ${renderEliminatedFiles(previewPackage)}
28
+ ${renderPackageDiffs(previewPackage)}
29
+ ${renderDiagnostics(previewPackage)}
30
+ </details>`;
31
+ }
7
32
  //# sourceMappingURL=package-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-renderer.js","sourceRoot":"","sources":["../../../../../source/report/html-renderer/package-renderer.ts"],"names":[],"mappings":"AACA,OAAmC,6BAA6B,CAAC;AACjE,OAAmC,oBAAoB,CAAC;AACxD,OAAuD,2BAA2B,CAAC;AACnF,OAAsC,gCAAgC,CAAC;AACvE,OAA2B,oBAAoB,CAAC;AAChD,OAA4B,sBAAsB,CAAC"}
1
+ {"version":3,"file":"package-renderer.js","sourceRoot":"","sources":["../../../../../source/report/html-renderer/package-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,SAAS,mBAAmB,CAAC,cAA8B;IACvD,OAAO;QACH,WAAW,CACP,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EACnD,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CACpE;QACD,GAAG,cAAc,CAAC,iBAAiB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAE,WAAW,CAAC,cAAc,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAE;KACvE;SACI,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,cAA8B;IACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,+BAA+B,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS;QACnF,iCAAiC,MAAM,SAAS,CAAC;IAErD,OAAO,2BAA2B,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;mBAC9D,OAAO;UAChB,mBAAmB,CAAC,cAAc,CAAC;;;+BAGd,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;UAEzE,qBAAqB,CAAC,cAAc,CAAC;UACrC,kBAAkB,CAAC,cAAc,CAAC;UAClC,iBAAiB,CAAC,cAAc,CAAC;eAC5B,CAAC;AAChB,CAAC"}
@@ -1,3 +1,20 @@
1
- import 'diff';
2
- import "packtory/report/preview/preview-document-diff.js";
1
+ import { structuredPatch } from 'diff';
2
+ import { isDiffableArtifact, toPreviewDiffHunk } from "packtory/report/preview/preview-document-diff.js";
3
+ const diffContextLines = 3;
4
+ const diffHunkLimit = 2;
5
+ export async function buildDiffForArtifact(packageName, artifact, bundleArtifactIndex, readWorkspaceFile) {
6
+ if (!isDiffableArtifact(artifact)) {
7
+ return undefined;
8
+ }
9
+ const finalArtifact = bundleArtifactIndex.get(packageName)?.get(artifact.path);
10
+ if (finalArtifact?.sourcePath !== artifact.sourcePath) {
11
+ return undefined;
12
+ }
13
+ const originalContent = await readWorkspaceFile(artifact.sourcePath);
14
+ if (originalContent === finalArtifact.content) {
15
+ return undefined;
16
+ }
17
+ const patchFile = structuredPatch(artifact.path, artifact.path, originalContent, finalArtifact.content, undefined, undefined, { context: diffContextLines });
18
+ return patchFile.hunks.slice(0, diffHunkLimit).map(toPreviewDiffHunk);
19
+ }
3
20
  //# sourceMappingURL=artifact-diff-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-diff-builder.js","sourceRoot":"","sources":["../../../../../source/report/preview/artifact-diff-builder.ts"],"names":[],"mappings":"AAAA,OAAgC,MAAM,CAAC;AAGvC,OAA4E,kDAA4B,CAAC"}
1
+ {"version":3,"file":"artifact-diff-builder.js","sourceRoot":"","sources":["../../../../../source/report/preview/artifact-diff-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAwB,MAAM,kDAA4B,CAAC;AAEzG,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,WAAmB,EACnB,QAAuB,EACvB,mBAAwC,EACxC,iBAAwD;IAExD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,eAAe,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAC7B,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,IAAI,EACb,eAAe,EACf,aAAa,CAAC,OAAO,EACrB,SAAS,EACT,SAAS,EACT,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAChC,CAAC;IACF,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,2 +1,20 @@
1
- import "../../common/path-tree.js";
1
+ import { buildPathTree, pathTreeNodeType } from "../../common/path-tree.js";
2
+ function toPreviewArtifactNode(node) {
3
+ if (node.type === pathTreeNodeType.directory) {
4
+ return { type: pathTreeNodeType.directory, path: node.path, name: node.name, depth: node.depth };
5
+ }
6
+ return {
7
+ type: pathTreeNodeType.file,
8
+ path: node.path,
9
+ name: node.name,
10
+ depth: node.depth,
11
+ artifact: node.item
12
+ };
13
+ }
14
+ export function buildArtifactTree(artifacts) {
15
+ return buildPathTree(artifacts, function (artifact) {
16
+ return artifact.path;
17
+ })
18
+ .map(toPreviewArtifactNode);
19
+ }
2
20
  //# sourceMappingURL=artifact-tree-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-tree-builder.js","sourceRoot":"","sources":["../../../../../source/report/preview/artifact-tree-builder.ts"],"names":[],"mappings":"AAAA,OAAmE,2BAA2B,CAAC"}
1
+ {"version":3,"file":"artifact-tree-builder.js","sourceRoot":"","sources":["../../../../../source/report/preview/artifact-tree-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAqB,MAAM,2BAA2B,CAAC;AAyB/F,SAAS,qBAAqB,CAAC,IAAmC;IAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACrG,CAAC;IACD,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;KACtB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAqC;IACnE,OAAO,aAAa,CAAC,SAAS,EAAE,UAAU,QAAQ;QAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC,CAAC;SACG,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACpC,CAAC"}
@@ -1,2 +1,16 @@
1
- import "packtory/common/package-layout.js";
1
+ import { packageManifestFilePath } from "packtory/common/package-layout.js";
2
+ export function buildBundleArtifactIndex(results) {
3
+ return new Map(results.map(function (result) {
4
+ const entries = new Map([
5
+ [packageManifestFilePath, { content: result.bundle.manifestFile.content }]
6
+ ]);
7
+ for (const entry of result.bundle.contents) {
8
+ entries.set(entry.fileDescription.targetFilePath, {
9
+ content: entry.fileDescription.content,
10
+ sourcePath: entry.fileDescription.inputFilePath
11
+ });
12
+ }
13
+ return [result.bundle.name, entries];
14
+ }));
15
+ }
2
16
  //# sourceMappingURL=bundle-artifact-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-artifact-index.js","sourceRoot":"","sources":["../../../../../source/report/preview/bundle-artifact-index.ts"],"names":[],"mappings":"AAAA,OAAwC,mCAAgC,CAAC"}
1
+ {"version":3,"file":"bundle-artifact-index.js","sourceRoot":"","sources":["../../../../../source/report/preview/bundle-artifact-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAgC,CAAC;AAUzE,MAAM,UAAU,wBAAwB,CAAC,OAAyC;IAC9E,OAAO,IAAI,GAAG,CACV,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAA+B;YAClD,CAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAE;SAC/E,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE;gBAC9C,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,OAAO;gBACtC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,aAAa;aAClD,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAW,CAAC;IACpD,CAAC,CAAC,CACL,CAAC;AACN,CAAC"}
@@ -1 +1,17 @@
1
+ export function buildVersionTransition(packageReport) {
2
+ const { version } = packageReport.decisions;
3
+ if (version === undefined) {
4
+ return undefined;
5
+ }
6
+ if (version.previousVersion === undefined) {
7
+ return version.chosenVersion;
8
+ }
9
+ return `${version.previousVersion} -> ${version.chosenVersion}`;
10
+ }
11
+ export function hasMeaningfulChanges(artifacts, eliminatedSourceFiles) {
12
+ return (eliminatedSourceFiles.length > 0 ||
13
+ artifacts.some(function (artifact) {
14
+ return artifact.status === 'changed';
15
+ }));
16
+ }
1
17
  //# sourceMappingURL=preview-document-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-document-state.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-state.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"preview-document-state.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-state.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,sBAAsB,CAAC,aAA4B;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,aAAa,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,eAAe,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,SAAqC,EACrC,qBAAsD;IAEtD,OAAO,CACH,qBAAqB,CAAC,MAAM,GAAG,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,UAAU,QAAQ;YAC7B,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;QACzC,CAAC,CAAC,CACL,CAAC;AACN,CAAC"}
@@ -1,7 +1,85 @@
1
- import "./artifact-diff-builder.js";
2
- import "./artifact-tree-builder.js";
3
- import "./bundle-artifact-index.js";
4
- import "./preview-document-state.js";
5
- import "./preview-result-inspectors.js";
6
- import "./preview-summary.js";
1
+ import { buildDiffForArtifact } from "./artifact-diff-builder.js";
2
+ import { buildArtifactTree } from "./artifact-tree-builder.js";
3
+ import { buildBundleArtifactIndex } from "./bundle-artifact-index.js";
4
+ import { buildVersionTransition, hasMeaningfulChanges } from "./preview-document-state.js";
5
+ import { getIssues, getResultType, getSucceededResults, isPreviewableResult } from "./preview-result-inspectors.js";
6
+ import { summarizePackages } from "./preview-summary.js";
7
+ function collectPackageArtifactData(artifacts) {
8
+ const changedArtifacts = [];
9
+ const emittedArtifacts = artifacts.length;
10
+ let changedArtifactCount = 0;
11
+ for (const artifact of artifacts) {
12
+ if (artifact.status === 'changed') {
13
+ changedArtifactCount += 1;
14
+ }
15
+ if (artifact.diff !== undefined) {
16
+ changedArtifacts.push({ ...artifact, diff: artifact.diff });
17
+ }
18
+ }
19
+ return {
20
+ changedArtifacts,
21
+ artifactCounts: {
22
+ emitted: emittedArtifacts,
23
+ changed: changedArtifactCount
24
+ }
25
+ };
26
+ }
27
+ async function buildPreviewArtifactWithDiff(packageName, artifact, bundleArtifactIndex, readWorkspaceFile) {
28
+ const diff = await buildDiffForArtifact(packageName, artifact, bundleArtifactIndex, readWorkspaceFile);
29
+ if (diff === undefined) {
30
+ return artifact;
31
+ }
32
+ return {
33
+ ...artifact,
34
+ diff
35
+ };
36
+ }
37
+ async function buildPreviewPackage(packageName, packageReport, bundleArtifactIndex, readWorkspaceFile) {
38
+ const emittedArtifacts = packageReport.outputs?.tarball.entries ?? [];
39
+ const artifacts = await Promise.all(emittedArtifacts.map(async function (artifact) {
40
+ return buildPreviewArtifactWithDiff(packageName, artifact, bundleArtifactIndex, readWorkspaceFile);
41
+ }));
42
+ const eliminatedSourceFiles = packageReport.eliminatedSourceFiles ?? [];
43
+ const hasChanges = hasMeaningfulChanges(artifacts, eliminatedSourceFiles);
44
+ const tree = buildArtifactTree(artifacts);
45
+ const { changedArtifacts, artifactCounts } = collectPackageArtifactData(artifacts);
46
+ return {
47
+ name: packageName,
48
+ versionTransition: buildVersionTransition(packageReport),
49
+ hasChanges,
50
+ openByDefault: hasChanges || packageReport.failure !== undefined,
51
+ tree,
52
+ changedArtifacts,
53
+ artifactCounts,
54
+ eliminatedSourceFiles,
55
+ failure: packageReport.failure,
56
+ diagnostics: packageReport
57
+ };
58
+ }
59
+ export async function buildPreviewDocument(input) {
60
+ const readWorkspaceFile = input.fileManager.readFile;
61
+ const bundleArtifactIndex = buildBundleArtifactIndex(getSucceededResults(input.result));
62
+ const packages = await Promise.all(Object.entries(input.report.packages).map(async function ([packageName, packageReport]) {
63
+ return buildPreviewPackage(packageName, packageReport, bundleArtifactIndex, readWorkspaceFile);
64
+ }));
65
+ return {
66
+ title: 'Packtory preview',
67
+ modeLabel: input.dryRun ? 'Dry run' : 'Publish',
68
+ previewable: isPreviewableResult(input.result),
69
+ resultType: getResultType(input.result),
70
+ summary: summarizePackages(packages),
71
+ packages,
72
+ issues: getIssues(input.result),
73
+ report: input.report
74
+ };
75
+ }
76
+ export function artifactStatusLabel(status) {
77
+ return status;
78
+ }
79
+ export function artifactBadgeLabel(badge) {
80
+ if (badge === 'dead-code-elimination') {
81
+ return 'dead code elimination';
82
+ }
83
+ return 'rewrite';
84
+ }
7
85
  //# sourceMappingURL=preview-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-document.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document.ts"],"names":[],"mappings":"AAIA,OAAqC,4BAA4B,CAAC;AAClE,OAAkF,4BAA4B,CAAC;AAC/G,OAAmE,4BAA4B,CAAC;AAChG,OAA6D,6BAA6B,CAAC;AAC3F,OAMO,gCAAgC,CAAC;AACxC,OAAuD,sBAAsB,CAAC"}
1
+ {"version":3,"file":"preview-document.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,34 @@
1
- import "packtory/packtory/partial-result.js";
2
- import "packtory/packtory/packtory-results.js";
1
+ import { isSuccessOrPartialSuccess, partialFailureMessages } from "packtory/packtory/partial-result.js";
2
+ import { partialFailureType, previewResultType } from "packtory/packtory/packtory-results.js";
3
+ export const isPreviewableResult = isSuccessOrPartialSuccess;
4
+ function describePreviewResult(result) {
5
+ if (result.isOk) {
6
+ return {
7
+ type: previewResultType.success,
8
+ succeeded: result.value,
9
+ issues: []
10
+ };
11
+ }
12
+ if (result.error.type === partialFailureType) {
13
+ return {
14
+ type: previewResultType.partial,
15
+ succeeded: result.error.succeeded,
16
+ issues: partialFailureMessages(result.error)
17
+ };
18
+ }
19
+ return {
20
+ type: result.error.type,
21
+ succeeded: [],
22
+ issues: result.error.issues
23
+ };
24
+ }
25
+ export function getSucceededResults(result) {
26
+ return describePreviewResult(result).succeeded;
27
+ }
28
+ export function getIssues(result) {
29
+ return describePreviewResult(result).issues;
30
+ }
31
+ export function getResultType(result) {
32
+ return describePreviewResult(result).type;
33
+ }
3
34
  //# sourceMappingURL=preview-result-inspectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-result-inspectors.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-result-inspectors.ts"],"names":[],"mappings":"AAEA,OAAkE,qCAAkC,CAAC;AAErG,OAAsD,uCAAoC,CAAC"}
1
+ {"version":3,"file":"preview-result-inspectors.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-result-inspectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,qCAAkC,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uCAAoC,CAAC;AAiB3F,MAAM,CAAC,MAAM,mBAAmB,GAA0C,yBAAyB,CAAC;AAEpG,SAAS,qBAAqB,CAAI,MAAqB;IACnD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO;YACH,IAAI,EAAE,iBAAiB,CAAC,OAAO;YAC/B,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,iBAAiB,CAAC,OAAO;YAC/B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;YACjC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACvB,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;KAC9B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IACxD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,MAAqB;IAC9C,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,MAAqB;IAClD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC"}
@@ -1 +1,26 @@
1
+ function createPreviewSummary(totalPackages) {
2
+ return {
3
+ totalPackages,
4
+ changedPackages: 0,
5
+ unchangedPackages: 0,
6
+ failedPackages: 0,
7
+ emittedArtifacts: 0,
8
+ changedArtifacts: 0,
9
+ eliminatedSourceFiles: 0
10
+ };
11
+ }
12
+ export function summarizePackages(packages) {
13
+ return packages.reduce(function (summary, previewPackage) {
14
+ return {
15
+ totalPackages: summary.totalPackages,
16
+ changedPackages: summary.changedPackages + (previewPackage.hasChanges ? 1 : 0),
17
+ unchangedPackages: summary.unchangedPackages +
18
+ (!previewPackage.hasChanges && previewPackage.failure === undefined ? 1 : 0),
19
+ failedPackages: summary.failedPackages + (previewPackage.failure === undefined ? 0 : 1),
20
+ emittedArtifacts: summary.emittedArtifacts + previewPackage.artifactCounts.emitted,
21
+ changedArtifacts: summary.changedArtifacts + previewPackage.artifactCounts.changed,
22
+ eliminatedSourceFiles: summary.eliminatedSourceFiles + previewPackage.eliminatedSourceFiles.length
23
+ };
24
+ }, createPreviewSummary(packages.length));
25
+ }
1
26
  //# sourceMappingURL=preview-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-summary.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-summary.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"preview-summary.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-summary.ts"],"names":[],"mappings":"AAsBA,SAAS,oBAAoB,CAAC,aAAqB;IAC/C,OAAO;QACH,aAAa;QACb,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,CAAC;QACpB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;KAC3B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAsC;IACpE,OAAO,QAAQ,CAAC,MAAM,CAClB,UAAU,OAAO,EAAE,cAAc;QAC7B,OAAO;YACH,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBACxC,CAAC,CAAC,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,CAAC,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO;YAClF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO;YAClF,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC,MAAM;SACrG,CAAC;IACN,CAAC,EACD,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxC,CAAC;AACN,CAAC"}
@@ -1,3 +1,26 @@
1
- import "../preview/preview-result-inspectors.js";
2
- import "./release-diff-summary.js";
1
+ import { getIssues, getResultType, isPreviewableResult } from "../preview/preview-result-inspectors.js";
2
+ import { summarizeReleaseDiff } from "./release-diff-summary.js";
3
+ function countFailedPackages(report) {
4
+ let failedPackages = 0;
5
+ for (const packageReport of Object.values(report.packages)) {
6
+ if (packageReport.failure !== undefined) {
7
+ failedPackages += 1;
8
+ }
9
+ }
10
+ return failedPackages;
11
+ }
12
+ export function buildReleaseDiffDocument(input) {
13
+ const { report, result, packages } = input;
14
+ const failedPackages = countFailedPackages(report);
15
+ return {
16
+ title: 'Packtory release diff',
17
+ modeLabel: 'vs registry latest',
18
+ previewable: isPreviewableResult(result),
19
+ resultType: getResultType(result),
20
+ summary: summarizeReleaseDiff(packages, failedPackages),
21
+ packages,
22
+ issues: getIssues(result),
23
+ report
24
+ };
25
+ }
3
26
  //# sourceMappingURL=release-diff-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-diff-document.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-diff-document.ts"],"names":[],"mappings":"AACA,OAKO,yCAAyC,CAAC;AAGjD,OAA8D,2BAA2B,CAAC"}
1
+ {"version":3,"file":"release-diff-document.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-diff-document.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,aAAa,EACb,mBAAmB,EAEtB,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAA2B,MAAM,2BAA2B,CAAC;AAmB1F,SAAS,mBAAmB,CAAC,MAAmB;IAC5C,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,cAAc,IAAI,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA+B;IACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO;QACH,KAAK,EAAE,uBAAuB;QAC9B,SAAS,EAAE,oBAAoB;QAC/B,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACxC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC;QACvD,QAAQ;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;QACzB,MAAM;KACT,CAAC;AACN,CAAC"}
@@ -1,2 +1,40 @@
1
- import "packtory/report/release-diff/file-set-diff.js";
1
+ import { packageReleaseDiffState } from "packtory/report/release-diff/file-set-diff.js";
2
+ function classifyStateCounts(packages) {
3
+ let changedPackages = 0;
4
+ let firstPublishPackages = 0;
5
+ let unchangedPackages = 0;
6
+ for (const packageDiff of packages) {
7
+ if (packageDiff.state === packageReleaseDiffState.changed) {
8
+ changedPackages += 1;
9
+ }
10
+ else if (packageDiff.state === packageReleaseDiffState.firstPublish) {
11
+ firstPublishPackages += 1;
12
+ }
13
+ else {
14
+ unchangedPackages += 1;
15
+ }
16
+ }
17
+ return { changedPackages, firstPublishPackages, unchangedPackages };
18
+ }
19
+ function aggregateFileCounts(packages) {
20
+ let addedFiles = 0;
21
+ let removedFiles = 0;
22
+ let modifiedFiles = 0;
23
+ for (const packageDiff of packages) {
24
+ addedFiles += packageDiff.files.added.length;
25
+ removedFiles += packageDiff.files.removed.length;
26
+ modifiedFiles += packageDiff.files.modified.length;
27
+ }
28
+ return { addedFiles, removedFiles, modifiedFiles };
29
+ }
30
+ export function summarizeReleaseDiff(packages, failedPackages) {
31
+ const stateCounts = classifyStateCounts(packages);
32
+ const fileCounts = aggregateFileCounts(packages);
33
+ return {
34
+ totalPackages: packages.length + failedPackages,
35
+ ...stateCounts,
36
+ failedPackages,
37
+ ...fileCounts
38
+ };
39
+ }
2
40
  //# sourceMappingURL=release-diff-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-diff-summary.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-diff-summary.ts"],"names":[],"mappings":"AAAA,OAA0E,+CAAoB,CAAC"}
1
+ {"version":3,"file":"release-diff-summary.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-diff-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAoC,MAAM,+CAAoB,CAAC;AAyB/F,SAAS,mBAAmB,CAAC,QAAgD;IACzE,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,WAAW,CAAC,KAAK,KAAK,uBAAuB,CAAC,OAAO,EAAE,CAAC;YACxD,eAAe,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,WAAW,CAAC,KAAK,KAAK,uBAAuB,CAAC,YAAY,EAAE,CAAC;YACpE,oBAAoB,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,iBAAiB,IAAI,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgD;IACzE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACjC,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,YAAY,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACjD,aAAa,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,QAAgD,EAChD,cAAsB;IAEtB,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO;QACH,aAAa,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc;QAC/C,GAAG,WAAW;QACd,cAAc;QACd,GAAG,UAAU;KAChB,CAAC;AACN,CAAC"}
@@ -1,3 +1,31 @@
1
- import "../../common/path-tree.js";
2
- import "../preview/preview-document.js";
1
+ import { pathTreeNodeType } from "../../common/path-tree.js";
2
+ import { artifactBadgeLabel, artifactStatusLabel } from "../preview/preview-document.js";
3
+ export function formatTerminalBytes(bytes) {
4
+ return `${bytes} B`;
5
+ }
6
+ function renderDirectoryNode(node, indent, colors) {
7
+ const directoryName = colors.bold(`▸ ${node.name}/`);
8
+ return `${indent}${directoryName}`;
9
+ }
10
+ function renderBadgeText(node) {
11
+ const { artifact } = node;
12
+ const badgeParts = [
13
+ artifactStatusLabel(artifact.status),
14
+ ...artifact.badges.map(artifactBadgeLabel)
15
+ ];
16
+ return badgeParts.join(', ');
17
+ }
18
+ function renderFileNode(node, indent, colors) {
19
+ const { artifact } = node;
20
+ const details = colors.dim(`(${artifact.kind}, ${formatTerminalBytes(artifact.sizeBytes)})`);
21
+ const badges = colors.yellow(`[${renderBadgeText(node)}]`);
22
+ return `${indent}• ${artifact.path} ${details} ${badges}`.trimEnd();
23
+ }
24
+ export function renderArtifactNode(node, colors) {
25
+ const indent = ` ${' '.repeat(node.depth)}`;
26
+ if (node.type === pathTreeNodeType.directory) {
27
+ return renderDirectoryNode(node, indent, colors);
28
+ }
29
+ return renderFileNode(node, indent, colors);
30
+ }
3
31
  //# sourceMappingURL=terminal-artifact-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-artifact-renderer.js","sourceRoot":"","sources":["../../../../../source/report/terminal-renderer/terminal-artifact-renderer.ts"],"names":[],"mappings":"AAAA,OAAiC,2BAA2B,CAAC;AAE7D,OAAwD,gCAAgC,CAAC"}
1
+ {"version":3,"file":"terminal-artifact-renderer.js","sourceRoot":"","sources":["../../../../../source/report/terminal-renderer/terminal-artifact-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGzF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC7C,OAAO,GAAG,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAyB,EAAE,MAAc,EAAE,MAAc;IAClF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,OAAO,GAAG,MAAM,GAAG,aAAa,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,IAA8D;IACnF,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG;QACf,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;KAC7C,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CACnB,IAA8D,EAC9D,MAAc,EACd,MAAc;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAyB,EAAE,MAAc;IACxE,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}