@goldstack/utils-cli 0.3.10 → 0.3.12

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.
@@ -1,5 +1,30 @@
1
1
  declare type AsyncFunction<O> = () => Promise<O>;
2
- export declare function logger(): import("pino").Logger<never, boolean>;
2
+ /**
3
+ * Interface defining the required logger instance methods
4
+ */
5
+ export interface LoggerInstance {
6
+ debug: (obj: object | null | undefined, msg?: string) => void;
7
+ info: (obj: object | null | undefined, msg?: string) => void;
8
+ warn: (obj: object | null | undefined, msg?: string) => void;
9
+ error: (obj: object | null | undefined, msg?: string) => void;
10
+ }
11
+ /**
12
+ * Configuration options for the logger
13
+ */
14
+ export interface LoggerConfig {
15
+ /** Custom logger instance implementing LoggerInstance interface */
16
+ instance?: LoggerInstance;
17
+ }
18
+ /**
19
+ * Configure the logger instance
20
+ * @param config - Configuration options for the logger
21
+ */
22
+ export declare function configureLogger(config: LoggerConfig): void;
23
+ /**
24
+ * Get the current logger instance
25
+ * @returns The configured logger instance or the default pino logger
26
+ */
27
+ export declare function logger(): LoggerInstance;
3
28
  export declare const wrapCli: (func: AsyncFunction<any>) => Promise<void>;
4
29
  export {};
5
30
  //# sourceMappingURL=utilsCli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilsCli.d.ts","sourceRoot":"","sources":["../../src/utilsCli.ts"],"names":[],"mappings":"AAGA,aAAK,aAAa,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAiBzC,wBAAgB,MAAM,0CAErB;AAGD,eAAO,MAAM,OAAO,SAAgB,cAAc,GAAG,CAAC,KAAG,QAAQ,IAAI,CAYpE,CAAC"}
1
+ {"version":3,"file":"utilsCli.d.ts","sourceRoot":"","sources":["../../src/utilsCli.ts"],"names":[],"mappings":"AAGA,aAAK,aAAa,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAKzC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AA8CD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,cAAc,CAEvC;AAGD,eAAO,MAAM,OAAO,SAAgB,cAAc,GAAG,CAAC,KAAG,QAAQ,IAAI,CAYpE,CAAC"}
@@ -3,21 +3,64 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.wrapCli = exports.logger = void 0;
6
+ exports.wrapCli = exports.logger = exports.configureLogger = void 0;
7
7
  const pino_1 = __importDefault(require("pino"));
8
8
  const pino_pretty_1 = __importDefault(require("pino-pretty"));
9
9
  const isDebug = process.env.GOLDSTACK_DEBUG || process.env.DEBUG;
10
- const loggerVar = (0, pino_1.default)({ level: isDebug ? 'debug' : 'info' }, (0, pino_pretty_1.default)({
11
- colorize: true,
12
- hideObject: false,
13
- colorizeObjects: true,
14
- translateTime: 'HH:MM:ss',
15
- ignore: 'pid,hostname',
16
- singleLine: false,
17
- sync: true, // requires for work in Jest see https://github.com/pinojs/pino-pretty?tab=readme-ov-file#usage-with-jest
18
- }));
10
+ const isLambda = !!process.env.AWS_LAMBDA_FUNCTION_NAME;
11
+ let loggerInstance;
12
+ const defaultLogger = (0, pino_1.default)({
13
+ level: isDebug ? 'debug' : 'info',
14
+ ...(isLambda && {
15
+ timestamp: () => `,"time":"${new Date(Date.now()).toISOString()}"`,
16
+ formatters: {
17
+ level: (label) => ({ level: label }),
18
+ log: (obj) => {
19
+ if (obj.err) {
20
+ const err = obj.err;
21
+ return {
22
+ ...obj,
23
+ error: {
24
+ type: err.name,
25
+ stack: err.stack,
26
+ message: err.message,
27
+ },
28
+ };
29
+ }
30
+ return obj;
31
+ },
32
+ },
33
+ base: {
34
+ aws_request_id: process.env.AWS_LAMBDA_REQUEST_ID || undefined,
35
+ function_name: process.env.AWS_LAMBDA_FUNCTION_NAME,
36
+ function_version: process.env.AWS_LAMBDA_FUNCTION_VERSION,
37
+ },
38
+ }),
39
+ }, isLambda
40
+ ? undefined // Use default JSON transport for Lambda
41
+ : (0, pino_pretty_1.default)({
42
+ colorize: true,
43
+ hideObject: false,
44
+ colorizeObjects: true,
45
+ translateTime: 'HH:MM:ss',
46
+ ignore: 'pid,hostname',
47
+ singleLine: false,
48
+ sync: true, // required for work in Jest see https://github.com/pinojs/pino-pretty?tab=readme-ov-file#usage-with-jest
49
+ }));
50
+ /**
51
+ * Configure the logger instance
52
+ * @param config - Configuration options for the logger
53
+ */
54
+ function configureLogger(config) {
55
+ loggerInstance = config.instance;
56
+ }
57
+ exports.configureLogger = configureLogger;
58
+ /**
59
+ * Get the current logger instance
60
+ * @returns The configured logger instance or the default pino logger
61
+ */
19
62
  function logger() {
20
- return loggerVar;
63
+ return loggerInstance || defaultLogger;
21
64
  }
22
65
  exports.logger = logger;
23
66
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"utilsCli.js","sourceRoot":"","sources":["../../src/utilsCli.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,8DAAqC;AAIrC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAEjE,MAAM,SAAS,GAAG,IAAA,cAAI,EACpB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EACrC,IAAA,qBAAU,EAAC;IACT,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,IAAI,EAAE,yGAAyG;CACtH,CAAC,CACH,CAAC;AAEF,SAAgB,MAAM;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAFD,wBAEC;AAED,8DAA8D;AACvD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAwB,EAAiB,EAAE;IACvE,IAAI;QACF,MAAM,IAAI,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,CAAC;SACT;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;AACH,CAAC,CAAC;AAZW,QAAA,OAAO,WAYlB;AAEF,8DAA8D;AAC9D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAM,EAAE,EAAE;IAC1C,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAChB;IACD,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"utilsCli.js","sourceRoot":"","sources":["../../src/utilsCli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/utils-cli",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "description": "Utilities for building command line interfaces.",
5
5
  "keywords": [
6
6
  "goldstack",