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":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { regEx } from '../../../util/regex';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport type { BackendToolingConfig } from './backends';\nimport {\n createAquaToolConfig,\n createCargoToolConfig,\n createDotnetToolConfig,\n createGemToolConfig,\n createGoToolConfig,\n createNpmToolConfig,\n createPipxToolConfig,\n createSpmToolConfig,\n createUbiToolConfig,\n} from './backends';\nimport type { MiseTool, MiseToolOptions } from './schema';\nimport type { ToolingDefinition } from './upgradeable-tooling';\nimport { asdfTooling, miseTooling } from './upgradeable-tooling';\nimport { parseTomlFile } from './utils';\n\n// Tool names can have options in the tool name\n// e.g. ubi:tamasfe/taplo[matching=full,exe=taplo]\nconst optionInToolNameRegex = regEx(/^(?<name>.+?)(?:\\[(?<options>.+)\\])?$/);\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n logger.trace(`mise.extractPackageFile(${packageFile})`);\n\n const misefile = parseTomlFile(content, packageFile);\n if (!misefile) {\n return null;\n }\n\n const deps: PackageDependency[] = [];\n const tools = misefile.tools;\n\n if (tools) {\n for (const [name, toolData] of Object.entries(tools)) {\n const version = parseVersion(toolData);\n // Parse the tool options in the tool name\n const { name: depName, options: optionsInName } =\n optionInToolNameRegex.exec(name.trim())!.groups!;\n const delimiterIndex = name.indexOf(':');\n const backend = depName.substring(0, delimiterIndex);\n const toolName = depName.substring(delimiterIndex + 1);\n const options = parseOptions(\n optionsInName,\n is.nonEmptyObject(toolData) ? toolData : {},\n );\n const toolConfig =\n version === null\n ? null\n : getToolConfig(backend, toolName, version, options);\n const dep = createDependency(depName, version, toolConfig);\n deps.push(dep);\n }\n }\n\n return deps.length ? { deps } : null;\n}\n\nfunction parseVersion(toolData: MiseTool): string | null {\n if (is.nonEmptyString(toolData)) {\n // Handle the string case\n // e.g. 'erlang = \"23.3\"'\n return toolData;\n }\n if (is.array(toolData, is.string)) {\n // Handle the array case\n // e.g. 'erlang = [\"23.3\", \"24.0\"]'\n return toolData.length ? toolData[0] : null; // Get the first version in the array\n }\n if (is.object(toolData) && is.nonEmptyString(toolData.version)) {\n // Handle the object case with a string version\n // e.g. 'python = { version = \"3.11.2\" }'\n return toolData.version;\n }\n return null; // Return null if no version is found\n}\n\nfunction parseOptions(\n optionsInName: string,\n toolOptions: MiseToolOptions,\n): MiseToolOptions {\n const options = is.nonEmptyString(optionsInName)\n ? Object.fromEntries(\n optionsInName.split(',').map((option) => option.split('=', 2)),\n )\n : {};\n // Options in toolOptions will override options in the tool name\n return {\n ...options,\n ...toolOptions,\n };\n}\n\nfunction getToolConfig(\n backend: string,\n toolName: string,\n version: string,\n toolOptions: MiseToolOptions,\n): ToolingConfig | BackendToolingConfig | null {\n switch (backend) {\n case '':\n // If the tool name does not specify a backend, it should be a short name or an alias defined by users\n return getRegistryToolConfig(toolName, version);\n // We can specify core, asdf, vfox, aqua backends for tools in the default registry\n // e.g. 'core:rust', 'asdf:rust', 'vfox:clang', 'aqua:act'\n case 'core':\n return getConfigFromTooling(miseTooling, toolName, version);\n case 'asdf':\n return getConfigFromTooling(asdfTooling, toolName, version);\n case 'vfox':\n return getRegistryToolConfig(toolName, version);\n case 'aqua':\n return (\n getRegistryToolConfig(toolName, version) ??\n createAquaToolConfig(toolName, version)\n );\n case 'cargo':\n return createCargoToolConfig(toolName, version);\n case 'dotnet':\n return createDotnetToolConfig(toolName);\n case 'gem':\n return createGemToolConfig(toolName);\n case 'go':\n return createGoToolConfig(toolName);\n case 'npm':\n return createNpmToolConfig(toolName);\n case 'pipx':\n return createPipxToolConfig(toolName);\n case 'spm':\n return createSpmToolConfig(toolName);\n case 'ubi':\n return createUbiToolConfig(toolName, version, toolOptions);\n default:\n // Unsupported backend\n return null;\n }\n}\n\n/**\n * Get the tooling config for a short name defined in the default registry\n * @link https://mise.jdx.dev/registry.html\n */\nfunction getRegistryToolConfig(\n short: string,\n version: string,\n): ToolingConfig | null {\n // Try to get the config from miseTooling first, then asdfTooling\n return (\n getConfigFromTooling(miseTooling, short, version) ??\n getConfigFromTooling(asdfTooling, short, version)\n );\n}\n\nfunction getConfigFromTooling(\n toolingSource: Record<string, ToolingDefinition>,\n name: string,\n version: string,\n): ToolingConfig | null {\n const toolDefinition = toolingSource[name];\n if (!toolDefinition) {\n return null;\n } // Return null if no toolDefinition is found\n\n return (\n (is.function(toolDefinition.config)\n ? toolDefinition.config(version)\n : toolDefinition.config) ?? null\n ); // Ensure null is returned instead of undefined\n}\n\nfunction createDependency(\n name: string,\n version: string | null,\n config: ToolingConfig | BackendToolingConfig | null,\n): PackageDependency {\n if (version === null) {\n return {\n depName: name,\n skipReason: 'unspecified-version',\n };\n }\n if (config === null) {\n return {\n depName: name,\n skipReason: 'unsupported-datasource',\n };\n }\n\n return {\n depName: name,\n currentValue: version,\n // Spread the config last to override other properties\n ...config,\n };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { regEx } from '../../../util/regex';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport type { BackendToolingConfig } from './backends';\nimport {\n createAquaToolConfig,\n createCargoToolConfig,\n createDotnetToolConfig,\n createGemToolConfig,\n createGoToolConfig,\n createNpmToolConfig,\n createPipxToolConfig,\n createSpmToolConfig,\n createUbiToolConfig,\n} from './backends';\nimport type { MiseToolOptionsSchema, MiseToolSchema } from './schema';\nimport type { ToolingDefinition } from './upgradeable-tooling';\nimport { asdfTooling, miseTooling } from './upgradeable-tooling';\nimport { parseTomlFile } from './utils';\n\n// Tool names can have options in the tool name\n// e.g. ubi:tamasfe/taplo[matching=full,exe=taplo]\nconst optionInToolNameRegex = regEx(/^(?<name>.+?)(?:\\[(?<options>.+)\\])?$/);\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n logger.trace(`mise.extractPackageFile(${packageFile})`);\n\n const misefile = parseTomlFile(content, packageFile);\n if (!misefile) {\n return null;\n }\n\n const deps: PackageDependency[] = [];\n const tools = misefile.tools;\n\n if (tools) {\n for (const [name, toolData] of Object.entries(tools)) {\n const version = parseVersion(toolData);\n // Parse the tool options in the tool name\n const { name: depName, options: optionsInName } =\n optionInToolNameRegex.exec(name.trim())!.groups!;\n const delimiterIndex = name.indexOf(':');\n const backend = depName.substring(0, delimiterIndex);\n const toolName = depName.substring(delimiterIndex + 1);\n const options = parseOptions(\n optionsInName,\n is.nonEmptyObject(toolData) ? toolData : {},\n );\n const toolConfig =\n version === null\n ? null\n : getToolConfig(backend, toolName, version, options);\n const dep = createDependency(depName, version, toolConfig);\n deps.push(dep);\n }\n }\n\n return deps.length ? { deps } : null;\n}\n\nfunction parseVersion(toolData: MiseToolSchema): string | null {\n if (is.nonEmptyString(toolData)) {\n // Handle the string case\n // e.g. 'erlang = \"23.3\"'\n return toolData;\n }\n if (is.array(toolData, is.string)) {\n // Handle the array case\n // e.g. 'erlang = [\"23.3\", \"24.0\"]'\n return toolData.length ? toolData[0] : null; // Get the first version in the array\n }\n if (is.object(toolData) && is.nonEmptyString(toolData.version)) {\n // Handle the object case with a string version\n // e.g. 'python = { version = \"3.11.2\" }'\n return toolData.version;\n }\n return null; // Return null if no version is found\n}\n\nfunction parseOptions(\n optionsInName: string,\n toolOptions: MiseToolOptionsSchema,\n): MiseToolOptionsSchema {\n const options = is.nonEmptyString(optionsInName)\n ? Object.fromEntries(\n optionsInName.split(',').map((option) => option.split('=', 2)),\n )\n : {};\n // Options in toolOptions will override options in the tool name\n return {\n ...options,\n ...toolOptions,\n };\n}\n\nfunction getToolConfig(\n backend: string,\n toolName: string,\n version: string,\n toolOptions: MiseToolOptionsSchema,\n): ToolingConfig | BackendToolingConfig | null {\n switch (backend) {\n case '':\n // If the tool name does not specify a backend, it should be a short name or an alias defined by users\n return getRegistryToolConfig(toolName, version);\n // We can specify core, asdf, vfox, aqua backends for tools in the default registry\n // e.g. 'core:rust', 'asdf:rust', 'vfox:clang', 'aqua:act'\n case 'core':\n return getConfigFromTooling(miseTooling, toolName, version);\n case 'asdf':\n return getConfigFromTooling(asdfTooling, toolName, version);\n case 'vfox':\n return getRegistryToolConfig(toolName, version);\n case 'aqua':\n return (\n getRegistryToolConfig(toolName, version) ??\n createAquaToolConfig(toolName, version)\n );\n case 'cargo':\n return createCargoToolConfig(toolName, version);\n case 'dotnet':\n return createDotnetToolConfig(toolName);\n case 'gem':\n return createGemToolConfig(toolName);\n case 'go':\n return createGoToolConfig(toolName);\n case 'npm':\n return createNpmToolConfig(toolName);\n case 'pipx':\n return createPipxToolConfig(toolName);\n case 'spm':\n return createSpmToolConfig(toolName);\n case 'ubi':\n return createUbiToolConfig(toolName, version, toolOptions);\n default:\n // Unsupported backend\n return null;\n }\n}\n\n/**\n * Get the tooling config for a short name defined in the default registry\n * @link https://mise.jdx.dev/registry.html\n */\nfunction getRegistryToolConfig(\n short: string,\n version: string,\n): ToolingConfig | null {\n // Try to get the config from miseTooling first, then asdfTooling\n return (\n getConfigFromTooling(miseTooling, short, version) ??\n getConfigFromTooling(asdfTooling, short, version)\n );\n}\n\nfunction getConfigFromTooling(\n toolingSource: Record<string, ToolingDefinition>,\n name: string,\n version: string,\n): ToolingConfig | null {\n const toolDefinition = toolingSource[name];\n if (!toolDefinition) {\n return null;\n } // Return null if no toolDefinition is found\n\n return (\n (is.function(toolDefinition.config)\n ? toolDefinition.config(version)\n : toolDefinition.config) ?? null\n ); // Ensure null is returned instead of undefined\n}\n\nfunction createDependency(\n name: string,\n version: string | null,\n config: ToolingConfig | BackendToolingConfig | null,\n): PackageDependency {\n if (version === null) {\n return {\n depName: name,\n skipReason: 'unspecified-version',\n };\n }\n if (config === null) {\n return {\n depName: name,\n skipReason: 'unsupported-datasource',\n };\n }\n\n return {\n depName: name,\n currentValue: version,\n // Spread the config last to override other properties\n ...config,\n };\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  import { z } from 'zod';
2
- declare const MiseToolOptions: z.ZodObject<{
2
+ declare const MiseToolOptionsSchema: z.ZodObject<{
3
3
  tag_regex: z.ZodOptional<z.ZodString>;
4
4
  }, "strip", z.ZodTypeAny, {
5
5
  tag_regex?: string | undefined;
6
6
  }, {
7
7
  tag_regex?: string | undefined;
8
8
  }>;
9
- export type MiseToolOptions = z.infer<typeof MiseToolOptions>;
10
- declare const MiseTool: z.ZodUnion<[z.ZodString, z.ZodObject<{
9
+ export type MiseToolOptionsSchema = z.infer<typeof MiseToolOptionsSchema>;
10
+ declare const MiseToolSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
11
11
  tag_regex: z.ZodOptional<z.ZodString>;
12
12
  } & {
13
13
  version: z.ZodOptional<z.ZodString>;
@@ -18,8 +18,32 @@ declare const MiseTool: z.ZodUnion<[z.ZodString, z.ZodObject<{
18
18
  version?: string | undefined;
19
19
  tag_regex?: string | undefined;
20
20
  }>, z.ZodArray<z.ZodString, "many">]>;
21
- export type MiseTool = z.infer<typeof MiseTool>;
22
- export declare const MiseFile: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
21
+ export type MiseToolSchema = z.infer<typeof MiseToolSchema>;
22
+ export declare const MiseFileSchema: z.ZodObject<{
23
+ tools: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
24
+ tag_regex: z.ZodOptional<z.ZodString>;
25
+ } & {
26
+ version: z.ZodOptional<z.ZodString>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ version?: string | undefined;
29
+ tag_regex?: string | undefined;
30
+ }, {
31
+ version?: string | undefined;
32
+ tag_regex?: string | undefined;
33
+ }>, z.ZodArray<z.ZodString, "many">]>>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ tools: Record<string, string | string[] | {
36
+ version?: string | undefined;
37
+ tag_regex?: string | undefined;
38
+ }>;
39
+ }, {
40
+ tools: Record<string, string | string[] | {
41
+ version?: string | undefined;
42
+ tag_regex?: string | undefined;
43
+ }>;
44
+ }>;
45
+ export type MiseFileSchema = z.infer<typeof MiseFileSchema>;
46
+ export declare const MiseFileSchemaToml: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
23
47
  tools: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
24
48
  tag_regex: z.ZodOptional<z.ZodString>;
25
49
  } & {
@@ -42,5 +66,4 @@ export declare const MiseFile: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown,
42
66
  tag_regex?: string | undefined;
43
67
  }>;
44
68
  }>>;
45
- export type MiseFile = z.infer<typeof MiseFile>;
46
69
  export {};
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MiseFile = void 0;
3
+ exports.MiseFileSchemaToml = exports.MiseFileSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_utils_1 = require("../../../util/schema-utils");
6
- const MiseToolOptions = zod_1.z.object({
6
+ const MiseToolOptionsSchema = zod_1.z.object({
7
7
  // ubi backend only
8
8
  tag_regex: zod_1.z.string().optional(),
9
9
  });
10
- const MiseTool = zod_1.z.union([
10
+ const MiseToolSchema = zod_1.z.union([
11
11
  zod_1.z.string(),
12
- MiseToolOptions.extend({
12
+ MiseToolOptionsSchema.extend({
13
13
  version: zod_1.z.string().optional(),
14
14
  }),
15
15
  zod_1.z.array(zod_1.z.string()),
16
16
  ]);
17
- exports.MiseFile = schema_utils_1.Toml.pipe(zod_1.z.object({
18
- tools: zod_1.z.record(MiseTool),
19
- }));
17
+ exports.MiseFileSchema = zod_1.z.object({
18
+ tools: zod_1.z.record(MiseToolSchema),
19
+ });
20
+ exports.MiseFileSchemaToml = schema_utils_1.Toml.pipe(exports.MiseFileSchema);
20
21
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,mBAAmB;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,QAAQ,GAAG,OAAC,CAAC,KAAK,CAAC;IACvB,OAAC,CAAC,MAAM,EAAE;IACV,eAAe,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CACpB,CAAC,CAAC;AAGU,QAAA,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAC/B,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC1B,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport { Toml } from '../../../util/schema-utils';\n\nconst MiseToolOptions = z.object({\n // ubi backend only\n tag_regex: z.string().optional(),\n});\nexport type MiseToolOptions = z.infer<typeof MiseToolOptions>;\n\nconst MiseTool = z.union([\n z.string(),\n MiseToolOptions.extend({\n version: z.string().optional(),\n }),\n z.array(z.string()),\n]);\nexport type MiseTool = z.infer<typeof MiseTool>;\n\nexport const MiseFile = Toml.pipe(\n z.object({\n tools: z.record(MiseTool),\n }),\n);\nexport type MiseFile = z.infer<typeof MiseFile>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,mBAAmB;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,cAAc,GAAG,OAAC,CAAC,KAAK,CAAC;IAC7B,OAAC,CAAC,MAAM,EAAE;IACV,qBAAqB,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CACpB,CAAC,CAAC;AAGU,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,cAAc,CAAC;CAChC,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAAC,sBAAc,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { Toml } from '../../../util/schema-utils';\n\nconst MiseToolOptionsSchema = z.object({\n // ubi backend only\n tag_regex: z.string().optional(),\n});\nexport type MiseToolOptionsSchema = z.infer<typeof MiseToolOptionsSchema>;\n\nconst MiseToolSchema = z.union([\n z.string(),\n MiseToolOptionsSchema.extend({\n version: z.string().optional(),\n }),\n z.array(z.string()),\n]);\nexport type MiseToolSchema = z.infer<typeof MiseToolSchema>;\n\nexport const MiseFileSchema = z.object({\n tools: z.record(MiseToolSchema),\n});\nexport type MiseFileSchema = z.infer<typeof MiseFileSchema>;\n\nexport const MiseFileSchemaToml = Toml.pipe(MiseFileSchema);\n"]}
@@ -1,2 +1,2 @@
1
- import { MiseFile } from './schema';
2
- export declare function parseTomlFile(content: string, packageFile: string): MiseFile | null;
1
+ import type { MiseFileSchema } from './schema';
2
+ export declare function parseTomlFile(content: string, packageFile: string): MiseFileSchema | null;
@@ -4,7 +4,7 @@ exports.parseTomlFile = parseTomlFile;
4
4
  const logger_1 = require("../../../logger");
5
5
  const schema_1 = require("./schema");
6
6
  function parseTomlFile(content, packageFile) {
7
- const res = schema_1.MiseFile.safeParse(content);
7
+ const res = schema_1.MiseFileSchemaToml.safeParse(content);
8
8
  if (res.success) {
9
9
  return res.data;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/utils.ts"],"names":[],"mappings":";;AAGA,sCAWC;AAdD,4CAAyC;AACzC,qCAAoC;AAEpC,SAAgB,aAAa,CAC3B,OAAe,EACf,WAAmB;IAEnB,MAAM,GAAG,GAAG,iBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { MiseFile } from './schema';\n\nexport function parseTomlFile(\n content: string,\n packageFile: string,\n): MiseFile | null {\n const res = MiseFile.safeParse(content);\n if (res.success) {\n return res.data;\n } else {\n logger.debug({ err: res.error, packageFile }, 'Error parsing Mise file.');\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/utils.ts"],"names":[],"mappings":";;AAIA,sCAWC;AAfD,4CAAyC;AAEzC,qCAA8C;AAE9C,SAAgB,aAAa,CAC3B,OAAe,EACf,WAAmB;IAEnB,MAAM,GAAG,GAAG,2BAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport type { MiseFileSchema } from './schema';\nimport { MiseFileSchemaToml } from './schema';\n\nexport function parseTomlFile(\n content: string,\n packageFile: string,\n): MiseFileSchema | null {\n const res = MiseFileSchemaToml.safeParse(content);\n if (res.success) {\n return res.data;\n } else {\n logger.debug({ err: res.error, packageFile }, 'Error parsing Mise file.');\n return null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":";;AAkCA,gDAiMC;AAED,wDA2CC;;AAhRD,kEAAkC;AAClC,sDAAyD;AACzD,+CAA4C;AAC5C,4CAI6B;AAC7B,kDAA6D;AAC7D,iDAAwD;AASxD,oDAA8D;AAC9D,wDAA2D;AAC3D,iCAA6E;AAC7E,iCAAqC;AAErC,iCAAuC;AACvC,qCAIkB;AAElB,SAAS,oBAAoB,CAAC,SAAuB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,WAAmB,EACnB,MAAqB;IAErB,eAAM,CAAC,KAAK,CAAC,0BAA0B,WAAW,GAAG,CAAC,CAAC;IACvD,eAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1B,IAAI,WAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,iCAAkB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,kBAAwC,CAAC;IAC7C,IAAI,YAAE,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GAAiB;QAC9B,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,qBAAqB;QACrC,cAAc,EAAE,gBAAgB;KACjC,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAG9C,EAAE,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,MAAM,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,cAAc,CAAC;IACtE,OAAO,SAAS,CAAC,WAAW,CAAC;IAC7B,OAAO,SAAS,CAAC,cAAc,CAAC;IAEhC,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,eAAM,CAAC,IAAI,CACT,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAwB,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,SAAS,GAAG,MAAM,IAAA,kBAAa,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,YAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,IAAI,YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClD,eAAM,CAAC,KAAK,CACV,EAAE,aAAa,EAAE,EACjB,8EAA8E,CAC/E,CAAC;gBACF,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1B,KAAK,IAAI,IAAI,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,eAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAC3D,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,IAAA,aAAK,EAAC,8BAA8B,CAAC,EACrC,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnE,eAAM,CAAC,KAAK,CACV,EAAE,aAAa,EAAE,EACjB,+CAA+C,CAChD,CAAC;oBACF,SAAS,GAAG,SAAS;yBAClB,KAAK,CAAC,oBAAY,CAAC;yBACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;yBACvC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;gBACD,KAAK,IAAI,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAwB,EACtD,WAAW,EACX,aAAa,CACd,CAAC;IACF,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,MAAM,IAAA,oBAAa,EAAC,iBAAiB,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,MAAM,aAAa,GAAG,iBAAiB;QACrC,CAAC,CAAC,MAAM,IAAA,kBAAa,EAAC,iBAAiB,EAAE,MAAM,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,YAAY,GAAG,IAAA,gCAAuB,EAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,IAAA,6BAAwB,EACzD,WAAW,EACX,SAAS,CACV,CAAC;IACF,MAAM,gBAAgB,GAAG,oBAAoB;QAC3C,CAAC,CAAC,MAAM,IAAA,kBAAa,EAAC,oBAAoB,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,YAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,YAAY,GAAG,IAAA,mCAA0B,EAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,IACE,CAAC,CACC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe;YAClC,CAAC,CAAC,GAAG,CAAC,kBAAkB;YACxB,CAAC,CAAC,KAAK;YACP,kBAAkB,CACnB,EACD,CAAC;YACD,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAClC,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC;YAC7D,yCAAyC;YACzC,eAAe;YACf,+FAA+F;YAC/F,4HAA4H;YAC5H,4DAA4D;YAC5D,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAA,oCAAuB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,2BAA2B,GAAG,IAAA,2BAAkB,EACpD,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,EAC9B,YAAY,CACb,CAAC;gBACF,IACE,2BAA2B;oBAC3B,GAAG,CAAC,UAAU,KAAK,mBAAa,CAAC,EAAE,EACnC,CAAC;oBACD,GAAG,CAAC,YAAY,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,GAAG;QACN,KAAK;QACL,WAAW,EAAE;YACX,GAAG,GAAG,CAAC,WAAW;YAClB,GAAG,SAAS;YACZ,eAAe;YACf,iBAAiB,EACf,YAAE,CAAC,8BAA8B,CAAC,WAAW,CAAC,cAAc,CAAC;gBAC7D,YAAE,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;YAC3D,kBAAkB;YAClB,aAAa,EAAE,kFAAkF;SAClG;QACD,YAAY;QACZ,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAqB,EACrB,YAAsB;IAEtB,MAAM,QAAQ,GAAkC,EAAE,CAAC;IACnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAa,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,oFAAoF;YACpF,2EAA2E;YAC3E,MAAM,uBAAuB,GAAG,IAAA,gCAAyB,EAAC,OAAO,CAAC,CAAC;YACnE,IAAI,uBAAuB,CAAC,OAAO,EAAE,CAAC;gBACpC,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,+CAA+C,CAChD,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAwB,EACzC,uBAAuB,CAAC,IAAI,EAC5B,WAAW,CACZ,CAAC;gBACF,IAAI,IAAI,EAAE,CAAC;oBACT,QAAQ,CAAC,IAAI,CAAC;wBACZ,GAAG,IAAI;wBACP,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBACpE,IAAI,IAAI,EAAE,CAAC;oBACT,QAAQ,CAAC,IAAI,CAAC;wBACZ,GAAG,IAAI;wBACP,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnrcConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnrcConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
@@ -1,9 +1,8 @@
1
1
  import type { z } from 'zod';
2
2
  import type { PackageFile, PackageFileContent } from '../../types';
3
- import type { PnpmCatalogs } from '../schema';
4
- import { PnpmWorkspaceFile } from '../schema';
3
+ import type { PnpmCatalogsSchema } from '../schema';
5
4
  import type { NpmManagerData } from '../types';
6
- import type { LockFile } from './types';
5
+ import type { LockFile, PnpmWorkspaceFile } from './types';
7
6
  export declare function extractPnpmFilters(fileName: string): Promise<string[] | undefined>;
8
7
  export declare function findPnpmWorkspace(packageFile: string): Promise<{
9
8
  lockFilePath: string;
@@ -18,6 +17,6 @@ export declare function tryParsePnpmWorkspaceYaml(content: string): {
18
17
  success: false;
19
18
  data?: never;
20
19
  };
21
- type PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;
20
+ type PnpmCatalogs = z.TypeOf<typeof PnpmCatalogsSchema>;
22
21
  export declare function extractPnpmWorkspaceFile(catalogs: PnpmCatalogs, packageFile: string): Promise<PackageFileContent<NpmManagerData> | null>;
23
22
  export {};
@@ -175,7 +175,7 @@ function getLockedDependencyVersions(obj) {
175
175
  function tryParsePnpmWorkspaceYaml(content) {
176
176
  try {
177
177
  const data = (0, yaml_1.parseSingleYaml)(content, {
178
- customSchema: schema_1.PnpmWorkspaceFile,
178
+ customSchema: schema_1.PnpmWorkspaceFileSchema,
179
179
  });
180
180
  return { success: true, data };
181
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependency, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogs } from '../schema';\nimport { PnpmWorkspaceFile } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return is.plainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => is.string(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = is.number(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (is.nonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (is.nonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependency>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (is.object(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFile,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependencySchema, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogsSchema } from '../schema';\nimport { PnpmWorkspaceFileSchema } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile, PnpmWorkspaceFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return is.plainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => is.string(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = is.number(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (is.nonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (is.nonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependencySchema>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (is.object(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFileSchema,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogsSchema>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { YarnConfig } from '../schema';
2
- export declare function loadConfigFromLegacyYarnrc(legacyYarnrc: string): YarnConfig | null;
3
- export declare function loadConfigFromYarnrcYml(yarnrcYml: string): YarnConfig | null;
4
- export declare function resolveRegistryUrl(packageName: string, yarnrcConfig: YarnConfig): string | null;
1
+ import { type YarnrcConfig } from '../schema';
2
+ export declare function loadConfigFromLegacyYarnrc(legacyYarnrc: string): YarnrcConfig | null;
3
+ export declare function loadConfigFromYarnrcYml(yarnrcYml: string): YarnrcConfig | null;
4
+ export declare function resolveRegistryUrl(packageName: string, yarnrcConfig: YarnrcConfig): string | null;
@@ -8,6 +8,7 @@ const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
8
  const logger_1 = require("../../../../logger");
9
9
  const regex_1 = require("../../../../util/regex");
10
10
  const result_1 = require("../../../../util/result");
11
+ const schema_utils_1 = require("../../../../util/schema-utils");
11
12
  const schema_1 = require("../schema");
12
13
  const registryRegEx = (0, regex_1.regEx)(/^"?(@(?<scope>[^:]+):)?registry"? "?(?<registryUrl>[^"]+)"?$/gm);
13
14
  function loadConfigFromLegacyYarnrc(legacyYarnrc) {
@@ -29,7 +30,7 @@ function loadConfigFromLegacyYarnrc(legacyYarnrc) {
29
30
  return yarnrcConfig;
30
31
  }
31
32
  function loadConfigFromYarnrcYml(yarnrcYml) {
32
- return result_1.Result.parse(yarnrcYml, schema_1.YarnConfig)
33
+ return result_1.Result.parse(yarnrcYml, schema_utils_1.Yaml.pipe(schema_1.YarnrcSchema))
33
34
  .onError((err) => {
34
35
  logger_1.logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`);
35
36
  })
@@ -1 +1 @@
1
- {"version":3,"file":"yarnrc.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarnrc.ts"],"names":[],"mappings":";;AAUA,gEAmBC;AAED,0DAMC;AAED,gDAeC;;AAtDD,kEAAkC;AAClC,+CAA4C;AAC5C,kDAA+C;AAC/C,oDAAiD;AACjD,sCAAuC;AAEvC,MAAM,aAAa,GAAG,IAAA,aAAK,EACzB,gEAAgE,CACjE,CAAC;AAEF,SAAgB,0BAA0B,CACxC,YAAoB;IAEpB,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;IAErB,MAAM,YAAY,GAAe,EAAE,CAAC;IACpC,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;QAC5C,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,CAAC,SAAS,KAAK,EAAE,CAAC;YAC9B,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnD,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,iBAAiB;gBAC3D,aAAa,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,OAAO,eAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAU,CAAC;SACvC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,eAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,YAAY,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,kBAAkB,CAChC,WAAmB,EACnB,YAAwB;IAExB,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { Result } from '../../../../util/result';\nimport { YarnConfig } from '../schema';\n\nconst registryRegEx = regEx(\n /^\"?(@(?<scope>[^:]+):)?registry\"? \"?(?<registryUrl>[^\"]+)\"?$/gm,\n);\n\nexport function loadConfigFromLegacyYarnrc(\n legacyYarnrc: string,\n): YarnConfig | null {\n const registryMatches = [...legacyYarnrc.matchAll(registryRegEx)]\n .map((m) => m.groups)\n .filter(is.truthy);\n\n const yarnrcConfig: YarnConfig = {};\n for (const registryMatch of registryMatches) {\n if (registryMatch.scope) {\n yarnrcConfig.npmScopes ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope] ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope].npmRegistryServer =\n registryMatch.registryUrl;\n } else {\n yarnrcConfig.npmRegistryServer = registryMatch.registryUrl;\n }\n }\n return yarnrcConfig;\n}\n\nexport function loadConfigFromYarnrcYml(yarnrcYml: string): YarnConfig | null {\n return Result.parse(yarnrcYml, YarnConfig)\n .onError((err) => {\n logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`);\n })\n .unwrapOrNull();\n}\n\nexport function resolveRegistryUrl(\n packageName: string,\n yarnrcConfig: YarnConfig,\n): string | null {\n if (yarnrcConfig.npmScopes) {\n for (const scope in yarnrcConfig.npmScopes) {\n if (packageName.startsWith(`@${scope}/`)) {\n return yarnrcConfig.npmScopes[scope].npmRegistryServer ?? null;\n }\n }\n }\n if (yarnrcConfig.npmRegistryServer) {\n return yarnrcConfig.npmRegistryServer;\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"yarnrc.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarnrc.ts"],"names":[],"mappings":";;AAWA,gEAmBC;AAED,0DAQC;AAED,gDAeC;;AAzDD,kEAAkC;AAClC,+CAA4C;AAC5C,kDAA+C;AAC/C,oDAAiD;AACjD,gEAAqD;AACrD,sCAA4D;AAE5D,MAAM,aAAa,GAAG,IAAA,aAAK,EACzB,gEAAgE,CACjE,CAAC;AAEF,SAAgB,0BAA0B,CACxC,YAAoB;IAEpB,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;IAErB,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;QAC5C,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,CAAC,SAAS,KAAK,EAAE,CAAC;YAC9B,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnD,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,iBAAiB;gBAC3D,aAAa,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,uBAAuB,CACrC,SAAiB;IAEjB,OAAO,eAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAI,CAAC,IAAI,CAAC,qBAAY,CAAC,CAAC;SACpD,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,eAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,YAAY,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,kBAAkB,CAChC,WAAmB,EACnB,YAA0B;IAE1B,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { Result } from '../../../../util/result';\nimport { Yaml } from '../../../../util/schema-utils';\nimport { type YarnrcConfig, YarnrcSchema } from '../schema';\n\nconst registryRegEx = regEx(\n /^\"?(@(?<scope>[^:]+):)?registry\"? \"?(?<registryUrl>[^\"]+)\"?$/gm,\n);\n\nexport function loadConfigFromLegacyYarnrc(\n legacyYarnrc: string,\n): YarnrcConfig | null {\n const registryMatches = [...legacyYarnrc.matchAll(registryRegEx)]\n .map((m) => m.groups)\n .filter(is.truthy);\n\n const yarnrcConfig: YarnrcConfig = {};\n for (const registryMatch of registryMatches) {\n if (registryMatch.scope) {\n yarnrcConfig.npmScopes ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope] ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope].npmRegistryServer =\n registryMatch.registryUrl;\n } else {\n yarnrcConfig.npmRegistryServer = registryMatch.registryUrl;\n }\n }\n return yarnrcConfig;\n}\n\nexport function loadConfigFromYarnrcYml(\n yarnrcYml: string,\n): YarnrcConfig | null {\n return Result.parse(yarnrcYml, Yaml.pipe(YarnrcSchema))\n .onError((err) => {\n logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`);\n })\n .unwrapOrNull();\n}\n\nexport function resolveRegistryUrl(\n packageName: string,\n yarnrcConfig: YarnrcConfig,\n): string | null {\n if (yarnrcConfig.npmScopes) {\n for (const scope in yarnrcConfig.npmScopes) {\n if (packageName.startsWith(`@${scope}/`)) {\n return yarnrcConfig.npmScopes[scope].npmRegistryServer ?? null;\n }\n }\n }\n if (yarnrcConfig.npmRegistryServer) {\n return yarnrcConfig.npmRegistryServer;\n }\n return null;\n}\n"]}
@@ -23,7 +23,7 @@ export interface GenerateLockFileResult {
23
23
  stderr?: string;
24
24
  stdout?: string;
25
25
  }
26
- export type PnpmDependency = Record<string, {
26
+ export type PnpmDependencySchema = Record<string, {
27
27
  version: string;
28
28
  } | string>;
29
29
  export interface PnpmLockFile {
@@ -31,10 +31,10 @@ export interface PnpmLockFile {
31
31
  catalogs?: Record<string, Record<string, {
32
32
  version: string;
33
33
  }>>;
34
- importers?: Record<string, Record<string, PnpmDependency>>;
35
- dependencies: PnpmDependency;
36
- devDependencies: PnpmDependency;
37
- optionalDependencies: PnpmDependency;
34
+ importers?: Record<string, Record<string, PnpmDependencySchema>>;
35
+ dependencies: PnpmDependencySchema;
36
+ devDependencies: PnpmDependencySchema;
37
+ optionalDependencies: PnpmDependencySchema;
38
38
  }
39
39
  export interface YarnRcNpmRegistry {
40
40
  npmAlwaysAuth?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { FileChange } from '../../../../util/git/types';\nimport type { PackageFile } from '../../types';\nimport type { NpmManagerData } from '../types';\n\nexport interface DetermineLockFileDirsResult {\n yarnLockDirs: string[];\n npmLockDirs: string[];\n pnpmShrinkwrapDirs: string[];\n}\n\nexport interface AdditionalPackageFiles {\n npm?: Partial<PackageFile<NpmManagerData>>[];\n}\n\nexport interface ArtifactError {\n lockFile: string;\n stderr?: string;\n}\n\nexport interface WriteExistingFilesResult {\n artifactErrors: ArtifactError[];\n updatedArtifacts: FileChange[];\n}\n\nexport interface GenerateLockFileResult {\n error?: boolean;\n lockFile?: string | null;\n stderr?: string;\n stdout?: string;\n}\n\n// the dependencies schema is different for v6 and other lockfile versions\n// Ref: https://github.com/pnpm/spec/issues/4#issuecomment-1524059392\nexport type PnpmDependency = Record<string, { version: string } | string>;\n\nexport interface PnpmLockFile {\n lockfileVersion: number | string;\n catalogs?: Record<string, Record<string, { version: string }>>;\n importers?: Record<string, Record<string, PnpmDependency>>;\n dependencies: PnpmDependency;\n devDependencies: PnpmDependency;\n optionalDependencies: PnpmDependency;\n}\n\nexport interface YarnRcNpmRegistry {\n npmAlwaysAuth?: boolean;\n npmAuthIdent?: string;\n npmAuthToken?: string;\n}\n\nexport interface YarnRcYmlFile {\n yarnPath?: string | null;\n npmRegistries: Record<string, YarnRcNpmRegistry>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { FileChange } from '../../../../util/git/types';\nimport type { PackageFile } from '../../types';\nimport type { NpmManagerData } from '../types';\n\nexport interface DetermineLockFileDirsResult {\n yarnLockDirs: string[];\n npmLockDirs: string[];\n pnpmShrinkwrapDirs: string[];\n}\n\nexport interface AdditionalPackageFiles {\n npm?: Partial<PackageFile<NpmManagerData>>[];\n}\n\nexport interface ArtifactError {\n lockFile: string;\n stderr?: string;\n}\n\nexport interface WriteExistingFilesResult {\n artifactErrors: ArtifactError[];\n updatedArtifacts: FileChange[];\n}\n\nexport interface GenerateLockFileResult {\n error?: boolean;\n lockFile?: string | null;\n stderr?: string;\n stdout?: string;\n}\n\n// the dependencies schema is different for v6 and other lockfile versions\n// Ref: https://github.com/pnpm/spec/issues/4#issuecomment-1524059392\nexport type PnpmDependencySchema = Record<string, { version: string } | string>;\n\nexport interface PnpmLockFile {\n lockfileVersion: number | string;\n catalogs?: Record<string, Record<string, { version: string }>>;\n importers?: Record<string, Record<string, PnpmDependencySchema>>;\n dependencies: PnpmDependencySchema;\n devDependencies: PnpmDependencySchema;\n optionalDependencies: PnpmDependencySchema;\n}\n\nexport interface YarnRcNpmRegistry {\n npmAlwaysAuth?: boolean;\n npmAuthIdent?: string;\n npmAuthToken?: string;\n}\n\nexport interface YarnRcYmlFile {\n yarnPath?: string | null;\n npmRegistries: Record<string, YarnRcNpmRegistry>;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Lazy } from '../../../../util/lazy';
2
- import { PackageJson } from '../schema';
3
- export declare function lazyLoadPackageJson(lockFileDir: string): Lazy<Promise<PackageJson>>;
2
+ import type { PackageJsonSchema } from '../schema';
3
+ export declare function lazyLoadPackageJson(lockFileDir: string): Lazy<Promise<PackageJsonSchema>>;
4
4
  export type LazyPackageJson = ReturnType<typeof lazyLoadPackageJson>;
5
- export declare function loadPackageJson(lockFileDir: string): Promise<PackageJson>;
6
- export declare function getPackageManagerVersion(name: string, pkg: PackageJson): string | null;
5
+ export declare function loadPackageJson(lockFileDir: string): Promise<PackageJsonSchema>;
6
+ export declare function getPackageManagerVersion(name: string, pkg: PackageJsonSchema): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/utils.ts"],"names":[],"mappings":";;AAQA,kDAIC;AAID,0CAYC;AAED,4DAyCC;;AAvED,kEAAkC;AAClC,4DAA4B;AAC5B,0DAA0B;AAC1B,+CAA4C;AAC5C,4CAAoD;AACpD,gDAA6C;AAC7C,sCAAwC;AAExC,SAAgB,mBAAmB,CACjC,WAAmB;IAEnB,OAAO,IAAI,WAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AACtD,CAAC;AAIM,KAAK,UAAU,eAAe,CACnC,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAa,EAC9B,eAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EACvC,MAAM,CACP,CAAC;IACF,MAAM,GAAG,GAAG,oBAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAY,EACZ,GAAgB;IAEhB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,eAAM,CAAC,KAAK,CAAC,SAAS,IAAI,sCAAsC,OAAO,EAAE,CAAC,CAAC;QAE3E,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;YAC7D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc;YAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,2CAA2C,OAAO,EAAE,CAClE,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;QAC3C,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,+CAA+C,OAAO,EAAE,CACtE,CAAC;QACF,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,wCAAwC,OAAO,EAAE,CAC/D,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { readLocalFile } from '../../../../util/fs';\nimport { Lazy } from '../../../../util/lazy';\nimport { PackageJson } from '../schema';\n\nexport function lazyLoadPackageJson(\n lockFileDir: string,\n): Lazy<Promise<PackageJson>> {\n return new Lazy(() => loadPackageJson(lockFileDir));\n}\n\nexport type LazyPackageJson = ReturnType<typeof lazyLoadPackageJson>;\n\nexport async function loadPackageJson(\n lockFileDir: string,\n): Promise<PackageJson> {\n const json = await readLocalFile(\n upath.join(lockFileDir, 'package.json'),\n 'utf8',\n );\n const res = PackageJson.safeParse(json);\n if (res.success) {\n return res.data;\n }\n return {};\n}\n\nexport function getPackageManagerVersion(\n name: string,\n pkg: PackageJson,\n): string | null {\n if (pkg.volta?.[name]) {\n const version = pkg.volta[name];\n logger.debug(`Found ${name} constraint in package.json volta: ${version}`);\n\n return version;\n }\n if (pkg.devEngines?.packageManager) {\n const packageManagers = is.array(pkg.devEngines.packageManager)\n ? pkg.devEngines.packageManager\n : [pkg.devEngines.packageManager];\n const packageMgr = packageManagers.find((pm) => pm.name === name);\n const version = packageMgr?.version;\n if (version) {\n logger.debug(\n `Found ${name} constraint in package.json devEngines: ${version}`,\n );\n return version;\n }\n }\n if (pkg.packageManager?.name === name) {\n const version = pkg.packageManager.version;\n logger.debug(\n `Found ${name} constraint in package.json packageManager: ${version}`,\n );\n if (semver.valid(version)) {\n return version;\n }\n return null;\n }\n if (pkg.engines?.[name]) {\n const version = pkg.engines[name];\n logger.debug(\n `Found ${name} constraint in package.json engines: ${version}`,\n );\n return version;\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/utils.ts"],"names":[],"mappings":";;AASA,kDAIC;AAID,0CAYC;AAED,4DAyCC;;AAxED,kEAAkC;AAClC,4DAA4B;AAC5B,0DAA0B;AAC1B,+CAA4C;AAC5C,4CAAoD;AACpD,gDAA6C;AAE7C,sCAAwC;AAExC,SAAgB,mBAAmB,CACjC,WAAmB;IAEnB,OAAO,IAAI,WAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AACtD,CAAC;AAIM,KAAK,UAAU,eAAe,CACnC,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAa,EAC9B,eAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EACvC,MAAM,CACP,CAAC;IACF,MAAM,GAAG,GAAG,oBAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAY,EACZ,GAAsB;IAEtB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,eAAM,CAAC,KAAK,CAAC,SAAS,IAAI,sCAAsC,OAAO,EAAE,CAAC,CAAC;QAE3E,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;YAC7D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc;YAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,2CAA2C,OAAO,EAAE,CAClE,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;QAC3C,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,+CAA+C,OAAO,EAAE,CACtE,CAAC;QACF,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,eAAM,CAAC,KAAK,CACV,SAAS,IAAI,wCAAwC,OAAO,EAAE,CAC/D,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { readLocalFile } from '../../../../util/fs';\nimport { Lazy } from '../../../../util/lazy';\nimport type { PackageJsonSchema } from '../schema';\nimport { PackageJson } from '../schema';\n\nexport function lazyLoadPackageJson(\n lockFileDir: string,\n): Lazy<Promise<PackageJsonSchema>> {\n return new Lazy(() => loadPackageJson(lockFileDir));\n}\n\nexport type LazyPackageJson = ReturnType<typeof lazyLoadPackageJson>;\n\nexport async function loadPackageJson(\n lockFileDir: string,\n): Promise<PackageJsonSchema> {\n const json = await readLocalFile(\n upath.join(lockFileDir, 'package.json'),\n 'utf8',\n );\n const res = PackageJson.safeParse(json);\n if (res.success) {\n return res.data;\n }\n return {};\n}\n\nexport function getPackageManagerVersion(\n name: string,\n pkg: PackageJsonSchema,\n): string | null {\n if (pkg.volta?.[name]) {\n const version = pkg.volta[name];\n logger.debug(`Found ${name} constraint in package.json volta: ${version}`);\n\n return version;\n }\n if (pkg.devEngines?.packageManager) {\n const packageManagers = is.array(pkg.devEngines.packageManager)\n ? pkg.devEngines.packageManager\n : [pkg.devEngines.packageManager];\n const packageMgr = packageManagers.find((pm) => pm.name === name);\n const version = packageMgr?.version;\n if (version) {\n logger.debug(\n `Found ${name} constraint in package.json devEngines: ${version}`,\n );\n return version;\n }\n }\n if (pkg.packageManager?.name === name) {\n const version = pkg.packageManager.version;\n logger.debug(\n `Found ${name} constraint in package.json packageManager: ${version}`,\n );\n if (semver.valid(version)) {\n return version;\n }\n return null;\n }\n if (pkg.engines?.[name]) {\n const version = pkg.engines[name];\n logger.debug(\n `Found ${name} constraint in package.json engines: ${version}`,\n );\n return version;\n }\n return null;\n}\n"]}