The cached file-system was implemented to speed up ngcc processing, but in reality most files are not accessed many times and there is no noticeable degradation in speed by removing it. Benchmarking `ngcc -l debug` for AIO on a local machine gave a range of 196-236 seconds with the cache and 197-224 seconds without the cache. Moreover, when running in parallel mode, ngcc has a separate file cache for each process. This results in excess memory usage. Notably the master process, which only does analysis of entry-points holds on to up to 500Mb for AIO when using the cache compared to only around 30Mb when not using the cache. Finally, the file-system cache being incorrectly primed with file contents before being processed has been the cause of a number of bugs. For example https://github.com/angular/angular-cli/issues/16860#issuecomment-614694269. PR Close #36687
		
			
				
	
	
		
			23 lines
		
	
	
		
			875 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			875 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google Inc. All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| import {NodeJSFileSystem, setFileSystem} from '../src/ngtsc/file_system';
 | |
| 
 | |
| import {mainNgcc} from './src/main';
 | |
| import {AsyncNgccOptions, NgccOptions, SyncNgccOptions} from './src/ngcc_options';
 | |
| 
 | |
| export {ConsoleLogger} from './src/logging/console_logger';
 | |
| export {Logger, LogLevel} from './src/logging/logger';
 | |
| export {AsyncNgccOptions, NgccOptions, PathMappings, SyncNgccOptions} from './src/ngcc_options';
 | |
| 
 | |
| export function process(options: AsyncNgccOptions): Promise<void>;
 | |
| export function process(options: SyncNgccOptions): void;
 | |
| export function process(options: NgccOptions): void|Promise<void> {
 | |
|   setFileSystem(new NodeJSFileSystem());
 | |
|   return mainNgcc(options);
 | |
| }
 |