TGViewer
Merion Academy Merion Academy @it_knowledge_base · 9.01K subscribers
Post #1173 2.93K
Все знают про axios, lodash и dayjs. Они практически во всех проектах есть и ты их так или иначе видел.
А вот эти пять штук обычно проходят мимо, хотя могут пригодиться ❤️

1. ts-pattern / https://github.com/gvergnaud/ts-pattern

Вот представь, пишешь свитчи на кучу кейсов, через месяц добавляешь новый кейс, а где-то в другом файле про него забываешь. А потом баг ловят пользователи. Или не надо представлять и уже знакомо?

ts-pattern дает записать всю эту логику одним красивым выражением, а TypeScript сам напомнить про твою криворукость, если ты не обработал какой-то вариант. Особенно кайфово с дискриминированными юнионами по типу статусов заказа или типов событий.


2. defu / https://github.com/unjs/defu

Знаешь, как Object.assign и спред работают с вложенными объектами? Никак. Если у тебя есть { ui: { theme: 'dark', size: 14 } }, а кто-то из коллег накосячил и прилетает { ui: { theme: 'light' } }, то после слияния твой size просто испарится, потому что весь ui заменится целиком.

defu сливает рекурсивно по всем уровням, как ты бы и сам хотел. Незаменимая штука, если пишешь библиотеку, SDK или любой инструмент с настройками.


3. execa / https://github.com/sindresorhus/execa

Запускал с помощью ноды git, ffmpeg или любой shell-скрипт? Тогда знаешь, что нативный дочерний процесс – это боль, страдания и колбэки из 2010 года. execa оборачивает все в нормальный async/await, по-человечески ловит ошибки и даёт удобные пайпы между процессами.

Используется внутри кучи популярных CLI-тулзов. Следоватлельно, это говорит о многом.


4. type-fest / https://github.com/sindresorhus/type-fest

Готовая коллекция TypeScript-типов на любой случай жизни. Нужен Partial по всем вложенным уровням? Есть. Сделать массив непустым? Есть. Преобразовать snake_case в camelCase прямо на уровне типов? Тоже.

Короче, прежде чем в десятый раз писать свой DeepPartial, загляни сюда. Скорее всего его уже написал автор либы за тебя.


5. emittery / https://github.com/sindresorhus/emittery

Нужна шина событий внутри приложения, где один модуль кинул, другой подписался? Тащить ради этого Redux или нативный EventEmitter из ноды – это как везти хлеб на дачу грузовиком. emittery решает задачу с минимумом кода и при этом умеет полезные штуки.
Например, типизирует события через TypeScript и нормально работает с async-обработчиками, чего стандартный EventEmitter не умеет в принципе. От того же автора, что и type-fest, кстати.


Никита, кстати еще и сценарист наших роликов, которые вы так любите 🙈

#спросиуспикераMerion
  • 🔥 1
More from @it_knowledge_base
  1. Oct 12, 2026Разгадка: почему SQL-отчёт показал 4000 ₽ вместо 1000 ₽ Правильный ответ: 🔥 два JOIN созд…
  2. Oct 9, 2026Пятничная загадка: SQL-отчёт умножил выручку В таблице orders у заказа №42 сумма 1000 ₽. У…
  3. Oct 8, 2026photo post
  4. Oct 7, 2026Найти пользователей с шестью и более заказами — куда поставить условие? 🐸 SELECT user_id,…
  5. Oct 6, 2026Если запрос из Node.js зависает слишком долго, то ставим дедлайн Если проект использует вс…
  6. Oct 5, 2026Разгадка пятничного кейса 🐸 Одна из вероятных причин – в зависимости useEffect попал объе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →