Two issues with DebugNode/DebugElement in Ivy were causing problems in user tests. 1. The DebugNodes returned by Ivy were not actually instances of DebugNode. This was due to an issue with the Ivy switch logic in debug_node.ts. The declaration of the exported DebugNode reference was set to `DebugNode__PRE_R3__ as any`. The cast prevented the Ivy switch transform from detecting this as a switchable declaration. The transform cannot handle arbitrary syntax, and exports *must* be of the form "const x = y__PRE_R3__;" or they will not work. The cast to any in this case was not needed, so this commit removes it. 2. DebugNodes returned by Ivy multiple times for the same element were not reference-identical. This was previously considered a minor breaking change in Ivy, but testing has shown that users depend on referential equality of DebugNodes. This commit caches a DebugNode on a DOM node when first creating it, to allow returning the same instance in subsequent operations. PR Close #30756
build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871)
Angular
Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
Quickstart
Changelog
Learn about the latest improvements.
Want to help?
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.
Description
Languages
TypeScript
68.6%
HTML
12.8%
JavaScript
8.4%
Pug
7%
Starlark
1.4%
Other
1.7%