Angular Ivy’s internal data structures
March 3rd, 2021
I thought it would be useful to dive into Angular’s new Ivy rendering engine’s inner workings. In this article, I would like to stay high level but at the same time provide critical insights into how Ivy internally organizes its data structures to focus on memory performance. Template, Logical, and Render Trees When Ivy does rendering,…
React Without Build Tools
March 3rd, 2021
Jim Nielsen: I think you’ll find it quite refreshing to use React A) with a JSX-like syntax, and B) without any kind of build tooling. Refreshing indeed: CodePen Embed Fallback It’s not really the React that’s the hard part to pull off without build tools (although I do wonder what we lose from not tree…
React Component Tests for Humans
February 23rd, 2021
React component tests should be interesting, straightforward, and easy for a human to build and maintain. Yet, the current state of the testing library ecosystem is not sufficient to motivate developers to write consistent JavaScript tests for React components. Testing React components—and the DOM in general—often require some kind of higher-level wrapper around popular testing…
Angular Best Practices from the Start
February 20th, 2021
One of the highest priorities for Angular is to enable best practices from the start. We want you to feel comfortable building a large enterprise user interface the same way as creating a to-do app. We apply this mindset in the framework’ APIs, developer tooling, best practices, and documentation. A few examples are the investment in…
February 2021 Node.js Security Releases
February 18th, 2021
Summary The Node.js project will release new versions of all supported release lines on or shortly after Tuesday, February 23th, 2021. One Critical severity issue One High severity issue One Low severity issue Impact The 15.x release line of Node.js is vulnerable to one critical severity issue, one high severity issue, and one low severity…
How to file an issue
February 11th, 2021
Knowing how to file an issue with “the right information” may be the difference between it getting resolved immediately or never getting merged. We love community contributions so I thought it would be helpful to look at some of the common pitfalls to avoid. Everyone would rather be doing something else than filing or triaging issues — it’s…
Under the Hood of the Language Service
February 4th, 2021
State of the Language Service The Angular Language Service was created back in 2016 when the ecosystem for editor experience (VS Code + TypeScript) was still in its infancy. In order to provide rich language features for Angular users, the Angular team had to overcome quite a few low-level architectural challenges. The View Engine compiler had…
Finding a Path Forward with AngularJs
February 1st, 2021
Photo by Illiya Vjestica on Unsplash In January of 2018, we laid out our plans for the final releases of AngularJS before entering long-term support. Then in July 2020, we extended the LTS date to December 31st, 2021 due to the global pandemic. We understand that teams using AngularJS in production may have questions about what…
Angular Debugging Guides
January 26th, 2021
The best part of coding is when something works on the first try. The next best thing is knowing how to debug errors when things don’t work the first time. As we’ve shared on our roadmap, one of our team’s top priorities is improving the Angular debugging experience. We’re excited to announce several new projects…
Lightweight Form Validation with Alpine.js and Iodine.js
January 20th, 2021
Many users these days expect instant feedback in form validation. How do you achieve this level of interactivity when you’re building a small static site or a server-rendered Rails or Laravel app? Alpine.js and Iodine.js are two minimal JavaScript libraries we can use to create highly interactive forms with little technical debt and a negligible…