renovate 41.72.0 → 42.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/datasource/aws-eks-addon/schema.d.ts +8 -1
- package/dist/modules/datasource/aws-eks-addon/schema.js +5 -7
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
- package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
- package/dist/modules/datasource/cdnjs/index.js +2 -2
- package/dist/modules/datasource/cdnjs/index.js.map +1 -1
- package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
- package/dist/modules/datasource/cdnjs/schema.js +3 -3
- package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
- package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/cpan/schema.js +2 -2
- package/dist/modules/datasource/cpan/schema.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +1 -1
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/crate/schema.d.ts +1 -1
- package/dist/modules/datasource/crate/schema.js +2 -2
- package/dist/modules/datasource/crate/schema.js.map +1 -1
- package/dist/modules/datasource/custom/index.d.ts +1 -1
- package/dist/modules/datasource/custom/index.js +2 -2
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +1 -1
- package/dist/modules/datasource/custom/schema.js +2 -2
- package/dist/modules/datasource/custom/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/index.js +3 -3
- package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/schema.d.ts +2 -2
- package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
- package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/index.js +3 -3
- package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
- package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/index.js +3 -3
- package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
- package/dist/modules/datasource/gitea-releases/schema.js +3 -3
- package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/index.js +3 -3
- package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/gitea-tags/schema.js +7 -7
- package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
- package/dist/modules/datasource/helm/index.js +1 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/datasource/helm/schema.d.ts +2 -2
- package/dist/modules/datasource/helm/schema.js +4 -4
- package/dist/modules/datasource/helm/schema.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +1 -1
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/argocd/schema.d.ts +1 -1
- package/dist/modules/manager/argocd/schema.js +2 -2
- package/dist/modules/manager/argocd/schema.js.map +1 -1
- package/dist/modules/manager/batect/extract.js +1 -1
- package/dist/modules/manager/batect/extract.js.map +1 -1
- package/dist/modules/manager/batect/schema.d.ts +2 -2
- package/dist/modules/manager/batect/schema.js +2 -2
- package/dist/modules/manager/batect/schema.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +21 -21
- package/dist/modules/manager/bazel-module/parser/fragments.js +32 -32
- package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
- package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
- package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +18 -18
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +2 -2
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
- package/dist/modules/manager/cargo/locked-version.js +1 -1
- package/dist/modules/manager/cargo/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +32 -5
- package/dist/modules/manager/cargo/schema.js +8 -7
- package/dist/modules/manager/cargo/schema.js.map +1 -1
- package/dist/modules/manager/crossplane/extract.js +1 -1
- package/dist/modules/manager/crossplane/extract.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/crossplane/schema.js +2 -2
- package/dist/modules/manager/crossplane/schema.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
- package/dist/modules/manager/custom/jsonata/schema.js +4 -4
- package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/devbox/extract.js +1 -1
- package/dist/modules/manager/devbox/extract.js.map +1 -1
- package/dist/modules/manager/devbox/schema.d.ts +1 -1
- package/dist/modules/manager/devbox/schema.js +2 -2
- package/dist/modules/manager/devbox/schema.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +2 -2
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/github-actions/community.js +10 -10
- package/dist/modules/manager/github-actions/community.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +1 -1
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/schema.d.ts +3 -3
- package/dist/modules/manager/github-actions/schema.js +7 -7
- package/dist/modules/manager/github-actions/schema.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/mise/backends.d.ts +2 -2
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/schema.d.ts +29 -6
- package/dist/modules/manager/mise/schema.js +8 -7
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/dist/modules/manager/mise/utils.d.ts +2 -2
- package/dist/modules/manager/mise/utils.js +1 -1
- package/dist/modules/manager/mise/utils.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.d.ts +3 -4
- package/dist/modules/manager/npm/extract/pnpm.js +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -1
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
- package/dist/modules/manager/npm/post-update/types.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.d.ts +4 -4
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +92 -10
- package/dist/modules/manager/npm/schema.js +16 -15
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/nuget/schema.d.ts +55 -2
- package/dist/modules/manager/nuget/schema.js +6 -5
- package/dist/modules/manager/nuget/schema.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +1 -1
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/ocb/schema.d.ts +4 -4
- package/dist/modules/manager/ocb/schema.js +9 -9
- package/dist/modules/manager/ocb/schema.js.map +1 -1
- package/dist/modules/manager/pep621/extract.d.ts +1 -1
- package/dist/modules/manager/pep621/extract.js +1 -1
- package/dist/modules/manager/pep621/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +1 -1
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +247 -9
- package/dist/modules/manager/pep621/schema.js +12 -10
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep723/extract.js +1 -1
- package/dist/modules/manager/pep723/extract.js.map +1 -1
- package/dist/modules/manager/pep723/schema.d.ts +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -2
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +7 -4
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/pixi/schema.d.ts +4 -296
- package/dist/modules/manager/pixi/schema.js +4 -11
- package/dist/modules/manager/pixi/schema.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +2 -2
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +1 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +107 -4
- package/dist/modules/manager/poetry/schema.js +6 -5
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/poetry/update-locked.js +2 -2
- package/dist/modules/manager/poetry/update-locked.js.map +1 -1
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/pub/schema.d.ts +82 -4
- package/dist/modules/manager/pub/schema.js +10 -8
- package/dist/modules/manager/pub/schema.js.map +1 -1
- package/dist/modules/manager/pub/utils.d.ts +3 -3
- package/dist/modules/manager/pub/utils.js +2 -2
- package/dist/modules/manager/pub/utils.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
- package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
- package/dist/modules/platform/azure/azure-helper.js +1 -1
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/schema.d.ts +3 -3
- package/dist/modules/platform/azure/schema.js +4 -4
- package/dist/modules/platform/azure/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +1 -1
- package/dist/modules/platform/bitbucket/schema.js +7 -7
- package/dist/modules/platform/bitbucket/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +2 -2
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/schema.d.ts +2 -2
- package/dist/modules/platform/bitbucket-server/schema.js +6 -6
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +3 -3
- package/dist/modules/platform/gitea/schema.js +3 -3
- package/dist/modules/platform/gitea/schema.js.map +1 -1
- package/dist/modules/platform/github/index.js +1 -1
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/schema.d.ts +1 -2
- package/dist/modules/platform/github/schema.js +8 -8
- package/dist/modules/platform/github/schema.js.map +1 -1
- package/dist/util/cache/repository/http-cache.js +1 -1
- package/dist/util/cache/repository/http-cache.js.map +1 -1
- package/dist/util/emoji.js +2 -2
- package/dist/util/emoji.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.d.ts +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/cache/schema.js +2 -2
- package/dist/util/http/cache/schema.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/pdm.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { Result } from '../../../../util/result';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { PdmLockfile, type PyProject } from '../schema';\nimport type { Pep621ManagerData } from '../types';\nimport { depTypes } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst pdmUpdateCMD = 'pdm update --no-sync --update-eager';\n\nexport class PdmProcessor implements PyProjectProcessor {\n process(\n project: PyProject,\n deps: PackageDependency[],\n ): PackageDependency<Pep621ManagerData>[] {\n const devDependencies = project.tool?.pdm?.devDependencies;\n if (devDependencies) {\n deps.push(...devDependencies);\n }\n\n const registryUrls = project.tool?.pdm?.registryUrls;\n if (registryUrls) {\n for (const dep of deps) {\n if (dep.datasource === PypiDatasource.id) {\n dep.registryUrls = registryUrls;\n }\n }\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n if (\n !project.tool?.pdm &&\n project['build-system']?.['build-backend'] !== 'pdm.backend'\n ) {\n return Promise.resolve(deps);\n }\n\n const lockFileName = getSiblingFileName(packageFile, 'pdm.lock');\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const lockFileMapping = Result.parse(\n lockFileContent,\n PdmLockfile.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = getSiblingFileName(packageFileName, 'pdm.lock');\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No pdm.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const pdmConstraint: ToolConstraint = {\n toolName: 'pdm',\n constraint: config.constraints?.pdm,\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [pythonConstraint, pdmConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n const cmds: string[] = [];\n if (isLockFileMaintenance) {\n cmds.push(pdmUpdateCMD);\n } else {\n cmds.push(...generateCMDs(updatedDeps));\n }\n await exec(cmds, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('pdm.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update PDM lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMDs(updatedDeps: Upgrade<Pep621ManagerData>[]): string[] {\n const cmds: string[] = [];\n const packagesByCMD: Record<string, string[]> = {};\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n if (!dep.managerData?.depGroup) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected optional dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -G ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.dependencyGroups:\n case depTypes.pdmDevDependencies: {\n if (!dep.managerData?.depGroup) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected dev dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -dG ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n // Reference: https://github.com/pdm-project/pdm/discussions/2869\n break;\n default: {\n addPackageToCMDRecord(packagesByCMD, pdmUpdateCMD, dep.packageName!);\n }\n }\n }\n\n for (const commandPrefix in packagesByCMD) {\n const packageList = packagesByCMD[commandPrefix].map(quote).join(' ');\n const cmd = `${commandPrefix} ${packageList}`;\n cmds.push(cmd);\n }\n\n return cmds;\n}\n\nfunction addPackageToCMDRecord(\n packagesByCMD: Record<string, string[]>,\n commandPrefix: string,\n packageName: string,\n): void {\n if (!packagesByCMD[commandPrefix]) {\n packagesByCMD[commandPrefix] = [];\n }\n packagesByCMD[commandPrefix].push(packageName);\n}\n"]}
|
1
|
+
{"version":3,"file":"pdm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/pdm.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { Result } from '../../../../util/result';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { PdmLockfileSchema, type PyProject } from '../schema';\nimport type { Pep621ManagerData } from '../types';\nimport { depTypes } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst pdmUpdateCMD = 'pdm update --no-sync --update-eager';\n\nexport class PdmProcessor implements PyProjectProcessor {\n process(\n project: PyProject,\n deps: PackageDependency[],\n ): PackageDependency<Pep621ManagerData>[] {\n const devDependencies = project.tool?.pdm?.devDependencies;\n if (devDependencies) {\n deps.push(...devDependencies);\n }\n\n const registryUrls = project.tool?.pdm?.registryUrls;\n if (registryUrls) {\n for (const dep of deps) {\n if (dep.datasource === PypiDatasource.id) {\n dep.registryUrls = registryUrls;\n }\n }\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n if (\n !project.tool?.pdm &&\n project['build-system']?.['build-backend'] !== 'pdm.backend'\n ) {\n return Promise.resolve(deps);\n }\n\n const lockFileName = getSiblingFileName(packageFile, 'pdm.lock');\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const lockFileMapping = Result.parse(\n lockFileContent,\n PdmLockfileSchema.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = getSiblingFileName(packageFileName, 'pdm.lock');\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No pdm.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const pdmConstraint: ToolConstraint = {\n toolName: 'pdm',\n constraint: config.constraints?.pdm,\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [pythonConstraint, pdmConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n const cmds: string[] = [];\n if (isLockFileMaintenance) {\n cmds.push(pdmUpdateCMD);\n } else {\n cmds.push(...generateCMDs(updatedDeps));\n }\n await exec(cmds, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('pdm.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update PDM lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMDs(updatedDeps: Upgrade<Pep621ManagerData>[]): string[] {\n const cmds: string[] = [];\n const packagesByCMD: Record<string, string[]> = {};\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n if (!dep.managerData?.depGroup) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected optional dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -G ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.dependencyGroups:\n case depTypes.pdmDevDependencies: {\n if (!dep.managerData?.depGroup) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected dev dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -dG ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n // Reference: https://github.com/pdm-project/pdm/discussions/2869\n break;\n default: {\n addPackageToCMDRecord(packagesByCMD, pdmUpdateCMD, dep.packageName!);\n }\n }\n }\n\n for (const commandPrefix in packagesByCMD) {\n const packageList = packagesByCMD[commandPrefix].map(quote).join(' ');\n const cmd = `${commandPrefix} ${packageList}`;\n cmds.push(cmd);\n }\n\n return cmds;\n}\n\nfunction addPackageToCMDRecord(\n packagesByCMD: Record<string, string[]>,\n commandPrefix: string,\n packageName: string,\n): void {\n if (!packagesByCMD[commandPrefix]) {\n packagesByCMD[commandPrefix] = [];\n }\n packagesByCMD[commandPrefix].push(packageName);\n}\n"]}
|
@@ -101,7 +101,7 @@ class UvProcessor {
|
|
101
101
|
else {
|
102
102
|
const lockFileContent = await (0, fs_1.readLocalFile)(lockFileName, 'utf8');
|
103
103
|
if (lockFileContent) {
|
104
|
-
const { val: lockFileMapping, err } = result_1.Result.parse(lockFileContent, schema_1.
|
104
|
+
const { val: lockFileMapping, err } = result_1.Result.parse(lockFileContent, schema_1.UvLockfileSchema).unwrap();
|
105
105
|
if (err) {
|
106
106
|
logger_1.logger.debug({ packageFile, err }, `Error parsing uv lock file`);
|
107
107
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uv.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/uv.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { HostRule } from '../../../../types';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { find } from '../../../../util/host-rules';\nimport { Result } from '../../../../util/result';\nimport { parseUrl } from '../../../../util/url';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../../datasource/util';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { applyGitSource } from '../../util';\nimport { type PyProject, UvLockfile } from '../schema';\nimport { depTypes } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst uvUpdateCMD = 'uv lock';\n\nexport class UvProcessor implements PyProjectProcessor {\n process(project: PyProject, deps: PackageDependency[]): PackageDependency[] {\n const uv = project.tool?.uv;\n if (!uv) {\n return deps;\n }\n\n const hasExplicitDefault = uv.index?.some(\n (index) => index.default && index.explicit,\n );\n const defaultIndex = uv.index?.find(\n (index) => index.default && !index.explicit,\n );\n const implicitIndexUrls = uv.index\n ?.filter((index) => !index.explicit && index.name !== defaultIndex?.name)\n ?.map(({ url }) => url);\n\n const devDependencies = uv['dev-dependencies'];\n if (devDependencies) {\n deps.push(...devDependencies);\n }\n\n // https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\n // Skip sources that do not make sense to handle (e.g. path).\n if (uv.sources || defaultIndex || implicitIndexUrls) {\n for (const dep of deps) {\n // istanbul ignore if\n if (!dep.packageName) {\n continue;\n }\n\n if (dep.depType === 'requires-python') {\n continue;\n }\n\n // Using `packageName` as it applies PEP 508 normalization, which is\n // also applied by uv when matching a source to a dependency.\n const depSource = uv.sources?.[dep.packageName];\n if (depSource) {\n // Dependency is pinned to a specific source.\n dep.depType = depTypes.uvSources;\n if ('index' in depSource) {\n const index = uv.index?.find(\n ({ name }) => name === depSource.index,\n );\n if (index) {\n dep.registryUrls = [index.url];\n }\n } else if ('git' in depSource) {\n applyGitSource(\n dep,\n depSource.git,\n depSource.rev,\n depSource.tag,\n depSource.branch,\n );\n } else if ('url' in depSource) {\n dep.skipReason = 'unsupported-url';\n } else if ('path' in depSource) {\n dep.skipReason = 'path-dependency';\n } else if ('workspace' in depSource) {\n dep.skipReason = 'inherited-dependency';\n } else {\n dep.skipReason = 'unknown-registry';\n }\n } else {\n // Dependency is not pinned to a specific source, so we need to\n // determine the source based on the index configuration.\n if (hasExplicitDefault) {\n // don't fall back to pypi if there is an explicit default index\n dep.registryUrls = [];\n } else if (defaultIndex) {\n // There is a default index configured, so use it.\n dep.registryUrls = [defaultIndex.url];\n }\n\n if (implicitIndexUrls?.length) {\n // If there are implicit indexes, check them first and fall back\n // to the default.\n dep.registryUrls = implicitIndexUrls.concat(\n dep.registryUrls ?? PypiDatasource.defaultURL,\n );\n }\n }\n }\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n const lockFileName = await findLocalSiblingOrParent(packageFile, 'uv.lock');\n if (lockFileName === null) {\n logger.debug({ packageFile }, `No uv lock file found`);\n } else {\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const { val: lockFileMapping, err } = Result.parse(\n lockFileContent,\n UvLockfile,\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `Error parsing uv lock file`);\n } else {\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'uv.lock',\n );\n if (lockFileName === null) {\n logger.debug({ packageFileName }, `No uv lock file found`);\n return null;\n }\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No uv.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const uvConstraint: ToolConstraint = {\n toolName: 'uv',\n constraint:\n config.constraints?.uv ?? project.tool?.uv?.['required-version'],\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n ...(await getUvExtraIndexUrl(project, updateArtifact.updatedDeps)),\n ...(await getUvIndexCredentials(project)),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [pythonConstraint, uvConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n let cmd: string;\n if (isLockFileMaintenance) {\n cmd = `${uvUpdateCMD} --upgrade`;\n } else {\n cmd = generateCMD(updatedDeps);\n }\n await exec(cmd, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('uv.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update uv lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMD(updatedDeps: Upgrade[]): string {\n const deps: string[] = [];\n\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n deps.push(dep.depName!);\n break;\n }\n case depTypes.uvDevDependencies:\n case depTypes.uvSources: {\n deps.push(dep.depName!);\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n break;\n default: {\n deps.push(dep.packageName!);\n }\n }\n }\n\n return `${uvUpdateCMD} ${deps.map((dep) => `--upgrade-package ${quote(dep)}`).join(' ')}`;\n}\n\nfunction getMatchingHostRule(url: string | undefined): HostRule {\n return find({ hostType: PypiDatasource.id, url });\n}\n\nasync function getUsernamePassword(\n url: URL,\n): Promise<{ username?: string; password?: string }> {\n const rule = getMatchingHostRule(url.toString());\n if (rule.username || rule.password) {\n return rule;\n }\n\n if (url.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule) {\n return hostRule;\n } else {\n logger.once.debug({ url }, 'Could not get Google access token');\n }\n }\n\n return {};\n}\n\nasync function getUvExtraIndexUrl(\n project: PyProject,\n deps: Upgrade[],\n): Promise<NodeJS.ProcessEnv> {\n const pyPiRegistryUrls = deps\n .filter((dep) => dep.datasource === PypiDatasource.id)\n .filter((dep) => {\n // Remove dependencies that are pinned to a specific index\n const sources = project.tool?.uv?.sources;\n const packageName = dep.packageName!;\n return !sources || !(packageName in sources);\n })\n .flatMap((dep) => dep.registryUrls)\n .filter(is.string)\n .filter((registryUrl) => {\n // Check if the registry URL is not the default one and not already configured\n const configuredIndexUrls =\n project.tool?.uv?.index?.map(({ url }) => url) ?? [];\n return (\n registryUrl !== PypiDatasource.defaultURL &&\n !configuredIndexUrls.includes(registryUrl)\n );\n });\n\n const registryUrls = new Set(pyPiRegistryUrls);\n const extraIndexUrls: string[] = [];\n\n for (const registryUrl of registryUrls) {\n const parsedUrl = parseUrl(registryUrl);\n if (!parsedUrl) {\n continue;\n }\n\n const { username, password } = await getUsernamePassword(parsedUrl);\n if (username || password) {\n if (username) {\n parsedUrl.username = username;\n }\n if (password) {\n parsedUrl.password = password;\n }\n }\n\n extraIndexUrls.push(parsedUrl.toString());\n }\n\n return {\n UV_EXTRA_INDEX_URL: extraIndexUrls.join(' '),\n };\n}\n\nasync function getUvIndexCredentials(\n project: PyProject,\n): Promise<NodeJS.ProcessEnv> {\n const uv_indexes = project.tool?.uv?.index;\n\n if (!uv_indexes) {\n return {};\n }\n\n const entries = [];\n\n for (const { name, url } of uv_indexes) {\n const parsedUrl = parseUrl(url);\n // istanbul ignore if\n if (!parsedUrl) {\n continue;\n }\n\n // If no name is provided for the index, authentication information must be passed through alternative methods\n if (!name) {\n continue;\n }\n\n const { username, password } = await getUsernamePassword(parsedUrl);\n\n const NAME = name.toUpperCase().replace(/[^A-Z0-9]/g, '_');\n\n if (username) {\n entries.push([`UV_INDEX_${NAME}_USERNAME`, username]);\n }\n\n if (password) {\n entries.push([`UV_INDEX_${NAME}_PASSWORD`, password]);\n }\n }\n\n return Object.fromEntries(entries);\n}\n"]}
|
1
|
+
{"version":3,"file":"uv.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/uv.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { HostRule } from '../../../../types';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { find } from '../../../../util/host-rules';\nimport { Result } from '../../../../util/result';\nimport { parseUrl } from '../../../../util/url';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../../datasource/util';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { applyGitSource } from '../../util';\nimport { type PyProject, UvLockfileSchema } from '../schema';\nimport { depTypes } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst uvUpdateCMD = 'uv lock';\n\nexport class UvProcessor implements PyProjectProcessor {\n process(project: PyProject, deps: PackageDependency[]): PackageDependency[] {\n const uv = project.tool?.uv;\n if (!uv) {\n return deps;\n }\n\n const hasExplicitDefault = uv.index?.some(\n (index) => index.default && index.explicit,\n );\n const defaultIndex = uv.index?.find(\n (index) => index.default && !index.explicit,\n );\n const implicitIndexUrls = uv.index\n ?.filter((index) => !index.explicit && index.name !== defaultIndex?.name)\n ?.map(({ url }) => url);\n\n const devDependencies = uv['dev-dependencies'];\n if (devDependencies) {\n deps.push(...devDependencies);\n }\n\n // https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\n // Skip sources that do not make sense to handle (e.g. path).\n if (uv.sources || defaultIndex || implicitIndexUrls) {\n for (const dep of deps) {\n // istanbul ignore if\n if (!dep.packageName) {\n continue;\n }\n\n if (dep.depType === 'requires-python') {\n continue;\n }\n\n // Using `packageName` as it applies PEP 508 normalization, which is\n // also applied by uv when matching a source to a dependency.\n const depSource = uv.sources?.[dep.packageName];\n if (depSource) {\n // Dependency is pinned to a specific source.\n dep.depType = depTypes.uvSources;\n if ('index' in depSource) {\n const index = uv.index?.find(\n ({ name }) => name === depSource.index,\n );\n if (index) {\n dep.registryUrls = [index.url];\n }\n } else if ('git' in depSource) {\n applyGitSource(\n dep,\n depSource.git,\n depSource.rev,\n depSource.tag,\n depSource.branch,\n );\n } else if ('url' in depSource) {\n dep.skipReason = 'unsupported-url';\n } else if ('path' in depSource) {\n dep.skipReason = 'path-dependency';\n } else if ('workspace' in depSource) {\n dep.skipReason = 'inherited-dependency';\n } else {\n dep.skipReason = 'unknown-registry';\n }\n } else {\n // Dependency is not pinned to a specific source, so we need to\n // determine the source based on the index configuration.\n if (hasExplicitDefault) {\n // don't fall back to pypi if there is an explicit default index\n dep.registryUrls = [];\n } else if (defaultIndex) {\n // There is a default index configured, so use it.\n dep.registryUrls = [defaultIndex.url];\n }\n\n if (implicitIndexUrls?.length) {\n // If there are implicit indexes, check them first and fall back\n // to the default.\n dep.registryUrls = implicitIndexUrls.concat(\n dep.registryUrls ?? PypiDatasource.defaultURL,\n );\n }\n }\n }\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n const lockFileName = await findLocalSiblingOrParent(packageFile, 'uv.lock');\n if (lockFileName === null) {\n logger.debug({ packageFile }, `No uv lock file found`);\n } else {\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const { val: lockFileMapping, err } = Result.parse(\n lockFileContent,\n UvLockfileSchema,\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `Error parsing uv lock file`);\n } else {\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'uv.lock',\n );\n if (lockFileName === null) {\n logger.debug({ packageFileName }, `No uv lock file found`);\n return null;\n }\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No uv.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const uvConstraint: ToolConstraint = {\n toolName: 'uv',\n constraint:\n config.constraints?.uv ?? project.tool?.uv?.['required-version'],\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n ...(await getUvExtraIndexUrl(project, updateArtifact.updatedDeps)),\n ...(await getUvIndexCredentials(project)),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [pythonConstraint, uvConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n let cmd: string;\n if (isLockFileMaintenance) {\n cmd = `${uvUpdateCMD} --upgrade`;\n } else {\n cmd = generateCMD(updatedDeps);\n }\n await exec(cmd, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('uv.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update uv lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMD(updatedDeps: Upgrade[]): string {\n const deps: string[] = [];\n\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n deps.push(dep.depName!);\n break;\n }\n case depTypes.uvDevDependencies:\n case depTypes.uvSources: {\n deps.push(dep.depName!);\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n break;\n default: {\n deps.push(dep.packageName!);\n }\n }\n }\n\n return `${uvUpdateCMD} ${deps.map((dep) => `--upgrade-package ${quote(dep)}`).join(' ')}`;\n}\n\nfunction getMatchingHostRule(url: string | undefined): HostRule {\n return find({ hostType: PypiDatasource.id, url });\n}\n\nasync function getUsernamePassword(\n url: URL,\n): Promise<{ username?: string; password?: string }> {\n const rule = getMatchingHostRule(url.toString());\n if (rule.username || rule.password) {\n return rule;\n }\n\n if (url.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule) {\n return hostRule;\n } else {\n logger.once.debug({ url }, 'Could not get Google access token');\n }\n }\n\n return {};\n}\n\nasync function getUvExtraIndexUrl(\n project: PyProject,\n deps: Upgrade[],\n): Promise<NodeJS.ProcessEnv> {\n const pyPiRegistryUrls = deps\n .filter((dep) => dep.datasource === PypiDatasource.id)\n .filter((dep) => {\n // Remove dependencies that are pinned to a specific index\n const sources = project.tool?.uv?.sources;\n const packageName = dep.packageName!;\n return !sources || !(packageName in sources);\n })\n .flatMap((dep) => dep.registryUrls)\n .filter(is.string)\n .filter((registryUrl) => {\n // Check if the registry URL is not the default one and not already configured\n const configuredIndexUrls =\n project.tool?.uv?.index?.map(({ url }) => url) ?? [];\n return (\n registryUrl !== PypiDatasource.defaultURL &&\n !configuredIndexUrls.includes(registryUrl)\n );\n });\n\n const registryUrls = new Set(pyPiRegistryUrls);\n const extraIndexUrls: string[] = [];\n\n for (const registryUrl of registryUrls) {\n const parsedUrl = parseUrl(registryUrl);\n if (!parsedUrl) {\n continue;\n }\n\n const { username, password } = await getUsernamePassword(parsedUrl);\n if (username || password) {\n if (username) {\n parsedUrl.username = username;\n }\n if (password) {\n parsedUrl.password = password;\n }\n }\n\n extraIndexUrls.push(parsedUrl.toString());\n }\n\n return {\n UV_EXTRA_INDEX_URL: extraIndexUrls.join(' '),\n };\n}\n\nasync function getUvIndexCredentials(\n project: PyProject,\n): Promise<NodeJS.ProcessEnv> {\n const uv_indexes = project.tool?.uv?.index;\n\n if (!uv_indexes) {\n return {};\n }\n\n const entries = [];\n\n for (const { name, url } of uv_indexes) {\n const parsedUrl = parseUrl(url);\n // istanbul ignore if\n if (!parsedUrl) {\n continue;\n }\n\n // If no name is provided for the index, authentication information must be passed through alternative methods\n if (!name) {\n continue;\n }\n\n const { username, password } = await getUsernamePassword(parsedUrl);\n\n const NAME = name.toUpperCase().replace(/[^A-Z0-9]/g, '_');\n\n if (username) {\n entries.push([`UV_INDEX_${NAME}_USERNAME`, username]);\n }\n\n if (password) {\n entries.push([`UV_INDEX_${NAME}_PASSWORD`, password]);\n }\n }\n\n return Object.fromEntries(entries);\n}\n"]}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
import type { PackageDependency } from '../types';
|
3
|
-
type
|
4
|
-
|
3
|
+
export type PyProject = z.infer<typeof PyProjectSchema>;
|
4
|
+
type DependencyGroupSchema = z.ZodType<PackageDependency<Record<string, any>>[]>;
|
5
5
|
declare const UvGitSource: z.ZodObject<{
|
6
6
|
git: z.ZodString;
|
7
7
|
rev: z.ZodOptional<z.ZodString>;
|
@@ -19,12 +19,12 @@ declare const UvGitSource: z.ZodObject<{
|
|
19
19
|
tag?: string | undefined;
|
20
20
|
}>;
|
21
21
|
export type UvGitSource = z.infer<typeof UvGitSource>;
|
22
|
-
export declare const
|
22
|
+
export declare const PyProjectSchema: z.ZodObject<{
|
23
23
|
project: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
24
24
|
version: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
25
25
|
'requires-python': z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
26
26
|
dependencies: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, PackageDependency<Record<string, any>>[], any[]>>;
|
27
|
-
'optional-dependencies': z.ZodCatch<
|
27
|
+
'optional-dependencies': z.ZodCatch<DependencyGroupSchema>;
|
28
28
|
}, "strip", z.ZodTypeAny, {
|
29
29
|
dependencies: PackageDependency<Record<string, any>>[];
|
30
30
|
'optional-dependencies': PackageDependency<Record<string, any>>[];
|
@@ -46,10 +46,194 @@ export declare const PyProject: z.ZodObject<{
|
|
46
46
|
requires?: unknown;
|
47
47
|
'build-backend'?: unknown;
|
48
48
|
}>>>;
|
49
|
-
'dependency-groups': z.ZodCatch<
|
49
|
+
'dependency-groups': z.ZodCatch<DependencyGroupSchema>;
|
50
50
|
tool: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
51
|
+
pixi: z.ZodCatch<z.ZodOptional<z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
52
|
+
workspace: z.ZodObject<{
|
53
|
+
channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
54
|
+
channel: z.ZodString;
|
55
|
+
priority: z.ZodNumber;
|
56
|
+
}, "strip", z.ZodTypeAny, {
|
57
|
+
priority: number;
|
58
|
+
channel: string;
|
59
|
+
}, {
|
60
|
+
priority: number;
|
61
|
+
channel: string;
|
62
|
+
}>]>, "many">>;
|
63
|
+
'requires-pixi': z.ZodOptional<z.ZodString>;
|
64
|
+
'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
|
65
|
+
}, "strip", z.ZodTypeAny, {
|
66
|
+
channels: (string | {
|
67
|
+
priority: number;
|
68
|
+
channel: string;
|
69
|
+
})[];
|
70
|
+
'channel-priority': "disabled" | "strict";
|
71
|
+
'requires-pixi'?: string | undefined;
|
72
|
+
}, {
|
73
|
+
channels?: (string | {
|
74
|
+
priority: number;
|
75
|
+
channel: string;
|
76
|
+
})[] | undefined;
|
77
|
+
'requires-pixi'?: string | undefined;
|
78
|
+
'channel-priority'?: "disabled" | "strict" | undefined;
|
79
|
+
}>;
|
80
|
+
}, "strip", z.ZodTypeAny, {
|
81
|
+
workspace: {
|
82
|
+
channels: (string | {
|
83
|
+
priority: number;
|
84
|
+
channel: string;
|
85
|
+
})[];
|
86
|
+
'channel-priority': "disabled" | "strict";
|
87
|
+
'requires-pixi'?: string | undefined;
|
88
|
+
};
|
89
|
+
}, {
|
90
|
+
workspace: {
|
91
|
+
channels?: (string | {
|
92
|
+
priority: number;
|
93
|
+
channel: string;
|
94
|
+
})[] | undefined;
|
95
|
+
'requires-pixi'?: string | undefined;
|
96
|
+
'channel-priority'?: "disabled" | "strict" | undefined;
|
97
|
+
};
|
98
|
+
}>, {
|
99
|
+
project: {
|
100
|
+
channels: (string | {
|
101
|
+
priority: number;
|
102
|
+
channel: string;
|
103
|
+
})[];
|
104
|
+
'channel-priority': "disabled" | "strict";
|
105
|
+
'requires-pixi'?: string | undefined;
|
106
|
+
};
|
107
|
+
}, {
|
108
|
+
workspace: {
|
109
|
+
channels?: (string | {
|
110
|
+
priority: number;
|
111
|
+
channel: string;
|
112
|
+
})[] | undefined;
|
113
|
+
'requires-pixi'?: string | undefined;
|
114
|
+
'channel-priority'?: "disabled" | "strict" | undefined;
|
115
|
+
};
|
116
|
+
}>, z.ZodObject<{
|
117
|
+
project: z.ZodObject<{
|
118
|
+
channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
119
|
+
channel: z.ZodString;
|
120
|
+
priority: z.ZodNumber;
|
121
|
+
}, "strip", z.ZodTypeAny, {
|
122
|
+
priority: number;
|
123
|
+
channel: string;
|
124
|
+
}, {
|
125
|
+
priority: number;
|
126
|
+
channel: string;
|
127
|
+
}>]>, "many">>;
|
128
|
+
'requires-pixi': z.ZodOptional<z.ZodString>;
|
129
|
+
'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
|
130
|
+
}, "strip", z.ZodTypeAny, {
|
131
|
+
channels: (string | {
|
132
|
+
priority: number;
|
133
|
+
channel: string;
|
134
|
+
})[];
|
135
|
+
'channel-priority': "disabled" | "strict";
|
136
|
+
'requires-pixi'?: string | undefined;
|
137
|
+
}, {
|
138
|
+
channels?: (string | {
|
139
|
+
priority: number;
|
140
|
+
channel: string;
|
141
|
+
})[] | undefined;
|
142
|
+
'requires-pixi'?: string | undefined;
|
143
|
+
'channel-priority'?: "disabled" | "strict" | undefined;
|
144
|
+
}>;
|
145
|
+
}, "strip", z.ZodTypeAny, {
|
146
|
+
project: {
|
147
|
+
channels: (string | {
|
148
|
+
priority: number;
|
149
|
+
channel: string;
|
150
|
+
})[];
|
151
|
+
'channel-priority': "disabled" | "strict";
|
152
|
+
'requires-pixi'?: string | undefined;
|
153
|
+
};
|
154
|
+
}, {
|
155
|
+
project: {
|
156
|
+
channels?: (string | {
|
157
|
+
priority: number;
|
158
|
+
channel: string;
|
159
|
+
})[] | undefined;
|
160
|
+
'requires-pixi'?: string | undefined;
|
161
|
+
'channel-priority'?: "disabled" | "strict" | undefined;
|
162
|
+
};
|
163
|
+
}>]>, z.ZodObject<{
|
164
|
+
feature: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
|
165
|
+
channels?: (string | {
|
166
|
+
priority: number;
|
167
|
+
channel: string;
|
168
|
+
})[] | undefined;
|
169
|
+
} & {
|
170
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
171
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
172
|
+
}>, Record<string, any>>, {
|
173
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
174
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
175
|
+
}, Record<string, any>>>;
|
176
|
+
}, "strip", z.ZodTypeAny, {
|
177
|
+
feature: {
|
178
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
179
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
180
|
+
};
|
181
|
+
}, {
|
182
|
+
feature?: Record<string, any> | undefined;
|
183
|
+
}>>, z.ZodEffects<z.ZodObject<{
|
184
|
+
dependencies: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
|
185
|
+
currentValue: string;
|
186
|
+
versioning: string;
|
187
|
+
datasource: string;
|
188
|
+
channel: string | undefined;
|
189
|
+
}>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
|
190
|
+
'pypi-dependencies': z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
|
191
|
+
currentValue: string;
|
192
|
+
versioning: string;
|
193
|
+
datasource: string;
|
194
|
+
} | {
|
195
|
+
currentValue: string | undefined;
|
196
|
+
packageName: string;
|
197
|
+
datasource: string;
|
198
|
+
versioning: string;
|
199
|
+
skipStage: "extract";
|
200
|
+
skipReason: "unspecified-version";
|
201
|
+
} | {
|
202
|
+
currentValue: string;
|
203
|
+
packageName: string;
|
204
|
+
datasource: string;
|
205
|
+
versioning: string;
|
206
|
+
skipStage?: undefined;
|
207
|
+
skipReason?: undefined;
|
208
|
+
}>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
|
209
|
+
target: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
|
210
|
+
dependencies: PackageDependency<Record<string, any>>[];
|
211
|
+
'pypi-dependencies': PackageDependency<Record<string, any>>[];
|
212
|
+
}>, Record<string, any>>, {
|
213
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
214
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
215
|
+
}, Record<string, any>>>>;
|
216
|
+
}, "strip", z.ZodTypeAny, {
|
217
|
+
target: {
|
218
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
219
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
220
|
+
};
|
221
|
+
dependencies: PackageDependency<Record<string, any>>[];
|
222
|
+
'pypi-dependencies': PackageDependency<Record<string, any>>[];
|
223
|
+
}, {
|
224
|
+
target?: Record<string, any> | undefined;
|
225
|
+
dependencies?: Record<string, any> | undefined;
|
226
|
+
'pypi-dependencies'?: Record<string, any> | undefined;
|
227
|
+
}>, {
|
228
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
229
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
230
|
+
}, {
|
231
|
+
target?: Record<string, any> | undefined;
|
232
|
+
dependencies?: Record<string, any> | undefined;
|
233
|
+
'pypi-dependencies'?: Record<string, any> | undefined;
|
234
|
+
}>>>>;
|
51
235
|
pdm: z.ZodCatch<z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
52
|
-
'dev-dependencies': z.ZodCatch<
|
236
|
+
'dev-dependencies': z.ZodCatch<DependencyGroupSchema>;
|
53
237
|
source: z.ZodCatch<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
54
238
|
url: string;
|
55
239
|
name: string;
|
@@ -150,6 +334,33 @@ export declare const PyProject: z.ZodObject<{
|
|
150
334
|
'required-version'?: string | undefined;
|
151
335
|
}>>>;
|
152
336
|
}, "strip", z.ZodTypeAny, {
|
337
|
+
pixi?: ((({
|
338
|
+
project: {
|
339
|
+
channels: (string | {
|
340
|
+
priority: number;
|
341
|
+
channel: string;
|
342
|
+
})[];
|
343
|
+
'channel-priority': "disabled" | "strict";
|
344
|
+
'requires-pixi'?: string | undefined;
|
345
|
+
};
|
346
|
+
} | {
|
347
|
+
project: {
|
348
|
+
channels: (string | {
|
349
|
+
priority: number;
|
350
|
+
channel: string;
|
351
|
+
})[];
|
352
|
+
'channel-priority': "disabled" | "strict";
|
353
|
+
'requires-pixi'?: string | undefined;
|
354
|
+
};
|
355
|
+
}) & {
|
356
|
+
feature: {
|
357
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
358
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
359
|
+
};
|
360
|
+
}) & {
|
361
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
362
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
363
|
+
}) | undefined;
|
153
364
|
uv?: {
|
154
365
|
'dev-dependencies': PackageDependency<Record<string, any>>[];
|
155
366
|
sources?: Record<string, {
|
@@ -182,6 +393,7 @@ export declare const PyProject: z.ZodObject<{
|
|
182
393
|
deps: PackageDependency<Record<string, any>>[];
|
183
394
|
} | undefined;
|
184
395
|
}, {
|
396
|
+
pixi?: unknown;
|
185
397
|
uv?: unknown;
|
186
398
|
pdm?: unknown;
|
187
399
|
hatch?: unknown;
|
@@ -195,6 +407,33 @@ export declare const PyProject: z.ZodObject<{
|
|
195
407
|
'requires-python'?: string | undefined;
|
196
408
|
} | undefined;
|
197
409
|
tool?: {
|
410
|
+
pixi?: ((({
|
411
|
+
project: {
|
412
|
+
channels: (string | {
|
413
|
+
priority: number;
|
414
|
+
channel: string;
|
415
|
+
})[];
|
416
|
+
'channel-priority': "disabled" | "strict";
|
417
|
+
'requires-pixi'?: string | undefined;
|
418
|
+
};
|
419
|
+
} | {
|
420
|
+
project: {
|
421
|
+
channels: (string | {
|
422
|
+
priority: number;
|
423
|
+
channel: string;
|
424
|
+
})[];
|
425
|
+
'channel-priority': "disabled" | "strict";
|
426
|
+
'requires-pixi'?: string | undefined;
|
427
|
+
};
|
428
|
+
}) & {
|
429
|
+
feature: {
|
430
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
431
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
432
|
+
};
|
433
|
+
}) & {
|
434
|
+
pypi: import("../pixi/schema").PixiPackageDependency[];
|
435
|
+
conda: import("../pixi/schema").PixiPackageDependency[];
|
436
|
+
}) | undefined;
|
198
437
|
uv?: {
|
199
438
|
'dev-dependencies': PackageDependency<Record<string, any>>[];
|
200
439
|
sources?: Record<string, {
|
@@ -237,8 +476,7 @@ export declare const PyProject: z.ZodObject<{
|
|
237
476
|
'dependency-groups'?: unknown;
|
238
477
|
'build-system'?: unknown;
|
239
478
|
}>;
|
240
|
-
export
|
241
|
-
export declare const PdmLockfile: z.ZodEffects<z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
479
|
+
export declare const PdmLockfileSchema: z.ZodEffects<z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
242
480
|
package: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
243
481
|
name: string;
|
244
482
|
version: string;
|
@@ -257,7 +495,7 @@ export declare const PdmLockfile: z.ZodEffects<z.ZodEffects<z.ZodPipeline<z.ZodE
|
|
257
495
|
[k: string]: string;
|
258
496
|
};
|
259
497
|
}, string>;
|
260
|
-
export declare const
|
498
|
+
export declare const UvLockfileSchema: z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
261
499
|
package: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
262
500
|
name: string;
|
263
501
|
version: string;
|
@@ -1,10 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.UvLockfileSchema = exports.PdmLockfileSchema = exports.PyProjectSchema = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
5
|
const schema_utils_1 = require("../../../util/schema-utils");
|
6
6
|
const pypi_1 = require("../../datasource/pypi");
|
7
7
|
const common_1 = require("../../datasource/pypi/common");
|
8
|
+
const schema_1 = require("../pixi/schema");
|
8
9
|
const utils_1 = require("./utils");
|
9
10
|
function Pep508Dependency(depType) {
|
10
11
|
return zod_1.z.string().transform((x, ctx) => {
|
@@ -35,7 +36,7 @@ function DependencyGroup(depType) {
|
|
35
36
|
return deps;
|
36
37
|
});
|
37
38
|
}
|
38
|
-
const
|
39
|
+
const PdmSchema = zod_1.z
|
39
40
|
.object({
|
40
41
|
'dev-dependencies': DependencyGroup(utils_1.depTypes.pdmDevDependencies).catch([]),
|
41
42
|
source: (0, schema_utils_1.LooseArray)(zod_1.z.object({
|
@@ -65,7 +66,7 @@ const PdmConfig = zod_1.z
|
|
65
66
|
devDependencies,
|
66
67
|
registryUrls,
|
67
68
|
}));
|
68
|
-
const
|
69
|
+
const HatchSchema = zod_1.z
|
69
70
|
.object({
|
70
71
|
envs: (0, schema_utils_1.LooseRecord)(zod_1.z.string(), zod_1.z.object({
|
71
72
|
dependencies: zod_1.z.unknown(),
|
@@ -108,7 +109,7 @@ const UvSource = zod_1.z.union([
|
|
108
109
|
UvPathSource,
|
109
110
|
UvWorkspaceSource,
|
110
111
|
]);
|
111
|
-
const
|
112
|
+
const UvSchema = zod_1.z.object({
|
112
113
|
'dev-dependencies': (0, schema_utils_1.LooseArray)(Pep508Dependency(utils_1.depTypes.uvDevDependencies)).catch([]),
|
113
114
|
'required-version': zod_1.z.string().optional(),
|
114
115
|
sources: (0, schema_utils_1.LooseRecord)(
|
@@ -123,7 +124,7 @@ const UvConfig = zod_1.z.object({
|
|
123
124
|
}))
|
124
125
|
.optional(),
|
125
126
|
});
|
126
|
-
exports.
|
127
|
+
exports.PyProjectSchema = zod_1.z.object({
|
127
128
|
project: zod_1.z
|
128
129
|
.object({
|
129
130
|
version: zod_1.z.string().optional().catch(undefined),
|
@@ -143,14 +144,15 @@ exports.PyProject = zod_1.z.object({
|
|
143
144
|
'dependency-groups': DependencyGroup(utils_1.depTypes.dependencyGroups).catch([]),
|
144
145
|
tool: zod_1.z
|
145
146
|
.object({
|
146
|
-
|
147
|
-
|
148
|
-
|
147
|
+
pixi: schema_1.PixiConfigSchema.optional().catch(undefined),
|
148
|
+
pdm: PdmSchema.optional().catch(undefined),
|
149
|
+
hatch: HatchSchema.optional().catch(undefined),
|
150
|
+
uv: UvSchema.optional().catch(undefined),
|
149
151
|
})
|
150
152
|
.optional()
|
151
153
|
.catch(undefined),
|
152
154
|
});
|
153
|
-
exports.
|
155
|
+
exports.PdmLockfileSchema = schema_utils_1.Toml.pipe(zod_1.z.object({
|
154
156
|
package: (0, schema_utils_1.LooseArray)(zod_1.z.object({
|
155
157
|
name: zod_1.z.string(),
|
156
158
|
version: zod_1.z.string(),
|
@@ -158,7 +160,7 @@ exports.PdmLockfile = schema_utils_1.Toml.pipe(zod_1.z.object({
|
|
158
160
|
}))
|
159
161
|
.transform(({ package: pkg }) => Object.fromEntries(pkg.map(({ name, version }) => [name, version])))
|
160
162
|
.transform((lock) => ({ lock }));
|
161
|
-
exports.
|
163
|
+
exports.UvLockfileSchema = schema_utils_1.Toml.pipe(zod_1.z.object({
|
162
164
|
package: (0, schema_utils_1.LooseArray)(zod_1.z.object({
|
163
165
|
name: zod_1.z.string(),
|
164
166
|
version: zod_1.z.string(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pep621/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { LooseArray, LooseRecord, Toml } from '../../../util/schema-utils';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type { PackageDependency } from '../types';\nimport { depTypes, pep508ToPackageDependency } from './utils';\n\ntype Pep508Dependency = z.ZodType<PackageDependency<Record<string, any>>>;\n\nfunction Pep508Dependency(depType: string): Pep508Dependency {\n return z.string().transform((x, ctx) => {\n const res = pep508ToPackageDependency(depType, x);\n\n if (!res) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'should be a valid PEP508 dependency',\n fatal: true,\n });\n\n return z.NEVER;\n }\n\n return res;\n }) as Pep508Dependency;\n}\n\ntype DependencyGroup = z.ZodType<PackageDependency<Record<string, any>>[]>;\n\nfunction DependencyGroup(depType: string): DependencyGroup {\n return LooseRecord(LooseArray(Pep508Dependency(depType))).transform(\n (depGroups) => {\n const deps: PackageDependency[] = [];\n for (const [depGroup, groupDeps] of Object.entries(depGroups)) {\n for (const dep of groupDeps) {\n if (dep.packageName) {\n dep.depName = dep.packageName;\n }\n dep.managerData = { depGroup };\n deps.push(dep);\n }\n }\n return deps;\n },\n ) as unknown as DependencyGroup;\n}\n\nconst PdmConfig = z\n .object({\n 'dev-dependencies': DependencyGroup(depTypes.pdmDevDependencies).catch([]),\n source: LooseArray(\n z.object({\n url: z.string(),\n name: z.string(),\n }),\n )\n .transform((pdmSource) => {\n const registryUrls: string[] = [];\n\n let containsPyPiUrl = false;\n for (const source of pdmSource) {\n if (source.name === 'pypi') {\n containsPyPiUrl = true;\n }\n\n registryUrls.push(source.url);\n }\n\n // Add pypi default url, if there is no source declared with the name `pypi`\n // @see https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n if (!containsPyPiUrl) {\n registryUrls.unshift(PypiDatasource.defaultURL);\n }\n\n return registryUrls;\n })\n .optional()\n .catch(undefined),\n })\n .transform(\n ({ 'dev-dependencies': devDependencies, source: registryUrls }) => ({\n devDependencies,\n registryUrls,\n }),\n );\n\nconst HatchConfig = z\n .object({\n envs: LooseRecord(\n z.string(),\n z.object({\n dependencies: z.unknown(),\n 'extra-dependencies': z.unknown(),\n }),\n ),\n })\n .catch({ envs: {} })\n .transform(({ envs }) => {\n const deps: PackageDependency[] = [];\n for (const [\n envName,\n { dependencies, 'extra-dependencies': extraDependencies },\n ] of Object.entries(envs)) {\n const depType = `tool.hatch.envs.${envName}`;\n const HatchDependency = LooseArray(Pep508Dependency(depType)).catch([]);\n deps.push(\n ...HatchDependency.parse(dependencies),\n ...HatchDependency.parse(extraDependencies),\n );\n }\n return { deps };\n });\n\nconst UvIndexSource = z.object({\n index: z.string(),\n});\n\nconst UvGitSource = z.object({\n git: z.string(),\n rev: z.string().optional(),\n tag: z.string().optional(),\n branch: z.string().optional(),\n});\nexport type UvGitSource = z.infer<typeof UvGitSource>;\n\nconst UvUrlSource = z.object({\n url: z.string(),\n});\n\nconst UvPathSource = z.object({\n path: z.string(),\n});\n\nconst UvWorkspaceSource = z.object({\n workspace: z.literal(true),\n});\n\n// https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\nconst UvSource = z.union([\n UvIndexSource,\n UvGitSource,\n UvUrlSource,\n UvPathSource,\n UvWorkspaceSource,\n]);\n\nconst UvConfig = z.object({\n 'dev-dependencies': LooseArray(\n Pep508Dependency(depTypes.uvDevDependencies),\n ).catch([]),\n 'required-version': z.string().optional(),\n sources: LooseRecord(\n // uv applies the same normalization as for Python dependencies on sources\n z.string().transform((source) => normalizePythonDepName(source)),\n UvSource,\n ).optional(),\n index: z\n .array(\n z.object({\n name: z.string().optional(),\n url: z.string(),\n default: z.boolean().default(false),\n explicit: z.boolean().default(false),\n }),\n )\n .optional(),\n});\n\nexport const PyProject = z.object({\n project: z\n .object({\n version: z.string().optional().catch(undefined),\n 'requires-python': z.string().optional().catch(undefined),\n dependencies: LooseArray(Pep508Dependency(depTypes.dependencies)).catch(\n [],\n ),\n 'optional-dependencies': DependencyGroup(\n depTypes.optionalDependencies,\n ).catch([]),\n })\n .optional()\n .catch(undefined),\n 'build-system': z\n .object({\n requires: LooseArray(\n Pep508Dependency(depTypes.buildSystemRequires),\n ).catch([]),\n 'build-backend': z.string().optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n 'dependency-groups': DependencyGroup(depTypes.dependencyGroups).catch([]),\n tool: z\n .object({\n pdm: PdmConfig.optional().catch(undefined),\n hatch: HatchConfig.optional().catch(undefined),\n uv: UvConfig.optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n});\nexport type PyProject = z.infer<typeof PyProject>;\n\nexport const PdmLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n)\n .transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n )\n .transform((lock) => ({ lock }));\n\nexport const UvLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n).transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n);\n"]}
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pep621/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { LooseArray, LooseRecord, Toml } from '../../../util/schema-utils';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport { PixiConfigSchema } from '../pixi/schema';\nimport type { PackageDependency } from '../types';\nimport { depTypes, pep508ToPackageDependency } from './utils';\n\nexport type PyProject = z.infer<typeof PyProjectSchema>;\n\ntype Pep508DependencySchema = z.ZodType<PackageDependency<Record<string, any>>>;\n\nfunction Pep508Dependency(depType: string): Pep508DependencySchema {\n return z.string().transform((x, ctx) => {\n const res = pep508ToPackageDependency(depType, x);\n\n if (!res) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'should be a valid PEP508 dependency',\n fatal: true,\n });\n\n return z.NEVER;\n }\n\n return res;\n }) as Pep508DependencySchema;\n}\n\ntype DependencyGroupSchema = z.ZodType<\n PackageDependency<Record<string, any>>[]\n>;\n\nfunction DependencyGroup(depType: string): DependencyGroupSchema {\n return LooseRecord(LooseArray(Pep508Dependency(depType))).transform(\n (depGroups) => {\n const deps: PackageDependency[] = [];\n for (const [depGroup, groupDeps] of Object.entries(depGroups)) {\n for (const dep of groupDeps) {\n if (dep.packageName) {\n dep.depName = dep.packageName;\n }\n dep.managerData = { depGroup };\n deps.push(dep);\n }\n }\n return deps;\n },\n ) as unknown as DependencyGroupSchema;\n}\n\nconst PdmSchema = z\n .object({\n 'dev-dependencies': DependencyGroup(depTypes.pdmDevDependencies).catch([]),\n source: LooseArray(\n z.object({\n url: z.string(),\n name: z.string(),\n }),\n )\n .transform((pdmSource) => {\n const registryUrls: string[] = [];\n\n let containsPyPiUrl = false;\n for (const source of pdmSource) {\n if (source.name === 'pypi') {\n containsPyPiUrl = true;\n }\n\n registryUrls.push(source.url);\n }\n\n // Add pypi default url, if there is no source declared with the name `pypi`\n // @see https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n if (!containsPyPiUrl) {\n registryUrls.unshift(PypiDatasource.defaultURL);\n }\n\n return registryUrls;\n })\n .optional()\n .catch(undefined),\n })\n .transform(\n ({ 'dev-dependencies': devDependencies, source: registryUrls }) => ({\n devDependencies,\n registryUrls,\n }),\n );\n\nconst HatchSchema = z\n .object({\n envs: LooseRecord(\n z.string(),\n z.object({\n dependencies: z.unknown(),\n 'extra-dependencies': z.unknown(),\n }),\n ),\n })\n .catch({ envs: {} })\n .transform(({ envs }) => {\n const deps: PackageDependency[] = [];\n for (const [\n envName,\n { dependencies, 'extra-dependencies': extraDependencies },\n ] of Object.entries(envs)) {\n const depType = `tool.hatch.envs.${envName}`;\n const HatchDependency = LooseArray(Pep508Dependency(depType)).catch([]);\n deps.push(\n ...HatchDependency.parse(dependencies),\n ...HatchDependency.parse(extraDependencies),\n );\n }\n return { deps };\n });\n\nconst UvIndexSource = z.object({\n index: z.string(),\n});\n\nconst UvGitSource = z.object({\n git: z.string(),\n rev: z.string().optional(),\n tag: z.string().optional(),\n branch: z.string().optional(),\n});\nexport type UvGitSource = z.infer<typeof UvGitSource>;\n\nconst UvUrlSource = z.object({\n url: z.string(),\n});\n\nconst UvPathSource = z.object({\n path: z.string(),\n});\n\nconst UvWorkspaceSource = z.object({\n workspace: z.literal(true),\n});\n\n// https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\nconst UvSource = z.union([\n UvIndexSource,\n UvGitSource,\n UvUrlSource,\n UvPathSource,\n UvWorkspaceSource,\n]);\n\nconst UvSchema = z.object({\n 'dev-dependencies': LooseArray(\n Pep508Dependency(depTypes.uvDevDependencies),\n ).catch([]),\n 'required-version': z.string().optional(),\n sources: LooseRecord(\n // uv applies the same normalization as for Python dependencies on sources\n z.string().transform((source) => normalizePythonDepName(source)),\n UvSource,\n ).optional(),\n index: z\n .array(\n z.object({\n name: z.string().optional(),\n url: z.string(),\n default: z.boolean().default(false),\n explicit: z.boolean().default(false),\n }),\n )\n .optional(),\n});\n\nexport const PyProjectSchema = z.object({\n project: z\n .object({\n version: z.string().optional().catch(undefined),\n 'requires-python': z.string().optional().catch(undefined),\n dependencies: LooseArray(Pep508Dependency(depTypes.dependencies)).catch(\n [],\n ),\n 'optional-dependencies': DependencyGroup(\n depTypes.optionalDependencies,\n ).catch([]),\n })\n .optional()\n .catch(undefined),\n 'build-system': z\n .object({\n requires: LooseArray(\n Pep508Dependency(depTypes.buildSystemRequires),\n ).catch([]),\n 'build-backend': z.string().optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n 'dependency-groups': DependencyGroup(depTypes.dependencyGroups).catch([]),\n tool: z\n .object({\n pixi: PixiConfigSchema.optional().catch(undefined),\n pdm: PdmSchema.optional().catch(undefined),\n hatch: HatchSchema.optional().catch(undefined),\n uv: UvSchema.optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n});\n\nexport const PdmLockfileSchema = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n)\n .transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n )\n .transform((lock) => ({ lock }));\n\nexport const UvLockfileSchema = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n).transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n);\n"]}
|