renovate 41.132.4 → 41.135.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
  2. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  3. package/dist/config/presets/common.js +1 -0
  4. package/dist/config/presets/common.js.map +1 -1
  5. package/dist/config/presets/internal/npm.js +1 -8
  6. package/dist/config/presets/internal/npm.js.map +1 -1
  7. package/dist/config/presets/internal/security.js +6 -0
  8. package/dist/config/presets/internal/security.js.map +1 -1
  9. package/dist/modules/manager/bazel-module/extract.js +5 -0
  10. package/dist/modules/manager/bazel-module/extract.js.map +1 -1
  11. package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
  12. package/dist/modules/manager/bazel-module/parser/context.js +42 -2
  13. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  14. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +165 -1
  15. package/dist/modules/manager/bazel-module/parser/fragments.js +39 -1
  16. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  17. package/dist/modules/manager/bazel-module/parser/index.js +3 -1
  18. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  19. package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
  20. package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
  21. package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
  22. package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
  23. package/dist/modules/manager/bazel-module/rules-img.js +74 -0
  24. package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
  25. package/dist/modules/manager/fingerprint.generated.js +1 -1
  26. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  27. package/dist/modules/platform/github/index.d.ts +1 -1
  28. package/dist/modules/platform/github/index.js +8 -8
  29. package/dist/modules/platform/github/index.js.map +1 -1
  30. package/dist/modules/platform/types.d.ts +1 -1
  31. package/dist/modules/platform/types.js.map +1 -1
  32. package/dist/util/cache/package/decorator.js +20 -9
  33. package/dist/util/cache/package/decorator.js.map +1 -1
  34. package/dist/util/cache/package/file.d.ts +1 -1
  35. package/dist/util/cache/package/file.js +3 -3
  36. package/dist/util/cache/package/file.js.map +1 -1
  37. package/dist/util/cache/package/index.d.ts +6 -2
  38. package/dist/util/cache/package/index.js +8 -4
  39. package/dist/util/cache/package/index.js.map +1 -1
  40. package/dist/util/cache/package/redis.d.ts +1 -1
  41. package/dist/util/cache/package/redis.js +4 -4
  42. package/dist/util/cache/package/redis.js.map +1 -1
  43. package/dist/util/cache/package/sqlite.d.ts +1 -1
  44. package/dist/util/cache/package/sqlite.js +2 -2
  45. package/dist/util/cache/package/sqlite.js.map +1 -1
  46. package/dist/util/cache/package/types.d.ts +1 -1
  47. package/dist/util/cache/package/types.js.map +1 -1
  48. package/dist/util/http/cache/package-http-cache-provider.js +3 -3
  49. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  50. package/dist/workers/repository/config-migration/branch/create.js +1 -0
  51. package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
  52. package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
  53. package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
  54. package/dist/workers/repository/onboarding/branch/create.js +1 -0
  55. package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
  56. package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
  57. package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
  58. package/dist/workers/repository/update/branch/commit.js +2 -0
  59. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  60. package/dist/workers/repository/update/pr/index.js +1 -1
  61. package/dist/workers/repository/update/pr/index.js.map +1 -1
  62. package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
  63. package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
  64. package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
  65. package/package.json +13 -13
@@ -9,6 +9,7 @@ class UnpublishSafeMigration extends abstract_migration_1.AbstractMigration {
9
9
  ':unpublishSafe',
10
10
  'default:unpublishSafe',
11
11
  'npm:unpublishSafe',
12
+ 'security:minimumReleaseAgeNpm',
12
13
  ];
13
14
  deprecated = true;
14
15
  propertyName = 'unpublishSafe';
@@ -20,11 +21,11 @@ class UnpublishSafeMigration extends abstract_migration_1.AbstractMigration {
20
21
  newExtendsValue.push(extendsValue);
21
22
  }
22
23
  if (newExtendsValue.every((item) => !this.isSupportedValue(item))) {
23
- newExtendsValue.push('npm:unpublishSafe');
24
+ newExtendsValue.push('security:minimumReleaseAgeNpm');
24
25
  }
25
26
  this.setHard('extends', newExtendsValue.map((item) => {
26
27
  if (this.isSupportedValue(item)) {
27
- return 'npm:unpublishSafe';
28
+ return 'security:minimumReleaseAgeNpm';
28
29
  }
29
30
  return item;
30
31
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"unpublish-safe-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/unpublish-safe-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mEAA+D;AAE/D,MAAa,sBAAuB,SAAQ,sCAAiB;IACnD,MAAM,CAAU,gBAAgB,GAAG;QACzC,gBAAgB;QAChB,uBAAuB;QACvB,mBAAmB;KACpB,CAAC;IAEgB,UAAU,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,eAAe,CAAC;IAExC,GAAG,CAAC,KAAc;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClE,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,OAAO,CACV,SAAS,EACT,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,mBAAmB,CAAC;gBAC7B,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,OAAO,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;;AAtCH,wDAuCC","sourcesContent":["import is from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class UnpublishSafeMigration extends AbstractMigration {\n private static readonly SUPPORTED_VALUES = [\n ':unpublishSafe',\n 'default:unpublishSafe',\n 'npm:unpublishSafe',\n ];\n\n override readonly deprecated = true;\n override readonly propertyName = 'unpublishSafe';\n\n override run(value: unknown): void {\n const extendsValue = this.get('extends');\n const newExtendsValue = Array.isArray(extendsValue) ? extendsValue : [];\n\n if (value === true) {\n if (is.string(extendsValue)) {\n newExtendsValue.push(extendsValue);\n }\n\n if (newExtendsValue.every((item) => !this.isSupportedValue(item))) {\n newExtendsValue.push('npm:unpublishSafe');\n }\n\n this.setHard(\n 'extends',\n newExtendsValue.map((item) => {\n if (this.isSupportedValue(item)) {\n return 'npm:unpublishSafe';\n }\n\n return item;\n }),\n );\n }\n }\n\n private isSupportedValue(value: string): boolean {\n return UnpublishSafeMigration.SUPPORTED_VALUES.includes(value);\n }\n}\n"]}
1
+ {"version":3,"file":"unpublish-safe-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/unpublish-safe-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mEAA+D;AAE/D,MAAa,sBAAuB,SAAQ,sCAAiB;IACnD,MAAM,CAAU,gBAAgB,GAAG;QACzC,gBAAgB;QAChB,uBAAuB;QACvB,mBAAmB;QACnB,+BAA+B;KAChC,CAAC;IAEgB,UAAU,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,eAAe,CAAC;IAExC,GAAG,CAAC,KAAc;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClE,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,OAAO,CACV,SAAS,EACT,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,+BAA+B,CAAC;gBACzC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,OAAO,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;;AAvCH,wDAwCC","sourcesContent":["import is from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class UnpublishSafeMigration extends AbstractMigration {\n private static readonly SUPPORTED_VALUES = [\n ':unpublishSafe',\n 'default:unpublishSafe',\n 'npm:unpublishSafe',\n 'security:minimumReleaseAgeNpm',\n ];\n\n override readonly deprecated = true;\n override readonly propertyName = 'unpublishSafe';\n\n override run(value: unknown): void {\n const extendsValue = this.get('extends');\n const newExtendsValue = Array.isArray(extendsValue) ? extendsValue : [];\n\n if (value === true) {\n if (is.string(extendsValue)) {\n newExtendsValue.push(extendsValue);\n }\n\n if (newExtendsValue.every((item) => !this.isSupportedValue(item))) {\n newExtendsValue.push('security:minimumReleaseAgeNpm');\n }\n\n this.setHard(\n 'extends',\n newExtendsValue.map((item) => {\n if (this.isSupportedValue(item)) {\n return 'security:minimumReleaseAgeNpm';\n }\n\n return item;\n }),\n );\n }\n }\n\n private isSupportedValue(value: string): boolean {\n return UnpublishSafeMigration.SUPPORTED_VALUES.includes(value);\n }\n}\n"]}
@@ -33,6 +33,7 @@ exports.removedPresets = {
33
33
  'helpers:oddIsUnstablePackages': null,
34
34
  'group:jsTestMonMajor': 'group:jsTestNonMajor',
35
35
  'github>whitesource/merge-confidence:beta': 'mergeConfidence:all-badges',
36
+ 'npm:unpublishSafe': 'security:minimumReleaseAgeNpm',
36
37
  'replacements:messageFormat-{{package}}-to-@messageformat/{{package}}': 'replacements:messageFormat-to-scoped',
37
38
  'regexManagers:azurePipelinesVersions': 'customManagers:azurePipelinesVersions',
38
39
  'regexManagers:biomeVersions': 'customManagers:biomeVersions',
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/config/presets/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAkC;IAC3D,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI;IAChC,6BAA6B,EAAE,kBAAkB;IACjD,sBAAsB,EAAE,kBAAkB;IAC1C,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,eAAe;IACvB,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,sBAAsB;IACtC,sBAAsB,EAAE,8BAA8B;IACtD,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,sCAAsC,EAAE,IAAI;IAC5C,oBAAoB,EAAE,eAAe;IACrC,aAAa,EAAE,oBAAoB;IACnC,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,eAAe;IACjC,oCAAoC,EAAE,kBAAkB;IACxD,6BAA6B,EAAE,kBAAkB;IACjD,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,eAAe;IACjC,iBAAiB,EAAE,eAAe;IAClC,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,mBAAmB;IAC5C,uBAAuB,EAAE,IAAI;IAC7B,+BAA+B,EAAE,IAAI;IACrC,sBAAsB,EAAE,sBAAsB;IAC9C,0CAA0C,EAAE,4BAA4B;IACxE,sEAAsE,EACpE,sCAAsC;IACxC,sCAAsC,EACpC,uCAAuC;IACzC,6BAA6B,EAAE,8BAA8B;IAC7D,0CAA0C,EACxC,2CAA2C;IAC7C,kCAAkC,EAAE,mCAAmC;IACvE,qCAAqC,EAAE,sCAAsC;IAC7E,sCAAsC,EACpC,uCAAuC;IACzC,wCAAwC,EACtC,yCAAyC;IAC3C,qCAAqC,EAAE,sCAAsC;IAC7E,8BAA8B,EAAE,+BAA+B;IAC/D,sCAAsC,EAAE,IAAI;CAC7C,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,kBAAkB,EAAE,kBAAkB;IACtC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,qBAAqB,EAAE,qBAAqB;IAC5C,cAAc,EAAE,cAAc;IAC9B,uBAAuB,EAAE,uBAAuB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,mBAAmB,EAAE,mBAAmB;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,mBAAmB;IACnC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,yBAAyB;IACnC,GAAG,EAAE,aAAa;IAClB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,kBAAkB;IACjC,mBAAmB,EAAE,sBAAsB;IAC3C,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1D,sBAAc,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,YAAY,EAAE,EAAE,CAAC;IACtD,sBAAc,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC;AAClE,CAAC","sourcesContent":["export const removedPresets: Record<string, string | null> = {\n ':autodetectPinVersions': null,\n ':autodetectRangeStrategy': null,\n ':automergeBranchMergeCommit': ':automergeBranch',\n ':automergeBranchPush': ':automergeBranch',\n ':base': 'config:recommended',\n ':app': 'config:js-app',\n ':disableLockFiles': ':skipArtifactsUpdate',\n ':enableGradleLite': null,\n ':js-app': 'config:js-app',\n ':library': 'config:js-lib',\n ':masterIssue': ':dependencyDashboard',\n ':masterIssueApproval': ':dependencyDashboardApproval',\n ':switchToGradleLite': null,\n ':unpublishSafe': 'npm:unpublishSafe',\n 'compatibility:additionalBranchPrefix': null,\n 'config:application': 'config:js-app',\n 'config:base': 'config:recommended',\n 'config:base-js': 'config:recommended',\n 'config:library': 'config:js-lib',\n 'default:automergeBranchMergeCommit': ':automergeBranch',\n 'default:automergeBranchPush': ':automergeBranch',\n 'default:base': 'config:recommended',\n 'default:app': 'config:js-app',\n 'default:js-app': 'config:js-app',\n 'default:library': 'config:js-lib',\n 'default:onlyNpm': null,\n 'default:unpublishSafe': 'npm:unpublishSafe',\n 'helpers:oddIsUnstable': null,\n 'helpers:oddIsUnstablePackages': null,\n 'group:jsTestMonMajor': 'group:jsTestNonMajor',\n 'github>whitesource/merge-confidence:beta': 'mergeConfidence:all-badges',\n 'replacements:messageFormat-{{package}}-to-@messageformat/{{package}}':\n 'replacements:messageFormat-to-scoped',\n 'regexManagers:azurePipelinesVersions':\n 'customManagers:azurePipelinesVersions',\n 'regexManagers:biomeVersions': 'customManagers:biomeVersions',\n 'regexManagers:bitbucketPipelinesVersions':\n 'customManagers:bitbucketPipelinesVersions',\n 'regexManagers:dockerfileVersions': 'customManagers:dockerfileVersions',\n 'regexManagers:githubActionsVersions': 'customManagers:githubActionsVersions',\n 'regexManagers:gitlabPipelineVersions':\n 'customManagers:gitlabPipelineVersions',\n 'regexManagers:helmChartYamlAppVersions':\n 'customManagers:helmChartYamlAppVersions',\n 'regexManagers:mavenPropertyVersions': 'customManagers:mavenPropertyVersions',\n 'regexManagers:tfvarsVersions': 'customManagers:tfvarsVersions',\n 'workarounds:reduceRepologyServerLoad': null,\n};\n\nconst renamedMonorepos: Record<string, string> = {\n 'arcus event-grid': 'arcus.event-grid',\n 'arcus security': 'arcus.security',\n 'arcus messaging': 'arcus.messaging',\n 'arcus observability': 'arcus.observability',\n 'arcus webapi': 'arcus.webapi',\n 'arcus background-jobs': 'arcus.background-jobs',\n 'aspnet AspNetWebStack': 'aspnet aspnetwebstack',\n 'aspnet Extensions': 'aspnet extensions',\n 'System.IO.Abstractions': 'system.io.abstractions',\n angular1: 'angularjs',\n angularcli: 'angular-cli',\n Fontsource: 'fontsource',\n hamcrest: 'javahamcrest',\n HotChocolate: 'hotchocolate',\n infrastructure: 'infrastructure-ui',\n junit5: 'junit-framework',\n lingui: 'linguijs',\n MassTransit: 'masstransit',\n material: 'material-components-web',\n mui: 'material-ui',\n openfeign: 'feign',\n opentelemetry: 'opentelemetry-js',\n OpenTelemetryDotnet: 'opentelemetry-dotnet',\n picasso: 'picassojs',\n reactrouter: 'react-router',\n sentry: 'sentry-javascript',\n Steeltoe: 'steeltoe',\n stryker: 'stryker-js',\n Swashbuckle: 'swashbuckle-aspnetcore',\n nrwl: 'nx',\n};\n\nfor (const [from, to] of Object.entries(renamedMonorepos)) {\n removedPresets[`monorepo:${from}`] = `monorepo:${to}`;\n removedPresets[`group:${from}Monorepo`] = `group:${to}Monorepo`;\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/config/presets/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAkC;IAC3D,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI;IAChC,6BAA6B,EAAE,kBAAkB;IACjD,sBAAsB,EAAE,kBAAkB;IAC1C,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,eAAe;IACvB,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,sBAAsB;IACtC,sBAAsB,EAAE,8BAA8B;IACtD,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,sCAAsC,EAAE,IAAI;IAC5C,oBAAoB,EAAE,eAAe;IACrC,aAAa,EAAE,oBAAoB;IACnC,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,eAAe;IACjC,oCAAoC,EAAE,kBAAkB;IACxD,6BAA6B,EAAE,kBAAkB;IACjD,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,eAAe;IACjC,iBAAiB,EAAE,eAAe;IAClC,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,mBAAmB;IAC5C,uBAAuB,EAAE,IAAI;IAC7B,+BAA+B,EAAE,IAAI;IACrC,sBAAsB,EAAE,sBAAsB;IAC9C,0CAA0C,EAAE,4BAA4B;IACxE,mBAAmB,EAAE,+BAA+B;IACpD,sEAAsE,EACpE,sCAAsC;IACxC,sCAAsC,EACpC,uCAAuC;IACzC,6BAA6B,EAAE,8BAA8B;IAC7D,0CAA0C,EACxC,2CAA2C;IAC7C,kCAAkC,EAAE,mCAAmC;IACvE,qCAAqC,EAAE,sCAAsC;IAC7E,sCAAsC,EACpC,uCAAuC;IACzC,wCAAwC,EACtC,yCAAyC;IAC3C,qCAAqC,EAAE,sCAAsC;IAC7E,8BAA8B,EAAE,+BAA+B;IAC/D,sCAAsC,EAAE,IAAI;CAC7C,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,kBAAkB,EAAE,kBAAkB;IACtC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,qBAAqB,EAAE,qBAAqB;IAC5C,cAAc,EAAE,cAAc;IAC9B,uBAAuB,EAAE,uBAAuB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,mBAAmB,EAAE,mBAAmB;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,mBAAmB;IACnC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,yBAAyB;IACnC,GAAG,EAAE,aAAa;IAClB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,kBAAkB;IACjC,mBAAmB,EAAE,sBAAsB;IAC3C,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1D,sBAAc,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,YAAY,EAAE,EAAE,CAAC;IACtD,sBAAc,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC;AAClE,CAAC","sourcesContent":["export const removedPresets: Record<string, string | null> = {\n ':autodetectPinVersions': null,\n ':autodetectRangeStrategy': null,\n ':automergeBranchMergeCommit': ':automergeBranch',\n ':automergeBranchPush': ':automergeBranch',\n ':base': 'config:recommended',\n ':app': 'config:js-app',\n ':disableLockFiles': ':skipArtifactsUpdate',\n ':enableGradleLite': null,\n ':js-app': 'config:js-app',\n ':library': 'config:js-lib',\n ':masterIssue': ':dependencyDashboard',\n ':masterIssueApproval': ':dependencyDashboardApproval',\n ':switchToGradleLite': null,\n ':unpublishSafe': 'npm:unpublishSafe',\n 'compatibility:additionalBranchPrefix': null,\n 'config:application': 'config:js-app',\n 'config:base': 'config:recommended',\n 'config:base-js': 'config:recommended',\n 'config:library': 'config:js-lib',\n 'default:automergeBranchMergeCommit': ':automergeBranch',\n 'default:automergeBranchPush': ':automergeBranch',\n 'default:base': 'config:recommended',\n 'default:app': 'config:js-app',\n 'default:js-app': 'config:js-app',\n 'default:library': 'config:js-lib',\n 'default:onlyNpm': null,\n 'default:unpublishSafe': 'npm:unpublishSafe',\n 'helpers:oddIsUnstable': null,\n 'helpers:oddIsUnstablePackages': null,\n 'group:jsTestMonMajor': 'group:jsTestNonMajor',\n 'github>whitesource/merge-confidence:beta': 'mergeConfidence:all-badges',\n 'npm:unpublishSafe': 'security:minimumReleaseAgeNpm',\n 'replacements:messageFormat-{{package}}-to-@messageformat/{{package}}':\n 'replacements:messageFormat-to-scoped',\n 'regexManagers:azurePipelinesVersions':\n 'customManagers:azurePipelinesVersions',\n 'regexManagers:biomeVersions': 'customManagers:biomeVersions',\n 'regexManagers:bitbucketPipelinesVersions':\n 'customManagers:bitbucketPipelinesVersions',\n 'regexManagers:dockerfileVersions': 'customManagers:dockerfileVersions',\n 'regexManagers:githubActionsVersions': 'customManagers:githubActionsVersions',\n 'regexManagers:gitlabPipelineVersions':\n 'customManagers:gitlabPipelineVersions',\n 'regexManagers:helmChartYamlAppVersions':\n 'customManagers:helmChartYamlAppVersions',\n 'regexManagers:mavenPropertyVersions': 'customManagers:mavenPropertyVersions',\n 'regexManagers:tfvarsVersions': 'customManagers:tfvarsVersions',\n 'workarounds:reduceRepologyServerLoad': null,\n};\n\nconst renamedMonorepos: Record<string, string> = {\n 'arcus event-grid': 'arcus.event-grid',\n 'arcus security': 'arcus.security',\n 'arcus messaging': 'arcus.messaging',\n 'arcus observability': 'arcus.observability',\n 'arcus webapi': 'arcus.webapi',\n 'arcus background-jobs': 'arcus.background-jobs',\n 'aspnet AspNetWebStack': 'aspnet aspnetwebstack',\n 'aspnet Extensions': 'aspnet extensions',\n 'System.IO.Abstractions': 'system.io.abstractions',\n angular1: 'angularjs',\n angularcli: 'angular-cli',\n Fontsource: 'fontsource',\n hamcrest: 'javahamcrest',\n HotChocolate: 'hotchocolate',\n infrastructure: 'infrastructure-ui',\n junit5: 'junit-framework',\n lingui: 'linguijs',\n MassTransit: 'masstransit',\n material: 'material-components-web',\n mui: 'material-ui',\n openfeign: 'feign',\n opentelemetry: 'opentelemetry-js',\n OpenTelemetryDotnet: 'opentelemetry-dotnet',\n picasso: 'picassojs',\n reactrouter: 'react-router',\n sentry: 'sentry-javascript',\n Steeltoe: 'steeltoe',\n stryker: 'stryker-js',\n Swashbuckle: 'swashbuckle-aspnetcore',\n nrwl: 'nx',\n};\n\nfor (const [from, to] of Object.entries(renamedMonorepos)) {\n removedPresets[`monorepo:${from}`] = `monorepo:${to}`;\n removedPresets[`group:${from}Monorepo`] = `group:${to}Monorepo`;\n}\n"]}
@@ -2,12 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.presets = void 0;
4
4
  /* eslint sort-keys: ["error", "asc", {caseSensitive: false, natural: true}] */
5
- exports.presets = {
6
- unpublishSafe: {
7
- description: 'Wait until the npm package is three days old before raising the update, this prevents npm unpublishing a package you already upgraded to.',
8
- npm: {
9
- minimumReleaseAge: '3 days',
10
- },
11
- },
12
- };
5
+ exports.presets = {};
13
6
  //# sourceMappingURL=npm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/npm.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAElE,QAAA,OAAO,GAA2B;IAC7C,aAAa,EAAE;QACb,WAAW,EACT,2IAA2I;QAC7I,GAAG,EAAE;YACH,iBAAiB,EAAE,QAAQ;SAC5B;KACF;CACF,CAAC","sourcesContent":["import type { Preset } from '../types';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const presets: Record<string, Preset> = {\n unpublishSafe: {\n description:\n 'Wait until the npm package is three days old before raising the update, this prevents npm unpublishing a package you already upgraded to.',\n npm: {\n minimumReleaseAge: '3 days',\n },\n },\n};\n"]}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/npm.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAElE,QAAA,OAAO,GAA2B,EAAE,CAAC","sourcesContent":["import type { Preset } from '../types';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const presets: Record<string, Preset> = {};\n"]}
@@ -35,5 +35,11 @@ exports.presets = {
35
35
  },
36
36
  osvVulnerabilityAlerts: true,
37
37
  },
38
+ minimumReleaseAgeNpm: {
39
+ description: 'Wait until the npm package is three days old before raising the update, this prevents npm unpublishing a package you already upgraded to.',
40
+ npm: {
41
+ minimumReleaseAge: '3 days',
42
+ },
43
+ },
38
44
  };
39
45
  //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/security.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAA2B;IAC7C,mBAAmB,EAAE;QACnB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE;YACZ;gBACE,eAAe,EAAE,CAAC,uBAAuB,CAAC;gBAC1C,iBAAiB,EAAE;oBACjB,OAAO,EACL,2KAA2K;iBAC9K;gBACD,aAAa,EAAE;oBACb,SAAS;oBACT,MAAM;oBACN,QAAQ;oBACR,QAAQ;oBACR,SAAS;oBACT,SAAS;iBACV;aACF;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,WAAW,EACT,iEAAiE;QACnE,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,YAAY,EAAE;YACZ;gBACE,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,CAAC,GAAG,CAAC;aACzB;SACF;QACD,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;QACD,sBAAsB,EAAE,IAAI;KAC7B;CACF,CAAC","sourcesContent":["import type { Preset } from '../types';\n\nexport const presets: Record<string, Preset> = {\n 'openssf-scorecard': {\n description: 'Show OpenSSF badge on pull requests.',\n packageRules: [\n {\n matchSourceUrls: ['https://github.com/**'],\n prBodyDefinitions: {\n OpenSSF:\n '[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/{{sourceRepo}}/badge)](https://securityscorecards.dev/viewer/?uri=github.com/{{sourceRepo}})',\n },\n prBodyColumns: [\n 'Package',\n 'Type',\n 'Update',\n 'Change',\n 'Pending',\n 'OpenSSF',\n ],\n },\n ],\n },\n 'only-security-updates': {\n description:\n 'Only update dependencies if vulnerabilities have been detected.',\n extends: ['config:recommended'],\n packageRules: [\n {\n enabled: false,\n matchPackageNames: ['*'],\n },\n ],\n vulnerabilityAlerts: {\n enabled: true,\n },\n osvVulnerabilityAlerts: true,\n },\n};\n"]}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/security.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAA2B;IAC7C,mBAAmB,EAAE;QACnB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE;YACZ;gBACE,eAAe,EAAE,CAAC,uBAAuB,CAAC;gBAC1C,iBAAiB,EAAE;oBACjB,OAAO,EACL,2KAA2K;iBAC9K;gBACD,aAAa,EAAE;oBACb,SAAS;oBACT,MAAM;oBACN,QAAQ;oBACR,QAAQ;oBACR,SAAS;oBACT,SAAS;iBACV;aACF;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,WAAW,EACT,iEAAiE;QACnE,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,YAAY,EAAE;YACZ;gBACE,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,CAAC,GAAG,CAAC;aACzB;SACF;QACD,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;QACD,sBAAsB,EAAE,IAAI;KAC7B;IACD,oBAAoB,EAAE;QACpB,WAAW,EACT,2IAA2I;QAC7I,GAAG,EAAE;YACH,iBAAiB,EAAE,QAAQ;SAC5B;KACF;CACF,CAAC","sourcesContent":["import type { Preset } from '../types';\n\nexport const presets: Record<string, Preset> = {\n 'openssf-scorecard': {\n description: 'Show OpenSSF badge on pull requests.',\n packageRules: [\n {\n matchSourceUrls: ['https://github.com/**'],\n prBodyDefinitions: {\n OpenSSF:\n '[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/{{sourceRepo}}/badge)](https://securityscorecards.dev/viewer/?uri=github.com/{{sourceRepo}})',\n },\n prBodyColumns: [\n 'Package',\n 'Type',\n 'Update',\n 'Change',\n 'Pending',\n 'OpenSSF',\n ],\n },\n ],\n },\n 'only-security-updates': {\n description:\n 'Only update dependencies if vulnerabilities have been detected.',\n extends: ['config:recommended'],\n packageRules: [\n {\n enabled: false,\n matchPackageNames: ['*'],\n },\n ],\n vulnerabilityAlerts: {\n enabled: true,\n },\n osvVulnerabilityAlerts: true,\n },\n minimumReleaseAgeNpm: {\n description:\n 'Wait until the npm package is three days old before raising the update, this prevents npm unpublishing a package you already upgraded to.',\n npm: {\n minimumReleaseAge: '3 days',\n },\n },\n};\n"]}
@@ -12,6 +12,7 @@ const maven_1 = require("./parser/maven");
12
12
  const oci_1 = require("./parser/oci");
13
13
  const rules_1 = require("./rules");
14
14
  const rules = tslib_1.__importStar(require("./rules"));
15
+ const rules_img_1 = require("./rules-img");
15
16
  async function extractPackageFile(content, packageFile) {
16
17
  try {
17
18
  const records = (0, parser_1.parse)(content);
@@ -19,6 +20,7 @@ async function extractPackageFile(content, packageFile) {
19
20
  const gitRepositoryDeps = extractGitRepositoryDeps(records);
20
21
  const mavenDeps = extractMavenDeps(records);
21
22
  const dockerDeps = (0, schema_utils_1.LooseArray)(oci_1.RuleToDockerPackageDep).parse(records);
23
+ const rulesImgDeps = (0, rules_img_1.transformRulesImgCalls)(records);
22
24
  if (gitRepositoryDeps.length) {
23
25
  pfc.deps.push(...gitRepositoryDeps);
24
26
  }
@@ -28,6 +30,9 @@ async function extractPackageFile(content, packageFile) {
28
30
  if (dockerDeps.length) {
29
31
  pfc.deps.push(...dockerDeps);
30
32
  }
33
+ if (rulesImgDeps.length) {
34
+ pfc.deps.push(...rulesImgDeps);
35
+ }
31
36
  return pfc.deps.length ? pfc : null;
32
37
  }
33
38
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/extract.ts"],"names":[],"mappings":";;AAgBA,gDA4BC;;AA5CD,0DAA0B;AAC1B,4CAAyC;AACzC,+CAA2D;AAC3D,6DAAwD;AAExD,2DAAqC;AACrC,qCAAiC;AAEjC,0CAAyE;AACzE,sCAAsD;AACtD,mCAGiB;AACjB,uDAAiC;AAE1B,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,4BAAsB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,oCAAoC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAyB,EACzB,WAAmB;IAEnB,MAAM,GAAG,GAAuB,IAAA,yBAAU,EAAC,mCAA2B,CAAC;SACpE,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC;SACtC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,+CAA+C;SAC9C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;SAC5C,MAAM,CAAC,4BAAoB,CAAC,CAAC;IAChC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAyB;IAEzB,OAAO,IAAA,yBAAU,EAAC,iCAAyB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAyB;IACjD,OAAO,IAAA,yBAAU,EAAC,6BAAqB,CAAC;SACrC,SAAS,CAAC,wBAAgB,CAAC;SAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport { LooseArray } from '../../../util/schema-utils';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport * as bazelrc from './bazelrc';\nimport { parse } from './parser';\nimport type { ResultFragment } from './parser/fragments';\nimport { RuleToMavenPackageDep, fillRegistryUrls } from './parser/maven';\nimport { RuleToDockerPackageDep } from './parser/oci';\nimport {\n GitRepositoryToPackageDep,\n RuleToBazelModulePackageDep,\n} from './rules';\nimport * as rules from './rules';\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n try {\n const records = parse(content);\n const pfc = await extractBazelPfc(records, packageFile);\n const gitRepositoryDeps = extractGitRepositoryDeps(records);\n const mavenDeps = extractMavenDeps(records);\n const dockerDeps = LooseArray(RuleToDockerPackageDep).parse(records);\n\n if (gitRepositoryDeps.length) {\n pfc.deps.push(...gitRepositoryDeps);\n }\n\n if (mavenDeps.length) {\n pfc.deps.push(...mavenDeps);\n }\n\n if (dockerDeps.length) {\n pfc.deps.push(...dockerDeps);\n }\n\n return pfc.deps.length ? pfc : null;\n } catch (err) {\n logger.debug({ err, packageFile }, 'Failed to parse bazel module file.');\n return null;\n }\n}\n\nasync function extractBazelPfc(\n records: ResultFragment[],\n packageFile: string,\n): Promise<PackageFileContent> {\n const pfc: PackageFileContent = LooseArray(RuleToBazelModulePackageDep)\n .transform(rules.toPackageDependencies)\n .transform((deps) => ({ deps }))\n .parse(records);\n\n const registryUrls = (await bazelrc.read(upath.dirname(packageFile)))\n // Ignore any entries for custom configurations\n .filter((ce) => ce.config === undefined)\n .map((ce) => ce.getOption('registry')?.value)\n .filter(isNotNullOrUndefined);\n if (registryUrls.length) {\n pfc.registryUrls = registryUrls;\n }\n\n return pfc;\n}\n\nfunction extractGitRepositoryDeps(\n records: ResultFragment[],\n): PackageDependency[] {\n return LooseArray(GitRepositoryToPackageDep).parse(records);\n}\n\nfunction extractMavenDeps(records: ResultFragment[]): PackageDependency[] {\n return LooseArray(RuleToMavenPackageDep)\n .transform(fillRegistryUrls)\n .parse(records);\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport { LooseArray } from '../../../util/schema-utils';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport * as bazelrc from './bazelrc';\nimport { parse } from './parser';\nimport type { ResultFragment } from './parser/fragments';\nimport { RuleToMavenPackageDep, fillRegistryUrls } from './parser/maven';\nimport { RuleToDockerPackageDep } from './parser/oci';\nimport {\n GitRepositoryToPackageDep,\n RuleToBazelModulePackageDep,\n} from './rules';\nimport * as rules from './rules';\nimport { transformRulesImgCalls } from './rules-img';\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n try {\n const records = parse(content);\n const pfc = await extractBazelPfc(records, packageFile);\n const gitRepositoryDeps = extractGitRepositoryDeps(records);\n const mavenDeps = extractMavenDeps(records);\n const dockerDeps = LooseArray(RuleToDockerPackageDep).parse(records);\n const rulesImgDeps = transformRulesImgCalls(records);\n\n if (gitRepositoryDeps.length) {\n pfc.deps.push(...gitRepositoryDeps);\n }\n\n if (mavenDeps.length) {\n pfc.deps.push(...mavenDeps);\n }\n\n if (dockerDeps.length) {\n pfc.deps.push(...dockerDeps);\n }\n\n if (rulesImgDeps.length) {\n pfc.deps.push(...rulesImgDeps);\n }\n\n return pfc.deps.length ? pfc : null;\n } catch (err) {\n logger.debug({ err, packageFile }, 'Failed to parse bazel module file.');\n return null;\n }\n}\n\nasync function extractBazelPfc(\n records: ResultFragment[],\n packageFile: string,\n): Promise<PackageFileContent> {\n const pfc: PackageFileContent = LooseArray(RuleToBazelModulePackageDep)\n .transform(rules.toPackageDependencies)\n .transform((deps) => ({ deps }))\n .parse(records);\n\n const registryUrls = (await bazelrc.read(upath.dirname(packageFile)))\n // Ignore any entries for custom configurations\n .filter((ce) => ce.config === undefined)\n .map((ce) => ce.getOption('registry')?.value)\n .filter(isNotNullOrUndefined);\n if (registryUrls.length) {\n pfc.registryUrls = registryUrls;\n }\n\n return pfc;\n}\n\nfunction extractGitRepositoryDeps(\n records: ResultFragment[],\n): PackageDependency[] {\n return LooseArray(GitRepositoryToPackageDep).parse(records);\n}\n\nfunction extractMavenDeps(records: ResultFragment[]): PackageDependency[] {\n return LooseArray(RuleToMavenPackageDep)\n .transform(fillRegistryUrls)\n .parse(records);\n}\n"]}
@@ -17,6 +17,8 @@ export declare class Ctx implements CtxCompatible {
17
17
  private get current();
18
18
  private get currentRule();
19
19
  private get currentExtensionTag();
20
+ private get currentUseRepoRule();
21
+ private get currentRepoRuleCall();
20
22
  private get currentArray();
21
23
  private popPreparedExtensionTag;
22
24
  private popStack;
@@ -28,6 +30,10 @@ export declare class Ctx implements CtxCompatible {
28
30
  prepareExtensionTag(extension: string, rawExtension: string, offset: number): Ctx;
29
31
  startExtensionTag(tag: string): Ctx;
30
32
  endExtensionTag(offset: number): Ctx;
33
+ startUseRepoRule(variableName: string, bzlFile: string, ruleName: string): Ctx;
34
+ endUseRepoRule(): Ctx;
35
+ startRepoRuleCall(functionName: string, offset: number): Ctx;
36
+ endRepoRuleCall(offset: number): Ctx;
31
37
  startAttribute(name: string): Ctx;
32
38
  startArray(): Ctx;
33
39
  endArray(): Ctx;
@@ -48,6 +48,20 @@ class Ctx {
48
48
  }
49
49
  throw new Error('Requested current extension tag, but does not exist.');
50
50
  }
51
+ get currentUseRepoRule() {
52
+ const current = this.current;
53
+ if (current.type === 'useRepoRule') {
54
+ return current;
55
+ }
56
+ throw new Error('Requested current use repo rule, but does not exist.');
57
+ }
58
+ get currentRepoRuleCall() {
59
+ const current = this.current;
60
+ if (current.type === 'repoRuleCall') {
61
+ return current;
62
+ }
63
+ throw new Error('Requested current repo rule call, but does not exist.');
64
+ }
51
65
  get currentArray() {
52
66
  const current = this.current;
53
67
  if (current.type === 'array') {
@@ -85,14 +99,19 @@ class Ctx {
85
99
  parent.items.push(current);
86
100
  return true;
87
101
  }
88
- if ((parent.type === 'rule' || parent.type === 'extensionTag') &&
102
+ if ((parent.type === 'rule' ||
103
+ parent.type === 'extensionTag' ||
104
+ parent.type === 'repoRuleCall') &&
89
105
  current.type === 'attribute' &&
90
106
  current.value !== undefined) {
91
107
  parent.children[current.name] = current.value;
92
108
  return true;
93
109
  }
94
110
  }
95
- else if (current.type === 'rule' || current.type === 'extensionTag') {
111
+ else if (current.type === 'rule' ||
112
+ current.type === 'extensionTag' ||
113
+ current.type === 'useRepoRule' ||
114
+ current.type === 'repoRuleCall') {
96
115
  this.results.push(current);
97
116
  return true;
98
117
  }
@@ -139,6 +158,27 @@ class Ctx {
139
158
  tag.rawString = this.source.slice(tag.offset, offset);
140
159
  return this.processStack();
141
160
  }
161
+ startUseRepoRule(variableName, bzlFile, ruleName) {
162
+ const useRepoRule = fragments.useRepoRule(variableName, bzlFile, ruleName);
163
+ this.stack.push(useRepoRule);
164
+ return this;
165
+ }
166
+ endUseRepoRule() {
167
+ const useRepoRule = this.currentUseRepoRule;
168
+ useRepoRule.isComplete = true;
169
+ return this.processStack();
170
+ }
171
+ startRepoRuleCall(functionName, offset) {
172
+ const repoRuleCall = fragments.repoRuleCall(functionName, offset);
173
+ this.stack.push(repoRuleCall);
174
+ return this;
175
+ }
176
+ endRepoRuleCall(offset) {
177
+ const repoRuleCall = this.currentRepoRuleCall;
178
+ repoRuleCall.isComplete = true;
179
+ repoRuleCall.rawString = this.source.slice(repoRuleCall.offset, offset);
180
+ return this.processStack();
181
+ }
142
182
  startAttribute(name) {
143
183
  this.stack.push(fragments.attribute(name));
144
184
  return this.processStack();
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/context.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AllFragments,\n ArrayFragment,\n ExtensionTagFragment,\n PreparedExtensionTagFragment,\n ResultFragment,\n RuleFragment,\n} from './fragments';\nimport * as fragments from './fragments';\n\n// Represents the fields that the context must have.\nexport interface CtxCompatible {\n results: ResultFragment[];\n stack: AllFragments[];\n}\n\nexport class CtxProcessingError extends Error {\n readonly current: AllFragments;\n readonly parent?: AllFragments;\n constructor(current: AllFragments, parent?: AllFragments) {\n const msg = `Invalid context state. current: ${current.type}, parent: ${\n parent?.type ?? 'none'\n }`;\n super(msg);\n this.name = 'CtxProcessingError';\n this.current = current;\n this.parent = parent;\n }\n}\n\nexport class Ctx implements CtxCompatible {\n readonly source: string;\n results: ResultFragment[];\n stack: AllFragments[];\n\n constructor(source: string) {\n this.source = source;\n this.results = [];\n this.stack = [];\n }\n\n private get safeCurrent(): AllFragments | undefined {\n return this.stack.at(-1);\n }\n\n private get current(): AllFragments {\n const c = this.safeCurrent;\n if (c === undefined) {\n throw new Error('Requested current, but no value.');\n }\n return c;\n }\n\n private get currentRule(): RuleFragment {\n const current = this.current;\n if (current.type === 'rule') {\n return current;\n }\n throw new Error('Requested current rule, but does not exist.');\n }\n\n private get currentExtensionTag(): ExtensionTagFragment {\n const current = this.current;\n if (current.type === 'extensionTag') {\n return current;\n }\n throw new Error('Requested current extension tag, but does not exist.');\n }\n\n private get currentArray(): ArrayFragment {\n const current = this.current;\n if (current.type === 'array') {\n return current;\n }\n throw new Error('Requested current array, but does not exist.');\n }\n\n private popPreparedExtensionTag(): PreparedExtensionTagFragment {\n const c = this.stack.pop();\n if (c === undefined) {\n throw new Error('Requested current, but no value.');\n }\n if (c.type === 'preparedExtensionTag') {\n return c;\n }\n throw new Error(\n 'Requested current prepared extension tag, but does not exist.',\n );\n }\n\n private popStack(): boolean {\n const current = this.stack.pop();\n if (!current) {\n return false;\n }\n if (!current.isComplete) {\n this.stack.push(current);\n return false;\n }\n const parent = this.safeCurrent;\n\n if (parent) {\n if (parent.type === 'attribute' && fragments.isValue(current)) {\n parent.value = current;\n parent.isComplete = true;\n return true;\n }\n if (parent.type === 'array' && fragments.isPrimitive(current)) {\n parent.items.push(current);\n return true;\n }\n if (\n (parent.type === 'rule' || parent.type === 'extensionTag') &&\n current.type === 'attribute' &&\n current.value !== undefined\n ) {\n parent.children[current.name] = current.value;\n return true;\n }\n } else if (current.type === 'rule' || current.type === 'extensionTag') {\n this.results.push(current);\n return true;\n }\n\n throw new CtxProcessingError(current, parent);\n }\n\n private processStack(): Ctx {\n while (this.popStack()) {\n // Nothing to do\n }\n return this;\n }\n\n addString(value: string): Ctx {\n this.stack.push(fragments.string(value));\n return this.processStack();\n }\n\n addBoolean(value: string | boolean): Ctx {\n this.stack.push(fragments.boolean(value));\n return this.processStack();\n }\n\n startRule(name: string): Ctx {\n const rule = fragments.rule(name);\n this.stack.push(rule);\n return this;\n }\n\n endRule(): Ctx {\n const rule = this.currentRule;\n rule.isComplete = true;\n return this.processStack();\n }\n\n prepareExtensionTag(\n extension: string,\n rawExtension: string,\n offset: number,\n ): Ctx {\n const preppedTag = fragments.preparedExtensionTag(\n extension,\n rawExtension,\n offset,\n );\n this.stack.push(preppedTag);\n return this;\n }\n\n startExtensionTag(tag: string): Ctx {\n const { extension, rawExtension, offset } = this.popPreparedExtensionTag();\n\n const extensionTag = fragments.extensionTag(\n extension,\n rawExtension,\n tag,\n offset,\n );\n this.stack.push(extensionTag);\n return this;\n }\n\n endExtensionTag(offset: number): Ctx {\n const tag = this.currentExtensionTag;\n tag.isComplete = true;\n tag.rawString = this.source.slice(tag.offset, offset);\n return this.processStack();\n }\n\n startAttribute(name: string): Ctx {\n this.stack.push(fragments.attribute(name));\n return this.processStack();\n }\n\n startArray(): Ctx {\n this.stack.push(fragments.array());\n return this.processStack();\n }\n\n endArray(): Ctx {\n const array = this.currentArray;\n array.isComplete = true;\n return this.processStack();\n }\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/context.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AllFragments,\n ArrayFragment,\n ExtensionTagFragment,\n PreparedExtensionTagFragment,\n RepoRuleCallFragment,\n ResultFragment,\n RuleFragment,\n UseRepoRuleFragment,\n} from './fragments';\nimport * as fragments from './fragments';\n\n// Represents the fields that the context must have.\nexport interface CtxCompatible {\n results: ResultFragment[];\n stack: AllFragments[];\n}\n\nexport class CtxProcessingError extends Error {\n readonly current: AllFragments;\n readonly parent?: AllFragments;\n constructor(current: AllFragments, parent?: AllFragments) {\n const msg = `Invalid context state. current: ${current.type}, parent: ${\n parent?.type ?? 'none'\n }`;\n super(msg);\n this.name = 'CtxProcessingError';\n this.current = current;\n this.parent = parent;\n }\n}\n\nexport class Ctx implements CtxCompatible {\n readonly source: string;\n results: ResultFragment[];\n stack: AllFragments[];\n\n constructor(source: string) {\n this.source = source;\n this.results = [];\n this.stack = [];\n }\n\n private get safeCurrent(): AllFragments | undefined {\n return this.stack.at(-1);\n }\n\n private get current(): AllFragments {\n const c = this.safeCurrent;\n if (c === undefined) {\n throw new Error('Requested current, but no value.');\n }\n return c;\n }\n\n private get currentRule(): RuleFragment {\n const current = this.current;\n if (current.type === 'rule') {\n return current;\n }\n throw new Error('Requested current rule, but does not exist.');\n }\n\n private get currentExtensionTag(): ExtensionTagFragment {\n const current = this.current;\n if (current.type === 'extensionTag') {\n return current;\n }\n throw new Error('Requested current extension tag, but does not exist.');\n }\n\n private get currentUseRepoRule(): UseRepoRuleFragment {\n const current = this.current;\n if (current.type === 'useRepoRule') {\n return current;\n }\n throw new Error('Requested current use repo rule, but does not exist.');\n }\n\n private get currentRepoRuleCall(): RepoRuleCallFragment {\n const current = this.current;\n if (current.type === 'repoRuleCall') {\n return current;\n }\n throw new Error('Requested current repo rule call, but does not exist.');\n }\n\n private get currentArray(): ArrayFragment {\n const current = this.current;\n if (current.type === 'array') {\n return current;\n }\n throw new Error('Requested current array, but does not exist.');\n }\n\n private popPreparedExtensionTag(): PreparedExtensionTagFragment {\n const c = this.stack.pop();\n if (c === undefined) {\n throw new Error('Requested current, but no value.');\n }\n if (c.type === 'preparedExtensionTag') {\n return c;\n }\n throw new Error(\n 'Requested current prepared extension tag, but does not exist.',\n );\n }\n\n private popStack(): boolean {\n const current = this.stack.pop();\n if (!current) {\n return false;\n }\n if (!current.isComplete) {\n this.stack.push(current);\n return false;\n }\n const parent = this.safeCurrent;\n\n if (parent) {\n if (parent.type === 'attribute' && fragments.isValue(current)) {\n parent.value = current;\n parent.isComplete = true;\n return true;\n }\n if (parent.type === 'array' && fragments.isPrimitive(current)) {\n parent.items.push(current);\n return true;\n }\n if (\n (parent.type === 'rule' ||\n parent.type === 'extensionTag' ||\n parent.type === 'repoRuleCall') &&\n current.type === 'attribute' &&\n current.value !== undefined\n ) {\n parent.children[current.name] = current.value;\n return true;\n }\n } else if (\n current.type === 'rule' ||\n current.type === 'extensionTag' ||\n current.type === 'useRepoRule' ||\n current.type === 'repoRuleCall'\n ) {\n this.results.push(current);\n return true;\n }\n\n throw new CtxProcessingError(current, parent);\n }\n\n private processStack(): Ctx {\n while (this.popStack()) {\n // Nothing to do\n }\n return this;\n }\n\n addString(value: string): Ctx {\n this.stack.push(fragments.string(value));\n return this.processStack();\n }\n\n addBoolean(value: string | boolean): Ctx {\n this.stack.push(fragments.boolean(value));\n return this.processStack();\n }\n\n startRule(name: string): Ctx {\n const rule = fragments.rule(name);\n this.stack.push(rule);\n return this;\n }\n\n endRule(): Ctx {\n const rule = this.currentRule;\n rule.isComplete = true;\n return this.processStack();\n }\n\n prepareExtensionTag(\n extension: string,\n rawExtension: string,\n offset: number,\n ): Ctx {\n const preppedTag = fragments.preparedExtensionTag(\n extension,\n rawExtension,\n offset,\n );\n this.stack.push(preppedTag);\n return this;\n }\n\n startExtensionTag(tag: string): Ctx {\n const { extension, rawExtension, offset } = this.popPreparedExtensionTag();\n\n const extensionTag = fragments.extensionTag(\n extension,\n rawExtension,\n tag,\n offset,\n );\n this.stack.push(extensionTag);\n return this;\n }\n\n endExtensionTag(offset: number): Ctx {\n const tag = this.currentExtensionTag;\n tag.isComplete = true;\n tag.rawString = this.source.slice(tag.offset, offset);\n return this.processStack();\n }\n\n startUseRepoRule(\n variableName: string,\n bzlFile: string,\n ruleName: string,\n ): Ctx {\n const useRepoRule = fragments.useRepoRule(variableName, bzlFile, ruleName);\n this.stack.push(useRepoRule);\n return this;\n }\n\n endUseRepoRule(): Ctx {\n const useRepoRule = this.currentUseRepoRule;\n useRepoRule.isComplete = true;\n return this.processStack();\n }\n\n startRepoRuleCall(functionName: string, offset: number): Ctx {\n const repoRuleCall = fragments.repoRuleCall(functionName, offset);\n this.stack.push(repoRuleCall);\n return this;\n }\n\n endRepoRuleCall(offset: number): Ctx {\n const repoRuleCall = this.currentRepoRuleCall;\n repoRuleCall.isComplete = true;\n repoRuleCall.rawString = this.source.slice(repoRuleCall.offset, offset);\n return this.processStack();\n }\n\n startAttribute(name: string): Ctx {\n this.stack.push(fragments.attribute(name));\n return this.processStack();\n }\n\n startArray(): Ctx {\n this.stack.push(fragments.array());\n return this.processStack();\n }\n\n endArray(): Ctx {\n const array = this.currentArray;\n array.isComplete = true;\n return this.processStack();\n }\n}\n"]}
@@ -296,6 +296,87 @@ export declare const ExtensionTagFragment: z.ZodObject<{
296
296
  rawExtension: string;
297
297
  rawString?: string | undefined;
298
298
  }>;
299
+ export declare const UseRepoRuleFragment: z.ZodObject<{
300
+ type: z.ZodLiteral<"useRepoRule">;
301
+ variableName: z.ZodString;
302
+ bzlFile: z.ZodString;
303
+ ruleName: z.ZodString;
304
+ isComplete: z.ZodBoolean;
305
+ }, "strip", z.ZodTypeAny, {
306
+ type: "useRepoRule";
307
+ variableName: string;
308
+ isComplete: boolean;
309
+ bzlFile: string;
310
+ ruleName: string;
311
+ }, {
312
+ type: "useRepoRule";
313
+ variableName: string;
314
+ isComplete: boolean;
315
+ bzlFile: string;
316
+ ruleName: string;
317
+ }>;
318
+ export declare const RepoRuleCallFragment: z.ZodObject<{
319
+ type: z.ZodLiteral<"repoRuleCall">;
320
+ functionName: z.ZodString;
321
+ children: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
322
+ value: string;
323
+ type: "string";
324
+ isComplete: true;
325
+ } | {
326
+ value: boolean;
327
+ type: "boolean";
328
+ isComplete: true;
329
+ } | {
330
+ type: "array";
331
+ isComplete: boolean;
332
+ items: ({
333
+ value: string;
334
+ type: "string";
335
+ isComplete: true;
336
+ } | {
337
+ value: boolean;
338
+ type: "boolean";
339
+ isComplete: true;
340
+ })[];
341
+ }>, Record<string, any>>;
342
+ isComplete: z.ZodBoolean;
343
+ offset: z.ZodNumber;
344
+ rawString: z.ZodOptional<z.ZodString>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ type: "repoRuleCall";
347
+ children: Record<string, {
348
+ value: string;
349
+ type: "string";
350
+ isComplete: true;
351
+ } | {
352
+ value: boolean;
353
+ type: "boolean";
354
+ isComplete: true;
355
+ } | {
356
+ type: "array";
357
+ isComplete: boolean;
358
+ items: ({
359
+ value: string;
360
+ type: "string";
361
+ isComplete: true;
362
+ } | {
363
+ value: boolean;
364
+ type: "boolean";
365
+ isComplete: true;
366
+ })[];
367
+ }>;
368
+ offset: number;
369
+ isComplete: boolean;
370
+ functionName: string;
371
+ rawString?: string | undefined;
372
+ }, {
373
+ type: "repoRuleCall";
374
+ children: Record<string, any>;
375
+ offset: number;
376
+ isComplete: boolean;
377
+ functionName: string;
378
+ rawString?: string | undefined;
379
+ }>;
299
380
  export declare const AttributeFragment: z.ZodObject<{
300
381
  type: z.ZodLiteral<"attribute">;
301
382
  name: z.ZodString;
@@ -675,6 +756,85 @@ export declare const AllFragments: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
675
756
  extension: string;
676
757
  rawExtension: string;
677
758
  rawString?: string | undefined;
759
+ }>, z.ZodObject<{
760
+ type: z.ZodLiteral<"useRepoRule">;
761
+ variableName: z.ZodString;
762
+ bzlFile: z.ZodString;
763
+ ruleName: z.ZodString;
764
+ isComplete: z.ZodBoolean;
765
+ }, "strip", z.ZodTypeAny, {
766
+ type: "useRepoRule";
767
+ variableName: string;
768
+ isComplete: boolean;
769
+ bzlFile: string;
770
+ ruleName: string;
771
+ }, {
772
+ type: "useRepoRule";
773
+ variableName: string;
774
+ isComplete: boolean;
775
+ bzlFile: string;
776
+ ruleName: string;
777
+ }>, z.ZodObject<{
778
+ type: z.ZodLiteral<"repoRuleCall">;
779
+ functionName: z.ZodString;
780
+ children: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
781
+ value: string;
782
+ type: "string";
783
+ isComplete: true;
784
+ } | {
785
+ value: boolean;
786
+ type: "boolean";
787
+ isComplete: true;
788
+ } | {
789
+ type: "array";
790
+ isComplete: boolean;
791
+ items: ({
792
+ value: string;
793
+ type: "string";
794
+ isComplete: true;
795
+ } | {
796
+ value: boolean;
797
+ type: "boolean";
798
+ isComplete: true;
799
+ })[];
800
+ }>, Record<string, any>>;
801
+ isComplete: z.ZodBoolean;
802
+ offset: z.ZodNumber;
803
+ rawString: z.ZodOptional<z.ZodString>;
804
+ }, "strip", z.ZodTypeAny, {
805
+ type: "repoRuleCall";
806
+ children: Record<string, {
807
+ value: string;
808
+ type: "string";
809
+ isComplete: true;
810
+ } | {
811
+ value: boolean;
812
+ type: "boolean";
813
+ isComplete: true;
814
+ } | {
815
+ type: "array";
816
+ isComplete: boolean;
817
+ items: ({
818
+ value: string;
819
+ type: "string";
820
+ isComplete: true;
821
+ } | {
822
+ value: boolean;
823
+ type: "boolean";
824
+ isComplete: true;
825
+ })[];
826
+ }>;
827
+ offset: number;
828
+ isComplete: boolean;
829
+ functionName: string;
830
+ rawString?: string | undefined;
831
+ }, {
832
+ type: "repoRuleCall";
833
+ children: Record<string, any>;
834
+ offset: number;
835
+ isComplete: boolean;
836
+ functionName: string;
837
+ rawString?: string | undefined;
678
838
  }>, z.ZodObject<{
679
839
  type: z.ZodLiteral<"string">;
680
840
  value: z.ZodString;
@@ -697,14 +857,18 @@ export type PrimitiveFragments = z.infer<typeof PrimitiveFragments>;
697
857
  export type RuleFragment = z.infer<typeof RuleFragment>;
698
858
  export type PreparedExtensionTagFragment = z.infer<typeof PreparedExtensionTagFragment>;
699
859
  export type ExtensionTagFragment = z.infer<typeof ExtensionTagFragment>;
860
+ export type UseRepoRuleFragment = z.infer<typeof UseRepoRuleFragment>;
861
+ export type RepoRuleCallFragment = z.infer<typeof RepoRuleCallFragment>;
700
862
  export type StringFragment = z.infer<typeof StringFragment>;
701
863
  export type ValueFragments = z.infer<typeof ValueFragments>;
702
- export type ResultFragment = RuleFragment | ExtensionTagFragment;
864
+ export type ResultFragment = RuleFragment | ExtensionTagFragment | UseRepoRuleFragment | RepoRuleCallFragment;
703
865
  export declare function string(value: string): StringFragment;
704
866
  export declare function boolean(value: string | boolean): BooleanFragment;
705
867
  export declare function rule(rule: string, children?: ChildFragments, isComplete?: boolean): RuleFragment;
706
868
  export declare function preparedExtensionTag(extension: string, rawExtension: string, offset: number): PreparedExtensionTagFragment;
707
869
  export declare function extensionTag(extension: string, rawExtension: string, tag: string, offset: number, children?: ChildFragments, rawString?: string, isComplete?: boolean): ExtensionTagFragment;
870
+ export declare function useRepoRule(variableName: string, bzlFile: string, ruleName: string, isComplete?: boolean): UseRepoRuleFragment;
871
+ export declare function repoRuleCall(functionName: string, offset: number, children?: ChildFragments, rawString?: string, isComplete?: boolean): RepoRuleCallFragment;
708
872
  export declare function attribute(name: string, value?: ValueFragments, isComplete?: boolean): AttributeFragment;
709
873
  export declare function array(items?: PrimitiveFragments[], isComplete?: boolean): ArrayFragment;
710
874
  export declare function isValue(data: unknown): data is ValueFragments;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AllFragments = exports.AttributeFragment = exports.ExtensionTagFragment = exports.PreparedExtensionTagFragment = exports.RuleFragment = exports.StringArrayFragment = exports.ArrayFragment = exports.BooleanFragment = exports.StringFragment = void 0;
3
+ exports.AllFragments = exports.AttributeFragment = exports.RepoRuleCallFragment = exports.UseRepoRuleFragment = exports.ExtensionTagFragment = exports.PreparedExtensionTagFragment = exports.RuleFragment = exports.StringArrayFragment = exports.ArrayFragment = exports.BooleanFragment = exports.StringFragment = void 0;
4
4
  exports.string = string;
5
5
  exports.boolean = boolean;
6
6
  exports.rule = rule;
7
7
  exports.preparedExtensionTag = preparedExtensionTag;
8
8
  exports.extensionTag = extensionTag;
9
+ exports.useRepoRule = useRepoRule;
10
+ exports.repoRuleCall = repoRuleCall;
9
11
  exports.attribute = attribute;
10
12
  exports.array = array;
11
13
  exports.isValue = isValue;
@@ -69,6 +71,21 @@ exports.ExtensionTagFragment = zod_1.z.object({
69
71
  offset: zod_1.z.number(), // start offset in the source string
70
72
  rawString: zod_1.z.string().optional(), // raw source string
71
73
  });
74
+ exports.UseRepoRuleFragment = zod_1.z.object({
75
+ type: zod_1.z.literal('useRepoRule'),
76
+ variableName: zod_1.z.string(),
77
+ bzlFile: zod_1.z.string(),
78
+ ruleName: zod_1.z.string(),
79
+ isComplete: zod_1.z.boolean(),
80
+ });
81
+ exports.RepoRuleCallFragment = zod_1.z.object({
82
+ type: zod_1.z.literal('repoRuleCall'),
83
+ functionName: zod_1.z.string(),
84
+ children: (0, schema_utils_1.LooseRecord)(ValueFragments),
85
+ isComplete: zod_1.z.boolean(),
86
+ offset: zod_1.z.number(),
87
+ rawString: zod_1.z.string().optional(),
88
+ });
72
89
  exports.AttributeFragment = zod_1.z.object({
73
90
  type: zod_1.z.literal('attribute'),
74
91
  name: zod_1.z.string(),
@@ -82,6 +99,8 @@ exports.AllFragments = zod_1.z.discriminatedUnion('type', [
82
99
  exports.RuleFragment,
83
100
  exports.PreparedExtensionTagFragment,
84
101
  exports.ExtensionTagFragment,
102
+ exports.UseRepoRuleFragment,
103
+ exports.RepoRuleCallFragment,
85
104
  exports.StringFragment,
86
105
  ]);
87
106
  function string(value) {
@@ -127,6 +146,25 @@ function extensionTag(extension, rawExtension, tag, offset, children = {}, rawSt
127
146
  children,
128
147
  };
129
148
  }
149
+ function useRepoRule(variableName, bzlFile, ruleName, isComplete = false) {
150
+ return {
151
+ type: 'useRepoRule',
152
+ variableName,
153
+ bzlFile,
154
+ ruleName,
155
+ isComplete,
156
+ };
157
+ }
158
+ function repoRuleCall(functionName, offset, children = {}, rawString, isComplete = false) {
159
+ return {
160
+ type: 'repoRuleCall',
161
+ functionName,
162
+ offset,
163
+ rawString,
164
+ isComplete,
165
+ children,
166
+ };
167
+ }
130
168
  function attribute(name, value, isComplete = false) {
131
169
  return {
132
170
  type: 'attribute',