Angular 19.2 is almost there, CSS tricks, and more!

As usual, we’re using the 3-2-1 format of the newsletter this week. I’m posting a few essential articles to revisit, updates to know about, and one question to ponder:

Three articles to revisit:

Two Angular updates:

  • Angular 19.2 just got its first RC version, and it features a new httpResource, which aims to replace the HttpClient with a Signal-based approach. Manfred Steyer published a preview of the feature here.
  • The FREE Angular Weekend is happening this weekend at certificates.dev! A great way to get free certification training and take practice tests to see how you’d fare in the Angular mid-level certification exam.

One question to think about:

A debugging quest and a free Angular weekend!

As often, I’m using the updated newsletter format this week. I’m posting a few interesting updates to know about and one question to ponder:

Two Angular updates:

  • Gérôme Grignon just released the Angular Debug Quest, a GitHub repo where you can practice fixing common Angular app bugs in one place. The project is open to feedback and additional bugs to fix, so feel free to contribute and give it a try!
  • The FREE Angular Weekend is happening soon over at certificates.dev! A great way to get free certification training and take practice tests to see how you’d fare in the Angular mid-level certification exam:

One question to think about and some posts to learn more about it:

  • Do you lint your code for extra feedback on best practices? Linting is a great way to learn about blind spots we all have as developers. It can also teach you some alternative syntaxes and keywords. Read more about eslint here.

The Angular documentary is out!

Big news this week: The Angular documentary is now available for free on YouTube! It’s a 1-hour video going through the origins of the framework and its evolution over time, featuring many of the Angular community members who contributed to the framework’s history.

On a similar note, I found the TypeScript origins documentary fascinating, and it’s also available on YouTube.

Since that’s a lot of content to look, I’ll leave you with only one extra article to revisit for this week:

Do you know about the different types of RxJs subjects? Learn more about them here.

Signals and what’s ahead for Angular in 2025

As usual, we’re using the 3-2-1 format of the newsletter this week. I’m posting a few essential articles to revisit, updates to know about, and one question to ponder:

Three articles to revisit:

Two Angular updates:

  • The Angular team announced its priorities for 2025: Signal forms, RFC for selectorless components (meaning no more imports needed for components !), promote zoneless to developer preview, and replace Karma for unit testing.
  • Our FREE monthly online workshop is scheduled for this Thursday, don’t forget to register now. I’ll talk about different simple strategies to migrate from RxJs to Signals in Angular.

One question to think about:

  • Signals are stable, with the exception of the effect function. Since Angular is going all in on Signals, with Signal forms being next in the pipeline, have you started migrating your apps to use Signals instead of RxJs? Attend our next free workshop to see me do it live.

Angular 19.1 is available!

This week, we’re using the 3-2-1 format of the newsletter once more. I’m posting a few essential articles to revisit, updates to know about, and one question to ponder:

Three short articles to revisit:

Two Angular updates:

One question to think about:

Change detection, data formatting, and a free Signals Workshop!

Happy New Year! Let’s get back to the 3-2-1 format of the newsletter. I’m posting a few essential articles to revisit, updates to know about, and one question to ponder – all good knowledge to kickstart 2025 the right way:

Three short articles to revisit:

Two Angular updates/announcements:

  • Angular v20 will be released during the week of May 19th 2025.
  • My next FREE online workshop is scheduled for January 23rd, and you can register here. I’ll cover techniques and best practices to migrate to Angular Signals:

One question to think about:

Did you know that you don’t always need pipes to format dates or numbers? You can use the functions used by the Angular pipes directly in TypeScript instead.

Happy holidays! Ideas of Angular resolutions for 2025

This week, we get back to the 3-2-1 format of the newsletter. I’m posting a few essential articles to revisit, updates to know about, and one question to ponder – all ideas of good practices to adopt in 2025:

Three short articles to revisit:

Two Angular updates:

  • Ng-conf has released more videos from the 2024 event for free on YouTube. This is another good way to improve your Angular skills during the Holiday season! We’re still waiting for a date for the 2025 event.
  • The Angular team started creating a playlist of short videos (30 secs each) about Angular 19—a nice and fast way to learn about some of the new features of Angular 19.

One question to think about:

What’s your current Angular version? The end-of-year slowdown could be an excellent opportunity to find some time to upgrade to v19. Use my upgrade guide here for more info.

Running initialization code when Angular loads + router data updates

I’m posting a few essential articles to revisit, updates to know about, and one question to ponder this week:

Three articles to revisit and associated updates with Angular 19

When we need to initialize an application with server data (environment variables, for instance), we can use Angular’s APP_INITIALIZER. For more information, revisit this tutorial about APP_INITIALIZER.

Angular 19 introduced a new syntax for this feature. This function must be called in the array of providers of your app bootstrap as follows:

You can return an Observable or a Promise from your init function. The official documentation is here.

Another interesting feature expanded in recent versions is the ability to pass data to components using the router. I wrote about router state and how to use resolvers in the past, and even how to map router data to component inputs.

With Angular 19, we can pass data to a RouterOutlet to share information between parent and child components as follows:

One question to ponder this week:

How do you pass data to your routed components? Do you use any of the features described above or just inject services in the routed component? Is there anything you could improve in your architecture using these tools?

Angular 19: Standalone updates

Angular 19 is a massive release with lots of improvements and new features. I covered all signal-related updates earlier. Today, let’s focus on what’s changed with standalone features in the framework.

First, standalone is the new default! In Angular 19, you don’t need the standalone: true option in your decorators, that’s the default value now. Instead, you want to use standalone: false for features that are not standalone and belong to a ngModule.

When you upgrade to Angular 19, ng update will automatically remove standalone : true where you use it and use standalone: false where needed. No need to worry about it!

Second, the Angular compiler will warn you when you have unused imports in your standalone components. This is great to help keep your code clean:

TS-998113: Imports array contains unused imports [plugin angular-compiler]

src/app/user/users.component.ts:9:27:
9 │ imports: [UserComponent, UnusedComponent],Code language: HTTP (http)

Finally, if you want to make sure all your components are standalone, you can use the new "strictStandalone": true option in the angularCompilerOptions.

Then, if your create a non-standalone feature, you’ll get an error:
TS-992023: Only standalone components/directives are allowed when 'strictStandalone' is enabled.

What do you want from this newsletter in 2025?

There are only a month and a few days left in 2024, and my goal is to keep publishing weekly updates until the end of the year. By the time you read this, it will be Thanksgiving in the United States, a time of the year when we are thankful and spend time with our families.

First, I want to thank you for reading this newsletter; I hope you find it useful. It certainly has become quite a database of resources for me, at the very least, and I use these posts all the time when training and mentoring people.

Now, I’d like to know what you think of the new format I have used a few times lately (example here) compared to the “old” format (example here). What I like about the new format is that I suggest essential topics to revisit rather than covering just new features and tutorials on specific topics. It’s more broad as a result, and there are probably more interesting topics every week.

In any case, if you’re thankful for this newsletter or have any feedback or ideas to share, let me know. I read and respond to every email.

Happy Thanksgiving if that’s something you’re celebrating, and since Thanksgiving is followed by Black Friday, you can get up to 54% off any certification and training package at certificates.dev!