# πŸ› οΈ ESLint **ESLint** β€” это инструмСнт для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ JavaScript/TypeScript-ΠΊΠΎΠ΄Π°. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки, нСсоотвСтствия ΡΡ‚ΠΈΠ»ΡŽ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Π°Π³ΠΈ **Π΄ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹**. **Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ESLint ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² связкС с prettier.** --- ## βš™οΈ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ `.eslintignore` - ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ форматирования `.eslintrc.json` - Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ | ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ | ОписаниС | | ------------------------------------------------------------------- | ------------------------------------------------------------------------- | | `@typescript-eslint/no-explicit-any: "off"` | Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ `any` (Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ явно ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ `any`) | | `prettier/prettier: "error"` | Ошибки форматирования ΠΎΡ‚ Prettier Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ESLint-ошибки | | `@typescript-eslint/no-unused-vars: "error"` | ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли пСрСмСнная объявлСна, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ | | `@typescript-eslint/consistent-type-definitions: ["error", "type"]` | Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ `type`, Π° Π½Π΅ `interface` для описания Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² | --- ## πŸ“¦ Установка зависимостСй Установи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: ```bash npm install --save-dev \ eslint \ @typescript-eslint/parser \ @typescript-eslint/eslint-plugin \ prettier \ eslint-plugin-prettier \ eslint-config-prettier ``` --- ## πŸš€ ИспользованиС ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: ```bash npx eslint . --ext .ts ``` АвтоматичСски ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ: ```bash npx eslint . --ext .ts --fix ``` Плагин ESLint для `VSCode`: [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)