Add support for specifying versions for package managers (#529)

This commit is contained in:
Haneen Mahdin 2022-07-30 09:48:07 +05:30
parent 7884734703
commit 5a3778b347
1 changed files with 23 additions and 5 deletions

View File

@ -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) => {