renovate 39.176.3 → 40.0.0-next.1

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 (244) hide show
  1. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  2. package/dist/config/migrations/migrations-service.d.ts +2 -2
  3. package/dist/config/migrations/migrations-service.js.map +1 -1
  4. package/dist/config/migrations/types.d.ts +1 -3
  5. package/dist/config/migrations/types.js.map +1 -1
  6. package/dist/config/options/index.js +1 -1
  7. package/dist/config/options/index.js.map +1 -1
  8. package/dist/config/presets/internal/group.js +0 -1
  9. package/dist/config/presets/internal/group.js.map +1 -1
  10. package/dist/config/presets/types.d.ts +4 -4
  11. package/dist/config/presets/types.js.map +1 -1
  12. package/dist/config-validator.js.map +1 -1
  13. package/dist/logger/utils.js +4 -2
  14. package/dist/logger/utils.js.map +1 -1
  15. package/dist/modules/datasource/artifactory/index.js +1 -1
  16. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  17. package/dist/modules/datasource/conan/index.js +1 -1
  18. package/dist/modules/datasource/conan/index.js.map +1 -1
  19. package/dist/modules/datasource/crate/index.js.map +1 -1
  20. package/dist/modules/datasource/datasource.d.ts +1 -1
  21. package/dist/modules/datasource/datasource.js +3 -1
  22. package/dist/modules/datasource/datasource.js.map +1 -1
  23. package/dist/modules/datasource/deb/common.d.ts +3 -3
  24. package/dist/modules/datasource/deb/common.js.map +1 -1
  25. package/dist/modules/datasource/docker/ecr.js +1 -1
  26. package/dist/modules/datasource/docker/ecr.js.map +1 -1
  27. package/dist/modules/datasource/docker/index.js.map +1 -1
  28. package/dist/modules/datasource/hexpm-bob/index.js +1 -1
  29. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  30. package/dist/modules/datasource/nuget/v2.js +1 -1
  31. package/dist/modules/datasource/nuget/v2.js.map +1 -1
  32. package/dist/modules/datasource/pod/index.js +1 -2
  33. package/dist/modules/datasource/pod/index.js.map +1 -1
  34. package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
  35. package/dist/modules/datasource/sbt-plugin/index.js +1 -2
  36. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  37. package/dist/modules/manager/ansible-galaxy/collections-metadata.js +1 -2
  38. package/dist/modules/manager/ansible-galaxy/collections-metadata.js.map +1 -1
  39. package/dist/modules/manager/asdf/upgradeable-tooling.js +4 -4
  40. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  41. package/dist/modules/manager/batect/extract.js.map +1 -1
  42. package/dist/modules/manager/bazel/artifacts.js +2 -2
  43. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  44. package/dist/modules/manager/bazel/common.js +1 -2
  45. package/dist/modules/manager/bazel/common.js.map +1 -1
  46. package/dist/modules/manager/bazel/parser.js +1 -1
  47. package/dist/modules/manager/bazel/parser.js.map +1 -1
  48. package/dist/modules/manager/bazel-module/parser/context.d.ts +4 -3
  49. package/dist/modules/manager/bazel-module/parser/context.js +9 -6
  50. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  51. package/dist/modules/manager/bazel-module/parser/extension-tags.js +10 -2
  52. package/dist/modules/manager/bazel-module/parser/extension-tags.js.map +1 -1
  53. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +20 -2
  54. package/dist/modules/manager/bazel-module/parser/fragments.js +8 -2
  55. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  56. package/dist/modules/manager/bazel-module/parser/index.js +1 -1
  57. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  58. package/dist/modules/manager/bazel-module/parser/maven.d.ts +16 -0
  59. package/dist/modules/manager/bazel-module/parser/oci.d.ts +8 -0
  60. package/dist/modules/manager/bazel-module/parser/oci.js +4 -1
  61. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  62. package/dist/modules/manager/bun/artifacts.js +1 -1
  63. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  64. package/dist/modules/manager/bundler/extract.js.map +1 -1
  65. package/dist/modules/manager/cargo/artifacts.js +1 -1
  66. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  67. package/dist/modules/manager/cargo/extract.js.map +1 -1
  68. package/dist/modules/manager/cargo/types.d.ts +1 -3
  69. package/dist/modules/manager/cargo/types.js.map +1 -1
  70. package/dist/modules/manager/composer/utils.js +4 -4
  71. package/dist/modules/manager/composer/utils.js.map +1 -1
  72. package/dist/modules/manager/deps-edn/extract.js +3 -3
  73. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  74. package/dist/modules/manager/deps-edn/types.js.map +1 -1
  75. package/dist/modules/manager/dockerfile/extract.js +2 -3
  76. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  77. package/dist/modules/manager/fingerprint.generated.js +17 -17
  78. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  79. package/dist/modules/manager/flux/types.d.ts +3 -3
  80. package/dist/modules/manager/flux/types.js.map +1 -1
  81. package/dist/modules/manager/git-submodules/types.d.ts +2 -2
  82. package/dist/modules/manager/git-submodules/types.js.map +1 -1
  83. package/dist/modules/manager/github-actions/extract.js +2 -2
  84. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  85. package/dist/modules/manager/glasskube/types.d.ts +2 -2
  86. package/dist/modules/manager/glasskube/types.js.map +1 -1
  87. package/dist/modules/manager/gleam/artifacts.js +1 -1
  88. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  89. package/dist/modules/manager/gradle/utils.js +6 -2
  90. package/dist/modules/manager/gradle/utils.js.map +1 -1
  91. package/dist/modules/manager/haskell-cabal/extract.js +1 -1
  92. package/dist/modules/manager/haskell-cabal/extract.js.map +1 -1
  93. package/dist/modules/manager/helmfile/artifacts.js +1 -1
  94. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  95. package/dist/modules/manager/helmfile/extract.js +2 -2
  96. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  97. package/dist/modules/manager/helmv3/artifacts.js +1 -1
  98. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  99. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  100. package/dist/modules/manager/helmv3/utils.js +1 -1
  101. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  102. package/dist/modules/manager/homebrew/util.js +1 -2
  103. package/dist/modules/manager/homebrew/util.js.map +1 -1
  104. package/dist/modules/manager/jsonnet-bundler/extract.js +1 -1
  105. package/dist/modules/manager/jsonnet-bundler/extract.js.map +1 -1
  106. package/dist/modules/manager/leiningen/extract.js +1 -2
  107. package/dist/modules/manager/leiningen/extract.js.map +1 -1
  108. package/dist/modules/manager/maven/extract.js.map +1 -1
  109. package/dist/modules/manager/maven/update.js.map +1 -1
  110. package/dist/modules/manager/mise/upgradeable-tooling.js +7 -7
  111. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  112. package/dist/modules/manager/nix/extract.js +1 -1
  113. package/dist/modules/manager/nix/extract.js.map +1 -1
  114. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  115. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  116. package/dist/modules/manager/npm/post-update/index.js +1 -1
  117. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  118. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  119. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  120. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  121. package/dist/modules/manager/nuget/config-formatter.js +1 -2
  122. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  123. package/dist/modules/manager/nuget/package-tree.js +1 -1
  124. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  125. package/dist/modules/manager/nuget/util.js +2 -2
  126. package/dist/modules/manager/nuget/util.js.map +1 -1
  127. package/dist/modules/manager/osgi/extract.js +3 -3
  128. package/dist/modules/manager/osgi/extract.js.map +1 -1
  129. package/dist/modules/manager/pep621/processors/pdm.js +1 -1
  130. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  131. package/dist/modules/manager/pep621/processors/uv.js +3 -2
  132. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  133. package/dist/modules/manager/pip-compile/artifacts.js +8 -2
  134. package/dist/modules/manager/pip-compile/artifacts.js.map +1 -1
  135. package/dist/modules/manager/pip-compile/common.d.ts +5 -3
  136. package/dist/modules/manager/pip-compile/common.js +34 -13
  137. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  138. package/dist/modules/manager/pip-compile/extract.js.map +1 -1
  139. package/dist/modules/manager/pip-compile/types.d.ts +1 -0
  140. package/dist/modules/manager/pip-compile/types.js.map +1 -1
  141. package/dist/modules/manager/poetry/artifacts.js +2 -2
  142. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  143. package/dist/modules/manager/pre-commit/types.d.ts +2 -2
  144. package/dist/modules/manager/pre-commit/types.js.map +1 -1
  145. package/dist/modules/manager/pub/artifacts.js +1 -1
  146. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  147. package/dist/modules/manager/swift/extract.js +1 -2
  148. package/dist/modules/manager/swift/extract.js.map +1 -1
  149. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +2 -2
  150. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  151. package/dist/modules/manager/terraform/hcl/types.d.ts +1 -3
  152. package/dist/modules/manager/terraform/hcl/types.js.map +1 -1
  153. package/dist/modules/manager/terraform/lockfile/index.js +1 -1
  154. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  155. package/dist/modules/manager/terragrunt/artifacts.js +1 -1
  156. package/dist/modules/manager/terragrunt/artifacts.js.map +1 -1
  157. package/dist/modules/manager/types.d.ts +1 -0
  158. package/dist/modules/manager/types.js.map +1 -1
  159. package/dist/modules/manager/woodpecker/types.d.ts +2 -2
  160. package/dist/modules/manager/woodpecker/types.js.map +1 -1
  161. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  162. package/dist/modules/platform/azure/index.js +1 -1
  163. package/dist/modules/platform/azure/index.js.map +1 -1
  164. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  165. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  166. package/dist/modules/platform/bitbucket-server/index.js +2 -2
  167. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  168. package/dist/modules/platform/gerrit/scm.js +1 -1
  169. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  170. package/dist/modules/platform/gitea/index.js +6 -5
  171. package/dist/modules/platform/gitea/index.js.map +1 -1
  172. package/dist/modules/platform/gitea/pr-cache.d.ts +3 -2
  173. package/dist/modules/platform/gitea/pr-cache.js +21 -12
  174. package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
  175. package/dist/modules/platform/github/index.js.map +1 -1
  176. package/dist/modules/platform/gitlab/index.js +20 -16
  177. package/dist/modules/platform/gitlab/index.js.map +1 -1
  178. package/dist/modules/platform/types.d.ts +2 -2
  179. package/dist/modules/platform/types.js.map +1 -1
  180. package/dist/modules/versioning/bazel-module/bzlmod-version.d.ts +1 -1
  181. package/dist/modules/versioning/bazel-module/bzlmod-version.js.map +1 -1
  182. package/dist/modules/versioning/generic.d.ts +2 -6
  183. package/dist/modules/versioning/generic.js.map +1 -1
  184. package/dist/modules/versioning/gradle/compare.d.ts +2 -2
  185. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  186. package/dist/modules/versioning/gradle/index.js +1 -1
  187. package/dist/modules/versioning/gradle/index.js.map +1 -1
  188. package/dist/modules/versioning/pvp/range.js +2 -2
  189. package/dist/modules/versioning/pvp/range.js.map +1 -1
  190. package/dist/modules/versioning/rpm/index.js +5 -5
  191. package/dist/modules/versioning/rpm/index.js.map +1 -1
  192. package/dist/modules/versioning/semver-coerced/index.js +4 -4
  193. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  194. package/dist/modules/versioning/types.d.ts +1 -3
  195. package/dist/modules/versioning/types.js.map +1 -1
  196. package/dist/types/git.d.ts +2 -2
  197. package/dist/types/git.js.map +1 -1
  198. package/dist/types/platform/github/index.d.ts +4 -4
  199. package/dist/types/platform/github/index.js.map +1 -1
  200. package/dist/types/platform/gitlab/index.d.ts +2 -2
  201. package/dist/types/platform/gitlab/index.js.map +1 -1
  202. package/dist/util/assign-keys.d.ts +1 -3
  203. package/dist/util/assign-keys.js.map +1 -1
  204. package/dist/util/cache/repository/http-cache.js +1 -1
  205. package/dist/util/cache/repository/http-cache.js.map +1 -1
  206. package/dist/util/exec/types.d.ts +2 -2
  207. package/dist/util/exec/types.js.map +1 -1
  208. package/dist/util/git/auth.js +1 -1
  209. package/dist/util/git/auth.js.map +1 -1
  210. package/dist/util/git/index.d.ts +10 -10
  211. package/dist/util/git/index.js +22 -26
  212. package/dist/util/git/index.js.map +1 -1
  213. package/dist/util/http/bitbucket.js.map +1 -1
  214. package/dist/util/http/cache/abstract-http-cache-provider.js +1 -1
  215. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  216. package/dist/util/http/index.js.map +1 -1
  217. package/dist/util/http/types.d.ts +3 -5
  218. package/dist/util/http/types.js.map +1 -1
  219. package/dist/util/pretty-time.js.map +1 -1
  220. package/dist/util/schema-utils.js.map +1 -1
  221. package/dist/util/stats.js +1 -0
  222. package/dist/util/stats.js.map +1 -1
  223. package/dist/workers/repository/dependency-dashboard.js +2 -2
  224. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  225. package/dist/workers/repository/init/config.d.ts +1 -2
  226. package/dist/workers/repository/init/config.js +0 -13
  227. package/dist/workers/repository/init/config.js.map +1 -1
  228. package/dist/workers/repository/init/merge.d.ts +2 -1
  229. package/dist/workers/repository/init/merge.js +13 -3
  230. package/dist/workers/repository/init/merge.js.map +1 -1
  231. package/dist/workers/repository/model/commit-message.js.map +1 -1
  232. package/dist/workers/repository/process/vulnerabilities.js +3 -1
  233. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  234. package/dist/workers/repository/process/write.js +1 -1
  235. package/dist/workers/repository/process/write.js.map +1 -1
  236. package/dist/workers/repository/reconfigure/validate.js +3 -1
  237. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  238. package/dist/workers/repository/update/branch/schedule.js +1 -1
  239. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  240. package/dist/workers/repository/update/pr/body/updates-table.js.map +1 -1
  241. package/dist/workers/repository/updates/generate.js +9 -0
  242. package/dist/workers/repository/updates/generate.js.map +1 -1
  243. package/package.json +32 -25
  244. package/renovate-schema.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel/common.ts"],"names":[],"mappings":";;AAIA,4CA4BC;AAED,kDAWC;AAED,oDAaC;AAED,gCAWC;;AAzED,kEAAkC;AAClC,qCAAiC;AAGjC,SAAgB,gBAAgB,CAC9B,KAAa,EACb,IAAkB;IAElB,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,IAAI,QAAQ,GAAyB,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM;QACR,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED,SAAgB,mBAAmB,CACjC,KAAa,EACb,QAAkB,EAClB,OAAwB;IAExB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,EAAE;QAC7B,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAa,EACb,SAAqB,EACrB,OAAwB;IAExB,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CACpC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CACxC,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CACxB,KAAa,EACb,IAAkB,EAClB,OAAwB;IAExB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { parse } from './parser';\nimport type { Fragment, FragmentPath, FragmentUpdater } from './types';\n\nexport function findCodeFragment(\n input: string,\n path: FragmentPath,\n): Fragment | null {\n const parsed = parse(input);\n if (!parsed) {\n return null;\n }\n\n const [ruleIndex, ...restPath] = path;\n let fragment: Fragment | undefined = parsed[ruleIndex];\n for (let pathIndex = 0; pathIndex < restPath.length; pathIndex += 1) {\n if (!fragment) {\n break;\n }\n\n const key = restPath[pathIndex];\n\n if (fragment.type === 'array' && is.number(key)) {\n fragment = fragment.children[key];\n }\n\n if (fragment.type === 'record' && is.string(key)) {\n fragment = fragment.children[key];\n }\n }\n\n return fragment ?? null;\n}\n\nexport function patchCodeAtFragment(\n input: string,\n fragment: Fragment,\n updater: FragmentUpdater,\n): string {\n const { value, offset } = fragment;\n const left = input.slice(0, offset);\n const right = input.slice(offset + value.length);\n return is.string(updater)\n ? `${left}${updater}${right}`\n : `${left}${updater(value)}${right}`;\n}\n\nexport function patchCodeAtFragments(\n input: string,\n fragments: Fragment[],\n updater: FragmentUpdater,\n): string {\n const sortedFragments = fragments.sort(\n ({ offset: a }, { offset: b }) => b - a,\n );\n let result = input;\n for (const fragment of sortedFragments) {\n result = patchCodeAtFragment(result, fragment, updater);\n }\n return result;\n}\n\nexport function updateCode(\n input: string,\n path: FragmentPath,\n updater: FragmentUpdater,\n): string {\n const fragment = findCodeFragment(input, path);\n if (!fragment) {\n return input;\n }\n\n return patchCodeAtFragment(input, fragment, updater);\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel/common.ts"],"names":[],"mappings":";;AAIA,4CA0BC;AAED,kDAWC;AAED,oDAaC;AAED,gCAWC;;AAvED,kEAAkC;AAClC,qCAAiC;AAGjC,SAAgB,gBAAgB,CAC9B,KAAa,EACb,IAAkB;IAElB,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,IAAI,QAAQ,GAAyB,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM;QACR,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED,SAAgB,mBAAmB,CACjC,KAAa,EACb,QAAkB,EAClB,OAAwB;IAExB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,EAAE;QAC7B,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAa,EACb,SAAqB,EACrB,OAAwB;IAExB,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CACpC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CACxC,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CACxB,KAAa,EACb,IAAkB,EAClB,OAAwB;IAExB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { parse } from './parser';\nimport type { Fragment, FragmentPath, FragmentUpdater } from './types';\n\nexport function findCodeFragment(\n input: string,\n path: FragmentPath,\n): Fragment | null {\n const parsed = parse(input);\n if (!parsed) {\n return null;\n }\n\n const [ruleIndex, ...restPath] = path;\n let fragment: Fragment | undefined = parsed[ruleIndex];\n for (const key of restPath) {\n if (!fragment) {\n break;\n }\n\n if (fragment.type === 'array' && is.number(key)) {\n fragment = fragment.children[key];\n }\n\n if (fragment.type === 'record' && is.string(key)) {\n fragment = fragment.children[key];\n }\n }\n\n return fragment ?? null;\n}\n\nexport function patchCodeAtFragment(\n input: string,\n fragment: Fragment,\n updater: FragmentUpdater,\n): string {\n const { value, offset } = fragment;\n const left = input.slice(0, offset);\n const right = input.slice(offset + value.length);\n return is.string(updater)\n ? `${left}${updater}${right}`\n : `${left}${updater(value)}${right}`;\n}\n\nexport function patchCodeAtFragments(\n input: string,\n fragments: Fragment[],\n updater: FragmentUpdater,\n): string {\n const sortedFragments = fragments.sort(\n ({ offset: a }, { offset: b }) => b - a,\n );\n let result = input;\n for (const fragment of sortedFragments) {\n result = patchCodeAtFragment(result, fragment, updater);\n }\n return result;\n}\n\nexport function updateCode(\n input: string,\n path: FragmentPath,\n updater: FragmentUpdater,\n): string {\n const fragment = findCodeFragment(input, path);\n if (!fragment) {\n return input;\n }\n\n return patchCodeAtFragment(input, fragment, updater);\n}\n"]}
@@ -208,7 +208,7 @@ function recordStartHandler(ctx, { offset }) {
208
208
  function ruleNameHandler(ctx, { value, offset }) {
209
209
  const ruleFragment = currentFragment(ctx);
210
210
  if (ruleFragment.type === 'record') {
211
- ruleFragment.children['rule'] = { type: 'string', value, offset };
211
+ ruleFragment.children.rule = { type: 'string', value, offset };
212
212
  }
213
213
  return ctx;
214
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import type { lexer, parser } from 'good-enough-parser';\nimport { lang, query as q } from 'good-enough-parser';\nimport { logger } from '../../../logger';\nimport * as memCache from '../../../util/cache/memory';\nimport { hash } from '../../../util/hash';\nimport { supportedRulesRegex } from './rules';\nimport type { NestedFragment, RecordFragment } from './types';\n\ninterface Ctx {\n readonly source: string;\n results: RecordFragment[];\n stack: NestedFragment[];\n recordKey?: string;\n subRecordKey?: string;\n argIndex?: number;\n}\n\nfunction emptyCtx(source: string): Ctx {\n return {\n source,\n results: [],\n stack: [],\n };\n}\n\nfunction currentFragment(ctx: Ctx): NestedFragment {\n const deepestFragment = ctx.stack[ctx.stack.length - 1];\n return deepestFragment;\n}\n\nfunction extractTreeValue(\n source: string,\n tree: parser.Tree,\n offset: number,\n): string {\n if (tree.type === 'wrapped-tree') {\n const { endsWith } = tree;\n const to = endsWith.offset + endsWith.value.length;\n return source.slice(offset, to);\n }\n\n // istanbul ignore next\n return '';\n}\n\n/**\n * Matches key-value pairs:\n * - `tag = \"1.2.3\"`\n * - `name = \"foobar\"`\n * - `deps = [\"foo\", \"bar\"]`\n * - `\n * artifacts = [\n maven.artifact(\n group = \"com.example1\",\n artifact = \"foobar\",\n version = \"1.2.3\",\n )\n ]\n `\n **/\nconst kwParams = q\n .sym<Ctx>((ctx, { value: recordKey }) => {\n return { ...ctx, recordKey };\n })\n .op('=')\n .alt(\n // string\n q.str((ctx, { offset, value }) => {\n const frag = currentFragment(ctx);\n if (frag.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n frag.children[key] = { type: 'string', value, offset };\n }\n return ctx;\n }),\n // array of strings or calls\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n preHandler: (ctx, tree) => {\n const parentRecord = currentFragment(ctx) as RecordFragment;\n if (\n parentRecord.type === 'record' &&\n ctx.recordKey &&\n tree.type === 'wrapped-tree'\n ) {\n const key = ctx.recordKey;\n parentRecord.children[key] = {\n type: 'array',\n value: '',\n offset: tree.startsWith.offset,\n children: [],\n };\n }\n return ctx;\n },\n search: q.alt(\n q.str<Ctx>((ctx, { value, offset }) => {\n const parentRecord = currentFragment(ctx);\n if (parentRecord.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.children.push({ type: 'string', value, offset });\n }\n }\n return ctx;\n }),\n q\n .sym<Ctx>()\n .handler(recordStartHandler)\n .handler((ctx, { value, offset }) => {\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children._function = {\n type: 'string',\n value,\n offset,\n };\n }\n return ctx;\n })\n .many(\n q.op<Ctx>('.').sym((ctx, { value }) => {\n const ruleFragment = currentFragment(ctx);\n if (\n ruleFragment.type === 'record' &&\n ruleFragment.children._function\n ) {\n ruleFragment.children._function.value += `.${value}`;\n }\n return ctx;\n }),\n 0,\n 3,\n )\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q\n .opt(\n q\n .sym<Ctx>((ctx, { value: subRecordKey }) => ({\n ...ctx,\n subRecordKey,\n }))\n .op('='),\n )\n .str((ctx, { value: subRecordValue, offset }) => {\n const argIndex = ctx.argIndex ?? 0;\n\n const subRecordKey = ctx.subRecordKey! ?? argIndex.toString();\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children[subRecordKey] = {\n type: 'string',\n value: subRecordValue,\n offset,\n };\n }\n delete ctx.subRecordKey;\n ctx.argIndex = argIndex + 1;\n return ctx;\n }),\n postHandler: (ctx, tree) => {\n delete ctx.argIndex;\n\n const callFrag = currentFragment(ctx);\n ctx.stack.pop();\n if (callFrag.type === 'record' && tree.type === 'wrapped-tree') {\n callFrag.value = extractTreeValue(\n ctx.source,\n tree,\n callFrag.offset,\n );\n\n const parentRecord = currentFragment(ctx);\n if (parentRecord.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.children.push(callFrag);\n }\n }\n }\n return ctx;\n },\n }),\n ),\n postHandler: (ctx, tree) => {\n const parentRecord = currentFragment(ctx);\n if (\n parentRecord.type === 'record' &&\n ctx.recordKey &&\n tree.type === 'wrapped-tree'\n ) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.value = extractTreeValue(ctx.source, tree, array.offset);\n }\n }\n return ctx;\n },\n }),\n )\n .handler((ctx) => {\n delete ctx.recordKey;\n return ctx;\n });\n\n/**\n * Matches rule signature:\n * `git_repository(......)`\n * ^^^^^^^^\n *\n * @param search something to match inside parens\n */\nfunction ruleCall(\n search: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search,\n postHandler: (ctx, tree) => {\n const frag = currentFragment(ctx);\n if (frag.type === 'record' && tree.type === 'wrapped-tree') {\n frag.value = extractTreeValue(ctx.source, tree, frag.offset);\n ctx.stack.pop();\n ctx.results.push(frag);\n }\n\n return ctx;\n },\n });\n}\n\nfunction recordStartHandler(ctx: Ctx, { offset }: lexer.Token): Ctx {\n ctx.stack.push({\n type: 'record',\n value: '',\n offset,\n children: {},\n });\n return ctx;\n}\n\nfunction ruleNameHandler(ctx: Ctx, { value, offset }: lexer.Token): Ctx {\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children['rule'] = { type: 'string', value, offset };\n }\n\n return ctx;\n}\n\n/**\n * Matches regular rules:\n * - `git_repository(...)`\n * - `_go_repository(...)`\n */\nconst regularRule = q\n .sym<Ctx>(supportedRulesRegex, (ctx, token) =>\n ruleNameHandler(recordStartHandler(ctx, token), token),\n )\n .join(ruleCall(kwParams));\n\n/**\n * Matches \"maybe\"-form rules:\n * - `maybe(git_repository, ...)`\n * - `maybe(_go_repository, ...)`\n */\nconst maybeRule = q\n .sym<Ctx>('maybe', recordStartHandler)\n .join(\n ruleCall(\n q.alt(\n q.begin<Ctx>().sym(supportedRulesRegex, ruleNameHandler).op(','),\n kwParams,\n ),\n ),\n );\n\nconst rule = q.alt<Ctx>(maybeRule, regularRule);\n\nconst query = q.tree<Ctx>({\n type: 'root-tree',\n maxDepth: 16,\n search: rule,\n});\n\nfunction getCacheKey(input: string): string {\n const hashedInput = hash(input);\n return `bazel-parser-${hashedInput}`;\n}\n\nconst starlark = lang.createLang('starlark');\n\nexport function parse(\n input: string,\n packageFile?: string,\n): RecordFragment[] | null {\n const cacheKey = getCacheKey(input);\n\n const cachedResult = memCache.get<RecordFragment[] | null>(cacheKey);\n // istanbul ignore if\n if (cachedResult === null || cachedResult) {\n return cachedResult;\n }\n\n let result: RecordFragment[] | null = null;\n try {\n const parsedResult = starlark.query(input, query, emptyCtx(input));\n if (parsedResult) {\n result = parsedResult.results;\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err, packageFile }, 'Bazel parsing error');\n }\n\n memCache.set(cacheKey, result);\n return result;\n}\n"]}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import type { lexer, parser } from 'good-enough-parser';\nimport { lang, query as q } from 'good-enough-parser';\nimport { logger } from '../../../logger';\nimport * as memCache from '../../../util/cache/memory';\nimport { hash } from '../../../util/hash';\nimport { supportedRulesRegex } from './rules';\nimport type { NestedFragment, RecordFragment } from './types';\n\ninterface Ctx {\n readonly source: string;\n results: RecordFragment[];\n stack: NestedFragment[];\n recordKey?: string;\n subRecordKey?: string;\n argIndex?: number;\n}\n\nfunction emptyCtx(source: string): Ctx {\n return {\n source,\n results: [],\n stack: [],\n };\n}\n\nfunction currentFragment(ctx: Ctx): NestedFragment {\n const deepestFragment = ctx.stack[ctx.stack.length - 1];\n return deepestFragment;\n}\n\nfunction extractTreeValue(\n source: string,\n tree: parser.Tree,\n offset: number,\n): string {\n if (tree.type === 'wrapped-tree') {\n const { endsWith } = tree;\n const to = endsWith.offset + endsWith.value.length;\n return source.slice(offset, to);\n }\n\n // istanbul ignore next\n return '';\n}\n\n/**\n * Matches key-value pairs:\n * - `tag = \"1.2.3\"`\n * - `name = \"foobar\"`\n * - `deps = [\"foo\", \"bar\"]`\n * - `\n * artifacts = [\n maven.artifact(\n group = \"com.example1\",\n artifact = \"foobar\",\n version = \"1.2.3\",\n )\n ]\n `\n **/\nconst kwParams = q\n .sym<Ctx>((ctx, { value: recordKey }) => {\n return { ...ctx, recordKey };\n })\n .op('=')\n .alt(\n // string\n q.str((ctx, { offset, value }) => {\n const frag = currentFragment(ctx);\n if (frag.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n frag.children[key] = { type: 'string', value, offset };\n }\n return ctx;\n }),\n // array of strings or calls\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n preHandler: (ctx, tree) => {\n const parentRecord = currentFragment(ctx) as RecordFragment;\n if (\n parentRecord.type === 'record' &&\n ctx.recordKey &&\n tree.type === 'wrapped-tree'\n ) {\n const key = ctx.recordKey;\n parentRecord.children[key] = {\n type: 'array',\n value: '',\n offset: tree.startsWith.offset,\n children: [],\n };\n }\n return ctx;\n },\n search: q.alt(\n q.str<Ctx>((ctx, { value, offset }) => {\n const parentRecord = currentFragment(ctx);\n if (parentRecord.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.children.push({ type: 'string', value, offset });\n }\n }\n return ctx;\n }),\n q\n .sym<Ctx>()\n .handler(recordStartHandler)\n .handler((ctx, { value, offset }) => {\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children._function = {\n type: 'string',\n value,\n offset,\n };\n }\n return ctx;\n })\n .many(\n q.op<Ctx>('.').sym((ctx, { value }) => {\n const ruleFragment = currentFragment(ctx);\n if (\n ruleFragment.type === 'record' &&\n ruleFragment.children._function\n ) {\n ruleFragment.children._function.value += `.${value}`;\n }\n return ctx;\n }),\n 0,\n 3,\n )\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q\n .opt(\n q\n .sym<Ctx>((ctx, { value: subRecordKey }) => ({\n ...ctx,\n subRecordKey,\n }))\n .op('='),\n )\n .str((ctx, { value: subRecordValue, offset }) => {\n const argIndex = ctx.argIndex ?? 0;\n\n const subRecordKey = ctx.subRecordKey! ?? argIndex.toString();\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children[subRecordKey] = {\n type: 'string',\n value: subRecordValue,\n offset,\n };\n }\n delete ctx.subRecordKey;\n ctx.argIndex = argIndex + 1;\n return ctx;\n }),\n postHandler: (ctx, tree) => {\n delete ctx.argIndex;\n\n const callFrag = currentFragment(ctx);\n ctx.stack.pop();\n if (callFrag.type === 'record' && tree.type === 'wrapped-tree') {\n callFrag.value = extractTreeValue(\n ctx.source,\n tree,\n callFrag.offset,\n );\n\n const parentRecord = currentFragment(ctx);\n if (parentRecord.type === 'record' && ctx.recordKey) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.children.push(callFrag);\n }\n }\n }\n return ctx;\n },\n }),\n ),\n postHandler: (ctx, tree) => {\n const parentRecord = currentFragment(ctx);\n if (\n parentRecord.type === 'record' &&\n ctx.recordKey &&\n tree.type === 'wrapped-tree'\n ) {\n const key = ctx.recordKey;\n const array = parentRecord.children[key];\n if (array.type === 'array') {\n array.value = extractTreeValue(ctx.source, tree, array.offset);\n }\n }\n return ctx;\n },\n }),\n )\n .handler((ctx) => {\n delete ctx.recordKey;\n return ctx;\n });\n\n/**\n * Matches rule signature:\n * `git_repository(......)`\n * ^^^^^^^^\n *\n * @param search something to match inside parens\n */\nfunction ruleCall(\n search: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search,\n postHandler: (ctx, tree) => {\n const frag = currentFragment(ctx);\n if (frag.type === 'record' && tree.type === 'wrapped-tree') {\n frag.value = extractTreeValue(ctx.source, tree, frag.offset);\n ctx.stack.pop();\n ctx.results.push(frag);\n }\n\n return ctx;\n },\n });\n}\n\nfunction recordStartHandler(ctx: Ctx, { offset }: lexer.Token): Ctx {\n ctx.stack.push({\n type: 'record',\n value: '',\n offset,\n children: {},\n });\n return ctx;\n}\n\nfunction ruleNameHandler(ctx: Ctx, { value, offset }: lexer.Token): Ctx {\n const ruleFragment = currentFragment(ctx);\n if (ruleFragment.type === 'record') {\n ruleFragment.children.rule = { type: 'string', value, offset };\n }\n\n return ctx;\n}\n\n/**\n * Matches regular rules:\n * - `git_repository(...)`\n * - `_go_repository(...)`\n */\nconst regularRule = q\n .sym<Ctx>(supportedRulesRegex, (ctx, token) =>\n ruleNameHandler(recordStartHandler(ctx, token), token),\n )\n .join(ruleCall(kwParams));\n\n/**\n * Matches \"maybe\"-form rules:\n * - `maybe(git_repository, ...)`\n * - `maybe(_go_repository, ...)`\n */\nconst maybeRule = q\n .sym<Ctx>('maybe', recordStartHandler)\n .join(\n ruleCall(\n q.alt(\n q.begin<Ctx>().sym(supportedRulesRegex, ruleNameHandler).op(','),\n kwParams,\n ),\n ),\n );\n\nconst rule = q.alt<Ctx>(maybeRule, regularRule);\n\nconst query = q.tree<Ctx>({\n type: 'root-tree',\n maxDepth: 16,\n search: rule,\n});\n\nfunction getCacheKey(input: string): string {\n const hashedInput = hash(input);\n return `bazel-parser-${hashedInput}`;\n}\n\nconst starlark = lang.createLang('starlark');\n\nexport function parse(\n input: string,\n packageFile?: string,\n): RecordFragment[] | null {\n const cacheKey = getCacheKey(input);\n\n const cachedResult = memCache.get<RecordFragment[] | null>(cacheKey);\n // istanbul ignore if\n if (cachedResult === null || cachedResult) {\n return cachedResult;\n }\n\n let result: RecordFragment[] | null = null;\n try {\n const parsedResult = starlark.query(input, query, emptyCtx(input));\n if (parsedResult) {\n result = parsedResult.results;\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err, packageFile }, 'Bazel parsing error');\n }\n\n memCache.set(cacheKey, result);\n return result;\n}\n"]}
@@ -9,9 +9,10 @@ export declare class CtxProcessingError extends Error {
9
9
  constructor(current: AllFragments, parent?: AllFragments);
10
10
  }
11
11
  export declare class Ctx implements CtxCompatible {
12
+ readonly source: string;
12
13
  results: ResultFragment[];
13
14
  stack: AllFragments[];
14
- constructor();
15
+ constructor(source: string);
15
16
  private get safeCurrent();
16
17
  private get current();
17
18
  private get currentRule();
@@ -24,9 +25,9 @@ export declare class Ctx implements CtxCompatible {
24
25
  addBoolean(value: string | boolean): Ctx;
25
26
  startRule(name: string): Ctx;
26
27
  endRule(): Ctx;
27
- prepareExtensionTag(extension: string, rawExtension: string): Ctx;
28
+ prepareExtensionTag(extension: string, rawExtension: string, offset: number): Ctx;
28
29
  startExtensionTag(tag: string): Ctx;
29
- endExtensionTag(): Ctx;
30
+ endExtensionTag(offset: number): Ctx;
30
31
  startAttribute(name: string): Ctx;
31
32
  startArray(): Ctx;
32
33
  endArray(): Ctx;
@@ -16,9 +16,11 @@ class CtxProcessingError extends Error {
16
16
  }
17
17
  exports.CtxProcessingError = CtxProcessingError;
18
18
  class Ctx {
19
+ source;
19
20
  results;
20
21
  stack;
21
- constructor() {
22
+ constructor(source) {
23
+ this.source = source;
22
24
  this.results = [];
23
25
  this.stack = [];
24
26
  }
@@ -120,20 +122,21 @@ class Ctx {
120
122
  rule.isComplete = true;
121
123
  return this.processStack();
122
124
  }
123
- prepareExtensionTag(extension, rawExtension) {
124
- const preppedTag = fragments.preparedExtensionTag(extension, rawExtension);
125
+ prepareExtensionTag(extension, rawExtension, offset) {
126
+ const preppedTag = fragments.preparedExtensionTag(extension, rawExtension, offset);
125
127
  this.stack.push(preppedTag);
126
128
  return this;
127
129
  }
128
130
  startExtensionTag(tag) {
129
- const { extension, rawExtension } = this.popPreparedExtensionTag();
130
- const extensionTag = fragments.extensionTag(extension, rawExtension, tag);
131
+ const { extension, rawExtension, offset } = this.popPreparedExtensionTag();
132
+ const extensionTag = fragments.extensionTag(extension, rawExtension, tag, offset);
131
133
  this.stack.push(extensionTag);
132
134
  return this;
133
135
  }
134
- endExtensionTag() {
136
+ endExtensionTag(offset) {
135
137
  const tag = this.currentExtensionTag;
136
138
  tag.isComplete = true;
139
+ tag.rawString = this.source.slice(tag.offset, offset);
137
140
  return this.processStack();
138
141
  }
139
142
  startAttribute(name) {
@@ -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 results: ResultFragment[];\n stack: AllFragments[];\n\n constructor() {\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(extension: string, rawExtension: string): Ctx {\n const preppedTag = fragments.preparedExtensionTag(extension, rawExtension);\n this.stack.push(preppedTag);\n return this;\n }\n\n startExtensionTag(tag: string): Ctx {\n const { extension, rawExtension } = this.popPreparedExtensionTag();\n\n const extensionTag = fragments.extensionTag(extension, rawExtension, tag);\n this.stack.push(extensionTag);\n return this;\n }\n\n endExtensionTag(): Ctx {\n const tag = this.currentExtensionTag;\n tag.isComplete = true;\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 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"]}
@@ -26,7 +26,7 @@ exports.extensionTags = good_enough_parser_1.query
26
26
  const rawExtension = token.value;
27
27
  const match = rawExtension.match(supportedExtensionRegex);
28
28
  const extension = match[1];
29
- return ctx.prepareExtensionTag(extension, rawExtension);
29
+ return ctx.prepareExtensionTag(extension, rawExtension, token.offset);
30
30
  })
31
31
  .op('.')
32
32
  .sym(supportedExtensionTagsRegex, (ctx, token) => {
@@ -36,6 +36,14 @@ exports.extensionTags = good_enough_parser_1.query
36
36
  type: 'wrapped-tree',
37
37
  maxDepth: 1,
38
38
  search: common_1.kvParams,
39
- postHandler: (ctx) => ctx.endExtensionTag(),
39
+ postHandler: (ctx, tree) => {
40
+ if (tree.type === 'wrapped-tree') {
41
+ const { endsWith } = tree;
42
+ const endOffset = endsWith.offset + endsWith.value.length;
43
+ return ctx.endExtensionTag(endOffset);
44
+ }
45
+ // istanbul ignore next
46
+ throw new Error(`Unexpected tree in postHandler: ${tree.type}`);
47
+ },
40
48
  }));
41
49
  //# sourceMappingURL=extension-tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-tags.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/extension-tags.ts"],"names":[],"mappings":";;;AAAA,2DAAgD;AAChD,kDAA+C;AAC/C,qCAAoC;AAGpC,mCAAmE;AACnE,+BAA6D;AAE7D,kFAAkF;AAClF,eAAe;AACf,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,EAAE;AACF,6BAA6B;AAC7B,qCAAqC;AACrC,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,kEAAkE;AAElE,MAAM,uBAAuB,GAAG,IAAA,aAAK,EACnC,KAAK,wBAAkB,IAAI,4BAAoB,MAAM,CACtD,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,GAAG,0BAAkB,EAAE,GAAG,sBAAgB,CAAC,CAAC;AAE5E,MAAM,2BAA2B,GAAG,IAAA,aAAK,EACvC,KAAK,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1C,CAAC;AAEW,QAAA,aAAa,GAAG,0BAAC;KAC3B,GAAG,CAAM,uBAAuB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC,CAAC;KACD,EAAE,CAAC,GAAG,CAAC;KACP,GAAG,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;KACD,IAAI,CACH,0BAAC,CAAC,IAAI,CAAC;IACL,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,iBAAQ;IAChB,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE;CAC5C,CAAC,CACH,CAAC","sourcesContent":["import { query as q } from 'good-enough-parser';\nimport { regEx } from '../../../../util/regex';\nimport { kvParams } from './common';\nimport type { Ctx } from './context';\n\nimport { mavenExtensionPrefix, mavenExtensionTags } from './maven';\nimport { ociExtensionPrefix, ociExtensionTags } from './oci';\n\n// In bazel modules an extension tag is (roughly) a \"member function application\".\n// For example:\n//\n// oci = use_extension(\"@rules_oci//oci:extensions.bzl\", \"oci\")\n// ^^^ --> the extension definition (not parsed by this module)\n//\n// oci.pull(<parameters>)\n// ^^^^ --> the extension tag\n//\n// The name of the extension (`oci` in the example above) technically arbitrary.\n// However, in practice, there are conventions. We use this to simplify parsing\n// by assuming the extension names start with well-known prefixes.\n\nconst supportedExtensionRegex = regEx(\n `^(${ociExtensionPrefix}|${mavenExtensionPrefix}).*$`,\n);\n\nconst supportedExtensionTags = [...mavenExtensionTags, ...ociExtensionTags];\n\nconst supportedExtensionTagsRegex = regEx(\n `^(${supportedExtensionTags.join('|')})$`,\n);\n\nexport const extensionTags = q\n .sym<Ctx>(supportedExtensionRegex, (ctx, token) => {\n const rawExtension = token.value;\n const match = rawExtension.match(supportedExtensionRegex)!;\n const extension = match[1];\n return ctx.prepareExtensionTag(extension, rawExtension);\n })\n .op('.')\n .sym(supportedExtensionTagsRegex, (ctx, token) => {\n return ctx.startExtensionTag(token.value);\n })\n .join(\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: kvParams,\n postHandler: (ctx) => ctx.endExtensionTag(),\n }),\n );\n"]}
1
+ {"version":3,"file":"extension-tags.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/extension-tags.ts"],"names":[],"mappings":";;;AAAA,2DAAgD;AAChD,kDAA+C;AAC/C,qCAAoC;AAGpC,mCAAmE;AACnE,+BAA6D;AAE7D,kFAAkF;AAClF,eAAe;AACf,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,EAAE;AACF,6BAA6B;AAC7B,qCAAqC;AACrC,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,kEAAkE;AAElE,MAAM,uBAAuB,GAAG,IAAA,aAAK,EACnC,KAAK,wBAAkB,IAAI,4BAAoB,MAAM,CACtD,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,GAAG,0BAAkB,EAAE,GAAG,sBAAgB,CAAC,CAAC;AAE5E,MAAM,2BAA2B,GAAG,IAAA,aAAK,EACvC,KAAK,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1C,CAAC;AAEW,QAAA,aAAa,GAAG,0BAAC;KAC3B,GAAG,CAAM,uBAAuB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC,CAAC;KACD,EAAE,CAAC,GAAG,CAAC;KACP,GAAG,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;KACD,IAAI,CACH,0BAAC,CAAC,IAAI,CAAC;IACL,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,iBAAQ;IAChB,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1D,OAAO,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;CACF,CAAC,CACH,CAAC","sourcesContent":["import { query as q } from 'good-enough-parser';\nimport { regEx } from '../../../../util/regex';\nimport { kvParams } from './common';\nimport type { Ctx } from './context';\n\nimport { mavenExtensionPrefix, mavenExtensionTags } from './maven';\nimport { ociExtensionPrefix, ociExtensionTags } from './oci';\n\n// In bazel modules an extension tag is (roughly) a \"member function application\".\n// For example:\n//\n// oci = use_extension(\"@rules_oci//oci:extensions.bzl\", \"oci\")\n// ^^^ --> the extension definition (not parsed by this module)\n//\n// oci.pull(<parameters>)\n// ^^^^ --> the extension tag\n//\n// The name of the extension (`oci` in the example above) technically arbitrary.\n// However, in practice, there are conventions. We use this to simplify parsing\n// by assuming the extension names start with well-known prefixes.\n\nconst supportedExtensionRegex = regEx(\n `^(${ociExtensionPrefix}|${mavenExtensionPrefix}).*$`,\n);\n\nconst supportedExtensionTags = [...mavenExtensionTags, ...ociExtensionTags];\n\nconst supportedExtensionTagsRegex = regEx(\n `^(${supportedExtensionTags.join('|')})$`,\n);\n\nexport const extensionTags = q\n .sym<Ctx>(supportedExtensionRegex, (ctx, token) => {\n const rawExtension = token.value;\n const match = rawExtension.match(supportedExtensionRegex)!;\n const extension = match[1];\n return ctx.prepareExtensionTag(extension, rawExtension, token.offset);\n })\n .op('.')\n .sym(supportedExtensionTagsRegex, (ctx, token) => {\n return ctx.startExtensionTag(token.value);\n })\n .join(\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: kvParams,\n postHandler: (ctx, tree) => {\n if (tree.type === 'wrapped-tree') {\n const { endsWith } = tree;\n const endOffset = endsWith.offset + endsWith.value.length;\n return ctx.endExtensionTag(endOffset);\n }\n\n // istanbul ignore next\n throw new Error(`Unexpected tree in postHandler: ${tree.type}`);\n },\n }),\n );\n"]}
@@ -213,14 +213,17 @@ export declare const PreparedExtensionTagFragmentSchema: z.ZodObject<{
213
213
  type: z.ZodLiteral<"preparedExtensionTag">;
214
214
  extension: z.ZodString;
215
215
  rawExtension: z.ZodString;
216
+ offset: z.ZodNumber;
216
217
  isComplete: z.ZodLiteral<false>;
217
218
  }, "strip", z.ZodTypeAny, {
218
219
  type: "preparedExtensionTag";
220
+ offset: number;
219
221
  isComplete: false;
220
222
  extension: string;
221
223
  rawExtension: string;
222
224
  }, {
223
225
  type: "preparedExtensionTag";
226
+ offset: number;
224
227
  isComplete: false;
225
228
  extension: string;
226
229
  rawExtension: string;
@@ -252,8 +255,11 @@ export declare const ExtensionTagFragmentSchema: z.ZodObject<{
252
255
  isComplete: boolean;
253
256
  }>, Record<string, any>>;
254
257
  isComplete: z.ZodBoolean;
258
+ offset: z.ZodNumber;
259
+ rawString: z.ZodOptional<z.ZodString>;
255
260
  }, "strip", z.ZodTypeAny, {
256
261
  type: "extensionTag";
262
+ offset: number;
257
263
  children: Record<string, {
258
264
  type: "string";
259
265
  value: string;
@@ -279,13 +285,16 @@ export declare const ExtensionTagFragmentSchema: z.ZodObject<{
279
285
  isComplete: boolean;
280
286
  extension: string;
281
287
  rawExtension: string;
288
+ rawString?: string | undefined;
282
289
  }, {
283
290
  type: "extensionTag";
291
+ offset: number;
284
292
  children: Record<string, any>;
285
293
  tag: string;
286
294
  isComplete: boolean;
287
295
  extension: string;
288
296
  rawExtension: string;
297
+ rawString?: string | undefined;
289
298
  }>;
290
299
  export declare const AttributeFragmentSchema: z.ZodObject<{
291
300
  type: z.ZodLiteral<"attribute">;
@@ -585,14 +594,17 @@ export declare const AllFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
585
594
  type: z.ZodLiteral<"preparedExtensionTag">;
586
595
  extension: z.ZodString;
587
596
  rawExtension: z.ZodString;
597
+ offset: z.ZodNumber;
588
598
  isComplete: z.ZodLiteral<false>;
589
599
  }, "strip", z.ZodTypeAny, {
590
600
  type: "preparedExtensionTag";
601
+ offset: number;
591
602
  isComplete: false;
592
603
  extension: string;
593
604
  rawExtension: string;
594
605
  }, {
595
606
  type: "preparedExtensionTag";
607
+ offset: number;
596
608
  isComplete: false;
597
609
  extension: string;
598
610
  rawExtension: string;
@@ -623,8 +635,11 @@ export declare const AllFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
623
635
  isComplete: boolean;
624
636
  }>, Record<string, any>>;
625
637
  isComplete: z.ZodBoolean;
638
+ offset: z.ZodNumber;
639
+ rawString: z.ZodOptional<z.ZodString>;
626
640
  }, "strip", z.ZodTypeAny, {
627
641
  type: "extensionTag";
642
+ offset: number;
628
643
  children: Record<string, {
629
644
  type: "string";
630
645
  value: string;
@@ -650,13 +665,16 @@ export declare const AllFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
650
665
  isComplete: boolean;
651
666
  extension: string;
652
667
  rawExtension: string;
668
+ rawString?: string | undefined;
653
669
  }, {
654
670
  type: "extensionTag";
671
+ offset: number;
655
672
  children: Record<string, any>;
656
673
  tag: string;
657
674
  isComplete: boolean;
658
675
  extension: string;
659
676
  rawExtension: string;
677
+ rawString?: string | undefined;
660
678
  }>, z.ZodObject<{
661
679
  type: z.ZodLiteral<"string">;
662
680
  value: z.ZodString;
@@ -685,8 +703,8 @@ export type ResultFragment = RuleFragment | ExtensionTagFragment;
685
703
  export declare function string(value: string): StringFragment;
686
704
  export declare function boolean(value: string | boolean): BooleanFragment;
687
705
  export declare function rule(rule: string, children?: ChildFragments, isComplete?: boolean): RuleFragment;
688
- export declare function preparedExtensionTag(extension: string, rawExtension: string): PreparedExtensionTagFragment;
689
- export declare function extensionTag(extension: string, rawExtension: string, tag: string, children?: ChildFragments, isComplete?: boolean): ExtensionTagFragment;
706
+ export declare function preparedExtensionTag(extension: string, rawExtension: string, offset: number): PreparedExtensionTagFragment;
707
+ export declare function extensionTag(extension: string, rawExtension: string, tag: string, offset: number, children?: ChildFragments, rawString?: string, isComplete?: boolean): ExtensionTagFragment;
690
708
  export declare function attribute(name: string, value?: ValueFragments, isComplete?: boolean): AttributeFragment;
691
709
  export declare function array(items?: PrimitiveFragments[], isComplete?: boolean): ArrayFragment;
692
710
  export declare function isValue(data: unknown): data is ValueFragments;
@@ -54,6 +54,7 @@ exports.PreparedExtensionTagFragmentSchema = zod_1.z.object({
54
54
  // See ExtensionTagFragmentSchema for documentation of the fields.
55
55
  extension: zod_1.z.string(),
56
56
  rawExtension: zod_1.z.string(),
57
+ offset: zod_1.z.number(), // start offset in the source string
57
58
  isComplete: zod_1.z.literal(false), // never complete, parser internal type.
58
59
  });
59
60
  exports.ExtensionTagFragmentSchema = zod_1.z.object({
@@ -65,6 +66,8 @@ exports.ExtensionTagFragmentSchema = zod_1.z.object({
65
66
  tag: zod_1.z.string(),
66
67
  children: (0, schema_utils_1.LooseRecord)(ValueFragmentsSchema),
67
68
  isComplete: zod_1.z.boolean(),
69
+ offset: zod_1.z.number(), // start offset in the source string
70
+ rawString: zod_1.z.string().optional(), // raw source string
68
71
  });
69
72
  exports.AttributeFragmentSchema = zod_1.z.object({
70
73
  type: zod_1.z.literal('attribute'),
@@ -103,20 +106,23 @@ function rule(rule, children = {}, isComplete = false) {
103
106
  children,
104
107
  };
105
108
  }
106
- function preparedExtensionTag(extension, rawExtension) {
109
+ function preparedExtensionTag(extension, rawExtension, offset) {
107
110
  return {
108
111
  type: 'preparedExtensionTag',
109
112
  extension,
110
113
  rawExtension,
114
+ offset,
111
115
  isComplete: false, // never complete
112
116
  };
113
117
  }
114
- function extensionTag(extension, rawExtension, tag, children = {}, isComplete = false) {
118
+ function extensionTag(extension, rawExtension, tag, offset, children = {}, rawString, isComplete = false) {
115
119
  return {
116
120
  type: 'extensionTag',
117
121
  extension,
118
122
  rawExtension,
119
123
  tag,
124
+ offset,
125
+ rawString,
120
126
  isComplete,
121
127
  children,
122
128
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/fragments.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { LooseArray, LooseRecord } from '../../../../util/schema-utils';\nimport * as starlark from './starlark';\n\nexport const StringFragmentSchema = z.object({\n type: z.literal('string'),\n value: z.string(),\n isComplete: z.literal(true),\n});\nexport const BooleanFragmentSchema = z.object({\n type: z.literal('boolean'),\n value: z.boolean(),\n isComplete: z.literal(true),\n});\nconst PrimitiveFragmentsSchema = z.discriminatedUnion('type', [\n StringFragmentSchema,\n BooleanFragmentSchema,\n]);\nexport const ArrayFragmentSchema = z.object({\n type: z.literal('array'),\n items: LooseArray(PrimitiveFragmentsSchema),\n isComplete: z.boolean(),\n});\nexport const StringArrayFragmentSchema = z.object({\n type: z.literal('array'),\n items: LooseArray(StringFragmentSchema),\n isComplete: z.boolean(),\n});\nconst ValueFragmentsSchema = z.discriminatedUnion('type', [\n StringFragmentSchema,\n BooleanFragmentSchema,\n ArrayFragmentSchema,\n]);\nexport const RuleFragmentSchema = z.object({\n type: z.literal('rule'),\n rule: z.string(),\n children: LooseRecord(ValueFragmentsSchema),\n isComplete: z.boolean(),\n});\nexport const PreparedExtensionTagFragmentSchema = z.object({\n type: z.literal('preparedExtensionTag'),\n // See ExtensionTagFragmentSchema for documentation of the fields.\n extension: z.string(),\n rawExtension: z.string(),\n isComplete: z.literal(false), // never complete, parser internal type.\n});\nexport const ExtensionTagFragmentSchema = z.object({\n type: z.literal('extensionTag'),\n // The \"logical\" name of the extension (e.g. `oci` or `maven`).\n extension: z.string(),\n // The \"raw\" name of the extension as it appears in the MODULE file (e.g. `maven_01` or `maven`)\n rawExtension: z.string(),\n tag: z.string(),\n children: LooseRecord(ValueFragmentsSchema),\n isComplete: z.boolean(),\n});\nexport const AttributeFragmentSchema = z.object({\n type: z.literal('attribute'),\n name: z.string(),\n value: ValueFragmentsSchema.optional(),\n isComplete: z.boolean(),\n});\nexport const AllFragmentsSchema = z.discriminatedUnion('type', [\n ArrayFragmentSchema,\n AttributeFragmentSchema,\n BooleanFragmentSchema,\n RuleFragmentSchema,\n PreparedExtensionTagFragmentSchema,\n ExtensionTagFragmentSchema,\n StringFragmentSchema,\n]);\n\nexport type AllFragments = z.infer<typeof AllFragmentsSchema>;\nexport type ArrayFragment = z.infer<typeof ArrayFragmentSchema>;\nexport type AttributeFragment = z.infer<typeof AttributeFragmentSchema>;\nexport type BooleanFragment = z.infer<typeof BooleanFragmentSchema>;\nexport type ChildFragments = Record<string, ValueFragments>;\nexport type PrimitiveFragments = z.infer<typeof PrimitiveFragmentsSchema>;\nexport type RuleFragment = z.infer<typeof RuleFragmentSchema>;\nexport type PreparedExtensionTagFragment = z.infer<\n typeof PreparedExtensionTagFragmentSchema\n>;\nexport type ExtensionTagFragment = z.infer<typeof ExtensionTagFragmentSchema>;\nexport type StringFragment = z.infer<typeof StringFragmentSchema>;\nexport type ValueFragments = z.infer<typeof ValueFragmentsSchema>;\nexport type ResultFragment = RuleFragment | ExtensionTagFragment;\n\nexport function string(value: string): StringFragment {\n return {\n type: 'string',\n isComplete: true,\n value,\n };\n}\n\nexport function boolean(value: string | boolean): BooleanFragment {\n return {\n type: 'boolean',\n isComplete: true,\n value: typeof value === 'string' ? starlark.asBoolean(value) : value,\n };\n}\n\nexport function rule(\n rule: string,\n children: ChildFragments = {},\n isComplete = false,\n): RuleFragment {\n return {\n type: 'rule',\n rule,\n isComplete,\n children,\n };\n}\n\nexport function preparedExtensionTag(\n extension: string,\n rawExtension: string,\n): PreparedExtensionTagFragment {\n return {\n type: 'preparedExtensionTag',\n extension,\n rawExtension,\n isComplete: false, // never complete\n };\n}\n\nexport function extensionTag(\n extension: string,\n rawExtension: string,\n tag: string,\n children: ChildFragments = {},\n isComplete = false,\n): ExtensionTagFragment {\n return {\n type: 'extensionTag',\n extension,\n rawExtension,\n tag,\n isComplete,\n children,\n };\n}\n\nexport function attribute(\n name: string,\n value?: ValueFragments,\n isComplete = false,\n): AttributeFragment {\n return {\n type: 'attribute',\n name,\n value,\n isComplete,\n };\n}\n\nexport function array(\n items: PrimitiveFragments[] = [],\n isComplete = false,\n): ArrayFragment {\n return {\n type: 'array',\n items,\n isComplete,\n };\n}\n\nexport function isValue(data: unknown): data is ValueFragments {\n const result = ValueFragmentsSchema.safeParse(data);\n return result.success;\n}\n\nexport function isPrimitive(data: unknown): data is PrimitiveFragments {\n const result = PrimitiveFragmentsSchema.safeParse(data);\n return result.success;\n}\n"]}
1
+ {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/fragments.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { LooseArray, LooseRecord } from '../../../../util/schema-utils';\nimport * as starlark from './starlark';\n\nexport const StringFragmentSchema = z.object({\n type: z.literal('string'),\n value: z.string(),\n isComplete: z.literal(true),\n});\nexport const BooleanFragmentSchema = z.object({\n type: z.literal('boolean'),\n value: z.boolean(),\n isComplete: z.literal(true),\n});\nconst PrimitiveFragmentsSchema = z.discriminatedUnion('type', [\n StringFragmentSchema,\n BooleanFragmentSchema,\n]);\nexport const ArrayFragmentSchema = z.object({\n type: z.literal('array'),\n items: LooseArray(PrimitiveFragmentsSchema),\n isComplete: z.boolean(),\n});\nexport const StringArrayFragmentSchema = z.object({\n type: z.literal('array'),\n items: LooseArray(StringFragmentSchema),\n isComplete: z.boolean(),\n});\nconst ValueFragmentsSchema = z.discriminatedUnion('type', [\n StringFragmentSchema,\n BooleanFragmentSchema,\n ArrayFragmentSchema,\n]);\nexport const RuleFragmentSchema = z.object({\n type: z.literal('rule'),\n rule: z.string(),\n children: LooseRecord(ValueFragmentsSchema),\n isComplete: z.boolean(),\n});\nexport const PreparedExtensionTagFragmentSchema = z.object({\n type: z.literal('preparedExtensionTag'),\n // See ExtensionTagFragmentSchema for documentation of the fields.\n extension: z.string(),\n rawExtension: z.string(),\n offset: z.number(), // start offset in the source string\n isComplete: z.literal(false), // never complete, parser internal type.\n});\nexport const ExtensionTagFragmentSchema = z.object({\n type: z.literal('extensionTag'),\n // The \"logical\" name of the extension (e.g. `oci` or `maven`).\n extension: z.string(),\n // The \"raw\" name of the extension as it appears in the MODULE file (e.g. `maven_01` or `maven`)\n rawExtension: z.string(),\n tag: z.string(),\n children: LooseRecord(ValueFragmentsSchema),\n isComplete: z.boolean(),\n offset: z.number(), // start offset in the source string\n rawString: z.string().optional(), // raw source string\n});\nexport const AttributeFragmentSchema = z.object({\n type: z.literal('attribute'),\n name: z.string(),\n value: ValueFragmentsSchema.optional(),\n isComplete: z.boolean(),\n});\nexport const AllFragmentsSchema = z.discriminatedUnion('type', [\n ArrayFragmentSchema,\n AttributeFragmentSchema,\n BooleanFragmentSchema,\n RuleFragmentSchema,\n PreparedExtensionTagFragmentSchema,\n ExtensionTagFragmentSchema,\n StringFragmentSchema,\n]);\n\nexport type AllFragments = z.infer<typeof AllFragmentsSchema>;\nexport type ArrayFragment = z.infer<typeof ArrayFragmentSchema>;\nexport type AttributeFragment = z.infer<typeof AttributeFragmentSchema>;\nexport type BooleanFragment = z.infer<typeof BooleanFragmentSchema>;\nexport type ChildFragments = Record<string, ValueFragments>;\nexport type PrimitiveFragments = z.infer<typeof PrimitiveFragmentsSchema>;\nexport type RuleFragment = z.infer<typeof RuleFragmentSchema>;\nexport type PreparedExtensionTagFragment = z.infer<\n typeof PreparedExtensionTagFragmentSchema\n>;\nexport type ExtensionTagFragment = z.infer<typeof ExtensionTagFragmentSchema>;\nexport type StringFragment = z.infer<typeof StringFragmentSchema>;\nexport type ValueFragments = z.infer<typeof ValueFragmentsSchema>;\nexport type ResultFragment = RuleFragment | ExtensionTagFragment;\n\nexport function string(value: string): StringFragment {\n return {\n type: 'string',\n isComplete: true,\n value,\n };\n}\n\nexport function boolean(value: string | boolean): BooleanFragment {\n return {\n type: 'boolean',\n isComplete: true,\n value: typeof value === 'string' ? starlark.asBoolean(value) : value,\n };\n}\n\nexport function rule(\n rule: string,\n children: ChildFragments = {},\n isComplete = false,\n): RuleFragment {\n return {\n type: 'rule',\n rule,\n isComplete,\n children,\n };\n}\n\nexport function preparedExtensionTag(\n extension: string,\n rawExtension: string,\n offset: number,\n): PreparedExtensionTagFragment {\n return {\n type: 'preparedExtensionTag',\n extension,\n rawExtension,\n offset,\n isComplete: false, // never complete\n };\n}\n\nexport function extensionTag(\n extension: string,\n rawExtension: string,\n tag: string,\n offset: number,\n children: ChildFragments = {},\n rawString?: string,\n isComplete = false,\n): ExtensionTagFragment {\n return {\n type: 'extensionTag',\n extension,\n rawExtension,\n tag,\n offset,\n rawString,\n isComplete,\n children,\n };\n}\n\nexport function attribute(\n name: string,\n value?: ValueFragments,\n isComplete = false,\n): AttributeFragment {\n return {\n type: 'attribute',\n name,\n value,\n isComplete,\n };\n}\n\nexport function array(\n items: PrimitiveFragments[] = [],\n isComplete = false,\n): ArrayFragment {\n return {\n type: 'array',\n items,\n isComplete,\n };\n}\n\nexport function isValue(data: unknown): data is ValueFragments {\n const result = ValueFragmentsSchema.safeParse(data);\n return result.success;\n}\n\nexport function isPrimitive(data: unknown): data is PrimitiveFragments {\n const result = PrimitiveFragmentsSchema.safeParse(data);\n return result.success;\n}\n"]}
@@ -13,7 +13,7 @@ const query = good_enough_parser_1.query.tree({
13
13
  });
14
14
  const starlarkLang = good_enough_parser_1.lang.createLang('starlark');
15
15
  function parse(input) {
16
- const parsedResult = starlarkLang.query(input, query, new context_1.Ctx());
16
+ const parsedResult = starlarkLang.query(input, query, new context_1.Ctx(input));
17
17
  return parsedResult?.results ?? [];
18
18
  }
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/index.ts"],"names":[],"mappings":";;AAgBA,sBAGC;AAnBD,2DAAsD;AACtD,uCAAgC;AAChC,qDAAiD;AAEjD,mCAAgC;AAEhC,MAAM,IAAI,GAAG,0BAAC,CAAC,GAAG,CAAM,aAAK,EAAE,8BAAa,CAAC,CAAC;AAE9C,MAAM,KAAK,GAAG,0BAAC,CAAC,IAAI,CAAM;IACxB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,yBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEjD,SAAgB,KAAK,CAAC,KAAa;IACjC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,aAAG,EAAE,CAAC,CAAC;IACjE,OAAO,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC;AACrC,CAAC","sourcesContent":["import { lang, query as q } from 'good-enough-parser';\nimport { Ctx } from './context';\nimport { extensionTags } from './extension-tags';\nimport type { ResultFragment } from './fragments';\nimport { rules } from './rules';\n\nconst rule = q.alt<Ctx>(rules, extensionTags);\n\nconst query = q.tree<Ctx>({\n type: 'root-tree',\n maxDepth: 16,\n search: rule,\n});\n\nconst starlarkLang = lang.createLang('starlark');\n\nexport function parse(input: string): ResultFragment[] {\n const parsedResult = starlarkLang.query(input, query, new Ctx());\n return parsedResult?.results ?? [];\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel-module/parser/index.ts"],"names":[],"mappings":";;AAgBA,sBAGC;AAnBD,2DAAsD;AACtD,uCAAgC;AAChC,qDAAiD;AAEjD,mCAAgC;AAEhC,MAAM,IAAI,GAAG,0BAAC,CAAC,GAAG,CAAM,aAAK,EAAE,8BAAa,CAAC,CAAC;AAE9C,MAAM,KAAK,GAAG,0BAAC,CAAC,IAAI,CAAM;IACxB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,yBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEjD,SAAgB,KAAK,CAAC,KAAa;IACjC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC;AACrC,CAAC","sourcesContent":["import { lang, query as q } from 'good-enough-parser';\nimport { Ctx } from './context';\nimport { extensionTags } from './extension-tags';\nimport type { ResultFragment } from './fragments';\nimport { rules } from './rules';\n\nconst rule = q.alt<Ctx>(rules, extensionTags);\n\nconst query = q.tree<Ctx>({\n type: 'root-tree',\n maxDepth: 16,\n search: rule,\n});\n\nconst starlarkLang = lang.createLang('starlark');\n\nexport function parse(input: string): ResultFragment[] {\n const parsedResult = starlarkLang.query(input, query, new Ctx(input));\n return parsedResult?.results ?? [];\n}\n"]}
@@ -29,6 +29,8 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
29
29
  isComplete: boolean;
30
30
  }>, Record<string, any>>;
31
31
  isComplete: z.ZodBoolean;
32
+ offset: z.ZodNumber;
33
+ rawString: z.ZodOptional<z.ZodString>;
32
34
  }, {
33
35
  extension: z.ZodLiteral<"maven">;
34
36
  tag: z.ZodLiteral<"artifact">;
@@ -107,6 +109,7 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
107
109
  }>;
108
110
  }>, "strip", z.ZodTypeAny, {
109
111
  type: "extensionTag";
112
+ offset: number;
110
113
  children: {
111
114
  group: {
112
115
  type: "string";
@@ -128,8 +131,10 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
128
131
  isComplete: boolean;
129
132
  extension: "maven";
130
133
  rawExtension: string;
134
+ rawString?: string | undefined;
131
135
  }, {
132
136
  type: "extensionTag";
137
+ offset: number;
133
138
  children: {
134
139
  group: {
135
140
  type: "string";
@@ -151,8 +156,10 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
151
156
  isComplete: boolean;
152
157
  extension: "maven";
153
158
  rawExtension: string;
159
+ rawString?: string | undefined;
154
160
  }>, PackageDependency<Record<string, any>>[], {
155
161
  type: "extensionTag";
162
+ offset: number;
156
163
  children: {
157
164
  group: {
158
165
  type: "string";
@@ -174,6 +181,7 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
174
181
  isComplete: boolean;
175
182
  extension: "maven";
176
183
  rawExtension: string;
184
+ rawString?: string | undefined;
177
185
  }>, z.ZodEffects<z.ZodObject<z.objectUtil.extendShape<{
178
186
  type: z.ZodLiteral<"extensionTag">;
179
187
  extension: z.ZodString;
@@ -201,6 +209,8 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
201
209
  isComplete: boolean;
202
210
  }>, Record<string, any>>;
203
211
  isComplete: z.ZodBoolean;
212
+ offset: z.ZodNumber;
213
+ rawString: z.ZodOptional<z.ZodString>;
204
214
  }, {
205
215
  extension: z.ZodLiteral<"maven">;
206
216
  tag: z.ZodLiteral<"install">;
@@ -284,6 +294,7 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
284
294
  }>;
285
295
  }>, "strip", z.ZodTypeAny, {
286
296
  type: "extensionTag";
297
+ offset: number;
287
298
  children: {
288
299
  repositories: {
289
300
  type: "array";
@@ -304,8 +315,10 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
304
315
  isComplete: boolean;
305
316
  extension: "maven";
306
317
  rawExtension: string;
318
+ rawString?: string | undefined;
307
319
  }, {
308
320
  type: "extensionTag";
321
+ offset: number;
309
322
  children: {
310
323
  repositories: {
311
324
  type: "array";
@@ -322,8 +335,10 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
322
335
  isComplete: boolean;
323
336
  extension: "maven";
324
337
  rawExtension: string;
338
+ rawString?: string | undefined;
325
339
  }>, PackageDependency<Record<string, any>>[], {
326
340
  type: "extensionTag";
341
+ offset: number;
327
342
  children: {
328
343
  repositories: {
329
344
  type: "array";
@@ -340,5 +355,6 @@ export declare const RuleToMavenPackageDep: z.ZodUnion<[z.ZodEffects<z.ZodObject
340
355
  isComplete: boolean;
341
356
  extension: "maven";
342
357
  rawExtension: string;
358
+ rawString?: string | undefined;
343
359
  }>]>;
344
360
  export declare function fillRegistryUrls(packageDeps: PackageDependency[][]): PackageDependency[];
@@ -29,6 +29,8 @@ export declare const RuleToDockerPackageDep: z.ZodEffects<z.ZodObject<z.objectUt
29
29
  isComplete: boolean;
30
30
  }>, Record<string, any>>;
31
31
  isComplete: z.ZodBoolean;
32
+ offset: z.ZodNumber;
33
+ rawString: z.ZodOptional<z.ZodString>;
32
34
  }, {
33
35
  extension: z.ZodLiteral<"oci">;
34
36
  tag: z.ZodLiteral<"pull">;
@@ -130,6 +132,7 @@ export declare const RuleToDockerPackageDep: z.ZodEffects<z.ZodObject<z.objectUt
130
132
  }>;
131
133
  }>, "strip", z.ZodTypeAny, {
132
134
  type: "extensionTag";
135
+ offset: number;
133
136
  children: {
134
137
  name: {
135
138
  type: "string";
@@ -156,8 +159,10 @@ export declare const RuleToDockerPackageDep: z.ZodEffects<z.ZodObject<z.objectUt
156
159
  isComplete: boolean;
157
160
  extension: "oci";
158
161
  rawExtension: string;
162
+ rawString?: string | undefined;
159
163
  }, {
160
164
  type: "extensionTag";
165
+ offset: number;
161
166
  children: {
162
167
  name: {
163
168
  type: "string";
@@ -184,8 +189,10 @@ export declare const RuleToDockerPackageDep: z.ZodEffects<z.ZodObject<z.objectUt
184
189
  isComplete: boolean;
185
190
  extension: "oci";
186
191
  rawExtension: string;
192
+ rawString?: string | undefined;
187
193
  }>, PackageDependency<Record<string, any>>, {
188
194
  type: "extensionTag";
195
+ offset: number;
189
196
  children: {
190
197
  name: {
191
198
  type: "string";
@@ -212,4 +219,5 @@ export declare const RuleToDockerPackageDep: z.ZodEffects<z.ZodObject<z.objectUt
212
219
  isComplete: boolean;
213
220
  extension: "oci";
214
221
  rawExtension: string;
222
+ rawString?: string | undefined;
215
223
  }>;