From ae9de39ac43a9ba1dd37ae10ac2afa641aa24c84 Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Fri, 31 Jul 2026 22:41:01 +0200 Subject: [PATCH] chore(mail): remove nestjs-i18n, only ever used for the two mail templates Co-Authored-By: Claude Sonnet 5 --- myteamwallet_backend/package-lock.json | 84 ------------------- myteamwallet_backend/package.json | 1 - myteamwallet_backend/src/app.module.ts | 22 +---- myteamwallet_backend/src/config/app.config.ts | 2 - myteamwallet_backend/src/i18n/en/common.json | 4 - .../src/i18n/en/confirm-email.json | 5 -- .../src/i18n/en/reset-password.json | 6 -- 7 files changed, 1 insertion(+), 123 deletions(-) delete mode 100644 myteamwallet_backend/src/i18n/en/common.json delete mode 100644 myteamwallet_backend/src/i18n/en/confirm-email.json delete mode 100644 myteamwallet_backend/src/i18n/en/reset-password.json diff --git a/myteamwallet_backend/package-lock.json b/myteamwallet_backend/package-lock.json index 832e3f6..1055e2a 100644 --- a/myteamwallet_backend/package-lock.json +++ b/myteamwallet_backend/package-lock.json @@ -30,7 +30,6 @@ "multer": "1.4.4", "multer-s3": "2.10.0", "mysql2": "^2.3.3", - "nestjs-i18n": "9.2.2", "nodemailer": "6.8.0", "passport": "0.6.0", "passport-anonymous": "1.0.1", @@ -4587,11 +4586,6 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "node_modules/accept-language-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/accept-language-parser/-/accept-language-parser-1.5.0.tgz", - "integrity": "sha512-QhyTbMLYo0BBGg1aWbeMG4ekWtds/31BrEU+DONOg/7ax23vxpL03Pb7/zBmha2v7vdD3AyzZVWBVGEZxKOXWw==" - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -14272,41 +14266,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/nestjs-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/nestjs-i18n/-/nestjs-i18n-9.2.2.tgz", - "integrity": "sha512-GxwDonBnW7MbwuUxF9IHINm0vYhVQUqUnDLxDHPzavs2T2qMDrf/muyqXc9QFIs0v16ElSKz5+aBDZK4nUrgpw==", - "dependencies": { - "accept-language-parser": "^1.5.0", - "chokidar": "^3.5.3", - "cookie": "^0.5.0", - "iterare": "^1.2.1", - "js-yaml": "^4.1.0", - "string-format": "^2.0.0" - }, - "peerDependencies": { - "@nestjs/common": "*", - "@nestjs/core": "*", - "class-validator": "~0.13", - "rxjs": "*" - } - }, - "node_modules/nestjs-i18n/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/nestjs-i18n/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", @@ -16339,11 +16298,6 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, - "node_modules/string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" - }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -21936,11 +21890,6 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "accept-language-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/accept-language-parser/-/accept-language-parser-1.5.0.tgz", - "integrity": "sha512-QhyTbMLYo0BBGg1aWbeMG4ekWtds/31BrEU+DONOg/7ax23vxpL03Pb7/zBmha2v7vdD3AyzZVWBVGEZxKOXWw==" - }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -29287,34 +29236,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "nestjs-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/nestjs-i18n/-/nestjs-i18n-9.2.2.tgz", - "integrity": "sha512-GxwDonBnW7MbwuUxF9IHINm0vYhVQUqUnDLxDHPzavs2T2qMDrf/muyqXc9QFIs0v16ElSKz5+aBDZK4nUrgpw==", - "requires": { - "accept-language-parser": "^1.5.0", - "chokidar": "^3.5.3", - "cookie": "^0.5.0", - "iterare": "^1.2.1", - "js-yaml": "^4.1.0", - "string-format": "^2.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - } - } - }, "netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", @@ -30884,11 +30805,6 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, - "string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" - }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", diff --git a/myteamwallet_backend/package.json b/myteamwallet_backend/package.json index 67dbc89..c7bb6cf 100644 --- a/myteamwallet_backend/package.json +++ b/myteamwallet_backend/package.json @@ -49,7 +49,6 @@ "multer": "1.4.4", "multer-s3": "2.10.0", "mysql2": "^2.3.3", - "nestjs-i18n": "9.2.2", "nodemailer": "6.8.0", "passport": "0.6.0", "passport-anonymous": "1.0.1", diff --git a/myteamwallet_backend/src/app.module.ts b/myteamwallet_backend/src/app.module.ts index 056bed1..53cdcdd 100644 --- a/myteamwallet_backend/src/app.module.ts +++ b/myteamwallet_backend/src/app.module.ts @@ -6,12 +6,9 @@ import authConfig from './config/auth.config'; import appConfig from './config/app.config'; import mailConfig from './config/mail.config'; import fileConfig from './config/file.config'; -import * as path from 'path'; import { MailerModule } from '@nestjs-modules/mailer'; -import { ConfigModule, ConfigService } from '@nestjs/config'; +import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { I18nModule } from 'nestjs-i18n/dist/i18n.module'; -import { HeaderResolver } from 'nestjs-i18n'; import { TypeOrmConfigService } from './database/typeorm-config.service'; import { MailConfigService } from './mail/mail-config.service'; import { ForgotModule } from './forgot/forgot.module'; @@ -45,23 +42,6 @@ import { PenaltyModule } from './penalty/penalty.module'; MailerModule.forRootAsync({ useClass: MailConfigService, }), - I18nModule.forRootAsync({ - useFactory: (configService: ConfigService) => ({ - fallbackLanguage: configService.get('app.fallbackLanguage'), - loaderOptions: { path: path.join(__dirname, '/i18n/'), watch: true }, - }), - resolvers: [ - { - use: HeaderResolver, - useFactory: (configService: ConfigService) => { - return [configService.get('app.headerLanguage')]; - }, - inject: [ConfigService], - }, - ], - imports: [ConfigModule], - inject: [ConfigService], - }), ServeStaticModule.forRoot({ rootPath: join(__dirname, '../client'), exclude: ['*/api*'], diff --git a/myteamwallet_backend/src/config/app.config.ts b/myteamwallet_backend/src/config/app.config.ts index a33cba4..b02abf3 100644 --- a/myteamwallet_backend/src/config/app.config.ts +++ b/myteamwallet_backend/src/config/app.config.ts @@ -8,6 +8,4 @@ export default registerAs('app', () => ({ backendDomain: process.env.BACKEND_DOMAIN, port: parseInt(process.env.APP_PORT || process.env.PORT, 10) || 3000, apiPrefix: process.env.API_PREFIX || 'api', - fallbackLanguage: process.env.APP_FALLBACK_LANGUAGE || 'en', - headerLanguage: process.env.APP_HEADER_LANGUAGE || 'x-custom-lang', })); diff --git a/myteamwallet_backend/src/i18n/en/common.json b/myteamwallet_backend/src/i18n/en/common.json deleted file mode 100644 index b7a2419..0000000 --- a/myteamwallet_backend/src/i18n/en/common.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "confirmEmail": "Confirm email", - "resetPassword": "Reset password" -} diff --git a/myteamwallet_backend/src/i18n/en/confirm-email.json b/myteamwallet_backend/src/i18n/en/confirm-email.json deleted file mode 100644 index 0eb981d..0000000 --- a/myteamwallet_backend/src/i18n/en/confirm-email.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "text1": "Hey!", - "text2": "You’re almost ready to start enjoying", - "text3": "Simply click the big green button below to verify your email address." -} diff --git a/myteamwallet_backend/src/i18n/en/reset-password.json b/myteamwallet_backend/src/i18n/en/reset-password.json deleted file mode 100644 index 6cae96a..0000000 --- a/myteamwallet_backend/src/i18n/en/reset-password.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "text1": "Trouble signing in?", - "text2": "Resetting your password is easy.", - "text3": "Just press the button below and follow the instructions. We’ll have you up and running in no time.", - "text4": "If you did not make this request then please ignore this email." -}