@rushstack/terminal 0.9.0 → 0.10.1

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.
@@ -103,6 +103,8 @@ export declare class Colorize {
103
103
  static blink(text: string): string;
104
104
  static invertColor(text: string): string;
105
105
  static hidden(text: string): string;
106
+ static rainbow(text: string): string;
107
+ private static _applyColorSequence;
106
108
  private static _wrapTextInAnsiEscapeCodes;
107
109
  }
108
110
 
@@ -122,6 +124,10 @@ export declare class ConsoleTerminalProvider implements ITerminalProvider {
122
124
  * If true, debug-level messages should be written to the console.
123
125
  */
124
126
  debugEnabled: boolean;
127
+ /**
128
+ * {@inheritDoc ITerminalProvider.supportsColor}
129
+ */
130
+ readonly supportsColor: boolean;
125
131
  constructor(options?: Partial<IConsoleTerminalProviderOptions>);
126
132
  /**
127
133
  * {@inheritDoc ITerminalProvider.write}
@@ -131,10 +137,6 @@ export declare class ConsoleTerminalProvider implements ITerminalProvider {
131
137
  * {@inheritDoc ITerminalProvider.eolCharacter}
132
138
  */
133
139
  get eolCharacter(): string;
134
- /**
135
- * {@inheritDoc ITerminalProvider.supportsColor}
136
- */
137
- get supportsColor(): boolean;
138
140
  }
139
141
 
140
142
  /**
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.39.1"
8
+ "packageVersion": "7.41.0"
9
9
  }
10
10
  ]
11
11
  }
package/lib/Colorize.d.ts CHANGED
@@ -74,6 +74,8 @@ export declare class Colorize {
74
74
  static blink(text: string): string;
75
75
  static invertColor(text: string): string;
76
76
  static hidden(text: string): string;
77
+ static rainbow(text: string): string;
78
+ private static _applyColorSequence;
77
79
  private static _wrapTextInAnsiEscapeCodes;
78
80
  }
79
81
  //# sourceMappingURL=Colorize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Colorize.d.ts","sourceRoot":"","sources":["../src/Colorize.ts"],"names":[],"mappings":"AAKA,oBAAY,qBAAqB;IAC/B,eAAe,KAAK;IACpB,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,eAAe,KAAK;IACpB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IAEtB,eAAe,KAAK;IACpB,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,eAAe,KAAK;IACpB,cAAc,MAAM;IACpB,iBAAiB,KAAK;IAEtB,IAAI,IAAI;IAOR,GAAG,IAAI;IACP,sBAAsB,KAAK;IAC3B,SAAS,IAAI;IACb,YAAY,KAAK;IACjB,KAAK,IAAI;IACT,QAAQ,KAAK;IACb,WAAW,IAAI;IACf,cAAc,KAAK;IACnB,MAAM,IAAI;IACV,SAAS,KAAK;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QAAQ;WACL,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQzB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQnC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQtC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQvC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQzB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAO1C"}
1
+ {"version":3,"file":"Colorize.d.ts","sourceRoot":"","sources":["../src/Colorize.ts"],"names":[],"mappings":"AAKA,oBAAY,qBAAqB;IAC/B,eAAe,KAAK;IACpB,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,eAAe,KAAK;IACpB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IAEtB,eAAe,KAAK;IACpB,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,eAAe,KAAK;IACpB,cAAc,MAAM;IACpB,iBAAiB,KAAK;IAEtB,IAAI,IAAI;IAOR,GAAG,IAAI;IACP,sBAAsB,KAAK;IAC3B,SAAS,IAAI;IACb,YAAY,KAAK;IACjB,KAAK,IAAI;IACT,QAAQ,KAAK;IACb,WAAW,IAAI;IACf,cAAc,KAAK;IACnB,MAAM,IAAI;IACV,SAAS,KAAK;CACf;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QAAQ;WACL,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQzB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQnC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQtC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQvC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQpC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQzB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQ5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAO1C"}
package/lib/Colorize.js CHANGED
@@ -42,6 +42,14 @@ var SgrParameterAttribute;
42
42
  SgrParameterAttribute[SgrParameterAttribute["Hidden"] = 8] = "Hidden";
43
43
  SgrParameterAttribute[SgrParameterAttribute["HiddenOff"] = 28] = "HiddenOff";
44
44
  })(SgrParameterAttribute || (exports.SgrParameterAttribute = SgrParameterAttribute = {}));
45
+ const RAINBOW_SEQUENCE = [
46
+ SgrParameterAttribute.RedForeground,
47
+ SgrParameterAttribute.YellowForeground,
48
+ SgrParameterAttribute.GreenForeground,
49
+ SgrParameterAttribute.CyanForeground,
50
+ SgrParameterAttribute.BlueForeground,
51
+ SgrParameterAttribute.MagentaForeground
52
+ ];
45
53
  /**
46
54
  * The static functions on this class are used to produce colored text
47
55
  * for use with a terminal that supports ANSI escape codes.
@@ -133,6 +141,17 @@ class Colorize {
133
141
  static hidden(text) {
134
142
  return Colorize._wrapTextInAnsiEscapeCodes(SgrParameterAttribute.Hidden, SgrParameterAttribute.HiddenOff, text);
135
143
  }
144
+ static rainbow(text) {
145
+ return Colorize._applyColorSequence(text, RAINBOW_SEQUENCE);
146
+ }
147
+ static _applyColorSequence(text, sequence) {
148
+ let result = '';
149
+ const sequenceLength = sequence.length;
150
+ for (let i = 0; i < text.length; i++) {
151
+ result += AnsiEscape_1.AnsiEscape.getEscapeSequenceForAnsiCode(sequence[i % sequenceLength]) + text[i];
152
+ }
153
+ return result + AnsiEscape_1.AnsiEscape.getEscapeSequenceForAnsiCode(SgrParameterAttribute.DefaultForeground);
154
+ }
136
155
  static _wrapTextInAnsiEscapeCodes(startCode, endCode, text) {
137
156
  return (AnsiEscape_1.AnsiEscape.getEscapeSequenceForAnsiCode(startCode) +
138
157
  text +
@@ -1 +1 @@
1
- {"version":3,"file":"Colorize.js","sourceRoot":"","sources":["../src/Colorize.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,6CAA0C;AAE1C,IAAY,qBAwCX;AAxCD,WAAY,qBAAqB;IAC/B,wFAAoB,CAAA;IACpB,oFAAkB,CAAA;IAClB,wFAAoB,CAAA;IACpB,0FAAqB,CAAA;IACrB,sFAAmB,CAAA;IACnB,4FAAsB,CAAA;IACtB,sFAAmB,CAAA;IACnB,wFAAoB,CAAA;IACpB,sFAAmB,CAAA;IACnB,4FAAsB,CAAA;IAEtB,wFAAoB,CAAA;IACpB,oFAAkB,CAAA;IAClB,wFAAoB,CAAA;IACpB,0FAAqB,CAAA;IACrB,sFAAmB,CAAA;IACnB,4FAAsB,CAAA;IACtB,sFAAmB,CAAA;IACnB,wFAAoB,CAAA;IACpB,uFAAoB,CAAA;IACpB,4FAAsB,CAAA;IAEtB,iEAAQ,CAAA;IAER,gFAAgF;IAChF,yGAAyG;IACzG,uCAAuC;IACvC,gBAAgB;IAEhB,+DAAO,CAAA;IACP,sGAA2B,CAAA;IAC3B,2EAAa,CAAA;IACb,kFAAiB,CAAA;IACjB,mEAAS,CAAA;IACT,0EAAa,CAAA;IACb,+EAAe,CAAA;IACf,sFAAmB,CAAA;IACnB,qEAAU,CAAA;IACV,4EAAc,CAAA;AAChB,CAAC,EAxCW,qBAAqB,qCAArB,qBAAqB,QAwChC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,QAAQ;IACZ,MAAM,CAAC,KAAK,CAAC,IAAY;QAC9B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,IAAY;QAC5B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,aAAa,EACnC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAY;QAC9B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,gBAAgB,EACtC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAAY;QAChC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,iBAAiB,EACvC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAY;QAC9B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,aAAa,EACnC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,IAAY;QACzC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,gBAAgB,EACtC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,IAAY;QAC1C,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,iBAAiB,EACvC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,eAAe,EACrC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,cAAc,EACpC,qBAAqB,CAAC,iBAAiB,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,IAAI,EAC1B,qBAAqB,CAAC,sBAAsB,EAC5C,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,IAAY;QAC5B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,GAAG,EACzB,qBAAqB,CAAC,sBAAsB,EAC5C,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,IAAY;QAClC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,SAAS,EAC/B,qBAAqB,CAAC,YAAY,EAClC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAY;QAC9B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,KAAK,EAC3B,qBAAqB,CAAC,QAAQ,EAC9B,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAY;QACpC,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,WAAW,EACjC,qBAAqB,CAAC,cAAc,EACpC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,OAAO,QAAQ,CAAC,0BAA0B,CACxC,qBAAqB,CAAC,MAAM,EAC5B,qBAAqB,CAAC,SAAS,EAC/B,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAY;QACxF,OAAO,CACL,uBAAU,CAAC,4BAA4B,CAAC,SAAS,CAAC;YAClD,IAAI;YACJ,uBAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC,CACjD,CAAC;IACJ,CAAC;CACF;AAxMD,4BAwMC","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 { AnsiEscape } from './AnsiEscape';\n\nexport enum SgrParameterAttribute {\n BlackForeground = 30,\n RedForeground = 31,\n GreenForeground = 32,\n YellowForeground = 33,\n BlueForeground = 34,\n MagentaForeground = 35,\n CyanForeground = 36,\n WhiteForeground = 37,\n GrayForeground = 90,\n DefaultForeground = 39,\n\n BlackBackground = 40,\n RedBackground = 41,\n GreenBackground = 42,\n YellowBackground = 43,\n BlueBackground = 44,\n MagentaBackground = 45,\n CyanBackground = 46,\n WhiteBackground = 47,\n GrayBackground = 100,\n DefaultBackground = 49,\n\n Bold = 1,\n\n // On Linux, the \"BoldOff\" code instead causes the text to be double-underlined:\n // https://en.wikipedia.org/wiki/Talk:ANSI_escape_code#SGR_21%E2%80%94%60Bold_off%60_not_widely_supported\n // Use \"NormalColorOrIntensity\" instead\n // BoldOff = 21,\n\n Dim = 2,\n NormalColorOrIntensity = 22,\n Underline = 4,\n UnderlineOff = 24,\n Blink = 5,\n BlinkOff = 25,\n InvertColor = 7,\n InvertColorOff = 27,\n Hidden = 8,\n HiddenOff = 28\n}\n\n/**\n * The static functions on this class are used to produce colored text\n * for use with a terminal that supports ANSI escape codes.\n *\n * Note that this API always generates color codes, regardless of whether\n * the process's stdout is a TTY. The reason is that, in a complex program, the\n * code that is generating strings often does not know were those strings will end\n * up. In some cases, the same log message may get printed both to a shell\n * that supports color AND to a log file that does not.\n *\n * @example\n * ```ts\n * console.log(Colorize.red('Red Text!'))\n * terminal.writeLine(Colorize.green('Green Text!'), ' ', Colorize.blue('Blue Text!'));\n *```\n *\n * @public\n */\nexport class Colorize {\n public static black(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlackForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static red(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.RedForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static green(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GreenForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static yellow(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.YellowForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static blue(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlueForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static magenta(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.MagentaForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static cyan(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.CyanForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static white(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.WhiteForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static gray(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GrayForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static blackBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlackBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static redBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.RedBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static greenBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GreenBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static yellowBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.YellowBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static blueBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlueBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static magentaBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.MagentaBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static cyanBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.CyanBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static whiteBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.WhiteBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static grayBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GrayBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static bold(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Bold,\n SgrParameterAttribute.NormalColorOrIntensity,\n text\n );\n }\n\n public static dim(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Dim,\n SgrParameterAttribute.NormalColorOrIntensity,\n text\n );\n }\n\n public static underline(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Underline,\n SgrParameterAttribute.UnderlineOff,\n text\n );\n }\n\n public static blink(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Blink,\n SgrParameterAttribute.BlinkOff,\n text\n );\n }\n\n public static invertColor(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.InvertColor,\n SgrParameterAttribute.InvertColorOff,\n text\n );\n }\n\n public static hidden(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Hidden,\n SgrParameterAttribute.HiddenOff,\n text\n );\n }\n\n private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string {\n return (\n AnsiEscape.getEscapeSequenceForAnsiCode(startCode) +\n text +\n AnsiEscape.getEscapeSequenceForAnsiCode(endCode)\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Colorize.js","sourceRoot":"","sources":["../src/Colorize.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 { AnsiEscape } from './AnsiEscape';\n\nexport enum SgrParameterAttribute {\n BlackForeground = 30,\n RedForeground = 31,\n GreenForeground = 32,\n YellowForeground = 33,\n BlueForeground = 34,\n MagentaForeground = 35,\n CyanForeground = 36,\n WhiteForeground = 37,\n GrayForeground = 90,\n DefaultForeground = 39,\n\n BlackBackground = 40,\n RedBackground = 41,\n GreenBackground = 42,\n YellowBackground = 43,\n BlueBackground = 44,\n MagentaBackground = 45,\n CyanBackground = 46,\n WhiteBackground = 47,\n GrayBackground = 100,\n DefaultBackground = 49,\n\n Bold = 1,\n\n // On Linux, the \"BoldOff\" code instead causes the text to be double-underlined:\n // https://en.wikipedia.org/wiki/Talk:ANSI_escape_code#SGR_21%E2%80%94%60Bold_off%60_not_widely_supported\n // Use \"NormalColorOrIntensity\" instead\n // BoldOff = 21,\n\n Dim = 2,\n NormalColorOrIntensity = 22,\n Underline = 4,\n UnderlineOff = 24,\n Blink = 5,\n BlinkOff = 25,\n InvertColor = 7,\n InvertColorOff = 27,\n Hidden = 8,\n HiddenOff = 28\n}\n\nconst RAINBOW_SEQUENCE: SgrParameterAttribute[] = [\n SgrParameterAttribute.RedForeground,\n SgrParameterAttribute.YellowForeground,\n SgrParameterAttribute.GreenForeground,\n SgrParameterAttribute.CyanForeground,\n SgrParameterAttribute.BlueForeground,\n SgrParameterAttribute.MagentaForeground\n];\n\n/**\n * The static functions on this class are used to produce colored text\n * for use with a terminal that supports ANSI escape codes.\n *\n * Note that this API always generates color codes, regardless of whether\n * the process's stdout is a TTY. The reason is that, in a complex program, the\n * code that is generating strings often does not know were those strings will end\n * up. In some cases, the same log message may get printed both to a shell\n * that supports color AND to a log file that does not.\n *\n * @example\n * ```ts\n * console.log(Colorize.red('Red Text!'))\n * terminal.writeLine(Colorize.green('Green Text!'), ' ', Colorize.blue('Blue Text!'));\n *```\n *\n * @public\n */\nexport class Colorize {\n public static black(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlackForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static red(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.RedForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static green(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GreenForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static yellow(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.YellowForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static blue(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlueForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static magenta(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.MagentaForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static cyan(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.CyanForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static white(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.WhiteForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static gray(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GrayForeground,\n SgrParameterAttribute.DefaultForeground,\n text\n );\n }\n\n public static blackBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlackBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static redBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.RedBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static greenBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GreenBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static yellowBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.YellowBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static blueBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.BlueBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static magentaBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.MagentaBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static cyanBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.CyanBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static whiteBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.WhiteBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static grayBackground(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.GrayBackground,\n SgrParameterAttribute.DefaultBackground,\n text\n );\n }\n\n public static bold(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Bold,\n SgrParameterAttribute.NormalColorOrIntensity,\n text\n );\n }\n\n public static dim(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Dim,\n SgrParameterAttribute.NormalColorOrIntensity,\n text\n );\n }\n\n public static underline(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Underline,\n SgrParameterAttribute.UnderlineOff,\n text\n );\n }\n\n public static blink(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Blink,\n SgrParameterAttribute.BlinkOff,\n text\n );\n }\n\n public static invertColor(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.InvertColor,\n SgrParameterAttribute.InvertColorOff,\n text\n );\n }\n\n public static hidden(text: string): string {\n return Colorize._wrapTextInAnsiEscapeCodes(\n SgrParameterAttribute.Hidden,\n SgrParameterAttribute.HiddenOff,\n text\n );\n }\n\n public static rainbow(text: string): string {\n return Colorize._applyColorSequence(text, RAINBOW_SEQUENCE);\n }\n\n private static _applyColorSequence(text: string, sequence: SgrParameterAttribute[]): string {\n let result: string = '';\n const sequenceLength: number = sequence.length;\n for (let i: number = 0; i < text.length; i++) {\n result += AnsiEscape.getEscapeSequenceForAnsiCode(sequence[i % sequenceLength]) + text[i];\n }\n\n return result + AnsiEscape.getEscapeSequenceForAnsiCode(SgrParameterAttribute.DefaultForeground);\n }\n\n private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string {\n return (\n AnsiEscape.getEscapeSequenceForAnsiCode(startCode) +\n text +\n AnsiEscape.getEscapeSequenceForAnsiCode(endCode)\n );\n }\n}\n"]}
@@ -32,6 +32,10 @@ export declare class ConsoleTerminalProvider implements ITerminalProvider {
32
32
  * If true, debug-level messages should be written to the console.
33
33
  */
34
34
  debugEnabled: boolean;
35
+ /**
36
+ * {@inheritDoc ITerminalProvider.supportsColor}
37
+ */
38
+ readonly supportsColor: boolean;
35
39
  constructor(options?: Partial<IConsoleTerminalProviderOptions>);
36
40
  /**
37
41
  * {@inheritDoc ITerminalProvider.write}
@@ -41,9 +45,5 @@ export declare class ConsoleTerminalProvider implements ITerminalProvider {
41
45
  * {@inheritDoc ITerminalProvider.eolCharacter}
42
46
  */
43
47
  get eolCharacter(): string;
44
- /**
45
- * {@inheritDoc ITerminalProvider.supportsColor}
46
- */
47
- get supportsColor(): boolean;
48
48
  }
49
49
  //# sourceMappingURL=ConsoleTerminalProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleTerminalProvider.d.ts","sourceRoot":"","sources":["../src/ConsoleTerminalProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,gBAAuB,aAAa,EAAE,OAAO,CAAiB;IAE9D;;OAEG;IACI,cAAc,EAAE,OAAO,CAAS;IAEvC;;OAEG;IACI,YAAY,EAAE,OAAO,CAAS;gBAElB,OAAO,GAAE,OAAO,CAAC,+BAA+B,CAAM;IAKzE;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IA8BpE;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;CACF"}
1
+ {"version":3,"file":"ConsoleTerminalProvider.d.ts","sourceRoot":"","sources":["../src/ConsoleTerminalProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,gBAAuB,aAAa,EAAE,OAAO,CAAoD;IAEjG;;OAEG;IACI,cAAc,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACI,YAAY,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,SAAgB,aAAa,EAAE,OAAO,CAAyC;gBAE5D,OAAO,GAAE,OAAO,CAAC,+BAA+B,CAAM;IAKzE;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IA8BpE;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;CACF"}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
3
3
  // See LICENSE in the project root for license information.
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
4
7
  Object.defineProperty(exports, "__esModule", { value: true });
5
8
  exports.ConsoleTerminalProvider = void 0;
6
9
  const os_1 = require("os");
7
- const safe_1 = require("colors/safe");
10
+ const supports_color_1 = __importDefault(require("supports-color"));
8
11
  const ITerminalProvider_1 = require("./ITerminalProvider");
9
12
  /**
10
13
  * Terminal provider that prints to STDOUT (for log- and verbose-level messages) and
@@ -15,13 +18,9 @@ const ITerminalProvider_1 = require("./ITerminalProvider");
15
18
  class ConsoleTerminalProvider {
16
19
  constructor(options = {}) {
17
20
  /**
18
- * If true, verbose-level messages should be written to the console.
21
+ * {@inheritDoc ITerminalProvider.supportsColor}
19
22
  */
20
- this.verboseEnabled = false;
21
- /**
22
- * If true, debug-level messages should be written to the console.
23
- */
24
- this.debugEnabled = false;
23
+ this.supportsColor = ConsoleTerminalProvider.supportsColor;
25
24
  this.verboseEnabled = !!options.verboseEnabled;
26
25
  this.debugEnabled = !!options.debugEnabled;
27
26
  }
@@ -60,13 +59,7 @@ class ConsoleTerminalProvider {
60
59
  get eolCharacter() {
61
60
  return os_1.EOL;
62
61
  }
63
- /**
64
- * {@inheritDoc ITerminalProvider.supportsColor}
65
- */
66
- get supportsColor() {
67
- return safe_1.enabled;
68
- }
69
62
  }
70
63
  exports.ConsoleTerminalProvider = ConsoleTerminalProvider;
71
- ConsoleTerminalProvider.supportsColor = safe_1.enabled;
64
+ ConsoleTerminalProvider.supportsColor = !!supports_color_1.default.stdout && !!supports_color_1.default.stderr;
72
65
  //# sourceMappingURL=ConsoleTerminalProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleTerminalProvider.js","sourceRoot":"","sources":["../src/ConsoleTerminalProvider.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,2BAAyB;AACzB,sCAAuD;AAEvD,2DAAuF;AAqBvF;;;;;GAKG;AACH,MAAa,uBAAuB;IAalC,YAAmB,UAAoD,EAAE;QAVzE;;WAEG;QACI,mBAAc,GAAY,KAAK,CAAC;QAEvC;;WAEG;QACI,iBAAY,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAY,EAAE,QAAkC;QAC3D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,4CAAwB,CAAC,OAAO,CAAC;YACtC,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,GAAG,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,QAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,OAAO,cAAa,CAAC;IACvB,CAAC;;AA/DH,0DAgEC;AA/DwB,qCAAa,GAAY,cAAa,AAAzB,CAA0B","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 { EOL } from 'os';\nimport { enabled as supportsColor } from 'colors/safe';\n\nimport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\n\n/**\n * Options to be provided to a {@link ConsoleTerminalProvider}\n *\n * @beta\n */\nexport interface IConsoleTerminalProviderOptions {\n /**\n * If true, print verbose logging messages.\n */\n verboseEnabled: boolean;\n\n /**\n * If true, print debug logging messages. Note that \"verbose\" and \"debug\" are considered\n * separate message filters; if you want debug to imply verbose, it is up to your\n * application code to enforce that.\n */\n debugEnabled: boolean;\n}\n\n/**\n * Terminal provider that prints to STDOUT (for log- and verbose-level messages) and\n * STDERR (for warning- and error-level messages).\n *\n * @beta\n */\nexport class ConsoleTerminalProvider implements ITerminalProvider {\n public static readonly supportsColor: boolean = supportsColor;\n\n /**\n * If true, verbose-level messages should be written to the console.\n */\n public verboseEnabled: boolean = false;\n\n /**\n * If true, debug-level messages should be written to the console.\n */\n public debugEnabled: boolean = false;\n\n public constructor(options: Partial<IConsoleTerminalProviderOptions> = {}) {\n this.verboseEnabled = !!options.verboseEnabled;\n this.debugEnabled = !!options.debugEnabled;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.write}\n */\n public write(data: string, severity: TerminalProviderSeverity): void {\n switch (severity) {\n case TerminalProviderSeverity.warning:\n case TerminalProviderSeverity.error: {\n process.stderr.write(data);\n break;\n }\n\n case TerminalProviderSeverity.verbose: {\n if (this.verboseEnabled) {\n process.stdout.write(data);\n }\n break;\n }\n\n case TerminalProviderSeverity.debug: {\n if (this.debugEnabled) {\n process.stdout.write(data);\n }\n break;\n }\n\n case TerminalProviderSeverity.log:\n default: {\n process.stdout.write(data);\n break;\n }\n }\n }\n\n /**\n * {@inheritDoc ITerminalProvider.eolCharacter}\n */\n public get eolCharacter(): string {\n return EOL;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.supportsColor}\n */\n public get supportsColor(): boolean {\n return supportsColor;\n }\n}\n"]}
1
+ {"version":3,"file":"ConsoleTerminalProvider.js","sourceRoot":"","sources":["../src/ConsoleTerminalProvider.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;AAE3D,2BAAyB;AACzB,oEAA2C;AAE3C,2DAAuF;AAqBvF;;;;;GAKG;AACH,MAAa,uBAAuB;IAkBlC,YAAmB,UAAoD,EAAE;QALzE;;WAEG;QACa,kBAAa,GAAY,uBAAuB,CAAC,aAAa,CAAC;QAG7E,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAY,EAAE,QAAkC;QAC3D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,4CAAwB,CAAC,OAAO,CAAC;YACtC,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,4CAAwB,CAAC,GAAG,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,QAAG,CAAC;IACb,CAAC;;AA7DH,0DA8DC;AA7DwB,qCAAa,GAAY,CAAC,CAAC,wBAAa,CAAC,MAAM,IAAI,CAAC,CAAC,wBAAa,CAAC,MAAM,AAA5D,CAA6D","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 { EOL } from 'os';\nimport supportsColor from 'supports-color';\n\nimport { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider';\n\n/**\n * Options to be provided to a {@link ConsoleTerminalProvider}\n *\n * @beta\n */\nexport interface IConsoleTerminalProviderOptions {\n /**\n * If true, print verbose logging messages.\n */\n verboseEnabled: boolean;\n\n /**\n * If true, print debug logging messages. Note that \"verbose\" and \"debug\" are considered\n * separate message filters; if you want debug to imply verbose, it is up to your\n * application code to enforce that.\n */\n debugEnabled: boolean;\n}\n\n/**\n * Terminal provider that prints to STDOUT (for log- and verbose-level messages) and\n * STDERR (for warning- and error-level messages).\n *\n * @beta\n */\nexport class ConsoleTerminalProvider implements ITerminalProvider {\n public static readonly supportsColor: boolean = !!supportsColor.stdout && !!supportsColor.stderr;\n\n /**\n * If true, verbose-level messages should be written to the console.\n */\n public verboseEnabled: boolean;\n\n /**\n * If true, debug-level messages should be written to the console.\n */\n public debugEnabled: boolean;\n\n /**\n * {@inheritDoc ITerminalProvider.supportsColor}\n */\n public readonly supportsColor: boolean = ConsoleTerminalProvider.supportsColor;\n\n public constructor(options: Partial<IConsoleTerminalProviderOptions> = {}) {\n this.verboseEnabled = !!options.verboseEnabled;\n this.debugEnabled = !!options.debugEnabled;\n }\n\n /**\n * {@inheritDoc ITerminalProvider.write}\n */\n public write(data: string, severity: TerminalProviderSeverity): void {\n switch (severity) {\n case TerminalProviderSeverity.warning:\n case TerminalProviderSeverity.error: {\n process.stderr.write(data);\n break;\n }\n\n case TerminalProviderSeverity.verbose: {\n if (this.verboseEnabled) {\n process.stdout.write(data);\n }\n break;\n }\n\n case TerminalProviderSeverity.debug: {\n if (this.debugEnabled) {\n process.stdout.write(data);\n }\n break;\n }\n\n case TerminalProviderSeverity.log:\n default: {\n process.stdout.write(data);\n break;\n }\n }\n }\n\n /**\n * {@inheritDoc ITerminalProvider.eolCharacter}\n */\n public get eolCharacter(): string {\n return EOL;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/terminal",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "User interface primitives for console applications",
5
5
  "main": "lib/index.js",
6
6
  "typings": "dist/terminal.d.ts",
@@ -11,14 +11,15 @@
11
11
  "directory": "libraries/terminal"
12
12
  },
13
13
  "dependencies": {
14
- "colors": "~1.2.1",
15
- "@rushstack/node-core-library": "4.0.2"
14
+ "supports-color": "~8.1.1",
15
+ "@rushstack/node-core-library": "4.1.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@rushstack/heft": "0.64.0",
19
- "@rushstack/heft-node-rig": "2.4.0",
18
+ "@rushstack/heft": "0.65.5",
19
+ "@rushstack/heft-node-rig": "2.4.18",
20
20
  "@types/heft-jest": "1.0.1",
21
21
  "@types/node": "18.17.15",
22
+ "@types/supports-color": "8.1.3",
22
23
  "local-eslint-config": "1.0.0"
23
24
  },
24
25
  "peerDependencies": {