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.
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.d.ts +2 -2
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/migrations/types.d.ts +1 -3
- package/dist/config/migrations/types.js.map +1 -1
- package/dist/config/options/index.js +1 -1
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/internal/group.js +0 -1
- package/dist/config/presets/internal/group.js.map +1 -1
- package/dist/config/presets/types.d.ts +4 -4
- package/dist/config/presets/types.js.map +1 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/logger/utils.js +4 -2
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/artifactory/index.js +1 -1
- package/dist/modules/datasource/artifactory/index.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +1 -1
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/datasource.d.ts +1 -1
- package/dist/modules/datasource/datasource.js +3 -1
- package/dist/modules/datasource/datasource.js.map +1 -1
- package/dist/modules/datasource/deb/common.d.ts +3 -3
- package/dist/modules/datasource/deb/common.js.map +1 -1
- package/dist/modules/datasource/docker/ecr.js +1 -1
- package/dist/modules/datasource/docker/ecr.js.map +1 -1
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/nuget/v2.js +1 -1
- package/dist/modules/datasource/nuget/v2.js.map +1 -1
- package/dist/modules/datasource/pod/index.js +1 -2
- package/dist/modules/datasource/pod/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
- package/dist/modules/datasource/sbt-plugin/index.js +1 -2
- package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
- package/dist/modules/manager/ansible-galaxy/collections-metadata.js +1 -2
- package/dist/modules/manager/ansible-galaxy/collections-metadata.js.map +1 -1
- package/dist/modules/manager/asdf/upgradeable-tooling.js +4 -4
- package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/batect/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +1 -2
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/parser.js +1 -1
- package/dist/modules/manager/bazel/parser.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/context.d.ts +4 -3
- package/dist/modules/manager/bazel-module/parser/context.js +9 -6
- package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/extension-tags.js +10 -2
- package/dist/modules/manager/bazel-module/parser/extension-tags.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +20 -2
- package/dist/modules/manager/bazel-module/parser/fragments.js +8 -2
- package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/index.js +1 -1
- package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/maven.d.ts +16 -0
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +8 -0
- package/dist/modules/manager/bazel-module/parser/oci.js +4 -1
- package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +1 -1
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/artifacts.js +1 -1
- package/dist/modules/manager/cargo/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/cargo/types.d.ts +1 -3
- package/dist/modules/manager/cargo/types.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +4 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +3 -3
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/deps-edn/types.js.map +1 -1
- package/dist/modules/manager/dockerfile/extract.js +2 -3
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +17 -17
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/flux/types.d.ts +3 -3
- package/dist/modules/manager/flux/types.js.map +1 -1
- package/dist/modules/manager/git-submodules/types.d.ts +2 -2
- package/dist/modules/manager/git-submodules/types.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +2 -2
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/types.d.ts +2 -2
- package/dist/modules/manager/glasskube/types.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +1 -1
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/utils.js +6 -2
- package/dist/modules/manager/gradle/utils.js.map +1 -1
- package/dist/modules/manager/haskell-cabal/extract.js +1 -1
- package/dist/modules/manager/haskell-cabal/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +1 -1
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +2 -2
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +1 -1
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/utils.js +1 -1
- package/dist/modules/manager/helmv3/utils.js.map +1 -1
- package/dist/modules/manager/homebrew/util.js +1 -2
- package/dist/modules/manager/homebrew/util.js.map +1 -1
- package/dist/modules/manager/jsonnet-bundler/extract.js +1 -1
- package/dist/modules/manager/jsonnet-bundler/extract.js.map +1 -1
- package/dist/modules/manager/leiningen/extract.js +1 -2
- package/dist/modules/manager/leiningen/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js +7 -7
- package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/nix/extract.js +1 -1
- package/dist/modules/manager/nix/extract.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +1 -1
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +1 -2
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +1 -1
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/nuget/util.js +2 -2
- package/dist/modules/manager/nuget/util.js.map +1 -1
- package/dist/modules/manager/osgi/extract.js +3 -3
- package/dist/modules/manager/osgi/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js +1 -1
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +3 -2
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pip-compile/artifacts.js +8 -2
- package/dist/modules/manager/pip-compile/artifacts.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.d.ts +5 -3
- package/dist/modules/manager/pip-compile/common.js +34 -13
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip-compile/extract.js.map +1 -1
- package/dist/modules/manager/pip-compile/types.d.ts +1 -0
- package/dist/modules/manager/pip-compile/types.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +2 -2
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/pre-commit/types.d.ts +2 -2
- package/dist/modules/manager/pre-commit/types.js.map +1 -1
- package/dist/modules/manager/pub/artifacts.js +1 -1
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/swift/extract.js +1 -2
- package/dist/modules/manager/swift/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +2 -2
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
- package/dist/modules/manager/terraform/hcl/types.d.ts +1 -3
- package/dist/modules/manager/terraform/hcl/types.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
- package/dist/modules/manager/terragrunt/artifacts.js +1 -1
- package/dist/modules/manager/terragrunt/artifacts.js.map +1 -1
- package/dist/modules/manager/types.d.ts +1 -0
- package/dist/modules/manager/types.js.map +1 -1
- package/dist/modules/manager/woodpecker/types.d.ts +2 -2
- package/dist/modules/manager/woodpecker/types.js.map +1 -1
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/index.js +1 -1
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/utils.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +2 -2
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +1 -1
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +6 -5
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/pr-cache.d.ts +3 -2
- package/dist/modules/platform/gitea/pr-cache.js +21 -12
- package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +20 -16
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/types.d.ts +2 -2
- package/dist/modules/platform/types.js.map +1 -1
- package/dist/modules/versioning/bazel-module/bzlmod-version.d.ts +1 -1
- package/dist/modules/versioning/bazel-module/bzlmod-version.js.map +1 -1
- package/dist/modules/versioning/generic.d.ts +2 -6
- package/dist/modules/versioning/generic.js.map +1 -1
- package/dist/modules/versioning/gradle/compare.d.ts +2 -2
- package/dist/modules/versioning/gradle/compare.js.map +1 -1
- package/dist/modules/versioning/gradle/index.js +1 -1
- package/dist/modules/versioning/gradle/index.js.map +1 -1
- package/dist/modules/versioning/pvp/range.js +2 -2
- package/dist/modules/versioning/pvp/range.js.map +1 -1
- package/dist/modules/versioning/rpm/index.js +5 -5
- package/dist/modules/versioning/rpm/index.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +4 -4
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +1 -3
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/types/git.d.ts +2 -2
- package/dist/types/git.js.map +1 -1
- package/dist/types/platform/github/index.d.ts +4 -4
- package/dist/types/platform/github/index.js.map +1 -1
- package/dist/types/platform/gitlab/index.d.ts +2 -2
- package/dist/types/platform/gitlab/index.js.map +1 -1
- package/dist/util/assign-keys.d.ts +1 -3
- package/dist/util/assign-keys.js.map +1 -1
- package/dist/util/cache/repository/http-cache.js +1 -1
- package/dist/util/cache/repository/http-cache.js.map +1 -1
- package/dist/util/exec/types.d.ts +2 -2
- package/dist/util/exec/types.js.map +1 -1
- package/dist/util/git/auth.js +1 -1
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/index.d.ts +10 -10
- package/dist/util/git/index.js +22 -26
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/index.js.map +1 -1
- package/dist/util/http/types.d.ts +3 -5
- package/dist/util/http/types.js.map +1 -1
- package/dist/util/pretty-time.js.map +1 -1
- package/dist/util/schema-utils.js.map +1 -1
- package/dist/util/stats.js +1 -0
- package/dist/util/stats.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +2 -2
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/init/config.d.ts +1 -2
- package/dist/workers/repository/init/config.js +0 -13
- package/dist/workers/repository/init/config.js.map +1 -1
- package/dist/workers/repository/init/merge.d.ts +2 -1
- package/dist/workers/repository/init/merge.js +13 -3
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/model/commit-message.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +3 -1
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +1 -1
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +3 -1
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/schedule.js +1 -1
- package/dist/workers/repository/update/branch/schedule.js.map +1 -1
- package/dist/workers/repository/update/pr/body/updates-table.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +9 -0
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +32 -25
- 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,
|
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
|
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) =>
|
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;
|
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":";;;
|
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,
|
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
|
}>;
|