Skip to content

Commit

Permalink
disable corepack auto pin feature when executing npm view (#210601)
Browse files Browse the repository at this point in the history
  • Loading branch information
frankli0324 authored Apr 18, 2024
1 parent e30f27d commit 59d84c5
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion extensions/npm/src/features/packageJSONContribution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,13 @@ export class PackageJSONContribution implements IJSONContribution {
return new Promise((resolve, _reject) => {
const args = ['view', '--json', '--', pack, 'description', 'dist-tags.latest', 'homepage', 'version', 'time'];
const cwd = resource && resource.scheme === 'file' ? dirname(resource.fsPath) : undefined;
cp.execFile(npmCommandPath, args, { cwd }, (error, stdout) => {

// corepack npm wrapper would automatically update package.json. disable that behavior.
// COREPACK_ENABLE_AUTO_PIN disables the package.json overwrite, and
// COREPACK_ENABLE_PROJECT_SPEC makes the npm view command succeed
// even if packageManager specified a package manager other than npm.
const env = { COREPACK_ENABLE_AUTO_PIN: "0", COREPACK_ENABLE_PROJECT_SPEC: "0" };
cp.execFile(npmCommandPath, args, { cwd, env }, (error, stdout) => {
if (!error) {
try {
const content = JSON.parse(stdout);
Expand Down

0 comments on commit 59d84c5

Please sign in to comment.