tsconfig.json requires that both experimentalDecorators and emitDecoratorMetadata are true.
Otherwise you get mysterious errors at runtime if you use @JsonProperty() decorator.
It took me a while to figure this "trivial" thing out as I am not fluent in TypeScript at all.
Working with Vite bundler 7.1.2 and it generated tsconfig.json for me.
"compilerOptions": {
"target": "ES2022",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
...