diff --git a/lib/modules/manager/pip-compile/common.ts b/lib/modules/manager/pip-compile/common.ts index cef57dee2b9c3abe11cafd405271e4dba3e3b605..1847e10af939881d1c97b17adf9898ad1ed4cae0 100644 --- a/lib/modules/manager/pip-compile/common.ts +++ b/lib/modules/manager/pip-compile/common.ts @@ -7,11 +7,7 @@ import { ensureCacheDir } from '../../../util/fs'; import * as hostRules from '../../../util/host-rules'; import { regEx } from '../../../util/regex'; import type { PackageFileContent, UpdateArtifactsConfig } from '../types'; -import type { - DependencyBetweenFiles, - GetRegistryUrlVarsResult, - PipCompileArgs, -} from './types'; +import type { GetRegistryUrlVarsResult, PipCompileArgs } from './types'; export function getPythonConstraint( config: UpdateArtifactsConfig, @@ -217,24 +213,6 @@ function throwForUnknownOption(arg: string): void { throw new Error(`Option ${arg} not supported (yet)`); } -export function generateMermaidGraph( - depsBetweenFiles: DependencyBetweenFiles[], - lockFileArgs: Map<string, PipCompileArgs>, -): string { - const lockFiles = []; - for (const lockFile of lockFileArgs.keys()) { - // TODO: add extra args to the lock file ${extraArgs ? '\n' + extraArgs : ''} - // const extraArgs = pipCompileArgs.extra - // ?.map((v) => '--extra=' + v) - // .join('\n'); - lockFiles.push(` ${lockFile}[[${lockFile}]]`); - } - const edges = depsBetweenFiles.map(({ sourceFile, outputFile, type }) => { - return ` ${sourceFile} -${type === 'constraint' ? '.' : ''}-> ${outputFile}`; - }); - return `graph TD\n${lockFiles.join('\n')}\n${edges.join('\n')}`; -} - function buildRegistryUrl(url: string): URL | null { try { const ret = new URL(url); diff --git a/lib/modules/manager/pip-compile/extract.ts b/lib/modules/manager/pip-compile/extract.ts index 535e888b8fa6d72d6ab137d779e2bb8cda38ad8d..c66750ac66461da86e242d7b5b691898f83e14ef 100644 --- a/lib/modules/manager/pip-compile/extract.ts +++ b/lib/modules/manager/pip-compile/extract.ts @@ -3,12 +3,13 @@ import { readLocalFile } from '../../../util/fs'; import { extractPackageFile as extractRequirementsFile } from '../pip_requirements/extract'; import { extractPackageFile as extractSetupPyFile } from '../pip_setup'; import type { ExtractConfig, PackageFile, PackageFileContent } from '../types'; -import { extractHeaderCommand, generateMermaidGraph } from './common'; +import { extractHeaderCommand } from './common'; import type { DependencyBetweenFiles, PipCompileArgs, SupportedManagers, } from './types'; +import { generateMermaidGraph } from './utils'; function matchManager(filename: string): SupportedManagers | 'unknown' { if (filename.endsWith('setup.py')) { diff --git a/lib/modules/manager/pip-compile/utils.ts b/lib/modules/manager/pip-compile/utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..347fe4f24dc0f29586e9fbb46e06031a113c2a27 --- /dev/null +++ b/lib/modules/manager/pip-compile/utils.ts @@ -0,0 +1,19 @@ +import type { DependencyBetweenFiles, PipCompileArgs } from './types'; + +export function generateMermaidGraph( + depsBetweenFiles: DependencyBetweenFiles[], + lockFileArgs: Map<string, PipCompileArgs>, +): string { + const lockFiles = []; + for (const lockFile of lockFileArgs.keys()) { + // TODO: add extra args to the lock file ${extraArgs ? '\n' + extraArgs : ''} + // const extraArgs = pipCompileArgs.extra + // ?.map((v) => '--extra=' + v) + // .join('\n'); + lockFiles.push(` ${lockFile}[[${lockFile}]]`); + } + const edges = depsBetweenFiles.map(({ sourceFile, outputFile, type }) => { + return ` ${sourceFile} -${type === 'constraint' ? '.' : ''}-> ${outputFile}`; + }); + return `graph TD\n${lockFiles.join('\n')}\n${edges.join('\n')}`; +}