🦊 Angular Fox 🚀 — русскогорящие новости сообщества
3.99K subscribers
1.22K 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
Профессиональная обработка ошибок в 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/
👍84🔥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😁2
🚨 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/
🙈27😁123👍1🔥1
Angular и AI: ускоряем процесс разработки

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

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

👉 https://habr.com/ru/articles/942376/
🔥11👍4👏2
Стратегия обнаружения изменений в ANGULAR 17+

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

В статье подробно рассматривается, когда именно OnPush запускает проверку.

P.S. А еще в комментариях можно послушать подкаст, сгенерированный по мотивам этой статьи.

👉 https://habr.com/ru/companies/ascon/articles/941766/
👍6🔥2👎1👏1
Angular Summer Update 2025

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

Одно из значительных нововведений — это стабильность Zoneless API. Обновление также вводит новые примитивы анимации, позволяющие использовать нативные CSS-анимации и устаревает пакет @angular/animations. Кроме того, Angular расширил свои предложения по искусственному интеллекту (ИИ), представив новый сервер MCP для кодогенерации LLM и поддержку создания приложений Angular в Gemini Canvas и Google AI Studio. Улучшения инструментов разработчика включают визуализацию маршрутизатора и графа сигналов в Angular DevTools, а также упрощенное тестирование компонентов.

P.S. В комментариях можно послушать подкаст.

👉 https://blog.angular.dev/angular-summer-update-2025-1987592a0b42
4👍2🔥2
Джун, мидл, сениор на примере велосипедистов

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

Вот как выглядит это деление по его мнению:

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

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

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

Хочешь узнать, на каком этапе ты и не пора ли снимать дополнительные колеса? Подкаст в комментариях.

👉 https://habr.com/ru/articles/846538/
😁13🥴72💩2🤮1🤡1👀1
Angular получил свой shadcn/ui

Если вы работали в React с библиотекой shadcn/ui, то эта новость вас заинтересует.

Zard UI — это новая библиотека компонентов, которая объединяет мощь TailwindCSS и последние возможности Angular.

👉https://zardui.com/
👍105👎3🔥2💩2