reactjs - Hur man löser: "Definition för regeln '@typescript-eslint/consistent-type-assertions' hittades inte"


Min React-app misslyckas inte med att kompilera på grund av felet: Definition för regeln '@typescript-eslint/consistent-type-assertions' hittades inte

Jag är lite förvirrad. Jag kan inte hitta några aktuella regler definierade i projektet. Projektet kompilerade initialt. Felet började efter att jag omstrukturerade appen.

Appen kan inte kompileras på grund av fel: Definition för regel '@typescript-eslint/consistent-type-assertions' hittades inte

packge.json -

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@types/react-dom": "16.9.0",
    "react": "^16.9.0",
    "react-dom": "^16.9.0",
    "react-router-dom": "^5.0.1",
    "react-scripts": "3.1.1",
    "styled-components": "^4.3.2",
    "typescript": "^3.5.3"
  },
  "scripts": {
    "start": "PORT=3005 react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --transformIgnorePatterns",
    "e2e": "./node_modules/.bin/cypress open"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@testing-library/dom": "^6.1.0",
    "@testing-library/jest-dom": "^4.0.1",
    "@testing-library/react": "^9.1.3",
    "@types/jest": "^24.0.18",
    "@types/lodash": "^4.14.137",
    "@types/node": "^12.7.2",
    "@types/react": "^16.9.2",
    "@types/react-router-dom": "^4.3.4",
    "@types/styled-components": "^4.1.18",
    "babel-jest": "^24.9.0",
    "cypress": "^3.4.1"
  }
}

Svar #1

Uppdatera bara react-scripts. Jag löste det genom att avinstallera och installera igen. I kommandoraden:

avinstallera:

npm uninstall react-scripts --save

och installera igen:

npm i react-scripts

Svar #2

När jag stötte på detta hade jag skapat en helt ny app med create-react-app my-app --typescript och sedan kopierat beroenden från ett annat projekt som jag precis hade avslutat. Efter att ha experimenterat med saker märkte jag att react-scripts var på version 3.1.1, när jag äntligen fick detta att fungera igen hade den fungerande package.json det på 3.1.2. Det ser ut som detta är boven. En fungerande package.json skulle se ut så här:

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@types/jest": "24.0.18",
    "@types/node": "12.7.5",
    "@types/react": "16.9.2",
    "@types/react-dom": "16.9.0",
    "node-sass": "^4.12.0",
    "react": "^16.9.0",
    "react-dom": "^16.9.0",
    "react-scripts": "3.1.2",
    "typescript": "3.6.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Att försöka få felet att försvinna var en utmaning, det finns en elak bugg i Visual Studio som kommer att göra att din VSCompiler.exe och andra tjänster hänger sig och bara använder den version av filen som de hade när tjänsterna hängde sig. Oavsett vad du gör kommer ingenting att fungera förrän du startar om dessa, se detta svar för några tips om hur man löser det, jag inser att det gäller Angular men samma principer gäller.

Relaterade artiklar