@packtory/cli 0.0.14 → 0.0.16

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 (140) hide show
  1. package/command-line-interface/config-loader.js +3 -6
  2. package/command-line-interface/config-loader.js.map +1 -1
  3. package/command-line-interface/preview-io/preview-io-shared.js +32 -0
  4. package/command-line-interface/preview-io/preview-io-shared.js.map +1 -0
  5. package/command-line-interface/preview-io/preview-io.js +16 -0
  6. package/command-line-interface/preview-io/preview-io.js.map +1 -0
  7. package/command-line-interface/preview-io/preview-spawn.js +27 -0
  8. package/command-line-interface/preview-io/preview-spawn.js.map +1 -0
  9. package/command-line-interface/runner/command-parsing.js +11 -0
  10. package/command-line-interface/runner/command-parsing.js.map +1 -0
  11. package/command-line-interface/runner/failure-printing.js +42 -0
  12. package/command-line-interface/runner/failure-printing.js.map +1 -0
  13. package/command-line-interface/runner/pack-handler.js +107 -0
  14. package/command-line-interface/runner/pack-handler.js.map +1 -0
  15. package/command-line-interface/runner/preview-handler.js +47 -0
  16. package/command-line-interface/runner/preview-handler.js.map +1 -0
  17. package/command-line-interface/runner/progress-wiring.js +27 -0
  18. package/command-line-interface/runner/progress-wiring.js.map +1 -0
  19. package/command-line-interface/runner/publish-handler.js +34 -0
  20. package/command-line-interface/runner/publish-handler.js.map +1 -0
  21. package/command-line-interface/runner/release-diff-handler.js +37 -0
  22. package/command-line-interface/runner/release-diff-handler.js.map +1 -0
  23. package/command-line-interface/runner/report-persistence.js +25 -0
  24. package/command-line-interface/runner/report-persistence.js.map +1 -0
  25. package/command-line-interface/runner/runner-symbols.js +11 -0
  26. package/command-line-interface/runner/runner-symbols.js.map +1 -0
  27. package/command-line-interface/runner/runner.js +108 -0
  28. package/command-line-interface/runner/runner.js.map +1 -0
  29. package/command-line-interface/spinner/line-spinner-renderer.js +44 -0
  30. package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -0
  31. package/command-line-interface/{spinner-boot.js → spinner/spinner-boot.js} +2 -1
  32. package/command-line-interface/spinner/spinner-boot.js.map +1 -0
  33. package/command-line-interface/spinner/spinner-glyphs.js +31 -0
  34. package/command-line-interface/spinner/spinner-glyphs.js.map +1 -0
  35. package/command-line-interface/spinner/spinner-render-sequence.js +31 -0
  36. package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -0
  37. package/command-line-interface/spinner/spinner-runtime.js +31 -0
  38. package/command-line-interface/spinner/spinner-runtime.js.map +1 -0
  39. package/command-line-interface/{spinner-shared-state.js → spinner/spinner-shared-state.js} +73 -10
  40. package/command-line-interface/spinner/spinner-shared-state.js.map +1 -0
  41. package/command-line-interface/spinner/spinner-snapshots.js +12 -0
  42. package/command-line-interface/spinner/spinner-snapshots.js.map +1 -0
  43. package/command-line-interface/spinner/spinner-worker-backend.js +38 -0
  44. package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -0
  45. package/command-line-interface/spinner/spinner-worker-loop.js +38 -0
  46. package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -0
  47. package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -0
  48. package/common/path-tree.js +79 -0
  49. package/common/path-tree.js.map +1 -0
  50. package/package.json +3 -4
  51. package/packages/command-line-interface/command-line-interface.entry-point.d.ts +2 -2
  52. package/packages/command-line-interface/command-line-interface.entry-point.d.ts.map +1 -1
  53. package/packages/command-line-interface/command-line-interface.entry-point.js +34 -14
  54. package/packages/command-line-interface/command-line-interface.entry-point.js.map +1 -1
  55. package/packages/command-line-interface/spinner-boot.entry-point.js +12 -6
  56. package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
  57. package/packages/command-line-interface/spinner-worker.entry-point.js +1 -1
  58. package/packages/command-line-interface/spinner-worker.entry-point.js.map +1 -1
  59. package/readme.md +34 -0
  60. package/report/html-renderer/artifact-tree-renderer.js +25 -0
  61. package/report/html-renderer/artifact-tree-renderer.js.map +1 -0
  62. package/report/html-renderer/diagnostics-renderer.js +26 -0
  63. package/report/html-renderer/diagnostics-renderer.js.map +1 -0
  64. package/report/html-renderer/diff-renderer.js +31 -0
  65. package/report/html-renderer/diff-renderer.js.map +1 -0
  66. package/report/html-renderer/eliminated-files-renderer.js +16 -0
  67. package/report/html-renderer/eliminated-files-renderer.js.map +1 -0
  68. package/report/html-renderer/html-escaping.js.map +1 -0
  69. package/report/html-renderer/html-primitives.js +25 -0
  70. package/report/html-renderer/html-primitives.js.map +1 -0
  71. package/report/html-renderer/html-renderer.js +57 -0
  72. package/report/html-renderer/html-renderer.js.map +1 -0
  73. package/report/html-renderer/html-styles.js +177 -0
  74. package/report/html-renderer/html-styles.js.map +1 -0
  75. package/report/html-renderer/package-renderer.js +26 -0
  76. package/report/html-renderer/package-renderer.js.map +1 -0
  77. package/report/preview/artifact-diff-builder.js +20 -0
  78. package/report/preview/artifact-diff-builder.js.map +1 -0
  79. package/report/preview/artifact-tree-builder.js +19 -0
  80. package/report/preview/artifact-tree-builder.js.map +1 -0
  81. package/report/preview/bundle-artifact-index.js +15 -0
  82. package/report/preview/bundle-artifact-index.js.map +1 -0
  83. package/report/preview/changed-artifacts.js.map +1 -0
  84. package/report/preview/preview-document-helpers.js +19 -0
  85. package/report/preview/preview-document-helpers.js.map +1 -0
  86. package/report/preview/preview-document.js +62 -0
  87. package/report/preview/preview-document.js.map +1 -0
  88. package/report/preview/preview-result-inspectors.js +30 -0
  89. package/report/preview/preview-result-inspectors.js.map +1 -0
  90. package/report/preview/preview-summary.js +52 -0
  91. package/report/preview/preview-summary.js.map +1 -0
  92. package/report/release-diff/release-diff-document.js +22 -0
  93. package/report/release-diff/release-diff-document.js.map +1 -0
  94. package/report/release-diff/release-diff-summary.js +39 -0
  95. package/report/release-diff/release-diff-summary.js.map +1 -0
  96. package/report/terminal-renderer/terminal-artifact-renderer.js +20 -0
  97. package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -0
  98. package/report/terminal-renderer/terminal-package-renderer.js +36 -0
  99. package/report/terminal-renderer/terminal-package-renderer.js.map +1 -0
  100. package/report/{terminal-preview-renderer-shared.js → terminal-renderer/terminal-preview-renderer-shared.js} +16 -0
  101. package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -0
  102. package/report/terminal-renderer/terminal-preview-renderer.js +33 -0
  103. package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -0
  104. package/report/terminal-renderer/terminal-release-diff-package-renderer.js +125 -0
  105. package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -0
  106. package/report/terminal-renderer/terminal-release-diff-renderer.js +53 -0
  107. package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -0
  108. package/command-line-interface/preview-io-shared.js +0 -75
  109. package/command-line-interface/preview-io-shared.js.map +0 -1
  110. package/command-line-interface/preview-io.js +0 -15
  111. package/command-line-interface/preview-io.js.map +0 -1
  112. package/command-line-interface/runner.js +0 -244
  113. package/command-line-interface/runner.js.map +0 -1
  114. package/command-line-interface/spinner-boot.js.map +0 -1
  115. package/command-line-interface/spinner-shared-state.js.map +0 -1
  116. package/command-line-interface/spinner-worker-backend.js +0 -62
  117. package/command-line-interface/spinner-worker-backend.js.map +0 -1
  118. package/command-line-interface/spinner-worker-loop.js +0 -94
  119. package/command-line-interface/spinner-worker-loop.js.map +0 -1
  120. package/command-line-interface/terminal-spinner-renderer.js.map +0 -1
  121. package/common/typed-diff.js +0 -5
  122. package/common/typed-diff.js.map +0 -1
  123. package/report/changed-artifacts.js.map +0 -1
  124. package/report/html-escaping.js.map +0 -1
  125. package/report/html-renderer.js +0 -337
  126. package/report/html-renderer.js.map +0 -1
  127. package/report/preview-document-diff.js +0 -17
  128. package/report/preview-document-diff.js.map +0 -1
  129. package/report/preview-document-helpers.js +0 -173
  130. package/report/preview-document-helpers.js.map +0 -1
  131. package/report/preview-document-tree.js +0 -13
  132. package/report/preview-document-tree.js.map +0 -1
  133. package/report/preview-document.js +0 -97
  134. package/report/preview-document.js.map +0 -1
  135. package/report/terminal-preview-renderer-shared.js.map +0 -1
  136. package/report/terminal-preview-renderer.js +0 -94
  137. package/report/terminal-preview-renderer.js.map +0 -1
  138. /package/command-line-interface/{terminal-spinner-renderer.js → spinner/terminal-spinner-renderer.js} +0 -0
  139. /package/report/{html-escaping.js → html-renderer/html-escaping.js} +0 -0
  140. /package/report/{changed-artifacts.js → preview/changed-artifacts.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"typed-diff.js","sourceRoot":"","sources":["../../../../source/common/typed-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiE,MAAM,MAAM,CAAC;AAYtG,MAAM,UAAU,qBAAqB,CAAC,GAAG,IAAyB;IAC9D,OAAO,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"changed-artifacts.js","sourceRoot":"","sources":["../../../../source/report/changed-artifacts.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,uBAAuB,CAAC,IAAoC;IACxE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-escaping.js","sourceRoot":"","sources":["../../../../source/report/html-escaping.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,KAAK;SACP,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC"}
@@ -1,337 +0,0 @@
1
- /* eslint-disable @stylistic/max-len, complexity -- the HTML report renderer is intentionally template-heavy */
2
- /* cspell:words Palatino Menlo */
3
- import { artifactBadgeLabel, artifactStatusLabel } from "./preview-document.js";
4
- import { collectChangedArtifacts } from "./changed-artifacts.js";
5
- import { escapeHtml } from "./html-escaping.js";
6
- const jsonIndentSpaces = 2;
7
- function renderJsonBlock(value) {
8
- return `<pre>${escapeHtml(JSON.stringify(value, undefined, jsonIndentSpaces))}</pre>`;
9
- }
10
- function renderSection(title, value) {
11
- return `<details class="diagnostic secondary"><summary>${escapeHtml(title)}</summary>${renderJsonBlock(value)}</details>`;
12
- }
13
- function formatBytes(bytes) {
14
- return `${bytes} B`;
15
- }
16
- function renderBadge(text, className) {
17
- return `<span class="badge ${className}">${escapeHtml(text)}</span>`;
18
- }
19
- function renderSummaryCard(label, value) {
20
- return `<div class="summary-card"><span class="summary-label">${escapeHtml(label)}</span><strong>${escapeHtml(String(value))}</strong></div>`;
21
- }
22
- function renderIssues(issueItems) {
23
- return `<section class="issues"><h2>Issues</h2><ul>${issueItems}</ul></section>`;
24
- }
25
- function renderArtifactNode(node) {
26
- if (node.type === 'directory') {
27
- return `<li class="tree-row directory" style="--depth:${node.depth}"><span class="tree-name">${escapeHtml(node.name)}/</span></li>`;
28
- }
29
- const { artifact } = node;
30
- const badges = [
31
- renderBadge(artifactStatusLabel(artifact.status), `status-${artifact.status}`),
32
- ...artifact.badges.map((badge) => {
33
- return renderBadge(artifactBadgeLabel(badge), 'secondary');
34
- })
35
- ].join('');
36
- return `<li class="tree-row file" style="--depth:${node.depth}">
37
- <span class="tree-name">${escapeHtml(node.name)}</span>
38
- <span class="tree-meta">${escapeHtml(artifact.kind)} · ${escapeHtml(formatBytes(artifact.sizeBytes))}</span>
39
- <span class="tree-badges">${badges}</span>
40
- </li>`;
41
- }
42
- function renderDiffLine(line) {
43
- return `<div class="diff-line ${line.type}">${escapeHtml(line.text)}</div>`;
44
- }
45
- function renderDiffHunk(header, lines) {
46
- let renderedLines = '';
47
- for (const line of lines) {
48
- renderedLines += renderDiffLine(line);
49
- }
50
- return `<div class="diff-hunk"><div class="diff-header">${escapeHtml(header)}</div>${renderedLines}</div>`;
51
- }
52
- function renderArtifactDiff(artifact) {
53
- let hunks = '';
54
- for (const hunk of artifact.diff) {
55
- hunks += renderDiffHunk(hunk.header, hunk.lines);
56
- }
57
- return `<details class="diff" open><summary>${escapeHtml(artifact.path)}</summary>${hunks}</details>`;
58
- }
59
- function renderDiffs(pkg) {
60
- const changedFiles = collectChangedArtifacts(pkg.tree);
61
- if (changedFiles.length === 0) {
62
- return '';
63
- }
64
- let sections = '';
65
- for (const artifact of changedFiles) {
66
- sections += renderArtifactDiff(artifact);
67
- }
68
- return `<section class="package-block"><h3>Changed files</h3>${sections}</section>`;
69
- }
70
- function renderEliminatedFiles(pkg) {
71
- if (pkg.eliminatedSourceFiles.length === 0) {
72
- return '';
73
- }
74
- let items = '';
75
- for (const file of pkg.eliminatedSourceFiles) {
76
- items += `<li><code>${escapeHtml(file.path)}</code> <span class="tree-meta">${escapeHtml(formatBytes(file.sourceBytes))}</span></li>`;
77
- }
78
- return `<section class="package-block">
79
- <h3>Eliminated source files</h3>
80
- <ul class="eliminated-list">${items}</ul>
81
- </section>`;
82
- }
83
- function renderDiagnostics(pkg) {
84
- const sections = [
85
- pkg.diagnostics.inputs === undefined ? '' : renderSection('Inputs', pkg.diagnostics.inputs),
86
- Object.keys(pkg.diagnostics.decisions).length === 0
87
- ? ''
88
- : renderSection('Decisions', pkg.diagnostics.decisions),
89
- pkg.diagnostics.outputs === undefined ? '' : renderSection('Outputs', pkg.diagnostics.outputs),
90
- Object.keys(pkg.diagnostics.timings).length === 0 ? '' : renderSection('Timings (ms)', pkg.diagnostics.timings),
91
- pkg.diagnostics.failure === undefined ? '' : renderSection('Failure', pkg.diagnostics.failure)
92
- ].join('');
93
- if (sections === '') {
94
- return '';
95
- }
96
- return `<section class="package-block diagnostics"><h3>Diagnostics</h3>${sections}</section>`;
97
- }
98
- function renderFailure(pkg) {
99
- if (pkg.failure === undefined) {
100
- return '';
101
- }
102
- return `<p class="failure">Failed in stage <strong>${escapeHtml(pkg.failure.stage)}</strong>: ${escapeHtml(pkg.failure.message)}</p>`;
103
- }
104
- function renderPackage(pkg) {
105
- const badges = [
106
- renderBadge(pkg.hasChanges ? 'changed' : 'unchanged', pkg.hasChanges ? 'status-changed' : 'status-unchanged'),
107
- ...(pkg.versionTransition === undefined ? [] : [renderBadge(pkg.versionTransition, 'secondary')])
108
- ].join('');
109
- return `<details class="package"${pkg.openByDefault ? ' open' : ''}>
110
- <summary><span class="package-title">${escapeHtml(pkg.name)}</span><span class="package-summary">${badges}</span></summary>
111
- ${renderFailure(pkg)}
112
- <section class="package-block">
113
- <h3>Artifacts</h3>
114
- <ul class="tree">${pkg.tree.map(renderArtifactNode).join('')}</ul>
115
- </section>
116
- ${renderEliminatedFiles(pkg)}
117
- ${renderDiffs(pkg)}
118
- ${renderDiagnostics(pkg)}
119
- </details>`;
120
- }
121
- const styles = `
122
- :root {
123
- color-scheme: light;
124
- --bg: #f4f0e8;
125
- --panel: #fffdf8;
126
- --line: #d8cfc2;
127
- --text: #2c2924;
128
- --muted: #6b645a;
129
- --changed: #b6540d;
130
- --generated: #0b6e4f;
131
- --unchanged: #4f6d7a;
132
- --danger: #b42318;
133
- --danger-bg: #fff1ef;
134
- --diff-add: #e7f6ec;
135
- --diff-remove: #fdecec;
136
- --diff-header: #efe7da;
137
- --shadow: 0 18px 50px rgba(63, 48, 29, 0.08);
138
- }
139
- * { box-sizing: border-box; }
140
- body {
141
- margin: 0;
142
- background:
143
- radial-gradient(circle at top left, rgba(193, 143, 71, 0.15), transparent 28rem),
144
- linear-gradient(180deg, #f6f2e8 0%, var(--bg) 100%);
145
- color: var(--text);
146
- font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
147
- }
148
- main { max-width: 72rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
149
- h1 { margin: 0 0 0.25rem; font-size: 2rem; }
150
- h2, h3 { margin: 0 0 0.75rem; }
151
- .meta { color: var(--muted); margin: 0; }
152
- .header {
153
- background: rgba(255, 253, 248, 0.82);
154
- backdrop-filter: blur(14px);
155
- border: 1px solid rgba(216, 207, 194, 0.85);
156
- border-radius: 1.25rem;
157
- padding: 1.5rem;
158
- box-shadow: var(--shadow);
159
- }
160
- .mode-label {
161
- display: inline-block;
162
- font-size: 0.78rem;
163
- letter-spacing: 0.08em;
164
- text-transform: uppercase;
165
- color: var(--muted);
166
- margin-bottom: 0.65rem;
167
- }
168
- .summary {
169
- display: grid;
170
- grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
171
- gap: 0.75rem;
172
- margin: 1.5rem 0;
173
- }
174
- .summary-card {
175
- background: var(--panel);
176
- border: 1px solid var(--line);
177
- border-radius: 0.9rem;
178
- padding: 0.95rem 1rem;
179
- box-shadow: var(--shadow);
180
- }
181
- .summary-label {
182
- display: block;
183
- color: var(--muted);
184
- font-size: 0.82rem;
185
- margin-bottom: 0.35rem;
186
- }
187
- .issues {
188
- background: var(--danger-bg);
189
- border: 1px solid rgba(180, 35, 24, 0.22);
190
- border-radius: 0.9rem;
191
- padding: 1rem 1.1rem;
192
- margin: 1rem 0 0;
193
- }
194
- .packages { display: grid; gap: 1rem; }
195
- details.package {
196
- background: var(--panel);
197
- border: 1px solid var(--line);
198
- border-radius: 1rem;
199
- box-shadow: var(--shadow);
200
- overflow: hidden;
201
- }
202
- details.package > summary {
203
- cursor: pointer;
204
- list-style: none;
205
- display: flex;
206
- align-items: center;
207
- justify-content: space-between;
208
- gap: 1rem;
209
- padding: 1rem 1.25rem;
210
- font-weight: 700;
211
- background: rgba(255, 250, 241, 0.85);
212
- }
213
- details.package > summary::-webkit-details-marker { display: none; }
214
- .package-title { font-size: 1.05rem; }
215
- .package-summary { display: flex; gap: 0.4rem; flex-wrap: wrap; justify-content: flex-end; }
216
- .package-block { padding: 0 1.25rem 1.25rem; }
217
- .tree { list-style: none; padding: 0; margin: 0; }
218
- .tree-row {
219
- display: grid;
220
- grid-template-columns: minmax(0, 1fr) auto auto;
221
- gap: 0.65rem;
222
- padding: 0.32rem 0;
223
- padding-left: calc(var(--depth) * 1rem);
224
- border-bottom: 1px solid rgba(216, 207, 194, 0.35);
225
- align-items: baseline;
226
- }
227
- .tree-row:last-child { border-bottom: 0; }
228
- .tree-row.directory { grid-template-columns: minmax(0, 1fr); color: var(--muted); font-weight: 700; }
229
- .tree-name { word-break: break-all; }
230
- .tree-meta { color: var(--muted); font-size: 0.84rem; }
231
- .tree-badges { display: flex; gap: 0.35rem; flex-wrap: wrap; justify-content: flex-end; }
232
- .badge {
233
- display: inline-flex;
234
- align-items: center;
235
- border-radius: 999px;
236
- padding: 0.15rem 0.5rem;
237
- font-size: 0.76rem;
238
- font-family: ui-sans-serif, system-ui, sans-serif;
239
- border: 1px solid currentColor;
240
- }
241
- .badge.secondary { color: var(--muted); }
242
- .badge.status-changed { color: var(--changed); }
243
- .badge.status-generated { color: var(--generated); }
244
- .badge.status-unchanged { color: var(--unchanged); }
245
- .failure {
246
- margin: 0 1.25rem 1rem;
247
- padding: 0.9rem 1rem;
248
- background: var(--danger-bg);
249
- border-radius: 0.8rem;
250
- color: var(--danger);
251
- }
252
- .eliminated-list { margin: 0; padding-left: 1.25rem; }
253
- details.diff, details.diagnostic {
254
- border: 1px solid rgba(216, 207, 194, 0.7);
255
- border-radius: 0.8rem;
256
- margin-top: 0.75rem;
257
- overflow: hidden;
258
- background: #fffdfa;
259
- }
260
- details.diff > summary, details.diagnostic > summary {
261
- cursor: pointer;
262
- list-style: none;
263
- padding: 0.75rem 0.9rem;
264
- font-weight: 600;
265
- }
266
- details.diff > summary::-webkit-details-marker, details.diagnostic > summary::-webkit-details-marker { display: none; }
267
- .diff-hunk { border-top: 1px solid rgba(216, 207, 194, 0.5); }
268
- .diff-header {
269
- padding: 0.45rem 0.75rem;
270
- background: var(--diff-header);
271
- color: var(--muted);
272
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
273
- font-size: 0.8rem;
274
- }
275
- .diff-line {
276
- white-space: pre-wrap;
277
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
278
- font-size: 0.83rem;
279
- padding: 0.08rem 0.75rem;
280
- }
281
- .diff-line.add { background: var(--diff-add); }
282
- .diff-line.remove { background: var(--diff-remove); }
283
- pre {
284
- margin: 0;
285
- padding: 0.95rem 1rem 1rem;
286
- overflow-x: auto;
287
- background: #faf6ef;
288
- font-size: 0.82rem;
289
- }
290
- @media (max-width: 720px) {
291
- .tree-row { grid-template-columns: minmax(0, 1fr); }
292
- .tree-badges, .package-summary { justify-content: flex-start; }
293
- }
294
- `;
295
- export function renderHtmlReport(document) {
296
- const rawJson = JSON.stringify(document.report, undefined, jsonIndentSpaces);
297
- let issueItems = '';
298
- for (const issue of document.issues) {
299
- issueItems += `<li>${escapeHtml(issue)}</li>`;
300
- }
301
- const issueSection = document.issues.length === 0 ? '' : renderIssues(issueItems);
302
- let packageSections = '';
303
- for (const pkg of document.packages) {
304
- packageSections += renderPackage(pkg);
305
- }
306
- return `<!doctype html>
307
- <html lang="en">
308
- <head>
309
- <meta charset="utf-8">
310
- <meta name="viewport" content="width=device-width, initial-scale=1">
311
- <title>Packtory build report</title>
312
- <style>${styles}</style>
313
- </head>
314
- <body>
315
- <main>
316
- <section class="header">
317
- <div class="mode-label">${escapeHtml(document.modeLabel)}</div>
318
- <h1>${escapeHtml(document.title)}</h1>
319
- <p class="meta">Schema version: ${escapeHtml(String(document.report.schemaVersion))} · Generated at: ${escapeHtml(document.report.generatedAt)}</p>
320
- </section>
321
- <section class="summary">
322
- ${renderSummaryCard('Packages', document.summary.totalPackages)}
323
- ${renderSummaryCard('Changed', document.summary.changedPackages)}
324
- ${renderSummaryCard('Unchanged', document.summary.unchangedPackages)}
325
- ${renderSummaryCard('Failed', document.summary.failedPackages)}
326
- ${renderSummaryCard('Artifacts', document.summary.emittedArtifacts)}
327
- ${renderSummaryCard('Changed files', document.summary.changedArtifacts)}
328
- ${renderSummaryCard('Eliminated', document.summary.eliminatedSourceFiles)}
329
- </section>
330
- ${issueSection}
331
- <section class="packages">${packageSections}</section>
332
- <script type="application/json" id="packtory-report-data">${escapeHtml(rawJson)}</script>
333
- </main>
334
- </body>
335
- </html>`;
336
- }
337
- //# sourceMappingURL=html-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-renderer.js","sourceRoot":"","sources":["../../../../source/report/html-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { isCodeFile } from "packtory/common/code-files.js";
2
- export function isDiffableArtifact(entry) {
3
- return (entry.sourcePath !== undefined &&
4
- entry.status === 'changed' &&
5
- entry.kind === 'source' &&
6
- isCodeFile(entry.path));
7
- }
8
- export function toDiffLineType(line) {
9
- if (line.startsWith('+')) {
10
- return 'add';
11
- }
12
- if (line.startsWith('-')) {
13
- return 'remove';
14
- }
15
- return 'context';
16
- }
17
- //# sourceMappingURL=preview-document-diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-document-diff.js","sourceRoot":"","sources":["../../../../source/report/preview-document-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACnD,OAAO,CACH,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -1,173 +0,0 @@
1
- import path from 'node:path';
2
- import { createStructuredPatch } from "../common/typed-diff.js";
3
- import { isDiffableArtifact, toDiffLineType } from "./preview-document-diff.js";
4
- import { compareTreeNodes, treeNodeSortKey } from "./preview-document-tree.js";
5
- const diffContextLines = 3;
6
- const diffHunkLimit = 2;
7
- export function isPreviewableResult(result) {
8
- return result.isOk || (result.error.type === 'partial' && result.error.succeeded.length > 0);
9
- }
10
- export function getSucceededResults(result) {
11
- if (result.isOk) {
12
- return result.value;
13
- }
14
- if (result.error.type === 'partial') {
15
- return result.error.succeeded;
16
- }
17
- return [];
18
- }
19
- export function getIssues(result) {
20
- if (result.isOk) {
21
- return [];
22
- }
23
- if (result.error.type === 'partial') {
24
- return result.error.failures.map((failure) => {
25
- return failure.message;
26
- });
27
- }
28
- return result.error.issues;
29
- }
30
- export function getResultType(result) {
31
- if (result.isOk) {
32
- return 'success';
33
- }
34
- return result.error.type;
35
- }
36
- export function buildBundleArtifactIndex(results) {
37
- return new Map(results.map((result) => {
38
- const entries = new Map([
39
- ['package.json', { content: result.bundle.manifestFile.content }]
40
- ]);
41
- for (const entry of result.bundle.contents) {
42
- entries.set(entry.fileDescription.targetFilePath, {
43
- content: entry.fileDescription.content,
44
- sourcePath: entry.fileDescription.sourceFilePath
45
- });
46
- }
47
- return [result.bundle.name, entries];
48
- }));
49
- }
50
- // eslint-disable-next-line max-statements -- diff construction intentionally validates, loads, and shapes hunks in one place
51
- export async function buildDiffForArtifact(packageName, artifact, bundleArtifactIndex, readWorkspaceFile) {
52
- if (!isDiffableArtifact(artifact)) {
53
- return undefined;
54
- }
55
- const packageArtifacts = bundleArtifactIndex.get(packageName);
56
- const finalArtifact = packageArtifacts?.get(artifact.path);
57
- if (finalArtifact?.sourcePath !== artifact.sourcePath) {
58
- return undefined;
59
- }
60
- const originalContent = await readWorkspaceFile(artifact.sourcePath);
61
- if (originalContent === finalArtifact.content) {
62
- return undefined;
63
- }
64
- const patchFile = createStructuredPatch(artifact.path, artifact.path, originalContent, finalArtifact.content, undefined, undefined, {
65
- context: diffContextLines
66
- });
67
- return patchFile.hunks.slice(0, diffHunkLimit).map((hunk) => {
68
- return {
69
- header: `@@ -${hunk.oldStart},${hunk.oldLines} +${hunk.newStart},${hunk.newLines} @@`,
70
- lines: hunk.lines
71
- .filter((line) => {
72
- return !line.startsWith('\\');
73
- })
74
- .map((line) => {
75
- return {
76
- type: toDiffLineType(line),
77
- text: line
78
- };
79
- })
80
- };
81
- });
82
- }
83
- function createDirectory(pathname, name, depth) {
84
- return {
85
- name,
86
- path: pathname,
87
- depth,
88
- directories: new Map(),
89
- files: []
90
- };
91
- }
92
- function insertArtifact(root, artifact) {
93
- const parts = artifact.path.split('/');
94
- let current = root;
95
- for (const part of parts.slice(0, -1)) {
96
- const nextPath = path.posix.join(current.path, part);
97
- const next = current.directories.get(part) ?? createDirectory(nextPath, part, current.depth + 1);
98
- current.directories.set(part, next);
99
- current = next;
100
- }
101
- current.files.push(artifact);
102
- }
103
- function flattenTree(directory) {
104
- const nodes = [];
105
- const directoryEntries = Array.from(directory.directories.values());
106
- const directoryChildren = directoryEntries.map((entry) => {
107
- const node = {
108
- path: entry.path,
109
- name: entry.name,
110
- depth: entry.depth,
111
- type: 'directory'
112
- };
113
- return {
114
- node,
115
- directory: entry,
116
- sortKey: treeNodeSortKey(node)
117
- };
118
- });
119
- const fileChildren = directory.files.map((artifact) => {
120
- const node = {
121
- path: artifact.path,
122
- name: path.posix.basename(artifact.path),
123
- depth: directory.depth,
124
- type: 'file',
125
- artifact
126
- };
127
- return {
128
- node,
129
- sortKey: treeNodeSortKey(node)
130
- };
131
- });
132
- const children = [...directoryChildren, ...fileChildren].toSorted((left, right) => {
133
- return compareTreeNodes(left.node, right.node);
134
- });
135
- for (const child of children) {
136
- nodes.push(child.node);
137
- if (child.directory !== undefined) {
138
- nodes.push(...flattenTree(child.directory));
139
- }
140
- }
141
- return nodes;
142
- }
143
- export function buildArtifactTree(artifacts) {
144
- const root = {
145
- path: '',
146
- depth: 0,
147
- directories: new Map(),
148
- files: []
149
- };
150
- for (const artifact of artifacts) {
151
- insertArtifact(root, artifact);
152
- }
153
- return flattenTree(root);
154
- }
155
- export function buildVersionTransition(packageReport) {
156
- const { version } = packageReport.decisions;
157
- if (version === undefined) {
158
- return undefined;
159
- }
160
- if (version.previousVersion === undefined) {
161
- return version.chosenVersion;
162
- }
163
- return `${version.previousVersion} -> ${version.chosenVersion}`;
164
- }
165
- export function hasMeaningfulChanges(artifacts, eliminatedSourceFiles) {
166
- if (eliminatedSourceFiles.length > 0) {
167
- return true;
168
- }
169
- return artifacts.some((artifact) => {
170
- return artifact.status === 'changed';
171
- });
172
- }
173
- //# sourceMappingURL=preview-document-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-document-helpers.js","sourceRoot":"","sources":["../../../../source/report/preview-document-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,aAAa,GAAG,CAAC,CAAC;AA+DxB,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IACxD,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IACxD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAwB;IAC9C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAwB;IAClD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAyC;IAC9E,OAAO,IAAI,GAAG,CACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAA+B;YAClD,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SACpE,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,cAAc;aACnD,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC;IAClD,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,6HAA6H;AAC7H,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,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,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,qBAAqB,CACnC,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,IAAI,EACb,eAAe,EACf,aAAa,CAAC,OAAO,EACrB,SAAS,EACT,SAAS,EACT;QACI,OAAO,EAAE,gBAAgB;KAC5B,CACJ,CAAC;IACF,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO;YACH,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK;YACrF,KAAK,EAAE,IAAI,CAAC,KAAK;iBACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACV,OAAO;oBACH,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI;iBACb,CAAC;YACN,CAAC,CAAC;SACT,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAY,EAAE,KAAa;IAClE,OAAO;QACH,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,KAAK,EAAE,EAAE;KACZ,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAmB,EAAE,QAAyB;IAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,SAAwB;IACzC,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAyB,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,WAAW;SACW,CAAC;QACjC,OAAO;YACH,IAAI;YACJ,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;SACjC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAyB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,IAAI,EAAE,MAAM;YACZ,QAAQ;SACe,CAAC;QAC5B,OAAO;YACH,IAAI;YACJ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;SACjC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9E,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAqC;IACnE,MAAM,IAAI,GAAkB;QACxB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,KAAK,EAAE,EAAE;KACZ,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,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,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC/B,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,13 +0,0 @@
1
- export function treeNodeSortKey(node) {
2
- if (node.type === 'file' && node.name === 'package.json') {
3
- return `0:${node.name}`;
4
- }
5
- if (node.type === 'directory') {
6
- return `1:${node.name}`;
7
- }
8
- return `2:${node.name}`;
9
- }
10
- export function compareTreeNodes(left, right) {
11
- return treeNodeSortKey(left).localeCompare(treeNodeSortKey(right));
12
- }
13
- //# sourceMappingURL=preview-document-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-document-tree.js","sourceRoot":"","sources":["../../../../source/report/preview-document-tree.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,eAAe,CAAC,IAA6B;IACzD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACvD,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA6B,EAAE,KAA8B;IAC1F,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}