Set experimentalDecorators: true in your tsconfig.json and decorated classes run with no build step. This is the legacy decorator form the DI / ORM ecosystem (NestJS, TypeORM, Angular) is written against.

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}
@Entity()
class Account {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  balance: number;
}

emitDecoratorMetadata

When emitDecoratorMetadata is also set, Nub emits the Reflect.metadata(...) calls that DI containers read for constructor-parameter type inference. The emitted code references Reflect.metadata, so install and import reflect-metadata yourself, exactly as on plain TypeScript — Nub does not auto-inject it.

Stage 3 decorators

Stage 3 decorators (TypeScript 5's default when neither flag is set) are not supported: that transform is an upstream gap in oxc, so Nub rejects Stage-3-shaped decorator syntax with a diagnostic pointing you at experimentalDecorators: true.