This week's ng-news covers ngxtension on Angular Space, Signality's signal-first utilities inspired by VueUse, and Vitest 4.1 fake-timer improvements for Angular tests. We also look at official Angular agent skills.
Angular Space and ngxtension
ngxtension, a set of utility functions, was the topic on the Angular Space live stream. The hosts were - as always - Armen Vardanyan and Enea Jahollari, the maintainer of ngxtension; Enea joined the stream after a few minutes.
They discussed several main features. For example, injectParams, which a former episode of ng-news covered already, and the on helper, which offers strong developer experience for explicit effects but can also be used for explicit signal tracking in computed, resources, or linkedSignal.
Signality
Another promising library that offers utility functions - this time only signal-based - was published. Signality is its name, and according to its author, Vyacheslav Borodin, it is heavily inspired by VueUse, a popular library of utilities for Vue.js. Although Signality was released at version 0.1, the number of functions is already quite impressive.
Vitest 4.1 fake timers
Vitest, Angular's default testing framework for new projects, was released in version 4.1 and gained a major improvement in handling asynchronous timers. Fake timers gained an automatic tick mode.
In the past, when code used a delayed timer - for example because of debounceTime - you often had to advance those timers manually in tests. Now there is a mode that advances scheduled timers asynchronously without you hard-coding each delay. You no longer need to remember whether it was 100 ms, 200 ms, or something else. It does not remove asynchronicity, but it runs the deferred work on a short tick - roughly speaking, along the lines of setTimeout(() => void true, 0).
@younesjd added a section about that feature to his cookbook, and the Vitest documentation has more detail.
Official Angular agent skills
Official Angular skills have landed. You can install them now with npx skills add angular/skills. After that, your agent should pick them up whenever the LLM decides to use them.
Skills are text content that explains to the LLM - for example, how Signal Forms work or how Angular's dependency injection works. The main distinction from MCP servers, basic rules, custom instructions, or whatever term your agent uses, is that skills are not loaded automatically up front. A skill starts with a short description of what it covers, which does not overload context, and - as noted above - when the LLM decides it is time to use one, it can load the full body on demand.
That pattern lets you keep many skills available without bloating every prompt.
Angular skills are not new. Ng-News already covered the Analog.js skills, which were created in January. As their author Brandon Roberts confirmed, now that official Angular skills exist, the Analog.js skills are deprecated.
Top comments (0)