Skip to content
Snippets Groups Projects
Commit 07affef4 authored by Rhys Arkins's avatar Rhys Arkins
Browse files

fix(npm): run full install if npm: refs found

Closes #9654
parent e4db9e59
Branches
No related tags found
No related merge requests found
......@@ -361,7 +361,7 @@ Object {
"packageJsonName": undefined,
"packageJsonType": "app",
"pnpmShrinkwrap": undefined,
"skipInstalls": true,
"skipInstalls": false,
"yarnLock": undefined,
"yarnWorkspacesPackages": undefined,
"yarnrc": undefined,
......
......@@ -126,7 +126,7 @@ export async function extractPackageFile(
let lernaJsonFile: string;
let lernaPackages: string[];
let lernaClient: 'yarn' | 'npm';
let hasFileRefs = false;
let hasFancyRefs = false;
let lernaJson: {
packages: string[];
npmClient: string;
......@@ -224,6 +224,7 @@ export async function extractPackageFile(
if (dep.currentValue.startsWith('npm:')) {
dep.npmPackageAlias = true;
hasFancyRefs = true;
const valSplit = dep.currentValue.replace('npm:', '').split('@');
if (valSplit.length === 2) {
dep.lookupName = valSplit[0];
......@@ -237,7 +238,7 @@ export async function extractPackageFile(
}
if (dep.currentValue.startsWith('file:')) {
dep.skipReason = SkipReason.File;
hasFileRefs = true;
hasFancyRefs = true;
return dep;
}
if (isValid(dep.currentValue)) {
......@@ -345,11 +346,11 @@ export async function extractPackageFile(
}
let skipInstalls = config.skipInstalls;
if (skipInstalls === null) {
if (hasFileRefs) {
if (hasFancyRefs) {
// https://github.com/npm/cli/issues/1432
// Explanation:
// - npm install --package-lock-only is buggy for transitive deps in file: references
// - So we set skipInstalls to false if file: refs are found *and* the user hasn't explicitly set the value already
// - npm install --package-lock-only is buggy for transitive deps in file: and npm: references
// - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already
logger.debug('Automatically setting skipInstalls to false');
skipInstalls = false;
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment