Size: a a a

2020 June 08

AL

Andrey Listochkin in Frontend UA
я вон вижу у Жени подключен как раз
источник

AL

Andrey Listochkin in Frontend UA
Я просто в свое время ловко проскочил мимо холиваров eslint vs jshint vs tslint vs jscs и перемерживаний всех эттих штук друг с другом, и сейчас не тоже не стал заморачиваться: взял дефолтовый рулсет в Несте.

Но тут буду нанимать себе нодеров, и понимаю, что дисциплина все ж будет полезной.
источник

AL

Andrey Listochkin in Frontend UA
И я вот начал писать правила, которые у нас в проекте используются, и прям интересно - рефлексирую
источник

EO

Eugene Obrezkov in Frontend UA
Andrey Listochkin
Я просто в свое время ловко проскочил мимо холиваров eslint vs jshint vs tslint vs jscs и перемерживаний всех эттих штук друг с другом, и сейчас не тоже не стал заморачиваться: взял дефолтовый рулсет в Несте.

Но тут буду нанимать себе нодеров, и понимаю, что дисциплина все ж будет полезной.
jshint легаси, tslint deprecated в пользу typescript-eslint, так что выбор небольшой

ну и если не знаешь какие правила есть, какие оставить а какие включить, то ото мне кажется включить все правила, а потом просто выключать у себя по вкусу - самое то

P.S. с каждый обновлением правила в all могут меняться, поэтому апгрейд eslint инфры нужно иметь ввиду и планировать соответствующее
источник

AS

Alexey Shvayka in Frontend UA
имхо лучше все правила выключить, и включать только те, на которые в команде реально ошибаются
источник

AS

Alexey Shvayka in Frontend UA
99.90% правил еслинта никогда не срабатывают на реальном коде
источник

EO

Eugene Obrezkov in Frontend UA
Alexey Shvayka
имхо лучше все правила выключить, и включать только те, на которые в команде реально ошибаются
не согласен с тактикой «давай подождём, пока что-то сломается, а потом починим», если можно «давайте заранее будем стараться предотвращать»

но ок, можете считать, что моя позиция обусловлена тем, что еслинт меня очень часто спасал начиная от типичных ошибок «у вас тут будет [object Object]» и заканчивая «у вас тут возможен рейс кондишин»
источник

AS

Alexey Shvayka in Frontend UA
я не в курсе про ts, но если взять ванильные https://eslint.org/docs/rules/, какие именно правила там помогают?

большинство из них вроде no-eval, no-with etc просто нагревают атмосферу
источник

AS

Alexey Shvayka in Frontend UA
я не пробовал писать с eslint:all, пробовал только airbnb, и даже тот -- фестиваль вредных правил и постоянных оверрайдов в конфиге
источник

EO

Eugene Obrezkov in Frontend UA
Alexey Shvayka
я не в курсе про ts, но если взять ванильные https://eslint.org/docs/rules/, какие именно правила там помогают?

большинство из них вроде no-eval, no-with etc просто нагревают атмосферу
я не говорю только за eslint:all (ванильные правила, как ты говоришь), а за в целом правильно настроенный eslint с плагинами, посмотри мой конфиг выше
источник

EO

Eugene Obrezkov in Frontend UA
Alexey Shvayka
я не пробовал писать с eslint:all, пробовал только airbnb, и даже тот -- фестиваль вредных правил и постоянных оверрайдов в конфиге
airbnb плохой конфиг, юзаю standard
источник

EO

Eugene Obrezkov in Frontend UA
Eugene Obrezkov
я не говорю только за eslint:all (ванильные правила, как ты говоришь), а за в целом правильно настроенный eslint с плагинами, посмотри мой конфиг выше
те же plugin-promise помогают мне не «завтыкать» где-то какую-то асинхронщину
plugin-node помогает не допускать распространненые ошибки типа вызова sync api, чтобы луп не блокировать
typescript-plugin - я вообще беру весь тс собираю и скармливаю его этому плагину, получаю много полезного, благодаря тайп информации
источник

AL

Andrey Listochkin in Frontend UA
9668 problems (9668 errors, 0 warnings)
 7387 errors and 0 warnings potentially fixable with the --fix option.
источник

AL

Andrey Listochkin in Frontend UA
проекту 3 месяца
источник

AL

Andrey Listochkin in Frontend UA
очень много форматирования, по ходу eslint-ts и eslint-prettier не поделили поляну
источник

EO

Eugene Obrezkov in Frontend UA
Andrey Listochkin
9668 problems (9668 errors, 0 warnings)
 7387 errors and 0 warnings potentially fixable with the --fix option.
ну да, opinionated конфиг же
поэтому и говорю что настраивай под себя теперь то, на что ругается
источник

EO

Eugene Obrezkov in Frontend UA
Andrey Listochkin
очень много форматирования, по ходу eslint-ts и eslint-prettier не поделили поляну
за prettier ничего не подскажу, никогда не использовал
источник

AL

Andrey Listochkin in Frontend UA
он просто в коробке шел
источник

EO

Eugene Obrezkov in Frontend UA
ну и теперь берёшь правило, смотришь, ага, не нравится ему что точки с запятой нету, а я хочу чтобы она была -> пошел в конфиг явно указал это

взял другое правило, ага, не нравится что пробел между скобками -> пошел в конфиг явно указал это

и так далее
источник

EO

Eugene Obrezkov in Frontend UA
имхо, преимущество этого подхода в том, что

1) у тебя все твои хотелки задекларированы явно, команде проще понять откуда оно берётся
2) еслинт сейчас может не ругаться на что-то, потому что этой ошибки нету, но если допустить в будущем - у тебя ж правила все включены и она заругается. Тебе останется только принять решение что с этим делать - другими словами, тоже явное поведение
источник