@quenty/cli-output-helpers 1.10.1 → 1.12.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 +30 -103
- 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/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 +1 -0
- package/dist/reporting/spinner-reporter.d.ts.map +1 -1
- package/dist/reporting/spinner-reporter.js +25 -10
- 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/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 +40 -14
- 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,200 +3,127 @@
|
|
|
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
|
-
|
|
7
|
-
|
|
6
|
+
# [1.12.0](https://github.com/Quenty/Nevermore/compare/@quenty/cli-output-helpers@1.11.0...@quenty/cli-output-helpers@1.12.0) (2026-05-18)
|
|
8
7
|
|
|
9
8
|
### Bug Fixes
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# [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)
|
|
10
|
+
- Fix rendering issues in terminal ([c7b39e7](https://github.com/Quenty/Nevermore/commit/c7b39e7f15b7db281b29cd833569334d7d26f183))
|
|
18
11
|
|
|
12
|
+
# [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)
|
|
19
13
|
|
|
20
14
|
### Features
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
- **studio-bridge:** persistent sessions and Linux/Wine support ([#669](https://github.com/Quenty/Nevermore/issues/669)) ([51514c9](https://github.com/Quenty/Nevermore/commit/51514c90cfe438ad1217dabb7fd64fd7350097a9))
|
|
25
17
|
|
|
18
|
+
## [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)
|
|
26
19
|
|
|
20
|
+
### Bug Fixes
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
- **cli-output-helpers:** collapse no-results PR comment to single line ([083969c](https://github.com/Quenty/Nevermore/commit/083969c128b14f8b8accceb6bc3e1dfd37c3739d))
|
|
29
23
|
|
|
24
|
+
# [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)
|
|
30
25
|
|
|
31
26
|
### Features
|
|
32
27
|
|
|
33
|
-
|
|
34
|
-
* **cli:** merge test and deploy results into single PR comment ([6750feb](https://github.com/Quenty/Nevermore/commit/6750feb4bb5c1075ca9931166aebae01c9333f8d))
|
|
35
|
-
|
|
28
|
+
- **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))
|
|
36
29
|
|
|
30
|
+
# [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)
|
|
37
31
|
|
|
32
|
+
### Features
|
|
38
33
|
|
|
34
|
+
- **cli:** add integration game deploy pipeline with base place merging ([b406938](https://github.com/Quenty/Nevermore/commit/b406938cee6a1af59adb6682eb6319c76c51aa1a))
|
|
35
|
+
- **cli:** merge test and deploy results into single PR comment ([6750feb](https://github.com/Quenty/Nevermore/commit/6750feb4bb5c1075ca9931166aebae01c9333f8d))
|
|
39
36
|
|
|
40
37
|
# [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)
|
|
41
38
|
|
|
42
|
-
|
|
43
39
|
### Features
|
|
44
40
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
- **cli:** add GitHub Actions annotations for test failures ([2fd2f42](https://github.com/Quenty/Nevermore/commit/2fd2f423991ca6bf483fa2396045410f849223b6))
|
|
50
42
|
|
|
51
43
|
# [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)
|
|
52
44
|
|
|
53
|
-
|
|
54
45
|
### Features
|
|
55
46
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
47
|
+
- **cli:** add GitHub Actions workflow annotations for linting ([698f7ba](https://github.com/Quenty/Nevermore/commit/698f7ba6ca2c1448b594b94ca5dedf7b528cc8f3))
|
|
61
48
|
|
|
62
49
|
# [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)
|
|
63
50
|
|
|
64
|
-
|
|
65
51
|
### Bug Fixes
|
|
66
52
|
|
|
67
|
-
|
|
68
|
-
|
|
53
|
+
- **cli:** strip redundant heading from job summary output ([3683d56](https://github.com/Quenty/Nevermore/commit/3683d56fd6ac889db6c33f4b348a32ee9807197e))
|
|
69
54
|
|
|
70
55
|
### Features
|
|
71
56
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
57
|
+
- **cli:** add GitHub Actions job summary reporter ([84db8d2](https://github.com/Quenty/Nevermore/commit/84db8d2518df1293fb9bc1d3e05c69cf236e2ed5))
|
|
77
58
|
|
|
78
59
|
## [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)
|
|
79
60
|
|
|
80
|
-
|
|
81
61
|
### Bug Fixes
|
|
82
62
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
63
|
+
- When no tests run we report that tests were not run ([66a8608](https://github.com/Quenty/Nevermore/commit/66a860829d7241a0055028669a0bf55d4670a245))
|
|
88
64
|
|
|
89
65
|
## [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)
|
|
90
66
|
|
|
91
|
-
|
|
92
67
|
### Bug Fixes
|
|
93
68
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
69
|
+
- devcontainer initializes properly with luau-lsp working out of the box ([b8591e8](https://github.com/Quenty/Nevermore/commit/b8591e8a62beda655e90875b0dc22d79fcae8e61))
|
|
99
70
|
|
|
100
71
|
# [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)
|
|
101
72
|
|
|
102
|
-
|
|
103
73
|
### Bug Fixes
|
|
104
74
|
|
|
105
|
-
|
|
106
|
-
|
|
75
|
+
- Fix spinner design showing stuff ([814cd91](https://github.com/Quenty/Nevermore/commit/814cd915358079f7d628a9739d0cd56e472b52f6))
|
|
107
76
|
|
|
108
77
|
### Features
|
|
109
78
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
79
|
+
- Better error messages and optimized tests ([71ca056](https://github.com/Quenty/Nevermore/commit/71ca056517ee98e625d61e7dcd923dc808ac3edc))
|
|
80
|
+
- Improve output quality of testing cli tools ([217630c](https://github.com/Quenty/Nevermore/commit/217630c354308b740092c07077341dc82d134965))
|
|
81
|
+
- Use reporting system for studio bridge too (a bit ugly) ([20b675c](https://github.com/Quenty/Nevermore/commit/20b675cb22cb46c88b556f4afdda2700dd1258dd))
|
|
117
82
|
|
|
118
83
|
# [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)
|
|
119
84
|
|
|
120
|
-
|
|
121
85
|
### Features
|
|
122
86
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
87
|
+
- Nevermore CLI now checks to make sure it is up to date ([d86930c](https://github.com/Quenty/Nevermore/commit/d86930c85f24d879dee9ce5ce413488d1250246d))
|
|
128
88
|
|
|
129
89
|
## [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)
|
|
130
90
|
|
|
131
|
-
|
|
132
91
|
### Bug Fixes
|
|
133
92
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
93
|
+
- Fix dependency installation process for pnpm ([9651b09](https://github.com/Quenty/Nevermore/commit/9651b09af34f252ef3f9c7c539793cc878dd8cba))
|
|
139
94
|
|
|
140
95
|
## [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)
|
|
141
96
|
|
|
142
97
|
**Note:** Version bump only for package @quenty/cli-output-helpers
|
|
143
98
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
99
|
## [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)
|
|
149
100
|
|
|
150
|
-
|
|
151
101
|
### Bug Fixes
|
|
152
102
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
103
|
+
- Add warning output to output helper ([573ce4e](https://github.com/Quenty/Nevermore/commit/573ce4ed42831d552cfeb4dde1703d4aeda54967))
|
|
158
104
|
|
|
159
105
|
## [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)
|
|
160
106
|
|
|
161
|
-
|
|
162
107
|
### Bug Fixes
|
|
163
108
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
109
|
+
- Add types to packages ([2374fb2](https://github.com/Quenty/Nevermore/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
110
|
+
- Bump package versions for republishing ([ba47c62](https://github.com/Quenty/Nevermore/commit/ba47c62e32170bf74377b0c658c60b84306dc294))
|
|
170
111
|
|
|
171
112
|
## [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)
|
|
172
113
|
|
|
173
|
-
|
|
174
114
|
### Bug Fixes
|
|
175
115
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
116
|
+
- Add types to packages ([2374fb2](https://github.com/Quenty/Nevermore/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
181
117
|
|
|
182
118
|
# [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)
|
|
183
119
|
|
|
184
120
|
**Note:** Version bump only for package @quenty/cli-output-helpers
|
|
185
121
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
122
|
# 1.1.0 (2022-12-27)
|
|
191
123
|
|
|
192
|
-
|
|
193
124
|
### Features
|
|
194
125
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
126
|
+
- Add ability to generate new Nevermore library packages ([e0e8e44](https://github.com/Quenty/Nevermore/commit/e0e8e44a21692d4c383274985d01a965dcfe389c))
|
|
200
127
|
|
|
201
128
|
# v1.1.0 (Tue Dec 27 2022)
|
|
202
129
|
|
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"}
|