Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.6K subscribers
2.95K photos
213 videos
49 files
5.22K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
📌 npm explain — кто притащил эту зависимость

Команда (алиас npm why с npm 7+) показывает полную цепочку зависимостей — кто, через что и зачем тянет пакет.

🔢 Раздутый бандл

Нужно узнать, откуда lodash в зависимостях:


npm explain lodash


Получаете цепочку: проект → axios → follow-redirects → lodash.
Сразу видно, что обновлять или менять.

🔢 Конфликт версий

Подозрение на несколько React одновременно:


npm ls react


Команда покажет каждую версию и её источник.

🔢 Security audit

Нашлась уязвимая транзитивная зависимость:


npm explain vulnerable-package


Понимаете, через какой пакет она попала — обновляете или заменяете.

🔢 Чистка проекта перед продом

Проверить только прямые зависимости:


npm ls --depth=0


Быстро находит забытый мусор в package.json.

🧶 Yarn альтернатива


yarn why package-name


Работает так же, с более подробным выводом.

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека фронтендера

#readme #npm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰4🔥3
React_собес_30_вопросов_с_развёрнутыми_ответами.pdf
58.5 KB
📎 Шпаргалка для подготовки к React-собеседованию

🔵 30 самых популярных вопросов
🔵 Развёрнутые ответы с примерами кода
🔵 JavaScript, React, Redux, веб-технологии
🔵 Источники и ссылки на документацию

Скачай, изучи, получи оффер 👨‍💻

🔗 Источник

🐸 Библиотека фронтендера

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
8🥱3👍1
🐧 Тёмная тема в React: простой хук или архитектура

Каждый проект проходит один и тот же путь. Сначала — кнопка переключения темы. Через месяц — система настроек.

Разница в том, что вы выбрали в первый день.

1️⃣ useLocalStorage

Состояние в браузере, API как у useState:


const [theme, setTheme] = useLocalStorage('theme', 'dark')


🔴 Когда подходит:
- Одна настройка
- Прототип или MVP
- Нет планов масштабирования

🔴 Что сломается позже:
- Ключи localStorage расползаются по компонентам
- Нет миграций при смене структуры
- Рассинхронизация состояния между вкладками

Это не баг. Это предел подхода.

2️⃣ zustand + persist

Когда добавляются язык, feature flags, пользовательские настройки — нужен единый стор:


const theme = useSettings(s => s.theme)
const setTheme = useSettings(s => s.setTheme)


🔴 Что получаете:
- Один источник правды
- Селекторы → меньше ререндеров
- Миграции версий состояния из коробки
- Синхронизация между вкладками

🔴 Цена входа:
- +1 зависимость
- 20-30 строк на стор вместо 3 на хук

🔴 Результат:
- Архитектура, которая не разваливается через полгода

Как выбрать:

- 1 настройка →
useLocalStorage

- 2-3 настройки → можно ещё потерпеть

- Система настроек → zustand сразу


localStorage — это инструмент.

zustand — это способ не переписывать проект через полгода.

🐸 Библиотека фронтендера

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43🥰2🤔1🥱1
🔥 Безопасный доступ без falsy-ловушек

В чём разница:

— || реагирует на ВСЕ falsy (0, '', false, null, undefined)
— ?? реагирует ТОЛЬКО на null и undefined
— ?. безопасно идёт по цепочке, не бросая ошибок

💡 Реальный пример:

API вернул { price: 0, inStock: false }


const price = product?.price ?? 99; // 0
const inStock = product?.inStock ?? true; // false
const name = product?.name ?? 'Unknown'; // undefined → 'Unknown’


⚡️ Поддержка: ES2020+ (все современные браузеры)

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

🐸 Библиотека фронтендера

#readme #js
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🥰2🤔1
🎯 Устали от лишних зависимостей? Выбрасываем glob-all

Node.js 22.2+ уже давно умеет искать файлы по паттернам без внешних пакетов — через встроенный fs.promises.glob. Но многие до сих пор используют glob-all.

📌 Зачем переходить:

→ Минус одна зависимость
→ Быстрее установка и меньше бандл
→ Нативная производительность

Миграция простая, но есть нюансы с синтаксисом исключений. Свайпни карточки 📎 — там разбор с примерами кода и типичных ошибок.

📎 Полная инструкция с примерами

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

🐸 Библиотека тестировщика

#readme #nodejs
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🥰2
📌 npm outdated — контроль техдолга в зависимостях

В любом живом проекте зависимости устаревают быстрее, чем кажется.


npm outdated


Что показывает:


wanted — безопасное обновление по semver
latest — последняя доступная версия


Одним взглядом видно, где мелкие апдейты, а где назревает боль.

Зачем используют:

🔴 Контроль техдолга

Показывает пакеты, которые давно не трогали и которые со временем выстрелят багами.

🔴 Планирование апдейтов

Помогает отделить:
• patch / minor — обновить быстро
• major — вынести в отдельную задачу

🔴 Подготовка к крупным обновлениям

Перед апдейтом React / Next / Vue сразу видно, какие зависимости не готовы.

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

🐸 Библиотека фронтендера

#readme #npm
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰53