When type-checking a component, the declaring NgModule scope is used to create a directive matcher that contains flattened directive metadata, i.e. the metadata of a directive and its base classes. This computation is done for all components, whereas the type-check scope is constant per NgModule. Additionally, the flattening of metadata is constant per directive instance so doesn't necessarily have to be recomputed for each component. This commit introduces a `TypeCheckScopes` class that is responsible for flattening directives and computing the scope per NgModule. It caches the computed results as appropriate to avoid repeated computation. PR Close #38539
				
					
					fix(router): If users are using the Alt key when clicking the router links, prioritize browser’s default behavior (#38375)
				
			
			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.
					Languages
				
				
								
								
									TypeScript
								
								68.6%
							
						
							
								
								
									HTML
								
								12.8%
							
						
							
								
								
									JavaScript
								
								8.4%
							
						
							
								
								
									Pug
								
								7%
							
						
							
								
								
									Starlark
								
								1.4%
							
						
							
								
								
									Other
								
								1.7%