renovate 43.246.1 → 43.247.0
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/_virtual/_rolldown/runtime.js +1 -1
- package/dist/config/migrations/migrations-service.js +2 -2
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/modules/datasource/hex/v2/package.js +6 -6
- package/dist/modules/datasource/hex/v2/package.js.map +1 -1
- package/dist/modules/datasource/hex/v2/signed.js +6 -6
- package/dist/modules/datasource/hex/v2/signed.js.map +1 -1
- package/dist/modules/manager/ant/extract.js +1 -1
- package/dist/modules/manager/ant/extract.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +1 -1
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +1 -1
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +1 -1
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +1 -1
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +1 -1
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/proto/extract.js +1 -1
- package/dist/modules/manager/proto/extract.js.map +1 -1
- package/dist/modules/manager/proto/schema.js +1 -1
- package/dist/modules/manager/proto/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket/utils.js +1 -1
- package/dist/modules/platform/bitbucket/utils.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +1 -1
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/versioning/gradle/index.js +1 -1
- package/dist/modules/versioning/gradle/index.js.map +1 -1
- package/dist/modules/versioning/node/index.js +7 -5
- package/dist/modules/versioning/node/index.js.map +1 -1
- package/dist/modules/versioning/node/schedule.js.map +1 -1
- package/dist/util/emoji.js +1 -1
- package/dist/util/emoji.js.map +1 -1
- package/dist/util/git/auth.js +2 -2
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/template/index.js +2 -1
- package/dist/util/template/index.js.map +1 -1
- package/dist/util/vulnerability/utils.js +2 -2
- package/dist/util/vulnerability/utils.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +1 -1
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/host-rules-from-env.js +1 -1
- package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/update/pr/labels.js +1 -1
- package/dist/workers/repository/update/pr/labels.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -11,6 +11,6 @@ var __exportAll = (all, no_symbols) => {
|
|
|
11
11
|
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
12
12
|
return target;
|
|
13
13
|
};
|
|
14
|
-
var __require = /*
|
|
14
|
+
var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
|
|
15
15
|
//#endregion
|
|
16
16
|
export { __commonJSMin, __exportAll, __require };
|
|
@@ -60,7 +60,7 @@ import { isRegExp } from "@sindresorhus/is";
|
|
|
60
60
|
import { dequal } from "dequal";
|
|
61
61
|
//#region lib/config/migrations/migrations-service.ts
|
|
62
62
|
var MigrationsService = class MigrationsService {
|
|
63
|
-
static removedProperties = new Set([
|
|
63
|
+
static removedProperties = /* @__PURE__ */ new Set([
|
|
64
64
|
"allowCommandTemplating",
|
|
65
65
|
"allowPostUpgradeCommandTemplating",
|
|
66
66
|
"deepExtract",
|
|
@@ -81,7 +81,7 @@ var MigrationsService = class MigrationsService {
|
|
|
81
81
|
"yarnMaintenancePrBody",
|
|
82
82
|
"yarnMaintenancePrTitle"
|
|
83
83
|
]);
|
|
84
|
-
static renamedProperties = new Map([
|
|
84
|
+
static renamedProperties = /* @__PURE__ */ new Map([
|
|
85
85
|
["adoptium-java", "java-version"],
|
|
86
86
|
["allowedPostUpgradeCommands", "allowedCommands"],
|
|
87
87
|
["azureAutoApprove", "autoApprove"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations-service.js","names":[],"sources":["../../../lib/config/migrations/migrations-service.ts"],"sourcesContent":["import { isRegExp } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types.ts';\nimport { RemovePropertyMigration } from './base/remove-property-migration.ts';\nimport { RenamePropertyMigration } from './base/rename-property-migration.ts';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration.ts';\nimport { AutomergeMigration } from './custom/automerge-migration.ts';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration.ts';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration.ts';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration.ts';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration.ts';\nimport { BaseBranchMigration } from './custom/base-branch-migration.ts';\nimport { BinarySourceMigration } from './custom/binary-source-migration.ts';\nimport { BranchNameMigration } from './custom/branch-name-migration.ts';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration.ts';\nimport { CompatibilityMigration } from './custom/compatibility-migration.ts';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration.ts';\nimport { CustomManagersMigration } from './custom/custom-managers-migration.ts';\nimport { DatasourceMigration } from './custom/datasource-migration.ts';\nimport { DepTypesMigration } from './custom/dep-types-migration.ts';\nimport { DryRunMigration } from './custom/dry-run-migration.ts';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration.ts';\nimport { ExtendsMigration } from './custom/extends-migration.ts';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration.ts';\nimport { FileMatchMigration } from './custom/file-match-migration.ts';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration.ts';\nimport { HostRulesMigration } from './custom/host-rules-migration.ts';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration.ts';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration.ts';\nimport { IncludeForksMigration } from './custom/include-forks-migration.ts';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration.ts';\nimport { MatchManagersMigration } from './custom/match-managers-migration.ts';\nimport { MatchStringsMigration } from './custom/match-strings-migration.ts';\nimport { NodeMigration } from './custom/node-migration.ts';\nimport { PackageFilesMigration } from './custom/package-files-migration.ts';\nimport { PackageNameMigration } from './custom/package-name-migration.ts';\nimport { PackagePatternMigration } from './custom/package-pattern-migration.ts';\nimport { PackageRulesMigration } from './custom/package-rules-migration.ts';\nimport { PackagesMigration } from './custom/packages-migration.ts';\nimport { PathRulesMigration } from './custom/path-rules-migration.ts';\nimport { PinVersionsMigration } from './custom/pin-versions-migration.ts';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration.ts';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration.ts';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration.ts';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration.ts';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration.ts';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration.ts';\nimport { RequireConfigMigration } from './custom/require-config-migration.ts';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration.ts';\nimport { ScheduleMigration } from './custom/schedule-migration.ts';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration.ts';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration.ts';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration.ts';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration.ts';\nimport { StabilityDaysMigration } from './custom/stability-days-migration.ts';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration.ts';\nimport { TrustLevelMigration } from './custom/trust-level-migration.ts';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration.ts';\nimport { UpdateLockFilesMigration } from './custom/update-lock-files-migration.ts';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration.ts';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration.ts';\nimport type {\n MigratableConfig,\n Migration,\n MigrationConstructor,\n} from './types.ts';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ['baseBranches', 'baseBranchPatterns'],\n ['renovate-config-presets', 'renovate-config'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n FileMatchMigration,\n UpdateLockFilesMigration,\n ];\n\n static run(\n originalConfig: MigratableConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig) as [\n keyof RenovateConfig,\n unknown,\n ][]) {\n // @ts-expect-error -- can't be narrowed\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (isRegExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,IAAa,oBAAb,MAAa,kBAAkB;CAC7B,OAAgB,oBAAyC,IAAI,IAAI;EAC/D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAgB,oBAAiD,IAAI,IAAI;EACvE,CAAC,iBAAiB,cAAc;EAChC,CAAC,8BAA8B,iBAAiB;EAChD,CAAC,oBAAoB,aAAa;EAClC,CAAC,sBAAsB,cAAc;EACrC,CAAC,aAAa,WAAW;EACzB,CAAC,wBAAwB,qBAAqB;EAC9C,CAAC,aAAa,cAAc;EAC5B,CAAC,aAAa,WAAW;EACzB,CAAC,uBAAuB,wBAAwB;EAChD,CAAC,oBAAoB,uBAAuB;EAC5C,CAAC,yBAAyB,oBAAoB;EAC9C,CAAC,iBAAiB,YAAY;EAC9B,CAAC,sBAAsB,qBAAqB;EAC5C,CAAC,WAAW,iBAAiB;EAC7B,CAAC,eAAe,qBAAqB;EACrC,CAAC,uBAAuB,6BAA6B;EACrD,CAAC,wBAAwB,8BAA8B;EACvD,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,oBAAoB,0BAA0B;EAC/C,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,iBAAiB,gBAAgB;EAClC,CAAC,gBAAgB,oBAAoB;EACrC,CAAC,2BAA2B,iBAAiB;CAC/C,CAAC;CAED,OAAgB,mBAAoD;EAClE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OAAO,IACL,gBACA,WACgB;EAChB,MAAM,iBAAiC,CAAC;EACxC,MAAM,aAAa,KAAK,cAAc,gBAAgB,cAAc;EAEpE,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,cAAc,GAGnD;GAEH,eAAe,SAAS;GACxB,MAAM,YAAY,kBAAkB,aAAa,YAAY,GAAG;GAEhE,IAAI,WAAW;IACb,UAAU,IAAI,OAAO,KAAK,SAAS;IAEnC,IAAI,UAAU,YACZ,OAAO,eAAe;GAE1B;EACF;EAEA,OAAO;CACT;CAEA,OAAO,WACL,gBACA,gBACS;EACT,OAAO,CAAC,OAAO,gBAAgB,cAAc;CAC/C;CAEA,OAAc,cACZ,gBACA,gBACsB;EACtB,MAAM,aAA0B,CAAC;EAEjC,KAAK,MAAM,gBAAgB,kBAAkB,mBAC3C,WAAW,KACT,IAAI,wBACF,cACA,gBACA,cACF,CACF;EAGF,KAAK,MAAM,CACT,iBACA,oBACG,kBAAkB,kBAAkB,QAAQ,GAC/C,WAAW,KACT,IAAI,wBACF,iBACA,iBACA,gBACA,cACF,CACF;EAGF,KAAK,MAAM,mBAAmB,KAAK,kBACjC,WAAW,KAAK,IAAI,gBAAgB,gBAAgB,cAAc,CAAC;EAGrE,OAAO;CACT;CAEA,OAAe,aACb,YACA,KACuB;EACvB,OAAO,WAAW,MAAM,cAAc;GACpC,IAAI,SAAS,UAAU,YAAY,GACjC,OAAO,UAAU,aAAa,KAAK,GAAG;GAGxC,OAAO,UAAU,iBAAiB;EACpC,CAAC;CACH;AACF"}
|
|
1
|
+
{"version":3,"file":"migrations-service.js","names":[],"sources":["../../../lib/config/migrations/migrations-service.ts"],"sourcesContent":["import { isRegExp } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types.ts';\nimport { RemovePropertyMigration } from './base/remove-property-migration.ts';\nimport { RenamePropertyMigration } from './base/rename-property-migration.ts';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration.ts';\nimport { AutomergeMigration } from './custom/automerge-migration.ts';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration.ts';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration.ts';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration.ts';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration.ts';\nimport { BaseBranchMigration } from './custom/base-branch-migration.ts';\nimport { BinarySourceMigration } from './custom/binary-source-migration.ts';\nimport { BranchNameMigration } from './custom/branch-name-migration.ts';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration.ts';\nimport { CompatibilityMigration } from './custom/compatibility-migration.ts';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration.ts';\nimport { CustomManagersMigration } from './custom/custom-managers-migration.ts';\nimport { DatasourceMigration } from './custom/datasource-migration.ts';\nimport { DepTypesMigration } from './custom/dep-types-migration.ts';\nimport { DryRunMigration } from './custom/dry-run-migration.ts';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration.ts';\nimport { ExtendsMigration } from './custom/extends-migration.ts';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration.ts';\nimport { FileMatchMigration } from './custom/file-match-migration.ts';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration.ts';\nimport { HostRulesMigration } from './custom/host-rules-migration.ts';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration.ts';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration.ts';\nimport { IncludeForksMigration } from './custom/include-forks-migration.ts';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration.ts';\nimport { MatchManagersMigration } from './custom/match-managers-migration.ts';\nimport { MatchStringsMigration } from './custom/match-strings-migration.ts';\nimport { NodeMigration } from './custom/node-migration.ts';\nimport { PackageFilesMigration } from './custom/package-files-migration.ts';\nimport { PackageNameMigration } from './custom/package-name-migration.ts';\nimport { PackagePatternMigration } from './custom/package-pattern-migration.ts';\nimport { PackageRulesMigration } from './custom/package-rules-migration.ts';\nimport { PackagesMigration } from './custom/packages-migration.ts';\nimport { PathRulesMigration } from './custom/path-rules-migration.ts';\nimport { PinVersionsMigration } from './custom/pin-versions-migration.ts';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration.ts';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration.ts';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration.ts';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration.ts';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration.ts';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration.ts';\nimport { RequireConfigMigration } from './custom/require-config-migration.ts';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration.ts';\nimport { ScheduleMigration } from './custom/schedule-migration.ts';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration.ts';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration.ts';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration.ts';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration.ts';\nimport { StabilityDaysMigration } from './custom/stability-days-migration.ts';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration.ts';\nimport { TrustLevelMigration } from './custom/trust-level-migration.ts';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration.ts';\nimport { UpdateLockFilesMigration } from './custom/update-lock-files-migration.ts';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration.ts';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration.ts';\nimport type {\n MigratableConfig,\n Migration,\n MigrationConstructor,\n} from './types.ts';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ['baseBranches', 'baseBranchPatterns'],\n ['renovate-config-presets', 'renovate-config'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n FileMatchMigration,\n UpdateLockFilesMigration,\n ];\n\n static run(\n originalConfig: MigratableConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig) as [\n keyof RenovateConfig,\n unknown,\n ][]) {\n // @ts-expect-error -- can't be narrowed\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (isRegExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,IAAa,oBAAb,MAAa,kBAAkB;CAC7B,OAAgB,oCAAyC,IAAI,IAAI;EAC/D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAgB,oCAAiD,IAAI,IAAI;EACvE,CAAC,iBAAiB,cAAc;EAChC,CAAC,8BAA8B,iBAAiB;EAChD,CAAC,oBAAoB,aAAa;EAClC,CAAC,sBAAsB,cAAc;EACrC,CAAC,aAAa,WAAW;EACzB,CAAC,wBAAwB,qBAAqB;EAC9C,CAAC,aAAa,cAAc;EAC5B,CAAC,aAAa,WAAW;EACzB,CAAC,uBAAuB,wBAAwB;EAChD,CAAC,oBAAoB,uBAAuB;EAC5C,CAAC,yBAAyB,oBAAoB;EAC9C,CAAC,iBAAiB,YAAY;EAC9B,CAAC,sBAAsB,qBAAqB;EAC5C,CAAC,WAAW,iBAAiB;EAC7B,CAAC,eAAe,qBAAqB;EACrC,CAAC,uBAAuB,6BAA6B;EACrD,CAAC,wBAAwB,8BAA8B;EACvD,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,oBAAoB,0BAA0B;EAC/C,CAAC,qBAAqB,2BAA2B;EACjD,CAAC,iBAAiB,gBAAgB;EAClC,CAAC,gBAAgB,oBAAoB;EACrC,CAAC,2BAA2B,iBAAiB;CAC/C,CAAC;CAED,OAAgB,mBAAoD;EAClE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OAAO,IACL,gBACA,WACgB;EAChB,MAAM,iBAAiC,CAAC;EACxC,MAAM,aAAa,KAAK,cAAc,gBAAgB,cAAc;EAEpE,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,cAAc,GAGnD;GAEH,eAAe,SAAS;GACxB,MAAM,YAAY,kBAAkB,aAAa,YAAY,GAAG;GAEhE,IAAI,WAAW;IACb,UAAU,IAAI,OAAO,KAAK,SAAS;IAEnC,IAAI,UAAU,YACZ,OAAO,eAAe;GAE1B;EACF;EAEA,OAAO;CACT;CAEA,OAAO,WACL,gBACA,gBACS;EACT,OAAO,CAAC,OAAO,gBAAgB,cAAc;CAC/C;CAEA,OAAc,cACZ,gBACA,gBACsB;EACtB,MAAM,aAA0B,CAAC;EAEjC,KAAK,MAAM,gBAAgB,kBAAkB,mBAC3C,WAAW,KACT,IAAI,wBACF,cACA,gBACA,cACF,CACF;EAGF,KAAK,MAAM,CACT,iBACA,oBACG,kBAAkB,kBAAkB,QAAQ,GAC/C,WAAW,KACT,IAAI,wBACF,iBACA,iBACA,gBACA,cACF,CACF;EAGF,KAAK,MAAM,mBAAmB,KAAK,kBACjC,WAAW,KAAK,IAAI,gBAAgB,gBAAgB,cAAc,CAAC;EAGrE,OAAO;CACT;CAEA,OAAe,aACb,YACA,KACuB;EACvB,OAAO,WAAW,MAAM,cAAc;GACpC,IAAI,SAAS,UAAU,YAAY,GACjC,OAAO,UAAU,aAAa,KAAK,GAAG;GAGxC,OAAO,UAAU,iBAAiB;EACpC,CAAC;CACH;AACF"}
|
|
@@ -77,10 +77,10 @@ const Package = {
|
|
|
77
77
|
function createBaseRelease() {
|
|
78
78
|
return {
|
|
79
79
|
version: "",
|
|
80
|
-
innerChecksum: new Uint8Array(0),
|
|
80
|
+
innerChecksum: /* @__PURE__ */ new Uint8Array(0),
|
|
81
81
|
dependencies: [],
|
|
82
82
|
retired: void 0,
|
|
83
|
-
outerChecksum: new Uint8Array(0)
|
|
83
|
+
outerChecksum: /* @__PURE__ */ new Uint8Array(0)
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
const Release = {
|
|
@@ -120,10 +120,10 @@ const Release = {
|
|
|
120
120
|
fromJSON(object) {
|
|
121
121
|
return {
|
|
122
122
|
version: isSet(object.version) ? globalThis.String(object.version) : "",
|
|
123
|
-
innerChecksum: isSet(object.innerChecksum) ? bytesFromBase64(object.innerChecksum) : new Uint8Array(0),
|
|
123
|
+
innerChecksum: isSet(object.innerChecksum) ? bytesFromBase64(object.innerChecksum) : /* @__PURE__ */ new Uint8Array(0),
|
|
124
124
|
dependencies: globalThis.Array.isArray(object?.dependencies) ? object.dependencies.map((e) => Dependency.fromJSON(e)) : [],
|
|
125
125
|
retired: isSet(object.retired) ? RetirementStatus.fromJSON(object.retired) : void 0,
|
|
126
|
-
outerChecksum: isSet(object.outerChecksum) ? bytesFromBase64(object.outerChecksum) : new Uint8Array(0)
|
|
126
|
+
outerChecksum: isSet(object.outerChecksum) ? bytesFromBase64(object.outerChecksum) : /* @__PURE__ */ new Uint8Array(0)
|
|
127
127
|
};
|
|
128
128
|
},
|
|
129
129
|
create(base) {
|
|
@@ -132,10 +132,10 @@ const Release = {
|
|
|
132
132
|
fromPartial(object) {
|
|
133
133
|
const message = createBaseRelease();
|
|
134
134
|
message.version = object.version ?? "";
|
|
135
|
-
message.innerChecksum = object.innerChecksum ?? new Uint8Array(0);
|
|
135
|
+
message.innerChecksum = object.innerChecksum ?? /* @__PURE__ */ new Uint8Array(0);
|
|
136
136
|
message.dependencies = object.dependencies?.map((e) => Dependency.fromPartial(e)) || [];
|
|
137
137
|
message.retired = object.retired !== void 0 && object.retired !== null ? RetirementStatus.fromPartial(object.retired) : void 0;
|
|
138
|
-
message.outerChecksum = object.outerChecksum ?? new Uint8Array(0);
|
|
138
|
+
message.outerChecksum = object.outerChecksum ?? /* @__PURE__ */ new Uint8Array(0);
|
|
139
139
|
return message;
|
|
140
140
|
}
|
|
141
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","names":[],"sources":["../../../../../lib/modules/datasource/hex/v2/package.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.178.0\n// protoc v6.33.4\n// source: package.proto\n\n/* oxlint-disable */\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"\";\n\nexport const RetirementReason = {\n RETIRED_OTHER: 0,\n RETIRED_INVALID: 1,\n RETIRED_SECURITY: 2,\n RETIRED_DEPRECATED: 3,\n RETIRED_RENAMED: 4,\n UNRECOGNIZED: -1,\n} as const;\n\nexport type RetirementReason = typeof RetirementReason[keyof typeof RetirementReason];\n\nexport namespace RetirementReason {\n export type RETIRED_OTHER = typeof RetirementReason.RETIRED_OTHER;\n export type RETIRED_INVALID = typeof RetirementReason.RETIRED_INVALID;\n export type RETIRED_SECURITY = typeof RetirementReason.RETIRED_SECURITY;\n export type RETIRED_DEPRECATED = typeof RetirementReason.RETIRED_DEPRECATED;\n export type RETIRED_RENAMED = typeof RetirementReason.RETIRED_RENAMED;\n export type UNRECOGNIZED = typeof RetirementReason.UNRECOGNIZED;\n}\n\nexport function retirementReasonFromJSON(object: any): RetirementReason {\n switch (object) {\n case 0:\n case \"RETIRED_OTHER\":\n return RetirementReason.RETIRED_OTHER;\n case 1:\n case \"RETIRED_INVALID\":\n return RetirementReason.RETIRED_INVALID;\n case 2:\n case \"RETIRED_SECURITY\":\n return RetirementReason.RETIRED_SECURITY;\n case 3:\n case \"RETIRED_DEPRECATED\":\n return RetirementReason.RETIRED_DEPRECATED;\n case 4:\n case \"RETIRED_RENAMED\":\n return RetirementReason.RETIRED_RENAMED;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return RetirementReason.UNRECOGNIZED;\n }\n}\n\nexport interface Package {\n /** All releases of the package */\n releases: Release[];\n /** Name of package */\n name: string;\n /** Name of repository */\n repository: string;\n}\n\nexport interface Release {\n /** Release version */\n version: string;\n /**\n * sha256 checksum of \"inner\" package tarball\n * deprecated in favor of outer_checksum\n */\n innerChecksum: Uint8Array;\n /** All dependencies of the release */\n dependencies: Dependency[];\n /**\n * If set the release is retired, a retired release should only be\n * resolved if it has already been locked in a project\n */\n retired?:\n | RetirementStatus\n | undefined;\n /**\n * sha256 checksum of outer package tarball\n * required when encoding but optional when decoding\n */\n outerChecksum?: Uint8Array | undefined;\n}\n\nexport interface RetirementStatus {\n reason: RetirementReason;\n message?: string | undefined;\n}\n\nexport interface Dependency {\n /** Package name of dependency */\n package: string;\n /** Version requirement of dependency */\n requirement: string;\n /** If set and true the package is optional (see dependency resolution) */\n optional?:\n | boolean\n | undefined;\n /**\n * If set is the OTP application name of the dependency, if not set the\n * application name is the same as the package name\n */\n app?:\n | string\n | undefined;\n /** If set, the repository where the dependency is located */\n repository?: string | undefined;\n}\n\nfunction createBasePackage(): Package {\n return { releases: [], name: \"\", repository: \"\" };\n}\n\nexport const Package = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Package {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePackage();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.releases.push(Release.decode(reader, reader.uint32()));\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.repository = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Package {\n return {\n releases: globalThis.Array.isArray(object?.releases) ? object.releases.map((e: any) => Release.fromJSON(e)) : [],\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n repository: isSet(object.repository) ? globalThis.String(object.repository) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<Package>, I>>(base?: I): Package {\n return Package.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Package>, I>>(object: I): Package {\n const message = createBasePackage();\n message.releases = object.releases?.map((e) => Release.fromPartial(e)) || [];\n message.name = object.name ?? \"\";\n message.repository = object.repository ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRelease(): Release {\n return {\n version: \"\",\n innerChecksum: new Uint8Array(0),\n dependencies: [],\n retired: undefined,\n outerChecksum: new Uint8Array(0),\n };\n}\n\nexport const Release = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Release {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRelease();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.innerChecksum = reader.bytes();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.dependencies.push(Dependency.decode(reader, reader.uint32()));\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.retired = RetirementStatus.decode(reader, reader.uint32());\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.outerChecksum = reader.bytes();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Release {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n innerChecksum: isSet(object.innerChecksum) ? bytesFromBase64(object.innerChecksum) : new Uint8Array(0),\n dependencies: globalThis.Array.isArray(object?.dependencies)\n ? object.dependencies.map((e: any) => Dependency.fromJSON(e))\n : [],\n retired: isSet(object.retired) ? RetirementStatus.fromJSON(object.retired) : undefined,\n outerChecksum: isSet(object.outerChecksum) ? bytesFromBase64(object.outerChecksum) : new Uint8Array(0),\n };\n },\n\n create<I extends Exact<DeepPartial<Release>, I>>(base?: I): Release {\n return Release.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Release>, I>>(object: I): Release {\n const message = createBaseRelease();\n message.version = object.version ?? \"\";\n message.innerChecksum = object.innerChecksum ?? new Uint8Array(0);\n message.dependencies = object.dependencies?.map((e) => Dependency.fromPartial(e)) || [];\n message.retired = (object.retired !== undefined && object.retired !== null)\n ? RetirementStatus.fromPartial(object.retired)\n : undefined;\n message.outerChecksum = object.outerChecksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseRetirementStatus(): RetirementStatus {\n return { reason: 0, message: \"\" };\n}\n\nexport const RetirementStatus = {\n decode(input: _m0.Reader | Uint8Array, length?: number): RetirementStatus {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRetirementStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.reason = reader.int32() as any;\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RetirementStatus {\n return {\n reason: isSet(object.reason) ? retirementReasonFromJSON(object.reason) : 0,\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<RetirementStatus>, I>>(base?: I): RetirementStatus {\n return RetirementStatus.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<RetirementStatus>, I>>(object: I): RetirementStatus {\n const message = createBaseRetirementStatus();\n message.reason = object.reason ?? 0;\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDependency(): Dependency {\n return { package: \"\", requirement: \"\", optional: false, app: \"\", repository: \"\" };\n}\n\nexport const Dependency = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Dependency {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDependency();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.package = reader.string();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.requirement = reader.string();\n continue;\n case 3:\n if (tag !== 24) {\n break;\n }\n\n message.optional = reader.bool();\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.app = reader.string();\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.repository = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Dependency {\n return {\n package: isSet(object.package) ? globalThis.String(object.package) : \"\",\n requirement: isSet(object.requirement) ? globalThis.String(object.requirement) : \"\",\n optional: isSet(object.optional) ? globalThis.Boolean(object.optional) : false,\n app: isSet(object.app) ? globalThis.String(object.app) : \"\",\n repository: isSet(object.repository) ? globalThis.String(object.repository) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<Dependency>, I>>(base?: I): Dependency {\n return Dependency.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Dependency>, I>>(object: I): Dependency {\n const message = createBaseDependency();\n message.package = object.package ?? \"\";\n message.requirement = object.requirement ?? \"\";\n message.optional = object.optional ?? false;\n message.app = object.app ?? \"\";\n message.repository = object.repository ?? \"\";\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package.js","names":[],"sources":["../../../../../lib/modules/datasource/hex/v2/package.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.178.0\n// protoc v6.33.4\n// source: package.proto\n\n/* oxlint-disable */\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"\";\n\nexport const RetirementReason = {\n RETIRED_OTHER: 0,\n RETIRED_INVALID: 1,\n RETIRED_SECURITY: 2,\n RETIRED_DEPRECATED: 3,\n RETIRED_RENAMED: 4,\n UNRECOGNIZED: -1,\n} as const;\n\nexport type RetirementReason = typeof RetirementReason[keyof typeof RetirementReason];\n\nexport namespace RetirementReason {\n export type RETIRED_OTHER = typeof RetirementReason.RETIRED_OTHER;\n export type RETIRED_INVALID = typeof RetirementReason.RETIRED_INVALID;\n export type RETIRED_SECURITY = typeof RetirementReason.RETIRED_SECURITY;\n export type RETIRED_DEPRECATED = typeof RetirementReason.RETIRED_DEPRECATED;\n export type RETIRED_RENAMED = typeof RetirementReason.RETIRED_RENAMED;\n export type UNRECOGNIZED = typeof RetirementReason.UNRECOGNIZED;\n}\n\nexport function retirementReasonFromJSON(object: any): RetirementReason {\n switch (object) {\n case 0:\n case \"RETIRED_OTHER\":\n return RetirementReason.RETIRED_OTHER;\n case 1:\n case \"RETIRED_INVALID\":\n return RetirementReason.RETIRED_INVALID;\n case 2:\n case \"RETIRED_SECURITY\":\n return RetirementReason.RETIRED_SECURITY;\n case 3:\n case \"RETIRED_DEPRECATED\":\n return RetirementReason.RETIRED_DEPRECATED;\n case 4:\n case \"RETIRED_RENAMED\":\n return RetirementReason.RETIRED_RENAMED;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return RetirementReason.UNRECOGNIZED;\n }\n}\n\nexport interface Package {\n /** All releases of the package */\n releases: Release[];\n /** Name of package */\n name: string;\n /** Name of repository */\n repository: string;\n}\n\nexport interface Release {\n /** Release version */\n version: string;\n /**\n * sha256 checksum of \"inner\" package tarball\n * deprecated in favor of outer_checksum\n */\n innerChecksum: Uint8Array;\n /** All dependencies of the release */\n dependencies: Dependency[];\n /**\n * If set the release is retired, a retired release should only be\n * resolved if it has already been locked in a project\n */\n retired?:\n | RetirementStatus\n | undefined;\n /**\n * sha256 checksum of outer package tarball\n * required when encoding but optional when decoding\n */\n outerChecksum?: Uint8Array | undefined;\n}\n\nexport interface RetirementStatus {\n reason: RetirementReason;\n message?: string | undefined;\n}\n\nexport interface Dependency {\n /** Package name of dependency */\n package: string;\n /** Version requirement of dependency */\n requirement: string;\n /** If set and true the package is optional (see dependency resolution) */\n optional?:\n | boolean\n | undefined;\n /**\n * If set is the OTP application name of the dependency, if not set the\n * application name is the same as the package name\n */\n app?:\n | string\n | undefined;\n /** If set, the repository where the dependency is located */\n repository?: string | undefined;\n}\n\nfunction createBasePackage(): Package {\n return { releases: [], name: \"\", repository: \"\" };\n}\n\nexport const Package = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Package {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePackage();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.releases.push(Release.decode(reader, reader.uint32()));\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.repository = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Package {\n return {\n releases: globalThis.Array.isArray(object?.releases) ? object.releases.map((e: any) => Release.fromJSON(e)) : [],\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n repository: isSet(object.repository) ? globalThis.String(object.repository) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<Package>, I>>(base?: I): Package {\n return Package.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Package>, I>>(object: I): Package {\n const message = createBasePackage();\n message.releases = object.releases?.map((e) => Release.fromPartial(e)) || [];\n message.name = object.name ?? \"\";\n message.repository = object.repository ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRelease(): Release {\n return {\n version: \"\",\n innerChecksum: new Uint8Array(0),\n dependencies: [],\n retired: undefined,\n outerChecksum: new Uint8Array(0),\n };\n}\n\nexport const Release = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Release {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRelease();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.innerChecksum = reader.bytes();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.dependencies.push(Dependency.decode(reader, reader.uint32()));\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.retired = RetirementStatus.decode(reader, reader.uint32());\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.outerChecksum = reader.bytes();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Release {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n innerChecksum: isSet(object.innerChecksum) ? bytesFromBase64(object.innerChecksum) : new Uint8Array(0),\n dependencies: globalThis.Array.isArray(object?.dependencies)\n ? object.dependencies.map((e: any) => Dependency.fromJSON(e))\n : [],\n retired: isSet(object.retired) ? RetirementStatus.fromJSON(object.retired) : undefined,\n outerChecksum: isSet(object.outerChecksum) ? bytesFromBase64(object.outerChecksum) : new Uint8Array(0),\n };\n },\n\n create<I extends Exact<DeepPartial<Release>, I>>(base?: I): Release {\n return Release.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Release>, I>>(object: I): Release {\n const message = createBaseRelease();\n message.version = object.version ?? \"\";\n message.innerChecksum = object.innerChecksum ?? new Uint8Array(0);\n message.dependencies = object.dependencies?.map((e) => Dependency.fromPartial(e)) || [];\n message.retired = (object.retired !== undefined && object.retired !== null)\n ? RetirementStatus.fromPartial(object.retired)\n : undefined;\n message.outerChecksum = object.outerChecksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseRetirementStatus(): RetirementStatus {\n return { reason: 0, message: \"\" };\n}\n\nexport const RetirementStatus = {\n decode(input: _m0.Reader | Uint8Array, length?: number): RetirementStatus {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRetirementStatus();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.reason = reader.int32() as any;\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RetirementStatus {\n return {\n reason: isSet(object.reason) ? retirementReasonFromJSON(object.reason) : 0,\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<RetirementStatus>, I>>(base?: I): RetirementStatus {\n return RetirementStatus.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<RetirementStatus>, I>>(object: I): RetirementStatus {\n const message = createBaseRetirementStatus();\n message.reason = object.reason ?? 0;\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDependency(): Dependency {\n return { package: \"\", requirement: \"\", optional: false, app: \"\", repository: \"\" };\n}\n\nexport const Dependency = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Dependency {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDependency();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.package = reader.string();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.requirement = reader.string();\n continue;\n case 3:\n if (tag !== 24) {\n break;\n }\n\n message.optional = reader.bool();\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.app = reader.string();\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.repository = reader.string();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Dependency {\n return {\n package: isSet(object.package) ? globalThis.String(object.package) : \"\",\n requirement: isSet(object.requirement) ? globalThis.String(object.requirement) : \"\",\n optional: isSet(object.optional) ? globalThis.Boolean(object.optional) : false,\n app: isSet(object.app) ? globalThis.String(object.app) : \"\",\n repository: isSet(object.repository) ? globalThis.String(object.repository) : \"\",\n };\n },\n\n create<I extends Exact<DeepPartial<Dependency>, I>>(base?: I): Dependency {\n return Dependency.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Dependency>, I>>(object: I): Dependency {\n const message = createBaseDependency();\n message.package = object.package ?? \"\";\n message.requirement = object.requirement ?? \"\";\n message.optional = object.optional ?? false;\n message.app = object.app ?? \"\";\n message.repository = object.repository ?? \"\";\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import _m0 from "protobufjs/minimal.js";
|
|
|
2
2
|
//#region lib/modules/datasource/hex/v2/signed.ts
|
|
3
3
|
function createBaseSigned() {
|
|
4
4
|
return {
|
|
5
|
-
payload: new Uint8Array(0),
|
|
6
|
-
signature: new Uint8Array(0)
|
|
5
|
+
payload: /* @__PURE__ */ new Uint8Array(0),
|
|
6
|
+
signature: /* @__PURE__ */ new Uint8Array(0)
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
const Signed = {
|
|
@@ -30,8 +30,8 @@ const Signed = {
|
|
|
30
30
|
},
|
|
31
31
|
fromJSON(object) {
|
|
32
32
|
return {
|
|
33
|
-
payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0),
|
|
34
|
-
signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0)
|
|
33
|
+
payload: isSet(object.payload) ? bytesFromBase64(object.payload) : /* @__PURE__ */ new Uint8Array(0),
|
|
34
|
+
signature: isSet(object.signature) ? bytesFromBase64(object.signature) : /* @__PURE__ */ new Uint8Array(0)
|
|
35
35
|
};
|
|
36
36
|
},
|
|
37
37
|
create(base) {
|
|
@@ -39,8 +39,8 @@ const Signed = {
|
|
|
39
39
|
},
|
|
40
40
|
fromPartial(object) {
|
|
41
41
|
const message = createBaseSigned();
|
|
42
|
-
message.payload = object.payload ?? new Uint8Array(0);
|
|
43
|
-
message.signature = object.signature ?? new Uint8Array(0);
|
|
42
|
+
message.payload = object.payload ?? /* @__PURE__ */ new Uint8Array(0);
|
|
43
|
+
message.signature = object.signature ?? /* @__PURE__ */ new Uint8Array(0);
|
|
44
44
|
return message;
|
|
45
45
|
}
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signed.js","names":[],"sources":["../../../../../lib/modules/datasource/hex/v2/signed.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.178.0\n// protoc v6.33.4\n// source: signed.proto\n\n/* oxlint-disable */\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"\";\n\nexport interface Signed {\n /** Signed contents */\n payload: Uint8Array;\n /** The signature */\n signature?: Uint8Array | undefined;\n}\n\nfunction createBaseSigned(): Signed {\n return { payload: new Uint8Array(0), signature: new Uint8Array(0) };\n}\n\nexport const Signed = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Signed {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSigned();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.payload = reader.bytes();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.signature = reader.bytes();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Signed {\n return {\n payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0),\n signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),\n };\n },\n\n create<I extends Exact<DeepPartial<Signed>, I>>(base?: I): Signed {\n return Signed.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Signed>, I>>(object: I): Signed {\n const message = createBaseSigned();\n message.payload = object.payload ?? new Uint8Array(0);\n message.signature = object.signature ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"],"mappings":";;AAkBA,SAAS,mBAA2B;CAClC,OAAO;EAAE,
|
|
1
|
+
{"version":3,"file":"signed.js","names":[],"sources":["../../../../../lib/modules/datasource/hex/v2/signed.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.178.0\n// protoc v6.33.4\n// source: signed.proto\n\n/* oxlint-disable */\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"\";\n\nexport interface Signed {\n /** Signed contents */\n payload: Uint8Array;\n /** The signature */\n signature?: Uint8Array | undefined;\n}\n\nfunction createBaseSigned(): Signed {\n return { payload: new Uint8Array(0), signature: new Uint8Array(0) };\n}\n\nexport const Signed = {\n decode(input: _m0.Reader | Uint8Array, length?: number): Signed {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSigned();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.payload = reader.bytes();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.signature = reader.bytes();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Signed {\n return {\n payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0),\n signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),\n };\n },\n\n create<I extends Exact<DeepPartial<Signed>, I>>(base?: I): Signed {\n return Signed.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Signed>, I>>(object: I): Signed {\n const message = createBaseSigned();\n message.payload = object.payload ?? new Uint8Array(0);\n message.signature = object.signature ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"],"mappings":";;AAkBA,SAAS,mBAA2B;CAClC,OAAO;EAAE,yBAAS,IAAI,WAAW,CAAC;EAAG,2BAAW,IAAI,WAAW,CAAC;CAAE;AACpE;AAEA,MAAa,SAAS;CACpB,OAAO,OAAgC,QAAyB;EAC9D,MAAM,SAAS,iBAAiB,IAAI,SAAS,QAAQ,IAAI,OAAO,OAAO,KAAK;EAC5E,IAAI,MAAM,WAAW,KAAA,IAAY,OAAO,MAAM,OAAO,MAAM;EAC3D,MAAM,UAAU,iBAAiB;EACjC,OAAO,OAAO,MAAM,KAAK;GACvB,MAAM,MAAM,OAAO,OAAO;GAC1B,QAAQ,QAAQ,GAAhB;IACE,KAAK;KACH,IAAI,QAAQ,IACV;KAGF,QAAQ,UAAU,OAAO,MAAM;KAC/B;IACF,KAAK;KACH,IAAI,QAAQ,IACV;KAGF,QAAQ,YAAY,OAAO,MAAM;KACjC;GACJ;GACA,KAAK,MAAM,OAAO,KAAK,QAAQ,GAC7B;GAEF,OAAO,SAAS,MAAM,CAAC;EACzB;EACA,OAAO;CACT;CAEA,SAAS,QAAqB;EAC5B,OAAO;GACL,SAAS,MAAM,OAAO,OAAO,IAAI,gBAAgB,OAAO,OAAO,oBAAI,IAAI,WAAW,CAAC;GACnF,WAAW,MAAM,OAAO,SAAS,IAAI,gBAAgB,OAAO,SAAS,oBAAI,IAAI,WAAW,CAAC;EAC3F;CACF;CAEA,OAAgD,MAAkB;EAChE,OAAO,OAAO,YAAY,QAAS,CAAC,CAAS;CAC/C;CACA,YAAqD,QAAmB;EACtE,MAAM,UAAU,iBAAiB;EACjC,QAAQ,UAAU,OAAO,2BAAW,IAAI,WAAW,CAAC;EACpD,QAAQ,YAAY,OAAO,6BAAa,IAAI,WAAW,CAAC;EACxD,OAAO;CACT;AACF;AAEA,SAAS,gBAAgB,KAAyB;CAChD,IAAK,WAAmB,QACtB,OAAO,WAAW,KAAK,WAAW,OAAO,KAAK,KAAK,QAAQ,CAAC;MACvD;EACL,MAAM,MAAM,WAAW,KAAK,GAAG;EAC/B,MAAM,MAAM,IAAI,WAAW,IAAI,MAAM;EACrC,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,EAAE,GAChC,IAAI,KAAK,IAAI,WAAW,CAAC;EAE3B,OAAO;CACT;AACF;AAcA,SAAS,MAAM,OAAqB;CAClC,OAAO,UAAU,QAAQ,UAAU,KAAA;AACrC"}
|
|
@@ -7,7 +7,7 @@ import { applyProps, containsPlaceholder, findAttrValuePosition, parseProperties
|
|
|
7
7
|
import upath from "upath";
|
|
8
8
|
import { XmlDocument } from "xmldoc";
|
|
9
9
|
//#region lib/modules/manager/ant/extract.ts
|
|
10
|
-
const scopeNames = new Set([
|
|
10
|
+
const scopeNames = /* @__PURE__ */ new Set([
|
|
11
11
|
"compile",
|
|
12
12
|
"runtime",
|
|
13
13
|
"test",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/ant/extract.ts"],"sourcesContent":["import upath from 'upath';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger/index.ts';\nimport { isValidLocalPath, readLocalFile } from '../../../util/fs/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\nimport { extractRegistries } from '../maven/extract.ts';\nimport { isXmlElement } from '../nuget/util.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types.ts';\nimport {\n applyProps,\n containsPlaceholder,\n findAttrValuePosition,\n parsePropertiesFile,\n resolveChainedProps,\n} from './properties.ts';\nimport type { AntProp } from './types.ts';\n\nexport { parsePropertiesFile } from './properties.ts';\n\nconst scopeNames = new Set([\n 'compile',\n 'runtime',\n 'test',\n 'provided',\n 'system',\n]);\n\nfunction getDependencyType(scope: string | undefined): string {\n if (scope && scopeNames.has(scope)) {\n return scope;\n }\n return 'compile';\n}\n\nfunction parseCoords(coordsStr: string): {\n groupId: string;\n artifactId: string;\n rawVersion: string;\n scope: string | undefined;\n} | null {\n const parts = coordsStr.split(':');\n if (parts.length < 3) {\n logger.trace({ coordsStr }, 'ant manager: coords has fewer than 3 parts');\n return null;\n }\n\n const [groupId, artifactId] = parts;\n if (!groupId || !artifactId) {\n logger.trace(\n { coordsStr },\n 'ant manager: coords has empty groupId or artifactId',\n );\n return null;\n }\n\n let scope: string | undefined;\n let rawVersion: string;\n\n if (parts.length >= 4 && scopeNames.has(parts.at(-1)!)) {\n scope = parts.at(-1);\n rawVersion = parts.at(-2)!;\n } else {\n rawVersion = parts.at(-1)!;\n }\n\n return { groupId, artifactId, rawVersion, scope };\n}\n\ninterface RawDep {\n dep: PackageDependency;\n depPackageFile: string;\n}\n\nasync function readSettingsRegistries(\n settingsFile: string,\n baseDir: string,\n): Promise<string[]> {\n const settingsPath = settingsFile.startsWith('/')\n ? settingsFile\n : upath.join(baseDir, settingsFile);\n\n if (!isValidLocalPath(settingsPath)) {\n logger.debug(\n `ant manager: skipping settings file outside repository: ${settingsPath}`,\n );\n return [];\n }\n\n const settingsContent = await readLocalFile(settingsPath, 'utf8');\n if (!settingsContent) {\n logger.debug(`ant manager: could not read settings file ${settingsPath}`);\n return [];\n }\n\n return extractRegistries(settingsContent);\n}\n\nasync function collectRegistryUrls(\n node: XmlElement,\n baseDir: string,\n): Promise<string[]> {\n const urls: string[] = [];\n\n const settingsFile = node.attr.settingsFile;\n if (settingsFile) {\n urls.push(...(await readSettingsRegistries(settingsFile, baseDir)));\n }\n\n for (const child of node.children) {\n if (\n isXmlElement(child) &&\n child.name === 'remoteRepository' &&\n child.attr.url\n ) {\n urls.push(child.attr.url);\n }\n }\n\n return [...new Set(urls)];\n}\n\nfunction collectCoordsDependency(\n node: XmlElement,\n packageFile: string,\n content: string,\n registryUrls: string[],\n): RawDep | null {\n const coordsStr = node.attr.coords;\n\n const parsed = parseCoords(coordsStr);\n if (!parsed) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: MavenDatasource.id,\n depName: `${parsed.groupId}:${parsed.artifactId}`,\n currentValue: parsed.rawVersion,\n depType: getDependencyType(parsed.scope ?? node.attr.scope),\n ...(registryUrls?.length && { registryUrls }),\n };\n\n // Position at the version substring within the coords attribute value\n const coordsValuePos = findAttrValuePosition(content, node, 'coords');\n const versionOffset = coordsStr.lastIndexOf(parsed.rawVersion);\n dep.fileReplacePosition = coordsValuePos + versionOffset;\n\n return { dep, depPackageFile: packageFile };\n}\n\nfunction collectDependency(\n node: XmlElement,\n packageFile: string,\n content: string,\n registryUrls: string[] = [],\n): RawDep | null {\n if (node.attr.coords) {\n return collectCoordsDependency(node, packageFile, content, registryUrls);\n }\n\n const { groupId, artifactId, version, scope } = node.attr;\n\n if (!version || !groupId || !artifactId) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: MavenDatasource.id,\n depName: `${groupId}:${artifactId}`,\n currentValue: version,\n depType: getDependencyType(scope),\n ...(registryUrls?.length && { registryUrls }),\n };\n\n dep.fileReplacePosition = findAttrValuePosition(content, node, 'version');\n\n return { dep, depPackageFile: packageFile };\n}\n\nfunction walkNode(\n node: XmlElement | XmlDocument,\n rawDeps: RawDep[],\n packageFile: string,\n content: string,\n): void {\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'dependency') {\n const rawDep = collectDependency(child, packageFile, content);\n if (rawDep) {\n rawDeps.push(rawDep);\n }\n } else {\n walkNode(child, rawDeps, packageFile, content);\n }\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return null;\n }\n\n const rawDeps: RawDep[] = [];\n walkNode(doc, rawDeps, packageFile, content);\n\n const deps = rawDeps.map((rd) => rd.dep);\n\n if (deps.length === 0) {\n return null;\n }\n\n return { deps };\n}\n\nasync function loadPropertyFile(\n file: string,\n baseDir: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n): Promise<void> {\n if (containsPlaceholder(file)) {\n logger.debug(\n `ant manager: skipping properties file with unresolved placeholders in path: ${file}`,\n );\n return;\n }\n\n const propFilePath = file.startsWith('/') ? file : upath.join(baseDir, file);\n\n if (!isValidLocalPath(propFilePath)) {\n logger.debug(\n `ant manager: skipping properties file outside repository: ${propFilePath}`,\n );\n return;\n }\n\n if (visitedFiles.has(propFilePath)) {\n return;\n }\n visitedFiles.add(propFilePath);\n\n const propContent = await readLocalFile(propFilePath, 'utf8');\n if (!propContent) {\n logger.debug(`ant manager: could not read properties file ${propFilePath}`);\n return;\n }\n\n parsePropertiesFile(propContent, propFilePath, allProps);\n}\n\nasync function loadImportedFile(\n file: string,\n baseDir: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n if (containsPlaceholder(file)) {\n logger.debug(\n `ant manager: skipping import file with unresolved placeholders in path: ${file}`,\n );\n return;\n }\n\n const importedFile = upath.normalize(upath.join(baseDir, file));\n if (!isValidLocalPath(importedFile)) {\n logger.debug(\n `ant manager: skipping import file outside repository: ${importedFile}`,\n );\n return;\n }\n\n await walkXmlFile(importedFile, visitedFiles, allProps, allRawDeps);\n}\n\n/**\n * Walk an XML node tree in document order, processing properties,\n * property file references, and dependencies as they appear.\n */\nasync function walkNodeInOrder(\n node: XmlElement | XmlDocument,\n packageFile: string,\n content: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n registryUrls: string[] = [],\n): Promise<void> {\n const baseDir = upath.dirname(packageFile);\n\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'property') {\n const name = child.attr.name;\n const value = child.attr.value;\n if (name && value && !(name in allProps)) {\n const pos = findAttrValuePosition(content, child, 'value');\n allProps[name] = { val: value, fileReplacePosition: pos, packageFile };\n }\n\n if (child.attr.file) {\n await loadPropertyFile(\n child.attr.file,\n baseDir,\n visitedFiles,\n allProps,\n );\n }\n } else if (child.name === 'import' && child.attr.file) {\n await loadImportedFile(\n child.attr.file,\n baseDir,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n } else if (child.name === 'dependency') {\n const rawDep = collectDependency(\n child,\n packageFile,\n content,\n registryUrls,\n );\n if (rawDep) {\n allRawDeps.push(rawDep);\n }\n } else {\n // Collect registry URLs from settingsFile and remoteRepository\n const childRegistries = await collectRegistryUrls(child, baseDir);\n const mergedUrls =\n childRegistries.length > 0 ? childRegistries : registryUrls;\n await walkNodeInOrder(\n child,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n mergedUrls,\n );\n }\n }\n}\n\nasync function walkXmlFile(\n packageFile: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n if (visitedFiles.has(packageFile)) {\n return;\n }\n visitedFiles.add(packageFile);\n\n const content = await readLocalFile(packageFile, 'utf8');\n if (!content) {\n logger.debug(`ant manager: could not read ${packageFile}`);\n return;\n }\n\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return;\n }\n\n await walkNodeInOrder(\n doc,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n}\n\nexport async function extractAllPackageFiles(\n _config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const results: PackageFile[] = [];\n const seen = new Set<string>();\n\n for (const packageFile of packageFiles) {\n if (seen.has(packageFile)) {\n continue;\n }\n seen.add(packageFile);\n\n const visitedFiles = new Set<string>();\n const allProps: Record<string, AntProp> = {};\n const allRawDeps: RawDep[] = [];\n\n await walkXmlFile(packageFile, visitedFiles, allProps, allRawDeps);\n\n // Resolve chained property values before applying to deps\n resolveChainedProps(allProps);\n\n // Apply property resolution to all dependencies\n const resolvedDeps = allRawDeps.map((rawDep) =>\n applyProps(rawDep.dep, rawDep.depPackageFile, allProps),\n );\n\n if (resolvedDeps.length === 0) {\n continue;\n }\n\n // Group deps by their target file (propSource or original packageFile)\n const fileMap = new Map<string, PackageDependency[]>();\n for (let i = 0; i < resolvedDeps.length; i++) {\n const dep = resolvedDeps[i];\n const targetFile = dep.propSource ?? allRawDeps[i].depPackageFile;\n if (!fileMap.has(targetFile)) {\n fileMap.set(targetFile, []);\n }\n fileMap.get(targetFile)!.push(dep);\n }\n\n for (const [pkgFile, deps] of fileMap) {\n // Clean up internal propSource field\n for (const dep of deps) {\n delete dep.propSource;\n }\n results.push({ packageFile: pkgFile, deps });\n }\n }\n\n return results.length > 0 ? results : null;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/ant/extract.ts"],"sourcesContent":["import upath from 'upath';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger/index.ts';\nimport { isValidLocalPath, readLocalFile } from '../../../util/fs/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\nimport { extractRegistries } from '../maven/extract.ts';\nimport { isXmlElement } from '../nuget/util.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types.ts';\nimport {\n applyProps,\n containsPlaceholder,\n findAttrValuePosition,\n parsePropertiesFile,\n resolveChainedProps,\n} from './properties.ts';\nimport type { AntProp } from './types.ts';\n\nexport { parsePropertiesFile } from './properties.ts';\n\nconst scopeNames = new Set([\n 'compile',\n 'runtime',\n 'test',\n 'provided',\n 'system',\n]);\n\nfunction getDependencyType(scope: string | undefined): string {\n if (scope && scopeNames.has(scope)) {\n return scope;\n }\n return 'compile';\n}\n\nfunction parseCoords(coordsStr: string): {\n groupId: string;\n artifactId: string;\n rawVersion: string;\n scope: string | undefined;\n} | null {\n const parts = coordsStr.split(':');\n if (parts.length < 3) {\n logger.trace({ coordsStr }, 'ant manager: coords has fewer than 3 parts');\n return null;\n }\n\n const [groupId, artifactId] = parts;\n if (!groupId || !artifactId) {\n logger.trace(\n { coordsStr },\n 'ant manager: coords has empty groupId or artifactId',\n );\n return null;\n }\n\n let scope: string | undefined;\n let rawVersion: string;\n\n if (parts.length >= 4 && scopeNames.has(parts.at(-1)!)) {\n scope = parts.at(-1);\n rawVersion = parts.at(-2)!;\n } else {\n rawVersion = parts.at(-1)!;\n }\n\n return { groupId, artifactId, rawVersion, scope };\n}\n\ninterface RawDep {\n dep: PackageDependency;\n depPackageFile: string;\n}\n\nasync function readSettingsRegistries(\n settingsFile: string,\n baseDir: string,\n): Promise<string[]> {\n const settingsPath = settingsFile.startsWith('/')\n ? settingsFile\n : upath.join(baseDir, settingsFile);\n\n if (!isValidLocalPath(settingsPath)) {\n logger.debug(\n `ant manager: skipping settings file outside repository: ${settingsPath}`,\n );\n return [];\n }\n\n const settingsContent = await readLocalFile(settingsPath, 'utf8');\n if (!settingsContent) {\n logger.debug(`ant manager: could not read settings file ${settingsPath}`);\n return [];\n }\n\n return extractRegistries(settingsContent);\n}\n\nasync function collectRegistryUrls(\n node: XmlElement,\n baseDir: string,\n): Promise<string[]> {\n const urls: string[] = [];\n\n const settingsFile = node.attr.settingsFile;\n if (settingsFile) {\n urls.push(...(await readSettingsRegistries(settingsFile, baseDir)));\n }\n\n for (const child of node.children) {\n if (\n isXmlElement(child) &&\n child.name === 'remoteRepository' &&\n child.attr.url\n ) {\n urls.push(child.attr.url);\n }\n }\n\n return [...new Set(urls)];\n}\n\nfunction collectCoordsDependency(\n node: XmlElement,\n packageFile: string,\n content: string,\n registryUrls: string[],\n): RawDep | null {\n const coordsStr = node.attr.coords;\n\n const parsed = parseCoords(coordsStr);\n if (!parsed) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: MavenDatasource.id,\n depName: `${parsed.groupId}:${parsed.artifactId}`,\n currentValue: parsed.rawVersion,\n depType: getDependencyType(parsed.scope ?? node.attr.scope),\n ...(registryUrls?.length && { registryUrls }),\n };\n\n // Position at the version substring within the coords attribute value\n const coordsValuePos = findAttrValuePosition(content, node, 'coords');\n const versionOffset = coordsStr.lastIndexOf(parsed.rawVersion);\n dep.fileReplacePosition = coordsValuePos + versionOffset;\n\n return { dep, depPackageFile: packageFile };\n}\n\nfunction collectDependency(\n node: XmlElement,\n packageFile: string,\n content: string,\n registryUrls: string[] = [],\n): RawDep | null {\n if (node.attr.coords) {\n return collectCoordsDependency(node, packageFile, content, registryUrls);\n }\n\n const { groupId, artifactId, version, scope } = node.attr;\n\n if (!version || !groupId || !artifactId) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: MavenDatasource.id,\n depName: `${groupId}:${artifactId}`,\n currentValue: version,\n depType: getDependencyType(scope),\n ...(registryUrls?.length && { registryUrls }),\n };\n\n dep.fileReplacePosition = findAttrValuePosition(content, node, 'version');\n\n return { dep, depPackageFile: packageFile };\n}\n\nfunction walkNode(\n node: XmlElement | XmlDocument,\n rawDeps: RawDep[],\n packageFile: string,\n content: string,\n): void {\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'dependency') {\n const rawDep = collectDependency(child, packageFile, content);\n if (rawDep) {\n rawDeps.push(rawDep);\n }\n } else {\n walkNode(child, rawDeps, packageFile, content);\n }\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return null;\n }\n\n const rawDeps: RawDep[] = [];\n walkNode(doc, rawDeps, packageFile, content);\n\n const deps = rawDeps.map((rd) => rd.dep);\n\n if (deps.length === 0) {\n return null;\n }\n\n return { deps };\n}\n\nasync function loadPropertyFile(\n file: string,\n baseDir: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n): Promise<void> {\n if (containsPlaceholder(file)) {\n logger.debug(\n `ant manager: skipping properties file with unresolved placeholders in path: ${file}`,\n );\n return;\n }\n\n const propFilePath = file.startsWith('/') ? file : upath.join(baseDir, file);\n\n if (!isValidLocalPath(propFilePath)) {\n logger.debug(\n `ant manager: skipping properties file outside repository: ${propFilePath}`,\n );\n return;\n }\n\n if (visitedFiles.has(propFilePath)) {\n return;\n }\n visitedFiles.add(propFilePath);\n\n const propContent = await readLocalFile(propFilePath, 'utf8');\n if (!propContent) {\n logger.debug(`ant manager: could not read properties file ${propFilePath}`);\n return;\n }\n\n parsePropertiesFile(propContent, propFilePath, allProps);\n}\n\nasync function loadImportedFile(\n file: string,\n baseDir: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n if (containsPlaceholder(file)) {\n logger.debug(\n `ant manager: skipping import file with unresolved placeholders in path: ${file}`,\n );\n return;\n }\n\n const importedFile = upath.normalize(upath.join(baseDir, file));\n if (!isValidLocalPath(importedFile)) {\n logger.debug(\n `ant manager: skipping import file outside repository: ${importedFile}`,\n );\n return;\n }\n\n await walkXmlFile(importedFile, visitedFiles, allProps, allRawDeps);\n}\n\n/**\n * Walk an XML node tree in document order, processing properties,\n * property file references, and dependencies as they appear.\n */\nasync function walkNodeInOrder(\n node: XmlElement | XmlDocument,\n packageFile: string,\n content: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n registryUrls: string[] = [],\n): Promise<void> {\n const baseDir = upath.dirname(packageFile);\n\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'property') {\n const name = child.attr.name;\n const value = child.attr.value;\n if (name && value && !(name in allProps)) {\n const pos = findAttrValuePosition(content, child, 'value');\n allProps[name] = { val: value, fileReplacePosition: pos, packageFile };\n }\n\n if (child.attr.file) {\n await loadPropertyFile(\n child.attr.file,\n baseDir,\n visitedFiles,\n allProps,\n );\n }\n } else if (child.name === 'import' && child.attr.file) {\n await loadImportedFile(\n child.attr.file,\n baseDir,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n } else if (child.name === 'dependency') {\n const rawDep = collectDependency(\n child,\n packageFile,\n content,\n registryUrls,\n );\n if (rawDep) {\n allRawDeps.push(rawDep);\n }\n } else {\n // Collect registry URLs from settingsFile and remoteRepository\n const childRegistries = await collectRegistryUrls(child, baseDir);\n const mergedUrls =\n childRegistries.length > 0 ? childRegistries : registryUrls;\n await walkNodeInOrder(\n child,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n mergedUrls,\n );\n }\n }\n}\n\nasync function walkXmlFile(\n packageFile: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n if (visitedFiles.has(packageFile)) {\n return;\n }\n visitedFiles.add(packageFile);\n\n const content = await readLocalFile(packageFile, 'utf8');\n if (!content) {\n logger.debug(`ant manager: could not read ${packageFile}`);\n return;\n }\n\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return;\n }\n\n await walkNodeInOrder(\n doc,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n}\n\nexport async function extractAllPackageFiles(\n _config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const results: PackageFile[] = [];\n const seen = new Set<string>();\n\n for (const packageFile of packageFiles) {\n if (seen.has(packageFile)) {\n continue;\n }\n seen.add(packageFile);\n\n const visitedFiles = new Set<string>();\n const allProps: Record<string, AntProp> = {};\n const allRawDeps: RawDep[] = [];\n\n await walkXmlFile(packageFile, visitedFiles, allProps, allRawDeps);\n\n // Resolve chained property values before applying to deps\n resolveChainedProps(allProps);\n\n // Apply property resolution to all dependencies\n const resolvedDeps = allRawDeps.map((rawDep) =>\n applyProps(rawDep.dep, rawDep.depPackageFile, allProps),\n );\n\n if (resolvedDeps.length === 0) {\n continue;\n }\n\n // Group deps by their target file (propSource or original packageFile)\n const fileMap = new Map<string, PackageDependency[]>();\n for (let i = 0; i < resolvedDeps.length; i++) {\n const dep = resolvedDeps[i];\n const targetFile = dep.propSource ?? allRawDeps[i].depPackageFile;\n if (!fileMap.has(targetFile)) {\n fileMap.set(targetFile, []);\n }\n fileMap.get(targetFile)!.push(dep);\n }\n\n for (const [pkgFile, deps] of fileMap) {\n // Clean up internal propSource field\n for (const dep of deps) {\n delete dep.propSource;\n }\n results.push({ packageFile: pkgFile, deps });\n }\n }\n\n return results.length > 0 ? results : null;\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isBoolean } from "@sindresorhus/is";
|
|
2
2
|
//#region lib/modules/manager/bazel-module/parser/starlark.ts
|
|
3
|
-
const stringMapping = new Map([["True", true], ["False", false]]);
|
|
3
|
+
const stringMapping = /* @__PURE__ */ new Map([["True", true], ["False", false]]);
|
|
4
4
|
const booleanStringValues = Array.from(stringMapping.keys());
|
|
5
5
|
function asBoolean(value) {
|
|
6
6
|
const result = stringMapping.get(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starlark.js","names":[],"sources":["../../../../../lib/modules/manager/bazel-module/parser/starlark.ts"],"sourcesContent":["import { isBoolean } from '@sindresorhus/is';\n\nconst stringMapping: ReadonlyMap<string, boolean> = new Map<string, boolean>([\n ['True', true],\n ['False', false],\n]);\n\nexport const booleanStringValues = Array.from(stringMapping.keys());\n\nexport function asBoolean(value: string): boolean {\n const result = stringMapping.get(value);\n if (isBoolean(result)) {\n return result;\n }\n throw new Error(`Invalid Starlark boolean string: ${value}`);\n}\n"],"mappings":";;AAEA,MAAM,
|
|
1
|
+
{"version":3,"file":"starlark.js","names":[],"sources":["../../../../../lib/modules/manager/bazel-module/parser/starlark.ts"],"sourcesContent":["import { isBoolean } from '@sindresorhus/is';\n\nconst stringMapping: ReadonlyMap<string, boolean> = new Map<string, boolean>([\n ['True', true],\n ['False', false],\n]);\n\nexport const booleanStringValues = Array.from(stringMapping.keys());\n\nexport function asBoolean(value: string): boolean {\n const result = stringMapping.get(value);\n if (isBoolean(result)) {\n return result;\n }\n throw new Error(`Invalid Starlark boolean string: ${value}`);\n}\n"],"mappings":";;AAEA,MAAM,gCAA8C,IAAI,IAAqB,CAC3E,CAAC,QAAQ,IAAI,GACb,CAAC,SAAS,KAAK,CACjB,CAAC;AAED,MAAa,sBAAsB,MAAM,KAAK,cAAc,KAAK,CAAC;AAElE,SAAgB,UAAU,OAAwB;CAChD,MAAM,SAAS,cAAc,IAAI,KAAK;CACtC,IAAI,UAAU,MAAM,GAClB,OAAO;CAET,MAAM,IAAI,MAAM,oCAAoC,OAAO;AAC7D"}
|
|
@@ -115,7 +115,7 @@ async function updateArtifacts(updateArtifact, recursionLimit = 10) {
|
|
|
115
115
|
}, "Found new resolve matches - reattempting recursively");
|
|
116
116
|
return updateArtifacts({
|
|
117
117
|
packageFileName,
|
|
118
|
-
updatedDeps: [
|
|
118
|
+
updatedDeps: [.../* @__PURE__ */ new Set([...updatedDeps, ...resolveMatches.map((match) => ({ depName: match }))])],
|
|
119
119
|
newPackageFileContent,
|
|
120
120
|
config
|
|
121
121
|
}, recursionLimit - 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","names":["memCache.get"],"sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { HostRule } from '../../../types/index.ts';\nimport * as memCache from '../../../util/cache/memory/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common.ts';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules.ts';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames: string[] = updatedDeps\n .map(({ depName }) => depName)\n .filter(isNonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(isString)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":["memCache.get"],"sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { HostRule } from '../../../types/index.ts';\nimport * as memCache from '../../../util/cache/memory/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common.ts';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules.ts';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames: string[] = updatedDeps\n .map(({ depName }) => depName)\n .filter(isNonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(isString)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,2BAA2B;AAEjC,SAAS,wBAAwB,UAA4C;;CAE3E,IAAI,CAAC,SAAS,cACZ,OAAO,CAAC;CAUV,OAAO,GARS,yBAAyB,OACvC,SAAS,aACN,YAAY,CAAC,CACb,MAAM,GAAG,CAAC,CACV,KAAK,IAAI,CAAC,CACV,MAAM,GAAG,CAAC,CACV,KAAK,KAAK,CAGN,IAAI,GAAG,6BAA6B,QAAQ,IACrD;AACF;AAEA,MAAM,mBAAmB,MACvB,iDACF;AAEA,SAAS,oBAAoB,OAAyB;CACpD,MAAM,QAAQ,MAAM,MAAM,YAAY;CACtC,MAAM,SAAmB,CAAC;CAC1B,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,qBAAqB,KAAK,MAAM,gBAAgB,CAAC,EAAE;EACzD,IAAI,oBAAoB;GACtB,MAAM,EAAE,QAAQ;GAChB,OAAO,KAAK,GAAG;EACjB;CACF;CAEA,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;AAC5B;AAEA,eAAsB,gBACpB,gBACA,iBAAiB,IACwB;CACzC,MAAM,EAAE,iBAAiB,aAAa,uBAAuB,WAC3D;CACF,OAAO,MAAM,2BAA2B,gBAAgB,EAAE;CAC1D,MAAM,gBAAgBA,IAAqB,uBAAuB;;CAElE,IAAI,eAAe;EACjB,OAAO,MAAM,2DAA2D;EACxE,MAAM,IAAI,MAAM,aAAa;CAC/B;CACA,MAAM,eAAe,MAAM,gBAAgB,eAAe;CAC1D,MAAM,0BAA0B,MAAM,cAAc,cAAc,MAAM;CACxE,IAAI,CAAC,yBAAyB;EAC5B,OAAO,MAAM,uBAAuB;EACpC,OAAO;CACT;CAEA,MAAM,kBAA4B,YAC/B,KAAK,EAAE,cAAc,OAAO,CAAC,CAC7B,OAAO,gCAAgC;CAE1C,IAAI;EACF,MAAM,eAAe,iBAAiB,qBAAqB;EAE3D,MAAM,WAAqB,CAAC;EAE5B,IAAI,OAAO,uBACT,SAAS,KAAK,uBAAuB;OAChC;GAIL,IAHwB,YACrB,KAAK,QAAQ,IAAI,OAAO,CAAC,CACzB,SAAS,SACM,GAChB,SAAS,KAAK,iCAAiC;GAQjD,KAAK,MAAM,CAAC,YAAY,cAAc,OAAO,QAAQ;IAJnD,OAAO;IACP,OAAO;IACP,OAAO;GAEsD,CAAC,GAAG;IACjE,MAAM,OAAO,YACV,QAAQ,SAAS,IAAI,cAAc,aAAa,UAAU,CAAC,CAC3D,KAAK,QAAQ,IAAI,OAAO,CAAC,CACzB,OAAO,QAAQ,CAAC,CAChB,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,SAAS;IACtD,IAAI,iBAAiB;IACrB,IAAI,OAAO,mBAAmB,SAAS,qBAAqB,GAC1D,iBAAiB;IAEnB,IAAI,KAAK,QAAQ;KACf,MAAM,MAAM,gBAAgB,YAAY,eAAe,WAAW,KAC/D,IAAI,KAAK,CAAC,CACV,KAAK,GAAG;KACX,SAAS,KAAK,GAAG;IACnB;GACF;GAKA,IAHqB,YAClB,KAAK,QAAQ,IAAI,OAAO,CAAC,CACzB,SAAS,MACG,GACb,SAAS,KAAK,cAAc;EAEhC;EAMA,MAAM,4BAJmB,uBAAuB,EAC9C,UAAU,WACZ,CAEiD,CAAC,CAAC,QAChD,WAAW,cAAc;GACxB,GAAG;GACH,GAAG,wBAAwB,QAAQ;EACrC,IACA,CAAC,CACH;EAEA,MAAM,UAAU,qBACd,gBACA,uBACF;EACA,MAAM,cAAc,CAAC,gBAAgB;EAqBrC,MAAM,KAAK,UAAU;GAlBnB,SAAS;GACT,UAAU;IACR,GAAG;IACH,UAAU,MAAM,eAAe,SAAS;GAC1C;GACA,QAAQ,CAAC;GACT,iBAAiB,CACf;IACE,UAAU;IACV,YAAY,MAAM,kBAAkB,cAAc;GACpD,GACA;IACE,UAAU;IACV,YAAY;GACd,CACF;GACA;EAE6B,CAAC;EAGhC,IAAI,EAAC,MADgB,cAAc,EAAA,CACvB,SAAS,SAAS,YAAY,GACxC,OAAO;EAET,OAAO,MAAM,gCAAgC;EAE7C,OAAO,CACL,EACE,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU,MANc,cAAc,YAAY;EAOpD,EACF,CACF;CACF,SAAS,KAAK;EACZ,IAAI,IAAI,YAAA,mBACN,MAAM;EAER,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,EAAE,IAAI,OAAO,IAAI,MAAM;EAC1D,IACE,IAAI,QAAQ,SAAS,+BAA+B,KACpD,OAAO,SAAS,qCAAqC,GAErD,OAAO,CACL,EACE,eAAe;GACb,UAAU;GACV,QAAQ;EACV,EACF,CACF;EAEF,IACE,IAAI,QAAQ,SAAS,2CAA2C,KAChE,IAAI,QAAQ,SAAS,4BAA4B,KACjD,IAAI,QAAQ,SACV,qDACF,GACA;GACA,OAAO,MACL,EAAE,IAAI,GACN,yEACF;GAEA,IAAa,yBAAyB,2BAA2B;GACjE,MAAM,IAAI,MAAM,2BAA2B;EAC7C;EACA,MAAM,iBAA2B,oBAAoB,MAAM,CAAC,CAAC,QAC1D,YAAY,CAAC,gBAAgB,SAAS,OAAO,CAChD;EACA,IACE,iBAAiB,KACjB,eAAe,UACf,CAAC,OAAO,uBACR;GACA,OAAO,MACL;IAAE;IAAgB;GAAY,GAC9B,sDACF;GAOA,OAAO,gBACL;IACE;IACA,aAAa,CARf,mBAAG,IAAI,IAAI,CACT,GAAG,aACH,GAAG,eAAe,KAAK,WAAW,EAAE,SAAS,MAAM,EAAE,CACvD,CAAC,CAK2B;IAC1B;IACA;GACF,GACA,iBAAiB,CACnB;EACF;EAEA,OAAO,KAAK,EAAE,IAAI,GAAG,qDAAqD;EAC1E,OAAO,CACL,EACE,eAAe;GACb,UAAU;GACV,QAAQ,GAAG,OAAO,IAAI,MAAM,EAAE,IAAI,OAAO,IAAI,MAAM;EACrD,EACF,CACF;CACF;AACF"}
|
|
@@ -54,7 +54,7 @@ async function readCargoConfig() {
|
|
|
54
54
|
function extractCargoRegistries(config) {
|
|
55
55
|
const result = {};
|
|
56
56
|
result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(DEFAULT_REGISTRY_ID, config);
|
|
57
|
-
const registryNames = new Set([...Object.keys(config.registries ?? {}), ...Object.keys(config.source ?? {})]);
|
|
57
|
+
const registryNames = /* @__PURE__ */ new Set([...Object.keys(config.registries ?? {}), ...Object.keys(config.source ?? {})]);
|
|
58
58
|
for (const registryName of registryNames) result[registryName] = resolveRegistryIndex(registryName, config);
|
|
59
59
|
return result;
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":["versioning"],"sources":["../../../../lib/modules/manager/cargo/extract.ts"],"sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport { api as versioning } from '../../versioning/cargo/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\nimport { extractLockFileVersions } from './locked-version.ts';\nimport { CargoConfig, CargoManifest } from './schema.ts';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types.ts';\nimport { DEFAULT_REGISTRY_URL } from './utils.ts';\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 (isString(packageSection.version)) {\n version = packageSection.version;\n } else if (\n isObject(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\n let lockedVersion: string | null = null;\n if (dep.currentValue) {\n lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue,\n );\n }\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","names":["versioning"],"sources":["../../../../lib/modules/manager/cargo/extract.ts"],"sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport { api as versioning } from '../../versioning/cargo/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\nimport { extractLockFileVersions } from './locked-version.ts';\nimport { CargoConfig, CargoManifest } from './schema.ts';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types.ts';\nimport { DEFAULT_REGISTRY_URL } from './utils.ts';\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 (isString(packageSection.version)) {\n version = packageSection.version;\n } else if (\n isObject(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\n let lockedVersion: string | null = null;\n if (dep.currentValue) {\n lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue,\n );\n }\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"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { coerceNumber } from "../../../util/number.js";
|
|
|
5
5
|
import { isString } from "@sindresorhus/is";
|
|
6
6
|
import { quote } from "shlex";
|
|
7
7
|
//#region lib/modules/manager/composer/utils.ts
|
|
8
|
-
const depRequireInstall = new Set(["symfony/flex"]);
|
|
8
|
+
const depRequireInstall = /* @__PURE__ */ new Set(["symfony/flex"]);
|
|
9
9
|
function getComposerArguments(config, toolConstraint) {
|
|
10
10
|
let args = "";
|
|
11
11
|
if (config.composerIgnorePlatformReqs) if (config.composerIgnorePlatformReqs.length === 0) if (isString(toolConstraint.constraint) && api.intersects(toolConstraint.constraint, "^2.2")) args += " --ignore-platform-req='ext-*' --ignore-platform-req='lib-*'";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../../lib/modules/manager/composer/utils.ts"],"sourcesContent":["// TODO: types (#22198)\nimport { isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { CombinedHostRule } from '../../../types/index.ts';\nimport type {\n ConstraintName,\n ToolConstraint,\n} from '../../../util/exec/types.ts';\nimport { coerceNumber } from '../../../util/number.ts';\nimport {\n api,\n id as composerVersioningId,\n} from '../../versioning/composer/index.ts';\nimport type { UpdateArtifactsConfig } from '../types.ts';\nimport type { Lockfile, PackageFile } from './schema.ts';\n\nexport { composerVersioningId };\n\nconst depRequireInstall = new Set(['symfony/flex']);\n\nexport function getComposerArguments(\n config: UpdateArtifactsConfig,\n toolConstraint: ToolConstraint,\n): string {\n let args = '';\n\n if (config.composerIgnorePlatformReqs) {\n if (config.composerIgnorePlatformReqs.length === 0) {\n if (\n isString(toolConstraint.constraint) &&\n api.intersects!(toolConstraint.constraint, '^2.2')\n ) {\n args += \" --ignore-platform-req='ext-*' --ignore-platform-req='lib-*'\";\n } else {\n args += ' --ignore-platform-reqs';\n }\n } else {\n config.composerIgnorePlatformReqs.forEach((req) => {\n args += ` --ignore-platform-req ${quote(req)}`;\n });\n }\n }\n\n args += ' --no-ansi --no-interaction';\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n args += ' --no-scripts --no-autoloader';\n }\n\n if (!GlobalConfig.get('allowPlugins') || config.ignorePlugins) {\n args += ' --no-plugins';\n }\n\n return args;\n}\n\nexport function getComposerUpdateArguments(\n config: UpdateArtifactsConfig,\n toolConstraint: ToolConstraint,\n): string {\n let args = getComposerArguments(config, toolConstraint);\n\n if (\n !config.isLockFileMaintenance &&\n !config.postUpdateOptions?.includes('composerNoMinimalChanges') &&\n isString(toolConstraint.constraint) &&\n api.intersects!(toolConstraint.constraint, '>=2.7')\n ) {\n args += ' --minimal-changes';\n }\n\n return args;\n}\n\nexport function getPhpConstraint(\n constraints: Partial<Record<ConstraintName, string>>,\n): string | null {\n const { php } = constraints;\n\n if (php) {\n logger.debug('Using php constraint from config');\n return php;\n }\n\n return null;\n}\n\nexport function requireComposerDependencyInstallation({\n packages,\n packagesDev,\n}: Lockfile): boolean {\n return (\n packages.some((p) => depRequireInstall.has(p.name)) === true ||\n packagesDev.some((p) => depRequireInstall.has(p.name)) === true\n );\n}\n\nexport function extractConstraints(\n { config, require, requireDev }: PackageFile,\n { pluginApiVersion }: Lockfile,\n): Partial<Record<ConstraintName, string>> {\n const res: Record<string, string> = { composer: '1.*' };\n\n // extract php\n const phpVersion = config?.platform.php;\n if (phpVersion) {\n const major = api.getMajor(phpVersion);\n const minor = coerceNumber(api.getMinor(phpVersion));\n const patch = coerceNumber(api.getPatch(phpVersion));\n res.php = `<=${major}.${minor}.${patch}`;\n } else if (require.php) {\n res.php = require.php;\n }\n\n // extract direct composer dependency\n if (require['composer/composer']) {\n res.composer = require['composer/composer'];\n } else if (requireDev['composer/composer']) {\n res.composer = requireDev['composer/composer'];\n }\n // composer platform package\n else if (require.composer) {\n res.composer = require.composer;\n } else if (requireDev.composer) {\n res.composer = requireDev.composer;\n }\n // check last used composer version\n else if (pluginApiVersion) {\n const major = api.getMajor(pluginApiVersion);\n const minor = api.getMinor(pluginApiVersion);\n res.composer = `^${major}.${minor}`;\n }\n // check composer api dependency\n else if (require['composer-runtime-api']) {\n const major = api.getMajor(require['composer-runtime-api']);\n const minor = api.getMinor(require['composer-runtime-api']);\n res.composer = `^${major}.${minor}`;\n }\n return res;\n}\n\nexport function isArtifactAuthEnabled(rule: CombinedHostRule): boolean {\n return !rule.artifactAuth || rule.artifactAuth.includes('composer');\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../../lib/modules/manager/composer/utils.ts"],"sourcesContent":["// TODO: types (#22198)\nimport { isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { CombinedHostRule } from '../../../types/index.ts';\nimport type {\n ConstraintName,\n ToolConstraint,\n} from '../../../util/exec/types.ts';\nimport { coerceNumber } from '../../../util/number.ts';\nimport {\n api,\n id as composerVersioningId,\n} from '../../versioning/composer/index.ts';\nimport type { UpdateArtifactsConfig } from '../types.ts';\nimport type { Lockfile, PackageFile } from './schema.ts';\n\nexport { composerVersioningId };\n\nconst depRequireInstall = new Set(['symfony/flex']);\n\nexport function getComposerArguments(\n config: UpdateArtifactsConfig,\n toolConstraint: ToolConstraint,\n): string {\n let args = '';\n\n if (config.composerIgnorePlatformReqs) {\n if (config.composerIgnorePlatformReqs.length === 0) {\n if (\n isString(toolConstraint.constraint) &&\n api.intersects!(toolConstraint.constraint, '^2.2')\n ) {\n args += \" --ignore-platform-req='ext-*' --ignore-platform-req='lib-*'\";\n } else {\n args += ' --ignore-platform-reqs';\n }\n } else {\n config.composerIgnorePlatformReqs.forEach((req) => {\n args += ` --ignore-platform-req ${quote(req)}`;\n });\n }\n }\n\n args += ' --no-ansi --no-interaction';\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n args += ' --no-scripts --no-autoloader';\n }\n\n if (!GlobalConfig.get('allowPlugins') || config.ignorePlugins) {\n args += ' --no-plugins';\n }\n\n return args;\n}\n\nexport function getComposerUpdateArguments(\n config: UpdateArtifactsConfig,\n toolConstraint: ToolConstraint,\n): string {\n let args = getComposerArguments(config, toolConstraint);\n\n if (\n !config.isLockFileMaintenance &&\n !config.postUpdateOptions?.includes('composerNoMinimalChanges') &&\n isString(toolConstraint.constraint) &&\n api.intersects!(toolConstraint.constraint, '>=2.7')\n ) {\n args += ' --minimal-changes';\n }\n\n return args;\n}\n\nexport function getPhpConstraint(\n constraints: Partial<Record<ConstraintName, string>>,\n): string | null {\n const { php } = constraints;\n\n if (php) {\n logger.debug('Using php constraint from config');\n return php;\n }\n\n return null;\n}\n\nexport function requireComposerDependencyInstallation({\n packages,\n packagesDev,\n}: Lockfile): boolean {\n return (\n packages.some((p) => depRequireInstall.has(p.name)) === true ||\n packagesDev.some((p) => depRequireInstall.has(p.name)) === true\n );\n}\n\nexport function extractConstraints(\n { config, require, requireDev }: PackageFile,\n { pluginApiVersion }: Lockfile,\n): Partial<Record<ConstraintName, string>> {\n const res: Record<string, string> = { composer: '1.*' };\n\n // extract php\n const phpVersion = config?.platform.php;\n if (phpVersion) {\n const major = api.getMajor(phpVersion);\n const minor = coerceNumber(api.getMinor(phpVersion));\n const patch = coerceNumber(api.getPatch(phpVersion));\n res.php = `<=${major}.${minor}.${patch}`;\n } else if (require.php) {\n res.php = require.php;\n }\n\n // extract direct composer dependency\n if (require['composer/composer']) {\n res.composer = require['composer/composer'];\n } else if (requireDev['composer/composer']) {\n res.composer = requireDev['composer/composer'];\n }\n // composer platform package\n else if (require.composer) {\n res.composer = require.composer;\n } else if (requireDev.composer) {\n res.composer = requireDev.composer;\n }\n // check last used composer version\n else if (pluginApiVersion) {\n const major = api.getMajor(pluginApiVersion);\n const minor = api.getMinor(pluginApiVersion);\n res.composer = `^${major}.${minor}`;\n }\n // check composer api dependency\n else if (require['composer-runtime-api']) {\n const major = api.getMajor(require['composer-runtime-api']);\n const minor = api.getMinor(require['composer-runtime-api']);\n res.composer = `^${major}.${minor}`;\n }\n return res;\n}\n\nexport function isArtifactAuthEnabled(rule: CombinedHostRule): boolean {\n return !rule.artifactAuth || rule.artifactAuth.includes('composer');\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,oCAAoB,IAAI,IAAI,CAAC,cAAc,CAAC;AAElD,SAAgB,qBACd,QACA,gBACQ;CACR,IAAI,OAAO;CAEX,IAAI,OAAO,4BACT,IAAI,OAAO,2BAA2B,WAAW,GAC/C,IACE,SAAS,eAAe,UAAU,KAClC,IAAI,WAAY,eAAe,YAAY,MAAM,GAEjD,QAAQ;MAER,QAAQ;MAGV,OAAO,2BAA2B,SAAS,QAAQ;EACjD,QAAQ,0BAA0B,MAAM,GAAG;CAC7C,CAAC;CAIL,QAAQ;CACR,IAAI,CAAC,aAAa,IAAI,cAAc,KAAK,OAAO,eAC9C,QAAQ;CAGV,IAAI,CAAC,aAAa,IAAI,cAAc,KAAK,OAAO,eAC9C,QAAQ;CAGV,OAAO;AACT;AAEA,SAAgB,2BACd,QACA,gBACQ;CACR,IAAI,OAAO,qBAAqB,QAAQ,cAAc;CAEtD,IACE,CAAC,OAAO,yBACR,CAAC,OAAO,mBAAmB,SAAS,0BAA0B,KAC9D,SAAS,eAAe,UAAU,KAClC,IAAI,WAAY,eAAe,YAAY,OAAO,GAElD,QAAQ;CAGV,OAAO;AACT;AAEA,SAAgB,iBACd,aACe;CACf,MAAM,EAAE,QAAQ;CAEhB,IAAI,KAAK;EACP,OAAO,MAAM,kCAAkC;EAC/C,OAAO;CACT;CAEA,OAAO;AACT;AAEA,SAAgB,sCAAsC,EACpD,UACA,eACoB;CACpB,OACE,SAAS,MAAM,MAAM,kBAAkB,IAAI,EAAE,IAAI,CAAC,MAAM,QACxD,YAAY,MAAM,MAAM,kBAAkB,IAAI,EAAE,IAAI,CAAC,MAAM;AAE/D;AAEA,SAAgB,mBACd,EAAE,QAAQ,SAAS,cACnB,EAAE,oBACuC;CACzC,MAAM,MAA8B,EAAE,UAAU,MAAM;CAGtD,MAAM,aAAa,QAAQ,SAAS;CACpC,IAAI,YAIF,IAAI,MAAM,KAHI,IAAI,SAAS,UAGR,EAAE,GAFP,aAAa,IAAI,SAAS,UAAU,CAEtB,EAAE,GADhB,aAAa,IAAI,SAAS,UAAU,CACb;MAChC,IAAI,QAAQ,KACjB,IAAI,MAAM,QAAQ;CAIpB,IAAI,QAAQ,sBACV,IAAI,WAAW,QAAQ;MAClB,IAAI,WAAW,sBACpB,IAAI,WAAW,WAAW;MAGvB,IAAI,QAAQ,UACf,IAAI,WAAW,QAAQ;MAClB,IAAI,WAAW,UACpB,IAAI,WAAW,WAAW;MAGvB,IAAI,kBAGP,IAAI,WAAW,IAFD,IAAI,SAAS,gBAEJ,EAAE,GADX,IAAI,SAAS,gBACK;MAG7B,IAAI,QAAQ,yBAGf,IAAI,WAAW,IAFD,IAAI,SAAS,QAAQ,uBAEZ,EAAE,GADX,IAAI,SAAS,QAAQ,uBACH;CAElC,OAAO;AACT;AAEA,SAAgB,sBAAsB,MAAiC;CACrE,OAAO,CAAC,KAAK,gBAAgB,KAAK,aAAa,SAAS,UAAU;AACpE"}
|