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.
Files changed (220) hide show
  1. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +8 -1
  2. package/dist/modules/datasource/aws-eks-addon/schema.js +5 -7
  3. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  4. package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
  5. package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
  6. package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
  7. package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
  8. package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
  9. package/dist/modules/datasource/cdnjs/index.js +2 -2
  10. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  11. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  12. package/dist/modules/datasource/cdnjs/schema.js +3 -3
  13. package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
  14. package/dist/modules/datasource/conda/prefix-dev.js +1 -1
  15. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  16. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +1 -1
  17. package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
  18. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
  19. package/dist/modules/datasource/cpan/schema.js +2 -2
  20. package/dist/modules/datasource/cpan/schema.js.map +1 -1
  21. package/dist/modules/datasource/crate/index.js +1 -1
  22. package/dist/modules/datasource/crate/index.js.map +1 -1
  23. package/dist/modules/datasource/crate/schema.d.ts +1 -1
  24. package/dist/modules/datasource/crate/schema.js +2 -2
  25. package/dist/modules/datasource/crate/schema.js.map +1 -1
  26. package/dist/modules/datasource/custom/index.d.ts +1 -1
  27. package/dist/modules/datasource/custom/index.js +2 -2
  28. package/dist/modules/datasource/custom/index.js.map +1 -1
  29. package/dist/modules/datasource/custom/schema.d.ts +1 -1
  30. package/dist/modules/datasource/custom/schema.js +2 -2
  31. package/dist/modules/datasource/custom/schema.js.map +1 -1
  32. package/dist/modules/datasource/forgejo-releases/index.js +3 -3
  33. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
  34. package/dist/modules/datasource/forgejo-releases/schema.d.ts +2 -2
  35. package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
  36. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
  37. package/dist/modules/datasource/forgejo-tags/index.js +3 -3
  38. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
  39. package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
  40. package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
  41. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
  42. package/dist/modules/datasource/gitea-releases/index.js +3 -3
  43. package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
  44. package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
  45. package/dist/modules/datasource/gitea-releases/schema.js +3 -3
  46. package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
  47. package/dist/modules/datasource/gitea-tags/index.js +3 -3
  48. package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
  49. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  50. package/dist/modules/datasource/gitea-tags/schema.js +7 -7
  51. package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
  52. package/dist/modules/datasource/helm/index.js +1 -1
  53. package/dist/modules/datasource/helm/index.js.map +1 -1
  54. package/dist/modules/datasource/helm/schema.d.ts +2 -2
  55. package/dist/modules/datasource/helm/schema.js +4 -4
  56. package/dist/modules/datasource/helm/schema.js.map +1 -1
  57. package/dist/modules/manager/argocd/extract.js +1 -1
  58. package/dist/modules/manager/argocd/extract.js.map +1 -1
  59. package/dist/modules/manager/argocd/schema.d.ts +1 -1
  60. package/dist/modules/manager/argocd/schema.js +2 -2
  61. package/dist/modules/manager/argocd/schema.js.map +1 -1
  62. package/dist/modules/manager/batect/extract.js +1 -1
  63. package/dist/modules/manager/batect/extract.js.map +1 -1
  64. package/dist/modules/manager/batect/schema.d.ts +2 -2
  65. package/dist/modules/manager/batect/schema.js +2 -2
  66. package/dist/modules/manager/batect/schema.js.map +1 -1
  67. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +21 -21
  68. package/dist/modules/manager/bazel-module/parser/fragments.js +32 -32
  69. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  70. package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
  71. package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
  72. package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
  73. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  74. package/dist/modules/manager/bazel-module/rules.js +18 -18
  75. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  76. package/dist/modules/manager/cargo/extract.js +2 -2
  77. package/dist/modules/manager/cargo/extract.js.map +1 -1
  78. package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
  79. package/dist/modules/manager/cargo/locked-version.js +1 -1
  80. package/dist/modules/manager/cargo/locked-version.js.map +1 -1
  81. package/dist/modules/manager/cargo/schema.d.ts +32 -5
  82. package/dist/modules/manager/cargo/schema.js +8 -7
  83. package/dist/modules/manager/cargo/schema.js.map +1 -1
  84. package/dist/modules/manager/crossplane/extract.js +1 -1
  85. package/dist/modules/manager/crossplane/extract.js.map +1 -1
  86. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  87. package/dist/modules/manager/crossplane/schema.js +2 -2
  88. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  89. package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
  90. package/dist/modules/manager/custom/jsonata/schema.js +4 -4
  91. package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
  92. package/dist/modules/manager/custom/jsonata/utils.js +1 -1
  93. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  94. package/dist/modules/manager/devbox/extract.js +1 -1
  95. package/dist/modules/manager/devbox/extract.js.map +1 -1
  96. package/dist/modules/manager/devbox/schema.d.ts +1 -1
  97. package/dist/modules/manager/devbox/schema.js +2 -2
  98. package/dist/modules/manager/devbox/schema.js.map +1 -1
  99. package/dist/modules/manager/fingerprint.generated.js +2 -2
  100. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  101. package/dist/modules/manager/github-actions/community.js +10 -10
  102. package/dist/modules/manager/github-actions/community.js.map +1 -1
  103. package/dist/modules/manager/github-actions/extract.js +1 -1
  104. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  105. package/dist/modules/manager/github-actions/schema.d.ts +3 -3
  106. package/dist/modules/manager/github-actions/schema.js +7 -7
  107. package/dist/modules/manager/github-actions/schema.js.map +1 -1
  108. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  109. package/dist/modules/manager/mise/backends.d.ts +2 -2
  110. package/dist/modules/manager/mise/backends.js.map +1 -1
  111. package/dist/modules/manager/mise/extract.js.map +1 -1
  112. package/dist/modules/manager/mise/schema.d.ts +29 -6
  113. package/dist/modules/manager/mise/schema.js +8 -7
  114. package/dist/modules/manager/mise/schema.js.map +1 -1
  115. package/dist/modules/manager/mise/utils.d.ts +2 -2
  116. package/dist/modules/manager/mise/utils.js +1 -1
  117. package/dist/modules/manager/mise/utils.js.map +1 -1
  118. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  119. package/dist/modules/manager/npm/extract/pnpm.d.ts +3 -4
  120. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  121. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  122. package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
  123. package/dist/modules/manager/npm/extract/yarnrc.js +2 -1
  124. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  125. package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
  126. package/dist/modules/manager/npm/post-update/types.js.map +1 -1
  127. package/dist/modules/manager/npm/post-update/utils.d.ts +4 -4
  128. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  129. package/dist/modules/manager/npm/schema.d.ts +92 -10
  130. package/dist/modules/manager/npm/schema.js +16 -15
  131. package/dist/modules/manager/npm/schema.js.map +1 -1
  132. package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
  133. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  134. package/dist/modules/manager/nuget/schema.d.ts +55 -2
  135. package/dist/modules/manager/nuget/schema.js +6 -5
  136. package/dist/modules/manager/nuget/schema.js.map +1 -1
  137. package/dist/modules/manager/ocb/extract.js +1 -1
  138. package/dist/modules/manager/ocb/extract.js.map +1 -1
  139. package/dist/modules/manager/ocb/schema.d.ts +4 -4
  140. package/dist/modules/manager/ocb/schema.js +9 -9
  141. package/dist/modules/manager/ocb/schema.js.map +1 -1
  142. package/dist/modules/manager/pep621/extract.d.ts +1 -1
  143. package/dist/modules/manager/pep621/extract.js +1 -1
  144. package/dist/modules/manager/pep621/extract.js.map +1 -1
  145. package/dist/modules/manager/pep621/processors/pdm.js +1 -1
  146. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  147. package/dist/modules/manager/pep621/processors/uv.js +1 -1
  148. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  149. package/dist/modules/manager/pep621/schema.d.ts +247 -9
  150. package/dist/modules/manager/pep621/schema.js +12 -10
  151. package/dist/modules/manager/pep621/schema.js.map +1 -1
  152. package/dist/modules/manager/pep723/extract.js +1 -1
  153. package/dist/modules/manager/pep723/extract.js.map +1 -1
  154. package/dist/modules/manager/pep723/schema.d.ts +1 -1
  155. package/dist/modules/manager/pep723/schema.js +2 -2
  156. package/dist/modules/manager/pep723/schema.js.map +1 -1
  157. package/dist/modules/manager/pixi/extract.js +7 -4
  158. package/dist/modules/manager/pixi/extract.js.map +1 -1
  159. package/dist/modules/manager/pixi/schema.d.ts +4 -296
  160. package/dist/modules/manager/pixi/schema.js +4 -11
  161. package/dist/modules/manager/pixi/schema.js.map +1 -1
  162. package/dist/modules/manager/poetry/artifacts.js +2 -2
  163. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  164. package/dist/modules/manager/poetry/extract.js +1 -1
  165. package/dist/modules/manager/poetry/extract.js.map +1 -1
  166. package/dist/modules/manager/poetry/schema.d.ts +107 -4
  167. package/dist/modules/manager/poetry/schema.js +6 -5
  168. package/dist/modules/manager/poetry/schema.js.map +1 -1
  169. package/dist/modules/manager/poetry/update-locked.js +2 -2
  170. package/dist/modules/manager/poetry/update-locked.js.map +1 -1
  171. package/dist/modules/manager/pub/extract.js.map +1 -1
  172. package/dist/modules/manager/pub/schema.d.ts +82 -4
  173. package/dist/modules/manager/pub/schema.js +10 -8
  174. package/dist/modules/manager/pub/schema.js.map +1 -1
  175. package/dist/modules/manager/pub/utils.d.ts +3 -3
  176. package/dist/modules/manager/pub/utils.js +2 -2
  177. package/dist/modules/manager/pub/utils.js.map +1 -1
  178. package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
  179. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  180. package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
  181. package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
  182. package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
  183. package/dist/modules/platform/azure/azure-helper.js +1 -1
  184. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  185. package/dist/modules/platform/azure/schema.d.ts +3 -3
  186. package/dist/modules/platform/azure/schema.js +4 -4
  187. package/dist/modules/platform/azure/schema.js.map +1 -1
  188. package/dist/modules/platform/bitbucket/schema.d.ts +1 -1
  189. package/dist/modules/platform/bitbucket/schema.js +7 -7
  190. package/dist/modules/platform/bitbucket/schema.js.map +1 -1
  191. package/dist/modules/platform/bitbucket-server/index.js +2 -2
  192. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  193. package/dist/modules/platform/bitbucket-server/schema.d.ts +2 -2
  194. package/dist/modules/platform/bitbucket-server/schema.js +6 -6
  195. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  196. package/dist/modules/platform/gitea/schema.d.ts +3 -3
  197. package/dist/modules/platform/gitea/schema.js +3 -3
  198. package/dist/modules/platform/gitea/schema.js.map +1 -1
  199. package/dist/modules/platform/github/index.js +1 -1
  200. package/dist/modules/platform/github/index.js.map +1 -1
  201. package/dist/modules/platform/github/schema.d.ts +1 -2
  202. package/dist/modules/platform/github/schema.js +8 -8
  203. package/dist/modules/platform/github/schema.js.map +1 -1
  204. package/dist/util/cache/repository/http-cache.js +1 -1
  205. package/dist/util/cache/repository/http-cache.js.map +1 -1
  206. package/dist/util/emoji.js +2 -2
  207. package/dist/util/emoji.js.map +1 -1
  208. package/dist/util/http/cache/abstract-http-cache-provider.d.ts +1 -1
  209. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  210. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  211. package/dist/util/http/cache/schema.d.ts +2 -2
  212. package/dist/util/http/cache/schema.js +2 -2
  213. package/dist/util/http/cache/schema.js.map +1 -1
  214. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  215. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  216. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
  217. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  218. package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
  219. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  220. 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.UvLockfile).unwrap();
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 DependencyGroup = z.ZodType<PackageDependency<Record<string, any>>[]>;
4
- declare function DependencyGroup(depType: string): DependencyGroup;
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 PyProject: z.ZodObject<{
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<DependencyGroup>;
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<DependencyGroup>;
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<DependencyGroup>;
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 type PyProject = z.infer<typeof PyProject>;
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 UvLockfile: z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
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.UvLockfile = exports.PdmLockfile = exports.PyProject = void 0;
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 PdmConfig = zod_1.z
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 HatchConfig = zod_1.z
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 UvConfig = zod_1.z.object({
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.PyProject = zod_1.z.object({
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
- pdm: PdmConfig.optional().catch(undefined),
147
- hatch: HatchConfig.optional().catch(undefined),
148
- uv: UvConfig.optional().catch(undefined),
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.PdmLockfile = schema_utils_1.Toml.pipe(zod_1.z.object({
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.UvLockfile = schema_utils_1.Toml.pipe(zod_1.z.object({
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"]}