javascript - Typescript Yapıcı Parametreleri. Ayrıştırma hatası: Beklenmeyen ayrılmış kelime 'public'


Typescript + React'te bir sınıf oluşturmak istedim ve Typescript yapıcı parametrelerini kullanmaya karar verdim. Ama bunu yaptığımda derleme sırasında bir hata alıyorum.

Bu benim UserData sınıfım

enum SecurityRole {
    USER = "USER",
    ADMIN= "ADMIN"
}
export class UserData {
    constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
}
export const createUserDataFromJson = (json: any): UserData => {
    console.log(`user from json : ` + json)
    return new UserData(json.name, json.securityRole)
}

Ama bir hata aldım:

  Line 8:17:  Parsing error: Unexpected reserved word 'public'

   6 | }
   7 | export class UserData {
>  8 |     constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
     |                 ^
   9 | }
  10 | export const createUserDataFromJson = (json: any): UserData => {
  11 |     console.log(`user from json : ` + json)

Bunun tsconfig.json ile ilgili olabileceğini düşündüm, işte burada:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "esnext",
    "strict": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "allowSyntheticDefaultImports": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true
  },
  "include": [
    "src"
  ]
}

Projemde npm run build kullanıyorum, bu react-scripts build (4.0.2) anlamına geliyor

npm sürümü 6.14.6 node sürümü v12.18.3

Orada yanlış bir şey mi yaptım? Yoksa bu proje ayarlarımla mı ilgili?

Cevap #1

Bunu package.json dosyama eslintConfig ekleyerek çözmeyi başardım

 "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },