16.0.0 • Published 10 months ago

@hh.ru/eslint-config v16.0.0

Weekly downloads
126
License
MIT
Repository
github
Last release
10 months ago

eslint конфиги hh.ru

Репозиторий содержит файлы конфигурации для eslint.

Установка конфигов

Проекты подтягивают этот репозиторий через npm-зависимость.

Cсылка на конфиг прописывается в .eslintrc проекта:

{
    "extends": "@hh.ru/eslint-config"
}

Для поддержки TypeScript нужно создать блок overrides

{
    "overrides": [
        {
            "files": "*.{ts,tsx}",
            "extends": "@hh.ru/eslint-config/typescript",
        },
    ],
}

Релиз новой версии

Перед релизом надо прописать историю изменений в readme.md и указать будущую версию. Версию в package.json менять не нужно, она проставится автоматически при релизе.

Публикация происходит через release.pyn.ru Нажимаем Create release -> library и выбираем eslint-config-hh

История изменений

15.2.0

Изменена настройка правила no-floating-promises: заперещен обход правила через вызов void

15.1.1

Поправил формат правила no-restricted-imports

15.1.0

  • Добавлено правило для правильного импорта date-fns

15.0.0

  • Подняты версии зависимостей.

14.1.0

  • Добавлены prettier и правила для него.

14.0.1

  • Плагин для проверки корректность импортов bloko заменен на другой.

14.0.0

  • Добавлено правило проверяющее корректность импортов bloko.

13.2.1

  • Добавлена настройка для правила @typescript-eslint/no-misused-promises.

13.2.0

  • Подняты версии зависимостей для поддержки typescript 4.9.5
    • @typescript-eslint/eslint-plugin
    • @typescript-eslint/parser

13.1.0

  • Добавлено игнорирование import/prefer-default-export правила для *.js и *.ts файлов.

13.0.0

  • Запретил использование noop в typescript, должно решаться на уровне интерфейсов.

12.3.0

  • Добавлено правило запрета пустых функций для TS аналогично правилу для JS

12.2.1

  • Добавлена пустая строка после новой матч-группы

12.2.0

  • Добавлена новая матч-группа для сортировки импортов

12.1.0

  • Добавлено правило регулирующее порядок импортов

12.0.0

  • Добавлено правило, запрещающее абсолютные импорты less-файлов

11.1.0

  • Добавлено правило, разрешающее импорт less-файлов из текущей папки по относительному пути

11.0.0

  • Добавлены правила отключающие обязательность импорта React при объявлении jsx

10.1.0

  • В TS-конфиг добавил правило для нейминга классов, енамов, интерфейсов и типов

10.0.1

  • Поднял версии TS-зависимостей

10.0.0

  • Добавлен конфиг для TypeScript

8.1.1

  • Обновлен lodash в зависимостях на 4.17.19

8.1.0

  • Запрещены non-ascii символы в идентификаторах

7.0.1

  • Запрет относительных импортов реализован с помощью правила no-restricted-imports вместо no-restricted-syntax

7.0.0

  • Запрещены относительные импорты

6.1.0

  • Подняты версии зависимостей для поддержки eslint 6:
    • babel-eslint
    • eslint-plugin-dollar-sign
    • eslint-plugin-import
    • eslint-plugin-react-hooks

6.0.0

  • Добавлено правило exhaustive-deps для react-hooks
  • Поднята версия зависимости eslint-plugin-react-hooks

5.0.2

  • Запрещены для использования относительные импорты в родительскую директорию (содержащие ..)
  • Поднята версия зависимости eslint-plugin-import для поддержки eslint 5.x
  • Добавлены правила для react hooks
  • Добавлена peerDependency на eslint >= 4.12.1

4.0.0

  • Запрещены для использования
    • curly всегда error
    • Reflect
    • Array.from в пользу spread
    • Proxy
    • WeakMap
    • WeakSet
    • typed arrays
    • Generators
  • В качестве парсера используется babel-eslint
  • В parserOptions включены модули и jsx
  • В no-unused-vars включен ignoreRestSiblings

3.0.0

  • Поправил конфиг для es6:
    • Добавил env browser и amd
    • no-multiple-empty-lines уменьшил кол-во пустых строк до 1 и до 0 в начале файла
    • no-restricted-properties выключил т.к. у airbnb запрещено использовать isNaN и Math.Pow
    • arrow-parens - всегда используем () вокруг аргумента
    • сгенерировал один конфиг файл для es6
    • dot-notation разрешил использование allowKeywords (можно писать .catch())
  • удалил index.js и legacy.js теперь main из package.json указывает на base.js

2.0.0

  • Все правила переведены в error.
  • Отключены правила:
    • no-param-reassign — переназначем преимущественно для простановки значения по-умолчанию или корректировки входных данных, нет смысла запрещать.
    • guard-for-in — у нас практически нет наследуемых объектов, нет смысла добавлять в каждом месте hasOwnProperty ради линтинга.
  • Для правила no-plusplus разрешаем ++/-- в циклах.

1.6.0

  • Слили репы с es5 конфигом в одну

1.5.0

  • Прописали env свойство
  • Обновили airbnb и зависимости

1.4.0

  • Переводим no-plusplus в warn.
  • Переводим no-mixed-operators в warn, допускаем ввиду большого объема легаси.

1.3.0

  • Отключаем dot-notation для ключевых слов для совместимости со старыми браузерами.
  • Отключаем no-new, иногда нужно просто создать экземпляр класса для запуска его внутренней кухни.
  • В свойствах объектов всегда используем camelCase.

1.1.0

  • Оставляем только поддержку es6

1.0.0

  • Первичный релиз
  • Без поддержки es6
16.0.0

10 months ago

15.3.0

10 months ago

15.2.0

1 year ago

15.1.2

1 year ago

15.1.1

2 years ago

15.1.0

2 years ago

15.0.0

2 years ago

14.0.0

2 years ago

13.2.1

2 years ago

14.1.0

2 years ago

14.0.1

2 years ago

13.2.0

2 years ago

13.1.0

3 years ago

13.0.0

3 years ago

12.3.0

3 years ago

12.3.1

3 years ago

12.2.1

4 years ago

12.2.2

4 years ago

12.1.0

4 years ago

12.2.0

4 years ago

12.0.0

4 years ago

11.0.0

4 years ago

11.1.0

4 years ago

11.0.1

4 years ago

10.1.0

4 years ago

10.0.0

4 years ago

10.0.1

4 years ago

9.0.0

4 years ago

8.1.1

5 years ago

8.1.0

5 years ago

8.0.1

5 years ago

8.0.0

5 years ago

7.0.1

6 years ago

7.0.0

6 years ago

6.1.0

6 years ago

6.0.0

6 years ago

5.0.2

6 years ago

5.0.1

6 years ago

5.0.0

6 years ago

4.0.0

6 years ago

3.0.1

8 years ago

3.0.0

8 years ago