source.decorators
- Type:
Used to configure the decorators syntax.
decorators.version
- Type:
'legacy' | '2022-03' | '2023-11' - Default:
'2023-11'
Specify the decorator syntax version to be used.
In most cases, 2023-11 is the recommended choice:
2023-11: the latest supported Stage 3 decorators proposal and the default used by Rsbuild.2022-03: the earlier Stage 3 proposal.legacy: the legacy Stage 1 proposal, mainly for projects that still rely onexperimentalDecorators.
If you want to know the differences between different decorators versions, you can refer to: How does this proposal compare to other versions of decorators?
2023-11
2023-11 corresponds to the November 2023 version of the Stage 3 decorator proposal.
References: tc39/proposal-decorators, @babel/plugin-proposal-decorators.
2022-03
2022-03 corresponds to the Stage 3 decorator proposal, equivalent to the decorator syntax supported by TypeScript 5.0 by default.
References: JavaScript meta programming with the 2022-03 decorators API, TypeScript 5.0 Decorators.
legacy
Equivalent to TypeScript's experimentalDecorators: true.
This is based on the legacy Stage 1 decorators proposal. It will not receive new feature updates, and Babel and TypeScript may behave differently in some edge cases. It is recommended to migrate to 2023-11 when possible.
References: A Complete Guide to TypeScript Decorators, TypeScript Decorators.

