Тёмный

Новый конфиг для Eslint 9 

Михаил Непомнящий
Подписаться 58 тыс.
Просмотров 7 тыс.
50% 1

Eslint поменял подход к созданию конфига и его особенностям его настройки. Разбираемся как перейти на новую мажорную версию для проектов на JavaScript и TypeScript.
Пример конфига для React+TypeScript приложения github.com/michey85/react-sta...
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Наука

Опубликовано:

 

13 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 49   
@sno-oze
@sno-oze 2 месяца назад
Интересно, чем же разработчики eslint'а руководствовались, когда выпускали мажорный релиз. По мне так, конфигурировать стало существенно сложнее. В любом случае, видео годное и нужное.
@outcast-cr5yy
@outcast-cr5yy 2 месяца назад
Михаил, ваш ютюб канал это настоящий помощник для молодых специалистов. Спасибо вам большое
@vladpyrkov4803
@vladpyrkov4803 2 месяца назад
Спасибо большое за видео! Сам недавно пробовал настраивать новый конфиг, но там сложно разобраться, пока остальные плагины не все поддержку завезли. В итоге оставил старый конфиг пока. Но теперь буду пробовать снова
@egoreast
@egoreast 2 месяца назад
Та же тема
@vasiliisisilii
@vasiliisisilii 2 месяца назад
Спасибо за полезное видео ❤
@user-qn5wq2ls2s
@user-qn5wq2ls2s Месяц назад
Определенно спасибо. Очень полезно.
@vladhonchenko2886
@vladhonchenko2886 2 месяца назад
Спасибо большое 🎉
@deemon63
@deemon63 2 месяца назад
Разработчики еслинт испытывают терпение js сообщества, может плохо для них закончиться
@williamthorn223
@williamthorn223 2 месяца назад
Еще biomejs появился, линтер с форматером под капотом, интересная штука. Пока выглядит как достойная альтернатива с меньшей вознёй с конфигами.
@mishanep
@mishanep 2 месяца назад
Да, видел. Выглядит интересно. Но потребуется время, прежде чем проекты мигрируют
@io0312
@io0312 Месяц назад
А можете подсказать, как использовать конфиги mjs и их синтаксис, а также как убрать ошибку от плагина vscode "eslint" ведь сам плагин поддерживает
@axel-sheen
@axel-sheen 2 месяца назад
Михаил, ты так и не сказал какие преимущества у этой версии (или я прослушал)! Ради чего все эти мучения с новым конфигом? Однако спасибо за видео, очень познавательно!
@user-os5jq3wm9w
@user-os5jq3wm9w 2 месяца назад
О, привет! Я тебя знаю :)
@pavelmelnik9952
@pavelmelnik9952 2 месяца назад
осталось мне не ясным: - есть у меня какой-то плагин, например eslint-plugin-import. делаю import pluginImport from "eslint-plugin-import/config/react.js"; но там в папке config, есть файлы react.js, recommended.js, typescript.js - какой брать? у меня реакт, тайпскрипт. у каждого плагина буквально разная структура папок в пакетах и разные названия файлов. не ясно что откуда тянуть, что бы всё потом работало так как и на 8мой версии? - pluginJs точно нужен при использовании ts? - какие пакеты точно можно удалить, и они были нужны в 8, но уже не используются в 9той - не ясно как теперь указывать import/resolver - не ясно зачем мы указав какой-то плагин в обьекте с плагинами, например plugins: { pluginPrettier }, потом ниже отдельным обьеком ставим его как pluginPrettier.configs.recommended update. отвечаю на свой первый вопрос - посмотрел в старый конфиг, все плагины были вида 'plugin:unicorn/recommended', с recommended в конце. можно не эксперементировать, и в новом так же повытаскивать везде рекомендеты теперь хочется флэт конфиг разбить на подфайлы с обьектами: файл с плагинами, файл с настройками, файл ещё с чем-то и т.д. и просто скинцть импортами в конфиге. он стал какой-то неказистый выходом для меня наверное будет не собирать флэт вот так, с нуля, а найти где-то уже собранный очень подробный конфиг, и от обратного, выкинуть из него лишнее.
@mashush9197
@mashush9197 2 месяца назад
тоже не особо понял зачем они это все это решили обновить, причем именно в таком виде. Если взять мой старый конфиг eslint, то там все понятно - четко описаны правила, плагины, расширения, что следует игнорировать. Захотел обновится до новой версии - посмотрел, подумал, мало что понял и забил)
@boyywnkobe
@boyywnkobe Месяц назад
what's the extension that shows the update package is available?
@mishanep
@mishanep Месяц назад
npm outdated
@boyywnkobe
@boyywnkobe Месяц назад
@@mishanep you have inline suggestion, it’s not a npm outdated command
@yanballas3055
@yanballas3055 2 месяца назад
спасибо Михаил, как раз на проект опять настраиваю сборку и не могу понять, почему старый конфиг не работает(
@boyywnkobe
@boyywnkobe Месяц назад
and what is the terminal shows suggestion ?
@mishanep
@mishanep Месяц назад
I use iTerm terminal with some plugins
@olgamatosova158
@olgamatosova158 Месяц назад
настраиваю линт к реакту на typescript, не могу убрать (задизейблить) ошибку 'React' must be in scope when using JSX react/react-in-jsx-scope, как в новом линте ее можно победить?
@mishanep
@mishanep Месяц назад
Если вам надо переопределить поведение какого-то правила, то делается также как и раньше. Разница может быть в названии скоупа, если в плагинах вы задали своё имя.
@jewkuza
@jewkuza Месяц назад
нужны ли какие то апдейты в вебпак конфиге при использовании новой версии eslint'a?
@mishanep
@mishanep Месяц назад
По логике линтер не связан со сборкой, поэтому вебпак настраивать не требуется. Но в зависимости от проекта всякие фокусы возможны :)
@jewkuza
@jewkuza Месяц назад
@@mishanep немного неправильно сформулировал вопрос - конкретно :нужно ли добавлять какие то дополнительные конфигурации/ возможно изменился синтаксис при использовании eslint webpack плагина в рамках вебпак конфига? Я пытаюсь связать свою проблему с потенциально возможным источником 😀 Конечно я проверял доку плагина - как будто никаких изменений . Но возможно нужен какой то костыль чтобы завести это всё дело 😀
@shakapaker
@shakapaker 18 дней назад
Я вот думаю может вместо этой возни лучше перейти на oxc или biome
@user-je8vr1rz9s
@user-je8vr1rz9s Месяц назад
When searching for both Prettier and your linter on the Internet you’ll probably find more related projects. These are generally not recommended, but can be useful in certain circumstances. First, we have plugins that let you run Prettier as if it was a linter rule: eslint-plugin-prettier stylelint-prettier These plugins were especially useful when Prettier was new. By running Prettier inside your linters, you didn’t have to set up any new infrastructure and you could re-use your editor integrations for the linters. But these days you can run prettier --check . and most editors have Prettier support.
@mishanep
@mishanep Месяц назад
Hi. Do you mean we don't need to use any eslint plugins for Prettier?
@user-je8vr1rz9s
@user-je8vr1rz9s Месяц назад
The official prettier documentation says that it is recommended to use only eslint-config-prettier. You can read more details in the section Integrating with Linters
@maxfray7711
@maxfray7711 2 месяца назад
Классные руки у вебки))) 4:51
@NurlanBaitassov
@NurlanBaitassov 5 дней назад
Ребзя кто понял как использовать уже созданные правила? как раньше extend AirBnb и тд ?
@maksimgrinko9264
@maksimgrinko9264 10 дней назад
делал как в видосе, после запуска ловлю ошибку [eslint] Invalid Options: - Unknown options: extensions, resolvePluginsRelativeTo - 'extensions' has been removed. - 'resolvePluginsRelativeTo' has been removed. пропадает только после того как зависимости деинсталлирую. Ооооочень надеюсь на ответ :)
@maximchukichev6411
@maximchukichev6411 3 дня назад
Решил?
@maksimgrinko9264
@maksimgrinko9264 4 часа назад
@@maximchukichev6411 частично, через npx eslint --init создал файл конфига и там написал правила. Конфиг из видоса не хочет работать
@DmitriyDev
@DmitriyDev 2 месяца назад
Вы купили мак?
@mishanep
@mishanep 2 месяца назад
Давненько
@pavelmelnik9952
@pavelmelnik9952 2 месяца назад
@@mishanep решили бы вы сейчас брать мак, на момент мая 24 года. какой бы брали? вижу что люди до сих пор активно покупают м1 про. что на счет м3 про?
@MrLuckfinder
@MrLuckfinder 2 месяца назад
Может я путаю, тогда поправьте меня. Globals можно было не удалять, а руками перенести в devdependencies, либо просто запустить npm I -D и он сам это сделает
@BOCbMOU
@BOCbMOU 2 месяца назад
Как по мне, странное обновление. Не вижу никаких реальных плюсов от нового конфига. Улучшили читабельность? Сомнительно. Где-то она стала лучше, да, но где-то наоборот. Печально, в общем. Дополнительный гемор в миграции без плюсов.
@yuriykurenkov5125
@yuriykurenkov5125 2 месяца назад
Спасибо за обзор. Отличные изменения IMHO
@axel-sheen
@axel-sheen 2 месяца назад
а что в них отличного? я не заметил ни одного преимущества, судя по видео
@whi5k3y22
@whi5k3y22 5 дней назад
Честно, я забыл про обновления eslint, мучатся чтобы переехать и ради чего. Легче просто забыть и взять 8.57 и не делать себе мозг.
@konstantinchuykov
@konstantinchuykov 14 часов назад
Наверно еще рано мигрировать, новый конфиг не стал понятнее)
@jewkuza
@jewkuza Месяц назад
Ребята, никто не сталкивался с такой шляпой на этапе билда апликухи? Error: end of the stream or a document separator is expected 18 | ... ToPath(import.meta.url); 19 | ... name(__filename); 20 | ... 21 | ... pat({ resolvePluginsRelativeTo: __dirname }); -----------------------------------------^ 22 | ... 23 | ... ERROR in [eslint] Cannot read config file: eslint.config.mjs Error: end of the stream or a document separator is expected
@mishanep
@mishanep Месяц назад
В mjs файлах по идее недоступен синтаксис __filename, __dirname. Там надо другой подход сказать, тот же import.meta.url в помощь.
@jewkuza
@jewkuza Месяц назад
@@mishanep это переменные, я их сетал вручную, с ними в порядке кстати) да и если вызывать eslint по конкретному файлу, никаких проблем нет - у меня основная проблема при билде. Я так понимаю какая то проблема с eslint вебпак плагином
Далее
This or That 🛍️
00:52
Просмотров 9 млн
Чего ожидать от HTTP/3 + Go
51:07
Просмотров 3,6 тыс.
Что не так с камерой 200мп?
0:56
Просмотров 99 тыс.
Choose a phone for your mom
0:20
Просмотров 7 млн
iPhone 16 - НЕ СТОИТ ПРОПУСКАТЬ
4:50