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;
 | 
						|
}
 |