Update the license headers throughout the repository to reference Google LLC rather than Google Inc, for the required license headers. PR Close #37205
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google LLC 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
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Custom resolution plugin for Webpack's `resolve-enhanced` package that is used by
 | |
|  * Madge for resolving imports. The plugin extends the resolution by leveraging the
 | |
|  * runfile resolution and module mappings handled in the module info aspect.
 | |
|  */
 | |
| class BazelRunfileResolutionPlugin {
 | |
|   apply(resolver) {
 | |
|     resolver.plugin('module', (request, callback) => {
 | |
|       try {
 | |
|         // Resolve the module through the `require.resolve` method which has been patched
 | |
|         // in the Bazel NodeJS loader to respect runfiles and module mappings. This allows
 | |
|         // Madge to handle module mappings specified in `ts_library` and `ng_module` targets.
 | |
|         const resolvedPath = require.resolve(request.request);
 | |
|         // Update the request to refer to the runfile resolved file path.
 | |
|         resolver.doResolve('resolve', {...request, request: resolvedPath}, null, callback, true);
 | |
|         return;
 | |
|       } catch {
 | |
|       }
 | |
|       // If the file could not be resolved through Bazel's runfile resolution, proceed
 | |
|       // with the default module resolvers.
 | |
|       callback();
 | |
|     });
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Configures a plugin which ensures that Madge can properly resolve specified
 | |
| // dependencies through their configured module names.
 | |
| module.exports = {
 | |
|   resolve: {plugins: [new BazelRunfileResolutionPlugin()]}
 | |
| };
 |