@docusaurus/logger 2.0.0-beta.19 → 2.0.0-beta.22

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/README.md CHANGED
@@ -25,6 +25,7 @@ It exports a single object as default export: `logger`. `logger` has the followi
25
25
  - `warn`: prints a warning that should be payed attention to.
26
26
  - `error`: prints an error (not necessarily halting the program) that signals significant problems.
27
27
  - `success`: prints a success message.
28
+ - The `report` function. It takes a `ReportingSeverity` value (`ignore`, `log`, `warn`, `throw`) and reports a message according to the severity.
28
29
 
29
30
  ### A word on the `error` formatter
30
31
 
@@ -0,0 +1,70 @@
1
+ declare const _exports: {
2
+ (text: TemplateStringsArray, ...placeholders: unknown[]): string;
3
+ (...text: unknown[]): string;
4
+ Instance: chalk.Instance;
5
+ level: chalk.Level;
6
+ hex(color: string): chalk.Chalk;
7
+ keyword(color: string): chalk.Chalk;
8
+ rgb(red: number, green: number, blue: number): chalk.Chalk;
9
+ hsl(hue: number, saturation: number, lightness: number): chalk.Chalk;
10
+ hsv(hue: number, saturation: number, value: number): chalk.Chalk;
11
+ hwb(hue: number, whiteness: number, blackness: number): chalk.Chalk;
12
+ ansi(code: number): chalk.Chalk;
13
+ ansi256(index: number): chalk.Chalk;
14
+ bgHex(color: string): chalk.Chalk;
15
+ bgKeyword(color: string): chalk.Chalk;
16
+ bgRgb(red: number, green: number, blue: number): chalk.Chalk;
17
+ bgHsl(hue: number, saturation: number, lightness: number): chalk.Chalk;
18
+ bgHsv(hue: number, saturation: number, value: number): chalk.Chalk;
19
+ bgHwb(hue: number, whiteness: number, blackness: number): chalk.Chalk;
20
+ bgAnsi(code: number): chalk.Chalk;
21
+ bgAnsi256(index: number): chalk.Chalk;
22
+ readonly reset: chalk.Chalk;
23
+ readonly bold: chalk.Chalk;
24
+ readonly dim: chalk.Chalk;
25
+ readonly italic: chalk.Chalk;
26
+ readonly underline: chalk.Chalk;
27
+ readonly inverse: chalk.Chalk;
28
+ readonly hidden: chalk.Chalk;
29
+ readonly strikethrough: chalk.Chalk;
30
+ readonly visible: chalk.Chalk;
31
+ readonly black: chalk.Chalk;
32
+ readonly red: chalk.Chalk;
33
+ readonly green: chalk.Chalk;
34
+ readonly yellow: chalk.Chalk;
35
+ readonly blue: chalk.Chalk;
36
+ readonly magenta: chalk.Chalk;
37
+ readonly cyan: chalk.Chalk;
38
+ readonly white: chalk.Chalk;
39
+ readonly gray: chalk.Chalk;
40
+ readonly grey: chalk.Chalk;
41
+ readonly blackBright: chalk.Chalk;
42
+ readonly redBright: chalk.Chalk;
43
+ readonly greenBright: chalk.Chalk;
44
+ readonly yellowBright: chalk.Chalk;
45
+ readonly blueBright: chalk.Chalk;
46
+ readonly magentaBright: chalk.Chalk;
47
+ readonly cyanBright: chalk.Chalk;
48
+ readonly whiteBright: chalk.Chalk;
49
+ readonly bgBlack: chalk.Chalk;
50
+ readonly bgRed: chalk.Chalk;
51
+ readonly bgGreen: chalk.Chalk;
52
+ readonly bgYellow: chalk.Chalk;
53
+ readonly bgBlue: chalk.Chalk;
54
+ readonly bgMagenta: chalk.Chalk;
55
+ readonly bgCyan: chalk.Chalk;
56
+ readonly bgWhite: chalk.Chalk;
57
+ readonly bgGray: chalk.Chalk;
58
+ readonly bgGrey: chalk.Chalk;
59
+ readonly bgBlackBright: chalk.Chalk;
60
+ readonly bgRedBright: chalk.Chalk;
61
+ readonly bgGreenBright: chalk.Chalk;
62
+ readonly bgYellowBright: chalk.Chalk;
63
+ readonly bgBlueBright: chalk.Chalk;
64
+ readonly bgMagentaBright: chalk.Chalk;
65
+ readonly bgCyanBright: chalk.Chalk;
66
+ readonly bgWhiteBright: chalk.Chalk;
67
+ };
68
+ export = _exports;
69
+ import chalk = require("chalk");
70
+ //# sourceMappingURL=chalk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chalk.d.ts","sourceRoot":"","sources":["../../src/__mocks__/chalk.js"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Facebook, Inc. and its affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const chalk = require('chalk');
10
+ // Force coloring the output even in CI
11
+ module.exports = new chalk.Instance({ level: 3 });
12
+ //# sourceMappingURL=chalk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chalk.js","sourceRoot":"","sources":["../../src/__mocks__/chalk.js"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,uCAAuC;AACvC,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import chalk from 'chalk';
7
+ import type { ReportingSeverity } from '@docusaurus/types';
8
8
  declare type InterpolatableValue = string | number | (string | number)[];
9
9
  declare function interpolate(msgs: TemplateStringsArray, ...values: InterpolatableValue[]): string;
10
10
  declare function info(msg: unknown): void;
@@ -16,12 +16,27 @@ declare function error(msg: TemplateStringsArray, ...values: [InterpolatableValu
16
16
  declare function success(msg: unknown): void;
17
17
  declare function success(msg: TemplateStringsArray, ...values: [InterpolatableValue, ...InterpolatableValue[]]): void;
18
18
  declare function newLine(): void;
19
+ /**
20
+ * Takes a message and reports it according to the severity that the user wants.
21
+ *
22
+ * - `ignore`: completely no-op
23
+ * - `log`: uses the `INFO` log level
24
+ * - `warn`: uses the `WARN` log level
25
+ * - `throw`: aborts the process, throws the error.
26
+ *
27
+ * Since the logger doesn't have logging level filters yet, these severities
28
+ * mostly just differ by their colors.
29
+ *
30
+ * @throws In addition to throwing when `reportingSeverity === "throw"`, this
31
+ * function also throws if `reportingSeverity` is not one of the above.
32
+ */
33
+ declare function report(reportingSeverity: ReportingSeverity): typeof success;
19
34
  declare const logger: {
20
- red: chalk.Chalk;
21
- yellow: chalk.Chalk;
22
- green: chalk.Chalk;
23
- bold: chalk.Chalk;
24
- dim: chalk.Chalk;
35
+ red: (msg: string | number) => string;
36
+ yellow: (msg: string | number) => string;
37
+ green: (msg: string | number) => string;
38
+ bold: (msg: string | number) => string;
39
+ dim: (msg: string | number) => string;
25
40
  path: (msg: unknown) => string;
26
41
  url: (msg: unknown) => string;
27
42
  name: (msg: unknown) => string;
@@ -33,6 +48,7 @@ declare const logger: {
33
48
  warn: typeof warn;
34
49
  error: typeof error;
35
50
  success: typeof success;
51
+ report: typeof report;
36
52
  newLine: typeof newLine;
37
53
  };
38
54
  export = logger;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,aAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AASjE,iBAAS,WAAW,CAClB,IAAI,EAAE,oBAAoB,EAC1B,GAAG,MAAM,EAAE,mBAAmB,EAAE,GAC/B,MAAM,CAkCR;AASD,iBAAS,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AAClC,iBAAS,IAAI,CACX,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAUR,iBAAS,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AAClC,iBAAS,IAAI,CACX,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAYR,iBAAS,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AACnC,iBAAS,KAAK,CACZ,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAYR,iBAAS,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AACrC,iBAAS,OAAO,CACd,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAWR,iBAAS,OAAO,IAAI,IAAI,CAEvB;AAED,QAAA,MAAM,MAAM;;;;;;gBAtHO,OAAO,KAAG,MAAM;eACjB,OAAO,KAAG,MAAM;gBACf,OAAO,KAAG,MAAM;gBAChB,OAAO,KAAG,MAAM;kBACd,OAAO,KAAG,MAAM;eACnB,OAAO,KAAG,MAAM;;;;;;;CAmIjC,CAAC;AAIF,SAAS,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,aAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AASjE,iBAAS,WAAW,CAClB,IAAI,EAAE,oBAAoB,EAC1B,GAAG,MAAM,EAAE,mBAAmB,EAAE,GAC/B,MAAM,CAkCR;AASD,iBAAS,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AAClC,iBAAS,IAAI,CACX,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAUR,iBAAS,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AAClC,iBAAS,IAAI,CACX,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAYR,iBAAS,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AACnC,iBAAS,KAAK,CACZ,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAYR,iBAAS,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;AACrC,iBAAS,OAAO,CACd,GAAG,EAAE,oBAAoB,EACzB,GAAG,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,GACzD,IAAI,CAAC;AAuBR,iBAAS,OAAO,IAAI,IAAI,CAEvB;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,OAAO,CAepE;AAED,QAAA,MAAM,MAAM;eACC,MAAM,GAAG,MAAM,KAAG,MAAM;kBACrB,MAAM,GAAG,MAAM,KAAG,MAAM;iBACzB,MAAM,GAAG,MAAM,KAAG,MAAM;gBACzB,MAAM,GAAG,MAAM,KAAG,MAAM;eACzB,MAAM,GAAG,MAAM,KAAG,MAAM;gBAtKlB,OAAO,KAAG,MAAM;eACjB,OAAO,KAAG,MAAM;gBACf,OAAO,KAAG,MAAM;gBAChB,OAAO,KAAG,MAAM;kBACd,OAAO,KAAG,MAAM;eACnB,OAAO,KAAG,MAAM;;;;;;;;CA+KjC,CAAC;AAIF,SAAS,MAAM,CAAC"}
package/lib/index.js CHANGED
@@ -7,10 +7,10 @@
7
7
  */
8
8
  const tslib_1 = require("tslib");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
- const path = (msg) => chalk_1.default.cyan.underline(`"${msg}"`);
10
+ const path = (msg) => chalk_1.default.cyan.underline(`"${String(msg)}"`);
11
11
  const url = (msg) => chalk_1.default.cyan.underline(msg);
12
12
  const name = (msg) => chalk_1.default.blue.bold(msg);
13
- const code = (msg) => chalk_1.default.cyan(`\`${msg}\``);
13
+ const code = (msg) => chalk_1.default.cyan(`\`${String(msg)}\``);
14
14
  const subdue = (msg) => chalk_1.default.gray(msg);
15
15
  const num = (msg) => chalk_1.default.yellow(msg);
16
16
  function interpolate(msgs, ...values) {
@@ -72,15 +72,46 @@ function success(msg, ...values) {
72
72
  ? stringify(msg)
73
73
  : interpolate(msg, ...values)}`);
74
74
  }
75
+ function throwError(msg, ...values) {
76
+ throw new Error(values.length === 0
77
+ ? stringify(msg)
78
+ : interpolate(msg, ...values));
79
+ }
75
80
  function newLine() {
76
81
  console.log();
77
82
  }
83
+ /**
84
+ * Takes a message and reports it according to the severity that the user wants.
85
+ *
86
+ * - `ignore`: completely no-op
87
+ * - `log`: uses the `INFO` log level
88
+ * - `warn`: uses the `WARN` log level
89
+ * - `throw`: aborts the process, throws the error.
90
+ *
91
+ * Since the logger doesn't have logging level filters yet, these severities
92
+ * mostly just differ by their colors.
93
+ *
94
+ * @throws In addition to throwing when `reportingSeverity === "throw"`, this
95
+ * function also throws if `reportingSeverity` is not one of the above.
96
+ */
97
+ function report(reportingSeverity) {
98
+ const reportingMethods = {
99
+ ignore: () => { },
100
+ log: info,
101
+ warn,
102
+ throw: throwError,
103
+ };
104
+ if (!Object.prototype.hasOwnProperty.call(reportingMethods, reportingSeverity)) {
105
+ throw new Error(`Unexpected "reportingSeverity" value: ${reportingSeverity}.`);
106
+ }
107
+ return reportingMethods[reportingSeverity];
108
+ }
78
109
  const logger = {
79
- red: chalk_1.default.red,
80
- yellow: chalk_1.default.yellow,
81
- green: chalk_1.default.green,
82
- bold: chalk_1.default.bold,
83
- dim: chalk_1.default.dim,
110
+ red: (msg) => chalk_1.default.red(msg),
111
+ yellow: (msg) => chalk_1.default.yellow(msg),
112
+ green: (msg) => chalk_1.default.green(msg),
113
+ bold: (msg) => chalk_1.default.bold(msg),
114
+ dim: (msg) => chalk_1.default.dim(msg),
84
115
  path,
85
116
  url,
86
117
  name,
@@ -92,6 +123,7 @@ const logger = {
92
123
  warn,
93
124
  error,
94
125
  success,
126
+ report,
95
127
  newLine,
96
128
  };
97
129
  module.exports = logger;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,0DAA0B;AAK1B,MAAM,IAAI,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChF,MAAM,GAAG,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,IAAI,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5D,MAAM,IAAI,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxE,MAAM,MAAM,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,MAAM,GAAG,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAExD,SAAS,WAAW,CAClB,IAA0B,EAC1B,GAAG,MAA6B;IAEhC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,GAAG,IAAI,IAAI,CAAC,GAAG,CAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;aAClC;YACD,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;gBACf,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC;gBACd,KAAK,MAAM;oBACT,OAAO,GAAG,CAAC;gBACb,KAAK,SAAS;oBACZ,OAAO,GAAG,CAAC;gBACb,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC;gBACd,KAAK,SAAS;oBACZ,OAAO,MAAM,CAAC;gBAChB,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC;gBACd;oBACE,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;aACL;QACH,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC5B;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAOD,SAAS,IAAI,CAAC,GAAY,EAAE,GAAG,MAA6B;IAC1D,OAAO,CAAC,IAAI,CACV,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAC1B,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,WAAW,CAAC,GAA2B,EAAE,GAAG,MAAM,CACxD,EAAE,CACH,CAAC;AACJ,CAAC;AAMD,SAAS,IAAI,CAAC,GAAY,EAAE,GAAG,MAA6B;IAC1D,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,GAAG,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IACxB,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,WAAW,CAAC,GAA2B,EAAE,GAAG,MAAM,CACxD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAMD,SAAS,KAAK,CAAC,GAAY,EAAE,GAAG,MAA6B;IAC3D,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IACtB,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,WAAW,CAAC,GAA2B,EAAE,GAAG,MAAM,CACxD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAMD,SAAS,OAAO,CAAC,GAAY,EAAE,GAAG,MAA6B;IAC7D,OAAO,CAAC,GAAG,CACT,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAC9B,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,WAAW,CAAC,GAA2B,EAAE,GAAG,MAAM,CACxD,EAAE,CACH,CAAC;AACJ,CAAC;AAMD,SAAS,UAAU,CAAC,GAAY,EAAE,GAAG,MAA6B;IAChE,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAChB,CAAC,CAAC,WAAW,CAAC,GAA2B,EAAE,GAAG,MAAM,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,MAAM,CAAC,iBAAoC;IAClD,MAAM,gBAAgB,GAAG;QACvB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;QAChB,GAAG,EAAE,IAAI;QACT,IAAI;QACJ,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAC1E;QACA,MAAM,IAAI,KAAK,CACb,yCAAyC,iBAAiB,GAAG,CAC9D,CAAC;KACH;IACD,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,CAAC,GAAoB,EAAU,EAAE,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACrD,MAAM,EAAE,CAAC,GAAoB,EAAU,EAAE,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3D,KAAK,EAAE,CAAC,GAAoB,EAAU,EAAE,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACzD,IAAI,EAAE,CAAC,GAAoB,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IACvD,GAAG,EAAE,CAAC,GAAoB,EAAU,EAAE,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACrD,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC;AAIF,iBAAS,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/logger",
3
- "version": "2.0.0-beta.19",
3
+ "version": "2.0.0-beta.22",
4
4
  "description": "An encapsulated logger for semantically formatting console messages.",
5
5
  "main": "./lib/index.js",
6
6
  "repository": {
@@ -24,10 +24,10 @@
24
24
  "tslib": "^2.4.0"
25
25
  },
26
26
  "engines": {
27
- "node": ">=14"
27
+ "node": ">=16.14"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/supports-color": "^8.1.1"
31
31
  },
32
- "gitHead": "a71e60a49cce93c1006ef10c41ac03187f057102"
32
+ "gitHead": "daf9e462c4eebb7ac26a940932311f987e768f87"
33
33
  }
package/src/index.ts CHANGED
@@ -6,13 +6,14 @@
6
6
  */
7
7
 
8
8
  import chalk from 'chalk';
9
+ import type {ReportingSeverity} from '@docusaurus/types';
9
10
 
10
11
  type InterpolatableValue = string | number | (string | number)[];
11
12
 
12
- const path = (msg: unknown): string => chalk.cyan.underline(`"${msg}"`);
13
+ const path = (msg: unknown): string => chalk.cyan.underline(`"${String(msg)}"`);
13
14
  const url = (msg: unknown): string => chalk.cyan.underline(msg);
14
15
  const name = (msg: unknown): string => chalk.blue.bold(msg);
15
- const code = (msg: unknown): string => chalk.cyan(`\`${msg}\``);
16
+ const code = (msg: unknown): string => chalk.cyan(`\`${String(msg)}\``);
16
17
  const subdue = (msg: unknown): string => chalk.gray(msg);
17
18
  const num = (msg: unknown): string => chalk.yellow(msg);
18
19
 
@@ -122,17 +123,60 @@ function success(msg: unknown, ...values: InterpolatableValue[]): void {
122
123
  }`,
123
124
  );
124
125
  }
126
+ function throwError(msg: unknown): void;
127
+ function throwError(
128
+ msg: TemplateStringsArray,
129
+ ...values: [InterpolatableValue, ...InterpolatableValue[]]
130
+ ): void;
131
+ function throwError(msg: unknown, ...values: InterpolatableValue[]): void {
132
+ throw new Error(
133
+ values.length === 0
134
+ ? stringify(msg)
135
+ : interpolate(msg as TemplateStringsArray, ...values),
136
+ );
137
+ }
125
138
 
126
139
  function newLine(): void {
127
140
  console.log();
128
141
  }
129
142
 
143
+ /**
144
+ * Takes a message and reports it according to the severity that the user wants.
145
+ *
146
+ * - `ignore`: completely no-op
147
+ * - `log`: uses the `INFO` log level
148
+ * - `warn`: uses the `WARN` log level
149
+ * - `throw`: aborts the process, throws the error.
150
+ *
151
+ * Since the logger doesn't have logging level filters yet, these severities
152
+ * mostly just differ by their colors.
153
+ *
154
+ * @throws In addition to throwing when `reportingSeverity === "throw"`, this
155
+ * function also throws if `reportingSeverity` is not one of the above.
156
+ */
157
+ function report(reportingSeverity: ReportingSeverity): typeof success {
158
+ const reportingMethods = {
159
+ ignore: () => {},
160
+ log: info,
161
+ warn,
162
+ throw: throwError,
163
+ };
164
+ if (
165
+ !Object.prototype.hasOwnProperty.call(reportingMethods, reportingSeverity)
166
+ ) {
167
+ throw new Error(
168
+ `Unexpected "reportingSeverity" value: ${reportingSeverity}.`,
169
+ );
170
+ }
171
+ return reportingMethods[reportingSeverity];
172
+ }
173
+
130
174
  const logger = {
131
- red: chalk.red,
132
- yellow: chalk.yellow,
133
- green: chalk.green,
134
- bold: chalk.bold,
135
- dim: chalk.dim,
175
+ red: (msg: string | number): string => chalk.red(msg),
176
+ yellow: (msg: string | number): string => chalk.yellow(msg),
177
+ green: (msg: string | number): string => chalk.green(msg),
178
+ bold: (msg: string | number): string => chalk.bold(msg),
179
+ dim: (msg: string | number): string => chalk.dim(msg),
136
180
  path,
137
181
  url,
138
182
  name,
@@ -144,6 +188,7 @@ const logger = {
144
188
  warn,
145
189
  error,
146
190
  success,
191
+ report,
147
192
  newLine,
148
193
  };
149
194