Angular pipes are great for data transformation. json, async, datetime are some of the largely used built-in pipes. Learn how to make a custom one for your need.
Creating custom elements in Angular and exporting them as web components is real simple. See how I made a custom subscription element in Angular and used it as native HTML element.
In Angular, you can upload a file and at the same time get the progress by enabling the reportProgress flag on HttpRequest object. Source code available in Github.
It's very easy to set up asynchronous validation in Angular Form. You can check whether provided email/date/name etc. already exists in the server with an HTTP call.
updateOn: 'blur' and updateOn: 'submit' are the options we were really craving for while working with Angular Forms. Now it's available out of the box and you don't need any custom implementations.
If you are adding API versioning to your existing API project, you can tell ASP.NET Core to treat the undercoated controllers and actions to have version 1.0 by default. To do that, configure the AddApiVersioning() service with AssumeDefaultVersionNumberUnspecified flag.
Working with HttpClient is kind of low-level stuff. Refit eases that problem for us. It creates an abstraction over HttpClient and allows us to work with an interface representing REST endpoints
We have N + 1 problem in our solution. To overcome this problem, we introduce DataLoader. DataLoader adds support for batching and caching in your GraphQL queries.