TS8038
TypeScriptERRORNotableStrictHIGH confidence

Decorators may not appear after 'export' or 'export default' if they also app...

Production Risk

Build will fail; resolve before shipping.

What this means

A strict mode error (TS8038): Decorators may not appear after 'export' or 'export default' if they also appear before 'export'.. This diagnostic is emitted by the TypeScript compiler when decorators may not appear after 'export' or 'export default' if they also appear before 'export'..

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 TS8038 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS8038
// Decorators may not appear after 'export' or 'export default' if they also appear before 'export'.

expected output

error TS8038: Decorators may not appear after 'export' or 'export default' if they also appear before 'export'.

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