🦊 Angular Fox 🚀 — русскогорящие новости сообщества
3.99K subscribers
1.21K photos
7 videos
1.07K links
Как костыль на реактивно-лисьей тяге 🔥🦊

Нравится канал? Подпишись на меня!
👉 twitter.com/thekiba_ru
💖 twitter.com/thekiba_io
medium.com/@thekiba
github.com/thekiba

Чаты @angular_ru @angular_jobs
Download Telegram
Почему стоит использовать Tagged Unions при разработке на TypeScript

Сталкивались с ситуацией, когда TypeScript не может точно определить тип в объединении A | B? Это приводит к небезопасным проверкам и потенциальным багам.

Tagged Unions (дискриминантное объединение) — добавляет уникальное свойство “тег” в каждый тип, позволяя компилятору безошибочно определять конкретный тип и гарантировать надежность.

👉 https://habr.com/ru/companies/megafon/articles/933752/
👍7🔥4👏21
Как ИИ меняет разработку на Angular

В интервью Даниэль Зогль, специалист по ИИ, рассказал, как БЯМ (Большая Языковая Модель) трансформирует работу с Angular.

Он поделился своими мыслями о текущих инструментах, их достоинствах и недостатках. Отметил, что из-за частых обновлений Angular, БЯМ иногда генерирует устаревший код, однако это можно легко решить.

👉 https://www.angulararchitects.io/en/blog/interview-how-ai-is-transforming-angular-development-a-conversation-with-daniel/
💩91👍1🔥1😁1
Что такое инкрементальная гидратация в Angular

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

Она уменьшает размер начальных бандлов, сокращает First Input Delay (FID) и Cumulative Layout Shift (CLS).

👉 https://habr.com/ru/articles/933794/
🔥8👍4
Angular Signals + RxJS

С появлением сигналов многие разработчики задаются вопросом: пора ли забыть про RxJS? Спойлер — нет! Сигналы и RxJS не конкуренты, а дополняющие друг друга инструменты.

Читай статью, чтобы узнать, как правильно их сочетать и написать свой стейт-менеджер с красивым API.

👉 https://habr.com/ru/articles/935526/
9🔥3👏2💩2🥱2👎1
История одного бага

Редкие баги, которые воспроизводятся раз в сто попыток — настоящая головная боль. Они появляются в самый неподходящий момент, исчезают при попытке показать коллегам и возвращаются снова, когда код уже попал в продакшн.

Ростислав Терехов рассказал историю о легаси проекте на Angular 11, в котором контент приложения иногда смещался влево за навигационную панель, и поделился подробным расследованием причин этой проблемы.

👉 https://habr.com/ru/articles/935972/
8👍4🔥3😁1
Профессиональная обработка ошибок в TypeScript

Ошибки в приложениях неизбежны, но подход к их обработке кардинально влияет на качество кода.

Традиционный throw/try-catch в языках с непроверяемыми исключениями может скрывать возможные ошибки от сигнатур функций, что усложняет их отслеживание и делает поток выполнения менее очевидным.

Функциональный подход с типами вроде Result<Ok, Error> явно описывает возможные ошибки в типах возврата, что упрощает анализ и обработку ошибок, хотя и может увеличить многословность кода.

👉 https://habr.com/ru/companies/piter/articles/935278/
🔥3👏2👍1👎1
Поиск на RxJS и Taiga UI

Когда портал компании растет, одного источника поиска может быть недостаточно.

Антон Марченко поделился опытом создания гибкого поискового компонента, который работает с множественными источниками данных одновременно. Главная фишка — возможность динамически добавлять новые поисковые сервисы через конфиг.

👉 https://habr.com/ru/companies/tbank/articles/936794/
👍8💩6🔥21🤡1
Для чего нужны enum в TypeScript

Если вы только начинаете изучать TypeScript, enum — один из базовых инструментов, которые стоит освоить. Он позволяет создать фиксированный набор значений с защитой от случайных изменений на уровне типизации.

Хотя в статье и говорится, что его изменить нельзя, но технически enum можно модифицировать, например, через Object.defineProperty.

👉 https://habr.com/ru/articles/936650/
👍51👏1👌1🤡1
5 полезных utility-типов в TypeScript

Часто стандартных возможностей TypeScript не хватает для решения специфических задач.

Статья показывает, как с помощью кастомных utility types можно элегантно решать повседневные проблемы: от управления состоянием асинхронных операций до создания типобезопасных URL.

👉 https://www.angularspace.com/5-typescript-utility-types-you-cant-live-without/
👍6👎3🎉2🔥1🤡1
Свой LLM-агент на Typescript с использованием MCP

Помните Джарвиса из "Железного человека"?

Антон Морев мечтал о таком помощнике еще с 2008 года, а теперь показывает, как это реализовать с помощью Model Context Protocol (MCP).

В статье разбирается: создание MCP-сервера, подключение к OpenAI, работа через CLI и Telegram-бота. Есть готовый код на GitHub.

👉 https://habr.com/ru/articles/926548/
👍83🤡3🔥1
Результаты State of CSS 2025

Новые возможности CSS, такие как :has() или cascade layers, уверенно завоевывают место в арсенале разработчиков.

State of CSS 2025 показывает: эти фичи не просто очередные бесполезные новинки, а надежные инструменты для упрощения работы.

Хочешь быть в курсе трендов? Более 5,5 тысяч разработчиков поделились своим мнением о настоящем и будущем CSS.

👉 https://2025.stateofcss.com/
👍7🎉21🔥1
Вышел Angular 20.2.0

Команда Angular выпустила новую версию, которая приносит множество улучшений. Давайте рассмотрим ключевые изменения.

Zoneless становится стабильным
Одно из самых значительных событий этого релиза — Zoneless больше не находится в режиме developer preview.

Новая эра анимаций
Angular представляет новое API для работы с анимациями, которое позволяет создавать их с помощью CSS. В связи с этим, пакет @angular/animations объявляется устаревшим и будет полностью удален в будущих версиях.

Маршрутизация
Метод getCurrentNavigation теперь устарел, ему на смену приходит currentNavigation.

Поддержка TypeScript 5.9
Angular идет в ногу со временем и добавляет поддержку последней версии TypeScript.

Прочее
Добавлена поддержка использования as-алиасов в блоках else if, а также целый ряд других улучшений.

👉 https://github.com/angular/angular/releases/tag/20.2.0
🔥36👍10🎉4
Angular CLI MCP Server

LLM генерирует устаревший Angular-код? Команда Angular представила официальный MCP-сервер.

Он решает главную проблему LLM — генерацию кода на основе устаревших данных. Сервер предоставляет AI-ассистентам прямой доступ в реальном времени к официальной документации, актуальным best practices и анализу вашего воркспейса.

Если у вас уже есть опыт работы с ним, то команда ждет ваши отзывы и идеи на GitHub.

С подробностями можно ознакомиться в официальной документации или в статье.

👉 https://angular.love/angular-cli-mcp-server-keep-your-ai-up-to-date
🔥16👍96🎉1
Монорепозитории с PNPM Workspaces

PNPM — не только быстрый пакетный менеджер, но и мощный инструмент для управления монорепозиториями.

В статье рассказывается, как настроить PNPM Workspaces с нуля и использовать TypeScript Project Reference.

👉 https://stefanhaas.xyz/article/monorepos-with-pnpm-workspaces/
👍6🤔3🔥2👏1👨‍💻1
Core Web Vitals-2025: как управлять скоростью и стабильностью сайта

Core Web Vitals остаются индустриальным стандартом для оценки качества сайтов. Понимание и оптимизация этих показателей напрямую влияют не только на пользовательский опыт, но и на ранжирование сайта в поисковой выдаче.

В статье разбираются три ключевые метрики:

Cumulative Layout Shift (CLS): Оценивает визуальную стабильность. Узнайте, как избавиться от прыгающих элементов из-за асинхронной загрузки, медиа без заданных размеров и кастомных шрифтов.

Interaction to Next Paint (INP): Новая метрика, заменившая FID, измеряет отзывчивость интерфейса на действия пользователя. Как долгие задачи в основном потоке влияют на INP и как это исправить.

Largest Contentful Paint (LCP): Показывает скорость загрузки основного контента. Рассказывается об оптимизации загрузки ресурсов, уменьшении Time To First Byte (TTFB) и влиянии энтропии изображения.

👉 https://habr.com/ru/companies/sberdevices/articles/940578/
👍42🔥1👏1🤡1
Как сделать отчёты Playwright понятными, а падения — полезными

Хотите, чтобы ваши автотесты на Playwright не только работали, но и помогали быстро находить причины падений?

Алексей Иванов рассказал про то, как добиться читаемых отчетов и информативных ошибок.

👉 https://habr.com/ru/companies/2gis/articles/935882/
👍83🔥2👏1🤡1
Миграция на Angular Signals

Сигналы в Angular обсуждают повсюду, однако многие откладывают их внедрение в свои проекты.

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

👉 https://www.angularspace.com/migrating-to-angular-signals/
4👍4🔥2
Расследуем самое длинное issue в Jest

Казалось бы, обычная задача по обновлению версии Node.js с 16.10 до 18 обернулась рандомно падающими тестами в CI/CD. Расследование показало, что причина — утечка памяти, а проблема оказалась настолько глубокой, что ее решение затянулось на два года и потребовало участия команд Jest, Node.js и V8.

Читай статью, чтобы узнать все технические детали этого расследования и как в итоге удалось закрыть самое длинное issue в истории Jest.

👉 https://habr.com/ru/companies/ozontech/articles/933884/
🔥4😁2👍1
🚨 NX взломан

Популярная билд-система NX была скомпрометирована. Вредоносный post-install скрипт, попавший в несколько версий пакета, похищает учетные данные, API-ключи, переменные окружения и криптовалютные кошельки с машин разработчиков.

Зловред использует AI-инструменты, такие как Claude Code и Gemini CLI, для поиска чувствительных данных в файловой системе. Найденные секреты упаковываются и отправляются в публичный GitHub-репозиторий s1ngularity-repository, созданный от имени жертвы.

В статье подробная инструкция, как проверить свою систему, полный список уязвимых версий и шаги по устранению последствий.

👉 https://semgrep.dev/blog/2025/security-alert-nx-compromised-to-steal-wallets-and-credentials/
🙈26😁123👍1🔥1
Angular и AI: ускоряем процесс разработки

С внедрением MCP-сервера, команда Angular задала интересный тренд, меняющий подход к использованию фреймворка.

В статье автор поделился своим опытом: он поднял MCP-сервер, связал его с GitHub Copilot и прогнал несколько промптов. Спойлер: результат действительно впечатляет. Интеграция с Angular CLI дает AI-агенту гораздо больше контекста, и код на выходе получается качественнее. Попробуйте сами.

👉 https://habr.com/ru/articles/942376/
🔥9👍3👏2