@node-cli/logger 0.0.8 → 1.1.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/README.md CHANGED
@@ -28,13 +28,14 @@ log.error("this is an error log");
28
28
 
29
29
  Logger relies on `console` behind the scenes, and therefore supports the same [string substitution](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions) capabilities and uses the following methods:
30
30
 
31
- | Method | Description | Output color |
32
- | ------ | --------------------------------------------------------- | ------------ |
33
- | debug | Outputs a message to the console with the log level debug | grey |
34
- | log | For general output of logging information. | white |
35
- | info | Informative logging of information. | blue |
36
- | warn | Outputs a message to the console with the log level debug | yellow |
37
- | error | Outputs an error message. | red |
31
+ | Method | Description | Output color |
32
+ | ------------------ | --------------------------------------------------------- | ------------ |
33
+ | debug | Outputs a message to the console with the log level debug | grey |
34
+ | log | For general output of logging information. | white |
35
+ | info | Informative logging of information. | blue |
36
+ | warn | Outputs a message to the console with the log level debug | yellow |
37
+ | error | Outputs an error message. | red |
38
+ | printErrorsAndExit | Output error message(s) and exit | red |
38
39
 
39
40
  ### Options
40
41
 
@@ -152,6 +153,18 @@ log.timestamp = false;
152
153
  log.info("this will be NOT be logged with a timestamp");
153
154
  ```
154
155
 
156
+ ### Log multiple errors and optionally exit the main program
157
+
158
+ The following will print 2 error messages and exit with error code 666.
159
+ If the second parameter (a number) is not provided, the process does not exit.
160
+
161
+ ```js
162
+ import { Logger } from "@node-cli/logger";
163
+ const log = new Logger();
164
+
165
+ log.printErrorsAndExit(["Error One!", "Error Two!"], 666);
166
+ ```
167
+
155
168
  ## License
156
169
 
157
170
  MIT © Arno Versini
package/dist/Logger.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ import { Options as BoxenOptions } from "boxen";
2
+ export type PrintBoxOptions = {
3
+ newLineAfter?: boolean;
4
+ newLineBefore?: boolean;
5
+ } & BoxenOptions;
1
6
  export declare class Logger {
2
7
  #private;
3
8
  constructor({ boring, silent, prefix, timestamp, }?: {
@@ -15,4 +20,16 @@ export declare class Logger {
15
20
  debug(...arguments_: any): void;
16
21
  warn(...arguments_: any): void;
17
22
  error(...arguments_: any): void;
23
+ /**
24
+ * Log multiple error messages at the prompt using `console.error` behind the scenes.
25
+ * @param {string[]} errorMessages array of error message to display line by line
26
+ * @param {number} [exitStatus] the process will exit with this value if provided
27
+ */
28
+ printErrorsAndExit(errorMessages: string[], exitStatus?: number): void;
29
+ /**
30
+ * Print sets of logs in a box (wrapper to Boxen)
31
+ * @param messages Messages to print
32
+ * @param options
33
+ */
34
+ printBox(messages: string | string[], options?: PrintBoxOptions): void;
18
35
  }
package/dist/Logger.js CHANGED
@@ -1,3 +1,4 @@
1
+ import boxen from "boxen";
1
2
  import kleur from "kleur";
2
3
  import util from "node:util";
3
4
  export class Logger {
@@ -75,6 +76,52 @@ export class Logger {
75
76
  color: kleur.red
76
77
  }, ...arguments_);
77
78
  }
79
+ /**
80
+ * Log multiple error messages at the prompt using `console.error` behind the scenes.
81
+ * @param {string[]} errorMessages array of error message to display line by line
82
+ * @param {number} [exitStatus] the process will exit with this value if provided
83
+ */ printErrorsAndExit(errorMessages, exitStatus) {
84
+ if (errorMessages && errorMessages.length > 0) {
85
+ this.log();
86
+ for (const message of errorMessages){
87
+ this.error(message);
88
+ }
89
+ this.log();
90
+ if (typeof exitStatus === "number") {
91
+ // eslint-disable-next-line unicorn/no-process-exit
92
+ process.exit(exitStatus);
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Print sets of logs in a box (wrapper to Boxen)
98
+ * @param messages Messages to print
99
+ * @param options
100
+ */ printBox(messages, options = {}) {
101
+ const { newLineAfter , newLineBefore } = {
102
+ newLineAfter: true,
103
+ newLineBefore: true,
104
+ ...options
105
+ };
106
+ /**
107
+ * Setting some sensible Boxen options if
108
+ * not provided by the user.
109
+ */ const boxenOptions = {
110
+ ...options,
111
+ borderColor: options.borderColor || (this.#printOptions.colors ? "yellow" : "white"),
112
+ padding: typeof options.padding === "number" ? options.padding : 1,
113
+ textAlignment: options.textAlignment || "center"
114
+ };
115
+ const oldPrefix = this.#globalPrefix;
116
+ const oldTimestamp = this.#showTimestamp;
117
+ this.#globalPrefix = "";
118
+ this.#showTimestamp = false;
119
+ newLineBefore && this.log();
120
+ this.log(boxen(typeof messages === "string" ? messages : messages.join("\n"), boxenOptions));
121
+ newLineAfter && this.log();
122
+ this.#showTimestamp = oldTimestamp;
123
+ this.#globalPrefix = oldPrefix;
124
+ }
78
125
  }
79
126
 
80
127
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Logger.ts"],"sourcesContent":["import kleur from \"kleur\";\nimport util from \"node:util\";\n\nexport class Logger {\n\t#shouldLog: boolean;\n\t#globalPrefix: string;\n\t#showTimestamp: boolean;\n\t#printOptions: { colors: boolean; compact: boolean; depth: number };\n\n\tconstructor({\n\t\tboring = false,\n\t\tsilent = false,\n\t\tprefix = \"\",\n\t\ttimestamp = false,\n\t} = {}) {\n\t\tthis.#shouldLog = !silent;\n\t\tthis.#globalPrefix = prefix;\n\t\tthis.#showTimestamp = timestamp;\n\t\tthis.#printOptions = {\n\t\t\tcolors: !boring,\n\t\t\tcompact: false,\n\t\t\tdepth: 5,\n\t\t};\n\t}\n\n\tset silent(flag: boolean) {\n\t\tthis.#shouldLog = !flag;\n\t}\n\n\tset boring(flag: boolean) {\n\t\tthis.#printOptions.colors = !flag;\n\t}\n\n\tset prefix(prefix: string) {\n\t\tthis.#globalPrefix = prefix;\n\t}\n\n\tset timestamp(flag: boolean) {\n\t\tthis.#showTimestamp = flag;\n\t}\n\n\t#_log(\n\t\ttype: { method: string | number; color: (argument0: any) => any },\n\t\t...arguments_: string[]\n\t) {\n\t\tif (this.#shouldLog) {\n\t\t\tlet message: string;\n\t\t\tif (!this.#showTimestamp && !this.#globalPrefix) {\n\t\t\t\tmessage = util.formatWithOptions(this.#printOptions, ...arguments_);\n\t\t\t} else {\n\t\t\t\tconst prefix = this.#globalPrefix ? [this.#globalPrefix] : [];\n\t\t\t\tif (this.#showTimestamp) {\n\t\t\t\t\tconst now = new Date();\n\t\t\t\t\tprefix.push(\n\t\t\t\t\t\tthis.#printOptions.colors\n\t\t\t\t\t\t\t? `${kleur.grey(\n\t\t\t\t\t\t\t\t\t`[ ${now.toDateString()} ${now.toLocaleTimeString()} ]`\n\t\t\t\t\t\t\t )}`\n\t\t\t\t\t\t\t: `[ ${now.toDateString()} ${now.toLocaleTimeString()} ]`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmessage = util.formatWithOptions(\n\t\t\t\t\tthis.#printOptions,\n\t\t\t\t\tprefix.join(\" \"),\n\t\t\t\t\t...arguments_\n\t\t\t\t);\n\t\t\t}\n\t\t\tconsole[type.method](\n\t\t\t\tthis.#printOptions.colors ? `${type.color(message)}` : message\n\t\t\t);\n\t\t}\n\t}\n\n\tinfo(...arguments_: any) {\n\t\tthis.#_log({ method: \"info\", color: kleur.blue }, ...arguments_);\n\t}\n\n\tlog(...arguments_: any) {\n\t\tthis.#_log({ method: \"log\", color: kleur.white }, ...arguments_);\n\t}\n\n\tdebug(...arguments_: any) {\n\t\tthis.#_log({ method: \"debug\", color: kleur.grey }, ...arguments_);\n\t}\n\n\twarn(...arguments_: any) {\n\t\tthis.#_log({ method: \"warn\", color: kleur.yellow }, ...arguments_);\n\t}\n\n\terror(...arguments_: any) {\n\t\tthis.#_log({ method: \"error\", color: kleur.red }, ...arguments_);\n\t}\n}\n"],"names":["kleur","util","Logger","shouldLog","globalPrefix","showTimestamp","printOptions","constructor","boring","silent","prefix","timestamp","colors","compact","depth","flag","_log","type","arguments_","message","formatWithOptions","now","Date","push","grey","toDateString","toLocaleTimeString","join","console","method","color","info","blue","log","white","debug","warn","yellow","error","red"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/Logger.ts"],"sourcesContent":["import boxen, { Options as BoxenOptions } from \"boxen\";\n\nimport kleur from \"kleur\";\nimport util from \"node:util\";\n\nexport type PrintBoxOptions = {\n\tnewLineAfter?: boolean;\n\tnewLineBefore?: boolean;\n} & BoxenOptions;\n\nexport class Logger {\n\t#shouldLog: boolean;\n\t#globalPrefix: string;\n\t#showTimestamp: boolean;\n\t#printOptions: { colors: boolean; compact: boolean; depth: number };\n\n\tconstructor({\n\t\tboring = false,\n\t\tsilent = false,\n\t\tprefix = \"\",\n\t\ttimestamp = false,\n\t} = {}) {\n\t\tthis.#shouldLog = !silent;\n\t\tthis.#globalPrefix = prefix;\n\t\tthis.#showTimestamp = timestamp;\n\t\tthis.#printOptions = {\n\t\t\tcolors: !boring,\n\t\t\tcompact: false,\n\t\t\tdepth: 5,\n\t\t};\n\t}\n\n\tset silent(flag: boolean) {\n\t\tthis.#shouldLog = !flag;\n\t}\n\n\tset boring(flag: boolean) {\n\t\tthis.#printOptions.colors = !flag;\n\t}\n\n\tset prefix(prefix: string) {\n\t\tthis.#globalPrefix = prefix;\n\t}\n\n\tset timestamp(flag: boolean) {\n\t\tthis.#showTimestamp = flag;\n\t}\n\n\t#_log(\n\t\ttype: { method: string | number; color: (argument0: any) => any },\n\t\t...arguments_: string[]\n\t) {\n\t\tif (this.#shouldLog) {\n\t\t\tlet message: string;\n\t\t\tif (!this.#showTimestamp && !this.#globalPrefix) {\n\t\t\t\tmessage = util.formatWithOptions(this.#printOptions, ...arguments_);\n\t\t\t} else {\n\t\t\t\tconst prefix = this.#globalPrefix ? [this.#globalPrefix] : [];\n\t\t\t\tif (this.#showTimestamp) {\n\t\t\t\t\tconst now = new Date();\n\t\t\t\t\tprefix.push(\n\t\t\t\t\t\tthis.#printOptions.colors\n\t\t\t\t\t\t\t? `${kleur.grey(\n\t\t\t\t\t\t\t\t\t`[ ${now.toDateString()} ${now.toLocaleTimeString()} ]`\n\t\t\t\t\t\t\t )}`\n\t\t\t\t\t\t\t: `[ ${now.toDateString()} ${now.toLocaleTimeString()} ]`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmessage = util.formatWithOptions(\n\t\t\t\t\tthis.#printOptions,\n\t\t\t\t\tprefix.join(\" \"),\n\t\t\t\t\t...arguments_\n\t\t\t\t);\n\t\t\t}\n\t\t\tconsole[type.method](\n\t\t\t\tthis.#printOptions.colors ? `${type.color(message)}` : message\n\t\t\t);\n\t\t}\n\t}\n\n\tinfo(...arguments_: any) {\n\t\tthis.#_log({ method: \"info\", color: kleur.blue }, ...arguments_);\n\t}\n\n\tlog(...arguments_: any) {\n\t\tthis.#_log({ method: \"log\", color: kleur.white }, ...arguments_);\n\t}\n\n\tdebug(...arguments_: any) {\n\t\tthis.#_log({ method: \"debug\", color: kleur.grey }, ...arguments_);\n\t}\n\n\twarn(...arguments_: any) {\n\t\tthis.#_log({ method: \"warn\", color: kleur.yellow }, ...arguments_);\n\t}\n\n\terror(...arguments_: any) {\n\t\tthis.#_log({ method: \"error\", color: kleur.red }, ...arguments_);\n\t}\n\n\t/**\n\t * Log multiple error messages at the prompt using `console.error` behind the scenes.\n\t * @param {string[]} errorMessages array of error message to display line by line\n\t * @param {number} [exitStatus] the process will exit with this value if provided\n\t */\n\tprintErrorsAndExit(errorMessages: string[], exitStatus?: number) {\n\t\tif (errorMessages && errorMessages.length > 0) {\n\t\t\tthis.log();\n\t\t\tfor (const message of errorMessages) {\n\t\t\t\tthis.error(message);\n\t\t\t}\n\t\t\tthis.log();\n\n\t\t\tif (typeof exitStatus === \"number\") {\n\t\t\t\t// eslint-disable-next-line unicorn/no-process-exit\n\t\t\t\tprocess.exit(exitStatus);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Print sets of logs in a box (wrapper to Boxen)\n\t * @param messages Messages to print\n\t * @param options\n\t */\n\tprintBox(messages: string | string[], options: PrintBoxOptions = {}) {\n\t\tconst { newLineAfter, newLineBefore } = {\n\t\t\tnewLineAfter: true,\n\t\t\tnewLineBefore: true,\n\t\t\t...options,\n\t\t};\n\n\t\t/**\n\t\t * Setting some sensible Boxen options if\n\t\t * not provided by the user.\n\t\t */\n\t\tconst boxenOptions: BoxenOptions = {\n\t\t\t...options,\n\t\t\tborderColor:\n\t\t\t\toptions.borderColor || (this.#printOptions.colors ? \"yellow\" : \"white\"),\n\t\t\tpadding: typeof options.padding === \"number\" ? options.padding : 1,\n\t\t\ttextAlignment: options.textAlignment || \"center\",\n\t\t};\n\n\t\tconst oldPrefix = this.#globalPrefix;\n\t\tconst oldTimestamp = this.#showTimestamp;\n\n\t\tthis.#globalPrefix = \"\";\n\t\tthis.#showTimestamp = false;\n\n\t\tnewLineBefore && this.log();\n\t\tthis.log(\n\t\t\tboxen(\n\t\t\t\ttypeof messages === \"string\" ? messages : messages.join(\"\\n\"),\n\t\t\t\tboxenOptions\n\t\t\t)\n\t\t);\n\t\tnewLineAfter && this.log();\n\n\t\tthis.#showTimestamp = oldTimestamp;\n\t\tthis.#globalPrefix = oldPrefix;\n\t}\n}\n"],"names":["boxen","kleur","util","Logger","shouldLog","globalPrefix","showTimestamp","printOptions","constructor","boring","silent","prefix","timestamp","colors","compact","depth","flag","_log","type","arguments_","message","formatWithOptions","now","Date","push","grey","toDateString","toLocaleTimeString","join","console","method","color","info","blue","log","white","debug","warn","yellow","error","red","printErrorsAndExit","errorMessages","exitStatus","length","process","exit","printBox","messages","options","newLineAfter","newLineBefore","boxenOptions","borderColor","padding","textAlignment","oldPrefix","oldTimestamp"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+
5
+ export * from "./Logger";
package/package.json CHANGED
@@ -1,31 +1,32 @@
1
1
  {
2
2
  "name": "@node-cli/logger",
3
- "version": "0.0.8",
3
+ "version": "1.1.0",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "description": "A tiny console logger for nodejs CLI apps",
7
7
  "type": "module",
8
- "types": "./dist/Logger.d.ts",
9
8
  "exports": "./dist/Logger.js",
10
9
  "files": [
11
10
  "dist"
12
11
  ],
13
12
  "node": ">=16",
14
13
  "dependencies": {
14
+ "boxen": "7.1.0",
15
15
  "kleur": "4.1.5"
16
16
  },
17
17
  "scripts": {
18
- "build": "npm-run-all --serial clean build:types build:js",
18
+ "build": "yarn run clean && yarn run build:types && yarn run build:js && yarn run build:barrel",
19
+ "build:barrel": "barrelsby --delete --directory dist --pattern \"**/*.d.ts\" --name \"index.d\"",
19
20
  "build:js": "swc --source-maps --out-dir dist src",
20
21
  "build:types": "tsc",
21
22
  "clean": "rimraf dist types coverage",
22
23
  "lint": "eslint \"src/*.ts\"",
23
- "test": "jest",
24
+ "test": "cross-env-shell NODE_OPTIONS=--experimental-vm-modules jest",
24
25
  "test:coverage": "npm run test -- --coverage",
25
26
  "watch": "swc --watch --out-dir dist src"
26
27
  },
27
28
  "publishConfig": {
28
29
  "access": "public"
29
30
  },
30
- "gitHead": "23fe76a185d8ff414348b2867dfddb793c2d3182"
31
+ "gitHead": "d1d89854e385600edfd9c2aead7c9bc568bcc657"
31
32
  }