Бэктест-игра «Обратная змейка» на чистом Canvas — Игрок управляет не змеёй, а яблоком — три типа врагов преследуют с разным поведением. Логика разбита на модули Snake / Renderer / Game, всё без фреймворков: коллизии, сетка, пиксельные спрайты через fillRect(). Полезно для изучения Canvas API.
Статьи, мнения, туториалы
JS/TS
Вышел Babel 8: только ESM, нет ES5 по умолчанию — Через восемь лет после предыдущего мажорного релиза Babel стал ESM-only, требует Node.js 22+ и больше не компилирует в ES5. Общие флаги loose/spec заменены на отдельные assumptions. Загрузки выросли с 1.7 млн до 651 млн в неделю.
HTML/Accessibility
RFC 10008: новый HTTP-метод QUERY — Появился стандарт, добавляющий метод QUERY — как GET, но с поддержкой тела запроса. Решает проблему, когда POST вместо GET ломал кеширование и семантику. Сетка Интернета пока не готова, до продакшена ещё пару лет.
MDN представил официальный MCP-сервер для AI-агентов — AI-агенты теперь могут напрямую обращаться к свежей документации MDN и проверять поддержку API во время работы. Часть большого тренда на интеграцию веб-платформы с AI-инструментами.
Performance
Неявный pinning в V8 — как GC теряет объекты в production — Скрытые ссылки через прототипы, живые замыкания и Symbol.species блокируют сборку мусора. Ключевое правило: для кеширования — WeakMap вместо Map, большие объекты в замыканиях явно занулять, профилировать heap-снипшотами.
tsgo жрёт гигабайты памяти — анализ потребления на больших проектах — При мультипоточности tsgo создаёт отдельный type checker на каждый поток со своим state. На проекте с Next.js + Zod 45% памяти уходит на AST, 30% на Checker (400 МБ). Конструкции Zod генерируют огромные типизации. Оптимизация возможна, обещают снижение в будущих релизах.
Инструменты
Source maps — что скрывается за вашими бандлами — Source maps улучшают отладку, но при публикации в продакшене могут случайно вскрыть исходный код. Разбор практических последствий и стратегий безопасности.