From af9f0765d4b4147a08612a9951ba658c4d445889 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 12:05:18 +0200 Subject: [PATCH 01/17] feat(logger): new logger detached from inversify --- package-lock.json | 213 +++++++++++++++++- packages/logger/.eslintrc.cjs | 9 + packages/logger/.lintstagedrc.yml | 8 + packages/logger/README.md | 30 +++ packages/logger/jest.config.js | 19 ++ packages/logger/package.json | 49 ++++ packages/logger/src/index.ts | 7 + packages/logger/src/model/log-level.enum.ts | 7 + packages/logger/src/model/logger.spec.ts | 29 +++ packages/logger/src/model/logger.ts | 33 +++ .../logger/src/services/log-transport.spec.ts | 48 ++++ packages/logger/src/services/log-transport.ts | 15 ++ .../src/services/logger.service.spec.ts | 20 ++ .../logger/src/services/logger.service.ts | 23 ++ packages/logger/src/utils/logger-helper.ts | 15 ++ packages/logger/test/spy-log.transport.ts | 25 ++ packages/logger/tsconfig.jest.json | 11 + packages/logger/tsconfig.json | 9 + 18 files changed, 560 insertions(+), 10 deletions(-) create mode 100644 packages/logger/.eslintrc.cjs create mode 100644 packages/logger/.lintstagedrc.yml create mode 100644 packages/logger/README.md create mode 100644 packages/logger/jest.config.js create mode 100644 packages/logger/package.json create mode 100644 packages/logger/src/index.ts create mode 100644 packages/logger/src/model/log-level.enum.ts create mode 100644 packages/logger/src/model/logger.spec.ts create mode 100644 packages/logger/src/model/logger.ts create mode 100644 packages/logger/src/services/log-transport.spec.ts create mode 100644 packages/logger/src/services/log-transport.ts create mode 100644 packages/logger/src/services/logger.service.spec.ts create mode 100644 packages/logger/src/services/logger.service.ts create mode 100644 packages/logger/src/utils/logger-helper.ts create mode 100644 packages/logger/test/spy-log.transport.ts create mode 100644 packages/logger/tsconfig.jest.json create mode 100644 packages/logger/tsconfig.json diff --git a/package-lock.json b/package-lock.json index e82ae8e..2619f94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3164,6 +3164,10 @@ "resolved": "packages/eslint-plugin-rules", "link": true }, + "node_modules/@shiftcode/logger": { + "resolved": "packages/logger", + "link": true + }, "node_modules/@shiftcode/publish-helper": { "resolved": "packages/publish-helper", "link": true @@ -3468,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3497,6 +3501,169 @@ } } }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "devOptional": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3657,7 +3824,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3674,7 +3841,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3701,7 +3868,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "dev": true, + "devOptional": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3714,7 +3881,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3742,7 +3909,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3751,7 +3918,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "devOptional": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3771,7 +3938,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3786,7 +3953,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3808,7 +3975,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14076,6 +14243,32 @@ "url": "https://github.com/sponsors/isaacs" } }, + "packages/logger": { + "name": "@shiftcode/logger", + "version": "0.1.0", + "license": "UNLICENSED", + "dependencies": { + "ansi-styles": "^6.2.1" + }, + "devDependencies": { + "@shiftcode/utilities": "^3.0.0" + }, + "peerDependencies": { + "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" + } + }, + "packages/logger/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "packages/publish-helper": { "name": "@shiftcode/publish-helper", "version": "3.0.1", diff --git a/packages/logger/.eslintrc.cjs b/packages/logger/.eslintrc.cjs new file mode 100644 index 0000000..9538cb6 --- /dev/null +++ b/packages/logger/.eslintrc.cjs @@ -0,0 +1,9 @@ +/* eslint-env node */ +module.exports = { + parserOptions: { + project: [ + './tsconfig.json', + './tsconfig.jest.json', + ], + }, +} diff --git a/packages/logger/.lintstagedrc.yml b/packages/logger/.lintstagedrc.yml new file mode 100644 index 0000000..3830437 --- /dev/null +++ b/packages/logger/.lintstagedrc.yml @@ -0,0 +1,8 @@ +# Reformat all .ts / .js +"**/*.(t|j)s": + - npm run prettier:staged + - npm run lint:staged + +# sort package.json keys +./package.json: + - sort-package-json \ No newline at end of file diff --git a/packages/logger/README.md b/packages/logger/README.md new file mode 100644 index 0000000..47715a5 --- /dev/null +++ b/packages/logger/README.md @@ -0,0 +1,30 @@ +# logger + +> 🎯 Target runtime: es2023 ([Node >= 20](https://node.green/#ES2023)) + +A simple logger to use with minimal dependencies. +By default, the logger is standalone and can be easily configured to log +messages to various transports. + +# Usage + +````typescript +import { Logger, LogLevel, LogTransport } from '@shiftcode/logger' + +// Create a transport for logging to the console with a specific log level +const transport = new LogTransport( + LogLevel.DEBUG, // This controls the minimum log level +) + +// LoggerService is used to manage loggers and their transports +const loggerService = new LoggerService([transport]) + +// Create a logger instance with a specific name and color +const logger = loggerService.getInstance('MyLogger', '#abcdef') + +// Logging messages at different levels +logger.debug('This is a debug message') +logger.info('This is an info message') +logger.warn('This is a warning message') +logger.error('This is an error message') +```` \ No newline at end of file diff --git a/packages/logger/jest.config.js b/packages/logger/jest.config.js new file mode 100644 index 0000000..6e2ce56 --- /dev/null +++ b/packages/logger/jest.config.js @@ -0,0 +1,19 @@ +/* eslint-env node,es2023 */ +// eslint-disable-next-line import/no-extraneous-dependencies +import { pathsToModuleNameMapper } from 'ts-jest' +import { readFileSync } from 'node:fs' + +const tsConfig = JSON.parse(readFileSync('./tsconfig.jest.json', 'utf-8')) + +export default { + testEnvironment: 'node', + extensionsToTreatAsEsm: ['.ts'], + transform: { + '^.+\\.ts$': ['ts-jest', { tsconfig: 'tsconfig.jest.json', useESM: true }], + }, + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths ?? {}, { prefix: '' }), + }, + setupFiles: ['reflect-metadata'], +} diff --git a/packages/logger/package.json b/packages/logger/package.json new file mode 100644 index 0000000..b4592f5 --- /dev/null +++ b/packages/logger/package.json @@ -0,0 +1,49 @@ +{ + "name": "@shiftcode/logger", + "version": "0.1.0", + "description": "logger for local and aws lambda execution", + "repository": "https://github.com/shiftcode/sc-commons-public", + "license": "UNLICENSED", + "author": "shiftcode GmbH ", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./test/*.js": { + "types": "./dist/test/*.d.ts", + "default": "./dist/test/*.js" + } + }, + "scripts": { + "prebuild": "rm -rf ./dist", + "build": "tsc", + "lint": "npm run lint:src:fix && npm run lint:test:fix", + "lint:ci": "npm run lint:src && npm run lint:test", + "lint:src": "eslint ./src", + "lint:src:fix": "eslint ./src --cache --fix", + "lint:staged": "npm run lint", + "lint:test": "eslint ./test", + "lint:test:fix": "eslint ./test --cache --fix", + "prettier": "prettier --write --config ../../.prettierrc.yml '{src,e2e,test}/**/*.ts'", + "prettier:staged": "prettier --write --config ../../.prettierrc.yml", + "prepublish": "node ../publish-helper/dist/prepare-dist.js", + "test": "NODE_OPTIONS=\"--experimental-vm-modules --trace-warnings\" npx jest --config jest.config.js", + "test:ci": "npm run test", + "test:watch": "npm run test -- --watch" + }, + "dependencies": { + "ansi-styles": "^6.2.1" + }, + "devDependencies": { + "@shiftcode/utilities": "^3.0.0" + }, + "peerDependencies": { + "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" + }, + "publishConfig": { + "directory": "dist" + } +} diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts new file mode 100644 index 0000000..c997e17 --- /dev/null +++ b/packages/logger/src/index.ts @@ -0,0 +1,7 @@ +export * from './model/logger.js' +export * from './model/log-level.enum.js' + +export * from './services/log-transport.js' +export * from './services/logger.service.js' + +export * from './utils/logger-helper.js' diff --git a/packages/logger/src/model/log-level.enum.ts b/packages/logger/src/model/log-level.enum.ts new file mode 100644 index 0000000..c4d70cb --- /dev/null +++ b/packages/logger/src/model/log-level.enum.ts @@ -0,0 +1,7 @@ +export enum LogLevel { + DEBUG, + INFO, + WARN, + ERROR, + OFF, +} diff --git a/packages/logger/src/model/logger.spec.ts b/packages/logger/src/model/logger.spec.ts new file mode 100644 index 0000000..e372951 --- /dev/null +++ b/packages/logger/src/model/logger.spec.ts @@ -0,0 +1,29 @@ +import { Logger, LogLevel } from '../index.js' +import { SpyLogTransport } from '../../test/spy-log.transport.js' +import { stringToColor } from '../utils/logger-helper.js' + +describe('Logger behavior', () => { + let logger: Logger + let spyTransport1: SpyLogTransport + let spyTransport2: SpyLogTransport + const className = 'TestLogger' + const color = stringToColor(className) + + it('should send logs to all transports', () => { + spyTransport1 = new SpyLogTransport(LogLevel.DEBUG) + spyTransport2 = new SpyLogTransport(LogLevel.INFO) + logger = new Logger(className, color, [spyTransport1, spyTransport2]) + logger.error(['foo bar']) + expect(spyTransport1.calls.length).toBe(1) + expect(spyTransport2.calls.length).toBe(1) + }) + + it('should respect log level', () => { + spyTransport1 = new SpyLogTransport(LogLevel.DEBUG) + spyTransport2 = new SpyLogTransport(LogLevel.INFO) + logger = new Logger(className, color, [spyTransport1, spyTransport2]) + logger.debug(['foo bar']) + expect(spyTransport1.calls[0][0]).toBe(LogLevel.DEBUG) + expect(spyTransport2.calls.length).toBe(0) + }) +}) diff --git a/packages/logger/src/model/logger.ts b/packages/logger/src/model/logger.ts new file mode 100644 index 0000000..36c3e53 --- /dev/null +++ b/packages/logger/src/model/logger.ts @@ -0,0 +1,33 @@ +import { LogTransport } from '../services/log-transport.js' +import { LogLevel } from './log-level.enum.js' + +export class Logger { + constructor( + private name: string, + private color: string, + private loggerTransports: LogTransport[], + ) {} + + info(...args: any[]) { + this.log(LogLevel.INFO, args) + } + + warn(...args: any[]) { + this.log(LogLevel.WARN, args) + } + + error(...args: any[]) { + this.log(LogLevel.ERROR, args) + } + + debug(...args: any[]) { + this.log(LogLevel.DEBUG, args) + } + + private log = (logLevel: LogLevel, args: any[]): void => { + const now = new Date() + this.loggerTransports.forEach((loggerTransport) => { + loggerTransport.log(logLevel, this.name, this.color, now, args.slice()) + }) + } +} diff --git a/packages/logger/src/services/log-transport.spec.ts b/packages/logger/src/services/log-transport.spec.ts new file mode 100644 index 0000000..f2bbfdb --- /dev/null +++ b/packages/logger/src/services/log-transport.spec.ts @@ -0,0 +1,48 @@ +import { LogLevel } from '../index.js' +import { SpyLogTransport } from '../../test/spy-log.transport.js' +import { stringToColor } from '../utils/logger-helper.js' + +describe('respects the configured level', () => { + test('respects level DEBUG', () => { + const logger = new SpyLogTransport(LogLevel.DEBUG) + logger.log(LogLevel.DEBUG, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar debug']) + logger.log(LogLevel.INFO, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar info']) + logger.log(LogLevel.WARN, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar warn']) + logger.log(LogLevel.ERROR, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar error']) + expect(logger.mock).toHaveBeenCalledTimes(4) + expect(logger.calls[0][0]).toBe(LogLevel.DEBUG) + expect(logger.calls[1][0]).toBe(LogLevel.INFO) + expect(logger.calls[2][0]).toBe(LogLevel.WARN) + expect(logger.calls[3][0]).toBe(LogLevel.ERROR) + }) + test('respects level INFO', () => { + const logger = new SpyLogTransport(LogLevel.INFO) + logger.log(LogLevel.DEBUG, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar debug']) + logger.log(LogLevel.INFO, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar info']) + logger.log(LogLevel.WARN, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar warn']) + logger.log(LogLevel.ERROR, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar error']) + expect(logger.mock).toHaveBeenCalledTimes(3) + expect(logger.calls[0][0]).toBe(LogLevel.INFO) + expect(logger.calls[1][0]).toBe(LogLevel.WARN) + expect(logger.calls[2][0]).toBe(LogLevel.ERROR) + }) + test('respects level WARN', () => { + const logger = new SpyLogTransport(LogLevel.WARN) + logger.log(LogLevel.DEBUG, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar debug']) + logger.log(LogLevel.INFO, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar info']) + logger.log(LogLevel.WARN, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar warn']) + logger.log(LogLevel.ERROR, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar error']) + expect(logger.mock).toHaveBeenCalledTimes(2) + expect(logger.calls[0][0]).toBe(LogLevel.WARN) + expect(logger.calls[1][0]).toBe(LogLevel.ERROR) + }) + test('respects level ERROR', () => { + const logger = new SpyLogTransport(LogLevel.ERROR) + logger.log(LogLevel.DEBUG, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar debug']) + logger.log(LogLevel.INFO, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar info']) + logger.log(LogLevel.WARN, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar warn']) + logger.log(LogLevel.ERROR, 'MyClass', stringToColor('MyClass'), new Date(), ['foo bar error']) + expect(logger.mock).toHaveBeenCalledTimes(1) + expect(logger.calls[0][0]).toBe(LogLevel.ERROR) + }) +}) diff --git a/packages/logger/src/services/log-transport.ts b/packages/logger/src/services/log-transport.ts new file mode 100644 index 0000000..61afb05 --- /dev/null +++ b/packages/logger/src/services/log-transport.ts @@ -0,0 +1,15 @@ +import { LogLevel } from '../model/log-level.enum.js' + +export abstract class LogTransport { + protected logLevel: LogLevel + + protected constructor(logLevel: LogLevel) { + this.logLevel = logLevel + } + + abstract log(level: LogLevel, clazzName: string, hexColor: string, timestamp: Date, args: any[]): void + + protected isLevelEnabled(level: LogLevel) { + return level >= this.logLevel + } +} diff --git a/packages/logger/src/services/logger.service.spec.ts b/packages/logger/src/services/logger.service.spec.ts new file mode 100644 index 0000000..673d686 --- /dev/null +++ b/packages/logger/src/services/logger.service.spec.ts @@ -0,0 +1,20 @@ +import { SpyLogTransport } from '../../test/spy-log.transport.js' +import { LoggerService } from './logger.service.js' +import { LogLevel } from '../model/log-level.enum.js' +import { Logger } from '../model/logger.js' + +describe('LoggerService with SpyLogTransport', () => { + it('should use the spy log transport', () => { + const loggerService = new LoggerService([new SpyLogTransport(LogLevel.DEBUG)]) + const logger: Logger = loggerService.getInstance('MyLogger', '#abcdef') + expect(logger['loggerTransports'][0] instanceof SpyLogTransport).toBeTruthy() + expect(logger['loggerTransports'][0]['logLevel']).toBe(LogLevel.DEBUG) + }) + + it('should have the custom name and color passed to the logger service', () => { + const loggerService = new LoggerService([new SpyLogTransport(LogLevel.DEBUG)]) + const logger: Logger = loggerService.getInstance('MyLogger', '#abcdef') + expect(logger['name']).toBe('MyLogger') + expect(logger['color']).toBe('#abcdef') + }) +}) diff --git a/packages/logger/src/services/logger.service.ts b/packages/logger/src/services/logger.service.ts new file mode 100644 index 0000000..8ca36d4 --- /dev/null +++ b/packages/logger/src/services/logger.service.ts @@ -0,0 +1,23 @@ +import { Logger } from '../model/logger.js' +import { stringToColor } from '../utils/logger-helper.js' +import { LogTransport } from './log-transport.js' + +export class LoggerService { + private loggers = new Map() + + constructor(private readonly logTransports: LogTransport[]) {} + + getInstance(name: string, hexColor?: string): Logger { + hexColor = hexColor || stringToColor(name) + + if (this.loggers.has(name)) { + const count = this.loggers.get(name) || 2 + this.loggers.set(name, count + 1) + name += `_${count}` + } else { + this.loggers.set(name, 2) + } + + return new Logger(name, hexColor, this.logTransports) + } +} diff --git a/packages/logger/src/utils/logger-helper.ts b/packages/logger/src/utils/logger-helper.ts new file mode 100644 index 0000000..e052aa9 --- /dev/null +++ b/packages/logger/src/utils/logger-helper.ts @@ -0,0 +1,15 @@ +/** + * returns a hex color generated from given string + */ +export function stringToColor(str: string): string { + let hash = 0 + for (let i = 0; i < str.length; i++) { + hash = str.charCodeAt(i) + ((hash << 5) - hash) + } + let color = '#' + for (let k = 0; k < 3; k++) { + const value = (hash >> (k * 8)) & 0xff + color += ('00' + value.toString(16)).slice(-2) + } + return color +} diff --git a/packages/logger/test/spy-log.transport.ts b/packages/logger/test/spy-log.transport.ts new file mode 100644 index 0000000..e99e44c --- /dev/null +++ b/packages/logger/test/spy-log.transport.ts @@ -0,0 +1,25 @@ +import { LogLevel, LogTransport } from '../src/index.js' +// eslint-disable-next-line import/no-extraneous-dependencies +import { jest } from '@jest/globals' + +export class SpyLogTransport extends LogTransport { + private logMock = jest.fn() + + constructor(logLevel = LogLevel.INFO) { + super(logLevel) + } + + log(level: LogLevel, clazzName: string, hexColor: string, timestamp: Date, args: any[]) { + if (this.isLevelEnabled(level)) { + this.logMock(level, clazzName, hexColor, timestamp, args) + } + } + + get mock() { + return this.logMock + } + + get calls() { + return this.logMock.mock.calls + } +} diff --git a/packages/logger/tsconfig.jest.json b/packages/logger/tsconfig.jest.json new file mode 100644 index 0000000..802d7c3 --- /dev/null +++ b/packages/logger/tsconfig.jest.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.jest.json", + "compilerOptions": { + "baseUrl": "./", + "paths": {} + }, + "include": [ + "src/**/*.spec.ts", + "test/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json new file mode 100644 index 0000000..7d0e9d0 --- /dev/null +++ b/packages/logger/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./dist", + "declarationDir": "./dist", + }, + "include": ["src/**/*.ts"] +} From 5f5793558927c2679c161fce0271f4e8ad8c4b6d Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 12:18:42 +0200 Subject: [PATCH 02/17] fix(logger): remove unused utilities dependency --- package-lock.json | 6 ------ packages/logger/package.json | 6 ------ 2 files changed, 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2619f94..3b22d3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14249,12 +14249,6 @@ "license": "UNLICENSED", "dependencies": { "ansi-styles": "^6.2.1" - }, - "devDependencies": { - "@shiftcode/utilities": "^3.0.0" - }, - "peerDependencies": { - "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" } }, "packages/logger/node_modules/ansi-styles": { diff --git a/packages/logger/package.json b/packages/logger/package.json index b4592f5..5b9f72e 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -37,12 +37,6 @@ "dependencies": { "ansi-styles": "^6.2.1" }, - "devDependencies": { - "@shiftcode/utilities": "^3.0.0" - }, - "peerDependencies": { - "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" - }, "publishConfig": { "directory": "dist" } From 8d06b79226a520711ecb8f0c52afe5c9d3f2e93f Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 12:21:50 +0200 Subject: [PATCH 03/17] fix(logger): remove unused ansi-styles dependency --- package-lock.json | 17 +---------------- packages/logger/package.json | 3 --- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3b22d3f..39d4320 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14246,22 +14246,7 @@ "packages/logger": { "name": "@shiftcode/logger", "version": "0.1.0", - "license": "UNLICENSED", - "dependencies": { - "ansi-styles": "^6.2.1" - } - }, - "packages/logger/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "UNLICENSED" }, "packages/publish-helper": { "name": "@shiftcode/publish-helper", diff --git a/packages/logger/package.json b/packages/logger/package.json index 5b9f72e..259ca4d 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -34,9 +34,6 @@ "test:ci": "npm run test", "test:watch": "npm run test -- --watch" }, - "dependencies": { - "ansi-styles": "^6.2.1" - }, "publishConfig": { "directory": "dist" } From 81bcc451f4680301d3287da8d567f2a3f70d30ec Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 13:46:41 +0200 Subject: [PATCH 04/17] fix(logger): remove reflect-metadata from jest config --- packages/logger/jest.config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/logger/jest.config.js b/packages/logger/jest.config.js index 6e2ce56..a67eb3e 100644 --- a/packages/logger/jest.config.js +++ b/packages/logger/jest.config.js @@ -15,5 +15,4 @@ export default { '^(\\.{1,2}/.*)\\.js$': '$1', ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths ?? {}, { prefix: '' }), }, - setupFiles: ['reflect-metadata'], } From acd99e30bbe10e44cd3b7085da46552c92413ece Mon Sep 17 00:00:00 2001 From: Github Actions Date: Thu, 24 Apr 2025 12:21:03 +0000 Subject: [PATCH 05/17] build(release): next version [skip_build] - @shiftcode/logger@0.2.0-pr12.0 --- package-lock.json | 185 +++-------------------------------- packages/logger/package.json | 2 +- 2 files changed, 12 insertions(+), 175 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39d4320..b40b2d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,169 +3501,6 @@ } } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3824,7 +3661,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3841,7 +3678,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3868,7 +3705,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "devOptional": true, + "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3881,7 +3718,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3909,7 +3746,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3918,7 +3755,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, + "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3938,7 +3775,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3953,7 +3790,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3975,7 +3812,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14245,7 +14082,7 @@ }, "packages/logger": { "name": "@shiftcode/logger", - "version": "0.1.0", + "version": "0.2.0-pr12.0", "license": "UNLICENSED" }, "packages/publish-helper": { diff --git a/packages/logger/package.json b/packages/logger/package.json index 259ca4d..a0aff85 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@shiftcode/logger", - "version": "0.1.0", + "version": "0.2.0-pr12.0", "description": "logger for local and aws lambda execution", "repository": "https://github.com/shiftcode/sc-commons-public", "license": "UNLICENSED", From c37f419e5f55d95a0f78bcd383977dd0bd3d4a87 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 16:48:26 +0200 Subject: [PATCH 06/17] feat(logger): add JSON log object creation in JsonLogTransport --- .gitignore | 3 ++ packages/logger/src/index.ts | 4 +- .../src/model/json-log-object-data.spec.ts | 46 +++++++++++++++++++ .../logger/src/model/json-log-object-data.ts | 42 +++++++++++++++++ .../logger/src/model/json-log-transport.ts | 18 ++++++++ .../{services => model}/log-transport.spec.ts | 0 .../src/{services => model}/log-transport.ts | 2 +- packages/logger/src/model/logger.ts | 2 +- .../logger/src/services/logger.service.ts | 2 +- 9 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 packages/logger/src/model/json-log-object-data.spec.ts create mode 100644 packages/logger/src/model/json-log-object-data.ts create mode 100644 packages/logger/src/model/json-log-transport.ts rename packages/logger/src/{services => model}/log-transport.spec.ts (100%) rename packages/logger/src/{services => model}/log-transport.ts (86%) diff --git a/.gitignore b/.gitignore index 195ab2b..817c18a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ dist/ # Dependency directories node_modules/ +# Caches +.eslintcache + # IDEs and editors .idea/ .project/ diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts index c997e17..f732ae4 100644 --- a/packages/logger/src/index.ts +++ b/packages/logger/src/index.ts @@ -1,7 +1,9 @@ export * from './model/logger.js' export * from './model/log-level.enum.js' +export * from './model/log-transport.js' +export * from './model/json-log-transport.js' +export * from './model/json-log-object-data.js' -export * from './services/log-transport.js' export * from './services/logger.service.js' export * from './utils/logger-helper.js' diff --git a/packages/logger/src/model/json-log-object-data.spec.ts b/packages/logger/src/model/json-log-object-data.spec.ts new file mode 100644 index 0000000..c462b9c --- /dev/null +++ b/packages/logger/src/model/json-log-object-data.spec.ts @@ -0,0 +1,46 @@ +import { createJsonLogObjectData } from './json-log-object-data.js' +import { LogLevel } from './log-level.enum.js' + +describe('createJsonLogObjectData', () => { + it('should create a log object with a message', () => { + const result = createJsonLogObjectData(LogLevel.INFO, 'MyClass', new Date('2023-01-01T00:00:00.000Z'), [ + 'Test message', + ]) + + expect(result).toEqual({ + level: 'INFO', + logger: 'MyClass', + timestamp: '2023-01-01T00:00:00.000Z', + message: 'Test message', + }) + }) + + it('should create a log object with an error', () => { + const error = new Error('Test error') + const result = createJsonLogObjectData(LogLevel.ERROR, 'MyClass', new Date('2023-01-01T00:00:00.000Z'), [error]) + + expect(result).toEqual({ + level: 'ERROR', + logger: 'MyClass', + timestamp: '2023-01-01T00:00:00.000Z', + message: 'Test error', + errorName: 'Error', + exception: error.stack, + }) + }) + + it('should handle additional data', () => { + const result = createJsonLogObjectData(LogLevel.DEBUG, 'MyClass', new Date('2023-01-01T00:00:00.000Z'), [ + 'Test message', + { key: 'value' }, + ]) + + expect(result).toEqual({ + level: 'DEBUG', + logger: 'MyClass', + timestamp: '2023-01-01T00:00:00.000Z', + message: 'Test message', + data: { key: 'value' }, + }) + }) +}) diff --git a/packages/logger/src/model/json-log-object-data.ts b/packages/logger/src/model/json-log-object-data.ts new file mode 100644 index 0000000..aceae3d --- /dev/null +++ b/packages/logger/src/model/json-log-object-data.ts @@ -0,0 +1,42 @@ +import { getEnumKeyFromNum } from '@shiftcode/utilities' +import { LogLevel } from './log-level.enum.js' + +export interface JsonLogObjectData { + level: string + logger: string + timestamp: string /* ISO string */ + message?: string + errorName?: string + exception?: string + data?: any[] +} + +export function createJsonLogObjectData( + level: LogLevel, + clazzName: string, + timestamp: Date, + args: any[], +): JsonLogObjectData { + const logObjectData: Partial = { + level: getEnumKeyFromNum(LogLevel, level), + timestamp: timestamp.toISOString(), + logger: clazzName, + } + + const msgOrError = args.shift() + if (typeof msgOrError === 'string') { + logObjectData.message = msgOrError + } else if (msgOrError instanceof Error) { + logObjectData.message = msgOrError.message + logObjectData.errorName = msgOrError.name + logObjectData.exception = msgOrError.stack?.toString() + } else { + // first param is neither string nor error, put it back to args to pass it to data + args = [msgOrError, ...args] + } + if (args.length) { + logObjectData.data = args.length === 1 ? args[0] : args + } + + return logObjectData as JsonLogObjectData +} diff --git a/packages/logger/src/model/json-log-transport.ts b/packages/logger/src/model/json-log-transport.ts new file mode 100644 index 0000000..1540a7d --- /dev/null +++ b/packages/logger/src/model/json-log-transport.ts @@ -0,0 +1,18 @@ +import { LogTransport } from './log-transport.js' +import { LogLevel } from './log-level.enum.js' +import { createJsonLogObjectData, JsonLogObjectData } from './json-log-object-data.js' + +export abstract class JsonLogTransport extends LogTransport { + protected constructor(logLevel: LogLevel) { + super(logLevel) + } + + log(level: LogLevel, clazzName: string, _hexColor: string, timestamp: Date, args: any[]) { + if (this.isLevelEnabled(level)) { + const logObject = createJsonLogObjectData(level, clazzName, timestamp, args) + this.transportLog(logObject) + } + } + + abstract transportLog(logObject: JsonLogObjectData): void +} diff --git a/packages/logger/src/services/log-transport.spec.ts b/packages/logger/src/model/log-transport.spec.ts similarity index 100% rename from packages/logger/src/services/log-transport.spec.ts rename to packages/logger/src/model/log-transport.spec.ts diff --git a/packages/logger/src/services/log-transport.ts b/packages/logger/src/model/log-transport.ts similarity index 86% rename from packages/logger/src/services/log-transport.ts rename to packages/logger/src/model/log-transport.ts index 61afb05..c6299d4 100644 --- a/packages/logger/src/services/log-transport.ts +++ b/packages/logger/src/model/log-transport.ts @@ -1,4 +1,4 @@ -import { LogLevel } from '../model/log-level.enum.js' +import { LogLevel } from './log-level.enum.js' export abstract class LogTransport { protected logLevel: LogLevel diff --git a/packages/logger/src/model/logger.ts b/packages/logger/src/model/logger.ts index 36c3e53..137d4fe 100644 --- a/packages/logger/src/model/logger.ts +++ b/packages/logger/src/model/logger.ts @@ -1,4 +1,4 @@ -import { LogTransport } from '../services/log-transport.js' +import { LogTransport } from './log-transport.js' import { LogLevel } from './log-level.enum.js' export class Logger { diff --git a/packages/logger/src/services/logger.service.ts b/packages/logger/src/services/logger.service.ts index 8ca36d4..a2dce7d 100644 --- a/packages/logger/src/services/logger.service.ts +++ b/packages/logger/src/services/logger.service.ts @@ -1,6 +1,6 @@ import { Logger } from '../model/logger.js' import { stringToColor } from '../utils/logger-helper.js' -import { LogTransport } from './log-transport.js' +import { LogTransport } from '../model/log-transport.js' export class LoggerService { private loggers = new Map() From 6f09f777de0f7a2ac854c80af35e504185df6d36 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 16:53:54 +0200 Subject: [PATCH 07/17] fix(*): regenerate package-lock.json --- package-lock.json | 183 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 173 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index b40b2d1..32f2c52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,6 +3501,169 @@ } } }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "devOptional": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3661,7 +3824,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3678,7 +3841,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3705,7 +3868,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "dev": true, + "devOptional": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3718,7 +3881,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3746,7 +3909,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3755,7 +3918,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "devOptional": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3775,7 +3938,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3790,7 +3953,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3812,7 +3975,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" From abfc35c377c9d261e072c4f750b51f99d337625e Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 17:00:24 +0200 Subject: [PATCH 08/17] fix(logger): add missing utilities dependency --- package-lock.json | 5 ++++- packages/logger/package.json | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 32f2c52..f6fb882 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14246,7 +14246,10 @@ "packages/logger": { "name": "@shiftcode/logger", "version": "0.2.0-pr12.0", - "license": "UNLICENSED" + "license": "UNLICENSED", + "peerDependencies": { + "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" + } }, "packages/publish-helper": { "name": "@shiftcode/publish-helper", diff --git a/packages/logger/package.json b/packages/logger/package.json index a0aff85..5968913 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -34,6 +34,9 @@ "test:ci": "npm run test", "test:watch": "npm run test -- --watch" }, + "peerDependencies": { + "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" + }, "publishConfig": { "directory": "dist" } From bb93f0ff3abda6afaba98b074e64cd34c2db8689 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 17:15:08 +0200 Subject: [PATCH 09/17] fix(logger): add missing utilities devDependency --- package-lock.json | 3 +++ packages/logger/package.json | 3 +++ 2 files changed, 6 insertions(+) diff --git a/package-lock.json b/package-lock.json index f6fb882..4bbf082 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14247,6 +14247,9 @@ "name": "@shiftcode/logger", "version": "0.2.0-pr12.0", "license": "UNLICENSED", + "devDependencies": { + "@shiftcode/utilities": "^3.0.0" + }, "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" } diff --git a/packages/logger/package.json b/packages/logger/package.json index 5968913..998a4fd 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -34,6 +34,9 @@ "test:ci": "npm run test", "test:watch": "npm run test -- --watch" }, + "devDependencies": { + "@shiftcode/utilities": "^3.0.0" + }, "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" }, From bb82d9cd0b25210c380ffb3670ac14f3bb4f4372 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 17:30:10 +0200 Subject: [PATCH 10/17] fix(logger): add utilities as dependency --- package-lock.json | 5 +---- packages/logger/package.json | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4bbf082..920fff5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14247,10 +14247,7 @@ "name": "@shiftcode/logger", "version": "0.2.0-pr12.0", "license": "UNLICENSED", - "devDependencies": { - "@shiftcode/utilities": "^3.0.0" - }, - "peerDependencies": { + "dependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" } }, diff --git a/packages/logger/package.json b/packages/logger/package.json index 998a4fd..7a1010d 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -34,10 +34,7 @@ "test:ci": "npm run test", "test:watch": "npm run test -- --watch" }, - "devDependencies": { - "@shiftcode/utilities": "^3.0.0" - }, - "peerDependencies": { + "dependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" }, "publishConfig": { From 659b57b0eb5bd9376776341ad9d5c81d5586b945 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 24 Apr 2025 17:41:44 +0200 Subject: [PATCH 11/17] fix(logger): add utilities in tsconfig path --- package-lock.json | 2 +- packages/logger/package.json | 2 +- packages/logger/tsconfig.jest.json | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 920fff5..f6fb882 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14247,7 +14247,7 @@ "name": "@shiftcode/logger", "version": "0.2.0-pr12.0", "license": "UNLICENSED", - "dependencies": { + "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" } }, diff --git a/packages/logger/package.json b/packages/logger/package.json index 7a1010d..5968913 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -34,7 +34,7 @@ "test:ci": "npm run test", "test:watch": "npm run test -- --watch" }, - "dependencies": { + "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" }, "publishConfig": { diff --git a/packages/logger/tsconfig.jest.json b/packages/logger/tsconfig.jest.json index 802d7c3..4873dcd 100644 --- a/packages/logger/tsconfig.jest.json +++ b/packages/logger/tsconfig.jest.json @@ -2,7 +2,9 @@ "extends": "../../tsconfig.jest.json", "compilerOptions": { "baseUrl": "./", - "paths": {} + "paths": { + "@shiftcode/utilities": ["../utilities/src"] + } }, "include": [ "src/**/*.spec.ts", From d601c5cc8f68ff4b9f73a9eb585a5199eae69583 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Thu, 24 Apr 2025 15:43:49 +0000 Subject: [PATCH 12/17] build(release): next version [skip_build] - @shiftcode/logger@0.2.0-pr12.1 --- package-lock.json | 185 +++-------------------------------- packages/logger/package.json | 2 +- 2 files changed, 12 insertions(+), 175 deletions(-) diff --git a/package-lock.json b/package-lock.json index f6fb882..74f7e68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,169 +3501,6 @@ } } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3824,7 +3661,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3841,7 +3678,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3868,7 +3705,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "devOptional": true, + "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3881,7 +3718,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3909,7 +3746,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3918,7 +3755,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, + "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3938,7 +3775,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3953,7 +3790,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3975,7 +3812,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14245,7 +14082,7 @@ }, "packages/logger": { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.0", + "version": "0.2.0-pr12.1", "license": "UNLICENSED", "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" diff --git a/packages/logger/package.json b/packages/logger/package.json index 5968913..1869430 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.0", + "version": "0.2.0-pr12.1", "description": "logger for local and aws lambda execution", "repository": "https://github.com/shiftcode/sc-commons-public", "license": "UNLICENSED", From 670f948701393b23745dbf570ad5de1aca167a21 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Fri, 25 Apr 2025 09:24:28 +0200 Subject: [PATCH 13/17] feat(logger): add loglevel to transportLog in JsonLogTransport --- packages/logger/src/model/json-log-transport.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/logger/src/model/json-log-transport.ts b/packages/logger/src/model/json-log-transport.ts index 1540a7d..43a3812 100644 --- a/packages/logger/src/model/json-log-transport.ts +++ b/packages/logger/src/model/json-log-transport.ts @@ -10,9 +10,9 @@ export abstract class JsonLogTransport extends LogTransport { log(level: LogLevel, clazzName: string, _hexColor: string, timestamp: Date, args: any[]) { if (this.isLevelEnabled(level)) { const logObject = createJsonLogObjectData(level, clazzName, timestamp, args) - this.transportLog(logObject) + this.transportLog(level, logObject) } } - abstract transportLog(logObject: JsonLogObjectData): void + abstract transportLog(level: LogLevel, logDataObject: JsonLogObjectData): void } From 6ae5f16199688ff911ff05a8e90441b95110a6dd Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Fri, 25 Apr 2025 09:34:57 +0200 Subject: [PATCH 14/17] fix(*): synchronize package-lock.json --- package-lock.json | 183 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 173 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 74f7e68..83ad764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,6 +3501,169 @@ } } }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "devOptional": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3661,7 +3824,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3678,7 +3841,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3705,7 +3868,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "dev": true, + "devOptional": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3718,7 +3881,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3746,7 +3909,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3755,7 +3918,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "devOptional": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3775,7 +3938,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3790,7 +3953,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3812,7 +3975,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" From a157c9921daa84489055a0a213801164f0fc6f43 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 25 Apr 2025 07:37:55 +0000 Subject: [PATCH 15/17] build(release): next version [skip_build] - @shiftcode/logger@0.2.0-pr12.2 --- package-lock.json | 185 +++-------------------------------- packages/logger/package.json | 2 +- 2 files changed, 12 insertions(+), 175 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83ad764..2d06d44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,169 +3501,6 @@ } } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3824,7 +3661,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3841,7 +3678,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3868,7 +3705,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "devOptional": true, + "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3881,7 +3718,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3909,7 +3746,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3918,7 +3755,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, + "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3938,7 +3775,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3953,7 +3790,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3975,7 +3812,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14245,7 +14082,7 @@ }, "packages/logger": { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.1", + "version": "0.2.0-pr12.2", "license": "UNLICENSED", "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" diff --git a/packages/logger/package.json b/packages/logger/package.json index 1869430..7f6e436 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.1", + "version": "0.2.0-pr12.2", "description": "logger for local and aws lambda execution", "repository": "https://github.com/shiftcode/sc-commons-public", "license": "UNLICENSED", From edde4b52d6e82dcbaf23269d55b20c2b0f48cad9 Mon Sep 17 00:00:00 2001 From: Dario Fazio Date: Thu, 8 May 2025 11:58:02 +0200 Subject: [PATCH 16/17] build(logger): bump version to 1.0.0 --- package-lock.json | 185 ++++++++++++++++++++++++++++++++--- packages/logger/package.json | 2 +- 2 files changed, 175 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d06d44..15efe86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,6 +3501,169 @@ } } }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "devOptional": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3661,7 +3824,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3678,7 +3841,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3705,7 +3868,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "dev": true, + "devOptional": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3718,7 +3881,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3746,7 +3909,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3755,7 +3918,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "devOptional": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3775,7 +3938,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3790,7 +3953,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "dev": true, + "devOptional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3812,7 +3975,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "dev": true, + "devOptional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14082,7 +14245,7 @@ }, "packages/logger": { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.2", + "version": "1.0.0", "license": "UNLICENSED", "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" diff --git a/packages/logger/package.json b/packages/logger/package.json index 7f6e436..47e8512 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@shiftcode/logger", - "version": "0.2.0-pr12.2", + "version": "1.0.0", "description": "logger for local and aws lambda execution", "repository": "https://github.com/shiftcode/sc-commons-public", "license": "UNLICENSED", From e6deadda1fc0c3f3ee8aac9b9172402c16cca9a5 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Thu, 8 May 2025 10:00:10 +0000 Subject: [PATCH 17/17] build(release): next version [skip_build] - @shiftcode/logger@1.1.0-pr12.0 --- package-lock.json | 185 +++-------------------------------- packages/logger/package.json | 2 +- 2 files changed, 12 insertions(+), 175 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15efe86..bad2c34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3472,7 +3472,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz", "integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3501,169 +3501,6 @@ } } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/rule-tester": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.18.0.tgz", @@ -3824,7 +3661,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz", "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -3841,7 +3678,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz", "integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -3868,7 +3705,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz", "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==", - "devOptional": true, + "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -3881,7 +3718,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz", "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -3909,7 +3746,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3918,7 +3755,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "devOptional": true, + "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3938,7 +3775,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "devOptional": true, + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3953,7 +3790,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz", "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -3975,7 +3812,7 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz", "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==", - "devOptional": true, + "dev": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -14245,7 +14082,7 @@ }, "packages/logger": { "name": "@shiftcode/logger", - "version": "1.0.0", + "version": "1.1.0-pr12.0", "license": "UNLICENSED", "peerDependencies": { "@shiftcode/utilities": "^3.0.0 || ^3.0.0-pr28.3" diff --git a/packages/logger/package.json b/packages/logger/package.json index 47e8512..79f1988 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@shiftcode/logger", - "version": "1.0.0", + "version": "1.1.0-pr12.0", "description": "logger for local and aws lambda execution", "repository": "https://github.com/shiftcode/sc-commons-public", "license": "UNLICENSED",