renovate 43.271.0 → 43.271.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/options/index.js +1 -1
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/util.js +3 -1
- package/dist/config/presets/util.js.map +1 -1
- package/dist/global-config-option-defaults.generated.js +1 -1
- package/dist/global-config-option-defaults.generated.js.map +1 -1
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/with-sanitizer.js +2 -2
- package/dist/logger/with-sanitizer.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +3 -1
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/index.d.ts +2 -2
- package/dist/modules/datasource/index.js +6 -2
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/metadata-cache.js +9 -7
- package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
- package/dist/modules/datasource/sbt-package/index.js +5 -3
- package/dist/modules/datasource/sbt-package/index.js.map +1 -1
- package/dist/modules/datasource/sbt-plugin/index.js +2 -2
- package/dist/modules/datasource/sbt-plugin/index.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/custom/index.js.map +1 -1
- package/dist/modules/manager/deno/update.js +4 -2
- package/dist/modules/manager/deno/update.js.map +1 -1
- package/dist/modules/manager/deps-edn/parser.js +2 -2
- package/dist/modules/manager/deps-edn/parser.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +14 -14
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +3 -1
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/parser/assignments.js +22 -18
- package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
- package/dist/modules/manager/gradle/parser/common.js +12 -8
- package/dist/modules/manager/gradle/parser/common.js.map +1 -1
- package/dist/modules/manager/gradle/parser/objects.js +11 -9
- package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
- package/dist/modules/manager/gradle/parser/registry-urls.js +6 -6
- package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
- package/dist/modules/manager/index.d.ts +2 -2
- package/dist/modules/manager/index.js +6 -2
- package/dist/modules/manager/index.js.map +1 -1
- package/dist/modules/manager/leiningen/extract.js +8 -4
- package/dist/modules/manager/leiningen/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +13 -11
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +3 -1
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/platform/azure/azure-helper.js +2 -2
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/bitbucket/comments.js +10 -4
- package/dist/modules/platform/bitbucket/comments.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +3 -1
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +13 -5
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/forgejo/forgejo-helper.js +3 -1
- package/dist/modules/platform/forgejo/forgejo-helper.js.map +1 -1
- package/dist/modules/platform/gitea/gitea-helper.js +3 -1
- package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
- package/dist/modules/platform/github/index.js +10 -4
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/massage-markdown-links.js +2 -2
- package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +10 -4
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/index.d.ts +1 -1
- package/dist/modules/platform/index.js +3 -1
- package/dist/modules/platform/index.js.map +1 -1
- package/dist/modules/versioning/cargo/index.js +15 -5
- package/dist/modules/versioning/cargo/index.js.map +1 -1
- package/dist/modules/versioning/go-mod-directive/index.js +9 -3
- package/dist/modules/versioning/go-mod-directive/index.js.map +1 -1
- package/dist/modules/versioning/gradle/index.js +17 -15
- package/dist/modules/versioning/gradle/index.js.map +1 -1
- package/dist/modules/versioning/hex/index.js +6 -2
- package/dist/modules/versioning/hex/index.js.map +1 -1
- package/dist/modules/versioning/index.d.ts +2 -2
- package/dist/modules/versioning/index.js +6 -2
- package/dist/modules/versioning/index.js.map +1 -1
- package/dist/modules/versioning/maven/compare.js +5 -3
- package/dist/modules/versioning/maven/compare.js.map +1 -1
- package/dist/modules/versioning/maven/index.js +23 -17
- package/dist/modules/versioning/maven/index.js.map +1 -1
- package/dist/modules/versioning/npm/index.js +6 -2
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/pep440/index.js +5 -3
- package/dist/modules/versioning/pep440/index.js.map +1 -1
- package/dist/modules/versioning/ruby/index.js +39 -19
- package/dist/modules/versioning/ruby/index.js.map +1 -1
- package/dist/modules/versioning/ruby/operator.js +6 -2
- package/dist/modules/versioning/ruby/operator.js.map +1 -1
- package/dist/modules/versioning/ruby/range.js +4 -4
- package/dist/modules/versioning/ruby/range.js.map +1 -1
- package/dist/modules/versioning/ruby/version.js +35 -23
- package/dist/modules/versioning/ruby/version.js.map +1 -1
- package/dist/modules/versioning/semver/index.js +3 -1
- package/dist/modules/versioning/semver/index.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.d.ts +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +3 -1
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/swift/index.js +6 -2
- package/dist/modules/versioning/swift/index.js.map +1 -1
- package/dist/util/cache/package/with-cache.js +4 -2
- package/dist/util/cache/package/with-cache.js.map +1 -1
- package/dist/util/exec/common.d.ts +1 -1
- package/dist/util/exec/common.js +3 -1
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/git/index.js +2 -2
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/http/bitbucket-server.js +2 -2
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/forgejo.js +2 -2
- package/dist/util/http/forgejo.js.map +1 -1
- package/dist/util/http/gitea.js +2 -2
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.d.ts +1 -1
- package/dist/util/http/github.js +2 -2
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.d.ts +1 -1
- package/dist/util/http/gitlab.js +2 -2
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/scm-manager.js +5 -3
- package/dist/util/http/scm-manager.js.map +1 -1
- package/dist/workers/repository/extract/index.js +2 -2
- package/dist/workers/repository/extract/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +3 -1
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/updates/flatten.js +3 -1
- package/dist/workers/repository/updates/flatten.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +3 -1
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +2 -2
- package/renovate-schema.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','0407066010ebb3d7ad4c1afe6b9a3615a3c11d64dc3cf0674cb9dfc3ea272273');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','b1324dc15e77012a667d33c48c14dec90aa25832593c6c47c219d57931bd1def');\nhashMap.set('bazelisk','49e6bd1fc8f03facd06e517dc64596833b90ee0a079a45cff78f0eeb3c3566f8');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','2df1756b14b3d690e5ad1295bc1e78d8a8d7b967a552fd7b8e3274866a5acf3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6731d919540235a39154d189d4c917fc4aee6b3b99194c4baf1aa9c7cc5c4f8b');\nhashMap.set('cake','65ad4f28c318675b9edb49dbd11d677f42c762b01b3f5a25dd3b2f345ecd387e');\nhashMap.set('cargo','65b1485dc3e69910bf196910acbe3c54111d8dbf9ee431bc813b9ebcef3b0f62');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','08310c39254947632d42058f74f755e9d3f3019c2edeeaf52b5142917085e2df');\nhashMap.set('composer','991a845be7ede562df4abfb005caf5e22cded077cec46711f8c008e468fbd633');\nhashMap.set('conan','b846e8812d65d4201dc0bf7c1d5c344e3a1edaaff6441010875171028be2f0fb');\nhashMap.set('copier','3ff250122cf49d52f23fcd3686274b0e86a99d0cb8bfa7e3e2ee3dd3b3babd56');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','9fbc30b9ee7b8eb6ccbc1ef459b3c983bdb1dff38f43b51013056ce7b94ceced');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','ac472ae4897dc1df85326dbd89a8c3488579ae2b180014ffcf085ce422e19dbd');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','22de4afb277e579dcbc7ec765eca2ddc5e4b1bb39d49e762e8af026fa062c53f');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','4b633aedb8a792727f5e5d0b123a6b5a1b01429ea3153c567e2258523816205c');\nhashMap.set('github-actions','a85781cdcfe5557acfb087bafbc78cc0d61a3f0d0d011d5e1cb6a5ba0fb8760b');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','e7ee3392d1f900fc1299308c8e930db9288790c6d0b6c35f1a62e55683090d34');\nhashMap.set('gomod','9ab033fb37fbf3b212232019ba2d36e247acc9831f7c17818a40cb155606abfe');\nhashMap.set('gradle','65487851c4592d9f6b7889137576c4e2dd6a98b8bee6db9c999d67bfc13d5247');\nhashMap.set('gradle-wrapper','f85031e7feb4e811aa5f29c589a30f8076a078e5bbf366fb65fb28b5a47d2c44');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','5bbc18bf059640191e2237408ca3b442556834e5c1c05d3317e82e7e097ae1f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','86799a6d3fba17b1f4c8017d308cba44a1efcf6d6290371263b8cf14be9e16ae');\nhashMap.set('hermit','cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','f918a7f378dc207cadf291e7481006008c69623f690902ed921e1e33db270b78');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','c6ee547378d5c5619a0fe94be35f9838e0f006b4807a896e9caefefa20efacf7');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','2bf7b65d51718daf3eec4f30c0fc7f2f045f4f8f24862bebe17c2174abb606b9');\nhashMap.set('maven-wrapper','976ed8a59cf43b0c765b1a49ebc5669478e78278cf48f4ce3d0deb49647d10e3');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','a5a62a5b5ae6d7429c6e4b8a15a6bf8937126605d9e5f2c15751e66a4f5b3418');\nhashMap.set('mix','ead2078c33550ec8695298c053f549866e1701fa096440d4228e3e51f8f1e49c');\nhashMap.set('nix','95f0827f7ec9a3bfd5119534f129aad6cf26b28e99d55aec0945f08bbfff9fb1');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','9f4e4a953c941fb64bb4dc86bf83ecc2c91cf937c034edd65d355f9ccdf73d45');\nhashMap.set('nuget','54c1e149b47e4f588e99857e3e62b420f50649a868a28944a0c82a7b7fb530e7');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','fffd093eaf6de3cab7b2f6b57e57715aa240fcd958954f31fbc47f18e1730a4d');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','fd26981e4e865b8fece492ff78faf34701af62bb8f39397445780eb81b66b7db');\nhashMap.set('pip_requirements','edaf5ec21e63fd252e6737b294f215d59068b0bba1dea92b9d4510dbb872c837');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','1d0af710667f6dce377feae9aa238b21fe5e0e75e75758a70f5e9758c6cb6678');\nhashMap.set('pixi','7d183aaae4370a0c62496bbff60ad12fd4dd46822630541f712f437dcea021e1');\nhashMap.set('poetry','0211739556f8193c70fa69cbf66c60e688042fd7dc7a2fe08f9f328b35ad1f82');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','aad0dd6524158fda5345d75662f337b275c6c46b29f051ba94201d42c22b0da8');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','e957f1f1563af4e5fbd1c552ca15632b7808d9d2e51ec0da6022a1f84372caec');\nhashMap.set('sbt','74125bd9c76a5724092258cd1dee1ea99fc0d735b463a2b64fedc5d950efde2a');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','374c6e681a1b2a40c6d914a94485f15e68051f651972cd2dd3415ed4725eb74c');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','142c3f0549c4152297615b5bbf3a78ba8f7ce6a0cebcea63b81e9815dca40494');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','dfd7b905577b362093ce72e6ee597308f97c83678ddb15d6455a1627969b8b7d');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','46efac5bda6737cccacf2d89ce1d384ee410876c5557b4c02be2275b7c1d862d');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','0407066010ebb3d7ad4c1afe6b9a3615a3c11d64dc3cf0674cb9dfc3ea272273');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4994a8bd86d5bfb169d67c08efd8509b58c368c2bf3dd9bbe42553c0fabc3f1a');\nhashMap.set('bazel-module','b1324dc15e77012a667d33c48c14dec90aa25832593c6c47c219d57931bd1def');\nhashMap.set('bazelisk','49e6bd1fc8f03facd06e517dc64596833b90ee0a079a45cff78f0eeb3c3566f8');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','2df1756b14b3d690e5ad1295bc1e78d8a8d7b967a552fd7b8e3274866a5acf3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','16e9786a981da29f57239829d009358643e63d61aca08a752aa5deb5a5eb6c15');\nhashMap.set('cake','65ad4f28c318675b9edb49dbd11d677f42c762b01b3f5a25dd3b2f345ecd387e');\nhashMap.set('cargo','64f58a5397726996c71d7709d9633edf9e3e387d9a19da655f2034d3248e7371');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','08310c39254947632d42058f74f755e9d3f3019c2edeeaf52b5142917085e2df');\nhashMap.set('composer','991a845be7ede562df4abfb005caf5e22cded077cec46711f8c008e468fbd633');\nhashMap.set('conan','b846e8812d65d4201dc0bf7c1d5c344e3a1edaaff6441010875171028be2f0fb');\nhashMap.set('copier','3ff250122cf49d52f23fcd3686274b0e86a99d0cb8bfa7e3e2ee3dd3b3babd56');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','db87814a407e43b8edaf7ccdf1659407fd934597e4253a3f330b8219dc34c40e');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','ac472ae4897dc1df85326dbd89a8c3488579ae2b180014ffcf085ce422e19dbd');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','22de4afb277e579dcbc7ec765eca2ddc5e4b1bb39d49e762e8af026fa062c53f');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','4b633aedb8a792727f5e5d0b123a6b5a1b01429ea3153c567e2258523816205c');\nhashMap.set('github-actions','a85781cdcfe5557acfb087bafbc78cc0d61a3f0d0d011d5e1cb6a5ba0fb8760b');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','e7ee3392d1f900fc1299308c8e930db9288790c6d0b6c35f1a62e55683090d34');\nhashMap.set('gomod','9ab033fb37fbf3b212232019ba2d36e247acc9831f7c17818a40cb155606abfe');\nhashMap.set('gradle','65487851c4592d9f6b7889137576c4e2dd6a98b8bee6db9c999d67bfc13d5247');\nhashMap.set('gradle-wrapper','f85031e7feb4e811aa5f29c589a30f8076a078e5bbf366fb65fb28b5a47d2c44');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','5bbc18bf059640191e2237408ca3b442556834e5c1c05d3317e82e7e097ae1f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','86799a6d3fba17b1f4c8017d308cba44a1efcf6d6290371263b8cf14be9e16ae');\nhashMap.set('hermit','cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','f918a7f378dc207cadf291e7481006008c69623f690902ed921e1e33db270b78');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','c6ee547378d5c5619a0fe94be35f9838e0f006b4807a896e9caefefa20efacf7');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','f084cdc88320ca1e82af957d0008e7c9ce991d3282cb428f3108a5722239cead');\nhashMap.set('maven-wrapper','976ed8a59cf43b0c765b1a49ebc5669478e78278cf48f4ce3d0deb49647d10e3');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','a5a62a5b5ae6d7429c6e4b8a15a6bf8937126605d9e5f2c15751e66a4f5b3418');\nhashMap.set('mix','95244e358a05bf68f980f1875bb915d412b48d4ccd49abb676224fc6339ac90e');\nhashMap.set('nix','11aa2f2087914c6f0e66a97938d13c55c3900a025e6968fd8484965f7cdb9fd1');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','4f793c5930bdc06abf429216bc2c112232e2a1645363d693ce138a8ecfe7f3af');\nhashMap.set('nuget','9f7527c36b786ab8efe3c0b53917aea7f6a34e6602f041cf671728959b4266c1');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','fffd093eaf6de3cab7b2f6b57e57715aa240fcd958954f31fbc47f18e1730a4d');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','96a857864a15d4d1cb23fd92b69f0f6dedb6168018f59b54105e1a76d6526a39');\nhashMap.set('pip_requirements','edaf5ec21e63fd252e6737b294f215d59068b0bba1dea92b9d4510dbb872c837');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','870a4a7c22a49a5165986a7818f1d16dafedf405768d0ba23f75ca71586f2545');\nhashMap.set('pixi','7d183aaae4370a0c62496bbff60ad12fd4dd46822630541f712f437dcea021e1');\nhashMap.set('poetry','96585313f96c4e6ad29dc495a49f69f0e63ad92e6c77491216f4ca73898faa2c');\nhashMap.set('pre-commit','d191792fe6a89025de644421e9e6391c4048f10bf8e46421c676290a35c9e587');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','aad0dd6524158fda5345d75662f337b275c6c46b29f051ba94201d42c22b0da8');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','e957f1f1563af4e5fbd1c552ca15632b7808d9d2e51ec0da6022a1f84372caec');\nhashMap.set('sbt','e508c2e2fb8d44e6cbec20f449c8eed096728566e6058187269c637930d388fb');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','374c6e681a1b2a40c6d914a94485f15e68051f651972cd2dd3415ed4725eb74c');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','142c3f0549c4152297615b5bbf3a78ba8f7ce6a0cebcea63b81e9815dca40494');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','dfd7b905577b362093ce72e6ee597308f97c83678ddb15d6455a1627969b8b7d');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','46efac5bda6737cccacf2d89ce1d384ee410876c5557b4c02be2275b7c1d862d');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
|
|
@@ -67,7 +67,9 @@ async function updateArtifacts({ packageFileName: goModFileName, updatedDeps, ne
|
|
|
67
67
|
* @param match A string representing a golang replace directive block
|
|
68
68
|
* @returns A commented out block with // renovate-replace
|
|
69
69
|
*/
|
|
70
|
-
|
|
70
|
+
function blockCommentOut(match) {
|
|
71
|
+
return match.replace(/(\r?\n)/g, "$1// renovate-replace ");
|
|
72
|
+
}
|
|
71
73
|
massagedGoMod = massagedGoMod.replace(inlineReplaceRegEx, inlineCommentOut).replace(blockReplaceRegEx, blockCommentOut);
|
|
72
74
|
if (massagedGoMod !== newGoModContent) logger.debug("Removed some relative replace statements and comments from go.mod");
|
|
73
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","names":["valid","major","isValid"],"sources":["../../../../lib/modules/manager/gomod/artifacts.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport { filterMap } from '../../../util/filter-map.ts';\nimport {\n ensureCacheDir,\n findLocalSiblingOrParent,\n isValidLocalPath,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { isValid } from '../../versioning/semver/index.ts';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types.ts';\nimport { getExtraDepsNotice } from './artifacts-extra.ts';\n\nconst { major, valid } = semver;\n\nfunction getUpdateImportPathCmds(\n updatedDeps: PackageDependency[],\n { constraints }: UpdateArtifactsConfig,\n): string[] {\n // Check if we fail to parse any major versions and log that they're skipped\n const invalidMajorDeps = updatedDeps.filter(\n ({ newVersion }) => !valid(newVersion),\n );\n if (invalidMajorDeps.length > 0) {\n invalidMajorDeps.forEach(({ depName }) =>\n logger.warn(\n { depName },\n 'Ignoring dependency: Could not get major version',\n ),\n );\n }\n\n const updateImportCommands = updatedDeps\n .filter(\n ({ newVersion }) =>\n valid(newVersion) && !newVersion!.endsWith('+incompatible'),\n )\n .map(({ depName, newVersion }) => ({\n depName: depName!,\n newMajor: major(newVersion!),\n }))\n // Skip path updates going from v0 to v1\n .filter(\n ({ depName, newMajor }) =>\n depName.startsWith('gopkg.in/') || newMajor > 1,\n )\n\n .map(\n ({ depName, newMajor }) =>\n `mod upgrade --mod-name=${depName} -t=${newMajor}`,\n );\n\n if (updateImportCommands.length > 0) {\n let installMarwanModArgs =\n 'install github.com/marwan-at-work/mod/cmd/mod@latest';\n const gomodModCompatibility = constraints?.gomodMod;\n if (gomodModCompatibility) {\n if (\n gomodModCompatibility.startsWith('v') &&\n isValid(gomodModCompatibility.replace(regEx(/^v/), ''))\n ) {\n installMarwanModArgs = installMarwanModArgs.replace(\n regEx(/@latest$/),\n `@${gomodModCompatibility}`,\n );\n } else {\n logger.debug(\n { gomodModCompatibility },\n 'marwan-at-work/mod compatibility range is not valid - skipping',\n );\n }\n } else {\n logger.debug(\n 'No marwan-at-work/mod compatibility range found - installing marwan-at-work/mod latest',\n );\n }\n updateImportCommands.unshift(`go ${installMarwanModArgs}`);\n }\n\n return updateImportCommands;\n}\n\nfunction useModcacherw(goVersion: string | undefined): boolean {\n if (!isString(goVersion)) {\n return true;\n }\n\n return semver.intersects(goVersion, `>=1.14`);\n}\n\nexport async function updateArtifacts({\n packageFileName: goModFileName,\n updatedDeps,\n newPackageFileContent: newGoModContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gomod.updateArtifacts(${goModFileName})`);\n\n const sumFileName = goModFileName.replace(regEx(/\\.mod$/), '.sum');\n const existingGoSumContent = await readLocalFile(sumFileName);\n if (!existingGoSumContent) {\n logger.debug('No go.sum found');\n return null;\n }\n const goModDir = upath.dirname(goModFileName);\n const goModFileBaseName = upath.basename(goModFileName);\n const modFileFlag =\n goModFileBaseName === 'go.mod'\n ? ''\n : ` -modfile=${quote(goModFileBaseName)}`;\n\n // The \"vendor\" directory can be next to the go.mod, but also in the parent directory in case\n // the go workspaces are used.\n const vendorDir = await findLocalSiblingOrParent(goModFileName, 'vendor');\n const vendorModulesFileName = upath.join(vendorDir ?? '', 'modules.txt');\n const useVendor =\n !!config.postUpdateOptions?.includes('gomodVendor') ||\n (!config.postUpdateOptions?.includes('gomodSkipVendor') &&\n vendorDir &&\n (await readLocalFile(vendorModulesFileName)) !== null);\n let massagedGoMod = newGoModContent;\n const useGoGenerate = !!config.postUpdateOptions?.includes('goGenerate');\n const allowedUnsafeExecutions = GlobalConfig.get('allowedUnsafeExecutions');\n const goGenerateAllowed = allowedUnsafeExecutions?.includes('goGenerate');\n\n if (config.postUpdateOptions?.includes('gomodMassage')) {\n // Regex match inline replace directive, example:\n // replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // https://go.dev/ref/mod#go-mod-file-replace\n\n // replace bracket after comments, so it doesn't break the regex, doing a complex regex causes problems\n // when there's a comment and \")\" after it, the regex will read replace block until comment.. and stop.\n massagedGoMod = massagedGoMod\n .split('\\n')\n .map((line) => {\n if (line.trim().startsWith('//')) {\n return line.replace(')', 'renovate-replace-bracket');\n }\n return line;\n })\n .join('\\n');\n\n const inlineReplaceRegEx = regEx(\n /(\\r?\\n)(replace\\s+[^\\s]+\\s+=>\\s+\\.\\.\\/.*)/g,\n );\n\n // $1 will be matched with the (\\r?n) group\n // $2 will be matched with the inline replace match, example\n // \"// renovate-replace replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\"\n const inlineCommentOut = '$1// renovate-replace $2';\n\n // Regex match replace directive block, example:\n // replace (\n // golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // )\n const blockReplaceRegEx = regEx(/(\\r?\\n)replace\\s*\\([^)]+\\s*\\)/g);\n\n /**\n * replacerFunction for commenting out replace blocks\n * @param match A string representing a golang replace directive block\n * @returns A commented out block with // renovate-replace\n */\n const blockCommentOut = (match: string): string =>\n match.replace(/(\\r?\\n)/g, '$1// renovate-replace ');\n\n // Comment out golang replace directives\n massagedGoMod = massagedGoMod\n .replace(inlineReplaceRegEx, inlineCommentOut)\n .replace(blockReplaceRegEx, blockCommentOut);\n\n if (massagedGoMod !== newGoModContent) {\n logger.debug(\n 'Removed some relative replace statements and comments from go.mod',\n );\n }\n }\n const goConstraints = deriveGoToolchainConstraints(config, newGoModContent);\n\n try {\n await writeLocalFile(goModFileName, massagedGoMod);\n\n const cmd = 'go';\n const env = getEnv();\n const execOptions: ExecOptions = {\n cwdFile: goModFileName,\n extraEnv: {\n GOPATH: await ensureCacheDir('go'),\n GOPROXY: env.GOPROXY,\n GOPRIVATE: env.GOPRIVATE,\n GONOPROXY: env.GONOPROXY,\n GONOSUMDB: env.GONOSUMDB,\n GOSUMDB: env.GOSUMDB,\n GOINSECURE: env.GOINSECURE,\n /* v8 ignore next -- TODO: add test */\n GOFLAGS: useModcacherw(goConstraints) ? '-modcacherw' : null,\n CGO_ENABLED: GlobalConfig.get('binarySource') === 'docker' ? '0' : null,\n ...getGitEnvironmentVariables(['go']),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'golang',\n constraint: goConstraints,\n },\n ],\n };\n\n const execCommands: string[] = [];\n\n let goGetDirs: string | undefined;\n if (config.goGetDirs) {\n goGetDirs = config.goGetDirs\n .filter((dir) => {\n const isValid = isValidLocalPath(dir);\n if (!isValid) {\n logger.warn({ dir }, 'Invalid path in goGetDirs');\n }\n return isValid;\n })\n .map(quote)\n .join(' ');\n\n if (goGetDirs === '') {\n throw new Error('Invalid goGetDirs');\n }\n }\n\n let args = `get${modFileFlag} `;\n\n if (goConstraints && !semver.intersects(goConstraints, `>=1.18`)) {\n // For Go versions < 1.18, we need to use the -d flag to avoid builds or installs\n // https://go.dev/doc/go1.18#go-get\n args += `-d `;\n }\n\n args += `-t ${goGetDirs ?? './...'}`;\n logger.trace({ cmd, args }, 'go get command included');\n execCommands.push(`${cmd} ${args}`);\n\n // Update import paths on major updates\n const isImportPathUpdateRequired =\n config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n\n if (isImportPathUpdateRequired) {\n const updateImportCmds = getUpdateImportPathCmds(updatedDeps, config);\n if (updateImportCmds.length > 0) {\n logger.debug(updateImportCmds, 'update import path commands included');\n // The updates\n execCommands.push(...updateImportCmds);\n }\n }\n\n const mustSkipGoModTidy =\n !config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n if (mustSkipGoModTidy) {\n logger.debug('go mod tidy command skipped');\n }\n\n let tidyOpts = '';\n if (config.postUpdateOptions?.includes('gomodTidy1.17')) {\n tidyOpts += ' -compat=1.17';\n }\n if (config.postUpdateOptions?.includes('gomodTidyE')) {\n tidyOpts += ' -e';\n }\n\n const isGoModTidyRequired =\n !mustSkipGoModTidy &&\n (config.postUpdateOptions?.includes('gomodTidy') === true ||\n config.postUpdateOptions?.includes('gomodTidy1.17') === true ||\n config.postUpdateOptions?.includes('gomodTidyE') === true ||\n (config.updateType === 'major' && isImportPathUpdateRequired));\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n let goWorkSumFileName = upath.join(goModDir, 'go.work.sum');\n if (useVendor) {\n // If we find a go.work, then use go workspace vendoring.\n const goWorkFile = await findLocalSiblingOrParent(\n goModFileName,\n 'go.work',\n );\n\n if (goWorkFile) {\n goWorkSumFileName = upath.join(\n upath.dirname(goWorkFile),\n 'go.work.sum',\n );\n\n args = 'work vendor';\n logger.debug('using go work vendor');\n execCommands.push(`${cmd} ${args}`);\n\n args = 'work sync';\n logger.debug('using go work sync');\n execCommands.push(`${cmd} ${args}`);\n } else {\n args = `mod vendor${modFileFlag}`;\n logger.debug('using go mod vendor');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n }\n\n // We tidy one more time as a solution for #6795\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (useGoGenerate) {\n if (goGenerateAllowed) {\n logger.debug('go generate command included');\n execCommands.push(`${cmd} generate ./...`);\n } else {\n logger.once.warn(\n `go generate command requested as a post update action, but goGenerate is not permitted in the allowedUnsafeExecutions`,\n );\n }\n }\n\n await exec(execCommands, execOptions);\n\n const status = await getRepoStatus();\n if (\n !status.modified.includes(sumFileName) &&\n !status.modified.includes(goModFileName) &&\n !status.modified.includes(goWorkSumFileName)\n ) {\n return null;\n }\n\n const res: UpdateArtifactsResult[] = [];\n if (status.modified.includes(sumFileName)) {\n logger.debug('Returning updated go.sum');\n res.push({\n file: {\n type: 'addition',\n path: sumFileName,\n contents: await readLocalFile(sumFileName),\n },\n });\n }\n\n if (status.modified.includes(goWorkSumFileName)) {\n logger.debug('Returning updated go.work.sum');\n res.push({\n file: {\n type: 'addition',\n path: goWorkSumFileName,\n contents: await readLocalFile(goWorkSumFileName),\n },\n });\n }\n\n // Include all the .go file import changes\n if (isImportPathUpdateRequired) {\n logger.debug('Returning updated go source files for import path changes');\n for (const f of status.modified) {\n if (f.endsWith('.go')) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n }\n\n const alreadyAdded = new Set<string>();\n const alreadyDeleted = new Set<string>();\n if (useVendor) {\n for (const f of status.modified.concat(status.not_added)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n alreadyAdded.add(f);\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n alreadyDeleted.add(f);\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n }\n\n // TODO: throws in tests (#22198)\n const finalGoModContent = (await readLocalFile(goModFileName, 'utf8'))!\n .replace(regEx(/\\/\\/ renovate-replace /g), '')\n .replace(regEx(/renovate-replace-bracket/g), ')');\n if (finalGoModContent !== newGoModContent) {\n const artifactResult: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: goModFileName,\n contents: finalGoModContent,\n },\n };\n\n const updatedDepNames = filterMap(updatedDeps, (dep) => dep?.depName);\n const extraDepsNotice = getExtraDepsNotice(\n newGoModContent,\n finalGoModContent,\n updatedDepNames,\n );\n\n if (extraDepsNotice) {\n artifactResult.notice = {\n file: goModFileName,\n message: extraDepsNotice,\n };\n }\n\n logger.debug('Found updated go.mod after go.sum update');\n res.push(artifactResult);\n alreadyAdded.add(goModFileName);\n }\n\n // add all files added when in `go generate` mode.\n // unfortunately there is not a good way as there is with vendoring or go import path updates to detect this.\n // Do this at the very very end to ensure we only capture files which would have been explicitly\n // modified, added, or deleted from a `go generate` invocation\n if (useGoGenerate && goGenerateAllowed) {\n logger.debug(\n 'Updating all modified files since generated files were added',\n );\n for (const f of status.modified.concat(status.created)) {\n if (!alreadyAdded.has(f)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n if (!alreadyDeleted.has(f)) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n }\n return res;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update go.sum');\n return [\n {\n artifactError: {\n fileName: sumFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n\nfunction getGoConstraints(content: string): string | undefined {\n // prefer toolchain directive when go.mod has one\n const toolchainMatch = regEx(/^toolchain\\s*go(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(\n content,\n );\n const toolchainVer = toolchainMatch?.groups?.gover;\n if (toolchainVer) {\n logger.debug(\n `Using go version ${toolchainVer} found in toolchain directive`,\n );\n return toolchainVer;\n }\n\n // If go.mod doesn't have toolchain directive and has a full go version spec,\n // for example `go 1.23.6`, pick this version, this doesn't match major.minor version spec.\n //\n // This is because when go.mod have same version defined in go directive and toolchain directive,\n // go will remove toolchain directive from go.mod.\n //\n // For example, go will rewrite `go 1.23.5\\ntoolchain go1.23.5` to `go 1.23.5` by default,\n // in this case, the go directive is the toolchain directive.\n const goFullVersion = regEx(/^go\\s*(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(content)\n ?.groups?.gover;\n if (goFullVersion) {\n return goFullVersion;\n }\n\n const re = regEx(/^go\\s*(?<gover>\\d+\\.\\d+)$/m);\n const match = re.exec(content);\n if (!match?.groups?.gover) {\n return undefined;\n }\n return `^${match.groups.gover}`;\n}\n\n/**\n * Derive the version of the Go toolchain needed to run this project.\n *\n * This matches with the `golang` Containerbase tool.\n *\n * In precedence order:\n *\n * 1. config: \\`constraints.go\\`\n * 1. \\`go.mod\\`: \\`toolchain\\` directive\n * 1. \\`go.mod\\`: \\`go\\` directive\n *\n * NOTE that the \\`constraints.golang\\` is not used (TODO #42601)\n */\nexport function deriveGoToolchainConstraints(\n config: UpdateArtifactsConfig,\n newGoModContent: string,\n): string | undefined {\n return config.constraints?.go ?? getGoConstraints(newGoModContent);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":["valid","major","isValid"],"sources":["../../../../lib/modules/manager/gomod/artifacts.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport { filterMap } from '../../../util/filter-map.ts';\nimport {\n ensureCacheDir,\n findLocalSiblingOrParent,\n isValidLocalPath,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { isValid } from '../../versioning/semver/index.ts';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types.ts';\nimport { getExtraDepsNotice } from './artifacts-extra.ts';\n\nconst { major, valid } = semver;\n\nfunction getUpdateImportPathCmds(\n updatedDeps: PackageDependency[],\n { constraints }: UpdateArtifactsConfig,\n): string[] {\n // Check if we fail to parse any major versions and log that they're skipped\n const invalidMajorDeps = updatedDeps.filter(\n ({ newVersion }) => !valid(newVersion),\n );\n if (invalidMajorDeps.length > 0) {\n invalidMajorDeps.forEach(({ depName }) =>\n logger.warn(\n { depName },\n 'Ignoring dependency: Could not get major version',\n ),\n );\n }\n\n const updateImportCommands = updatedDeps\n .filter(\n ({ newVersion }) =>\n valid(newVersion) && !newVersion!.endsWith('+incompatible'),\n )\n .map(({ depName, newVersion }) => ({\n depName: depName!,\n newMajor: major(newVersion!),\n }))\n // Skip path updates going from v0 to v1\n .filter(\n ({ depName, newMajor }) =>\n depName.startsWith('gopkg.in/') || newMajor > 1,\n )\n\n .map(\n ({ depName, newMajor }) =>\n `mod upgrade --mod-name=${depName} -t=${newMajor}`,\n );\n\n if (updateImportCommands.length > 0) {\n let installMarwanModArgs =\n 'install github.com/marwan-at-work/mod/cmd/mod@latest';\n const gomodModCompatibility = constraints?.gomodMod;\n if (gomodModCompatibility) {\n if (\n gomodModCompatibility.startsWith('v') &&\n isValid(gomodModCompatibility.replace(regEx(/^v/), ''))\n ) {\n installMarwanModArgs = installMarwanModArgs.replace(\n regEx(/@latest$/),\n `@${gomodModCompatibility}`,\n );\n } else {\n logger.debug(\n { gomodModCompatibility },\n 'marwan-at-work/mod compatibility range is not valid - skipping',\n );\n }\n } else {\n logger.debug(\n 'No marwan-at-work/mod compatibility range found - installing marwan-at-work/mod latest',\n );\n }\n updateImportCommands.unshift(`go ${installMarwanModArgs}`);\n }\n\n return updateImportCommands;\n}\n\nfunction useModcacherw(goVersion: string | undefined): boolean {\n if (!isString(goVersion)) {\n return true;\n }\n\n return semver.intersects(goVersion, `>=1.14`);\n}\n\nexport async function updateArtifacts({\n packageFileName: goModFileName,\n updatedDeps,\n newPackageFileContent: newGoModContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gomod.updateArtifacts(${goModFileName})`);\n\n const sumFileName = goModFileName.replace(regEx(/\\.mod$/), '.sum');\n const existingGoSumContent = await readLocalFile(sumFileName);\n if (!existingGoSumContent) {\n logger.debug('No go.sum found');\n return null;\n }\n const goModDir = upath.dirname(goModFileName);\n const goModFileBaseName = upath.basename(goModFileName);\n const modFileFlag =\n goModFileBaseName === 'go.mod'\n ? ''\n : ` -modfile=${quote(goModFileBaseName)}`;\n\n // The \"vendor\" directory can be next to the go.mod, but also in the parent directory in case\n // the go workspaces are used.\n const vendorDir = await findLocalSiblingOrParent(goModFileName, 'vendor');\n const vendorModulesFileName = upath.join(vendorDir ?? '', 'modules.txt');\n const useVendor =\n !!config.postUpdateOptions?.includes('gomodVendor') ||\n (!config.postUpdateOptions?.includes('gomodSkipVendor') &&\n vendorDir &&\n (await readLocalFile(vendorModulesFileName)) !== null);\n let massagedGoMod = newGoModContent;\n const useGoGenerate = !!config.postUpdateOptions?.includes('goGenerate');\n const allowedUnsafeExecutions = GlobalConfig.get('allowedUnsafeExecutions');\n const goGenerateAllowed = allowedUnsafeExecutions?.includes('goGenerate');\n\n if (config.postUpdateOptions?.includes('gomodMassage')) {\n // Regex match inline replace directive, example:\n // replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // https://go.dev/ref/mod#go-mod-file-replace\n\n // replace bracket after comments, so it doesn't break the regex, doing a complex regex causes problems\n // when there's a comment and \")\" after it, the regex will read replace block until comment.. and stop.\n massagedGoMod = massagedGoMod\n .split('\\n')\n .map((line) => {\n if (line.trim().startsWith('//')) {\n return line.replace(')', 'renovate-replace-bracket');\n }\n return line;\n })\n .join('\\n');\n\n const inlineReplaceRegEx = regEx(\n /(\\r?\\n)(replace\\s+[^\\s]+\\s+=>\\s+\\.\\.\\/.*)/g,\n );\n\n // $1 will be matched with the (\\r?n) group\n // $2 will be matched with the inline replace match, example\n // \"// renovate-replace replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\"\n const inlineCommentOut = '$1// renovate-replace $2';\n\n // Regex match replace directive block, example:\n // replace (\n // golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // )\n const blockReplaceRegEx = regEx(/(\\r?\\n)replace\\s*\\([^)]+\\s*\\)/g);\n\n /**\n * replacerFunction for commenting out replace blocks\n * @param match A string representing a golang replace directive block\n * @returns A commented out block with // renovate-replace\n */\n function blockCommentOut(match: string): string {\n return match.replace(/(\\r?\\n)/g, '$1// renovate-replace ');\n }\n\n // Comment out golang replace directives\n massagedGoMod = massagedGoMod\n .replace(inlineReplaceRegEx, inlineCommentOut)\n .replace(blockReplaceRegEx, blockCommentOut);\n\n if (massagedGoMod !== newGoModContent) {\n logger.debug(\n 'Removed some relative replace statements and comments from go.mod',\n );\n }\n }\n const goConstraints = deriveGoToolchainConstraints(config, newGoModContent);\n\n try {\n await writeLocalFile(goModFileName, massagedGoMod);\n\n const cmd = 'go';\n const env = getEnv();\n const execOptions: ExecOptions = {\n cwdFile: goModFileName,\n extraEnv: {\n GOPATH: await ensureCacheDir('go'),\n GOPROXY: env.GOPROXY,\n GOPRIVATE: env.GOPRIVATE,\n GONOPROXY: env.GONOPROXY,\n GONOSUMDB: env.GONOSUMDB,\n GOSUMDB: env.GOSUMDB,\n GOINSECURE: env.GOINSECURE,\n /* v8 ignore next -- TODO: add test */\n GOFLAGS: useModcacherw(goConstraints) ? '-modcacherw' : null,\n CGO_ENABLED: GlobalConfig.get('binarySource') === 'docker' ? '0' : null,\n ...getGitEnvironmentVariables(['go']),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'golang',\n constraint: goConstraints,\n },\n ],\n };\n\n const execCommands: string[] = [];\n\n let goGetDirs: string | undefined;\n if (config.goGetDirs) {\n goGetDirs = config.goGetDirs\n .filter((dir) => {\n const isValid = isValidLocalPath(dir);\n if (!isValid) {\n logger.warn({ dir }, 'Invalid path in goGetDirs');\n }\n return isValid;\n })\n .map(quote)\n .join(' ');\n\n if (goGetDirs === '') {\n throw new Error('Invalid goGetDirs');\n }\n }\n\n let args = `get${modFileFlag} `;\n\n if (goConstraints && !semver.intersects(goConstraints, `>=1.18`)) {\n // For Go versions < 1.18, we need to use the -d flag to avoid builds or installs\n // https://go.dev/doc/go1.18#go-get\n args += `-d `;\n }\n\n args += `-t ${goGetDirs ?? './...'}`;\n logger.trace({ cmd, args }, 'go get command included');\n execCommands.push(`${cmd} ${args}`);\n\n // Update import paths on major updates\n const isImportPathUpdateRequired =\n config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n\n if (isImportPathUpdateRequired) {\n const updateImportCmds = getUpdateImportPathCmds(updatedDeps, config);\n if (updateImportCmds.length > 0) {\n logger.debug(updateImportCmds, 'update import path commands included');\n // The updates\n execCommands.push(...updateImportCmds);\n }\n }\n\n const mustSkipGoModTidy =\n !config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n if (mustSkipGoModTidy) {\n logger.debug('go mod tidy command skipped');\n }\n\n let tidyOpts = '';\n if (config.postUpdateOptions?.includes('gomodTidy1.17')) {\n tidyOpts += ' -compat=1.17';\n }\n if (config.postUpdateOptions?.includes('gomodTidyE')) {\n tidyOpts += ' -e';\n }\n\n const isGoModTidyRequired =\n !mustSkipGoModTidy &&\n (config.postUpdateOptions?.includes('gomodTidy') === true ||\n config.postUpdateOptions?.includes('gomodTidy1.17') === true ||\n config.postUpdateOptions?.includes('gomodTidyE') === true ||\n (config.updateType === 'major' && isImportPathUpdateRequired));\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n let goWorkSumFileName = upath.join(goModDir, 'go.work.sum');\n if (useVendor) {\n // If we find a go.work, then use go workspace vendoring.\n const goWorkFile = await findLocalSiblingOrParent(\n goModFileName,\n 'go.work',\n );\n\n if (goWorkFile) {\n goWorkSumFileName = upath.join(\n upath.dirname(goWorkFile),\n 'go.work.sum',\n );\n\n args = 'work vendor';\n logger.debug('using go work vendor');\n execCommands.push(`${cmd} ${args}`);\n\n args = 'work sync';\n logger.debug('using go work sync');\n execCommands.push(`${cmd} ${args}`);\n } else {\n args = `mod vendor${modFileFlag}`;\n logger.debug('using go mod vendor');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n }\n\n // We tidy one more time as a solution for #6795\n if (isGoModTidyRequired) {\n args = `mod tidy${modFileFlag}${tidyOpts}`;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (useGoGenerate) {\n if (goGenerateAllowed) {\n logger.debug('go generate command included');\n execCommands.push(`${cmd} generate ./...`);\n } else {\n logger.once.warn(\n `go generate command requested as a post update action, but goGenerate is not permitted in the allowedUnsafeExecutions`,\n );\n }\n }\n\n await exec(execCommands, execOptions);\n\n const status = await getRepoStatus();\n if (\n !status.modified.includes(sumFileName) &&\n !status.modified.includes(goModFileName) &&\n !status.modified.includes(goWorkSumFileName)\n ) {\n return null;\n }\n\n const res: UpdateArtifactsResult[] = [];\n if (status.modified.includes(sumFileName)) {\n logger.debug('Returning updated go.sum');\n res.push({\n file: {\n type: 'addition',\n path: sumFileName,\n contents: await readLocalFile(sumFileName),\n },\n });\n }\n\n if (status.modified.includes(goWorkSumFileName)) {\n logger.debug('Returning updated go.work.sum');\n res.push({\n file: {\n type: 'addition',\n path: goWorkSumFileName,\n contents: await readLocalFile(goWorkSumFileName),\n },\n });\n }\n\n // Include all the .go file import changes\n if (isImportPathUpdateRequired) {\n logger.debug('Returning updated go source files for import path changes');\n for (const f of status.modified) {\n if (f.endsWith('.go')) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n }\n\n const alreadyAdded = new Set<string>();\n const alreadyDeleted = new Set<string>();\n if (useVendor) {\n for (const f of status.modified.concat(status.not_added)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n alreadyAdded.add(f);\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n alreadyDeleted.add(f);\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n }\n\n // TODO: throws in tests (#22198)\n const finalGoModContent = (await readLocalFile(goModFileName, 'utf8'))!\n .replace(regEx(/\\/\\/ renovate-replace /g), '')\n .replace(regEx(/renovate-replace-bracket/g), ')');\n if (finalGoModContent !== newGoModContent) {\n const artifactResult: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: goModFileName,\n contents: finalGoModContent,\n },\n };\n\n const updatedDepNames = filterMap(updatedDeps, (dep) => dep?.depName);\n const extraDepsNotice = getExtraDepsNotice(\n newGoModContent,\n finalGoModContent,\n updatedDepNames,\n );\n\n if (extraDepsNotice) {\n artifactResult.notice = {\n file: goModFileName,\n message: extraDepsNotice,\n };\n }\n\n logger.debug('Found updated go.mod after go.sum update');\n res.push(artifactResult);\n alreadyAdded.add(goModFileName);\n }\n\n // add all files added when in `go generate` mode.\n // unfortunately there is not a good way as there is with vendoring or go import path updates to detect this.\n // Do this at the very very end to ensure we only capture files which would have been explicitly\n // modified, added, or deleted from a `go generate` invocation\n if (useGoGenerate && goGenerateAllowed) {\n logger.debug(\n 'Updating all modified files since generated files were added',\n );\n for (const f of status.modified.concat(status.created)) {\n if (!alreadyAdded.has(f)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n if (!alreadyDeleted.has(f)) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n }\n return res;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update go.sum');\n return [\n {\n artifactError: {\n fileName: sumFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n\nfunction getGoConstraints(content: string): string | undefined {\n // prefer toolchain directive when go.mod has one\n const toolchainMatch = regEx(/^toolchain\\s*go(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(\n content,\n );\n const toolchainVer = toolchainMatch?.groups?.gover;\n if (toolchainVer) {\n logger.debug(\n `Using go version ${toolchainVer} found in toolchain directive`,\n );\n return toolchainVer;\n }\n\n // If go.mod doesn't have toolchain directive and has a full go version spec,\n // for example `go 1.23.6`, pick this version, this doesn't match major.minor version spec.\n //\n // This is because when go.mod have same version defined in go directive and toolchain directive,\n // go will remove toolchain directive from go.mod.\n //\n // For example, go will rewrite `go 1.23.5\\ntoolchain go1.23.5` to `go 1.23.5` by default,\n // in this case, the go directive is the toolchain directive.\n const goFullVersion = regEx(/^go\\s*(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(content)\n ?.groups?.gover;\n if (goFullVersion) {\n return goFullVersion;\n }\n\n const re = regEx(/^go\\s*(?<gover>\\d+\\.\\d+)$/m);\n const match = re.exec(content);\n if (!match?.groups?.gover) {\n return undefined;\n }\n return `^${match.groups.gover}`;\n}\n\n/**\n * Derive the version of the Go toolchain needed to run this project.\n *\n * This matches with the `golang` Containerbase tool.\n *\n * In precedence order:\n *\n * 1. config: \\`constraints.go\\`\n * 1. \\`go.mod\\`: \\`toolchain\\` directive\n * 1. \\`go.mod\\`: \\`go\\` directive\n *\n * NOTE that the \\`constraints.golang\\` is not used (TODO #42601)\n */\nexport function deriveGoToolchainConstraints(\n config: UpdateArtifactsConfig,\n newGoModContent: string,\n): string | undefined {\n return config.constraints?.go ?? getGoConstraints(newGoModContent);\n}\n"],"mappings":"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"}
|
|
@@ -18,15 +18,17 @@ const qKotlinSingleExtraVarAssignment = query.sym("val").sym(storeVarToken).hand
|
|
|
18
18
|
search: query.begin().join(qStringValue).handler((ctx) => storeInTokenMap(ctx, "valToken")).handler(handleAssignment).end()
|
|
19
19
|
}).handler(cleanupTempVars);
|
|
20
20
|
const qGroovySingleMapOfVarAssignment = query.alt(query.begin().join(qGroovyMapNotationDependencies).end(), query.alt(query.sym(storeVarToken), query.str(storeVarToken)).handler(prependNestingDepth).handler(coalesceVariable).handler((ctx) => storeInTokenMap(ctx, "keyToken")).op(":").join(qValueMatcher).handler((ctx) => storeInTokenMap(ctx, "valToken")).handler(handleAssignment), qDependencyStrings);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
function qGroovyMapOfExpr(search) {
|
|
22
|
+
return query.alt(query.alt(query.sym(storeVarToken), query.str(storeVarToken)).op(":").tree({
|
|
23
|
+
type: "wrapped-tree",
|
|
24
|
+
maxDepth: 1,
|
|
25
|
+
startsWith: "[",
|
|
26
|
+
endsWith: "]",
|
|
27
|
+
preHandler: increaseNestingDepth,
|
|
28
|
+
search,
|
|
29
|
+
postHandler: reduceNestingDepth
|
|
30
|
+
}), qGroovySingleMapOfVarAssignment);
|
|
31
|
+
}
|
|
30
32
|
const qGroovyMultiVarAssignment = qVariableAssignmentIdentifier.alt(query.op("="), query.op("+=")).tree({
|
|
31
33
|
type: "wrapped-tree",
|
|
32
34
|
maxDepth: 1,
|
|
@@ -37,15 +39,17 @@ const qGroovyMultiVarAssignment = qVariableAssignmentIdentifier.alt(query.op("="
|
|
|
37
39
|
postHandler: reduceNestingDepth
|
|
38
40
|
}).handler(cleanupTempVars);
|
|
39
41
|
const qKotlinSingleMapOfVarAssignment = qStringValue.sym("to").handler(prependNestingDepth).handler(coalesceVariable).handler((ctx) => storeInTokenMap(ctx, "keyToken")).join(qValueMatcher).handler((ctx) => storeInTokenMap(ctx, "valToken")).handler(handleAssignment);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
function qKotlinMapOfExpr(search) {
|
|
43
|
+
return query.alt(qStringValue.sym("to").sym("mapOf").tree({
|
|
44
|
+
type: "wrapped-tree",
|
|
45
|
+
maxDepth: 1,
|
|
46
|
+
startsWith: "(",
|
|
47
|
+
endsWith: ")",
|
|
48
|
+
preHandler: increaseNestingDepth,
|
|
49
|
+
search,
|
|
50
|
+
postHandler: reduceNestingDepth
|
|
51
|
+
}), qKotlinSingleMapOfVarAssignment);
|
|
52
|
+
}
|
|
49
53
|
const qKotlinMultiMapOfVarAssignment = qVariableAssignmentIdentifier.op("=").sym("mapOf").tree({
|
|
50
54
|
type: "wrapped-tree",
|
|
51
55
|
maxDepth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignments.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/assignments.ts"],"sourcesContent":["import type { parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { regEx } from '../../../../util/regex.ts';\nimport type { Ctx } from '../types.ts';\nimport {\n cleanupTempVars,\n coalesceVariable,\n increaseNestingDepth,\n prependNestingDepth,\n qStringValue,\n qValueMatcher,\n qVariableAssignmentIdentifier,\n reduceNestingDepth,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport {\n qDependencyStrings,\n qGroovyMapNotationDependencies,\n} from './dependencies.ts';\nimport { handleAssignment } from './handlers.ts';\n\n// foo = \"1.2.3\"\nconst qGroovySingleVarAssignment = qVariableAssignmentIdentifier\n .op('=')\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .handler(cleanupTempVars);\n\n// set(\"foo\", \"1.2.3\")\nconst qKotlinSingleVarAssignment = q\n .sym<Ctx>(regEx(/^(?:set|version)$/))\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q\n .begin<Ctx>()\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op(',')\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .end(),\n })\n .handler(cleanupTempVars);\n\n// val foo by extra { \"1.2.3\" }\nconst qKotlinSingleExtraVarAssignment = q\n .sym<Ctx>('val')\n .sym(storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .opt(q.op<Ctx>(':').sym('String'))\n .sym('by')\n .sym('extra')\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: q\n .begin<Ctx>()\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .end(),\n })\n .handler(cleanupTempVars);\n\nconst qGroovySingleMapOfVarAssignment = q.alt(\n // foo: [group: \"foo\", name: \"bar\", version: \"1.2.3\"]\n q.begin<Ctx>().join(qGroovyMapNotationDependencies).end(),\n // foo: \"1.2.3\"\n q\n .alt(q.sym(storeVarToken), q.str(storeVarToken))\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op(':')\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment),\n // [\"foo:bar:1.2.3\", \"foo:baz:$qux\"]\n qDependencyStrings,\n);\n\
|
|
1
|
+
{"version":3,"file":"assignments.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/assignments.ts"],"sourcesContent":["import type { parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { regEx } from '../../../../util/regex.ts';\nimport type { Ctx } from '../types.ts';\nimport {\n cleanupTempVars,\n coalesceVariable,\n increaseNestingDepth,\n prependNestingDepth,\n qStringValue,\n qValueMatcher,\n qVariableAssignmentIdentifier,\n reduceNestingDepth,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport {\n qDependencyStrings,\n qGroovyMapNotationDependencies,\n} from './dependencies.ts';\nimport { handleAssignment } from './handlers.ts';\n\n// foo = \"1.2.3\"\nconst qGroovySingleVarAssignment = qVariableAssignmentIdentifier\n .op('=')\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .handler(cleanupTempVars);\n\n// set(\"foo\", \"1.2.3\")\nconst qKotlinSingleVarAssignment = q\n .sym<Ctx>(regEx(/^(?:set|version)$/))\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q\n .begin<Ctx>()\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op(',')\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .end(),\n })\n .handler(cleanupTempVars);\n\n// val foo by extra { \"1.2.3\" }\nconst qKotlinSingleExtraVarAssignment = q\n .sym<Ctx>('val')\n .sym(storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .opt(q.op<Ctx>(':').sym('String'))\n .sym('by')\n .sym('extra')\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: q\n .begin<Ctx>()\n .join(qStringValue)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .end(),\n })\n .handler(cleanupTempVars);\n\nconst qGroovySingleMapOfVarAssignment = q.alt(\n // foo: [group: \"foo\", name: \"bar\", version: \"1.2.3\"]\n q.begin<Ctx>().join(qGroovyMapNotationDependencies).end(),\n // foo: \"1.2.3\"\n q\n .alt(q.sym(storeVarToken), q.str(storeVarToken))\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op(':')\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment),\n // [\"foo:bar:1.2.3\", \"foo:baz:$qux\"]\n qDependencyStrings,\n);\n\nfunction qGroovyMapOfExpr(\n search: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.alt(\n q.alt(q.sym(storeVarToken), q.str(storeVarToken)).op(':').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n preHandler: increaseNestingDepth,\n search,\n postHandler: reduceNestingDepth,\n }),\n qGroovySingleMapOfVarAssignment,\n );\n}\n\n// versions = [ android: [ buildTools: '30.0.3' ], kotlin: '1.4.30' ]\nconst qGroovyMultiVarAssignment = qVariableAssignmentIdentifier\n .alt(q.op('='), q.op('+='))\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n preHandler: increaseNestingDepth,\n search: qGroovyMapOfExpr(qGroovyMapOfExpr(qGroovySingleMapOfVarAssignment)),\n postHandler: reduceNestingDepth,\n })\n .handler(cleanupTempVars);\n\n// \"foo1\" to \"bar1\"\nconst qKotlinSingleMapOfVarAssignment = qStringValue\n .sym('to')\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment);\n\nfunction qKotlinMapOfExpr(\n search: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.alt(\n qStringValue.sym('to').sym('mapOf').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n preHandler: increaseNestingDepth,\n search,\n postHandler: reduceNestingDepth,\n }),\n qKotlinSingleMapOfVarAssignment,\n );\n}\n\n// val versions = mapOf(\"foo1\" to \"bar1\", \"foo2\" to \"bar2\", \"foo3\" to \"bar3\")\nexport const qKotlinMultiMapOfVarAssignment = qVariableAssignmentIdentifier\n .op('=')\n .sym('mapOf')\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n preHandler: increaseNestingDepth,\n search: qKotlinMapOfExpr(qKotlinMapOfExpr(qKotlinSingleMapOfVarAssignment)),\n postHandler: reduceNestingDepth,\n })\n .handler(cleanupTempVars);\n\nexport const qAssignments = q.alt(\n qGroovySingleVarAssignment,\n qGroovyMultiVarAssignment,\n qKotlinSingleVarAssignment,\n qKotlinSingleExtraVarAssignment,\n qKotlinMultiMapOfVarAssignment,\n);\n"],"mappings":"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"}
|
|
@@ -171,19 +171,23 @@ const qTemplateString = query.tree({
|
|
|
171
171
|
ctx.varTokens = ctx.tmpTokenStore.templateTokens;
|
|
172
172
|
return ctx;
|
|
173
173
|
});
|
|
174
|
-
|
|
174
|
+
function qConcatExpr(...matchers) {
|
|
175
|
+
return query.alt(...matchers).many(query.op("+").alt(...matchers), 0, 32);
|
|
176
|
+
}
|
|
175
177
|
const qValueMatcher = qConcatExpr(qTemplateString, qPropertyAccessIdentifier, qVariableAccessIdentifier);
|
|
176
178
|
const qKotlinImport = query.sym("import").join(qVariableAssignmentIdentifier).handler((ctx) => {
|
|
177
179
|
ctx.tmpKotlinImportStore.push(ctx.varTokens);
|
|
178
180
|
return ctx;
|
|
179
181
|
}).handler(cleanupTempVars);
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
function qDotOrBraceExpr(symValue, matcher) {
|
|
183
|
+
return query.sym(symValue).alt(query.op(".").join(matcher), query.tree({
|
|
184
|
+
type: "wrapped-tree",
|
|
185
|
+
maxDepth: 1,
|
|
186
|
+
startsWith: "{",
|
|
187
|
+
endsWith: "}",
|
|
188
|
+
search: matcher
|
|
189
|
+
}));
|
|
190
|
+
}
|
|
187
191
|
const qGroupId = qValueMatcher.handler((ctx) => storeInTokenMap(ctx, "groupId"));
|
|
188
192
|
const qArtifactId = qValueMatcher.handler((ctx) => storeInTokenMap(ctx, "artifactId"));
|
|
189
193
|
const qVersion = qValueMatcher.handler((ctx) => storeInTokenMap(ctx, "version"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/common.ts"],"sourcesContent":["import type { lexer, parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { clone } from '../../../../util/clone.ts';\nimport { regEx } from '../../../../util/regex.ts';\nimport type {\n Ctx,\n NonEmptyArray,\n PackageVariables,\n VariableData,\n} from '../types.ts';\n\nexport const REGISTRY_URLS = {\n google: 'https://dl.google.com/android/maven2/',\n gradlePluginPortal: 'https://plugins.gradle.org/m2/',\n jcenter: 'https://jcenter.bintray.com/',\n mavenCentral: 'https://repo.maven.apache.org/maven2',\n};\n\nexport const GRADLE_PLUGINS = {\n checkstyle: ['toolVersion', 'com.puppycrawl.tools:checkstyle'],\n codenarc: ['toolVersion', 'org.codenarc:CodeNarc'],\n composeOptions: [\n 'kotlinCompilerExtensionVersion',\n 'androidx.compose.compiler:compiler',\n ],\n detekt: ['toolVersion', 'io.gitlab.arturbosch.detekt:detekt-core'],\n findbugs: ['toolVersion', 'com.google.code.findbugs:findbugs'],\n googleJavaFormat: [\n 'toolVersion',\n 'com.google.googlejavaformat:google-java-format',\n ],\n jacoco: ['toolVersion', 'org.jacoco:jacoco'],\n jmh: ['jmhVersion', 'org.openjdk.jmh:jmh-core'],\n lombok: ['version', 'org.projectlombok:lombok'],\n micronaut: ['version', 'io.micronaut.platform:micronaut-platform'],\n pmd: ['toolVersion', 'net.sourceforge.pmd:pmd-java'],\n spotbugs: ['toolVersion', 'com.github.spotbugs:spotbugs'],\n};\n\nexport const GRADLE_TEST_SUITES = {\n useJunit: 'junit:junit',\n useJUnitJupiter: 'org.junit.jupiter:junit-jupiter',\n useKotlinTest: 'org.jetbrains.kotlin:kotlin-test-junit',\n useSpock: 'org.spockframework:spock-core',\n useTestNG: 'org.testng:testng',\n};\n\nexport function storeVarToken(ctx: Ctx, node: lexer.Token): Ctx {\n ctx.varTokens.push(node);\n return ctx;\n}\n\nexport function increaseNestingDepth(ctx: Ctx): Ctx {\n ctx.tmpNestingDepth.push(...ctx.varTokens);\n ctx.varTokens = [];\n return ctx;\n}\n\nexport function reduceNestingDepth(ctx: Ctx): Ctx {\n ctx.tmpNestingDepth.pop();\n return ctx;\n}\n\nexport function prependNestingDepth(ctx: Ctx): Ctx {\n ctx.varTokens = [...clone(ctx.tmpNestingDepth), ...ctx.varTokens];\n return ctx;\n}\n\nexport function storeInTokenMap(ctx: Ctx, tokenMapKey: string): Ctx {\n ctx.tokenMap[tokenMapKey] = ctx.varTokens;\n ctx.varTokens = [];\n\n return ctx;\n}\n\nexport function loadFromTokenMap(\n ctx: Ctx,\n tokenMapKey: string,\n): NonEmptyArray<lexer.Token> {\n const tokens = ctx.tokenMap[tokenMapKey];\n if (!tokens) {\n throw new Error(`Expected token ${tokenMapKey} not found`);\n }\n\n return tokens as NonEmptyArray<lexer.Token>;\n}\n\nexport function cleanupTempVars(ctx: Ctx): Ctx {\n ctx.tokenMap = {};\n ctx.varTokens = [];\n\n return ctx;\n}\n\nexport function stripReservedPrefixFromKeyTokens(ctx: Ctx): Ctx {\n const unwantedPrefixes = [\n 'ext',\n 'extra',\n 'project',\n 'rootProject',\n 'properties',\n ];\n while (\n ctx.varTokens.length > 1 && // ensures there will be always at least one token\n ctx.varTokens[0] &&\n unwantedPrefixes.includes(ctx.varTokens[0].value)\n ) {\n ctx.varTokens.shift();\n }\n\n return ctx;\n}\n\nexport function coalesceVariable(ctx: Ctx): Ctx {\n if (ctx.varTokens.length > 1) {\n ctx.varTokens[0].value = ctx.varTokens\n .map((token) => token.value)\n .join('.');\n ctx.varTokens.length = 1;\n }\n\n return ctx;\n}\n\nexport function findVariableInKotlinImport(\n name: string,\n ctx: Ctx,\n variables: PackageVariables,\n): VariableData | undefined {\n if (ctx.tmpKotlinImportStore.length && name.includes('.')) {\n for (const tokens of ctx.tmpKotlinImportStore) {\n const lastToken = tokens.at(-1);\n if (lastToken && name.startsWith(`${lastToken.value}.`)) {\n const prefix = tokens\n .slice(0, -1)\n .map((token) => token.value)\n .join('.');\n const identifier = `${prefix}.${name}`;\n\n if (variables[identifier]) {\n return variables[identifier];\n }\n }\n }\n }\n\n return undefined;\n}\n\nexport function findVariable(\n name: string,\n ctx: Ctx,\n variables: PackageVariables = ctx.globalVars,\n): VariableData | undefined {\n if (ctx.tmpNestingDepth.length) {\n const prefixParts = ctx.tmpNestingDepth.map((token) => token.value);\n for (let idx = ctx.tmpNestingDepth.length; idx > 0; idx -= 1) {\n const prefix = prefixParts.slice(0, idx).join('.');\n const identifier = `${prefix}.${name}`;\n\n if (variables[identifier]) {\n return variables[identifier];\n }\n }\n }\n\n if (variables[name]) {\n return variables[name];\n }\n\n return findVariableInKotlinImport(name, ctx, variables);\n}\n\nexport function interpolateString(\n childTokens: lexer.Token[],\n ctx: Ctx,\n variables: PackageVariables = ctx.globalVars,\n): string | null {\n const resolvedSubstrings: string[] = [];\n for (const childToken of childTokens) {\n const type = childToken.type;\n if (type === 'string-value') {\n resolvedSubstrings.push(childToken.value);\n } else if (type === 'symbol') {\n const varData = findVariable(childToken.value, ctx, variables);\n if (varData) {\n resolvedSubstrings.push(varData.value);\n } else {\n return null;\n }\n } else {\n return null;\n }\n }\n\n return resolvedSubstrings.join('');\n}\n\nexport const qStringValue = q.str((ctx: Ctx, node: lexer.Token) => {\n storeVarToken(ctx, node);\n return ctx;\n});\n\nexport const qStringValueAsSymbol = q.str((ctx: Ctx, node: lexer.Token) => {\n const nodeTransformed: lexer.SymbolToken = {\n ...node,\n type: 'symbol',\n };\n storeVarToken(ctx, nodeTransformed);\n return ctx;\n});\n\n// https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html#get()\nexport const qProviderValue = q\n .tree({\n maxDepth: 1,\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().end(),\n })\n .handler((ctx) => {\n if (ctx.varTokens.length > 1 && ctx.varTokens.at(-1)?.value === 'get') {\n ctx.varTokens.pop();\n }\n return ctx;\n });\n\n// foo.bar[\"baz\"] = \"1.2.3\"\nexport const qVariableAssignmentIdentifier = q\n .sym(storeVarToken)\n .many(\n q.alt(\n q.op<Ctx>('.').sym(storeVarToken),\n q.tree<Ctx>({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n search: q.begin<Ctx>().join(qStringValueAsSymbol).end(),\n }),\n ),\n 0,\n 32,\n )\n .handler(stripReservedPrefixFromKeyTokens);\n\n// foo.bar[\"baz\"] -> \"foo.bar.baz\"\nexport const qVariableAccessIdentifier = q\n .handler<Ctx>((ctx) => {\n ctx.tmpTokenStore.backupVarAccessTokens = ctx.varTokens;\n ctx.varTokens = [];\n return ctx;\n })\n .join(qVariableAssignmentIdentifier)\n .opt(qProviderValue)\n .handler(coalesceVariable)\n .handler((ctx) => {\n ctx.varTokens = [\n ...ctx.tmpTokenStore.backupVarAccessTokens,\n ...ctx.varTokens,\n ];\n delete ctx.tmpTokenStore.backupVarAccessTokens;\n return ctx;\n });\n\n// project.ext.getProperty(...)\n// extra.get(...)\nexport const qPropertyAccessIdentifier = q\n .opt(q.sym<Ctx>(regEx(/^(?:rootProject|project)$/)).op('.'))\n .alt(\n q.opt(q.sym<Ctx>('ext').op('.')).sym(regEx(/^(?:property|getProperty)$/)),\n q\n .sym<Ctx>(regEx(/^(?:extra|ext)$/))\n .op('.')\n .sym('get'),\n )\n .tree({\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(qStringValueAsSymbol).end(),\n })\n .opt(q.sym<Ctx>('as').sym('String'));\n\n// \"foo${bar}baz\"\nexport const qTemplateString = q\n .tree({\n type: 'string-tree',\n maxDepth: 2,\n preHandler: (ctx) => {\n ctx.tmpTokenStore.templateTokens = [];\n return ctx;\n },\n search: q\n .alt(qStringValue, qPropertyAccessIdentifier, qVariableAccessIdentifier)\n .handler((ctx) => {\n ctx.tmpTokenStore.templateTokens?.push(...ctx.varTokens);\n ctx.varTokens = [];\n return ctx;\n }),\n })\n .handler((ctx) => {\n ctx.varTokens = ctx.tmpTokenStore.templateTokens!;\n return ctx;\n });\n\n// foo = \"bar\"\n// foo + foo + \"${foo}\" + \"foo\" => \"barbarbarfoo\"\nexport const qConcatExpr = (\n ...matchers: q.QueryBuilder<Ctx, parser.Node>[]\n): q.QueryBuilder<Ctx, parser.Node> =>\n q.alt(...matchers).many(q.op<Ctx>('+').alt(...matchers), 0, 32);\n\nexport const qValueMatcher = qConcatExpr(\n qTemplateString,\n qPropertyAccessIdentifier,\n qVariableAccessIdentifier,\n);\n\n// import foo.bar\n// runtimeOnly(\"some:foo:${bar.bazVersion}\")\nexport const qKotlinImport = q\n .sym<Ctx>('import')\n .join(qVariableAssignmentIdentifier)\n .handler((ctx) => {\n ctx.tmpKotlinImportStore.push(ctx.varTokens);\n return ctx;\n })\n .handler(cleanupTempVars);\n\n// foo { bar { baz } }\n// foo.bar { baz }\nexport const qDotOrBraceExpr = (\n symValue: q.SymMatcherValue,\n matcher: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> =>\n q.sym<Ctx>(symValue).alt(\n q.op<Ctx>('.').join(matcher),\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: matcher,\n }),\n );\n\nexport const qGroupId = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'groupId'),\n);\n\nexport const qArtifactId = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'artifactId'),\n);\n\nexport const qVersion = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'version'),\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/common.ts"],"sourcesContent":["import type { lexer, parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { clone } from '../../../../util/clone.ts';\nimport { regEx } from '../../../../util/regex.ts';\nimport type {\n Ctx,\n NonEmptyArray,\n PackageVariables,\n VariableData,\n} from '../types.ts';\n\nexport const REGISTRY_URLS = {\n google: 'https://dl.google.com/android/maven2/',\n gradlePluginPortal: 'https://plugins.gradle.org/m2/',\n jcenter: 'https://jcenter.bintray.com/',\n mavenCentral: 'https://repo.maven.apache.org/maven2',\n};\n\nexport const GRADLE_PLUGINS = {\n checkstyle: ['toolVersion', 'com.puppycrawl.tools:checkstyle'],\n codenarc: ['toolVersion', 'org.codenarc:CodeNarc'],\n composeOptions: [\n 'kotlinCompilerExtensionVersion',\n 'androidx.compose.compiler:compiler',\n ],\n detekt: ['toolVersion', 'io.gitlab.arturbosch.detekt:detekt-core'],\n findbugs: ['toolVersion', 'com.google.code.findbugs:findbugs'],\n googleJavaFormat: [\n 'toolVersion',\n 'com.google.googlejavaformat:google-java-format',\n ],\n jacoco: ['toolVersion', 'org.jacoco:jacoco'],\n jmh: ['jmhVersion', 'org.openjdk.jmh:jmh-core'],\n lombok: ['version', 'org.projectlombok:lombok'],\n micronaut: ['version', 'io.micronaut.platform:micronaut-platform'],\n pmd: ['toolVersion', 'net.sourceforge.pmd:pmd-java'],\n spotbugs: ['toolVersion', 'com.github.spotbugs:spotbugs'],\n};\n\nexport const GRADLE_TEST_SUITES = {\n useJunit: 'junit:junit',\n useJUnitJupiter: 'org.junit.jupiter:junit-jupiter',\n useKotlinTest: 'org.jetbrains.kotlin:kotlin-test-junit',\n useSpock: 'org.spockframework:spock-core',\n useTestNG: 'org.testng:testng',\n};\n\nexport function storeVarToken(ctx: Ctx, node: lexer.Token): Ctx {\n ctx.varTokens.push(node);\n return ctx;\n}\n\nexport function increaseNestingDepth(ctx: Ctx): Ctx {\n ctx.tmpNestingDepth.push(...ctx.varTokens);\n ctx.varTokens = [];\n return ctx;\n}\n\nexport function reduceNestingDepth(ctx: Ctx): Ctx {\n ctx.tmpNestingDepth.pop();\n return ctx;\n}\n\nexport function prependNestingDepth(ctx: Ctx): Ctx {\n ctx.varTokens = [...clone(ctx.tmpNestingDepth), ...ctx.varTokens];\n return ctx;\n}\n\nexport function storeInTokenMap(ctx: Ctx, tokenMapKey: string): Ctx {\n ctx.tokenMap[tokenMapKey] = ctx.varTokens;\n ctx.varTokens = [];\n\n return ctx;\n}\n\nexport function loadFromTokenMap(\n ctx: Ctx,\n tokenMapKey: string,\n): NonEmptyArray<lexer.Token> {\n const tokens = ctx.tokenMap[tokenMapKey];\n if (!tokens) {\n throw new Error(`Expected token ${tokenMapKey} not found`);\n }\n\n return tokens as NonEmptyArray<lexer.Token>;\n}\n\nexport function cleanupTempVars(ctx: Ctx): Ctx {\n ctx.tokenMap = {};\n ctx.varTokens = [];\n\n return ctx;\n}\n\nexport function stripReservedPrefixFromKeyTokens(ctx: Ctx): Ctx {\n const unwantedPrefixes = [\n 'ext',\n 'extra',\n 'project',\n 'rootProject',\n 'properties',\n ];\n while (\n ctx.varTokens.length > 1 && // ensures there will be always at least one token\n ctx.varTokens[0] &&\n unwantedPrefixes.includes(ctx.varTokens[0].value)\n ) {\n ctx.varTokens.shift();\n }\n\n return ctx;\n}\n\nexport function coalesceVariable(ctx: Ctx): Ctx {\n if (ctx.varTokens.length > 1) {\n ctx.varTokens[0].value = ctx.varTokens\n .map((token) => token.value)\n .join('.');\n ctx.varTokens.length = 1;\n }\n\n return ctx;\n}\n\nexport function findVariableInKotlinImport(\n name: string,\n ctx: Ctx,\n variables: PackageVariables,\n): VariableData | undefined {\n if (ctx.tmpKotlinImportStore.length && name.includes('.')) {\n for (const tokens of ctx.tmpKotlinImportStore) {\n const lastToken = tokens.at(-1);\n if (lastToken && name.startsWith(`${lastToken.value}.`)) {\n const prefix = tokens\n .slice(0, -1)\n .map((token) => token.value)\n .join('.');\n const identifier = `${prefix}.${name}`;\n\n if (variables[identifier]) {\n return variables[identifier];\n }\n }\n }\n }\n\n return undefined;\n}\n\nexport function findVariable(\n name: string,\n ctx: Ctx,\n variables: PackageVariables = ctx.globalVars,\n): VariableData | undefined {\n if (ctx.tmpNestingDepth.length) {\n const prefixParts = ctx.tmpNestingDepth.map((token) => token.value);\n for (let idx = ctx.tmpNestingDepth.length; idx > 0; idx -= 1) {\n const prefix = prefixParts.slice(0, idx).join('.');\n const identifier = `${prefix}.${name}`;\n\n if (variables[identifier]) {\n return variables[identifier];\n }\n }\n }\n\n if (variables[name]) {\n return variables[name];\n }\n\n return findVariableInKotlinImport(name, ctx, variables);\n}\n\nexport function interpolateString(\n childTokens: lexer.Token[],\n ctx: Ctx,\n variables: PackageVariables = ctx.globalVars,\n): string | null {\n const resolvedSubstrings: string[] = [];\n for (const childToken of childTokens) {\n const type = childToken.type;\n if (type === 'string-value') {\n resolvedSubstrings.push(childToken.value);\n } else if (type === 'symbol') {\n const varData = findVariable(childToken.value, ctx, variables);\n if (varData) {\n resolvedSubstrings.push(varData.value);\n } else {\n return null;\n }\n } else {\n return null;\n }\n }\n\n return resolvedSubstrings.join('');\n}\n\nexport const qStringValue = q.str((ctx: Ctx, node: lexer.Token) => {\n storeVarToken(ctx, node);\n return ctx;\n});\n\nexport const qStringValueAsSymbol = q.str((ctx: Ctx, node: lexer.Token) => {\n const nodeTransformed: lexer.SymbolToken = {\n ...node,\n type: 'symbol',\n };\n storeVarToken(ctx, nodeTransformed);\n return ctx;\n});\n\n// https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html#get()\nexport const qProviderValue = q\n .tree({\n maxDepth: 1,\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().end(),\n })\n .handler((ctx) => {\n if (ctx.varTokens.length > 1 && ctx.varTokens.at(-1)?.value === 'get') {\n ctx.varTokens.pop();\n }\n return ctx;\n });\n\n// foo.bar[\"baz\"] = \"1.2.3\"\nexport const qVariableAssignmentIdentifier = q\n .sym(storeVarToken)\n .many(\n q.alt(\n q.op<Ctx>('.').sym(storeVarToken),\n q.tree<Ctx>({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '[',\n endsWith: ']',\n search: q.begin<Ctx>().join(qStringValueAsSymbol).end(),\n }),\n ),\n 0,\n 32,\n )\n .handler(stripReservedPrefixFromKeyTokens);\n\n// foo.bar[\"baz\"] -> \"foo.bar.baz\"\nexport const qVariableAccessIdentifier = q\n .handler<Ctx>((ctx) => {\n ctx.tmpTokenStore.backupVarAccessTokens = ctx.varTokens;\n ctx.varTokens = [];\n return ctx;\n })\n .join(qVariableAssignmentIdentifier)\n .opt(qProviderValue)\n .handler(coalesceVariable)\n .handler((ctx) => {\n ctx.varTokens = [\n ...ctx.tmpTokenStore.backupVarAccessTokens,\n ...ctx.varTokens,\n ];\n delete ctx.tmpTokenStore.backupVarAccessTokens;\n return ctx;\n });\n\n// project.ext.getProperty(...)\n// extra.get(...)\nexport const qPropertyAccessIdentifier = q\n .opt(q.sym<Ctx>(regEx(/^(?:rootProject|project)$/)).op('.'))\n .alt(\n q.opt(q.sym<Ctx>('ext').op('.')).sym(regEx(/^(?:property|getProperty)$/)),\n q\n .sym<Ctx>(regEx(/^(?:extra|ext)$/))\n .op('.')\n .sym('get'),\n )\n .tree({\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(qStringValueAsSymbol).end(),\n })\n .opt(q.sym<Ctx>('as').sym('String'));\n\n// \"foo${bar}baz\"\nexport const qTemplateString = q\n .tree({\n type: 'string-tree',\n maxDepth: 2,\n preHandler: (ctx) => {\n ctx.tmpTokenStore.templateTokens = [];\n return ctx;\n },\n search: q\n .alt(qStringValue, qPropertyAccessIdentifier, qVariableAccessIdentifier)\n .handler((ctx) => {\n ctx.tmpTokenStore.templateTokens?.push(...ctx.varTokens);\n ctx.varTokens = [];\n return ctx;\n }),\n })\n .handler((ctx) => {\n ctx.varTokens = ctx.tmpTokenStore.templateTokens!;\n return ctx;\n });\n\n// foo = \"bar\"\n// foo + foo + \"${foo}\" + \"foo\" => \"barbarbarfoo\"\nexport function qConcatExpr(\n ...matchers: q.QueryBuilder<Ctx, parser.Node>[]\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.alt(...matchers).many(q.op<Ctx>('+').alt(...matchers), 0, 32);\n}\n\nexport const qValueMatcher = qConcatExpr(\n qTemplateString,\n qPropertyAccessIdentifier,\n qVariableAccessIdentifier,\n);\n\n// import foo.bar\n// runtimeOnly(\"some:foo:${bar.bazVersion}\")\nexport const qKotlinImport = q\n .sym<Ctx>('import')\n .join(qVariableAssignmentIdentifier)\n .handler((ctx) => {\n ctx.tmpKotlinImportStore.push(ctx.varTokens);\n return ctx;\n })\n .handler(cleanupTempVars);\n\n// foo { bar { baz } }\n// foo.bar { baz }\nexport function qDotOrBraceExpr(\n symValue: q.SymMatcherValue,\n matcher: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.sym<Ctx>(symValue).alt(\n q.op<Ctx>('.').join(matcher),\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: matcher,\n }),\n );\n}\n\nexport const qGroupId = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'groupId'),\n);\n\nexport const qArtifactId = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'artifactId'),\n);\n\nexport const qVersion = qValueMatcher.handler((ctx) =>\n storeInTokenMap(ctx, 'version'),\n);\n"],"mappings":";;;;AAWA,MAAa,gBAAgB;CAC3B,QAAQ;CACR,oBAAoB;CACpB,SAAS;CACT,cAAc;AAChB;AAEA,MAAa,iBAAiB;CAC5B,YAAY,CAAC,eAAe,iCAAiC;CAC7D,UAAU,CAAC,eAAe,uBAAuB;CACjD,gBAAgB,CACd,kCACA,oCACF;CACA,QAAQ,CAAC,eAAe,yCAAyC;CACjE,UAAU,CAAC,eAAe,mCAAmC;CAC7D,kBAAkB,CAChB,eACA,gDACF;CACA,QAAQ,CAAC,eAAe,mBAAmB;CAC3C,KAAK,CAAC,cAAc,0BAA0B;CAC9C,QAAQ,CAAC,WAAW,0BAA0B;CAC9C,WAAW,CAAC,WAAW,0CAA0C;CACjE,KAAK,CAAC,eAAe,8BAA8B;CACnD,UAAU,CAAC,eAAe,8BAA8B;AAC1D;AAEA,MAAa,qBAAqB;CAChC,UAAU;CACV,iBAAiB;CACjB,eAAe;CACf,UAAU;CACV,WAAW;AACb;AAEA,SAAgB,cAAc,KAAU,MAAwB;CAC9D,IAAI,UAAU,KAAK,IAAI;CACvB,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAe;CAClD,IAAI,gBAAgB,KAAK,GAAG,IAAI,SAAS;CACzC,IAAI,YAAY,CAAC;CACjB,OAAO;AACT;AAEA,SAAgB,mBAAmB,KAAe;CAChD,IAAI,gBAAgB,IAAI;CACxB,OAAO;AACT;AAEA,SAAgB,oBAAoB,KAAe;CACjD,IAAI,YAAY,CAAC,GAAG,MAAM,IAAI,eAAe,GAAG,GAAG,IAAI,SAAS;CAChE,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAAU,aAA0B;CAClE,IAAI,SAAS,eAAe,IAAI;CAChC,IAAI,YAAY,CAAC;CAEjB,OAAO;AACT;AAEA,SAAgB,iBACd,KACA,aAC4B;CAC5B,MAAM,SAAS,IAAI,SAAS;CAC5B,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,kBAAkB,YAAY,WAAW;CAG3D,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAAe;CAC7C,IAAI,WAAW,CAAC;CAChB,IAAI,YAAY,CAAC;CAEjB,OAAO;AACT;AAEA,SAAgB,iCAAiC,KAAe;CAC9D,MAAM,mBAAmB;EACvB;EACA;EACA;EACA;EACA;CACF;CACA,OACE,IAAI,UAAU,SAAS,KACvB,IAAI,UAAU,MACd,iBAAiB,SAAS,IAAI,UAAU,EAAE,CAAC,KAAK,GAEhD,IAAI,UAAU,MAAM;CAGtB,OAAO;AACT;AAEA,SAAgB,iBAAiB,KAAe;CAC9C,IAAI,IAAI,UAAU,SAAS,GAAG;EAC5B,IAAI,UAAU,EAAE,CAAC,QAAQ,IAAI,UAC1B,KAAK,UAAU,MAAM,KAAK,CAAC,CAC3B,KAAK,GAAG;EACX,IAAI,UAAU,SAAS;CACzB;CAEA,OAAO;AACT;AAEA,SAAgB,2BACd,MACA,KACA,WAC0B;CAC1B,IAAI,IAAI,qBAAqB,UAAU,KAAK,SAAS,GAAG,GACtD,KAAK,MAAM,UAAU,IAAI,sBAAsB;EAC7C,MAAM,YAAY,OAAO,GAAG,EAAE;EAC9B,IAAI,aAAa,KAAK,WAAW,GAAG,UAAU,MAAM,EAAE,GAAG;GAKvD,MAAM,aAAa,GAJJ,OACZ,MAAM,GAAG,EAAE,CAAC,CACZ,KAAK,UAAU,MAAM,KAAK,CAAC,CAC3B,KAAK,GACmB,EAAE,GAAG;GAEhC,IAAI,UAAU,aACZ,OAAO,UAAU;EAErB;CACF;AAIJ;AAEA,SAAgB,aACd,MACA,KACA,YAA8B,IAAI,YACR;CAC1B,IAAI,IAAI,gBAAgB,QAAQ;EAC9B,MAAM,cAAc,IAAI,gBAAgB,KAAK,UAAU,MAAM,KAAK;EAClE,KAAK,IAAI,MAAM,IAAI,gBAAgB,QAAQ,MAAM,GAAG,OAAO,GAAG;GAE5D,MAAM,aAAa,GADJ,YAAY,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GACnB,EAAE,GAAG;GAEhC,IAAI,UAAU,aACZ,OAAO,UAAU;EAErB;CACF;CAEA,IAAI,UAAU,OACZ,OAAO,UAAU;CAGnB,OAAO,2BAA2B,MAAM,KAAK,SAAS;AACxD;AAEA,SAAgB,kBACd,aACA,KACA,YAA8B,IAAI,YACnB;CACf,MAAM,qBAA+B,CAAC;CACtC,KAAK,MAAM,cAAc,aAAa;EACpC,MAAM,OAAO,WAAW;EACxB,IAAI,SAAS,gBACX,mBAAmB,KAAK,WAAW,KAAK;OACnC,IAAI,SAAS,UAAU;GAC5B,MAAM,UAAU,aAAa,WAAW,OAAO,KAAK,SAAS;GAC7D,IAAI,SACF,mBAAmB,KAAK,QAAQ,KAAK;QAErC,OAAO;EAEX,OACE,OAAO;CAEX;CAEA,OAAO,mBAAmB,KAAK,EAAE;AACnC;AAEA,MAAa,eAAeA,MAAE,KAAK,KAAU,SAAsB;CACjE,cAAc,KAAK,IAAI;CACvB,OAAO;AACT,CAAC;AAED,MAAa,uBAAuBA,MAAE,KAAK,KAAU,SAAsB;CAKzE,cAAc,KAAK;EAHjB,GAAG;EACH,MAAM;CAEyB,CAAC;CAClC,OAAO;AACT,CAAC;AAGD,MAAa,iBAAiBA,MAC3B,KAAK;CACJ,UAAU;CACV,MAAM;CACN,YAAY;CACZ,UAAU;CACV,QAAQA,MAAE,MAAW,CAAC,CAAC,IAAI;AAC7B,CAAC,CAAC,CACD,SAAS,QAAQ;CAChB,IAAI,IAAI,UAAU,SAAS,KAAK,IAAI,UAAU,GAAG,EAAE,CAAC,EAAE,UAAU,OAC9D,IAAI,UAAU,IAAI;CAEpB,OAAO;AACT,CAAC;AAGH,MAAa,gCAAgCA,MAC1C,IAAI,aAAa,CAAC,CAClB,KACCA,MAAE,IACAA,MAAE,GAAQ,GAAG,CAAC,CAAC,IAAI,aAAa,GAChCA,MAAE,KAAU;CACV,MAAM;CACN,UAAU;CACV,YAAY;CACZ,UAAU;CACV,QAAQA,MAAE,MAAW,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,IAAI;AACxD,CAAC,CACH,GACA,GACA,EACF,CAAC,CACA,QAAQ,gCAAgC;AAG3C,MAAa,4BAA4BA,MACtC,SAAc,QAAQ;CACrB,IAAI,cAAc,wBAAwB,IAAI;CAC9C,IAAI,YAAY,CAAC;CACjB,OAAO;AACT,CAAC,CAAC,CACD,KAAK,6BAA6B,CAAC,CACnC,IAAI,cAAc,CAAC,CACnB,QAAQ,gBAAgB,CAAC,CACzB,SAAS,QAAQ;CAChB,IAAI,YAAY,CACd,GAAG,IAAI,cAAc,uBACrB,GAAG,IAAI,SACT;CACA,OAAO,IAAI,cAAc;CACzB,OAAO;AACT,CAAC;AAIH,MAAa,4BAA4BA,MACtC,IAAIA,MAAE,IAAS,MAAM,2BAA2B,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAC3D,IACCA,MAAE,IAAIA,MAAE,IAAS,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,4BAA4B,CAAC,GACxEA,MACG,IAAS,MAAM,iBAAiB,CAAC,CAAC,CAClC,GAAG,GAAG,CAAC,CACP,IAAI,KAAK,CACd,CAAC,CACA,KAAK;CACJ,UAAU;CACV,YAAY;CACZ,UAAU;CACV,QAAQA,MAAE,MAAW,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,IAAI;AACxD,CAAC,CAAC,CACD,IAAIA,MAAE,IAAS,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC;AAGrC,MAAa,kBAAkBA,MAC5B,KAAK;CACJ,MAAM;CACN,UAAU;CACV,aAAa,QAAQ;EACnB,IAAI,cAAc,iBAAiB,CAAC;EACpC,OAAO;CACT;CACA,QAAQA,MACL,IAAI,cAAc,2BAA2B,yBAAyB,CAAC,CACvE,SAAS,QAAQ;EAChB,IAAI,cAAc,gBAAgB,KAAK,GAAG,IAAI,SAAS;EACvD,IAAI,YAAY,CAAC;EACjB,OAAO;CACT,CAAC;AACL,CAAC,CAAC,CACD,SAAS,QAAQ;CAChB,IAAI,YAAY,IAAI,cAAc;CAClC,OAAO;AACT,CAAC;AAIH,SAAgB,YACd,GAAG,UAC+B;CAClC,OAAOA,MAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,KAAKA,MAAE,GAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,EAAE;AACvE;AAEA,MAAa,gBAAgB,YAC3B,iBACA,2BACA,yBACF;AAIA,MAAa,gBAAgBA,MAC1B,IAAS,QAAQ,CAAC,CAClB,KAAK,6BAA6B,CAAC,CACnC,SAAS,QAAQ;CAChB,IAAI,qBAAqB,KAAK,IAAI,SAAS;CAC3C,OAAO;AACT,CAAC,CAAC,CACD,QAAQ,eAAe;AAI1B,SAAgB,gBACd,UACA,SACkC;CAClC,OAAOA,MAAE,IAAS,QAAQ,CAAC,CAAC,IAC1BA,MAAE,GAAQ,GAAG,CAAC,CAAC,KAAK,OAAO,GAC3BA,MAAE,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY;EACZ,UAAU;EACV,QAAQ;CACV,CAAC,CACH;AACF;AAEA,MAAa,WAAW,cAAc,SAAS,QAC7C,gBAAgB,KAAK,SAAS,CAChC;AAEA,MAAa,cAAc,cAAc,SAAS,QAChD,gBAAgB,KAAK,YAAY,CACnC;AAEA,MAAa,WAAW,cAAc,SAAS,QAC7C,gBAAgB,KAAK,SAAS,CAChC"}
|
|
@@ -12,15 +12,17 @@ const qKotlinListOfAssignment = query.sym("listOf").tree({
|
|
|
12
12
|
});
|
|
13
13
|
const qKotlinConstValAssignment = query.sym("const").sym("val").sym(storeVarToken).handler(prependNestingDepth).handler(coalesceVariable).handler((ctx) => storeInTokenMap(ctx, "keyToken")).op("=").join(qValueMatcher).handler((ctx) => storeInTokenMap(ctx, "valToken")).handler(handleAssignment).handler(cleanupTempVars);
|
|
14
14
|
const qKotlinSingleObjectVarAssignment = query.alt(qKotlinConstValAssignment, qKotlinMultiMapOfVarAssignment, qVariableAssignmentIdentifier.opt(query.op(":").sym("String")).op("=").handler(prependNestingDepth).handler(coalesceVariable).handler((ctx) => storeInTokenMap(ctx, "keyToken")).alt(qKotlinListOfAssignment, qValueMatcher.handler((ctx) => storeInTokenMap(ctx, "valToken")).handler(handleAssignment)).handler(cleanupTempVars));
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
function qKotlinMultiObjectExpr(search) {
|
|
16
|
+
return query.alt(query.sym("object").sym(storeVarToken).tree({
|
|
17
|
+
type: "wrapped-tree",
|
|
18
|
+
maxDepth: 1,
|
|
19
|
+
startsWith: "{",
|
|
20
|
+
endsWith: "}",
|
|
21
|
+
preHandler: increaseNestingDepth,
|
|
22
|
+
search,
|
|
23
|
+
postHandler: reduceNestingDepth
|
|
24
|
+
}), qKotlinSingleObjectVarAssignment);
|
|
25
|
+
}
|
|
24
26
|
const qKotlinMultiObjectVarAssignment = qKotlinMultiObjectExpr(qKotlinMultiObjectExpr(qKotlinMultiObjectExpr(qKotlinMultiObjectExpr(qKotlinSingleObjectVarAssignment)))).handler(cleanupTempVars);
|
|
25
27
|
//#endregion
|
|
26
28
|
export { qKotlinMultiObjectVarAssignment };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/objects.ts"],"sourcesContent":["import type { parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport type { Ctx } from '../types.ts';\nimport { qKotlinMultiMapOfVarAssignment } from './assignments.ts';\nimport {\n cleanupTempVars,\n coalesceVariable,\n increaseNestingDepth,\n prependNestingDepth,\n qValueMatcher,\n qVariableAssignmentIdentifier,\n reduceNestingDepth,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport { qDependencyStrings } from './dependencies.ts';\nimport { handleAssignment } from './handlers.ts';\n\nconst qKotlinListOfAssignment = q.sym<Ctx>('listOf').tree({\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: qDependencyStrings,\n});\n\n// const val VARIABLE = \"value\"\nconst qKotlinConstValAssignment = q\n .sym<Ctx>('const')\n .sym('val')\n .sym(storeVarToken)\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op('=')\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .handler(cleanupTempVars);\n\nconst qKotlinSingleObjectVarAssignment = q.alt(\n // const val RETROFIT = \"2.9.0\"\n qKotlinConstValAssignment,\n // val dep = mapOf(\"qux\" to \"foo:bar:\\${Versions.baz}\")\n qKotlinMultiMapOfVarAssignment,\n qVariableAssignmentIdentifier\n .opt(q.op<Ctx>(':').sym('String'))\n .op('=')\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .alt(\n // val deps = listOf(\"androidx.appcompat:appcompat:$baz\", listOf(\"androidx.webkit:webkit:${Versions.baz}\"))\n qKotlinListOfAssignment,\n // val dep: String = \"foo:bar:\" + Versions.baz\n qValueMatcher\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment),\n )\n .handler(cleanupTempVars),\n);\n\n// object foo { ... }\
|
|
1
|
+
{"version":3,"file":"objects.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/objects.ts"],"sourcesContent":["import type { parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport type { Ctx } from '../types.ts';\nimport { qKotlinMultiMapOfVarAssignment } from './assignments.ts';\nimport {\n cleanupTempVars,\n coalesceVariable,\n increaseNestingDepth,\n prependNestingDepth,\n qValueMatcher,\n qVariableAssignmentIdentifier,\n reduceNestingDepth,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport { qDependencyStrings } from './dependencies.ts';\nimport { handleAssignment } from './handlers.ts';\n\nconst qKotlinListOfAssignment = q.sym<Ctx>('listOf').tree({\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: qDependencyStrings,\n});\n\n// const val VARIABLE = \"value\"\nconst qKotlinConstValAssignment = q\n .sym<Ctx>('const')\n .sym('val')\n .sym(storeVarToken)\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .op('=')\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment)\n .handler(cleanupTempVars);\n\nconst qKotlinSingleObjectVarAssignment = q.alt(\n // const val RETROFIT = \"2.9.0\"\n qKotlinConstValAssignment,\n // val dep = mapOf(\"qux\" to \"foo:bar:\\${Versions.baz}\")\n qKotlinMultiMapOfVarAssignment,\n qVariableAssignmentIdentifier\n .opt(q.op<Ctx>(':').sym('String'))\n .op('=')\n .handler(prependNestingDepth)\n .handler(coalesceVariable)\n .handler((ctx) => storeInTokenMap(ctx, 'keyToken'))\n .alt(\n // val deps = listOf(\"androidx.appcompat:appcompat:$baz\", listOf(\"androidx.webkit:webkit:${Versions.baz}\"))\n qKotlinListOfAssignment,\n // val dep: String = \"foo:bar:\" + Versions.baz\n qValueMatcher\n .handler((ctx) => storeInTokenMap(ctx, 'valToken'))\n .handler(handleAssignment),\n )\n .handler(cleanupTempVars),\n);\n\n// object foo { ... }\nfunction qKotlinMultiObjectExpr(\n search: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q.alt(\n q.sym<Ctx>('object').sym(storeVarToken).tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n preHandler: increaseNestingDepth,\n search,\n postHandler: reduceNestingDepth,\n }),\n qKotlinSingleObjectVarAssignment,\n );\n}\n\nexport const qKotlinMultiObjectVarAssignment = qKotlinMultiObjectExpr(\n qKotlinMultiObjectExpr(\n qKotlinMultiObjectExpr(\n qKotlinMultiObjectExpr(qKotlinSingleObjectVarAssignment),\n ),\n ),\n).handler(cleanupTempVars);\n"],"mappings":";;;;;;AAkBA,MAAM,0BAA0BA,MAAE,IAAS,QAAQ,CAAC,CAAC,KAAK;CACxD,MAAM;CACN,YAAY;CACZ,UAAU;CACV,QAAQ;AACV,CAAC;AAGD,MAAM,4BAA4BA,MAC/B,IAAS,OAAO,CAAC,CACjB,IAAI,KAAK,CAAC,CACV,IAAI,aAAa,CAAC,CAClB,QAAQ,mBAAmB,CAAC,CAC5B,QAAQ,gBAAgB,CAAC,CACzB,SAAS,QAAQ,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAClD,GAAG,GAAG,CAAC,CACP,KAAK,aAAa,CAAC,CACnB,SAAS,QAAQ,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAClD,QAAQ,gBAAgB,CAAC,CACzB,QAAQ,eAAe;AAE1B,MAAM,mCAAmCA,MAAE,IAEzC,2BAEA,gCACA,8BACG,IAAIA,MAAE,GAAQ,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CACjC,GAAG,GAAG,CAAC,CACP,QAAQ,mBAAmB,CAAC,CAC5B,QAAQ,gBAAgB,CAAC,CACzB,SAAS,QAAQ,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAClD,IAEC,yBAEA,cACG,SAAS,QAAQ,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAClD,QAAQ,gBAAgB,CAC7B,CAAC,CACA,QAAQ,eAAe,CAC5B;AAGA,SAAS,uBACP,QACkC;CAClC,OAAOA,MAAE,IACPA,MAAE,IAAS,QAAQ,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK;EAC3C,MAAM;EACN,UAAU;EACV,YAAY;EACZ,UAAU;EACV,YAAY;EACZ;EACA,aAAa;CACf,CAAC,GACD,gCACF;AACF;AAEA,MAAa,kCAAkC,uBAC7C,uBACE,uBACE,uBAAuB,gCAAgC,CACzD,CACF,CACF,CAAC,CAAC,QAAQ,eAAe"}
|
|
@@ -6,11 +6,11 @@ import { qAssignments } from "./assignments.js";
|
|
|
6
6
|
import { qPlugins } from "./plugins.js";
|
|
7
7
|
import { query } from "@renovatebot/good-enough-parser";
|
|
8
8
|
//#region lib/modules/manager/gradle/parser/registry-urls.ts
|
|
9
|
-
|
|
9
|
+
function cleanupTmpContentSpec(ctx) {
|
|
10
10
|
ctx.tmpRegistryContent = [];
|
|
11
11
|
return ctx;
|
|
12
|
-
}
|
|
13
|
-
|
|
12
|
+
}
|
|
13
|
+
function qContentDescriptorSpec(methodName, matcher) {
|
|
14
14
|
return query.sym(methodName, storeVarToken).handler((ctx) => storeInTokenMap(ctx, "methodName")).alt(matcher, query.tree({
|
|
15
15
|
type: "wrapped-tree",
|
|
16
16
|
maxDepth: 1,
|
|
@@ -18,10 +18,10 @@ const qContentDescriptorSpec = (methodName, matcher) => {
|
|
|
18
18
|
endsWith: ")",
|
|
19
19
|
search: query.begin().join(matcher).end()
|
|
20
20
|
}));
|
|
21
|
-
}
|
|
22
|
-
|
|
21
|
+
}
|
|
22
|
+
function qContentDescriptor(mode) {
|
|
23
23
|
return query.alt(qContentDescriptorSpec(regEx(`^(?:${mode}Group|${mode}GroupByRegex|${mode}GroupAndSubgroups)$`), qGroupId), qContentDescriptorSpec(regEx(`^(?:${mode}Module|${mode}ModuleByRegex)$`), query.join(qGroupId, query.op(","), qArtifactId)), qContentDescriptorSpec(regEx(`^(?:${mode}Version|${mode}VersionByRegex)$`), query.join(qGroupId, query.op(","), qArtifactId, query.op(","), qVersion))).handler(handleRegistryContent);
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
const qRegistryContent = query.sym("content").tree({
|
|
26
26
|
type: "wrapped-tree",
|
|
27
27
|
maxDepth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-urls.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/registry-urls.ts"],"sourcesContent":["import type { lexer, parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { regEx } from '../../../../util/regex.ts';\nimport type { Ctx } from '../types.ts';\nimport { qApplyFrom } from './apply-from.ts';\nimport { qAssignments } from './assignments.ts';\nimport {\n REGISTRY_URLS,\n cleanupTempVars,\n qArtifactId,\n qGroupId,\n qValueMatcher,\n qVersion,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport { handleRegistryContent, handleRegistryUrl } from './handlers.ts';\nimport { qPlugins } from './plugins.ts';\n\
|
|
1
|
+
{"version":3,"file":"registry-urls.js","names":["q"],"sources":["../../../../../lib/modules/manager/gradle/parser/registry-urls.ts"],"sourcesContent":["import type { lexer, parser } from '@renovatebot/good-enough-parser';\nimport { query as q } from '@renovatebot/good-enough-parser';\nimport { regEx } from '../../../../util/regex.ts';\nimport type { Ctx } from '../types.ts';\nimport { qApplyFrom } from './apply-from.ts';\nimport { qAssignments } from './assignments.ts';\nimport {\n REGISTRY_URLS,\n cleanupTempVars,\n qArtifactId,\n qGroupId,\n qValueMatcher,\n qVersion,\n storeInTokenMap,\n storeVarToken,\n} from './common.ts';\nimport { handleRegistryContent, handleRegistryUrl } from './handlers.ts';\nimport { qPlugins } from './plugins.ts';\n\nfunction cleanupTmpContentSpec(ctx: Ctx): Ctx {\n ctx.tmpRegistryContent = [];\n return ctx;\n}\n\nfunction qContentDescriptorSpec(\n methodName: RegExp,\n matcher: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> {\n return q\n .sym<Ctx>(methodName, storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'methodName'))\n .alt(\n // includeGroup \"foo.bar\"\n matcher,\n // includeGroup(\"foo.bar\")\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(matcher).end(),\n }),\n );\n}\n\n// includeModule('foo')\n// excludeModuleByRegex('bar')\nfunction qContentDescriptor(\n mode: 'include' | 'exclude',\n): q.QueryBuilder<Ctx, parser.Node> {\n return q\n .alt<Ctx>(\n qContentDescriptorSpec(\n regEx(\n `^(?:${mode}Group|${mode}GroupByRegex|${mode}GroupAndSubgroups)$`,\n ),\n qGroupId,\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Module|${mode}ModuleByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId),\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Version|${mode}VersionByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId, q.op(','), qVersion),\n ),\n )\n .handler(handleRegistryContent);\n}\n\n// content { includeModule('foo'); excludeModule('bar') }\nconst qRegistryContent = q.sym<Ctx>('content').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(qContentDescriptor('include'), qContentDescriptor('exclude')),\n});\n\n// uri(\"https://foo.bar/baz\")\n// \"https://foo.bar/baz\"\nconst qUri = q\n .alt(\n q.sym<Ctx>('uri').tree({\n maxDepth: 1,\n search: qValueMatcher,\n }),\n qValueMatcher,\n )\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'));\n\n// mavenCentral()\n// mavenCentral { ... }\nconst qPredefinedRegistries = q\n .sym(\n regEx(`^(?:${Object.keys(REGISTRY_URLS).join('|')})$`),\n (ctx: Ctx, node: lexer.Token) => {\n const nodeTransformed: lexer.Token = {\n ...node,\n type: 'string-value',\n value: REGISTRY_URLS[node.value as keyof typeof REGISTRY_URLS],\n };\n storeVarToken(ctx, nodeTransformed);\n return ctx;\n },\n )\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'))\n .alt(\n q\n .tree({\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().end(),\n })\n .opt(q.op<Ctx>('.').join(qRegistryContent)),\n q.tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n search: q.opt(qRegistryContent),\n }),\n );\n\n// { url = \"https://some.repo\"; content { ... } }\nconst qMavenArtifactRegistry = q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(\n q\n .sym<Ctx>('name')\n .opt(q.op('='))\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'name')),\n q.sym<Ctx>('url').opt(q.op('=')).join(qUri),\n q.sym<Ctx>('setUrl').tree({\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(qUri).end(),\n }),\n qRegistryContent,\n ),\n});\n\n// maven(url = uri(\"https://foo.bar/baz\"))\n// maven(\"https://foo.bar/baz\") { content { ... } }\n// maven { name = some; url = \"https://foo.bar/${name}\" }\nconst qCustomRegistryUrl = q.sym<Ctx>('maven').alt(\n q\n .tree<Ctx>({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().opt(q.sym<Ctx>('url').op('=')).join(qUri).end(),\n })\n .opt(qMavenArtifactRegistry),\n qMavenArtifactRegistry,\n);\n\n// forRepository { maven { ... } }\nconst qForRepository = q.sym<Ctx>('forRepository').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n maxMatches: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt<Ctx>(qPredefinedRegistries, qCustomRegistryUrl),\n});\n\n// filter { includeGroup(...); includeModule(...) }\nconst qFilter = q.sym<Ctx>('filter').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: qContentDescriptor('include'),\n});\n\n// exclusiveContent { forRepository { ... }; filter { ... } }\nconst qExclusiveContent = q\n .sym<Ctx>('exclusiveContent', storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'registryType'))\n .tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n maxMatches: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt<Ctx>(\n q.join<Ctx>(qForRepository, qFilter),\n q.join<Ctx>(qFilter, qForRepository),\n ),\n });\n\nconst qRegistries = q\n .alt(qExclusiveContent, qPredefinedRegistries, qCustomRegistryUrl)\n .handler(handleRegistryUrl)\n .handler(cleanupTmpContentSpec)\n .handler(cleanupTempVars);\n\nconst qPluginManagement = q.sym<Ctx>('pluginManagement', storeVarToken).tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n preHandler: (ctx) => {\n ctx.tmpTokenStore.registryScope = ctx.varTokens;\n ctx.varTokens = [];\n return ctx;\n },\n search: q\n .handler<Ctx>((ctx) => {\n if (ctx.tmpTokenStore.registryScope) {\n ctx.tokenMap.registryScope = ctx.tmpTokenStore.registryScope;\n }\n return ctx;\n })\n .alt(qAssignments, qApplyFrom, qPlugins, qRegistries),\n postHandler: (ctx) => {\n delete ctx.tmpTokenStore.registryScope;\n return ctx;\n },\n});\n\nexport const qRegistryUrls = q.alt<Ctx>(\n q.sym<Ctx>('publishing').tree(),\n qPluginManagement,\n qRegistries,\n);\n"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { MaybePromise } from "../../types/index.js";
|
|
|
3
3
|
import { ExtractConfig, GlobalManagerConfig, ManagerApi, PackageFile, PackageFileContent, RangeConfig } from "./types.js";
|
|
4
4
|
import { hashMap } from "./fingerprint.generated.js";
|
|
5
5
|
//#region lib/modules/manager/index.d.ts
|
|
6
|
-
declare
|
|
7
|
-
declare
|
|
6
|
+
declare function getManagerList(): string[];
|
|
7
|
+
declare function getManagers(): Map<string, ManagerApi>;
|
|
8
8
|
declare const allManagersList: string[];
|
|
9
9
|
declare function get<T extends keyof ManagerApi>(manager: string, name: T): ManagerApi[T] | undefined;
|
|
10
10
|
declare function detectAllGlobalConfig(): Promise<GlobalManagerConfig>;
|
|
@@ -4,8 +4,12 @@ import api$1 from "./api.js";
|
|
|
4
4
|
import { hashMap } from "./fingerprint.generated.js";
|
|
5
5
|
//#region lib/modules/manager/index.ts
|
|
6
6
|
const managerList = Array.from(api$1.keys());
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
function getManagerList() {
|
|
8
|
+
return managerList;
|
|
9
|
+
}
|
|
10
|
+
function getManagers() {
|
|
11
|
+
return api$1;
|
|
12
|
+
}
|
|
9
13
|
const allManagersList = [...managerList, ...customManagerList];
|
|
10
14
|
function get(manager, name) {
|
|
11
15
|
return isCustomManager(manager) ? api.get(manager)?.[name] : api$1.get(manager)?.[name];
|