Статьи
23 июля 2026 г.
Как отображать SHA и дату последнего git-коммита в Vite-приложении через import.meta.env?
07 апреля 2026 г.
Как избежать конфликтов localStorage, cookie и service worker между проектами — автоматическое назначение порта на основе package.json.
17 марта 2026 г.
Разбираем, когда использовать <style scoped> в Vue, а когда достаточно уникальных имён классов.
20 февраля 2026 г.
Как обрезать текст по центру с помощью Flexbox, text-overflow и ResizeObserver без зависимостей.
17 февраля 2026 г.
Шаблон репозитория для автоматизации публикации версий, генерации changelog и создания GitHub Releases с помощью GitHub Actions.
04 ноября 2025 г.
Когда проверка email через regex избыточна и как правильно убедиться, что введённый адрес верный.
14 октября 2025 г.
Краткое руководство по CSS-свойствам для переноса и обрезания текста: overflow-wrap, text-wrap, word-break, white-space и text-overflow.
25 сентября 2025 г.
Строгая типизация и неизменяемость объектов в TypeScript: как с помощью as const и satisfies проверять правильность полей и фиксировать значения литералов.
26 августа 2025 г.
Экспорты из модулей видны глобально, перегружают автодополнение в IDE и мешают инкапсуляции кода — разбор проблемы и возможные обходные пути.
21 августа 2025 г.
Как запускать TypeScript-файлы напрямую, без промежуточной транспиляции, используя современные версии Node.js.
19 августа 2025 г.
Как быстро создать Telegram Mini App — простая регистрация бота через BotFather и ссылка на ваш сайт.
05 августа 2025 г.
Веб-сервис для отслеживания метрик и зависимостей GitHub-репозиториев: звёзды, форки, issues, зависимости. Быстрая настройка, локальное хранение, никакого развёртывания — простой и наглядный дашборд для ваших пет-проектов.
31 июля 2025 г.
Плагин для ESLint, который помогает следить за стилем и архитектурой сторов Pinia. Поддерживает рекомендованные правила, проверку структуры и нейминг.
29 июля 2025 г.
Плагин для ESLint, который проверяет Markdown-файлы по правилам markdownlint. Удобен при работе с документацией, README и статьями. Поддерживает конфигурацию, свои правила и autofix.
24 июля 2025 г.
ESLint-плагин, который проверяет совместимость вашего кода с целевыми браузерами. Простое подключение, поддержка polyfill'ов, настройка через browserslist.
22 июля 2025 г.
Как автоматически выставлять метки size/M и size/XL в Merge Request в GitLab CI на основе количества изменений.
17 июля 2025 г.
Отказ от Prettier — почему популярный форматтер кода теряет актуальность и как ESLint стал удобной и гибкой альтернативой.
15 июля 2025 г.
Как создать собственный Stylelint-плагин: от базового API до поддержки autofix. Обрабатываем CSS-токены и избавляемся от ручной замены значений с помощью PostCSS.
10 июля 2025 г.
Почему Vue-компоненты в defineProps работают некорректно с импортированными типами? Как работает компиляция props, и почему помогает локальное объявление типов.
08 июля 2025 г.
Postman и Insomnia стали перегруженными и обросли платными функциями. Новая альтернатива — Yaak. Лёгкий REST-клиент с базовым набором функций.
03 июля 2025 г.
Скачать APK из RuStore без регистрации через официальный API: как получить информацию о приложении и скачать APK с RuStore.
01 июля 2025 г.
Как находить влитые git-ветки и проверять связанные задачи в трекере. Упрощает очистку репозитория после релизов и помогает не потерять важное.
27 июня 2025 г.
Как с помощью CSS автоматически добавлять иконки к ссылкам на внешние ресурсы — без JavaScript и с учётом безопасности.
25 июня 2025 г.
Как с помощью npkill находить и удалять папки node_modules одним нажатием — освобождая гигабайты дискового пространства за пару минут.
23 июня 2025 г.
Как реализовать типизированный CustomEvent-сервис на Vue с автодополнением, строгими типами и поддержкой useEventListener из VueUse.
20 июня 2025 г.
Как настроить проверку орфографии в коде с помощью cspell — поддержка русского и английского, словари, маски и интеграция в проект.
18 июня 2025 г.
Как найти и удалить устаревшие полифилы из node_modules с помощью nolyfill, чтобы ускорить установку, сборку и запуск JavaScript-проекта.
16 июня 2025 г.
Как запретить неявную мутацию состояния в Pinia с помощью TypeScript, чтобы изменения были явными и контролируемыми, улучшая стабильность приложения.
13 июня 2025 г.
Удобный агрегатор tld-list собирает цены, условия и возможности WHOIS privacy по доменным зонам, чтобы легко выбрать лучший регистратор и тариф.
11 июня 2025 г.
Разбираемся, стоит ли использовать setup store в Pinia: плюсы, ограничения и почему option store пока остаётся надёжным выбором для большинства проектов.
09 июня 2025 г.
Почему стоит перейти с CommonJS на ESM, какие преимущества даёт новый формат модулей и когда миграция может вызвать проблемы.
06 июня 2025 г.
Как добавить надстрочные пояснения к словам с помощью тега <ruby>. Применяется как для японского, китайского, так и любых других языков.
04 июня 2025 г.
Улучшенная типизация querySelector и querySelectorAll с typed-query-selector для точного вывода типов элементов на основе CSS-селекторов в TypeScript.
02 июня 2025 г.
Утилита ts-reset улучшает стандартную типизацию TypeScript, делая API строже и безопаснее без изменения существующего корректного кода.
28 мая 2025 г.
Удобный способ автоматического обновления npm-зависимостей с помощью npm-check-updates: больше контроля, фильтры и интерактивность для простого поддержания актуальности проекта.