
Всем привет! Меня зовут Алексей Золотых, я тимлид команды веб-редакторов в МойОфис. Недавно мы запустили новое шоу АйТир Лист. В каждом выпуске мы берём одну тему из мира разработки и раскладываем всё по тир-листу: от FAIL до GOD.
В пилотном выпуске мы с коллегой — Александром Коротаевым, фронтенд-гуру и энтузиастом креативного кодинга, прошлись по популярным опенсорс-инструментам для фронтенда: от тех, которые пора отпускать, до тех, что стали эталоном. Эта статья — расширенная версия выпуска. Под катом рассказываем, что у нас попало в FAIL, кто выжил на уровне MVP, кого мы поставили в SENIOR и кто, по нашему мнению, заслужил звание GOD.
Дисклеймер: мы с большим уважением относимся ко всем упомянутым проектам. Многие из них помогли индустрии вырасти. Но сегодня мы смотрим на них через призму вопроса: что бы мы посоветовали новичку или команде в 2025 году.
Как работает наш тир-лист
В шоу мы берём определённую область в разработке, затем выбираем самые известные инструменты, практики, фреймворки и раскладываем всё по полочкам: от откровенных фейлов до бог-уровня.
Зачем так делать?
Потому что в индустрии слишком много инструментов, а времени разбираться в каждом — мало. У каждого разработчика есть сформированные вкусы и набор библиотек, которые он будет защищать до последнего коммита. Но когда садишься разбирать всё по тир-листу, внезапно оказывается, что некоторые легенды не пережили проверку временем, а молодые проекты уже претендуют на статус стандарта.
Мы условно разделили инструменты на четыре категории:
FAIL
Решения, которые были полезны «когда ничего лучше не было», но в 2025 году применять их в боевых проектах — такое себе удовольствие. Часто они прожили достойную жизнь, но сейчас честнее сказать им спасибо и отпустить.
MVP
Инструменты, которые работают, иногда даже хорошо, но использовать их стоит с пониманием ограничений. Они не плохие, просто… не идеальные. Порой это переходные технологии или вещи, которые исторически прижились, но уже давно требуют переоценки.
SENIOR
Мощные, зрелые инструменты, которые стали важной частью индустрии. У них есть недостатки, шероховатости, спорные решения, но без них невозможно представить современные фронтенд-проекты. Это такой надёжный инструмент, который всегда под рукой.
GOD
Инструменты, которые делают своё дело. Минимум настроек, максимум пользы, точность, предсказуемость, элегантность. Они не пытаются быть всем и сразу, но внутри своей ниши это эталоны.
Ещё раз отметим, что тир-лист — не абсолютная истина, а возможность взглянуть на знакомые вещи под новым углом и понять, что из инструментов тащит индустрию вперёд, а что продолжает жить лишь по инерции.
Поехали по уровням!
FAIL: инструменты, с которыми пора попрощаться
Дети, запомните: если дядя из туториала предлагает вам начать проект на Express.js, лучше вежливо кивните и тихо отойдите. Раньше, когда выбор был не такой широкий, Express и правда помогал быстро создать прототип. Но в 2025 году начинать на нём новый проект — всё равно что запускать стартап на jQuery: технически возможно, но это создаст лишние проблемы.
Express по-прежнему широко используется в уже существующих проектах, и это нормально — наследие остаётся с нами. Но для новых задач лучше сразу смотреть в сторону современных фреймворков. Для простых приложений отлично подойдёт Next.js, а для более серьёзных бэкендов — Fastify, Nest.js или любой другой инструмент, который развивается и не застрял в прошлом.
Использовать Create React App в 2025 году всё равно что отправлять SMS. Раньше все так делали, но сейчас отправителями остались в основном операторы связи и МЧС.
CRA был отличным решением для своего времени, но это время прошло.
В ИТ-проектах есть два пути:
первый — давать больше и больше настроек, чтобы можно было «подогнать всё под себя»;
второй — убирать настройки, чтобы разработчику не приходилось тонуть в конфигурации.
CRA пошёл по второму пути в максимально радикальном виде. Идея была простая: запускаем React одной командой без единого лишнего параметра. Минимум настроек, минимум гибкости, всё строго по учебнику.
На практике это превратилось в жёстко закрытую коробку. Как только требовалось сделать что-то нетривиальное, начинались пляски с переопределением webpack-конфига через дополнительные тулзы. С учётом того, что команда React давно перешла к другим подходам, можно честно сказать: CRA свою миссию выполнил, но эпоха закончилась.
«Остановись, мгновение, ты прекрасно!» — примерно так я отреагировал, когда впервые увидел Moment.js после мучений с new Date() и ручного прибавления минут. Красиво, удобно, читаемо — мечта.
Но эйфория длилась ровно до релиза. В бою Moment.js показывал свою тёмную сторону: значения дат мутировали, «два часа назад» внезапно превращались в «полтора», баги расползались по всей кодовой базе.
Проблемы росли быстрее, чем их могли чинить. Это и огромный размер библиотеки, и отсутствие нормального tree shaking, и необходимость вручную игнорировать пакеты локалей в сборке, и сложность контроля мутабельности.
В итоге Moment.js стал жертвой собственной популярности. Он перерос сам себя и превратился из удобного инструмента в источник постоянных сюрпризов. Сейчас есть лёгкие и предсказуемые альтернативы, которые закрывают те же задачи без боли. Поэтому да, это честный FAIL.
Когда webpack только появился, он казался шагом в будущее: «Давайте пересоберём всё иначе и дадим фронтенду взрослый бандлер, пайплайны, транспиляцию, лоадеры, middleware!» И первые версии действительно стали большим прорывом.
Но затем началось... Плагинов стало слишком много, конфигурации разрастались до размеров эпоса, инструмент стал гибким до степени «сломай себе всё, если ошибёшься в одной строчке». Экосистема стала тяжёлой и непредсказуемой, а корпоративные хотелки встраивались внутрь, утяжеляя проект.
Финальным аккордом стал модуль federation: в теории это была интересная идея для микрофронтендов, на практике — ещё один слой сложности, который часто делает систему менее управляемой.
Webpack по-прежнему используется и будет использоваться ещё долго. Но в качестве инструмента для новых проектов он уже проигрывает современным решениям: Vite, esbuild, rspack и другим быстрым минималистичным сборщикам.
Поэтому в нашем тир-листе webpack — это FAIL не как «плохой проект», а как «заслуженный ветеран, который давно перетрудился».
MVP: живём, но с оговорками
Казалось бы, что ещё можно придумать в мире React, чтобы перевернуть рынок? Но Next.js сумел: вырос от «ещё одного фреймворка» до полноценной экосистемы с огромным комьюнити. Сейчас Next.js — это почти WordPress для React, только куда более пригодный для серьёзной разработки.
Лично мне Next.js не слишком близок. Порой кажется, что его используют, когда хотят через силу заставить фронтендеров писать бэкенд, в который они идти не планировали, да и не всегда умеют. Сервер-компоненты, собственный рантайм, сложное окружение — всё это превращает Next в инструмент, который требует отдельной экспертизы.
Раньше у Next были проблемы с производительностью: из-за особенностей рантайма задержки примерно в 200 мс на ответ в проде считались нормой. Но Александр Коротаев убедил меня, что большинство этих болей уже исправили, и даже показал кейс, где Next.js действительно раскрывается. Речь про Static Site Generation, который позволяет выкладывать проекты прямо на GitHub Pages или другие хостинги без серверов. Генератор сам собирает страницы на основе данных. Для документации, блогов и многих pet-проектов это идеальный вариант.
В итоге Next.js — рабочий, зрелый и популярный инструмент, который сообщество на самом деле любит. Но лично я не стал бы ставить его выше TypeScript, поскольку охват и влияние у TS куда шире, а дальнейшая судьба Next.js остаётся открытой. Фреймворк всё активнее превращается в экосистему, а это чревато сценарием, где проект начинает прогибаться под корпоративные запросы и постепенно обрастает тем, что ему изначально не было нужно.
Create React App откровенный FAIL, а вот Craco много лет был способом сделать жизнь с CRA чуть легче. Фактически Craco — это инструмент, который позволяет переопределять webpack-конфиг, скрытый внутри CRA. В своё время он был очень удобным: гибким, понятным и с большим набором возможностей. Но сама идея подобных прослоек показывает, что базовая архитектура CRA была слишком жёсткой.
Когда CRA обновлялся, Craco обычно ломался. Его конфигурации со временем разрастались и становились больше оригинального webpack.config. Получался бесконечный цикл: CRA -> прослойка -> костыль для прослойки -> ещё один костыль. Жить можно, но долго так существовать было невозможно.
Сегодня Craco уже не нужен, так как экосистема React ушла далеко вперёд. Но как важный артефакт эпохи CRA, он заслуживает честное место в MVP: рабочий инструмент, который выполнял свою задачу, но появился лишь потому, что основная система не справлялась.
От Lodash хотелось отказаться ещё лет десять назад, но он по-прежнему используется. Не потому, что он незаменим, а потому что его лень выпиливать, а старые код-стайлы не дают вмешиваться в привычную структуру проекта.
Когда-то Lodash был настоящим спасением. Он дал удобные, понятные методы для работы с коллекциями, упростил жизнь разработчикам и стал «общим языком» внутри команд. Потом появились нативные методы, но Lodash жил по инерции, а теперь живёт как часть инфраструктуры, которую «опасно трогать».
Тем не менее Lodash до сих пор приносит пользу. Понятные и узнаваемые названия методов делают код более предсказуемым и помогают командам легко договариваться. И важно помнить: сам Lodash вырос из underscore, той самой библиотеки с нижним подчёркиванием, которая плохо сжималась, и поэтому её фактически переписали. Сегодня Lodash скорее привычка, чем необходимость. Он не мешает, но и не является обязательным инструментом для современного фронтенда.
tsnative — это наш новый опенсорс-проект, компилятор TypeScript native. Обычно TypeScript-код исполняется в браузере через JavaScript-рантайм, а tsnative позволяет собрать из него нативный бинарник, что даёт возможность применять TS в новых сценариях и расширять его область применения.
Важно уточнить, что сейчас tsnative не готовый к выпуску продукт, а скорее исследовательский прототип, выпущенный в августе 2025 года. Он помогает решать задачи там, где важна скорость запуска, и позволяет писать на TypeScript за пределами браузера. Когда проект дозреет, он вполне может оказаться на верхних строчках тир-листа. Но пока это честное MVP: интересная и нужная технология, которой нужно время, чтобы доказать свою зрелость.
SENIOR: отличные, но не идеальные решения
Полезное зло нашего мира. Когда-то мы писали на JavaScript и всё было хорошо (или казалось, что хорошо), пока в индустрию не пришёл TS и не объяснил, что «строки это не числа» и что вообще-то типы полезны. Сегодня TypeScript — базовый инструмент: как хороший тяжёлый молоток, которым можно и гвозди забивать, и по пальцам себе заехать.
Но у него есть своя тёмная сторона. TS подталкивает разработчиков к созданию монструозных конструкций: дженерики, вложенные в дженерики, вложенные в дженерики… В какой-то момент код начинает напоминать бесконечный лабиринт типовых фанфиков. Спецификация местами плавает, типы иногда «протекают», а сложные узлы приходится распутывать вручную.
Тем не менее, жить без него уже сложно. Это как поход в МФЦ: идти не хочется, но приходишь, и внезапно всё работает чётко и быстро. Точно так же с TypeScript: иногда раздражает, но в итоге делает кодовую базу крепче и команду спокойнее.
Любовь с первого взгляда. Когда-то был Selenium, который работал, ломался, снова работал и снова ломался. Цикл страданий длился годами. И вдруг на наших глазах появился Playwright — стабильный, удобный, быстрый и, что немаловажно, предсказуемый. Инструмент моментально стал новым стандартом автоматизации браузера.
Но и у Playwright есть ограничения. Среда браузера нестабильна по своей природе: API постоянно меняются, поведение может отличаться от версии к версии. В таких условиях невозможно создать идеальный фреймворк для автотестирования. Но Playwright — это максимально близкое к идеалу решение.
Хороший фреймворк (говорю это, пригибаясь от виртуальных гнилых помидоров, которые уже начали бросать фанаты Vue и Svelte). Он занял большое место в индустрии и, нравится нам это или нет, с нами ещё надолго. Пока частичная реактивность наконец не победит или пока ИИ не решит, что фронтенд можно писать без людей.
У React есть свои проблемы. Он немного устал: на него постоянно навешивают новые концепции вроде React Server Components, и порой кажется, что хочется просто «заморозить» его в стабильном состоянии. Однако факт остаётся фактом: React стал инфраструктурой, как TypeScript или Next.js. Его не обязательно любить, но игнорировать уже невозможно.
Делать React стандартной библиотекой браузера я бы уже не стал: порог сложности слишком высок. Но в мире фронтенда React остаётся уверенным, опытным SENIOR, который прошёл всё и пережил всех.
Это библиотека, которую по-настоящему любят. Она до сих пор популярна, до сих пор живая и по-прежнему предлагает гибкую экосистему плагинов. Да, современный фронтенд давно ушёл вперёд, но jQuery не испортился. Он просто не стал частью «новой школы».
Я сам использовал его очень давно и всё ещё вспоминаю с теплом. Несмотря на возраст, у jQuery продолжают выходить новые версии: аккуратные, точечные, с небольшими улучшениями. Но рекомендовать его для современных приложений с активным DOM-манипулированием я бы уже не стал. Это инструмент эпохи, которую мы прошли, но которая оставила после себя много хорошего.
GOD: решения, которые можно считать эталонными
Редкий случай, когда инструмент делает единственную вещь и делает её идеально, не пытаясь выполнять больше, чем должен. Это приятный форматтер с минимальным количеством настроек, буквально несколькими флагами, которые сложно даже назвать «конфигурацией».
На вопрос «А можно подстроить Prettier под наш код-стайл?» всегда есть только один ответ: «Нет». Есть ровно один стиль, и именно в этом его сила. В экосистеме JavaScript давно не хватало такого жёсткого и предсказуемого подхода, как в Go или в Python с PEP 8. Когда нет настроек и бесконечных споров: «а давайте поменяем отступы?», «а может, двойные кавычки?», «а давайте добавим 14-й форматтер?» — работать становится проще.
Парадоксально, что Create React App, тоже минималистичный инструмент без настроек, у нас попал в FAIL, а Prettier с таким же отсутствием гибкости оказался в GOD-tier. Но разница в масштабе задач: CRA хотел быть «всё-в-одном», а Prettier хочет быть просто… Prettier. Маленький, компактный, надёжный и невероятно полезный. Он тихо удерживает опенсорс в едином стиле не хуже линтеров и код-ревью.
Идея Testing Library проста и прекрасна: тестировать интерфейс так, как с ним взаимодействует реальный пользователь, а не искать элементы по внутренним классам, которые меняются каждую неделю.
Testing Library заставляет смотреть на accessibility: использовать роли, aria-атрибуты, реальные элементы интерфейса. В итоге UI становится лучше не только для автоматизации тестов, но и для людей, особенно для тех, кто использует скринридеры.
Это семейство библиотек давно стало де-факто стандартом. Оно есть для всех популярных фронтенд-фреймворков: React, Vue, Angular, Svelte, Solid. И подходит не только для тестов — это инструмент, который дисциплинирует и заставляет писать интерфейсы осмысленно.
Отдельный забавный факт: автор Testing Library монетизирует проект через образовательные курсы и учитывает региональные коэффициенты и для разработчиков из России его курсы стоят заметно дешевле.
Testing Library по-настоящему меняет культуру разработки интерфейсов. И за это место в GOD-tier он получает абсолютно заслуженно.
Финал
Вот такой получился наш тир-лист опенсорсных фронтенд-инструментов: от легендарных ветеранов, которые пора отпускать, до эталонных решений, которые тихо держат индустрию на своих плечах. Делитесь в комментариях своими вариантами: что вы бы отправили в FAIL, что подняли бы в GOD и какие темы хотите разобрать в следующих выпусках.
В шоу мы обсуждаем всё ещё подробнее, спорим, шутим и приводим реальные кейсы. Видео выпуска можно посмотреть здесь:
Комментарии (31)

venanen
12.12.2025 11:40Сильная статья. jQuery - это у нас, оказывается Senior, а не антипаттерн (он вообще перестал быть нужен после querySelector), а express.js, который до сих пор самый easy-to-start web-сервер на ноде - это fail. А Next.js - это оказывается MVP, хотя это отраслевой стандарт. Про CRA я вообще не понял сути претензии - какая коробка, это буквально скриптец, который создает папочки и пишит начальных конфиг в файл Webpack - делай с ним что хочешь после. Typescript - тоже какие-то дженерики в дженериках, хотя это тоже отраслевой стандарт.
А самое главное, когда контекст подразумевает слова "это плохо, не используйте это", ожидается продолжение в виде "а используйте лучше вот это", а этого здесь нет. Вместо Next.js что использовать? А что лучше подойдет заместо TypeScript?
P.S. Архитекторы, выбирающие технологии, по моем субъективным ощущениям, как-будто не в себе частенько. Я буквально пару раз видел нормальные решения, а остальное - это когда хочется сделать не как обычно, яжархитектор. То JSON в SQL формируют, то REST на Erlange, то вон какое-то странное ранжирование технологий.
zolotyh Автор
12.12.2025 11:40Давайте соберемся и сделаем свой тирлист!
Вы сами себе противоречите. Допустим, если что-то является стандартом, то оно должно высоко быть в тирлисте (NextJS). Если посмотреть на использование jQuery, то оно должно быть в самом верху (до сих пор самая популярная библиотека). Но вам jQuery не нравится. Противоречие решается просто: весь тирлист это просто способ хорошо провести время и синхронизироваться по ценностям. Не стоит воспринимать серьезно. Чистая субъективщина.
Архитекторы разные. И решения тоже разные. Скажу лишь одно: решения бывают подходящие и неподходящие. Хороших, плохих, странных, тупых решений нет. Вернее есть только отношение к решениям, которые характеризуются словами. А сами решения либо подходят или не подходят.
venanen
12.12.2025 11:40Вы сами себе противоречите. Допустим, если что-то является стандартом, то оно должно высоко быть в тирлисте (NextJS). Если посмотреть на использование jQuery, то оно должно быть в самом верху (до сих пор самая популярная библиотека). Но вам jQuery не нравится.
А вы понятия не подменяйте, и будет логично. jQuery используется много где, это legacy, поэтому в тирлисте для нового проекта ее не будет в принципе. А Next.JS - будет высоко, потому что это известная современная технология и стандарт. Cobol еще много где финансы гоняет, но в тирлисте нового сервиса для финансов его не будет, потому что он устарел. А уж время я предпочту хорошо проводить с семьей и друзьями :)
Архитекторы разные. И решения тоже разные. Скажу лишь одно: решения бывают подходящие и неподходящие. Хороших, плохих, странных, тупых решений нет. Вернее есть только отношение к решениям, которые характеризуются словами. А сами решения либо подходят или не подходят.
Это самая архитекторская вещь, которую я слышал. Очень художественно. Решения есть объективно хорошие, а есть объективно плохие. Есть те, которые объективно какие непонятно, и их надо изучать. Питаться через клизму - вполне подходящее решение, как и новый проект на jQuery начинать, только это объективно плохие решения.

SHAD0W137
12.12.2025 11:40"Арзитекторы разные. И решения тоже разные"
Толерантность - это, конечно, прогрессивно. Но нелогично. Если "архитектор" объективно месит говно, то и его проект будет говном. Можно сколько угодно оптимизировать движок рендера и внедрять крутые алгоритмы, но он всё равно обречен быть говном, если написан на python.
Для всего есть тонны технологий. Среди них есть объективно устаревшие. Среди них есть объективно плохие. То же самое касается архитектур. "Я художник, я так вижу" в проектировании систем неприменимо

Xtray
12.12.2025 11:40У меня всегда пригорало от того, что ESLint и Prettier годами конфликтовали "из коробки". Неужели годами не могли договориться, блин.
Не знаю, поменялось что-то в этом плане сейчас, так как пару лет назад я выпилил Prettier из всех своих проектов и всем советую это с тех пор.
valsaven
12.12.2025 11:40Раньше можно было настроить автоформатирование в ESLint и забыть про Prettier. Но то ли в 8 то ли в 9 версии Закас выпилил эту штуку для упрощения поддержки, в итоге если нужно форматировать код, то Prettier в проекте теперь обязательный по-сути. Но в целом много новых интересных инструментов уже развиваются - те же oxlint и oxfmt, поэтому тут уже скорее сам ESLint медленно переходит в разряд устаревающих библиотек.

schmoopie
12.12.2025 11:40Так что использовать то вместо TS посоветуете?

zolotyh Автор
12.12.2025 11:40Да нет советов. Typescript победил. Раньше был Flow, Dart. Сейчас остался только Typescript.
Если проект маленький, то можно писать на javascript и прикладывать файлы типизации. Но это на любителя конечно.

nin-jin
12.12.2025 11:40Если дядя предлагает вам свой тир лист, значит он хочет вас ментально изнасиловать.

DmitryOlkhovoi
12.12.2025 11:40Слишком жирные набросы, какие-то непонятные и субъективные взгляды на технологии и фреймворки. То ли от неопытности, то ли просто пост ради поста написанный ИИ.
express это база для многих бекенд фреймворков. Но и для реста, он так же дает некую абстракцию от чистой ноды.Реакт по сути своей мертв года с 2018, и поверх него другой кусок говна в виде next.js. Который, по сути стал имплементатором фичей реакта. С его вечными косяками, а на прошлой неделе с критом и выполнением стороннего кода на сервере.

cokrychitel
12.12.2025 11:40Дяденька, вы застряли где-то в прошлом десятилетии. Есть bun + Elysia, есть srvx.
А для Next'а уже появился конкурент - TanStack Start. Сидеть сложа руки команда Next'а теперь точно не будет.
DmitryOlkhovoi
12.12.2025 11:40Я был на конференции где Райн (автор ноды), показывал нам новый прорывной райнтайм - Deno. Где он?)) Там же где и Bun)) Но конечно вопрос - причем тут Next.js, это разные вещи, молодой человек.

ikratkiy
12.12.2025 11:40У Bun поддержка и распространение растёт стремительными темперами. Вот их на днях даже Anthropic купили. Вполне можно ожидать рост использования Bun среди пользователей Claude

Dren0r
12.12.2025 11:40Интересно, как автор предлагает заменить express на чисто реактовский фреймворк. Или по вашему мнению, весь мир только на реакте сидит?
Какие еще будут доводы, кроме того, что он "устарел"?
Зато Jquery, который до сих пор используют только на легаси 20 летней давности или динозавры, кому завтра на пенсию, в топе советов. Большего бреда давно не читал
уже давно есть Apline Js как минимум
и это не считая того, что в целом 99% современных проектов держатся на ангулар/реакт/вью/свелте, и где там использовать джквери, не понятно, когда сами фреймворки покрывают весь его функционал

gun_dose
12.12.2025 11:40Советовать next вместо express, это ж сколько ума надо? А если не нужен рендеринг? Более того, весь некст работает поверх экспресса.

artptr86
12.12.2025 11:40Это приятный форматтер с минимальным количеством настроек, буквально несколькими флагами, которые сложно даже назвать «конфигурацией».
Список опций так-то уже внушительный. Я насчитал 27, из которых 2 экспериментальных и 1 объявлена устаревшей.
Когда нет настроек и бесконечных споров:
«а давайте поменяем отступы?»
tabWidthиuseTabs, кажется, были почти с самого начала.«а может, двойные кавычки?»
Так-то двойные кавычки и так установлены по умолчанию, но есть
singleQuoteиjsxSingleQuote.А помимо этого можно поспорить о точке с запятой в конце строки, запятых в конце списков, скобках вокруг анонимных функций и т.д. и т.п.

devoln
12.12.2025 11:40У меня немало проектов с фронтендом, но из всего перечисленного в статье использую только TypeScript. И не понимаю, что у вас там за дженерики на дженериках и зачем они?
Другое дело C++, там можно нагородить многоэтажных и сложных шаблонов ради того, чтобы потом всё заинлайнилось и оптимизировалось компилятором, сгенерировав наиболее оптимальный код алгоритма или структуры данных для каждого типа.
Но в экосистеме JS типы TS - просто ограничения, проверки и подсказки, не влияющие на производительность. Не вижу смысла усложнять.
romant094
Я бы еще Biome добавил в раздел Senior. Однажды попробовав его, я навсегда отказался от eslint и prettier. Работает в разы быстрее чем ранее упомянутая пара и активно развивается.
zolotyh Автор
Мне тоже сама идея кажется очень перспективной! Единственное, он пока не так широко используется.
zolotyh Автор
Еще конечно пугает то, что он написан не на JS/TS (Rust). С одной стороны, именно это дает скорость, с другой стороны я уже не могу отлаживать код, если что-то идет не так
romant094
Как раз таки если все работает идеально, дебажить ничего не требуется. Вы пишете именно об этом про prettier.
Я уже год использую Biome и вижу, как он активно развивается, там появилось очень много недостающих фичей, в том числе и сортировка импортов. Круто, что все это из коробки идет, никаких кастомных плагинов.
xsepsisx
Автор выше прав, способность к отладке, в данном случае, пала жертвой трейдоффа. Тот факт, что инструмент "просто работает" не означает, что не возникнет ситуации, когда на месте нужно будет разобраться, почему он работает не совсем так, как ожидается. В случае с да, можно легко поставить бряку в произвольном месте и начать дебаг даже минифицированного кода без особых проблем, а в случае с бинарями придется обмазываться ИДОй (или что там нынче в почёте у реверс инженеров), постоянно оглядываясь на сорцы (если они публичные) конкретной версии, да ещё сверху накатив тулчейн для компоновки этого бинаря.
Не поймите меня неправильно, я за всё хорошее против всего плохого, и блейзинг фаст (тм) перформанс меня тоже радует, но весь этот движ с внесением в жсную экосистему бинарных зависимостей вызывает лёгкий скепсис.
smirnfil
От инструмента сильно зависит. Я не очень представляю ситуацию когда возможность отладки кода линтера оказывается критически важной для проекта.
xsepsisx
Согласен. Но сейчас грядет большое нововведение - крупный, по меркам экосистемы, проект - Тайпскрипт, переходит на Го, и будет интересно понаблюдать, насколько удобной окажется работа с ним не только в качестве потребителя (CLI, публичное API), но и в качестве исследователя.
cokrychitel
У Biome отличное коммьюнити в забаненном Discord. Если туда добраться, можно оперативно зарепортить багу. К тому же есть ру-коммьюнити.
Но самое худшее (на текущий момент) решение - это плагины. Это просто какой-то сабсет из разных языков. Неудачная попытка.