mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 08:33:33 +00:00 
			
		
		
		
	Add support for specifying versions for package managers (#529)
This commit is contained in:
		
							parent
							
								
									7884734703
								
							
						
					
					
						commit
						5a3778b347
					
				@ -47,17 +47,35 @@ export const getCommandOutput = async (toolCommand: string) => {
 | 
				
			|||||||
  return stdout.trim();
 | 
					  return stdout.trim();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const resolvePackageManagerVersionInput = (
 | 
				
			||||||
 | 
					  packageManager: string
 | 
				
			||||||
 | 
					): string | undefined => {
 | 
				
			||||||
 | 
					  let version = core.getInput(`${packageManager}-version`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (version !== '') {
 | 
				
			||||||
 | 
					    core.info(`Using ${packageManager} with version ${version}.`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return version;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getPackageManagerVersion = async (
 | 
					const getPackageManagerVersion = async (
 | 
				
			||||||
  packageManager: string,
 | 
					  packageManager: string,
 | 
				
			||||||
  command: string
 | 
					  command: string
 | 
				
			||||||
) => {
 | 
					) => {
 | 
				
			||||||
  const stdOut = await getCommandOutput(`${packageManager} ${command}`);
 | 
					  let packageManagerVersion = resolvePackageManagerVersionInput(packageManager);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!stdOut) {
 | 
					  if (packageManagerVersion) {
 | 
				
			||||||
    throw new Error(`Could not retrieve version of ${packageManager}`);
 | 
					    return packageManagerVersion;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    const stdOut = await getCommandOutput(`${packageManager} ${command}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!stdOut) {
 | 
				
			||||||
 | 
					      throw new Error(`Could not retrieve version of ${packageManager}`);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return stdOut;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  return stdOut;
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const getPackageManagerInfo = async (packageManager: string) => {
 | 
					export const getPackageManagerInfo = async (packageManager: string) => {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user