javascript - typescript + nextjs içinde yerel dekoratörler


Mobx yazımında aşağıdaki hatayı fark ettim:

./src/app/stores/resource_store.ts
Error: 
  × Unexpected token `@`. Expected identifier, string literal, numeric literal or [ for the computed key
   ╭─[/Users/paulweijtens/PycharmProjects/take-step/with-redux/src/app/stores/resource_store.ts:3:1]
 3 │ import {createContext} from "react";
 4 │ 
 5 │ export class ResourceStore {
 6 │     @observable accessor resources: Map<string, Decimal> = new Map();

Kod gerçekten basit olduğu yerde:

export class ResourceStore {
    @observable accessor resources: Map<string, Decimal> = new Map();
}

tsconfig şu şekilde ayarlandı:

{
  "compilerOptions": {
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "bundler",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "incremental": true,
    "target": "es2015",
    "plugins": [
      {
        "name": "next"
      }
    ],
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
  "exclude": ["node_modules"]
}

Typescript (Next.js?) modern JavaScript dekoratörlerini desteklemiyor mu? Yoksa hangi hedefi seçmeliyim?


Hedefi es2022 olarak ayarlayıp node 21 kullansam bile aynı problemi görüyorum