Skip to content

Commit

Permalink
fix: add support for yarn v4
Browse files Browse the repository at this point in the history
  • Loading branch information
favna committed Nov 14, 2023
1 parent 844d89f commit 35af4dc
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
2 changes: 2 additions & 0 deletions src/commands/install-dependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ function packageManager(packageManagerUsed: ReturnType<typeof resolveUsedPackage
case 'pnpm':
return 'pnpm';
case 'yarn-v1':
case 'yarn-v2':
case 'yarn-v3':
case 'yarn-v4':
return 'yarn';
}
}
3 changes: 2 additions & 1 deletion src/commands/stage-files.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ function resolveLockfile(
if (!options.install) return '';

if (packageManagerUsed === 'pnpm') return 'pnpm-lock.yaml';
if (packageManagerUsed === 'yarn-v1' || packageManagerUsed === 'yarn-v3') return 'yarn.lock';
if (packageManagerUsed === 'yarn-v1' || packageManagerUsed === 'yarn-v2' || packageManagerUsed === 'yarn-v3' || packageManagerUsed === 'yarn-v4')
return 'yarn.lock';

return 'package-lock.json';
}
8 changes: 4 additions & 4 deletions src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ import type { ReleaseType } from 'semver';
*
* @returns The package manager used
*/
export function resolveUsedPackageManager(): 'yarn-v1' | 'yarn-v3' | 'npm' | 'pnpm' {
export function resolveUsedPackageManager(): 'yarn-v1' | 'yarn-v2' | 'yarn-v3' | 'yarn-v4' | 'npm' | 'pnpm' {
const npmConfigUserAgentEnvVar = process.env.npm_config_user_agent;

if (!npmConfigUserAgentEnvVar || npmConfigUserAgentEnvVar.startsWith('npm/')) return 'npm';
if (npmConfigUserAgentEnvVar.startsWith('pnpm/')) return 'pnpm';

if (npmConfigUserAgentEnvVar.startsWith('yarn/')) {
if (npmConfigUserAgentEnvVar.startsWith('yarn/1')) return 'yarn-v1';
if (npmConfigUserAgentEnvVar.startsWith('yarn/2') || npmConfigUserAgentEnvVar.startsWith('yarn/3')) {
return 'yarn-v3';
}
if (npmConfigUserAgentEnvVar.startsWith('yarn/2')) return 'yarn-v2';
if (npmConfigUserAgentEnvVar.startsWith('yarn/3')) return 'yarn-v3';
if (npmConfigUserAgentEnvVar.startsWith('yarn/4')) return 'yarn-v4';
}

return 'npm';
Expand Down

0 comments on commit 35af4dc

Please sign in to comment.