diff --git a/src/cli/commands/monitor/index.ts b/src/cli/commands/monitor/index.ts index 15c4f939ae..7c3c2f6f6e 100644 --- a/src/cli/commands/monitor/index.ts +++ b/src/cli/commands/monitor/index.ts @@ -161,7 +161,7 @@ async function monitor(...args0: MethodArgs): Promise { generateMonitorMeta(options, packageManager), projectDeps, options, - perProjectResult.plugin as PluginMetadata, + projectDeps.plugin as PluginMetadata, targetFileRelativePath, ), spinner.clear(postingMonitorSpinnerLabel), diff --git a/src/lib/plugins/convert-multi-plugin-res-to-multi-custom.ts b/src/lib/plugins/convert-multi-plugin-res-to-multi-custom.ts index 2975bd1bce..3cd19e3232 100644 --- a/src/lib/plugins/convert-multi-plugin-res-to-multi-custom.ts +++ b/src/lib/plugins/convert-multi-plugin-res-to-multi-custom.ts @@ -14,6 +14,7 @@ export function convertMultiResultToMultiCustom( plugin: inspectRes.plugin, scannedProjects: convertScannedProjectsToCustom( inspectRes.scannedProjects, + inspectRes.plugin, (inspectRes.plugin.packageManager as SupportedPackageManagers) || packageManager, targetFile, diff --git a/src/lib/plugins/convert-scanned-projects-to-custom.ts b/src/lib/plugins/convert-scanned-projects-to-custom.ts index abb96f4754..3985f3b7f9 100644 --- a/src/lib/plugins/convert-scanned-projects-to-custom.ts +++ b/src/lib/plugins/convert-scanned-projects-to-custom.ts @@ -1,15 +1,19 @@ import * as cliInterface from '@snyk/cli-interface'; import { ScannedProjectCustom } from './get-multi-plugin-result'; import { SupportedPackageManagers } from '../package-managers'; +import { PluginMetadata } from '@snyk/cli-interface/legacy/plugin'; export function convertScannedProjectsToCustom( scannedProjects: cliInterface.legacyCommon.ScannedProject[], + pluginMeta: PluginMetadata, packageManager?: SupportedPackageManagers, targetFile?: string, ): ScannedProjectCustom[] { // annotate the package manager & targetFile to be used // for test & monitor return scannedProjects.map((a) => { + (a as ScannedProjectCustom).plugin = + (a as ScannedProjectCustom).plugin || pluginMeta; (a as ScannedProjectCustom).targetFile = a.targetFile || targetFile; (a as ScannedProjectCustom).packageManager = (a as ScannedProjectCustom) .packageManager diff --git a/src/lib/plugins/convert-single-splugin-res-to-multi-custom.ts b/src/lib/plugins/convert-single-splugin-res-to-multi-custom.ts index bc9ae476d9..2cda683116 100644 --- a/src/lib/plugins/convert-single-splugin-res-to-multi-custom.ts +++ b/src/lib/plugins/convert-single-splugin-res-to-multi-custom.ts @@ -1,6 +1,7 @@ import { legacyPlugin as pluginApi } from '@snyk/cli-interface'; import { MultiProjectResultCustom } from './get-multi-plugin-result'; import { SupportedPackageManagers } from '../package-managers'; +import { PluginMetadata } from '@snyk/cli-interface/legacy/plugin'; export function convertSingleResultToMultiCustom( inspectRes: pluginApi.SinglePackageResult, @@ -19,6 +20,7 @@ export function convertSingleResultToMultiCustom( plugin, scannedProjects: [ { + plugin: plugin as any, depTree, meta, targetFile: plugin.targetFile, diff --git a/src/lib/plugins/get-multi-plugin-result.ts b/src/lib/plugins/get-multi-plugin-result.ts index f56657b4bc..1bddeb20ca 100644 --- a/src/lib/plugins/get-multi-plugin-result.ts +++ b/src/lib/plugins/get-multi-plugin-result.ts @@ -2,7 +2,7 @@ import * as _ from 'lodash'; import * as path from 'path'; import * as cliInterface from '@snyk/cli-interface'; -import { TestOptions, Options, MonitorOptions } from '../types'; +import { TestOptions, Options, MonitorOptions, PluginMetadata } from '../types'; import { detectPackageManagerFromFile } from '../detect'; import { SupportedPackageManagers } from '../package-managers'; import { getSinglePluginResult } from './get-single-plugin-result'; @@ -12,6 +12,7 @@ import { convertMultiResultToMultiCustom } from './convert-multi-plugin-res-to-m export interface ScannedProjectCustom extends cliInterface.legacyCommon.ScannedProject { packageManager: SupportedPackageManagers; + plugin: PluginMetadata; } export interface MultiProjectResultCustom extends cliInterface.legacyPlugin.MultiProjectResult { diff --git a/src/lib/snyk-test/run-test.ts b/src/lib/snyk-test/run-test.ts index 073febd9fb..282d2c3274 100644 --- a/src/lib/snyk-test/run-test.ts +++ b/src/lib/snyk-test/run-test.ts @@ -355,7 +355,7 @@ async function assembleLocalPayloads( let body: PayloadBody = { // WARNING: be careful changing this as it affects project uniqueness - targetFile: deps.plugin.targetFile, + targetFile: project.plugin.targetFile, projectNameOverride: options.projectName, originalProjectName: pkg.name, policy: policy && policy.toString(), diff --git a/test/acceptance/cli-monitor/cli-monitor.all-projects.spec.ts b/test/acceptance/cli-monitor/cli-monitor.all-projects.spec.ts index 8bba3ade7a..da427cbce0 100644 --- a/test/acceptance/cli-monitor/cli-monitor.all-projects.spec.ts +++ b/test/acceptance/cli-monitor/cli-monitor.all-projects.spec.ts @@ -175,12 +175,6 @@ export const AllProjectsTests: AcceptanceTests = { // Ruby project - // Removing properties that are different for plugin and custom-plugin - // (pluginName, pluginRuntime) - delete rubyAll.body.meta.pluginName; - delete requestsRuby.body.meta.pluginName; - delete requestsRuby.body.meta.pluginRuntime; - t.deepEqual( rubyAll.body, requestsRuby.body, @@ -189,11 +183,6 @@ export const AllProjectsTests: AcceptanceTests = { // NPM project - // Removing properties that are different for plugin and custom-plugin - // (pluginName, pluginRuntime) - delete npmAll.body.meta.pluginName; - delete requestsNpm.body.meta.pluginName; - delete requestsNpm.body.meta.pluginRuntime; t.deepEqual( npmAll.body, requestsNpm.body, @@ -202,11 +191,6 @@ export const AllProjectsTests: AcceptanceTests = { // Maven project - // Removing properties that are different for plugin and custom-plugin - // (pluginName, pluginRuntime) - delete mavenAll.body.meta.pluginName; - delete requestsMaven.body.meta.pluginName; - delete requestsMaven.body.meta.pluginRuntime; t.deepEqual( mavenAll.body, requestsMaven.body,