diff --git a/package.json b/package.json index ac29d08a..b3b9b6f3 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "mime-types": "^2.1.35", "nestjs-cloudinary": "^2.0.7", "nestjs-fastjwt": "^0.0.1", - "nestjs-i18n": "^10.3.2", + "nestjs-i18n": "^10.3.4", "nestjs-minio": "^2.5.1", "nestjs-pino": "^3.4.0", "nestjs-throttler-storage-redis": "^0.4.0", @@ -149,7 +149,7 @@ "@rubiin/tsconfig": "^1.0.2", "@sentry/types": "^7.69.0", "@side/jest-runtime": "^1.1.0", - "@swc/core": "^1.3.85", + "@swc/core": "^1.3.86", "@swc/jest": "^0.2.29", "@total-typescript/ts-reset": "^0.5.1", "@types/cache-manager": "^4.0.3", @@ -172,8 +172,8 @@ "@types/supertest": "2.0.12", "@types/swagger-stats": "^0.95.8", "@types/swagger-ui-express": "^4.1.3", - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", "cross-env": "^7.0.3", "cz-conventional-changelog": "3.3.0", "eslint": "^8.49.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ca0f615..12df14c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -171,8 +171,8 @@ dependencies: specifier: ^0.0.1 version: 0.0.1(@nestjs/common@10.2.5)(@nestjs/core@10.2.5) nestjs-i18n: - specifier: ^10.3.2 - version: 10.3.2(@nestjs/common@10.2.5)(@nestjs/core@10.2.5)(class-validator@0.14.0)(rxjs@7.8.1) + specifier: ^10.3.4 + version: 10.3.4(@nestjs/common@10.2.5)(@nestjs/core@10.2.5)(class-validator@0.14.0)(rxjs@7.8.1) nestjs-minio: specifier: ^2.5.1 version: 2.5.1(@nestjs/common@10.2.5)(@nestjs/core@10.2.5) @@ -273,7 +273,7 @@ devDependencies: version: 5.8.1(@mikro-orm/core@5.8.1) '@nestjs/cli': specifier: 10.1.17 - version: 10.1.17(@swc/core@1.3.85) + version: 10.1.17(@swc/core@1.3.86) '@nestjs/schematics': specifier: 10.0.2 version: 10.0.2(typescript@5.2.2) @@ -293,11 +293,11 @@ devDependencies: specifier: ^1.1.0 version: 1.1.0(@jest/transform@29.7.0)(jest-runtime@29.7.0)(jest@29.7.0) '@swc/core': - specifier: ^1.3.85 - version: 1.3.85 + specifier: ^1.3.86 + version: 1.3.86 '@swc/jest': specifier: ^0.2.29 - version: 0.2.29(@swc/core@1.3.85) + version: 0.2.29(@swc/core@1.3.86) '@total-typescript/ts-reset': specifier: ^0.5.1 version: 0.5.1 @@ -362,17 +362,17 @@ devDependencies: specifier: ^4.1.3 version: 4.1.3 '@typescript-eslint/eslint-plugin': - specifier: ^6.7.0 - version: 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.49.0)(typescript@5.2.2) + specifier: ^6.7.2 + version: 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.7.0 - version: 6.7.0(eslint@8.49.0)(typescript@5.2.2) + specifier: ^6.7.2 + version: 6.7.2(eslint@8.49.0)(typescript@5.2.2) cross-env: specifier: ^7.0.3 version: 7.0.3 cz-conventional-changelog: specifier: 3.3.0 - version: 3.3.0(@swc/core@1.3.85) + version: 3.3.0(@swc/core@1.3.86) eslint: specifier: ^8.49.0 version: 8.49.0 @@ -381,7 +381,7 @@ devDependencies: version: 1.23.0 eslint-import-resolver-typescript: specifier: ^3.6.0 - version: 3.6.0(@typescript-eslint/parser@6.7.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0) + version: 3.6.0(@typescript-eslint/parser@6.7.2)(eslint-plugin-import@2.28.1)(eslint@8.49.0) eslint_d: specifier: ^12.2.1 version: 12.2.1 @@ -408,7 +408,7 @@ devDependencies: version: 9.4.4(typescript@5.2.2)(webpack@5.88.2) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.3.85)(@types/node@20.6.2)(typescript@5.2.2) + version: 10.9.1(@swc/core@1.3.86)(@types/node@20.6.2)(typescript@5.2.2) tsconfig-paths: specifier: 4.2.0 version: 4.2.0 @@ -417,7 +417,7 @@ devDependencies: version: 5.2.2 webpack: specifier: ^5.88.2 - version: 5.88.2(@swc/core@1.3.85) + version: 5.88.2(@swc/core@1.3.86) webpack-node-externals: specifier: ^3.0.0 version: 3.0.0 @@ -1484,7 +1484,7 @@ packages: dev: true optional: true - /@commitlint/load@17.7.1(@swc/core@1.3.85): + /@commitlint/load@17.7.1(@swc/core@1.3.86): resolution: {integrity: sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==} engines: {node: '>=v14'} requiresBuild: true @@ -1501,7 +1501,7 @@ packages: lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@swc/core@1.3.85)(@types/node@20.4.7)(typescript@5.2.2) + ts-node: 10.9.1(@swc/core@1.3.86)(@types/node@20.4.7)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' @@ -2773,7 +2773,7 @@ packages: rxjs: 7.8.1 dev: false - /@nestjs/cli@10.1.17(@swc/core@1.3.85): + /@nestjs/cli@10.1.17(@swc/core@1.3.86): resolution: {integrity: sha512-jUEnR2DgC15Op+IhcRWb6cyJrhec9CUQO+GtxCF2Dv9MwLcr4sTDq1UOkfs09HAhpuI8otgF2LoWGTlW3qRuqg==} engines: {node: '>= 16'} hasBin: true @@ -2790,7 +2790,7 @@ packages: '@angular-devkit/schematics': 16.2.0(chokidar@3.5.3) '@angular-devkit/schematics-cli': 16.2.0(chokidar@3.5.3) '@nestjs/schematics': 10.0.2(chokidar@3.5.3)(typescript@5.1.6) - '@swc/core': 1.3.85 + '@swc/core': 1.3.86 chalk: 4.1.2 chokidar: 3.5.3 cli-table3: 0.6.3 @@ -2807,7 +2807,7 @@ packages: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.85) + webpack: 5.88.2(@swc/core@1.3.86) webpack-node-externals: 3.0.0 transitivePeerDependencies: - esbuild @@ -3452,13 +3452,13 @@ packages: /@rubiin/eslint-config-typescript@1.4.0(jest@29.7.0)(typescript@5.2.2): resolution: {integrity: sha512-v1nQNBVBNPCaNGqwWfpB26qJ2vAxb1ffOQtJ+kKMTtNN2IaJWYdV4oO0EeOuoVDjOBapZ7pCSUZdybpTL2AVgg==} dependencies: - '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) eslint: 8.49.0 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.7.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0) + eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.7.2)(eslint-plugin-import@2.28.1)(eslint@8.49.0) eslint-plugin-deprecation: 1.5.0(eslint@8.49.0)(typescript@5.2.2) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) - eslint-plugin-jest: 27.4.0(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.49.0)(jest@29.7.0)(typescript@5.2.2) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) + eslint-plugin-jest: 27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0)(jest@29.7.0)(typescript@5.2.2) eslint-plugin-jsdoc: 46.8.1(eslint@8.49.0) eslint-plugin-unicorn: 48.0.1(eslint@8.49.0) transitivePeerDependencies: @@ -4034,8 +4034,8 @@ packages: resolution: {integrity: sha512-wlt6JW69MHqLY2M6Sm/jVyCojNRKq2CBvwH0Hbx24SFhDQQGkgEjeKxVutDxHSyrWixFaOSLXC27euzxijhyMQ==} dev: false - /@swc/core-darwin-arm64@1.3.85: - resolution: {integrity: sha512-jTikp+i4nO4Ofe6qGm4I3sFeebD1OvueBCHITux5tQKD6umN1c2z4CRGv6K49NIz/qEpUcdr6Qny6K+3yibVFQ==} + /@swc/core-darwin-arm64@1.3.86: + resolution: {integrity: sha512-hMvSDms0sJJHNtRa3Vhmr9StWN1vmikbf5VE0IZUYGnF1/JZTkXU1h6CdNUY4Hr6i7uCZjH6BEhxFHX1JtKV4w==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -4043,8 +4043,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.85: - resolution: {integrity: sha512-3uHYkjVU+2F+YbVYtq5rH0uCJIztFTALaS3mQEfQUZKXZ5/8jD5titTCRqFKtSlQg0CzaFZgsYsuqwYBmgN0mA==} + /@swc/core-darwin-x64@1.3.86: + resolution: {integrity: sha512-Jro6HVH4uSOBM7tTDaQNKLNc8BJV7n+SO+Ft2HAZINyeKJS/8MfEYneG7Vmqg18gv00c6dz9AOCcyz+BR7BFkQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -4052,8 +4052,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.85: - resolution: {integrity: sha512-ouHzAHsFaEOkRuoTAOI/8n2m8BQAAnb4vr/xbMhhDOmix0lp5eNsW5Iac/EcJ2uG6B3n7P2K8oycj9SWkj+pfw==} + /@swc/core-linux-arm-gnueabihf@1.3.86: + resolution: {integrity: sha512-wYB9m0pzXJVSzedXSl4JwS3gKtvcPinpe9MbkddezpqL7OjyDP6pHHW9qIucsfgCrtMtbPC2nqulXLPtAAyIjw==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -4061,8 +4061,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.85: - resolution: {integrity: sha512-/Z1CZOWiO+NqJEh1J20PIxQFHMH43upQJ1l7FJ5Z7+MyuYF8WkeJ7OSovau729pBR+38vvvccEJrMZIztfv7hQ==} + /@swc/core-linux-arm64-gnu@1.3.86: + resolution: {integrity: sha512-fR44IyK5cdCaO8cC++IEH0Jn03tWnunJnjzA99LxlE5TRInSIOvFm+g5OSUQZDAvEXmQ38sd31LO2HOoDS1Edw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -4070,8 +4070,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.85: - resolution: {integrity: sha512-gfh7CfKavi076dbMBTzfdawSGcYfZ4+1Q+8aRkSesqepKHcIWIJti8Cf3zB4a6CHNhJe+VN0Gb7DEfumydAm1w==} + /@swc/core-linux-arm64-musl@1.3.86: + resolution: {integrity: sha512-EUPfdbK4dUk/nkX3Vmv/47XH+DqHOa9JI0CTthvJ8/ZXei1MKDUsUc+tI1zMQX2uCuSkSWsEIEpCmA0tMwFhtw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -4079,8 +4079,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.85: - resolution: {integrity: sha512-lWVqjHKzofb9q1qrBM4dLqO7CIisp08/xMS5Hz9DWex1gTc5F2b6yJO6Ceqwa256GMweJcdP6A5EvEFQAiZ5dg==} + /@swc/core-linux-x64-gnu@1.3.86: + resolution: {integrity: sha512-snVZZWv8XgNVaKrTxtO3rUN+BbbB6I8Fqwe8zM/DWGJ096J13r89doQ48x5ZyO+bW4D48eZIWP5pdfSW7oBE3w==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -4088,8 +4088,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.85: - resolution: {integrity: sha512-EPJmlfqC05TUetnlErxNRyIp7Nc3B2w9abET6oQ/EgldeAeQnZ3M6svMViET/c2QSomgrU3rdP+Qcozkt62/4A==} + /@swc/core-linux-x64-musl@1.3.86: + resolution: {integrity: sha512-PnnksUJymEJkdnbV2orOSOSB441UqsxYbJge9zbr5UTRXUfWO3eFRV0iTBegjTlOQGbW6yN+YRSDkenTbmCI6g==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -4097,8 +4097,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.85: - resolution: {integrity: sha512-ibckJDZw8kNosciMexwk0z75ZyUhwtiFMV9rSBpup0opa7NNCUCoERCJ1e9LRyMdhsVUoLpZg/KZiHCdTw96hQ==} + /@swc/core-win32-arm64-msvc@1.3.86: + resolution: {integrity: sha512-XlGEGyHwLndm08VvgeAPGj40L+Hx575MQC+2fsyB1uSNUN+uf7fvke+wc7k50a92CaQe/8foLyIR5faayozEJA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -4106,8 +4106,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.85: - resolution: {integrity: sha512-hY4MpHGUVQHL1T2kgRXOigDho4DTIpVPYzJ4uyy8VQRbS7GzN5XtvdGP/fA4zp8+2BQjcig+6J7Y92SY15ouNQ==} + /@swc/core-win32-ia32-msvc@1.3.86: + resolution: {integrity: sha512-U1BhZa1x9yn+wZGTQmt1cYR79a0FzW/wL6Jas1Pn0bykKLxdRU4mCeZt2P+T3buLm8jr8LpPWiCrbvr658PzwA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -4115,8 +4115,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.85: - resolution: {integrity: sha512-ktxWOMFJ0iqKn6WUHtXqi4CS7xkyHmrRtjllGRuGqxmLmDX/HSOfuQ55Tm1KXKk5oHLacJkUbOSF2kBrpZ8dpg==} + /@swc/core-win32-x64-msvc@1.3.86: + resolution: {integrity: sha512-wRoQUajqpE3wITHhZVj/6BPu/QwHriFHLHuJA+9y6PeGtUtTmntL42aBKXIFhfL767dYFtohyNg1uZ9eqbGyGQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -4124,8 +4124,8 @@ packages: dev: true optional: true - /@swc/core@1.3.85: - resolution: {integrity: sha512-qnoxp+2O0GtvRdYnXgR1v8J7iymGGYpx6f6yCK9KxipOZOjrlKILFANYlghQxZyPUfXwK++TFxfSlX4r9wK+kg==} + /@swc/core@1.3.86: + resolution: {integrity: sha512-bEXUtm37bcmJ3q+geG7Zy4rJNUzpxalXQUrrqX1ZoGj3HRtzdeVZ0L/um3fG2j16qe61t8TX/OIZ2G6j6dkG/w==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -4136,26 +4136,26 @@ packages: dependencies: '@swc/types': 0.1.4 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.85 - '@swc/core-darwin-x64': 1.3.85 - '@swc/core-linux-arm-gnueabihf': 1.3.85 - '@swc/core-linux-arm64-gnu': 1.3.85 - '@swc/core-linux-arm64-musl': 1.3.85 - '@swc/core-linux-x64-gnu': 1.3.85 - '@swc/core-linux-x64-musl': 1.3.85 - '@swc/core-win32-arm64-msvc': 1.3.85 - '@swc/core-win32-ia32-msvc': 1.3.85 - '@swc/core-win32-x64-msvc': 1.3.85 - dev: true - - /@swc/jest@0.2.29(@swc/core@1.3.85): + '@swc/core-darwin-arm64': 1.3.86 + '@swc/core-darwin-x64': 1.3.86 + '@swc/core-linux-arm-gnueabihf': 1.3.86 + '@swc/core-linux-arm64-gnu': 1.3.86 + '@swc/core-linux-arm64-musl': 1.3.86 + '@swc/core-linux-x64-gnu': 1.3.86 + '@swc/core-linux-x64-musl': 1.3.86 + '@swc/core-win32-arm64-msvc': 1.3.86 + '@swc/core-win32-ia32-msvc': 1.3.86 + '@swc/core-win32-x64-msvc': 1.3.86 + dev: true + + /@swc/jest@0.2.29(@swc/core@1.3.86): resolution: {integrity: sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.85 + '@swc/core': 1.3.86 jsonc-parser: 3.2.0 dev: true @@ -4630,8 +4630,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==} + /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -4642,11 +4642,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/type-utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.0 + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/type-utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4 eslint: 8.49.0 graphemer: 1.4.0 @@ -4659,8 +4659,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==} + /@typescript-eslint/parser@6.7.2(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4669,10 +4669,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.0 + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4 eslint: 8.49.0 typescript: 5.2.2 @@ -4688,16 +4688,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.7.0: - resolution: {integrity: sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==} + /@typescript-eslint/scope-manager@6.7.2: + resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/visitor-keys': 6.7.0 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/visitor-keys': 6.7.2 dev: true - /@typescript-eslint/type-utils@6.7.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==} + /@typescript-eslint/type-utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4706,8 +4706,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.49.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -4721,8 +4721,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.7.0: - resolution: {integrity: sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==} + /@typescript-eslint/types@6.7.2: + resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -4747,8 +4747,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.7.0(typescript@5.2.2): - resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==} + /@typescript-eslint/typescript-estree@6.7.2(typescript@5.2.2): + resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4756,8 +4756,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/visitor-keys': 6.7.0 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4788,8 +4788,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.7.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==} + /@typescript-eslint/utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4797,9 +4797,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.2 - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) eslint: 8.49.0 semver: 7.5.4 transitivePeerDependencies: @@ -4815,11 +4815,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.7.0: - resolution: {integrity: sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==} + /@typescript-eslint/visitor-keys@6.7.2: + resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.0 + '@typescript-eslint/types': 6.7.2 eslint-visitor-keys: 3.4.3 dev: true @@ -6057,13 +6057,13 @@ packages: engines: {node: '>= 12.0.0'} dev: true - /commitizen@4.3.0(@swc/core@1.3.85): + /commitizen@4.3.0(@swc/core@1.3.86): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@swc/core@1.3.85) + cz-conventional-changelog: 3.3.0(@swc/core@1.3.86) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -6211,7 +6211,7 @@ packages: dependencies: '@types/node': 20.4.7 cosmiconfig: 8.3.6(typescript@5.2.2) - ts-node: 10.9.1(@swc/core@1.3.85)(@types/node@20.4.7)(typescript@5.2.2) + ts-node: 10.9.1(@swc/core@1.3.86)(@types/node@20.4.7)(typescript@5.2.2) typescript: 5.2.2 dev: true optional: true @@ -6321,18 +6321,18 @@ packages: rrweb-cssom: 0.6.0 dev: false - /cz-conventional-changelog@3.3.0(@swc/core@1.3.85): + /cz-conventional-changelog@3.3.0(@swc/core@1.3.86): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@swc/core@1.3.85) + commitizen: 4.3.0(@swc/core@1.3.86) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 17.7.1(@swc/core@1.3.85) + '@commitlint/load': 17.7.1(@swc/core@1.3.86) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -6855,7 +6855,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.7.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0): + /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.7.2)(eslint-plugin-import@2.28.1)(eslint@8.49.0): resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6865,8 +6865,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.49.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) fast-glob: 3.3.1 get-tsconfig: 4.7.0 is-core-module: 2.13.0 @@ -6878,7 +6878,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6899,11 +6899,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.49.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.7.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0) + eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.7.2)(eslint-plugin-import@2.28.1)(eslint@8.49.0) transitivePeerDependencies: - supports-color dev: true @@ -6923,7 +6923,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -6933,7 +6933,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -6942,7 +6942,7 @@ packages: doctrine: 2.1.0 eslint: 8.49.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -6958,7 +6958,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.4.0(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.49.0)(jest@29.7.0)(typescript@5.2.2): + /eslint-plugin-jest@27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0)(jest@29.7.0)(typescript@5.2.2): resolution: {integrity: sha512-ukVeKmMPAUA5SWjHenvyyXnirKfHKMdOsTZdn5tZx5EW05HGVQwBohigjFZGGj3zuv1cV6hc82FvWv6LdIbkgg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -6971,7 +6971,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@5.2.2) eslint: 8.49.0 jest: 29.7.0(@types/node@20.6.2)(ts-node@10.9.1) @@ -7648,7 +7648,7 @@ packages: semver: 7.5.4 tapable: 2.2.1 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.85) + webpack: 5.88.2(@swc/core@1.3.86) dev: true /form-data@4.0.0: @@ -8876,7 +8876,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.85)(@types/node@20.6.2)(typescript@5.2.2) + ts-node: 10.9.1(@swc/core@1.3.86)(@types/node@20.6.2)(typescript@5.2.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10241,8 +10241,8 @@ packages: fast-jwt: 3.2.0 dev: false - /nestjs-i18n@10.3.2(@nestjs/common@10.2.5)(@nestjs/core@10.2.5)(class-validator@0.14.0)(rxjs@7.8.1): - resolution: {integrity: sha512-hb9/picKv4pzPI+r5KpZJYjNCTRFEEmuyqgN/VUL7LFOyINPTIV5h7U8h6sdrDQr+bGdHLUKk4Dk3d9jItQEfg==} + /nestjs-i18n@10.3.4(@nestjs/common@10.2.5)(@nestjs/core@10.2.5)(class-validator@0.14.0)(rxjs@7.8.1): + resolution: {integrity: sha512-FEkJYZCDflELC9J5gOOcwDUzbNy2pwSvrOETsfESoeZl4qX+reiicgIR2xECP1x31lKjtP0FMlwi8cXuBhVqkA==} engines: {node: '>=16'} peerDependencies: '@nestjs/common': '*' @@ -12473,7 +12473,7 @@ packages: dev: false optional: true - /terser-webpack-plugin@5.3.9(@swc/core@1.3.85)(webpack@5.88.2): + /terser-webpack-plugin@5.3.9(@swc/core@1.3.86)(webpack@5.88.2): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -12490,12 +12490,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.19 - '@swc/core': 1.3.85 + '@swc/core': 1.3.86 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.19.4 - webpack: 5.88.2(@swc/core@1.3.85) + webpack: 5.88.2(@swc/core@1.3.86) dev: true /terser@5.19.4: @@ -12653,7 +12653,7 @@ packages: micromatch: 4.0.5 semver: 7.5.4 typescript: 5.2.2 - webpack: 5.88.2(@swc/core@1.3.85) + webpack: 5.88.2(@swc/core@1.3.86) dev: true /ts-morph@19.0.0: @@ -12663,7 +12663,7 @@ packages: code-block-writer: 12.0.0 dev: false - /ts-node@10.9.1(@swc/core@1.3.85)(@types/node@20.4.7)(typescript@5.2.2): + /ts-node@10.9.1(@swc/core@1.3.86)(@types/node@20.4.7)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12678,7 +12678,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.85 + '@swc/core': 1.3.86 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -12696,7 +12696,7 @@ packages: dev: true optional: true - /ts-node@10.9.1(@swc/core@1.3.85)(@types/node@20.6.2)(typescript@5.2.2): + /ts-node@10.9.1(@swc/core@1.3.86)(@types/node@20.6.2)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12711,7 +12711,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.85 + '@swc/core': 1.3.86 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -13152,7 +13152,7 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.88.2(@swc/core@1.3.85): + /webpack@5.88.2(@swc/core@1.3.86): resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} hasBin: true @@ -13183,7 +13183,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.85)(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.86)(webpack@5.88.2) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/src/lib/i18n/i18n.module.ts b/src/lib/i18n/i18n.module.ts index 1457343e..32fef7fd 100644 --- a/src/lib/i18n/i18n.module.ts +++ b/src/lib/i18n/i18n.module.ts @@ -2,31 +2,41 @@ import path from "node:path"; import { Module } from "@nestjs/common"; import { AcceptLanguageResolver, CookieResolver, HeaderResolver, I18nModule, QueryResolver } from "nestjs-i18n"; +import { ConfigModule, ConfigService } from "@nestjs/config"; @Module({ imports: [ - I18nModule.forRoot({ - fallbackLanguage: "en", - fallbacks: { - "np-*": "np", - "en-*": "en", - "np_*": "np", - "en_*": "en", - "en": "en", - "np": "np", - }, - logging: true, - loaderOptions: { - path: path.join(__dirname, "../../resources/i18n/"), - watch: true, - includeSubfolders: true, - }, - typesOutputPath: path.join(`${process.cwd()}/src/generated/i18n-generated.ts`), + I18nModule.forRootAsync({ + useFactory: (configService: ConfigService) => ({ + imports: [ConfigModule], + inject: [ConfigService], + fallbackLanguage: "en", + fallbacks: { + "np-*": "np", + "en-*": "en", + "np_*": "np", + "en_*": "en", + "en": "en", + "np": "np", + }, + logging: true, + loaderOptions: { + path: path.join(__dirname, "../../resources/i18n/"), + watch: true, + includeSubfolders: true, + }, + typesOutputPath: configService.get("app.env", { infer: true }).startsWith("prod") ? undefined : path.join(`${process.cwd()}/src/generated/i18n-generated.ts`), + resolvers: [ + new HeaderResolver(["x-custom-lang"]), + AcceptLanguageResolver, + new CookieResolver(), + { use: QueryResolver, options: ["lang", "locale"] }, + ], + }), resolvers: [ - new HeaderResolver(["x-custom-lang"]), + { use: QueryResolver, options: ["lang"] }, AcceptLanguageResolver, - new CookieResolver(), - { use: QueryResolver, options: ["lang", "locale"] }, + new HeaderResolver(["x-lang"]), ], }), ], diff --git a/src/lib/pino/pino.module.ts b/src/lib/pino/pino.module.ts index d4d8070f..4fd08f42 100644 --- a/src/lib/pino/pino.module.ts +++ b/src/lib/pino/pino.module.ts @@ -1,4 +1,5 @@ import { Module, RequestMethod } from "@nestjs/common"; +import { ConfigModule, ConfigService } from "@nestjs/config"; import { LoggerModule } from "nestjs-pino"; // Fields to redact from logs @@ -12,84 +13,88 @@ const basePinoOptions = { @Module({ imports: [ - LoggerModule.forRoot({ + LoggerModule.forRootAsync({ + useFactory: (configService: ConfigService) => ({ + imports: [ConfigModule], + inject: [ConfigService], + pinoHttp: { + timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`, + name: "ultimate-nest", + customProps: (_request, _response) => ({ + context: "HTTP", + }), + serializers: { + req(request: Record) { + request.body = request.raw.body; - pinoHttp: { - timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`, - name: "ultimate-nest", - customProps: (_request, _response) => ({ - context: "HTTP", - }), - serializers: { - req(request: Record) { - request.body = request.raw.body; - - return request; + return request; + }, }, - }, - redact: { - paths: redactFields, - censor: "**GDPR COMPLIANT**", - }, - transport: process.env.NODE_ENV.startsWith("prod") - ? { - targets: [ - { - target: "pino/file", - level: "info", // log only errors to file - options: { - ...basePinoOptions, - destination: "logs/info.log", - mkdir: true, - sync: false, + redact: { + paths: redactFields, + censor: "**GDPR COMPLIANT**", + }, + transport: configService.get("app.env", { infer: true }).startsWith("prod") + ? { + targets: [ + { + target: "pino/file", + level: "info", // log only errors to file + options: { + ...basePinoOptions, + destination: "logs/info.log", + mkdir: true, + sync: false, + }, }, - }, - { - target: "pino/file", - level: "error", // log only errors to file - options: { - ...basePinoOptions, - destination: "logs/error.log", - mkdir: true, - sync: false, + { + target: "pino/file", + level: "error", // log only errors to file + options: { + ...basePinoOptions, + destination: "logs/error.log", + mkdir: true, + sync: false, + }, }, - }, - ], - } - : { - targets: [ - { - target: "pino-pretty", - level: "info", // log only info and above to console - options: { - ...basePinoOptions, - colorize: true, + ], + } + : { + targets: [ + { + target: "pino-pretty", + level: "info", // log only info and above to console + options: { + ...basePinoOptions, + colorize: true, + }, }, - }, - { - target: "pino/file", - level: "info", // log only errors to file - options: { - ...basePinoOptions, - destination: "logs/info.log", - mkdir: true, - sync: false, + { + target: "pino/file", + level: "info", // log only errors to file + options: { + ...basePinoOptions, + destination: "logs/info.log", + mkdir: true, + sync: false, + }, }, - }, - { - target: "pino/file", - level: "error", // log only errors to file - options: { - ...basePinoOptions, - destination: "logs/error.log", - mkdir: true, - sync: false, + { + target: "pino/file", + level: "error", // log only errors to file + options: { + ...basePinoOptions, + destination: "logs/error.log", + mkdir: true, + sync: false, + }, }, - }, - ], - }, - }, - exclude: [{ method: RequestMethod.ALL, path: "doc" }], + ], + }, + }, + exclude: [{ method: RequestMethod.ALL, path: "doc" }], + + }), }), ],