OptionalemitOptionallegacyEnables experimental support for decorators, which is a version of decorators that predates the TC39 standardization process.
Decorators are a language feature which hasn’t yet been fully ratified into the JavaScript specification. This means that the implementation version in TypeScript may differ from the implementation in JavaScript when it it decided by TC39.
OptionalstrictAligns nullable-union design:type emission with --strictNullChecks.
When true (default), T | null and T | undefined emit Object, matching tsc strict.
When false, null and undefined are elided from the union so the underlying
primitive constructor is emitted, matching tsc with --strictNullChecks=false
and babel-plugin-transform-typescript-metadata.
Enables emitting decorator metadata.
This option the same as emitDecoratorMetadata in TypeScript, and it only works when
legacyis true.