diff --git a/lib/dep-graph-builders/pnpm/build-dep-graph-pnpm.ts b/lib/dep-graph-builders/pnpm/build-dep-graph-pnpm.ts index b1f595a5..2bdbf390 100644 --- a/lib/dep-graph-builders/pnpm/build-dep-graph-pnpm.ts +++ b/lib/dep-graph-builders/pnpm/build-dep-graph-pnpm.ts @@ -12,6 +12,9 @@ import { LOCK_FILE_NAME, } from '../../errors/out-of-sync-error'; import { LockfileType } from '../..'; +import * as debugModule from 'debug'; + +const debug = debugModule('snyk-pnpm-workspaces'); export const buildDepGraphPnpm = async ( lockFileParser: PnpmLockfileParser, @@ -48,14 +51,15 @@ export const buildDepGraphPnpm = async ( for (const name of Object.keys(topLevelDeps)) { if (!extractedTopLevelDeps[name]) { - throw new OpenSourceEcosystems.PnpmOutOfSyncError( + const errMessage = `Dependency ${name} was not found in ` + - `${LOCK_FILE_NAME[LockfileType.pnpm]}. Your package.json and ` + - `${ - LOCK_FILE_NAME[LockfileType.pnpm] - } are probably out of sync. Please run ` + - `"${INSTALL_COMMAND[LockfileType.pnpm]}" and try again.`, - ); + `${LOCK_FILE_NAME[LockfileType.pnpm]}. Your package.json and ` + + `${ + LOCK_FILE_NAME[LockfileType.pnpm] + } are probably out of sync. Please run ` + + `"${INSTALL_COMMAND[LockfileType.pnpm]}" and try again.`; + debug(errMessage); + throw new OpenSourceEcosystems.PnpmOutOfSyncError(errMessage); } topLevelDeps[name].version = extractedTopLevelDeps[name].version; } diff --git a/lib/dep-graph-builders/pnpm/lockfile-parser/lockfile-parser.ts b/lib/dep-graph-builders/pnpm/lockfile-parser/lockfile-parser.ts index 0089af75..6a688e60 100644 --- a/lib/dep-graph-builders/pnpm/lockfile-parser/lockfile-parser.ts +++ b/lib/dep-graph-builders/pnpm/lockfile-parser/lockfile-parser.ts @@ -145,8 +145,8 @@ export abstract class PnpmLockfileParser { (depName) => (topLevel[depName] = { name: depName, - version: pkg.dependencies[depName], - isDev: false, + version: pkg.devDependencies[depName], + isDev: true, }), ); return topLevel; diff --git a/lib/dep-graph-builders/pnpm/utils.ts b/lib/dep-graph-builders/pnpm/utils.ts index eb64c298..10f2268e 100644 --- a/lib/dep-graph-builders/pnpm/utils.ts +++ b/lib/dep-graph-builders/pnpm/utils.ts @@ -10,7 +10,9 @@ import { INSTALL_COMMAND, LOCK_FILE_NAME, } from '../../errors/out-of-sync-error'; +import * as debugModule from 'debug'; +const debug = debugModule('snyk-pnpm-workspaces'); export const getPnpmChildNode = ( name: string, depInfo: { version: string; isDev: boolean }, @@ -42,6 +44,7 @@ export const getPnpmChildNode = ( LOCK_FILE_NAME[LockfileType.pnpm] } are probably out of sync. Please run ` + `"${INSTALL_COMMAND[LockfileType.pnpm]}" and try again.`; + debug(errMessage); throw new OpenSourceEcosystems.PnpmOutOfSyncError(errMessage); } else { return {