renovate 41.72.0 → 42.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/datasource/aws-eks-addon/schema.d.ts +8 -1
- package/dist/modules/datasource/aws-eks-addon/schema.js +5 -7
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
- package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
- package/dist/modules/datasource/cdnjs/index.js +2 -2
- package/dist/modules/datasource/cdnjs/index.js.map +1 -1
- package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
- package/dist/modules/datasource/cdnjs/schema.js +3 -3
- package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
- package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/cpan/schema.js +2 -2
- package/dist/modules/datasource/cpan/schema.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +1 -1
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/crate/schema.d.ts +1 -1
- package/dist/modules/datasource/crate/schema.js +2 -2
- package/dist/modules/datasource/crate/schema.js.map +1 -1
- package/dist/modules/datasource/custom/index.d.ts +1 -1
- package/dist/modules/datasource/custom/index.js +2 -2
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +1 -1
- package/dist/modules/datasource/custom/schema.js +2 -2
- package/dist/modules/datasource/custom/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/index.js +3 -3
- package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/schema.d.ts +2 -2
- package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
- package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/index.js +3 -3
- package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
- package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/index.js +3 -3
- package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
- package/dist/modules/datasource/gitea-releases/schema.js +3 -3
- package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/index.js +3 -3
- package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/gitea-tags/schema.js +7 -7
- package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
- package/dist/modules/datasource/helm/index.js +1 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/datasource/helm/schema.d.ts +2 -2
- package/dist/modules/datasource/helm/schema.js +4 -4
- package/dist/modules/datasource/helm/schema.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +1 -1
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/argocd/schema.d.ts +1 -1
- package/dist/modules/manager/argocd/schema.js +2 -2
- package/dist/modules/manager/argocd/schema.js.map +1 -1
- package/dist/modules/manager/batect/extract.js +1 -1
- package/dist/modules/manager/batect/extract.js.map +1 -1
- package/dist/modules/manager/batect/schema.d.ts +2 -2
- package/dist/modules/manager/batect/schema.js +2 -2
- package/dist/modules/manager/batect/schema.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +21 -21
- package/dist/modules/manager/bazel-module/parser/fragments.js +32 -32
- package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
- package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
- package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +18 -18
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +2 -2
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
- package/dist/modules/manager/cargo/locked-version.js +1 -1
- package/dist/modules/manager/cargo/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +32 -5
- package/dist/modules/manager/cargo/schema.js +8 -7
- package/dist/modules/manager/cargo/schema.js.map +1 -1
- package/dist/modules/manager/crossplane/extract.js +1 -1
- package/dist/modules/manager/crossplane/extract.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/crossplane/schema.js +2 -2
- package/dist/modules/manager/crossplane/schema.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
- package/dist/modules/manager/custom/jsonata/schema.js +4 -4
- package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/devbox/extract.js +1 -1
- package/dist/modules/manager/devbox/extract.js.map +1 -1
- package/dist/modules/manager/devbox/schema.d.ts +1 -1
- package/dist/modules/manager/devbox/schema.js +2 -2
- package/dist/modules/manager/devbox/schema.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +2 -2
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/github-actions/community.js +10 -10
- package/dist/modules/manager/github-actions/community.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +1 -1
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/schema.d.ts +3 -3
- package/dist/modules/manager/github-actions/schema.js +7 -7
- package/dist/modules/manager/github-actions/schema.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/mise/backends.d.ts +2 -2
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/schema.d.ts +29 -6
- package/dist/modules/manager/mise/schema.js +8 -7
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/dist/modules/manager/mise/utils.d.ts +2 -2
- package/dist/modules/manager/mise/utils.js +1 -1
- package/dist/modules/manager/mise/utils.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.d.ts +3 -4
- package/dist/modules/manager/npm/extract/pnpm.js +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -1
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
- package/dist/modules/manager/npm/post-update/types.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.d.ts +4 -4
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +92 -10
- package/dist/modules/manager/npm/schema.js +16 -15
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/nuget/schema.d.ts +55 -2
- package/dist/modules/manager/nuget/schema.js +6 -5
- package/dist/modules/manager/nuget/schema.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +1 -1
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/ocb/schema.d.ts +4 -4
- package/dist/modules/manager/ocb/schema.js +9 -9
- package/dist/modules/manager/ocb/schema.js.map +1 -1
- package/dist/modules/manager/pep621/extract.d.ts +1 -1
- package/dist/modules/manager/pep621/extract.js +1 -1
- package/dist/modules/manager/pep621/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +1 -1
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +247 -9
- package/dist/modules/manager/pep621/schema.js +12 -10
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep723/extract.js +1 -1
- package/dist/modules/manager/pep723/extract.js.map +1 -1
- package/dist/modules/manager/pep723/schema.d.ts +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -2
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +7 -4
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/pixi/schema.d.ts +4 -296
- package/dist/modules/manager/pixi/schema.js +4 -11
- package/dist/modules/manager/pixi/schema.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +2 -2
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +1 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +107 -4
- package/dist/modules/manager/poetry/schema.js +6 -5
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/poetry/update-locked.js +2 -2
- package/dist/modules/manager/poetry/update-locked.js.map +1 -1
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/pub/schema.d.ts +82 -4
- package/dist/modules/manager/pub/schema.js +10 -8
- package/dist/modules/manager/pub/schema.js.map +1 -1
- package/dist/modules/manager/pub/utils.d.ts +3 -3
- package/dist/modules/manager/pub/utils.js +2 -2
- package/dist/modules/manager/pub/utils.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
- package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
- package/dist/modules/platform/azure/azure-helper.js +1 -1
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/schema.d.ts +3 -3
- package/dist/modules/platform/azure/schema.js +4 -4
- package/dist/modules/platform/azure/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +1 -1
- package/dist/modules/platform/bitbucket/schema.js +7 -7
- package/dist/modules/platform/bitbucket/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +2 -2
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/schema.d.ts +2 -2
- package/dist/modules/platform/bitbucket-server/schema.js +6 -6
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +3 -3
- package/dist/modules/platform/gitea/schema.js +3 -3
- package/dist/modules/platform/gitea/schema.js.map +1 -1
- package/dist/modules/platform/github/index.js +1 -1
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/schema.d.ts +1 -2
- package/dist/modules/platform/github/schema.js +8 -8
- package/dist/modules/platform/github/schema.js.map +1 -1
- package/dist/util/cache/repository/http-cache.js +1 -1
- package/dist/util/cache/repository/http-cache.js.map +1 -1
- package/dist/util/emoji.js +2 -2
- package/dist/util/emoji.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.d.ts +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/cache/schema.js +2 -2
- package/dist/util/http/cache/schema.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
- package/package.json +1 -1
@@ -37,11 +37,11 @@ function bazelModulePackageDepToPackageDependency(bmpd) {
|
|
37
37
|
}
|
38
38
|
return copy;
|
39
39
|
}
|
40
|
-
const BazelDepToPackageDep = fragments_1.
|
40
|
+
const BazelDepToPackageDep = fragments_1.RuleFragmentSchema.extend({
|
41
41
|
rule: zod_1.z.literal('bazel_dep'),
|
42
42
|
children: zod_1.z.object({
|
43
|
-
name: fragments_1.
|
44
|
-
version: fragments_1.
|
43
|
+
name: fragments_1.StringFragmentSchema,
|
44
|
+
version: fragments_1.StringFragmentSchema.optional(),
|
45
45
|
}),
|
46
46
|
}).transform(({ rule, children: { name, version } }) => ({
|
47
47
|
datasource: bazel_1.BazelDatasource.id,
|
@@ -50,12 +50,12 @@ const BazelDepToPackageDep = fragments_1.RuleFragment.extend({
|
|
50
50
|
currentValue: version?.value,
|
51
51
|
...(version ? {} : { skipReason: 'unspecified-version' }),
|
52
52
|
}));
|
53
|
-
const GitOverrideToPackageDep = fragments_1.
|
53
|
+
const GitOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
|
54
54
|
rule: zod_1.z.literal('git_override'),
|
55
55
|
children: zod_1.z.object({
|
56
|
-
module_name: fragments_1.
|
57
|
-
remote: fragments_1.
|
58
|
-
commit: fragments_1.
|
56
|
+
module_name: fragments_1.StringFragmentSchema,
|
57
|
+
remote: fragments_1.StringFragmentSchema,
|
58
|
+
commit: fragments_1.StringFragmentSchema,
|
59
59
|
}),
|
60
60
|
}).transform(({ rule, children: { module_name: moduleName, remote, commit }, }) => {
|
61
61
|
const override = {
|
@@ -74,12 +74,12 @@ const GitOverrideToPackageDep = fragments_1.RuleFragment.extend({
|
|
74
74
|
}
|
75
75
|
return override;
|
76
76
|
});
|
77
|
-
const SingleVersionOverrideToPackageDep = fragments_1.
|
77
|
+
const SingleVersionOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
|
78
78
|
rule: zod_1.z.literal('single_version_override'),
|
79
79
|
children: zod_1.z.object({
|
80
|
-
module_name: fragments_1.
|
81
|
-
version: fragments_1.
|
82
|
-
registry: fragments_1.
|
80
|
+
module_name: fragments_1.StringFragmentSchema,
|
81
|
+
version: fragments_1.StringFragmentSchema.optional(),
|
82
|
+
registry: fragments_1.StringFragmentSchema.optional(),
|
83
83
|
}),
|
84
84
|
}).transform(({ rule, children: { module_name: moduleName, version, registry }, }) => {
|
85
85
|
const base = {
|
@@ -101,10 +101,10 @@ const SingleVersionOverrideToPackageDep = fragments_1.RuleFragment.extend({
|
|
101
101
|
}
|
102
102
|
return base;
|
103
103
|
});
|
104
|
-
const UnsupportedOverrideToPackageDep = fragments_1.
|
104
|
+
const UnsupportedOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
|
105
105
|
rule: zod_1.z.enum(['archive_override', 'local_path_override']),
|
106
106
|
children: zod_1.z.object({
|
107
|
-
module_name: fragments_1.
|
107
|
+
module_name: fragments_1.StringFragmentSchema,
|
108
108
|
}),
|
109
109
|
}).transform(({ rule, children: { module_name: moduleName } }) => {
|
110
110
|
let bazelDepSkipReason = 'unsupported';
|
@@ -179,13 +179,13 @@ function processModulePkgDeps(packageDeps) {
|
|
179
179
|
function toPackageDependencies(packageDeps) {
|
180
180
|
return collectByModule(packageDeps).map(processModulePkgDeps).flat();
|
181
181
|
}
|
182
|
-
exports.GitRepositoryToPackageDep = fragments_1.
|
182
|
+
exports.GitRepositoryToPackageDep = fragments_1.RuleFragmentSchema.extend({
|
183
183
|
rule: zod_1.z.union([zod_1.z.literal('git_repository'), zod_1.z.literal('new_git_repository')]),
|
184
184
|
children: zod_1.z.object({
|
185
|
-
name: fragments_1.
|
186
|
-
remote: fragments_1.
|
187
|
-
commit: fragments_1.
|
188
|
-
tag: fragments_1.
|
185
|
+
name: fragments_1.StringFragmentSchema,
|
186
|
+
remote: fragments_1.StringFragmentSchema,
|
187
|
+
commit: fragments_1.StringFragmentSchema.optional(),
|
188
|
+
tag: fragments_1.StringFragmentSchema.optional(),
|
189
189
|
}),
|
190
190
|
}).transform(({ rule, children: { name, remote, commit, tag } }) => {
|
191
191
|
const gitRepo = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragment, StringFragment } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragment.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragment,\n version: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragment,\n remote: StringFragment,\n commit: StringFragment,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragment,\n version: StringFragment.optional(),\n registry: StringFragment.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragment.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragment,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragment.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragment,\n remote: StringFragment,\n commit: StringFragment.optional(),\n tag: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragmentSchema, StringFragmentSchema } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragmentSchema,\n version: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragmentSchema,\n remote: StringFragmentSchema,\n commit: StringFragmentSchema,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragmentSchema,\n version: StringFragmentSchema.optional(),\n registry: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragmentSchema,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragmentSchema.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragmentSchema,\n remote: StringFragmentSchema,\n commit: StringFragmentSchema.optional(),\n tag: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
|
@@ -64,7 +64,7 @@ async function readCargoConfig() {
|
|
64
64
|
const path = `.cargo/${configName}`;
|
65
65
|
const payload = await (0, fs_1.readLocalFile)(path, 'utf8');
|
66
66
|
if (payload) {
|
67
|
-
const parsedCargoConfig = schema_1.
|
67
|
+
const parsedCargoConfig = schema_1.CargoConfigSchema.safeParse(payload);
|
68
68
|
if (parsedCargoConfig.success) {
|
69
69
|
return parsedCargoConfig.data;
|
70
70
|
}
|
@@ -126,7 +126,7 @@ async function extractPackageFile(content, packageFile, _config) {
|
|
126
126
|
logger_1.logger.trace(`cargo.extractPackageFile(${packageFile})`);
|
127
127
|
const cargoConfig = (await readCargoConfig()) ?? {};
|
128
128
|
const cargoRegistries = extractCargoRegistries(cargoConfig);
|
129
|
-
const parsedCargoManifest = schema_1.
|
129
|
+
const parsedCargoManifest = schema_1.CargoManifestSchema.safeParse(content);
|
130
130
|
if (!parsedCargoManifest.success) {
|
131
131
|
logger_1.logger.debug({ err: parsedCargoManifest.error, packageFile }, 'Error parsing Cargo.toml file');
|
132
132
|
return null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../util/fs';\nimport { api as versioning } from '../../versioning/cargo';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractLockFileVersions } from './locked-version';\nimport { CargoConfig, CargoManifest } from './schema';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types';\nimport { DEFAULT_REGISTRY_URL } from './utils';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfig.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n } else {\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(config.registries ?? {}),\n ...Object.keys(config.source ?? {}),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n } else {\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n } else {\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n }\n }\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = (await readCargoConfig()) ?? {};\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifest.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (is.string(packageSection.version)) {\n version = packageSection.version;\n } else if (\n is.object(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n const lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue!,\n );\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"]}
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../util/fs';\nimport { api as versioning } from '../../versioning/cargo';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractLockFileVersions } from './locked-version';\nimport {\n type CargoConfig,\n CargoConfigSchema,\n CargoManifestSchema,\n} from './schema';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types';\nimport { DEFAULT_REGISTRY_URL } from './utils';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfigSchema.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n } else {\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(config.registries ?? {}),\n ...Object.keys(config.source ?? {}),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n } else {\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n } else {\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n }\n }\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = (await readCargoConfig()) ?? {};\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifestSchema.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (is.string(packageSection.version)) {\n version = packageSection.version;\n } else if (\n is.object(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n const lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue!,\n );\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import type { CargoLockSchema } from './schema';
|
2
2
|
export declare function extractLockFileVersions(lockFilePath: string): Promise<Map<string, string[]> | null>;
|
3
3
|
export declare function extractLockFileContentVersions(content: string): Map<string, string[]> | null;
|
4
|
-
export declare function parseLockFile(lockFile: string):
|
4
|
+
export declare function parseLockFile(lockFile: string): CargoLockSchema | null;
|
@@ -28,7 +28,7 @@ function extractLockFileContentVersions(content) {
|
|
28
28
|
return versionsByPackage;
|
29
29
|
}
|
30
30
|
function parseLockFile(lockFile) {
|
31
|
-
const res = schema_1.
|
31
|
+
const res = schema_1.CargoLockSchemaToml.safeParse(lockFile);
|
32
32
|
if (res.success) {
|
33
33
|
return res.data;
|
34
34
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"locked-version.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/locked-version.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"locked-version.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/locked-version.ts"],"names":[],"mappings":";;AAMA,0DAQC;AAED,wEAcC;AAED,sCAOC;AAvCD,4CAAyC;AACzC,+CAAkD;AAClD,yCAAiD;AAEjD,qCAA+C;AAExC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,8BAA8B,CAC5C,OAAe;IAEf,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB;IAC5C,MAAM,GAAG,GAAG,4BAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { readLocalFile } from '../../../util/fs';\nimport type { CargoLockSchema } from './schema';\nimport { CargoLockSchemaToml } from './schema';\n\nexport async function extractLockFileVersions(\n lockFilePath: string,\n): Promise<Map<string, string[]> | null> {\n const content = await readLocalFile(lockFilePath, 'utf8');\n if (content) {\n return extractLockFileContentVersions(content);\n }\n return null;\n}\n\nexport function extractLockFileContentVersions(\n content: string,\n): Map<string, string[]> | null {\n const versionsByPackage = new Map<string, string[]>();\n const lock = parseLockFile(content);\n if (!lock) {\n return null;\n }\n for (const pkg of coerceArray(lock.package)) {\n const versions = coerceArray(versionsByPackage.get(pkg.name));\n versions.push(pkg.version);\n versionsByPackage.set(pkg.name, versions);\n }\n return versionsByPackage;\n}\n\nexport function parseLockFile(lockFile: string): CargoLockSchema | null {\n const res = CargoLockSchemaToml.safeParse(lockFile);\n if (res.success) {\n return res.data;\n }\n logger.debug({ err: res.error }, 'Error parsing Cargo lockfile.');\n return null;\n}\n"]}
|
@@ -44,7 +44,7 @@ declare const CargoDeps: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.Zod
|
|
44
44
|
workspace?: boolean | undefined;
|
45
45
|
}>>;
|
46
46
|
export type CargoDeps = z.infer<typeof CargoDeps>;
|
47
|
-
export declare const
|
47
|
+
export declare const CargoManifestSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
48
48
|
dependencies: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
49
49
|
/** Path on disk to the crate sources */
|
50
50
|
path: z.ZodOptional<z.ZodString>;
|
@@ -553,7 +553,7 @@ export declare const CargoManifest: z.ZodPipeline<z.ZodEffects<z.ZodString, unkn
|
|
553
553
|
workspace?: boolean | undefined;
|
554
554
|
}> | undefined;
|
555
555
|
}>>;
|
556
|
-
export declare const
|
556
|
+
export declare const CargoConfigSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
557
557
|
registries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
558
558
|
index: z.ZodOptional<z.ZodString>;
|
559
559
|
}, "strip", z.ZodTypeAny, {
|
@@ -588,8 +588,36 @@ export declare const CargoConfig: z.ZodPipeline<z.ZodEffects<z.ZodString, unknow
|
|
588
588
|
index?: string | undefined;
|
589
589
|
}> | undefined;
|
590
590
|
}>>;
|
591
|
-
export type CargoConfig = z.infer<typeof
|
592
|
-
export declare const
|
591
|
+
export type CargoConfig = z.infer<typeof CargoConfigSchema>;
|
592
|
+
export declare const CargoLockSchema: z.ZodObject<{
|
593
|
+
package: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
594
|
+
name: z.ZodString;
|
595
|
+
version: z.ZodString;
|
596
|
+
source: z.ZodOptional<z.ZodString>;
|
597
|
+
}, "strip", z.ZodTypeAny, {
|
598
|
+
name: string;
|
599
|
+
version: string;
|
600
|
+
source?: string | undefined;
|
601
|
+
}, {
|
602
|
+
name: string;
|
603
|
+
version: string;
|
604
|
+
source?: string | undefined;
|
605
|
+
}>, "many">>;
|
606
|
+
}, "strip", z.ZodTypeAny, {
|
607
|
+
package?: {
|
608
|
+
name: string;
|
609
|
+
version: string;
|
610
|
+
source?: string | undefined;
|
611
|
+
}[] | undefined;
|
612
|
+
}, {
|
613
|
+
package?: {
|
614
|
+
name: string;
|
615
|
+
version: string;
|
616
|
+
source?: string | undefined;
|
617
|
+
}[] | undefined;
|
618
|
+
}>;
|
619
|
+
export type CargoLockSchema = z.infer<typeof CargoLockSchema>;
|
620
|
+
export declare const CargoLockSchemaToml: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
|
593
621
|
package: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
594
622
|
name: z.ZodString;
|
595
623
|
version: z.ZodString;
|
@@ -616,5 +644,4 @@ export declare const CargoLock: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown,
|
|
616
644
|
source?: string | undefined;
|
617
645
|
}[] | undefined;
|
618
646
|
}>>;
|
619
|
-
export type CargoLock = z.infer<typeof CargoLock>;
|
620
647
|
export {};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.CargoLockSchemaToml = exports.CargoLockSchema = exports.CargoConfigSchema = exports.CargoManifestSchema = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
5
|
const schema_utils_1 = require("../../../util/schema-utils");
|
6
6
|
const crate_1 = require("../../datasource/crate");
|
@@ -85,7 +85,7 @@ const CargoWorkspace = zod_1.z.object({
|
|
85
85
|
.optional(),
|
86
86
|
});
|
87
87
|
const CargoTarget = zod_1.z.record(zod_1.z.string(), CargoSection);
|
88
|
-
exports.
|
88
|
+
exports.CargoManifestSchema = schema_utils_1.Toml.pipe(CargoSection.extend({
|
89
89
|
package: zod_1.z
|
90
90
|
.object({
|
91
91
|
version: zod_1.z
|
@@ -103,16 +103,17 @@ const CargoConfigSource = zod_1.z.object({
|
|
103
103
|
'replace-with': zod_1.z.string().optional(),
|
104
104
|
registry: zod_1.z.string().optional(),
|
105
105
|
});
|
106
|
-
exports.
|
106
|
+
exports.CargoConfigSchema = schema_utils_1.Toml.pipe(zod_1.z.object({
|
107
107
|
registries: zod_1.z.record(zod_1.z.string(), CargoConfigRegistry).optional(),
|
108
108
|
source: zod_1.z.record(zod_1.z.string(), CargoConfigSource).optional(),
|
109
109
|
}));
|
110
|
-
const
|
110
|
+
const CargoLockPackageSchema = zod_1.z.object({
|
111
111
|
name: zod_1.z.string(),
|
112
112
|
version: zod_1.z.string(),
|
113
113
|
source: zod_1.z.string().optional(),
|
114
114
|
});
|
115
|
-
exports.
|
116
|
-
package: zod_1.z.array(
|
117
|
-
})
|
115
|
+
exports.CargoLockSchema = zod_1.z.object({
|
116
|
+
package: zod_1.z.array(CargoLockPackageSchema).optional(),
|
117
|
+
});
|
118
|
+
exports.CargoLockSchemaToml = schema_utils_1.Toml.pipe(exports.CargoLockSchema);
|
118
119
|
//# sourceMappingURL=schema.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/schema.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport type { SkipReason } from '../../../types';\nimport { Toml, withDepType } from '../../../util/schema-utils';\nimport { CrateDatasource } from '../../datasource/crate';\nimport type { PackageDependency } from '../types';\nimport type { CargoManagerData } from './types';\n\nconst CargoDep = z.union([\n z\n .object({\n /** Path on disk to the crate sources */\n path: z.string().optional(),\n /** Git URL for the dependency */\n git: z.string().optional(),\n /** Semver version */\n version: z.string().optional(),\n /** Name of a registry whose URL is configured in `.cargo/config.toml` or `.cargo/config` */\n registry: z.string().optional(),\n /** Name of a package to look up */\n package: z.string().optional(),\n /** Whether the dependency is inherited from the workspace */\n workspace: z.boolean().optional(),\n })\n .transform(\n ({\n path,\n git,\n version,\n registry,\n package: pkg,\n workspace,\n }): PackageDependency<CargoManagerData> => {\n let skipReason: SkipReason | undefined;\n let currentValue: string | undefined;\n let nestedVersion = false;\n\n if (version) {\n currentValue = version;\n nestedVersion = true;\n } else {\n currentValue = '';\n skipReason = 'invalid-dependency-specification';\n }\n\n if (path) {\n skipReason = 'path-dependency';\n } else if (git) {\n skipReason = 'git-dependency';\n } else if (workspace) {\n skipReason = 'inherited-dependency';\n }\n\n const dep: PackageDependency<CargoManagerData> = {\n currentValue,\n managerData: { nestedVersion },\n datasource: CrateDatasource.id,\n };\n\n if (skipReason) {\n dep.skipReason = skipReason;\n }\n if (pkg) {\n dep.packageName = pkg;\n }\n if (registry) {\n dep.managerData!.registryName = registry;\n }\n\n return dep;\n },\n ),\n z.string().transform(\n (version): PackageDependency<CargoManagerData> => ({\n currentValue: version,\n managerData: { nestedVersion: false },\n datasource: CrateDatasource.id,\n }),\n ),\n]);\n\nconst CargoDeps = z.record(z.string(), CargoDep).transform((record) => {\n const deps: PackageDependency[] = [];\n\n for (const [depName, dep] of Object.entries(record)) {\n dep.depName = depName;\n deps.push(dep);\n }\n\n return deps;\n});\n\nexport type CargoDeps = z.infer<typeof CargoDeps>;\n\nconst CargoSection = z.object({\n dependencies: withDepType(CargoDeps, 'dependencies').optional(),\n 'dev-dependencies': withDepType(CargoDeps, 'dev-dependencies').optional(),\n 'build-dependencies': withDepType(CargoDeps, 'build-dependencies').optional(),\n});\n\nconst CargoWorkspace = z.object({\n dependencies: withDepType(CargoDeps, 'workspace.dependencies').optional(),\n package: z\n .object({\n version: z.string().optional(),\n })\n .optional(),\n});\n\nconst CargoTarget = z.record(z.string(), CargoSection);\n\nexport const CargoManifestSchema = Toml.pipe(\n CargoSection.extend({\n package: z\n .object({\n version: z\n .union([z.string(), z.object({ workspace: z.literal(true) })])\n .optional(),\n })\n .optional(),\n workspace: CargoWorkspace.optional(),\n target: CargoTarget.optional(),\n }),\n);\n\nconst CargoConfigRegistry = z.object({\n index: z.string().optional(),\n});\n\nconst CargoConfigSource = z.object({\n 'replace-with': z.string().optional(),\n registry: z.string().optional(),\n});\n\nexport const CargoConfigSchema = Toml.pipe(\n z.object({\n registries: z.record(z.string(), CargoConfigRegistry).optional(),\n source: z.record(z.string(), CargoConfigSource).optional(),\n }),\n);\n\nexport type CargoConfig = z.infer<typeof CargoConfigSchema>;\n\nconst CargoLockPackageSchema = z.object({\n name: z.string(),\n version: z.string(),\n source: z.string().optional(),\n});\n\nexport const CargoLockSchema = z.object({\n package: z.array(CargoLockPackageSchema).optional(),\n});\n\nexport type CargoLockSchema = z.infer<typeof CargoLockSchema>;\n\nexport const CargoLockSchemaToml = Toml.pipe(CargoLockSchema);\n"]}
|
@@ -13,7 +13,7 @@ function extractPackageFile(content, packageFile, extractConfig) {
|
|
13
13
|
}
|
14
14
|
// not try and catching this as failureBehaviour is set to filter and therefore it will not throw
|
15
15
|
const list = (0, yaml_1.parseYaml)(content, {
|
16
|
-
customSchema: schema_1.
|
16
|
+
customSchema: schema_1.XPKGSchema,
|
17
17
|
failureBehaviour: 'filter',
|
18
18
|
});
|
19
19
|
const deps = [];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/extract.ts"],"names":[],"mappings":";;AAUA,gDAyBC;AAnCD,4CAAyC;AACzC,6CAA+C;AAC/C,mDAA+C;AAM/C,
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/extract.ts"],"names":[],"mappings":";;AAUA,gDAyBC;AAnCD,4CAAyC;AACzC,6CAA+C;AAC/C,mDAA+C;AAM/C,qCAAsC;AAEtC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,aAA6B;IAE7B,kGAAkG;IAClG,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,sCAAsC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iGAAiG;IACjG,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE;QAC9B,YAAY,EAAE,mBAAU;QACxB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { parseYaml } from '../../../util/yaml';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { XPKGSchema } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig?: ExtractConfig,\n): PackageFileContent | null {\n // avoid parsing the whole file if it doesn't contain any resource having any pkg.crossplane.io/v*\n if (!/apiVersion:\\s+[\"']?pkg\\.crossplane\\.io\\/v.+[\"']?/.test(content)) {\n logger.trace({ packageFile }, 'No Crossplane package found in file.');\n return null;\n }\n\n // not try and catching this as failureBehaviour is set to filter and therefore it will not throw\n const list = parseYaml(content, {\n customSchema: XPKGSchema,\n failureBehaviour: 'filter',\n });\n\n const deps: PackageDependency[] = [];\n for (const xpkg of list) {\n const dep = getDep(xpkg.spec.package, true, extractConfig?.registryAliases);\n dep.depType = xpkg.kind.toLowerCase();\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { z } from 'zod';
|
2
|
-
export declare const
|
2
|
+
export declare const XPKGSchema: z.ZodObject<{
|
3
3
|
apiVersion: z.ZodString;
|
4
4
|
kind: z.ZodEnum<["Provider", "Configuration", "Function"]>;
|
5
5
|
spec: z.ZodObject<{
|
@@ -22,4 +22,4 @@ export declare const XPKG: z.ZodObject<{
|
|
22
22
|
package: string;
|
23
23
|
};
|
24
24
|
}>;
|
25
|
-
export type XPKG = z.infer<typeof
|
25
|
+
export type XPKG = z.infer<typeof XPKGSchema>;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.XPKGSchema = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
5
|
const regex_1 = require("../../../util/regex");
|
6
|
-
exports.
|
6
|
+
exports.XPKGSchema = zod_1.z.object({
|
7
7
|
apiVersion: zod_1.z.string().regex((0, regex_1.regEx)(/^pkg\.crossplane\.io\//)),
|
8
8
|
kind: zod_1.z.enum(['Provider', 'Configuration', 'Function']),
|
9
9
|
spec: zod_1.z.object({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAA4C;AAE/B,QAAA,
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,wBAAwB,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { regEx } from '../../../util/regex';\n\nexport const XPKGSchema = z.object({\n apiVersion: z.string().regex(regEx(/^pkg\\.crossplane\\.io\\//)),\n kind: z.enum(['Provider', 'Configuration', 'Function']),\n spec: z.object({\n package: z.string(),\n }),\n});\n\nexport type XPKG = z.infer<typeof XPKGSchema>;\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { z } from 'zod';
|
2
|
-
export declare const
|
2
|
+
export declare const QueryResultZodSchema: z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodObject<{
|
3
3
|
currentValue: z.ZodOptional<z.ZodString>;
|
4
4
|
datasource: z.ZodOptional<z.ZodString>;
|
5
5
|
depName: z.ZodOptional<z.ZodString>;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.QueryResultZodSchema = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
|
-
const
|
5
|
+
const DepObjectSchema = zod_1.z.object({
|
6
6
|
currentValue: zod_1.z.string().optional(),
|
7
7
|
datasource: zod_1.z.string().optional(),
|
8
8
|
depName: zod_1.z.string().optional(),
|
@@ -14,8 +14,8 @@ const DepObject = zod_1.z.object({
|
|
14
14
|
extractVersion: zod_1.z.string().optional(),
|
15
15
|
indentation: zod_1.z.string().optional(),
|
16
16
|
});
|
17
|
-
exports.
|
18
|
-
.union([zod_1.z.array(
|
17
|
+
exports.QueryResultZodSchema = zod_1.z
|
18
|
+
.union([zod_1.z.array(DepObjectSchema), DepObjectSchema])
|
19
19
|
.transform((input) => {
|
20
20
|
return Array.isArray(input) ? input : [input];
|
21
21
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC;KAClC,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;KAClD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nconst DepObjectSchema = z.object({\n currentValue: z.string().optional(),\n datasource: z.string().optional(),\n depName: z.string().optional(),\n packageName: z.string().optional(),\n currentDigest: z.string().optional(),\n versioning: z.string().optional(),\n depType: z.string().optional(),\n registryUrl: z.string().optional(),\n extractVersion: z.string().optional(),\n indentation: z.string().optional(),\n});\n\nexport const QueryResultZodSchema = z\n .union([z.array(DepObjectSchema), DepObjectSchema])\n .transform((input) => {\n return Array.isArray(input) ? input : [input];\n });\n"]}
|
@@ -28,7 +28,7 @@ async function handleMatching(json, packageFile, config) {
|
|
28
28
|
}, 'The jsonata query returned no matches. Possible error, please check your query. Skipping');
|
29
29
|
return [];
|
30
30
|
}
|
31
|
-
const parsed = schema_1.
|
31
|
+
const parsed = schema_1.QueryResultZodSchema.safeParse(queryResult);
|
32
32
|
if (parsed.success) {
|
33
33
|
results = results.concat(parsed.data);
|
34
34
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/utils.ts"],"names":[],"mappings":";;AAYA,wCA4CC;AAED,4CAyBC;;AAnFD,kEAAkC;AAClC,8DAA8B;AAC9B,oGAA8F;AAC9F,+CAA4C;AAC5C,4EAAsD;AACtD,8CAAgD;AAGhD,oCAAoE;AACpE,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport jsonata from 'jsonata';\nimport { migrateDatasource } from '../../../../config/migrations/custom/datasource-migration';\nimport { logger } from '../../../../logger';\nimport * as template from '../../../../util/template';\nimport { parseUrl } from '../../../../util/url';\nimport type { PackageDependency } from '../../types';\nimport type { ValidMatchFields } from '../utils';\nimport { checkIsValidDependency, validMatchFields } from '../utils';\nimport { QueryResultZodSchema } from './schema';\nimport type { JSONataManagerTemplates, JsonataExtractConfig } from './types';\n\nexport async function handleMatching(\n json: unknown,\n packageFile: string,\n config: JsonataExtractConfig,\n): Promise<PackageDependency[]> {\n let results: Record<string, string>[] = [];\n const { matchStrings: jsonataQueries } = config;\n for (const query of jsonataQueries) {\n // won't fail as this is verified during config validation\n const jsonataExpression = jsonata(query);\n // this does not throw error, just returns undefined if no matches\n const queryResult = await jsonataExpression.evaluate(json);\n\n // allows empty dep object cause templates can be used to configure the required fields\n // if some issues arise then the isValidDependency call will catch them later on\n if (!queryResult || is.emptyArray(queryResult)) {\n logger.debug(\n {\n jsonataQuery: query,\n packageFile,\n },\n 'The jsonata query returned no matches. Possible error, please check your query. Skipping',\n );\n return [];\n }\n\n const parsed = QueryResultZodSchema.safeParse(queryResult);\n if (parsed.success) {\n results = results.concat(parsed.data);\n } else {\n logger.warn(\n { err: parsed.error, jsonataQuery: query, packageFile, queryResult },\n 'Query results failed schema validation',\n );\n return [];\n }\n }\n\n return results\n .map((dep) => createDependency(dep, config))\n .filter(is.truthy)\n .filter((dep) =>\n checkIsValidDependency(dep, packageFile, 'custom.jsonata'),\n );\n}\n\nexport function createDependency(\n queryResult: Record<string, string>,\n config: JsonataExtractConfig,\n): PackageDependency | null {\n const dependency: PackageDependency = {};\n\n for (const field of validMatchFields) {\n const fieldTemplate = `${field}Template` as keyof JSONataManagerTemplates;\n const tmpl = config[fieldTemplate];\n if (tmpl) {\n try {\n const compiled = template.compile(tmpl, queryResult, false);\n updateDependency(field, compiled, dependency);\n } catch {\n logger.debug(\n { template: tmpl },\n 'Error compiling template for JSONata manager',\n );\n return null;\n }\n } else if (queryResult[field]) {\n updateDependency(field, queryResult[field], dependency);\n }\n }\n return dependency;\n}\n\nfunction updateDependency(\n field: ValidMatchFields,\n value: string,\n dependency: PackageDependency,\n): PackageDependency {\n switch (field) {\n case 'registryUrl': {\n const url = parseUrl(value)?.toString();\n if (!url) {\n logger.debug({ url: value }, 'Invalid JSONata manager registryUrl');\n break;\n }\n dependency.registryUrls = [url];\n break;\n }\n case 'datasource':\n dependency.datasource = migrateDatasource(value);\n break;\n default:\n dependency[field] = value;\n break;\n }\n\n return dependency;\n}\n"]}
|
@@ -5,7 +5,7 @@ const logger_1 = require("../../../logger");
|
|
5
5
|
const schema_1 = require("./schema");
|
6
6
|
function extractPackageFile(content, packageFile) {
|
7
7
|
logger_1.logger.trace('devbox.extractPackageFile()');
|
8
|
-
const deps = (0, logger_1.withMeta)({ packageFile }, () => schema_1.
|
8
|
+
const deps = (0, logger_1.withMeta)({ packageFile }, () => schema_1.DevboxSchema.parse(content));
|
9
9
|
if (!deps.length) {
|
10
10
|
return null;
|
11
11
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/extract.ts"],"names":[],"mappings":";;AAIA,gDAYC;AAhBD,4CAAmD;AAEnD,
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/extract.ts"],"names":[],"mappings":";;AAIA,gDAYC;AAhBD,4CAAmD;AAEnD,qCAAwC;AAExC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,qBAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import { logger, withMeta } from '../../../logger';\nimport type { PackageFileContent } from '../types';\nimport { DevboxSchema } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n logger.trace('devbox.extractPackageFile()');\n\n const deps = withMeta({ packageFile }, () => DevboxSchema.parse(content));\n if (!deps.length) {\n return null;\n }\n\n return { deps };\n}\n"]}
|