54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 'use strict';
 | |
| 
 | |
| /**
 | |
|  * When using the PNPM package manager, you can use pnpmfile.js to workaround
 | |
|  * dependencies that have mistakes in their package.json file.  (This feature is
 | |
|  * functionally similar to Yarn's "resolutions".)
 | |
|  *
 | |
|  * For details, see the PNPM documentation:
 | |
|  * https://pnpm.js.org/docs/en/hooks.html
 | |
|  *
 | |
|  * IMPORTANT: SINCE THIS FILE CONTAINS EXECUTABLE CODE, MODIFYING IT IS LIKELY TO INVALIDATE
 | |
|  * ANY CACHED DEPENDENCY ANALYSIS.  After any modification to pnpmfile.js, it's recommended to run
 | |
|  * "rush update --full" so that PNPM will recalculate all version selections.
 | |
|  */
 | |
| module.exports = {
 | |
|   hooks: {
 | |
|     readPackage,
 | |
|   },
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * This hook is invoked during installation before a package's dependencies
 | |
|  * are selected.
 | |
|  * The `packageJson` parameter is the deserialized package.json
 | |
|  * contents for the package that is about to be installed.
 | |
|  * The `context` parameter provides a log() function.
 | |
|  * The return value is the updated object.
 | |
|  */
 | |
| function readPackage(packageJson, context) {
 | |
|   // // The karma types have a missing dependency on typings from the log4js package.
 | |
|   // if (packageJson.name === '@types/karma') {
 | |
|   //  context.log('Fixed up dependencies for @types/karma');
 | |
|   //  packageJson.dependencies['log4js'] = '0.6.38';
 | |
|   // }
 | |
| 
 | |
|   switch (packageJson.name) {
 | |
|     case '@nclc/plugin-manager': {
 | |
|       delete packageJson.dependencies['react'];
 | |
|       break;
 | |
|     }
 | |
|     case '@bdeefe/suite-design': {
 | |
|       packageJson.peerDependencies['react-dom'] =
 | |
|         packageJson.peerDependencies['react'];
 | |
|       break;
 | |
|     }
 | |
|     case '@byte-starry/nclc-types': {
 | |
|       packageJson.peerDependencies = {};
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   return packageJson;
 | |
| }
 |