reactjs - Typescript eslint inaktivera no-unused-vars
Jag arbetar på ett Typescript React-projekt och jag brukar lägga in platsvariabler i koden så att allt är upplagt tills jag kommer till att implementera allt. Detta leder till en massa eslint no-unused-vars-fel och gör det svårt att hitta verkliga fel.
Hur kan jag inaktivera detta globalt tills jag är redo för det? Jag använde create-react-app my-app --typescript och vill inte ejecta projektet men är inte säker på hur jag ska inaktivera denna varning.
Jag märkte att det finns en eslintConfig-sektion i package.json så jag försökte stänga av felet där men det verkar inte fungera, finns det ett kommando jag behöver köra efter att ha redigerat package.json eller är min syntax fel?
"eslintConfig": {
"extends": "react-app",
"rules": {
"no-unused-vars": "off"
}
},
Uppdatera
(tog bort tsconfig.json-referens)
Jag uppdaterade min package.json och får hela tiden felen.
"eslintConfig": {
"extends": "react-app",
"rules": {
"@typescript-eslint/no-unused-vars": "off"
}
},
Jag försökte flytta reglerna till en .eslintrc.json-fil i projektets rot och det verkar fortfarande inte stänga av detta.
Det enda som verkar fungera är att sätta // eslint-disable-line @typescript-eslint/no-unused-vars efter variabeln.
Svar #1
Jag tror att det finns viss förvirring.
Både frågan och det enda svaret föreslår att man lägger till en regler-sektion i tsconfig.json. Detta är något jag aldrig har hört talas om, och det nämns inte i dokumentationen eller i det officiella schemat.
Dessutom handlar frågan om att inaktivera regeln i eslint, så regeländringen bör göras i .eslintrc.json-filen (eller i eslintConfig-avsnittet i package.json som beaktas i frågan).
Men detta är typescript och typescript-eslint så regeln borde vara:
> "@typescript-eslint/no-unused-vars" : "off"
Och den hackiga lösningen som föreslogs i ett svar som någon länkade till behöver ändras till (notera att svaret handlar om eslint för js, inte ts).
/* eslint-disable @typescript-eslint/no-unused-vars */
Och de lösningarna fungerar för mig med...
+-- [email
+-- @typescript-eslint/[email
+-- @typescript-eslint/[email
Svar #2
Du kan lägga till regel i filen package.json
"eslintConfig": {
"rules": {
"no-unused-vars": 0,
"@typescript-eslint/no-unused-vars": 0
}
}
Svar #3
Jag hade ett liknande problem. Här är min lösning:
- byt namn på
.eslintrc[.json]till.eslintrc.js - lägg till
module.exports=framför det tidigare Json-objektet. Så.eslintrc.jsser ut så här:
module.exports = {
...
"rules": {...},
...
}
- ställ in
"@typescript-eslint/no-unused-vars"-regeln beroende på din nuvarande miljö. Detta kan uppnås genom att kontrolleraprocess.env.NODE_ENV-variabeln. Mitt val var att få ett fel i produktion och få en varning i andra fall. Kodsnutten ser ut så här:
module.exports = {
...
"rules": {
...
"@typescript-eslint/no-unused-vars": process.env.NODE_ENV === "production" ? "error" : "warn"
},
...
}
