Линтеры

Lint — первоначально — статический анализатор для языка программирования Си, который сообщал о подозрительных или непереносимых на другие платформы выражениях. В начале XXI века термин стал нарицательным для всех программ такого типа. Как инструмент программа лишь анализирует статический исходный код, не скомпилированный в отличие от отладчиков. wiki

Editorconfig

Docs

Конфиг файл: .editorconfig

Настраивает вашу IDE, задает размер tab-ов, тип перевода строк и прочее.

Настройка PhpStorm

Как правило, плагин сразу же включен:

Editorconfig plugin

ESLint

Docs

Конфиг файл: eslint.config.mjs

Команда проверки: npm run lint:eslint

Команда для исправления ошибок: npx eslint . --fix

Настройка PhpStorm

Настройки: Eslint settings

Run for files: {**/*,*}.{js,ts,jsx,tsx,html,vue}

Stylelint

Docs

Конфиг файл: stylelint.config.mjs

Команда проверки: npm run lint:stylelint

Настройка PhpStorm

Настройки:

Stylelint settings

Run for files: {**/*,*}.{scss,css}

Настройка Vscode

Установите следующие плагины Eslint, Stylelint

Откройте файл settings.json и добавьте следующие строки:

  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[njk]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.stylelint": "explicit",
    "source.fixAll.eslint": "explicit"
  },
  "stylelint.validate": [
    "css",
    "postcss",
    "scss"
  ],
  "emmet.includeLanguages": {
    "njk": "html",
    "nunjucks": "html"
  },
  "files.associations": {
    "*.html": "njk"
  },
  "editor.formatOnSave": true,
  "eslint.validate": [
    "typescript", "html", "vue", "markdown", "javascript", "njk"
  ],
  "eslint.run": "onSave",

Линтер ругается, как дальше жить?

  1. Почитать про правило, на которое он ругается. Возможно это все по-делу
  2. Если вы понимаете почему он ругается, но все равно хочешь так написать, то:
  3. Подумай, можно ли это написать по-другому
  4. Если нет, то используй комментарии, чтобы заблокировать проверку линтера (но только для конкретного правила, и для конкретной строки)
  5. Если причины почему так написано не очевидны, добавь поясняющий комментарий
  6. Если не понятно почему ругается, похоже на баг и вообще, подойди и к старшему товарищу за помощью (возможно ты прав, и что-то где-то кривовато сконфигурировано)
  7. Если при сохранении файла линты фиксят файл, но проверка все равно показывает, что есть ошибки, то возможно надо выключить Prettier