Decorator function return type is 'X' but is expected to be 'void' or 'any'.
Production Risk
Build will fail; resolve before shipping.
A syntax error (TS1271): Decorator function return type is 'X' but is expected to be 'void' or 'any'.. This diagnostic is emitted by the TypeScript compiler when decorator function return type is 'X' but is expected to be 'void' or 'any'..
- 1A decorator is applied incorrectly or to an unsupported target
- 2The 'experimentalDecorators' flag may need to be enabled
TypeScript compiler reports TS1271 during type checking.
// Triggers TS1271 // Decorator function return type is 'X' but is expected to be 'void' or 'any'.
expected output
error TS1271: Decorator function return type is 'X' but is expected to be 'void' or 'any'.
Fix
Enable experimentalDecorators
WHEN Using legacy decorator syntax
// tsconfig.json
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true
}
}Why this works
Decorators require the 'experimentalDecorators' flag; TypeScript 5.0+ also supports the TC39 Stage 3 decorator proposal without the flag.
✕ Suppress with @ts-ignore instead of fixing the type
ts-ignore hides real type errors and makes refactoring unsafe.
TypeScript Compiler Diagnostics
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev