npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hh.ru/eslint-config

v16.0.1

Published

HH.ru eslint configuration

Downloads

281

Readme

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.1

Обновлены eslint плагины для полноценной поддержки typescript 5.6.*

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