@quenty/cli-output-helpers 1.10.0 → 1.11.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 +28 -96
- package/dist/outputHelper.d.ts +5 -0
- package/dist/outputHelper.d.ts.map +1 -1
- package/dist/outputHelper.js +10 -1
- package/dist/outputHelper.js.map +1 -1
- package/dist/reporting/build-result-reporter.d.ts +33 -0
- package/dist/reporting/build-result-reporter.d.ts.map +1 -0
- package/dist/reporting/build-result-reporter.js +33 -0
- package/dist/reporting/build-result-reporter.js.map +1 -0
- package/dist/reporting/build-result-reporter.test.d.ts +2 -0
- package/dist/reporting/build-result-reporter.test.d.ts.map +1 -0
- package/dist/reporting/build-result-reporter.test.js +42 -0
- package/dist/reporting/build-result-reporter.test.js.map +1 -0
- package/dist/reporting/composite-reporter.d.ts.map +1 -1
- package/dist/reporting/composite-reporter.js.map +1 -1
- package/dist/reporting/composite-result-reporter.d.ts +15 -0
- package/dist/reporting/composite-result-reporter.d.ts.map +1 -0
- package/dist/reporting/composite-result-reporter.js +43 -0
- package/dist/reporting/composite-result-reporter.js.map +1 -0
- package/dist/reporting/composite-result-reporter.test.d.ts +2 -0
- package/dist/reporting/composite-result-reporter.test.d.ts.map +1 -0
- package/dist/reporting/composite-result-reporter.test.js +61 -0
- package/dist/reporting/composite-result-reporter.test.js.map +1 -0
- package/dist/reporting/file-result-reporter.d.ts +29 -0
- package/dist/reporting/file-result-reporter.d.ts.map +1 -0
- package/dist/reporting/file-result-reporter.js +61 -0
- package/dist/reporting/file-result-reporter.js.map +1 -0
- package/dist/reporting/file-result-reporter.test.d.ts +2 -0
- package/dist/reporting/file-result-reporter.test.d.ts.map +1 -0
- package/dist/reporting/file-result-reporter.test.js +78 -0
- package/dist/reporting/file-result-reporter.test.js.map +1 -0
- package/dist/reporting/format-json.d.ts +9 -0
- package/dist/reporting/format-json.d.ts.map +1 -0
- package/dist/reporting/format-json.js +12 -0
- package/dist/reporting/format-json.js.map +1 -0
- package/dist/reporting/format-json.test.d.ts +2 -0
- package/dist/reporting/format-json.test.d.ts.map +1 -0
- package/dist/reporting/format-json.test.js +29 -0
- package/dist/reporting/format-json.test.js.map +1 -0
- package/dist/reporting/format-table.d.ts +18 -0
- package/dist/reporting/format-table.d.ts.map +1 -0
- package/dist/reporting/format-table.js +61 -0
- package/dist/reporting/format-table.js.map +1 -0
- package/dist/reporting/format-table.test.d.ts +2 -0
- package/dist/reporting/format-table.test.d.ts.map +1 -0
- package/dist/reporting/format-table.test.js +90 -0
- package/dist/reporting/format-table.test.js.map +1 -0
- package/dist/reporting/github/annotations.d.ts.map +1 -1
- package/dist/reporting/github/annotations.js +1 -4
- package/dist/reporting/github/annotations.js.map +1 -1
- package/dist/reporting/github/annotations.test.js.map +1 -1
- package/dist/reporting/github/comment-table-reporter.d.ts.map +1 -1
- package/dist/reporting/github/comment-table-reporter.js.map +1 -1
- package/dist/reporting/github/formatting.d.ts.map +1 -1
- package/dist/reporting/github/formatting.js +9 -14
- package/dist/reporting/github/formatting.js.map +1 -1
- package/dist/reporting/github/job-summary-reporter.d.ts.map +1 -1
- package/dist/reporting/github/job-summary-reporter.js.map +1 -1
- package/dist/reporting/grouped-reporter.d.ts.map +1 -1
- package/dist/reporting/grouped-reporter.js +6 -2
- package/dist/reporting/grouped-reporter.js.map +1 -1
- package/dist/reporting/index.d.ts +9 -0
- package/dist/reporting/index.d.ts.map +1 -1
- package/dist/reporting/index.js +12 -1
- package/dist/reporting/index.js.map +1 -1
- package/dist/reporting/json-file-reporter.d.ts.map +1 -1
- package/dist/reporting/json-file-reporter.js +2 -1
- package/dist/reporting/json-file-reporter.js.map +1 -1
- package/dist/reporting/progress-format.d.ts.map +1 -1
- package/dist/reporting/progress-format.js.map +1 -1
- package/dist/reporting/reporter.d.ts.map +1 -1
- package/dist/reporting/reporter.js.map +1 -1
- package/dist/reporting/result-reporter.d.ts +37 -0
- package/dist/reporting/result-reporter.d.ts.map +1 -0
- package/dist/reporting/result-reporter.js +22 -0
- package/dist/reporting/result-reporter.js.map +1 -0
- package/dist/reporting/simple-reporter.d.ts.map +1 -1
- package/dist/reporting/simple-reporter.js +3 -1
- package/dist/reporting/simple-reporter.js.map +1 -1
- package/dist/reporting/spinner-reporter.d.ts.map +1 -1
- package/dist/reporting/spinner-reporter.js +4 -4
- package/dist/reporting/spinner-reporter.js.map +1 -1
- package/dist/reporting/spinner-reporter.test.js.map +1 -1
- package/dist/reporting/state/live-state-tracker.d.ts.map +1 -1
- package/dist/reporting/state/live-state-tracker.js +1 -1
- package/dist/reporting/state/live-state-tracker.js.map +1 -1
- package/dist/reporting/state/loaded-state-tracker.d.ts.map +1 -1
- package/dist/reporting/state/loaded-state-tracker.js.map +1 -1
- package/dist/reporting/state/state-tracker.d.ts.map +1 -1
- package/dist/reporting/stdout-result-reporter.d.ts +14 -0
- package/dist/reporting/stdout-result-reporter.d.ts.map +1 -0
- package/dist/reporting/stdout-result-reporter.js +16 -0
- package/dist/reporting/stdout-result-reporter.js.map +1 -0
- package/dist/reporting/stdout-result-reporter.test.d.ts +2 -0
- package/dist/reporting/stdout-result-reporter.test.d.ts.map +1 -0
- package/dist/reporting/stdout-result-reporter.test.js +28 -0
- package/dist/reporting/stdout-result-reporter.test.js.map +1 -0
- package/dist/reporting/summary-table-reporter.d.ts +2 -0
- package/dist/reporting/summary-table-reporter.d.ts.map +1 -1
- package/dist/reporting/summary-table-reporter.js +44 -33
- package/dist/reporting/summary-table-reporter.js.map +1 -1
- package/dist/reporting/watch-renderer.d.ts +16 -0
- package/dist/reporting/watch-renderer.d.ts.map +1 -0
- package/dist/reporting/watch-renderer.js +110 -0
- package/dist/reporting/watch-renderer.js.map +1 -0
- package/dist/reporting/watch-renderer.test.d.ts +2 -0
- package/dist/reporting/watch-renderer.test.d.ts.map +1 -0
- package/dist/reporting/watch-renderer.test.js +103 -0
- package/dist/reporting/watch-renderer.test.js.map +1 -0
- package/dist/reporting/watch-result-reporter.d.ts +21 -0
- package/dist/reporting/watch-result-reporter.d.ts.map +1 -0
- package/dist/reporting/watch-result-reporter.js +34 -0
- package/dist/reporting/watch-result-reporter.js.map +1 -0
- package/dist/reporting/watch-result-reporter.test.d.ts +2 -0
- package/dist/reporting/watch-result-reporter.test.d.ts.map +1 -0
- package/dist/reporting/watch-result-reporter.test.js +37 -0
- package/dist/reporting/watch-result-reporter.test.js.map +1 -0
- package/package.json +2 -2
- package/src/outputHelper.ts +12 -3
- package/src/reporting/build-result-reporter.test.ts +48 -0
- package/src/reporting/build-result-reporter.ts +58 -0
- package/src/reporting/composite-reporter.ts +10 -2
- package/src/reporting/composite-result-reporter.test.ts +71 -0
- package/src/reporting/composite-result-reporter.ts +58 -0
- package/src/reporting/file-result-reporter.test.ts +112 -0
- package/src/reporting/file-result-reporter.ts +75 -0
- package/src/reporting/format-json.test.ts +34 -0
- package/src/reporting/format-json.ts +16 -0
- package/src/reporting/format-table.test.ts +113 -0
- package/src/reporting/format-table.ts +97 -0
- package/src/reporting/github/annotations.test.ts +1 -3
- package/src/reporting/github/annotations.ts +13 -12
- package/src/reporting/github/comment-table-reporter.ts +5 -5
- package/src/reporting/github/formatting.ts +18 -16
- package/src/reporting/github/job-summary-reporter.ts +3 -1
- package/src/reporting/grouped-reporter.ts +6 -2
- package/src/reporting/index.ts +34 -1
- package/src/reporting/json-file-reporter.ts +2 -1
- package/src/reporting/progress-format.ts +5 -2
- package/src/reporting/reporter.ts +15 -2
- package/src/reporting/result-reporter.ts +40 -0
- package/src/reporting/simple-reporter.ts +3 -1
- package/src/reporting/spinner-reporter.test.ts +7 -6
- package/src/reporting/spinner-reporter.ts +20 -8
- package/src/reporting/state/live-state-tracker.ts +12 -6
- package/src/reporting/state/loaded-state-tracker.ts +2 -7
- package/src/reporting/state/state-tracker.ts +5 -1
- package/src/reporting/stdout-result-reporter.test.ts +34 -0
- package/src/reporting/stdout-result-reporter.ts +23 -0
- package/src/reporting/summary-table-reporter.ts +51 -36
- package/src/reporting/watch-renderer.test.ts +127 -0
- package/src/reporting/watch-renderer.ts +132 -0
- package/src/reporting/watch-result-reporter.test.ts +44 -0
- package/src/reporting/watch-result-reporter.ts +45 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,189 +3,121 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [1.
|
|
7
|
-
|
|
6
|
+
# [1.11.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.10.1...@quenty/cli-output-helpers@1.11.0) (2026-05-14)
|
|
8
7
|
|
|
9
8
|
### Features
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
- **studio-bridge:** persistent sessions and Linux/Wine support ([#669](https://github.com/Quenty/Nevermore/issues/669)) ([51514c9](https://github.com/Quenty/Nevermore/commit/51514c90cfe438ad1217dabb7fd64fd7350097a9))
|
|
14
11
|
|
|
12
|
+
## [1.10.1](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.10.0...@quenty/cli-output-helpers@1.10.1) (2026-04-27)
|
|
15
13
|
|
|
14
|
+
### Bug Fixes
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
- **cli-output-helpers:** collapse no-results PR comment to single line ([083969c](https://github.com/Quenty/Nevermore/commit/083969c128b14f8b8accceb6bc3e1dfd37c3739d))
|
|
18
17
|
|
|
18
|
+
# [1.10.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.9.0...@quenty/cli-output-helpers@1.10.0) (2026-02-23)
|
|
19
19
|
|
|
20
20
|
### Features
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
* **cli:** merge test and deploy results into single PR comment ([6750feb](https://github.com/Quenty/Nevermore/commit/6750feb4bb5c1075ca9931166aebae01c9333f8d))
|
|
24
|
-
|
|
22
|
+
- **cli:** add structured progress and failure context to reporting ([#668](https://github.com/Quenty/Nevermore/issues/668)) ([e716329](https://github.com/Quenty/Nevermore/commit/e716329f5aeace8b213322ba3cce06b98d8ea43d))
|
|
25
23
|
|
|
24
|
+
# [1.9.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.8.0...@quenty/cli-output-helpers@1.9.0) (2026-02-19)
|
|
26
25
|
|
|
26
|
+
### Features
|
|
27
27
|
|
|
28
|
+
- **cli:** add integration game deploy pipeline with base place merging ([b406938](https://github.com/Quenty/Nevermore/commit/b406938cee6a1af59adb6682eb6319c76c51aa1a))
|
|
29
|
+
- **cli:** merge test and deploy results into single PR comment ([6750feb](https://github.com/Quenty/Nevermore/commit/6750feb4bb5c1075ca9931166aebae01c9333f8d))
|
|
28
30
|
|
|
29
31
|
# [1.8.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.7.0...@quenty/cli-output-helpers@1.8.0) (2026-02-18)
|
|
30
32
|
|
|
31
|
-
|
|
32
33
|
### Features
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
- **cli:** add GitHub Actions annotations for test failures ([2fd2f42](https://github.com/Quenty/Nevermore/commit/2fd2f423991ca6bf483fa2396045410f849223b6))
|
|
39
36
|
|
|
40
37
|
# [1.7.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.6.0...@quenty/cli-output-helpers@1.7.0) (2026-02-18)
|
|
41
38
|
|
|
42
|
-
|
|
43
39
|
### Features
|
|
44
40
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
- **cli:** add GitHub Actions workflow annotations for linting ([698f7ba](https://github.com/Quenty/Nevermore/commit/698f7ba6ca2c1448b594b94ca5dedf7b528cc8f3))
|
|
50
42
|
|
|
51
43
|
# [1.6.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.5.2...@quenty/cli-output-helpers@1.6.0) (2026-02-17)
|
|
52
44
|
|
|
53
|
-
|
|
54
45
|
### Bug Fixes
|
|
55
46
|
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
- **cli:** strip redundant heading from job summary output ([3683d56](https://github.com/Quenty/Nevermore/commit/3683d56fd6ac889db6c33f4b348a32ee9807197e))
|
|
58
48
|
|
|
59
49
|
### Features
|
|
60
50
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
51
|
+
- **cli:** add GitHub Actions job summary reporter ([84db8d2](https://github.com/Quenty/Nevermore/commit/84db8d2518df1293fb9bc1d3e05c69cf236e2ed5))
|
|
66
52
|
|
|
67
53
|
## [1.5.2](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.5.1...@quenty/cli-output-helpers@1.5.2) (2026-02-17)
|
|
68
54
|
|
|
69
|
-
|
|
70
55
|
### Bug Fixes
|
|
71
56
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
57
|
+
- When no tests run we report that tests were not run ([66a8608](https://github.com/Quenty/Nevermore/commit/66a860829d7241a0055028669a0bf55d4670a245))
|
|
77
58
|
|
|
78
59
|
## [1.5.1](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.5.0...@quenty/cli-output-helpers@1.5.1) (2026-02-17)
|
|
79
60
|
|
|
80
|
-
|
|
81
61
|
### Bug Fixes
|
|
82
62
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
63
|
+
- devcontainer initializes properly with luau-lsp working out of the box ([b8591e8](https://github.com/Quenty/Nevermore/commit/b8591e8a62beda655e90875b0dc22d79fcae8e61))
|
|
88
64
|
|
|
89
65
|
# [1.5.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.3.0...@quenty/cli-output-helpers@1.5.0) (2026-02-17)
|
|
90
66
|
|
|
91
|
-
|
|
92
67
|
### Bug Fixes
|
|
93
68
|
|
|
94
|
-
|
|
95
|
-
|
|
69
|
+
- Fix spinner design showing stuff ([814cd91](https://github.com/Quenty/Nevermore/commit/814cd915358079f7d628a9739d0cd56e472b52f6))
|
|
96
70
|
|
|
97
71
|
### Features
|
|
98
72
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
73
|
+
- Better error messages and optimized tests ([71ca056](https://github.com/Quenty/Nevermore/commit/71ca056517ee98e625d61e7dcd923dc808ac3edc))
|
|
74
|
+
- Improve output quality of testing cli tools ([217630c](https://github.com/Quenty/Nevermore/commit/217630c354308b740092c07077341dc82d134965))
|
|
75
|
+
- Use reporting system for studio bridge too (a bit ugly) ([20b675c](https://github.com/Quenty/Nevermore/commit/20b675cb22cb46c88b556f4afdda2700dd1258dd))
|
|
106
76
|
|
|
107
77
|
# [1.3.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.5...@quenty/cli-output-helpers@1.3.0) (2026-01-14)
|
|
108
78
|
|
|
109
|
-
|
|
110
79
|
### Features
|
|
111
80
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
81
|
+
- Nevermore CLI now checks to make sure it is up to date ([d86930c](https://github.com/Quenty/Nevermore/commit/d86930c85f24d879dee9ce5ce413488d1250246d))
|
|
117
82
|
|
|
118
83
|
## [1.2.5](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.4...@quenty/cli-output-helpers@1.2.5) (2026-01-12)
|
|
119
84
|
|
|
120
|
-
|
|
121
85
|
### Bug Fixes
|
|
122
86
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
87
|
+
- Fix dependency installation process for pnpm ([9651b09](https://github.com/Quenty/Nevermore/commit/9651b09af34f252ef3f9c7c539793cc878dd8cba))
|
|
128
88
|
|
|
129
89
|
## [1.2.4](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.3...@quenty/cli-output-helpers@1.2.4) (2026-01-10)
|
|
130
90
|
|
|
131
91
|
**Note:** Version bump only for package @quenty/cli-output-helpers
|
|
132
92
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
93
|
## [1.2.3](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.2...@quenty/cli-output-helpers@1.2.3) (2025-12-31)
|
|
138
94
|
|
|
139
|
-
|
|
140
95
|
### Bug Fixes
|
|
141
96
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
97
|
+
- Add warning output to output helper ([573ce4e](https://github.com/Quenty/Nevermore/commit/573ce4ed42831d552cfeb4dde1703d4aeda54967))
|
|
147
98
|
|
|
148
99
|
## [1.2.2](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.0...@quenty/cli-output-helpers@1.2.2) (2025-04-07)
|
|
149
100
|
|
|
150
|
-
|
|
151
101
|
### Bug Fixes
|
|
152
102
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
103
|
+
- Add types to packages ([2374fb2](https://github.com/Quenty/Nevermore/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
104
|
+
- Bump package versions for republishing ([ba47c62](https://github.com/Quenty/Nevermore/commit/ba47c62e32170bf74377b0c658c60b84306dc294))
|
|
159
105
|
|
|
160
106
|
## [1.2.1](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.2.0...@quenty/cli-output-helpers@1.2.1) (2025-04-07)
|
|
161
107
|
|
|
162
|
-
|
|
163
108
|
### Bug Fixes
|
|
164
109
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
110
|
+
- Add types to packages ([2374fb2](https://github.com/Quenty/Nevermore/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
170
111
|
|
|
171
112
|
# [1.2.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.1.0...@quenty/cli-output-helpers@1.2.0) (2023-02-21)
|
|
172
113
|
|
|
173
114
|
**Note:** Version bump only for package @quenty/cli-output-helpers
|
|
174
115
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
116
|
# 1.1.0 (2022-12-27)
|
|
180
117
|
|
|
181
|
-
|
|
182
118
|
### Features
|
|
183
119
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
120
|
+
- Add ability to generate new Nevermore library packages ([e0e8e44](https://github.com/Quenty/Nevermore/commit/e0e8e44a21692d4c383274985d01a965dcfe389c))
|
|
189
121
|
|
|
190
122
|
# v1.1.0 (Tue Dec 27 2022)
|
|
191
123
|
|
package/dist/outputHelper.d.ts
CHANGED
|
@@ -64,6 +64,11 @@ export declare class OutputHelper {
|
|
|
64
64
|
* intermediate messages during concurrent execution.
|
|
65
65
|
*/
|
|
66
66
|
static setVerbose(verbose: boolean): void;
|
|
67
|
+
/**
|
|
68
|
+
* Returns the current verbose flag. Useful for handlers that need to
|
|
69
|
+
* forward the global `--verbose` setting to downstream APIs.
|
|
70
|
+
*/
|
|
71
|
+
static isVerbose(): boolean;
|
|
67
72
|
/**
|
|
68
73
|
* Logs a verbose/intermediate message. Suppressed when verbose is false.
|
|
69
74
|
* When running inside a buffered context (see runBuffered), messages are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputHelper.d.ts","sourceRoot":"","sources":["../src/outputHelper.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAID;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC;;;;OAIG;WACW,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIjD;;;;OAIG;WACW,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;OAIG;WACW,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIxD;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WAInC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WAIlC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpD,OAAO,CAAC,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"outputHelper.d.ts","sourceRoot":"","sources":["../src/outputHelper.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAID;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC;;;;OAIG;WACW,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIjD;;;;OAIG;WACW,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;OAIG;WACW,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIxD;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WAInC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WAIlC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqD;IAE5E,oDAAoD;IACpD,OAAc,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,CACH;IAE7C;;OAEG;WACW,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IA+BtE;;;OAGG;WACW,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1C;;;OAGG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhD;;;OAGG;WACW,SAAS,IAAI,OAAO;IAIlC;;;;OAIG;WACW,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB5C;;;;OAIG;WACiB,WAAW,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAM3C;;;OAGG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;WACW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;CAG/D"}
|
package/dist/outputHelper.js
CHANGED
|
@@ -101,6 +101,13 @@ export class OutputHelper {
|
|
|
101
101
|
static setVerbose(verbose) {
|
|
102
102
|
this._verbose = verbose;
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns the current verbose flag. Useful for handlers that need to
|
|
106
|
+
* forward the global `--verbose` setting to downstream APIs.
|
|
107
|
+
*/
|
|
108
|
+
static isVerbose() {
|
|
109
|
+
return this._verbose;
|
|
110
|
+
}
|
|
104
111
|
/**
|
|
105
112
|
* Logs a verbose/intermediate message. Suppressed when verbose is false.
|
|
106
113
|
* When running inside a buffered context (see runBuffered), messages are
|
|
@@ -110,7 +117,9 @@ export class OutputHelper {
|
|
|
110
117
|
if (!this._verbose) {
|
|
111
118
|
return;
|
|
112
119
|
}
|
|
113
|
-
const formatted = this._hasAnsi(message)
|
|
120
|
+
const formatted = this._hasAnsi(message)
|
|
121
|
+
? message
|
|
122
|
+
: this.formatDim(message);
|
|
114
123
|
const buffer = _outputStorage.getStore();
|
|
115
124
|
if (buffer) {
|
|
116
125
|
buffer.lines.push(formatted);
|
package/dist/outputHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputHelper.js","sourceRoot":"","sources":["../src/outputHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAgB,CAAC;AAE7D;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,GAAY,IAAI,CAAC;IACxC;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,OAAe;QACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,OAAe;QACzC,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,OAAe;QAC7C,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,OAAe;QACtC,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAAe;QACrC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAe;QACzC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"outputHelper.js","sourceRoot":"","sources":["../src/outputHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory that maps argv-style flags to the right concrete `ResultReporter`.
|
|
3
|
+
* Encapsulates the "is this --output, --watch, or default stdout?" dispatch
|
|
4
|
+
* so command frameworks don't have to know which reporter class to construct.
|
|
5
|
+
*/
|
|
6
|
+
import type { ResultReporter } from './result-reporter.js';
|
|
7
|
+
export interface BuildResultReporterOptions<T> {
|
|
8
|
+
/** Output file path; if set, returns a `FileResultReporter`. */
|
|
9
|
+
outputPath?: string;
|
|
10
|
+
/** When true (and no `outputPath`), returns a `WatchResultReporter`. */
|
|
11
|
+
watch?: boolean;
|
|
12
|
+
/** Open the output file after writing (`FileResultReporter` only). */
|
|
13
|
+
open?: boolean;
|
|
14
|
+
/** Polling interval for the `WatchResultReporter`. Default: 1000ms. */
|
|
15
|
+
intervalMs?: number;
|
|
16
|
+
/** Render result to a string. */
|
|
17
|
+
render: (result: T) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Optionally extract a binary buffer for `FileResultReporter`. When
|
|
20
|
+
* provided and the buffer is non-undefined, the file write skips text
|
|
21
|
+
* rendering and emits raw bytes instead.
|
|
22
|
+
*/
|
|
23
|
+
binary?: (result: T) => Buffer | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build a `ResultReporter` from common argv-style flags. Selection rules:
|
|
27
|
+
*
|
|
28
|
+
* - `outputPath` set → `FileResultReporter`
|
|
29
|
+
* - else `watch` truthy → `WatchResultReporter`
|
|
30
|
+
* - else → `StdoutResultReporter`
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildResultReporter<T>(options: BuildResultReporterOptions<T>): ResultReporter<T>;
|
|
33
|
+
//# sourceMappingURL=build-result-reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-result-reporter.d.ts","sourceRoot":"","sources":["../../src/reporting/build-result-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACrC,cAAc,CAAC,CAAC,CAAC,CAkBnB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory that maps argv-style flags to the right concrete `ResultReporter`.
|
|
3
|
+
* Encapsulates the "is this --output, --watch, or default stdout?" dispatch
|
|
4
|
+
* so command frameworks don't have to know which reporter class to construct.
|
|
5
|
+
*/
|
|
6
|
+
import { StdoutResultReporter } from './stdout-result-reporter.js';
|
|
7
|
+
import { FileResultReporter } from './file-result-reporter.js';
|
|
8
|
+
import { WatchResultReporter } from './watch-result-reporter.js';
|
|
9
|
+
/**
|
|
10
|
+
* Build a `ResultReporter` from common argv-style flags. Selection rules:
|
|
11
|
+
*
|
|
12
|
+
* - `outputPath` set → `FileResultReporter`
|
|
13
|
+
* - else `watch` truthy → `WatchResultReporter`
|
|
14
|
+
* - else → `StdoutResultReporter`
|
|
15
|
+
*/
|
|
16
|
+
export function buildResultReporter(options) {
|
|
17
|
+
if (options.outputPath !== undefined) {
|
|
18
|
+
return new FileResultReporter({
|
|
19
|
+
outputPath: options.outputPath,
|
|
20
|
+
render: options.render,
|
|
21
|
+
binary: options.binary,
|
|
22
|
+
open: options.open,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (options.watch) {
|
|
26
|
+
return new WatchResultReporter({
|
|
27
|
+
render: options.render,
|
|
28
|
+
intervalMs: options.intervalMs,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return new StdoutResultReporter({ render: options.render });
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=build-result-reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-result-reporter.js","sourceRoot":"","sources":["../../src/reporting/build-result-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAqBjE;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAsC;IAEtC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,IAAI,kBAAkB,CAAI;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAI;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,oBAAoB,CAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-result-reporter.test.d.ts","sourceRoot":"","sources":["../../src/reporting/build-result-reporter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildResultReporter } from './build-result-reporter.js';
|
|
3
|
+
import { StdoutResultReporter } from './stdout-result-reporter.js';
|
|
4
|
+
import { FileResultReporter } from './file-result-reporter.js';
|
|
5
|
+
import { WatchResultReporter } from './watch-result-reporter.js';
|
|
6
|
+
describe('buildResultReporter', () => {
|
|
7
|
+
const render = (r) => String(r);
|
|
8
|
+
it('returns a StdoutResultReporter by default', () => {
|
|
9
|
+
const reporter = buildResultReporter({ render });
|
|
10
|
+
expect(reporter).toBeInstanceOf(StdoutResultReporter);
|
|
11
|
+
});
|
|
12
|
+
it('returns a FileResultReporter when outputPath is set', () => {
|
|
13
|
+
const reporter = buildResultReporter({
|
|
14
|
+
outputPath: '/tmp/out.txt',
|
|
15
|
+
render,
|
|
16
|
+
});
|
|
17
|
+
expect(reporter).toBeInstanceOf(FileResultReporter);
|
|
18
|
+
});
|
|
19
|
+
it('returns a WatchResultReporter when watch is true and no outputPath', () => {
|
|
20
|
+
const reporter = buildResultReporter({ watch: true, render });
|
|
21
|
+
expect(reporter).toBeInstanceOf(WatchResultReporter);
|
|
22
|
+
});
|
|
23
|
+
it('outputPath wins over watch', () => {
|
|
24
|
+
const reporter = buildResultReporter({
|
|
25
|
+
outputPath: '/tmp/out.txt',
|
|
26
|
+
watch: true,
|
|
27
|
+
render,
|
|
28
|
+
});
|
|
29
|
+
expect(reporter).toBeInstanceOf(FileResultReporter);
|
|
30
|
+
});
|
|
31
|
+
it('treats empty-string outputPath as a file destination', () => {
|
|
32
|
+
// Empty string is a valid (if degenerate) path — selection is by
|
|
33
|
+
// presence of the field, not truthiness.
|
|
34
|
+
const reporter = buildResultReporter({ outputPath: '', render });
|
|
35
|
+
expect(reporter).toBeInstanceOf(FileResultReporter);
|
|
36
|
+
});
|
|
37
|
+
it('returns Stdout when watch is false and no outputPath', () => {
|
|
38
|
+
const reporter = buildResultReporter({ watch: false, render });
|
|
39
|
+
expect(reporter).toBeInstanceOf(StdoutResultReporter);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=build-result-reporter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-result-reporter.test.js","sourceRoot":"","sources":["../../src/reporting/build-result-reporter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,UAAU,EAAE,cAAc;YAC1B,MAAM;SACP,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,IAAI;YACX,MAAM;SACP,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,iEAAiE;QACjE,yCAAyC;QACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-reporter.d.ts","sourceRoot":"","sources":["../../src/reporting/composite-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"composite-reporter.d.ts","sourceRoot":"","sources":["../../src/reporting/composite-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAa;gBAG7B,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,QAAQ,EAAE;IAMlD,IAAI,KAAK,IAAI,gBAAgB,CAE5B;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOzC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAOhE,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,GACxB,IAAI;IAOP,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAOjE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAMjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-reporter.js","sourceRoot":"","sources":["../../src/reporting/composite-reporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"composite-reporter.js","sourceRoot":"","sources":["../../src/reporting/composite-reporter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAmB;IACzB,UAAU,CAAa;IAE/B,YACE,YAAsB,EACtB,OAAgD;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE,KAAe;QACvD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,uBAAuB,CACrB,WAAmB,EACnB,QAAyB;QAEzB,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAqB,EAAE,cAAyB;QAC9D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fans out single-result reporting to multiple ResultReporter instances.
|
|
3
|
+
* Mirrors CompositeReporter (for batch lifecycle) but for single-result
|
|
4
|
+
* output.
|
|
5
|
+
*/
|
|
6
|
+
import type { ResultReporter } from './result-reporter.js';
|
|
7
|
+
export declare class CompositeResultReporter<T = unknown> implements ResultReporter<T> {
|
|
8
|
+
private _reporters;
|
|
9
|
+
constructor(reporters: ResultReporter<T>[]);
|
|
10
|
+
startAsync(): Promise<void>;
|
|
11
|
+
onResult(result: T): void;
|
|
12
|
+
stopAsync(): Promise<void>;
|
|
13
|
+
private _throwFirstRejection;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=composite-result-reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-result-reporter.d.ts","sourceRoot":"","sources":["../../src/reporting/composite-result-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,uBAAuB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,UAAU,CAAsB;gBAE5B,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE;IAIpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAcnB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC,OAAO,CAAC,oBAAoB;CAc7B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fans out single-result reporting to multiple ResultReporter instances.
|
|
3
|
+
* Mirrors CompositeReporter (for batch lifecycle) but for single-result
|
|
4
|
+
* output.
|
|
5
|
+
*/
|
|
6
|
+
export class CompositeResultReporter {
|
|
7
|
+
_reporters;
|
|
8
|
+
constructor(reporters) {
|
|
9
|
+
this._reporters = reporters;
|
|
10
|
+
}
|
|
11
|
+
async startAsync() {
|
|
12
|
+
const results = await Promise.allSettled(this._reporters.map((r) => r.startAsync()));
|
|
13
|
+
this._throwFirstRejection(results, 'startAsync');
|
|
14
|
+
}
|
|
15
|
+
onResult(result) {
|
|
16
|
+
const errors = [];
|
|
17
|
+
for (const r of this._reporters) {
|
|
18
|
+
try {
|
|
19
|
+
r.onResult(result);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
errors.push(err);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (errors.length > 0) {
|
|
26
|
+
throw errors[0];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async stopAsync() {
|
|
30
|
+
const results = await Promise.allSettled(this._reporters.map((r) => r.stopAsync()));
|
|
31
|
+
this._throwFirstRejection(results, 'stopAsync');
|
|
32
|
+
}
|
|
33
|
+
_throwFirstRejection(results, phase) {
|
|
34
|
+
const firstRejected = results.find((r) => r.status === 'rejected');
|
|
35
|
+
if (firstRejected) {
|
|
36
|
+
const reason = firstRejected.reason;
|
|
37
|
+
throw reason instanceof Error
|
|
38
|
+
? reason
|
|
39
|
+
: new Error(`Reporter ${phase} failed: ${String(reason)}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=composite-result-reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-result-reporter.js","sourceRoot":"","sources":["../../src/reporting/composite-result-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAO,uBAAuB;IAC1B,UAAU,CAAsB;IAExC,YAAY,SAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAC3C,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,MAAS;QAChB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAEO,oBAAoB,CAC1B,OAAwC,EACxC,KAAa;QAEb,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC3D,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACpC,MAAM,MAAM,YAAY,KAAK;gBAC3B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-result-reporter.test.d.ts","sourceRoot":"","sources":["../../src/reporting/composite-result-reporter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { CompositeResultReporter } from './composite-result-reporter.js';
|
|
3
|
+
import { BaseResultReporter } from './result-reporter.js';
|
|
4
|
+
class RecordingReporter extends BaseResultReporter {
|
|
5
|
+
startCount = 0;
|
|
6
|
+
stopCount = 0;
|
|
7
|
+
results = [];
|
|
8
|
+
async startAsync() {
|
|
9
|
+
this.startCount++;
|
|
10
|
+
}
|
|
11
|
+
onResult(result) {
|
|
12
|
+
this.results.push(result);
|
|
13
|
+
}
|
|
14
|
+
async stopAsync() {
|
|
15
|
+
this.stopCount++;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
describe('CompositeResultReporter', () => {
|
|
19
|
+
it('fans out lifecycle hooks to every child reporter', async () => {
|
|
20
|
+
const a = new RecordingReporter();
|
|
21
|
+
const b = new RecordingReporter();
|
|
22
|
+
const composite = new CompositeResultReporter([a, b]);
|
|
23
|
+
await composite.startAsync();
|
|
24
|
+
composite.onResult(1);
|
|
25
|
+
composite.onResult(2);
|
|
26
|
+
await composite.stopAsync();
|
|
27
|
+
expect(a.startCount).toBe(1);
|
|
28
|
+
expect(b.startCount).toBe(1);
|
|
29
|
+
expect(a.results).toEqual([1, 2]);
|
|
30
|
+
expect(b.results).toEqual([1, 2]);
|
|
31
|
+
expect(a.stopCount).toBe(1);
|
|
32
|
+
expect(b.stopCount).toBe(1);
|
|
33
|
+
});
|
|
34
|
+
it('preserves call order across reporters', async () => {
|
|
35
|
+
const order = [];
|
|
36
|
+
const make = (name) => ({
|
|
37
|
+
async startAsync() {
|
|
38
|
+
order.push(`${name}:start`);
|
|
39
|
+
},
|
|
40
|
+
onResult() {
|
|
41
|
+
order.push(`${name}:result`);
|
|
42
|
+
},
|
|
43
|
+
async stopAsync() {
|
|
44
|
+
order.push(`${name}:stop`);
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
const composite = new CompositeResultReporter([make('a'), make('b')]);
|
|
48
|
+
await composite.startAsync();
|
|
49
|
+
composite.onResult(null);
|
|
50
|
+
await composite.stopAsync();
|
|
51
|
+
expect(order).toEqual([
|
|
52
|
+
'a:start',
|
|
53
|
+
'b:start',
|
|
54
|
+
'a:result',
|
|
55
|
+
'b:result',
|
|
56
|
+
'a:stop',
|
|
57
|
+
'b:stop',
|
|
58
|
+
]);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=composite-result-reporter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-result-reporter.test.js","sourceRoot":"","sources":["../../src/reporting/composite-result-reporter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Writes a rendered result to a file. Each onResult overwrites the file —
|
|
3
|
+
* usable for both single writes and watch-mode file rewrites.
|
|
4
|
+
*
|
|
5
|
+
* Optional `binary` callback returns a Buffer to write instead of the
|
|
6
|
+
* rendered text — used for screenshot/binary output.
|
|
7
|
+
*/
|
|
8
|
+
import { BaseResultReporter } from './result-reporter.js';
|
|
9
|
+
export interface FileResultReporterOptions<T> {
|
|
10
|
+
outputPath: string;
|
|
11
|
+
render: (result: T) => string;
|
|
12
|
+
/** If provided and returns a Buffer, write that instead of the rendered text. */
|
|
13
|
+
binary?: (result: T) => Buffer | undefined;
|
|
14
|
+
/** Open the file with the platform's default viewer after the first write. */
|
|
15
|
+
open?: boolean;
|
|
16
|
+
/** Print a "Wrote output to <path>" status to stderr after each write. */
|
|
17
|
+
reportPath?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare class FileResultReporter<T = unknown> extends BaseResultReporter<T> {
|
|
20
|
+
private _outputPath;
|
|
21
|
+
private _render;
|
|
22
|
+
private _binary?;
|
|
23
|
+
private _open;
|
|
24
|
+
private _reportPath;
|
|
25
|
+
private _hasOpened;
|
|
26
|
+
constructor(options: FileResultReporterOptions<T>);
|
|
27
|
+
onResult(result: T): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=file-result-reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-result-reporter.d.ts","sourceRoot":"","sources":["../../src/reporting/file-result-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3C,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,kBAAkB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAoC;IACpD,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC;IASxC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;CAmBnC"}
|