Vos prochaines actions.

Suivez l'agence web parisienne Blacksmith sur Linkedin

Vous avez une super idée ou un projet à réaliser ?

Notre agence de design et développement web à Paris est là pour vous faire décoller !

Blog.

Articles.

ESLint : Comment coder proprement en JavaScript ?

17.04.238MIN
JS
Jean-François Arnaud
Jean-François ArnaudPrésident de Blacksmith

Pourquoi utiliser ESLint ?

Peut importe le nombre d'année d'expériences dans le développement web, il arrive à tout le monde de faire des erreurs lorsqu'on écrit du code.

Même si la plupart du temps il s'agit d'erreurs simples telles que des fautes de frappe ou d'indentation, il reste important de corriger ces erreurs pour s'assurer de garder une codebase impeccable.

C'est là qu'interviennent les linters !

Ces outils de qualité de code (code quality en Anglais) permettent une analyse statique du code afin de s'assurer que celui-ci respecte certaines règles de développement qui peuvent être par exemple fixées par votre CTO ou Lead Developer.

Une fois qu'un linter mis en place, celui-ci va systématiquement vérifier et uniformiser la syntaxe de votre code pour répondre aux conventions propres à un projet en particulier ou à celles fixées par votre entreprise.

Un linter peut directement formater votre code à la sauvegarde ("grâce au lintint on save") pour s'assurer des bonnes pratiques paramétrées, mais également vous remonter des erreurs s'il en trouve pendant son analyse.

Dans cet article, nous allons nous intéresser au linter open source ESLint pour le langage de programmation JavaScript (mais vous pouvez trouver d'autres linters adaptés à d'autres langages informatiques).

Comment installer ESLint ?

ESLint peut s'installer rapidement avec NPM avec la commande suivante :

npm install eslint --save-dev

Une fois installé, vous pouvez tester eslint grâce à la commande :

npm run lint

Attention, pour que le linter fonctionne, il faut définir des règles dans le fichier .eslintrc.json

Comment configurer ESLint ?

Pour que ESLint puisse faire son travail, il faut définir des règles de fonctionnement dans le fichier eslintrc.

Voici ci-dessous un exemple de configuration pour TypeScript que nous utilisons dans notre agence de développement web.

{
  "root": true,
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended",
    "next/core-web-vitals"
  ],
  "parser": "@typescript-eslint/parser",
  "env": {
    "browser": true,
    "es6": true,
    "jest": false
  },
  "parserOptions": {
    "ecmaVersion": 2020,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "arrowFunctions": true
    }
  },
  "plugins": ["react", "@typescript-eslint", "prettier"],
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "rules": {
    "react/prop-types": "off",
    "@typescript-eslint/no-unused-vars": "off",
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/no-var-requires": "off"
  }
}

BONUS : installer et configurer Prettier

Maintenant que vous savez utiliser ESLint, vous pouvez également utiliser Prettier, un autre outil de code quality, qui est populaire, open-source et très pratique pour formater le code de manière automatique !

Vous pouvez l'installer grâce à la commande ci-dessous

npm install --save-dev --save-exact prettier

Une fois installé il ne vous restera plus qu'à renseigner la configuration souhaitée dans le fichier .prettierrc

Voici la configuration que nous utilisons au sein de notre agence de développement Blacksmith :

{
  "semi": true,
  "printWidth": 140,
  "tabWidth": 2,
  "endOfLine": "lf",
  "singleQuote": true,
  "bracketSpacing": true,
  "useTabs": false,
  "arrowParens": "avoid",
  "jsxSingleQuote": true,
  "trailingComma": "all"
}

Have fun !

Articles de la même catégorie

Articles en cours d'écriture...
Prêt·e à collaborer avec nous ?partners@blacksmith.studio