From 0ad326b7c883607fa6f5059118a531b31f4cceaf Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 18 Jul 2026 01:00:48 +0700 Subject: [PATCH] Task/enforce noImplicitThis and allowUnreachableCode TypeScript rules (#7354) * feat(ts): disable allowing unreachable code * feat(ts): enable no implicit this --- .../portfolio-snapshot.service.mock.ts | 14 +++++++------- tsconfig.base.json | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts index 898718106..7eb09d966 100644 --- a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts +++ b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts @@ -1,4 +1,4 @@ -import { Job, JobOptions } from 'bull'; +import type { Job, JobId, JobOptions } from 'bull'; import { setTimeout } from 'timers/promises'; import { PortfolioSnapshotQueueJob } from './interfaces/portfolio-snapshot-queue-job.interface'; @@ -10,8 +10,8 @@ export const PortfolioSnapshotServiceMock = { data: PortfolioSnapshotQueueJob; name: string; opts?: JobOptions; - }): Promise> { - const mockJob: Partial> = { + }): Promise { + const mockJob: Partial = { finished: async () => { await setTimeout(100); @@ -21,12 +21,12 @@ export const PortfolioSnapshotServiceMock = { this.jobsStore.set(opts?.jobId, mockJob); - return Promise.resolve(mockJob as Job); + return Promise.resolve(mockJob as Job); }, - getJob(jobId: string): Promise> { + getJob(jobId: JobId): Promise { const job = this.jobsStore.get(jobId); - return Promise.resolve(job as Job); + return Promise.resolve(job as Job); }, - jobsStore: new Map>>() + jobsStore: new Map>() }; diff --git a/tsconfig.base.json b/tsconfig.base.json index 909e1757a..1c1cca5ce 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -29,12 +29,12 @@ "strictPropertyInitialization": false, "noImplicitReturns": false, "noImplicitAny": false, - "noImplicitThis": false, + "noImplicitThis": true, "noImplicitOverride": false, "noPropertyAccessFromIndexSignature": false, "noUnusedLocals": true, "noUnusedParameters": true, - "allowUnreachableCode": true + "allowUnreachableCode": false }, "exclude": ["node_modules", "tmp"] }