diff --git a/src/lib/cloud-config-projects.ts b/src/lib/cloud-config-projects.ts deleted file mode 100644 index b82c763f380..00000000000 --- a/src/lib/cloud-config-projects.ts +++ /dev/null @@ -1,2 +0,0 @@ -//TODO (ork): add 'k8sconfig' | 'helmconfig' -export type SupportedCloudConfigs = 'undefined'; diff --git a/src/lib/cloud-config/cloud-config-projects.ts b/src/lib/cloud-config/cloud-config-projects.ts new file mode 100644 index 00000000000..09235319bbb --- /dev/null +++ b/src/lib/cloud-config/cloud-config-projects.ts @@ -0,0 +1,5 @@ +export type SupportedCloudConfigs = 'k8sconfig' | 'helmconfig'; + +export const TEST_SUPPORTED_CLOUD_CONFIG_PROJECTS: SupportedCloudConfigs[] = [ + 'k8sconfig', +]; diff --git a/src/lib/snyk-test/legacy.ts b/src/lib/snyk-test/legacy.ts index e698a04b5b3..bea26b8f59f 100644 --- a/src/lib/snyk-test/legacy.ts +++ b/src/lib/snyk-test/legacy.ts @@ -1,6 +1,7 @@ import * as _ from '@snyk/lodash'; import * as depGraphLib from '@snyk/dep-graph'; import { SupportedPackageManagers } from '../package-managers'; +import { SupportedProjectTypes } from '../types'; import { SEVERITIES } from './common'; interface Pkg { @@ -279,7 +280,7 @@ export interface RemediationChanges { function convertTestDepGraphResultToLegacy( res: TestDepGraphResponse, depGraph: depGraphLib.DepGraph, - packageManager: string, + packageManager: SupportedProjectTypes | undefined, severityThreshold?: SEVERITY, ): LegacyVulnApiResult { const result = res.result; diff --git a/src/lib/snyk-test/run-test.ts b/src/lib/snyk-test/run-test.ts index 74b653276e2..308e9788b60 100644 --- a/src/lib/snyk-test/run-test.ts +++ b/src/lib/snyk-test/run-test.ts @@ -49,44 +49,12 @@ import { getSubProjectCount } from '../plugins/get-sub-project-count'; import { serializeCallGraphWithMetrics } from '../reachable-vulns'; import { validateOptions } from '../options-validator'; import { findAndLoadPolicy } from '../policy'; +import { Payload, PayloadBody, DepTreeFromResolveDeps } from './types'; const debug = debugModule('snyk'); export = runTest; -interface DepTreeFromResolveDeps extends DepTree { - numDependencies: number; - pluck: any; -} - -interface PayloadBody { - depGraph?: depGraphLib.DepGraph; // missing for legacy endpoint (options.vulnEndpoint) - callGraph?: any; - policy?: string; - targetFile?: string; - targetFileRelativePath?: string; - projectNameOverride?: string; - hasDevDependencies?: boolean; - originalProjectName?: string; // used only for display - foundProjectCount?: number; // used only for display - docker?: any; - displayTargetFile?: string; - target?: GitTarget | ContainerTarget | null; -} - -interface Payload { - method: string; - url: string; - json: boolean; - headers: { - 'x-is-ci': boolean; - authorization: string; - }; - body?: PayloadBody; - qs?: object | null; - modules?: DepTreeFromResolveDeps; -} - async function runTest( projectType: SupportedProjectTypes | undefined, root: string, @@ -173,7 +141,7 @@ async function runTest( async function parseRes( depGraph: depGraphLib.DepGraph | undefined, - pkgManager: string | undefined, + pkgManager: SupportedProjectTypes | undefined, res: LegacyVulnApiResult, options: Options & TestOptions, payload: Payload, diff --git a/src/lib/snyk-test/types.ts b/src/lib/snyk-test/types.ts new file mode 100644 index 00000000000..0d2eb036b3e --- /dev/null +++ b/src/lib/snyk-test/types.ts @@ -0,0 +1,47 @@ +import * as depGraphLib from '@snyk/dep-graph'; +import { GitTarget, ContainerTarget } from '../project-metadata/types'; +import { DepTree } from '../types'; + +interface PayloadBody { + depGraph?: depGraphLib.DepGraph; // missing for legacy endpoint (options.vulnEndpoint) + callGraph?: any; + policy?: string; + targetFile?: string; + targetFileRelativePath?: string; + projectNameOverride?: string; + hasDevDependencies?: boolean; + originalProjectName?: string; // used only for display + foundProjectCount?: number; // used only for display + docker?: any; + displayTargetFile?: string; + target?: GitTarget | ContainerTarget | null; +} + +export interface DepTreeFromResolveDeps extends DepTree { + numDependencies: number; + pluck: any; +} + +export interface Payload { + method: string; + url: string; + json: boolean; + headers: { + 'x-is-ci': boolean; + authorization: string; + }; + body?: PayloadBody | CloudConfigPayloadBody; + qs?: object | null; + modules?: DepTreeFromResolveDeps; +} + +export interface CloudConfigPayloadBody { + policy: string; + targetFile?: string; + targetFileRelativePath?: string; + originalProjectName?: string; // used only for display + foundProjectCount?: number; // used only for display + displayTargetFile?: string; + target?: GitTarget | ContainerTarget | null; + fileContent: string; +} diff --git a/src/lib/types.ts b/src/lib/types.ts index d19948468dd..01a3ef21d58 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,5 +1,5 @@ import { SupportedPackageManagers } from './package-managers'; -import { SupportedCloudConfigs } from './cloud-config-projects'; +import { SupportedCloudConfigs } from './cloud-config/cloud-config-projects'; import { legacyCommon as legacyApi } from '@snyk/cli-interface'; import { SEVERITY } from './snyk-test/legacy'; import { FailOn } from './snyk-test/common';