LintGPT analyse votre code pour les bogues à l'aide de l'IA.
Statut: Alpha ⚡
--fix .npm install lintgpt pour installer.$OPENAI_API_KEY que vous pouvez générer ici. Vous trouverez ci-dessous un exemple de classe utilisateur dans TypeScript. Il passe la vérification du type et il n'y a pas d'erreurs de style Eslint. Cependant, ce programme contient toujours quelques bogues:
export class User {
constructor ( readonly firstName : string , readonly lastName : string , readonly age : number ) {
}
getFirstName ( ) : string {
return this . firstName
}
getLastName ( ) : string {
return this . firstName
}
getFullName ( ) : string {
return this . firstName + this . lastName
}
isLegalDrinkingAge ( ) : boolean {
return this . age > 10
}
} L'utilisation lintgpt peut comprendre les erreurs de logique d'intention et de capture qui sont difficiles à détecter avec d'autres outils:
$ npx lintgpt user.ts
✘ getLastName method returns firstName instead of lastName
user.ts:10:12
10 │ return this.firstName
│ ~~~~~~~~~~~~~~
✘ getFullName method does not include a space between firstName and lastName
user.ts:14:12
14 │ return this.firstName + this.lastName
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ isLegalDrinkingAge method checks if age is greater than 10, not the legal drinking age in most countries
user.ts:18:23
18 │ return this.age > 10
│ ~~
Found 3 problems in user.ts.
Vous pouvez même passer --fix pour appliquer automatiquement les modifications suggérées à vos fichiers.
$ npx lintgpt user.ts --fix
✔ getLastName method returns firstName instead of lastName
user.ts:10:12
10 │ return this.firstName
│ ~~~~~~~~~~~~~~
Fixed:
│ return this.lastName
✔ getFullName method does not include a space between firstName and lastName
user.ts:14:12
14 │ return this.firstName + this.lastName
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixed:
│ return this.firstName + ' ' + this.lastName
✔ isLegalDrinkingAge method checks if age is greater than 10, not the legal drinking age in most countries
user.ts:18:23
18 │ return this.age > 10
│ ~~
Fixed:
│ return this.age > 21
Pour plus d'options, voir lintgpt --help .
GPT n'est pas parfait et rapporte fréquemment des choses qui ne sont pas des erreurs, ou suggèrent des correctifs incorrects. Faites attention lorsque vous utilisez l'option --fix pour revoir toutes les modifications.
Une bonne façon de penser à Lintgpt est une équipe de stagiaires du lycée qui vient de terminer leur premier cours d'informatique. Demandez-leur de revoir votre code et ils pourraient trouver quelques choses, mais prenez leur production avec un grain de sel.
Veuillez également savoir que LintGPT envoie les fichiers que vous passez à Openai. Ne l'utilisez pas dans des fichiers contenant des informations sensibles.