diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 3d28e194..c78de016 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -23,6 +23,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, // Interop and compatibility "skipLibCheck": true, diff --git a/packages/core/src/events.ts b/packages/core/src/events.ts index a6744cfa..1d9598c0 100644 --- a/packages/core/src/events.ts +++ b/packages/core/src/events.ts @@ -544,7 +544,7 @@ export class WebAgentEventEmitter extends EventEmitter { /** * Override emit to also trigger wildcard listeners */ - emit(event: string | symbol, ...args: any[]): boolean { + override emit(event: string | symbol, ...args: any[]): boolean { const result = super.emit(event, ...args); // Also emit to wildcard listeners if this isn't already a wildcard event if (event !== "*") { diff --git a/packages/core/src/loggers/filter.ts b/packages/core/src/loggers/filter.ts index 01999d40..87714f1f 100644 --- a/packages/core/src/loggers/filter.ts +++ b/packages/core/src/loggers/filter.ts @@ -15,7 +15,7 @@ export abstract class LoggerFilter extends LoggerWrapper { private filteredEmitter: WebAgentEventEmitter | null = null; private handleEvent: ((eventType: string, data: any) => void) | null = null; - initialize(emitter: WebAgentEventEmitter): void { + override initialize(emitter: WebAgentEventEmitter): void { if (this.emitter) { this.dispose(); } @@ -36,7 +36,7 @@ export abstract class LoggerFilter extends LoggerWrapper { this.wrappedLogger.initialize(this.filteredEmitter); } - dispose(): void { + override dispose(): void { if (this.emitter && this.handleEvent) { this.emitter.off("*", this.handleEvent); this.wrappedLogger.dispose(); diff --git a/packages/core/src/loggers/metricsCollector.ts b/packages/core/src/loggers/metricsCollector.ts index 61f95851..d5500967 100644 --- a/packages/core/src/loggers/metricsCollector.ts +++ b/packages/core/src/loggers/metricsCollector.ts @@ -21,7 +21,7 @@ export class MetricsCollector extends LoggerWrapper { super(wrappedLogger); } - initialize(emitter: WebAgentEventEmitter): void { + override initialize(emitter: WebAgentEventEmitter): void { this.stepCount = 0; this.aiGenerationCount = 0; this.aiGenerationErrorCount = 0; @@ -39,7 +39,7 @@ export class MetricsCollector extends LoggerWrapper { super.initialize(emitter); } - dispose(): void { + override dispose(): void { if (this.emitter) { this.eventCounts.clear(); this.emitter.off("*", this.handleEventCount); diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 924efacc..99a85c0b 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -21,6 +21,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, // Interop and compatibility "skipLibCheck": true, diff --git a/packages/extension/tsconfig.json b/packages/extension/tsconfig.json index 68387a59..04950e98 100644 --- a/packages/extension/tsconfig.json +++ b/packages/extension/tsconfig.json @@ -5,14 +5,11 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - // WXT 0.21's generated tsconfig enables these; opting out keeps the - // extension typecheck aligned with the rest of the monorepo (it also - // compiles pilo-core sources via the paths aliases below). - // Whether to adopt them monorepo-wide is tracked in + // noImplicitOverride and noFallthroughCasesInSwitch, which WXT 0.21's + // generated tsconfig also enables, are now on repo-wide. Only + // noUncheckedIndexedAccess remains opted out; see // https://github.com/mozilla/pilo/issues/688 "noUncheckedIndexedAccess": false, - "noImplicitOverride": false, - "noFallthroughCasesInSwitch": false, "jsx": "react-jsx", "lib": ["ESNext", "DOM", "WebWorker"], "paths": { diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json index 5cee4767..58ed8044 100644 --- a/packages/server/tsconfig.json +++ b/packages/server/tsconfig.json @@ -23,6 +23,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, // Interop and compatibility "skipLibCheck": true,