@rushstack/terminal 0.19.4 → 0.21.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.json +36 -0
- package/CHANGELOG.md +20 -1
- package/dist/terminal.d.ts +55 -8
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/StringBufferTerminalProvider.d.ts +51 -8
- package/lib/StringBufferTerminalProvider.d.ts.map +1 -1
- package/lib/StringBufferTerminalProvider.js +100 -27
- package/lib/StringBufferTerminalProvider.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/terminal",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.21.0",
|
|
6
|
+
"tag": "@rushstack/terminal_v0.21.0",
|
|
7
|
+
"date": "Wed, 07 Jan 2026 01:12:24 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Add a `getAllOutputAsChunks` function to `StringBufferTerminalProvider` that returns an array of chunks that were written to the terminal provider."
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"version": "0.20.0",
|
|
18
|
+
"tag": "@rushstack/terminal_v0.20.0",
|
|
19
|
+
"date": "Mon, 05 Jan 2026 16:12:49 GMT",
|
|
20
|
+
"comments": {
|
|
21
|
+
"minor": [
|
|
22
|
+
{
|
|
23
|
+
"comment": "Add a `getAllOutput` function to `StringBufferTerminalProvider` that returns an object containing all output severities."
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"version": "0.19.5",
|
|
30
|
+
"tag": "@rushstack/terminal_v0.19.5",
|
|
31
|
+
"date": "Sat, 06 Dec 2025 01:12:29 GMT",
|
|
32
|
+
"comments": {
|
|
33
|
+
"dependency": [
|
|
34
|
+
{
|
|
35
|
+
"comment": "Updating dependency \"@rushstack/node-core-library\" to `5.19.1`"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
4
40
|
{
|
|
5
41
|
"version": "0.19.4",
|
|
6
42
|
"tag": "@rushstack/terminal_v0.19.4",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
# Change Log - @rushstack/terminal
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 07 Jan 2026 01:12:24 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.21.0
|
|
6
|
+
Wed, 07 Jan 2026 01:12:24 GMT
|
|
7
|
+
|
|
8
|
+
### Minor changes
|
|
9
|
+
|
|
10
|
+
- Add a `getAllOutputAsChunks` function to `StringBufferTerminalProvider` that returns an array of chunks that were written to the terminal provider.
|
|
11
|
+
|
|
12
|
+
## 0.20.0
|
|
13
|
+
Mon, 05 Jan 2026 16:12:49 GMT
|
|
14
|
+
|
|
15
|
+
### Minor changes
|
|
16
|
+
|
|
17
|
+
- Add a `getAllOutput` function to `StringBufferTerminalProvider` that returns an object containing all output severities.
|
|
18
|
+
|
|
19
|
+
## 0.19.5
|
|
20
|
+
Sat, 06 Dec 2025 01:12:29 GMT
|
|
21
|
+
|
|
22
|
+
_Version update only_
|
|
4
23
|
|
|
5
24
|
## 0.19.4
|
|
6
25
|
Fri, 21 Nov 2025 16:13:56 GMT
|
package/dist/terminal.d.ts
CHANGED
|
@@ -195,6 +195,17 @@ export declare class DiscardStdoutTransform extends TerminalTransform {
|
|
|
195
195
|
protected onWriteChunk(chunk: ITerminalChunk): void;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* @beta
|
|
200
|
+
*/
|
|
201
|
+
export declare interface IAllStringBufferOutput {
|
|
202
|
+
log: string;
|
|
203
|
+
warning: string;
|
|
204
|
+
error: string;
|
|
205
|
+
verbose: string;
|
|
206
|
+
debug: string;
|
|
207
|
+
}
|
|
208
|
+
|
|
198
209
|
/**
|
|
199
210
|
* Options for {@link AnsiEscape.formatForTests}.
|
|
200
211
|
* @public
|
|
@@ -274,6 +285,14 @@ export declare interface INormalizeNewlinesTextRewriterOptions {
|
|
|
274
285
|
ensureNewlineAtEnd?: boolean;
|
|
275
286
|
}
|
|
276
287
|
|
|
288
|
+
/**
|
|
289
|
+
* @beta
|
|
290
|
+
*/
|
|
291
|
+
export declare interface IOutputChunk {
|
|
292
|
+
text: string;
|
|
293
|
+
severity: TerminalProviderSeverityName;
|
|
294
|
+
}
|
|
295
|
+
|
|
277
296
|
/**
|
|
278
297
|
* @beta
|
|
279
298
|
*/
|
|
@@ -373,6 +392,16 @@ export declare interface IStdioSummarizerOptions extends ITerminalWritableOption
|
|
|
373
392
|
trailingLines?: number;
|
|
374
393
|
}
|
|
375
394
|
|
|
395
|
+
/**
|
|
396
|
+
* @beta
|
|
397
|
+
*/
|
|
398
|
+
export declare interface IStringBufferOutputChunksOptions extends IStringBufferOutputOptions {
|
|
399
|
+
/**
|
|
400
|
+
* If true, the output will be returned as an array of lines prefixed with severity tokens.
|
|
401
|
+
*/
|
|
402
|
+
asLines?: boolean;
|
|
403
|
+
}
|
|
404
|
+
|
|
376
405
|
/**
|
|
377
406
|
* @beta
|
|
378
407
|
*/
|
|
@@ -383,7 +412,7 @@ export declare interface IStringBufferOutputOptions {
|
|
|
383
412
|
*
|
|
384
413
|
* This option defaults to `true`
|
|
385
414
|
*/
|
|
386
|
-
normalizeSpecialCharacters
|
|
415
|
+
normalizeSpecialCharacters?: boolean;
|
|
387
416
|
}
|
|
388
417
|
|
|
389
418
|
/**
|
|
@@ -983,20 +1012,20 @@ export declare class StringBufferTerminalProvider implements ITerminalProvider {
|
|
|
983
1012
|
private _debugBuffer;
|
|
984
1013
|
private _warningBuffer;
|
|
985
1014
|
private _errorBuffer;
|
|
986
|
-
private
|
|
1015
|
+
private _allOutputChunks;
|
|
1016
|
+
/**
|
|
1017
|
+
* {@inheritDoc ITerminalProvider.supportsColor}
|
|
1018
|
+
*/
|
|
1019
|
+
readonly supportsColor: boolean;
|
|
987
1020
|
constructor(supportsColor?: boolean);
|
|
988
1021
|
/**
|
|
989
1022
|
* {@inheritDoc ITerminalProvider.write}
|
|
990
1023
|
*/
|
|
991
|
-
write(
|
|
1024
|
+
write(text: string, severity: TerminalProviderSeverity): void;
|
|
992
1025
|
/**
|
|
993
1026
|
* {@inheritDoc ITerminalProvider.eolCharacter}
|
|
994
1027
|
*/
|
|
995
1028
|
get eolCharacter(): string;
|
|
996
|
-
/**
|
|
997
|
-
* {@inheritDoc ITerminalProvider.supportsColor}
|
|
998
|
-
*/
|
|
999
|
-
get supportsColor(): boolean;
|
|
1000
1029
|
/**
|
|
1001
1030
|
* Get everything that has been written at log-level severity.
|
|
1002
1031
|
*/
|
|
@@ -1021,7 +1050,20 @@ export declare class StringBufferTerminalProvider implements ITerminalProvider {
|
|
|
1021
1050
|
* Get everything that has been written at warning-level severity.
|
|
1022
1051
|
*/
|
|
1023
1052
|
getWarningOutput(options?: IStringBufferOutputOptions): string;
|
|
1024
|
-
|
|
1053
|
+
/**
|
|
1054
|
+
* Get everything that has been written at all severity levels.
|
|
1055
|
+
*/
|
|
1056
|
+
getAllOutput(sparse?: false, options?: IStringBufferOutputOptions): IAllStringBufferOutput;
|
|
1057
|
+
getAllOutput(sparse: true, options?: IStringBufferOutputOptions): Partial<IAllStringBufferOutput>;
|
|
1058
|
+
/**
|
|
1059
|
+
* Get everything that has been written as an array of output chunks, preserving order.
|
|
1060
|
+
*/
|
|
1061
|
+
getAllOutputAsChunks(options?: IStringBufferOutputChunksOptions & {
|
|
1062
|
+
asLines?: false;
|
|
1063
|
+
}): IOutputChunk[];
|
|
1064
|
+
getAllOutputAsChunks(options: IStringBufferOutputChunksOptions & {
|
|
1065
|
+
asLines: true;
|
|
1066
|
+
}): `[${string}] ${string}`[];
|
|
1025
1067
|
}
|
|
1026
1068
|
|
|
1027
1069
|
/**
|
|
@@ -1125,6 +1167,11 @@ export declare enum TerminalProviderSeverity {
|
|
|
1125
1167
|
debug = 4
|
|
1126
1168
|
}
|
|
1127
1169
|
|
|
1170
|
+
/**
|
|
1171
|
+
* @beta
|
|
1172
|
+
*/
|
|
1173
|
+
export declare type TerminalProviderSeverityName = keyof typeof TerminalProviderSeverity;
|
|
1174
|
+
|
|
1128
1175
|
/**
|
|
1129
1176
|
* A adapter to allow writing to a provided terminal using Writable streams.
|
|
1130
1177
|
*
|
package/dist/tsdoc-metadata.json
CHANGED
|
@@ -9,7 +9,37 @@ export interface IStringBufferOutputOptions {
|
|
|
9
9
|
*
|
|
10
10
|
* This option defaults to `true`
|
|
11
11
|
*/
|
|
12
|
-
normalizeSpecialCharacters
|
|
12
|
+
normalizeSpecialCharacters?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @beta
|
|
16
|
+
*/
|
|
17
|
+
export interface IStringBufferOutputChunksOptions extends IStringBufferOutputOptions {
|
|
18
|
+
/**
|
|
19
|
+
* If true, the output will be returned as an array of lines prefixed with severity tokens.
|
|
20
|
+
*/
|
|
21
|
+
asLines?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @beta
|
|
25
|
+
*/
|
|
26
|
+
export interface IAllStringBufferOutput {
|
|
27
|
+
log: string;
|
|
28
|
+
warning: string;
|
|
29
|
+
error: string;
|
|
30
|
+
verbose: string;
|
|
31
|
+
debug: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @beta
|
|
35
|
+
*/
|
|
36
|
+
export type TerminalProviderSeverityName = keyof typeof TerminalProviderSeverity;
|
|
37
|
+
/**
|
|
38
|
+
* @beta
|
|
39
|
+
*/
|
|
40
|
+
export interface IOutputChunk {
|
|
41
|
+
text: string;
|
|
42
|
+
severity: TerminalProviderSeverityName;
|
|
13
43
|
}
|
|
14
44
|
/**
|
|
15
45
|
* Terminal provider that stores written data in buffers separated by severity.
|
|
@@ -24,20 +54,20 @@ export declare class StringBufferTerminalProvider implements ITerminalProvider {
|
|
|
24
54
|
private _debugBuffer;
|
|
25
55
|
private _warningBuffer;
|
|
26
56
|
private _errorBuffer;
|
|
27
|
-
private
|
|
57
|
+
private _allOutputChunks;
|
|
58
|
+
/**
|
|
59
|
+
* {@inheritDoc ITerminalProvider.supportsColor}
|
|
60
|
+
*/
|
|
61
|
+
readonly supportsColor: boolean;
|
|
28
62
|
constructor(supportsColor?: boolean);
|
|
29
63
|
/**
|
|
30
64
|
* {@inheritDoc ITerminalProvider.write}
|
|
31
65
|
*/
|
|
32
|
-
write(
|
|
66
|
+
write(text: string, severity: TerminalProviderSeverity): void;
|
|
33
67
|
/**
|
|
34
68
|
* {@inheritDoc ITerminalProvider.eolCharacter}
|
|
35
69
|
*/
|
|
36
70
|
get eolCharacter(): string;
|
|
37
|
-
/**
|
|
38
|
-
* {@inheritDoc ITerminalProvider.supportsColor}
|
|
39
|
-
*/
|
|
40
|
-
get supportsColor(): boolean;
|
|
41
71
|
/**
|
|
42
72
|
* Get everything that has been written at log-level severity.
|
|
43
73
|
*/
|
|
@@ -62,6 +92,19 @@ export declare class StringBufferTerminalProvider implements ITerminalProvider {
|
|
|
62
92
|
* Get everything that has been written at warning-level severity.
|
|
63
93
|
*/
|
|
64
94
|
getWarningOutput(options?: IStringBufferOutputOptions): string;
|
|
65
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Get everything that has been written at all severity levels.
|
|
97
|
+
*/
|
|
98
|
+
getAllOutput(sparse?: false, options?: IStringBufferOutputOptions): IAllStringBufferOutput;
|
|
99
|
+
getAllOutput(sparse: true, options?: IStringBufferOutputOptions): Partial<IAllStringBufferOutput>;
|
|
100
|
+
/**
|
|
101
|
+
* Get everything that has been written as an array of output chunks, preserving order.
|
|
102
|
+
*/
|
|
103
|
+
getAllOutputAsChunks(options?: IStringBufferOutputChunksOptions & {
|
|
104
|
+
asLines?: false;
|
|
105
|
+
}): IOutputChunk[];
|
|
106
|
+
getAllOutputAsChunks(options: IStringBufferOutputChunksOptions & {
|
|
107
|
+
asLines: true;
|
|
108
|
+
}): `[${string}] ${string}`[];
|
|
66
109
|
}
|
|
67
110
|
//# sourceMappingURL=StringBufferTerminalProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringBufferTerminalProvider.d.ts","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGvF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,0BAA0B,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StringBufferTerminalProvider.d.ts","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGvF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,0BAA0B;IAClF;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,4BAA4B,CAAC;CACxC;AA+BD;;;;;;GAMG;AACH,qBAAa,4BAA6B,YAAW,iBAAiB;IACpE,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,gBAAgB,CAAsB;IAE9C;;OAEG;IACH,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAEpB,aAAa,GAAE,OAAe;IAIjD;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IA4CpE;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;OAEG;IACI,SAAS,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAI9D;;OAEG;IACI,UAAU,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAI/D;;OAEG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAIrE;;OAEG;IACI,cAAc,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAInE;;OAEG;IACI,cAAc,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAInE;;OAEG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM;IAIrE;;OAEG;IACI,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,sBAAsB;IAC1F,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmCxG;;OAEG;IACI,oBAAoB,CACzB,OAAO,CAAC,EAAE,gCAAgC,GAAG;QAAE,OAAO,CAAC,EAAE,KAAK,CAAA;KAAE,GAC/D,YAAY,EAAE;IACV,oBAAoB,CACzB,OAAO,EAAE,gCAAgC,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,GAC5D,IAAI,MAAM,KAAK,MAAM,EAAE,EAAE;CA+C7B"}
|
|
@@ -6,6 +6,26 @@ exports.StringBufferTerminalProvider = void 0;
|
|
|
6
6
|
const node_core_library_1 = require("@rushstack/node-core-library");
|
|
7
7
|
const ITerminalProvider_1 = require("./ITerminalProvider");
|
|
8
8
|
const AnsiEscape_1 = require("./AnsiEscape");
|
|
9
|
+
function _normalizeOptions(options) {
|
|
10
|
+
return {
|
|
11
|
+
normalizeSpecialCharacters: true,
|
|
12
|
+
...options
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function _normalizeOutput(s, options) {
|
|
16
|
+
const { normalizeSpecialCharacters } = _normalizeOptions(options !== null && options !== void 0 ? options : {});
|
|
17
|
+
return _normalizeOutputInner(s, normalizeSpecialCharacters);
|
|
18
|
+
}
|
|
19
|
+
function _normalizeOutputInner(s, normalizeSpecialCharacters) {
|
|
20
|
+
s = node_core_library_1.Text.convertToLf(s);
|
|
21
|
+
if (normalizeSpecialCharacters) {
|
|
22
|
+
return AnsiEscape_1.AnsiEscape.formatForTests(s, { encodeNewlines: true });
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return s;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const LONGEST_SEVERITY_NAME_LENGTH = Object.keys(ITerminalProvider_1.TerminalProviderSeverity).reduce((max, k) => Math.max(max, k.length), 0);
|
|
9
29
|
/**
|
|
10
30
|
* Terminal provider that stores written data in buffers separated by severity.
|
|
11
31
|
* This terminal provider is designed to be used when code that prints to a terminal
|
|
@@ -20,32 +40,44 @@ class StringBufferTerminalProvider {
|
|
|
20
40
|
this._debugBuffer = new node_core_library_1.StringBuilder();
|
|
21
41
|
this._warningBuffer = new node_core_library_1.StringBuilder();
|
|
22
42
|
this._errorBuffer = new node_core_library_1.StringBuilder();
|
|
23
|
-
this.
|
|
43
|
+
this._allOutputChunks = [];
|
|
44
|
+
this.supportsColor = supportsColor;
|
|
24
45
|
}
|
|
25
46
|
/**
|
|
26
47
|
* {@inheritDoc ITerminalProvider.write}
|
|
27
48
|
*/
|
|
28
|
-
write(
|
|
49
|
+
write(text, severity) {
|
|
50
|
+
const severityName = ITerminalProvider_1.TerminalProviderSeverity[severity];
|
|
51
|
+
const lastChunk = this._allOutputChunks[this._allOutputChunks.length - 1];
|
|
52
|
+
if (lastChunk && lastChunk.severity === severityName) {
|
|
53
|
+
lastChunk.text += text;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this._allOutputChunks.push({
|
|
57
|
+
text,
|
|
58
|
+
severity: severityName
|
|
59
|
+
});
|
|
60
|
+
}
|
|
29
61
|
switch (severity) {
|
|
30
62
|
case ITerminalProvider_1.TerminalProviderSeverity.warning: {
|
|
31
|
-
this._warningBuffer.append(
|
|
63
|
+
this._warningBuffer.append(text);
|
|
32
64
|
break;
|
|
33
65
|
}
|
|
34
66
|
case ITerminalProvider_1.TerminalProviderSeverity.error: {
|
|
35
|
-
this._errorBuffer.append(
|
|
67
|
+
this._errorBuffer.append(text);
|
|
36
68
|
break;
|
|
37
69
|
}
|
|
38
70
|
case ITerminalProvider_1.TerminalProviderSeverity.verbose: {
|
|
39
|
-
this._verboseBuffer.append(
|
|
71
|
+
this._verboseBuffer.append(text);
|
|
40
72
|
break;
|
|
41
73
|
}
|
|
42
74
|
case ITerminalProvider_1.TerminalProviderSeverity.debug: {
|
|
43
|
-
this._debugBuffer.append(
|
|
75
|
+
this._debugBuffer.append(text);
|
|
44
76
|
break;
|
|
45
77
|
}
|
|
46
78
|
case ITerminalProvider_1.TerminalProviderSeverity.log:
|
|
47
79
|
default: {
|
|
48
|
-
this._standardBuffer.append(
|
|
80
|
+
this._standardBuffer.append(text);
|
|
49
81
|
break;
|
|
50
82
|
}
|
|
51
83
|
}
|
|
@@ -56,17 +88,11 @@ class StringBufferTerminalProvider {
|
|
|
56
88
|
get eolCharacter() {
|
|
57
89
|
return '\n';
|
|
58
90
|
}
|
|
59
|
-
/**
|
|
60
|
-
* {@inheritDoc ITerminalProvider.supportsColor}
|
|
61
|
-
*/
|
|
62
|
-
get supportsColor() {
|
|
63
|
-
return this._supportsColor;
|
|
64
|
-
}
|
|
65
91
|
/**
|
|
66
92
|
* Get everything that has been written at log-level severity.
|
|
67
93
|
*/
|
|
68
94
|
getOutput(options) {
|
|
69
|
-
return
|
|
95
|
+
return _normalizeOutput(this._standardBuffer.toString(), options);
|
|
70
96
|
}
|
|
71
97
|
/**
|
|
72
98
|
* @deprecated - use {@link StringBufferTerminalProvider.getVerboseOutput}
|
|
@@ -78,37 +104,84 @@ class StringBufferTerminalProvider {
|
|
|
78
104
|
* Get everything that has been written at verbose-level severity.
|
|
79
105
|
*/
|
|
80
106
|
getVerboseOutput(options) {
|
|
81
|
-
return
|
|
107
|
+
return _normalizeOutput(this._verboseBuffer.toString(), options);
|
|
82
108
|
}
|
|
83
109
|
/**
|
|
84
110
|
* Get everything that has been written at debug-level severity.
|
|
85
111
|
*/
|
|
86
112
|
getDebugOutput(options) {
|
|
87
|
-
return
|
|
113
|
+
return _normalizeOutput(this._debugBuffer.toString(), options);
|
|
88
114
|
}
|
|
89
115
|
/**
|
|
90
116
|
* Get everything that has been written at error-level severity.
|
|
91
117
|
*/
|
|
92
118
|
getErrorOutput(options) {
|
|
93
|
-
return
|
|
119
|
+
return _normalizeOutput(this._errorBuffer.toString(), options);
|
|
94
120
|
}
|
|
95
121
|
/**
|
|
96
122
|
* Get everything that has been written at warning-level severity.
|
|
97
123
|
*/
|
|
98
124
|
getWarningOutput(options) {
|
|
99
|
-
return
|
|
125
|
+
return _normalizeOutput(this._warningBuffer.toString(), options);
|
|
100
126
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
127
|
+
getAllOutput(sparse, options) {
|
|
128
|
+
const result = {};
|
|
129
|
+
const log = this.getOutput(options);
|
|
130
|
+
if (!sparse || log) {
|
|
131
|
+
result.log = log;
|
|
132
|
+
}
|
|
133
|
+
const warning = this.getWarningOutput(options);
|
|
134
|
+
if (!sparse || warning) {
|
|
135
|
+
result.warning = warning;
|
|
136
|
+
}
|
|
137
|
+
const error = this.getErrorOutput(options);
|
|
138
|
+
if (!sparse || error) {
|
|
139
|
+
result.error = error;
|
|
140
|
+
}
|
|
141
|
+
const verbose = this.getVerboseOutput(options);
|
|
142
|
+
if (!sparse || verbose) {
|
|
143
|
+
result.verbose = verbose;
|
|
144
|
+
}
|
|
145
|
+
const debug = this.getDebugOutput(options);
|
|
146
|
+
if (!sparse || debug) {
|
|
147
|
+
result.debug = debug;
|
|
148
|
+
}
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
getAllOutputAsChunks(options = {}) {
|
|
152
|
+
const { asLines, normalizeSpecialCharacters } = _normalizeOptions(options);
|
|
153
|
+
if (asLines) {
|
|
154
|
+
const lines = [];
|
|
155
|
+
for (const { text: rawText, severity: rawSeverity } of this._allOutputChunks) {
|
|
156
|
+
const severity = rawSeverity.padStart(LONGEST_SEVERITY_NAME_LENGTH, ' ');
|
|
157
|
+
const lfText = node_core_library_1.Text.convertToLf(rawText);
|
|
158
|
+
const rawLines = lfText.split('\n');
|
|
159
|
+
// Emit one entry per logical line.
|
|
160
|
+
for (let i = 0; i < rawLines.length; i++) {
|
|
161
|
+
const isLast = i === rawLines.length - 1;
|
|
162
|
+
const isFinalTrailingEmpty = isLast && rawLines[i] === '';
|
|
163
|
+
if (isFinalTrailingEmpty) {
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const hasNewlineAfter = i < rawLines.length - 1;
|
|
167
|
+
// If the original output had a newline after this line, preserve it as the special token
|
|
168
|
+
// (e.g. "[n]") when normalization is enabled.
|
|
169
|
+
const shouldIncludeNewlineToken = normalizeSpecialCharacters && hasNewlineAfter;
|
|
170
|
+
const lineText = shouldIncludeNewlineToken ? `${rawLines[i]}\n` : rawLines[i];
|
|
171
|
+
const text = _normalizeOutputInner(lineText, normalizeSpecialCharacters);
|
|
172
|
+
lines.push(`[${severity}] ${text}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return lines;
|
|
109
176
|
}
|
|
110
177
|
else {
|
|
111
|
-
return
|
|
178
|
+
return this._allOutputChunks.map(({ text: rawText, severity }) => {
|
|
179
|
+
const text = _normalizeOutputInner(rawText, normalizeSpecialCharacters);
|
|
180
|
+
return {
|
|
181
|
+
text,
|
|
182
|
+
severity
|
|
183
|
+
};
|
|
184
|
+
});
|
|
112
185
|
}
|
|
113
186
|
}
|
|
114
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringBufferTerminalProvider.js","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { StringBuilder, Text } from '@rushstack/node-core-library';\n\nimport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\nimport { AnsiEscape } from './AnsiEscape';\n\n/**\n * @beta\n */\nexport interface IStringBufferOutputOptions {\n /**\n * If set to true, special characters like \\\\n, \\\\r, and the \\\\u001b character\n * in color control tokens will get normalized to [-n-], [-r-], and [-x-] respectively\n *\n * This option defaults to `true`\n */\n normalizeSpecialCharacters: boolean;\n}\n\n/**\n * Terminal provider that stores written data in buffers separated by severity.\n * This terminal provider is designed to be used when code that prints to a terminal\n * is being unit tested.\n *\n * @beta\n */\nexport class StringBufferTerminalProvider implements ITerminalProvider {\n private _standardBuffer: StringBuilder = new StringBuilder();\n private _verboseBuffer: StringBuilder = new StringBuilder();\n private _debugBuffer: StringBuilder = new StringBuilder();\n private _warningBuffer: StringBuilder = new StringBuilder();\n private _errorBuffer: StringBuilder = new StringBuilder();\n\n private _supportsColor: boolean;\n\n public constructor(supportsColor: boolean = false) {\n this._supportsColor = supportsColor;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.write}\n */\n public write(data: string, severity: TerminalProviderSeverity): void {\n switch (severity) {\n case TerminalProviderSeverity.warning: {\n this._warningBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.error: {\n this._errorBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.verbose: {\n this._verboseBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.debug: {\n this._debugBuffer.append(data);\n break;\n }\n\n case TerminalProviderSeverity.log:\n default: {\n this._standardBuffer.append(data);\n break;\n }\n }\n }\n\n /**\n * {@inheritDoc ITerminalProvider.eolCharacter}\n */\n public get eolCharacter(): string {\n return '\\n';\n }\n\n /**\n * {@inheritDoc ITerminalProvider.supportsColor}\n */\n public get supportsColor(): boolean {\n return this._supportsColor;\n }\n\n /**\n * Get everything that has been written at log-level severity.\n */\n public getOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._standardBuffer.toString(), options);\n }\n\n /**\n * @deprecated - use {@link StringBufferTerminalProvider.getVerboseOutput}\n */\n public getVerbose(options?: IStringBufferOutputOptions): string {\n return this.getVerboseOutput(options);\n }\n\n /**\n * Get everything that has been written at verbose-level severity.\n */\n public getVerboseOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._verboseBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at debug-level severity.\n */\n public getDebugOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._debugBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at error-level severity.\n */\n public getErrorOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._errorBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at warning-level severity.\n */\n public getWarningOutput(options?: IStringBufferOutputOptions): string {\n return this._normalizeOutput(this._warningBuffer.toString(), options);\n }\n\n private _normalizeOutput(s: string, options: IStringBufferOutputOptions | undefined): string {\n options = {\n normalizeSpecialCharacters: true,\n\n ...(options || {})\n };\n\n s = Text.convertToLf(s);\n\n if (options.normalizeSpecialCharacters) {\n return AnsiEscape.formatForTests(s, { encodeNewlines: true });\n } else {\n return s;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StringBufferTerminalProvider.js","sourceRoot":"","sources":["../src/StringBufferTerminalProvider.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,oEAAmE;AAEnE,2DAAuF;AACvF,6CAA0C;AAiD1C,SAAS,iBAAiB,CACxB,OAAiB;IAEjB,OAAO;QACL,0BAA0B,EAAE,IAAI;QAChC,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS,EAAE,OAA+C;IAClF,MAAM,EAAE,0BAA0B,EAAE,GAAG,iBAAiB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;IACxE,OAAO,qBAAqB,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAS,EAAE,0BAAmC;IAC3E,CAAC,GAAG,wBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,0BAA0B,EAAE,CAAC;QAC/B,OAAO,uBAAU,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,4BAA4B,GAAW,MAAM,CAAC,IAAI,CAAC,4CAAwB,CAAC,CAAC,MAAM,CACvF,CAAC,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EACnD,CAAC,CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAa,4BAA4B;IAavC,YAAmB,gBAAyB,KAAK;QAZzC,oBAAe,GAAkB,IAAI,iCAAa,EAAE,CAAC;QACrD,mBAAc,GAAkB,IAAI,iCAAa,EAAE,CAAC;QACpD,iBAAY,GAAkB,IAAI,iCAAa,EAAE,CAAC;QAClD,mBAAc,GAAkB,IAAI,iCAAa,EAAE,CAAC;QACpD,iBAAY,GAAkB,IAAI,iCAAa,EAAE,CAAC;QAClD,qBAAgB,GAAmB,EAAE,CAAC;QAQ5C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAY,EAAE,QAAkC;QAC3D,MAAM,YAAY,GAAiC,4CAAwB,CACzE,QAAQ,CACuB,CAAC;QAElC,MAAM,SAAS,GAA6B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpG,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrD,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,IAAI;gBACJ,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,4CAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,GAAG,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,OAAoC;QACnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,OAAoC;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAoC;QAC1D,OAAO,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAoC;QACxD,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAoC;QACxD,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAoC;QAC1D,OAAO,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAOM,YAAY,CACjB,MAA2B,EAC3B,OAAoC;QAEpC,MAAM,MAAM,GAAoC,EAAE,CAAC;QAEnD,MAAM,GAAG,GAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAW,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAW,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAWM,oBAAoB,CAAC,UAA4C,EAAE;QACxE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAA8B,EAAE,CAAC;YAE5C,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7E,MAAM,QAAQ,GAAY,WAA4C,CAAC,QAAQ,CAC7E,4BAA4B,EAC5B,GAAG,CACJ,CAAC;gBAEF,MAAM,MAAM,GAAW,wBAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAa,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE9C,mCAAmC;gBACnC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,MAAM,GAAY,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBAClD,MAAM,oBAAoB,GAAY,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBAEnE,IAAI,oBAAoB,EAAE,CAAC;wBACzB,SAAS;oBACX,CAAC;oBAED,MAAM,eAAe,GAAY,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBAEzD,yFAAyF;oBACzF,8CAA8C;oBAC9C,MAAM,yBAAyB,GAAY,0BAA0B,IAAI,eAAe,CAAC;oBACzF,MAAM,QAAQ,GAAW,yBAAyB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtF,MAAM,IAAI,GAAW,qBAAqB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;oBACjF,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC/D,MAAM,IAAI,GAAW,qBAAqB,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBAChF,OAAO;oBACL,IAAI;oBACJ,QAAQ;iBACT,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA/MD,oEA+MC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { StringBuilder, Text } from '@rushstack/node-core-library';\n\nimport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\nimport { AnsiEscape } from './AnsiEscape';\n\n/**\n * @beta\n */\nexport interface IStringBufferOutputOptions {\n /**\n * If set to true, special characters like \\\\n, \\\\r, and the \\\\u001b character\n * in color control tokens will get normalized to [-n-], [-r-], and [-x-] respectively\n *\n * This option defaults to `true`\n */\n normalizeSpecialCharacters?: boolean;\n}\n\n/**\n * @beta\n */\nexport interface IStringBufferOutputChunksOptions extends IStringBufferOutputOptions {\n /**\n * If true, the output will be returned as an array of lines prefixed with severity tokens.\n */\n asLines?: boolean;\n}\n\n/**\n * @beta\n */\nexport interface IAllStringBufferOutput {\n log: string;\n warning: string;\n error: string;\n verbose: string;\n debug: string;\n}\n\n/**\n * @beta\n */\nexport type TerminalProviderSeverityName = keyof typeof TerminalProviderSeverity;\n\n/**\n * @beta\n */\nexport interface IOutputChunk {\n text: string;\n severity: TerminalProviderSeverityName;\n}\n\nfunction _normalizeOptions<TOptions extends IStringBufferOutputOptions>(\n options: TOptions\n): TOptions & Required<IStringBufferOutputOptions> {\n return {\n normalizeSpecialCharacters: true,\n ...options\n };\n}\n\nfunction _normalizeOutput(s: string, options: IStringBufferOutputOptions | undefined): string {\n const { normalizeSpecialCharacters } = _normalizeOptions(options ?? {});\n return _normalizeOutputInner(s, normalizeSpecialCharacters);\n}\n\nfunction _normalizeOutputInner(s: string, normalizeSpecialCharacters: boolean): string {\n s = Text.convertToLf(s);\n\n if (normalizeSpecialCharacters) {\n return AnsiEscape.formatForTests(s, { encodeNewlines: true });\n } else {\n return s;\n }\n}\n\nconst LONGEST_SEVERITY_NAME_LENGTH: number = Object.keys(TerminalProviderSeverity).reduce(\n (max: number, k: string) => Math.max(max, k.length),\n 0\n);\n\n/**\n * Terminal provider that stores written data in buffers separated by severity.\n * This terminal provider is designed to be used when code that prints to a terminal\n * is being unit tested.\n *\n * @beta\n */\nexport class StringBufferTerminalProvider implements ITerminalProvider {\n private _standardBuffer: StringBuilder = new StringBuilder();\n private _verboseBuffer: StringBuilder = new StringBuilder();\n private _debugBuffer: StringBuilder = new StringBuilder();\n private _warningBuffer: StringBuilder = new StringBuilder();\n private _errorBuffer: StringBuilder = new StringBuilder();\n private _allOutputChunks: IOutputChunk[] = [];\n\n /**\n * {@inheritDoc ITerminalProvider.supportsColor}\n */\n public readonly supportsColor: boolean;\n\n public constructor(supportsColor: boolean = false) {\n this.supportsColor = supportsColor;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.write}\n */\n public write(text: string, severity: TerminalProviderSeverity): void {\n const severityName: TerminalProviderSeverityName = TerminalProviderSeverity[\n severity\n ] as TerminalProviderSeverityName;\n\n const lastChunk: IOutputChunk | undefined = this._allOutputChunks[this._allOutputChunks.length - 1];\n if (lastChunk && lastChunk.severity === severityName) {\n lastChunk.text += text;\n } else {\n this._allOutputChunks.push({\n text,\n severity: severityName\n });\n }\n\n switch (severity) {\n case TerminalProviderSeverity.warning: {\n this._warningBuffer.append(text);\n break;\n }\n\n case TerminalProviderSeverity.error: {\n this._errorBuffer.append(text);\n break;\n }\n\n case TerminalProviderSeverity.verbose: {\n this._verboseBuffer.append(text);\n break;\n }\n\n case TerminalProviderSeverity.debug: {\n this._debugBuffer.append(text);\n break;\n }\n\n case TerminalProviderSeverity.log:\n default: {\n this._standardBuffer.append(text);\n break;\n }\n }\n }\n\n /**\n * {@inheritDoc ITerminalProvider.eolCharacter}\n */\n public get eolCharacter(): string {\n return '\\n';\n }\n\n /**\n * Get everything that has been written at log-level severity.\n */\n public getOutput(options?: IStringBufferOutputOptions): string {\n return _normalizeOutput(this._standardBuffer.toString(), options);\n }\n\n /**\n * @deprecated - use {@link StringBufferTerminalProvider.getVerboseOutput}\n */\n public getVerbose(options?: IStringBufferOutputOptions): string {\n return this.getVerboseOutput(options);\n }\n\n /**\n * Get everything that has been written at verbose-level severity.\n */\n public getVerboseOutput(options?: IStringBufferOutputOptions): string {\n return _normalizeOutput(this._verboseBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at debug-level severity.\n */\n public getDebugOutput(options?: IStringBufferOutputOptions): string {\n return _normalizeOutput(this._debugBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at error-level severity.\n */\n public getErrorOutput(options?: IStringBufferOutputOptions): string {\n return _normalizeOutput(this._errorBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at warning-level severity.\n */\n public getWarningOutput(options?: IStringBufferOutputOptions): string {\n return _normalizeOutput(this._warningBuffer.toString(), options);\n }\n\n /**\n * Get everything that has been written at all severity levels.\n */\n public getAllOutput(sparse?: false, options?: IStringBufferOutputOptions): IAllStringBufferOutput;\n public getAllOutput(sparse: true, options?: IStringBufferOutputOptions): Partial<IAllStringBufferOutput>;\n public getAllOutput(\n sparse: boolean | undefined,\n options?: IStringBufferOutputOptions\n ): Partial<IAllStringBufferOutput> {\n const result: Partial<IAllStringBufferOutput> = {};\n\n const log: string = this.getOutput(options);\n if (!sparse || log) {\n result.log = log;\n }\n\n const warning: string = this.getWarningOutput(options);\n if (!sparse || warning) {\n result.warning = warning;\n }\n\n const error: string = this.getErrorOutput(options);\n if (!sparse || error) {\n result.error = error;\n }\n\n const verbose: string = this.getVerboseOutput(options);\n if (!sparse || verbose) {\n result.verbose = verbose;\n }\n\n const debug: string = this.getDebugOutput(options);\n if (!sparse || debug) {\n result.debug = debug;\n }\n\n return result;\n }\n\n /**\n * Get everything that has been written as an array of output chunks, preserving order.\n */\n public getAllOutputAsChunks(\n options?: IStringBufferOutputChunksOptions & { asLines?: false }\n ): IOutputChunk[];\n public getAllOutputAsChunks(\n options: IStringBufferOutputChunksOptions & { asLines: true }\n ): `[${string}] ${string}`[];\n public getAllOutputAsChunks(options: IStringBufferOutputChunksOptions = {}): IOutputChunk[] | string[] {\n const { asLines, normalizeSpecialCharacters } = _normalizeOptions(options);\n if (asLines) {\n const lines: `[${string}] ${string}`[] = [];\n\n for (const { text: rawText, severity: rawSeverity } of this._allOutputChunks) {\n const severity: string = (rawSeverity as TerminalProviderSeverityName).padStart(\n LONGEST_SEVERITY_NAME_LENGTH,\n ' '\n );\n\n const lfText: string = Text.convertToLf(rawText);\n const rawLines: string[] = lfText.split('\\n');\n\n // Emit one entry per logical line.\n for (let i: number = 0; i < rawLines.length; i++) {\n const isLast: boolean = i === rawLines.length - 1;\n const isFinalTrailingEmpty: boolean = isLast && rawLines[i] === '';\n\n if (isFinalTrailingEmpty) {\n continue;\n }\n\n const hasNewlineAfter: boolean = i < rawLines.length - 1;\n\n // If the original output had a newline after this line, preserve it as the special token\n // (e.g. \"[n]\") when normalization is enabled.\n const shouldIncludeNewlineToken: boolean = normalizeSpecialCharacters && hasNewlineAfter;\n const lineText: string = shouldIncludeNewlineToken ? `${rawLines[i]}\\n` : rawLines[i];\n\n const text: string = _normalizeOutputInner(lineText, normalizeSpecialCharacters);\n lines.push(`[${severity}] ${text}`);\n }\n }\n\n return lines;\n } else {\n return this._allOutputChunks.map(({ text: rawText, severity }) => {\n const text: string = _normalizeOutputInner(rawText, normalizeSpecialCharacters);\n return {\n text,\n severity\n };\n });\n }\n }\n}\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export { Terminal } from './Terminal';
|
|
|
29
29
|
export { Colorize } from './Colorize';
|
|
30
30
|
export { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';
|
|
31
31
|
export { ConsoleTerminalProvider, type IConsoleTerminalProviderOptions } from './ConsoleTerminalProvider';
|
|
32
|
-
export { StringBufferTerminalProvider, type IStringBufferOutputOptions } from './StringBufferTerminalProvider';
|
|
32
|
+
export { StringBufferTerminalProvider, type IStringBufferOutputOptions, type IAllStringBufferOutput, type IOutputChunk, type IStringBufferOutputChunksOptions, type TerminalProviderSeverityName } from './StringBufferTerminalProvider';
|
|
33
33
|
export { PrefixProxyTerminalProvider, type IPrefixProxyTerminalProviderOptions, type IDynamicPrefixProxyTerminalProviderOptions, type IPrefixProxyTerminalProviderOptionsBase, type IStaticPrefixProxyTerminalProviderOptions } from './PrefixProxyTerminalProvider';
|
|
34
34
|
export { NoOpTerminalProvider } from './NoOpTerminalProvider';
|
|
35
35
|
export { TerminalStreamWritable, type ITerminalStreamWritableOptions } from './TerminalStreamWritable';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,KAAK,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,KAAK,qCAAqC,EAC1C,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,KAAK,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,KAAK,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,KAAK,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,KAAK,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,KAAK,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,KAAK,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,KAAK,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EACL,4BAA4B,EAC5B,KAAK,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,KAAK,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,KAAK,qCAAqC,EAC1C,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,KAAK,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,KAAK,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,KAAK,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,KAAK,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,KAAK,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,KAAK,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,KAAK,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EACL,4BAA4B,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,KAAK,mCAAmC,EACxC,KAAK,0CAA0C,EAC/C,KAAK,uCAAuC,EAC5C,KAAK,yCAAyC,EAC/C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,KAAK,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,8CAA8C;AAE9C;;;;;;;;GAQG;AAEH,uDAAqF;AAA7C,oHAAA,gBAAgB,OAAA;AACxD,mEAAuG;AAAzD,gIAAA,sBAAsB,OAAA;AACpE,mDAA0E;AAAjE,mHAAA,iBAAiB,OAAA;AAC1B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iFAGyC;AADvC,8IAAA,6BAA6B,OAAA;AAE/B,mDAAyE;AAAhE,uHAAA,qBAAqB,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC9C,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,yDAAwF;AAA/C,sHAAA,iBAAiB,OAAA;AAC1D,2DAA4F;AAAlD,yHAAA,mBAAmB,OAAA;AAC7D,qDAAkF;AAA3C,kHAAA,eAAe,OAAA;AACtD,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,yDAAwF;AAA/C,sHAAA,iBAAiB,OAAA;AAC1D,uDAAqF;AAA7C,oHAAA,gBAAgB,OAAA;AACxD,+CAAsE;AAArC,4GAAA,YAAY,OAAA;AAC7C,iEAAoG;AAAvD,8HAAA,qBAAqB,OAAA;AAClE,2CAAkF;AAAzE,wGAAA,UAAU,OAAA;AAEnB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yDAAuF;AAAtD,6HAAA,wBAAwB,OAAA;AACzD,qEAA0G;AAAjG,kIAAA,uBAAuB,OAAA;AAChC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,8CAA8C;AAE9C;;;;;;;;GAQG;AAEH,uDAAqF;AAA7C,oHAAA,gBAAgB,OAAA;AACxD,mEAAuG;AAAzD,gIAAA,sBAAsB,OAAA;AACpE,mDAA0E;AAAjE,mHAAA,iBAAiB,OAAA;AAC1B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iFAGyC;AADvC,8IAAA,6BAA6B,OAAA;AAE/B,mDAAyE;AAAhE,uHAAA,qBAAqB,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC9C,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,yDAAwF;AAA/C,sHAAA,iBAAiB,OAAA;AAC1D,2DAA4F;AAAlD,yHAAA,mBAAmB,OAAA;AAC7D,qDAAkF;AAA3C,kHAAA,eAAe,OAAA;AACtD,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,yDAAwF;AAA/C,sHAAA,iBAAiB,OAAA;AAC1D,uDAAqF;AAA7C,oHAAA,gBAAgB,OAAA;AACxD,+CAAsE;AAArC,4GAAA,YAAY,OAAA;AAC7C,iEAAoG;AAAvD,8HAAA,qBAAqB,OAAA;AAClE,2CAAkF;AAAzE,wGAAA,UAAU,OAAA;AAEnB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yDAAuF;AAAtD,6HAAA,wBAAwB,OAAA;AACzD,qEAA0G;AAAjG,kIAAA,uBAAuB,OAAA;AAChC,+EAOwC;AANtC,4IAAA,4BAA4B,OAAA;AAO9B,6EAMuC;AALrC,0IAAA,2BAA2B,OAAA;AAM7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,mEAAuG;AAA9F,gIAAA,sBAAsB,OAAA;AAC/B,uDAAqF;AAA5E,oHAAA,gBAAgB,OAAA","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\n/// <reference types=\"node\" preserve=\"true\" />\n\n/**\n * This library implements a system for processing human readable text that\n * will be output by console applications.\n *\n * @remarks\n * See the {@link TerminalWritable} documentation for an overview of the major concepts.\n *\n * @packageDocumentation\n */\n\nexport { type ICallbackWritableOptions, CallbackWritable } from './CallbackWritable';\nexport { type IDiscardStdoutTransformOptions, DiscardStdoutTransform } from './DiscardStdoutTransform';\nexport { TerminalChunkKind, type ITerminalChunk } from './ITerminalChunk';\nexport { MockWritable } from './MockWritable';\nexport {\n type INormalizeNewlinesTextRewriterOptions,\n NormalizeNewlinesTextRewriter\n} from './NormalizeNewlinesTextRewriter';\nexport { DEFAULT_CONSOLE_WIDTH, PrintUtilities } from './PrintUtilities';\nexport { RemoveColorsTextRewriter } from './RemoveColorsTextRewriter';\nexport { type ISplitterTransformOptions, SplitterTransform } from './SplitterTransform';\nexport { type IStdioLineTransformOptions, StderrLineTransform } from './StdioLineTransform';\nexport { type IStdioSummarizerOptions, StdioSummarizer } from './StdioSummarizer';\nexport { StdioWritable } from './StdioWritable';\nexport { type ITerminalTransformOptions, TerminalTransform } from './TerminalTransform';\nexport { type ITerminalWritableOptions, TerminalWritable } from './TerminalWritable';\nexport { type TextRewriterState, TextRewriter } from './TextRewriter';\nexport { type ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewriterTransform';\nexport { AnsiEscape, type IAnsiEscapeConvertForTestsOptions } from './AnsiEscape';\nexport type { ITerminal, TerminalWriteParameters, ITerminalWriteOptions } from './ITerminal';\nexport { Terminal } from './Terminal';\nexport { Colorize } from './Colorize';\nexport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\nexport { ConsoleTerminalProvider, type IConsoleTerminalProviderOptions } from './ConsoleTerminalProvider';\nexport {\n StringBufferTerminalProvider,\n type IStringBufferOutputOptions,\n type IAllStringBufferOutput,\n type IOutputChunk,\n type IStringBufferOutputChunksOptions,\n type TerminalProviderSeverityName\n} from './StringBufferTerminalProvider';\nexport {\n PrefixProxyTerminalProvider,\n type IPrefixProxyTerminalProviderOptions,\n type IDynamicPrefixProxyTerminalProviderOptions,\n type IPrefixProxyTerminalProviderOptionsBase,\n type IStaticPrefixProxyTerminalProviderOptions\n} from './PrefixProxyTerminalProvider';\nexport { NoOpTerminalProvider } from './NoOpTerminalProvider';\nexport { TerminalStreamWritable, type ITerminalStreamWritableOptions } from './TerminalStreamWritable';\nexport { ProblemCollector, type IProblemCollectorOptions } from './ProblemCollector';\nexport type { IProblemCollector } from './IProblemCollector';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/terminal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "User interface primitives for console applications",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "dist/terminal.d.ts",
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"supports-color": "~8.1.1",
|
|
15
|
-
"@rushstack/
|
|
16
|
-
"@rushstack/
|
|
15
|
+
"@rushstack/node-core-library": "5.19.1",
|
|
16
|
+
"@rushstack/problem-matcher": "0.1.1"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@rushstack/heft": "1.1.
|
|
19
|
+
"@rushstack/heft": "1.1.7",
|
|
20
20
|
"@types/supports-color": "8.1.3",
|
|
21
21
|
"eslint": "~9.37.0",
|
|
22
22
|
"decoupled-local-node-rig": "1.0.0"
|