TS1272
TypeScriptERRORNotableSyntaxHIGH confidence

A type referenced in a decorated signature must be imported with 'import type...

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1272): A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled.. This diagnostic is emitted by the TypeScript compiler when a type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled..

Why it happens
  1. 1A decorator is applied incorrectly or to an unsupported target
  2. 2The 'experimentalDecorators' flag may need to be enabled
How to reproduce

TypeScript compiler reports TS1272 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1272
// A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled.

expected output

error TS1272: A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled.

Fix

Enable experimentalDecorators

WHEN Using legacy decorator syntax

Enable experimentalDecorators
// 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.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors