mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-06 12:57:46 +00:00
[build-utils] Improve no lockfile detection logic (#11706)
Two minor improvements missed from the review of https://github.com/vercel/vercel/pull/11697: - [Include supported package manager names in error message](https://github.com/vercel/vercel/pull/11697#discussion_r1628382867) - [Avoid `as` to improve type safety](https://github.com/vercel/vercel/pull/11697#discussion_r1628384789)
This commit is contained in:
5
.changeset/quiet-comics-tell.md
Normal file
5
.changeset/quiet-comics-tell.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'@vercel/build-utils': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Improve error message and refactor
|
||||||
@@ -372,7 +372,7 @@ function detectPackageManagerNameWithoutLockfile(packageJson: PackageJson) {
|
|||||||
const packageJsonPackageManager = packageJson.packageManager;
|
const packageJsonPackageManager = packageJson.packageManager;
|
||||||
if (usingCorepack(process.env, packageJsonPackageManager)) {
|
if (usingCorepack(process.env, packageJsonPackageManager)) {
|
||||||
const corepackPackageManager = validateVersionSpecifier(
|
const corepackPackageManager = validateVersionSpecifier(
|
||||||
packageJsonPackageManager as string
|
packageJsonPackageManager
|
||||||
);
|
);
|
||||||
switch (corepackPackageManager?.packageName) {
|
switch (corepackPackageManager?.packageName) {
|
||||||
case 'npm':
|
case 'npm':
|
||||||
@@ -384,7 +384,7 @@ function detectPackageManagerNameWithoutLockfile(packageJson: PackageJson) {
|
|||||||
return 'npm';
|
return 'npm';
|
||||||
default:
|
default:
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Unknown package manager "${corepackPackageManager?.packageName}". Change your package.json "packageManager" field to a known package manager.`
|
`Unknown package manager "${corepackPackageManager?.packageName}". Change your package.json "packageManager" field to a known package manager: npm, pnpm, yarn, bun.`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -785,7 +785,7 @@ export function getPathOverrideForPackageManager({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function validateVersionSpecifier(version: string) {
|
function validateVersionSpecifier(version?: string) {
|
||||||
if (!version) {
|
if (!version) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user