renovate 41.18.3 → 41.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/options/index.js +2 -2
- package/dist/config/options/index.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/npm/artifacts.js +8 -3
- package/dist/modules/manager/npm/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +8 -3
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +18 -1
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/platform/gerrit/client.d.ts +1 -0
- package/dist/modules/platform/gerrit/client.js +5 -0
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.js +2 -2
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +7 -1
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gerrit/types.d.ts +1 -0
- package/dist/modules/platform/gerrit/types.js.map +1 -1
- package/dist/modules/platform/gerrit/utils.js +1 -0
- package/dist/modules/platform/gerrit/utils.js.map +1 -1
- package/dist/util/git/index.d.ts +1 -1
- package/dist/util/git/index.js +7 -4
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/types.d.ts +3 -0
- package/dist/util/git/types.js.map +1 -1
- package/package.json +1 -1
@@ -85,7 +85,7 @@ exports.hashMap.set('pip_setup', '31b330d9666d61474326a761a3ce1479f9a189ef6838ec
|
|
85
85
|
exports.hashMap.set('pipenv', '823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');
|
86
86
|
exports.hashMap.set('pixi', 'a0c9a077564d519aea6a08cc6084e006537c7636ef56d1a7eb71ad33613688e0');
|
87
87
|
exports.hashMap.set('poetry', 'f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');
|
88
|
-
exports.hashMap.set('pre-commit', '
|
88
|
+
exports.hashMap.set('pre-commit', '64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');
|
89
89
|
exports.hashMap.set('pub', '8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');
|
90
90
|
exports.hashMap.set('puppet', '34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');
|
91
91
|
exports.hashMap.set('pyenv', '4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','4f57dac26d9f3c392c305811114a63d11fb67ea840d5d0a47b70a9b312ec9feb');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','b934a5d30a19ab7afaea6329170e450918e5468de36accd9015514ce2ed477b4');\nhashMap.set('bazel-module','5ee6cb48ee19e710a6a192d0722d637ad2cdbccc585076e2d5c68e2b5678f41b');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','8a99769df7467e591d146dc5aeccc60190f514c5f942c03c81cd5d942110efc9');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','295c4600578af3e60ef47fb98815f0c0a6130f288a5e5bde37df2f97128766f6');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','f88d739011d95ac37e314d66521c142bfee44b2d903b892d61a009e43d194430');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','139bff9cefaf0f2ae6c5a71cb9638febd70465f66adc2e0c25fd58c13ad04e0e');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','ff3f7e849a7b74b3ba027e9c8bd2ceea90ea5994c08720243e16a996597c60c6');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','de49ac7e1b9ee06e6b8a99bc85026ddd43478669818770378a51aff5e147e43e');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','a0c9a077564d519aea6a08cc6084e006537c7636ef56d1a7eb71ad33613688e0');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','a881d191bd52396ea815e60a49b047f0f073e5a567c863829efbab32610bfa40');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','26bba44332bb86fd841a1ae7d6c57495f2432ef8261605011a0c9094d1808432');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','4f57dac26d9f3c392c305811114a63d11fb67ea840d5d0a47b70a9b312ec9feb');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','b934a5d30a19ab7afaea6329170e450918e5468de36accd9015514ce2ed477b4');\nhashMap.set('bazel-module','5ee6cb48ee19e710a6a192d0722d637ad2cdbccc585076e2d5c68e2b5678f41b');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','8a99769df7467e591d146dc5aeccc60190f514c5f942c03c81cd5d942110efc9');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','295c4600578af3e60ef47fb98815f0c0a6130f288a5e5bde37df2f97128766f6');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','f88d739011d95ac37e314d66521c142bfee44b2d903b892d61a009e43d194430');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','139bff9cefaf0f2ae6c5a71cb9638febd70465f66adc2e0c25fd58c13ad04e0e');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','ff3f7e849a7b74b3ba027e9c8bd2ceea90ea5994c08720243e16a996597c60c6');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','de49ac7e1b9ee06e6b8a99bc85026ddd43478669818770378a51aff5e147e43e');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','a0c9a077564d519aea6a08cc6084e006537c7636ef56d1a7eb71ad33613688e0');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','26bba44332bb86fd841a1ae7d6c57495f2432ef8261605011a0c9094d1808432');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
|
@@ -39,13 +39,18 @@ async function updateArtifacts({ packageFileName, config, updatedDeps, newPackag
|
|
39
39
|
const lazyPkgJson = (0, utils_1.lazyLoadPackageJson)(pkgFileDir);
|
40
40
|
const cmd = `corepack use ${depName}@${newVersion}`;
|
41
41
|
const nodeConstraints = await (0, node_version_1.getNodeToolConstraint)(config, updatedDeps, pkgFileDir, lazyPkgJson);
|
42
|
+
const pnpmConfigCacheDir = await (0, fs_1.ensureCacheDir)(constants_1.PNPM_CACHE_DIR);
|
43
|
+
const pnpmConfigStoreDir = await (0, fs_1.ensureCacheDir)(constants_1.PNPM_STORE_DIR);
|
42
44
|
const execOptions = {
|
43
45
|
cwdFile: packageFileName,
|
44
46
|
extraEnv: {
|
45
47
|
// To make sure pnpm store location is consistent between "corepack use"
|
46
|
-
// here and the pnpm commands in ./post-update/pnpm.ts
|
47
|
-
|
48
|
-
|
48
|
+
// here and the pnpm commands in ./post-update/pnpm.ts. Check
|
49
|
+
// ./post-update/pnpm.ts for more details.
|
50
|
+
npm_config_cache_dir: pnpmConfigCacheDir,
|
51
|
+
npm_config_store_dir: pnpmConfigStoreDir,
|
52
|
+
pnpm_config_cache_dir: pnpmConfigCacheDir,
|
53
|
+
pnpm_config_store_dir: pnpmConfigStoreDir,
|
49
54
|
},
|
50
55
|
toolConstraints: [
|
51
56
|
nodeConstraints,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/artifacts.ts"],"names":[],"mappings":";;AA2BA,
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { PNPM_CACHE_DIR, PNPM_STORE_DIR } from './constants';\nimport { getNodeToolConstraint } from './post-update/node-version';\nimport { processHostRules } from './post-update/rules';\nimport { lazyLoadPackageJson } from './post-update/utils';\nimport {\n getNpmrcContent,\n resetNpmrcContent,\n updateNpmrcContent,\n} from './utils';\n\n// eg. 8.15.5+sha256.4b4efa12490e5055d59b9b9fc9438b7d581a6b7af3b5675eb5c5f447cee1a589\nconst versionWithHashRegString = '^(?<version>.*)\\\\+(?<hash>.*)';\n\n// Execute 'corepack use' command for npm manager updates\n// This step is necessary because Corepack recommends attaching a hash after the version\n// The hash is generated only after running 'corepack use' and cannot be fetched from the npm registry\nexport async function updateArtifacts({\n packageFileName,\n config,\n updatedDeps,\n newPackageFileContent: existingPackageFileContent,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`npm.updateArtifacts(${packageFileName})`);\n const packageManagerUpdate = updatedDeps.find(\n (dep) => dep.depType === 'packageManager',\n );\n\n if (!packageManagerUpdate) {\n logger.debug('No packageManager updates - returning null');\n return null;\n }\n\n const { currentValue, depName, newVersion } = packageManagerUpdate;\n\n // Execute 'corepack use' command only if the currentValue already has hash in it\n if (!currentValue || !regEx(versionWithHashRegString).test(currentValue)) {\n return null;\n }\n\n // write old updates before executing corepack update so that they are not removed from package file\n await writeLocalFile(packageFileName, existingPackageFileContent);\n\n // Asumming that corepack only needs to modify the package.json file in the root folder\n // As it should not be regular practice to have different package managers in different workspaces\n const pkgFileDir = upath.dirname(packageFileName);\n const { additionalNpmrcContent } = processHostRules();\n const npmrcContent = await getNpmrcContent(pkgFileDir);\n const lazyPkgJson = lazyLoadPackageJson(pkgFileDir);\n const cmd = `corepack use ${depName}@${newVersion}`;\n\n const nodeConstraints = await getNodeToolConstraint(\n config,\n updatedDeps,\n pkgFileDir,\n lazyPkgJson,\n );\n\n const pnpmConfigCacheDir = await ensureCacheDir(PNPM_CACHE_DIR);\n const pnpmConfigStoreDir = await ensureCacheDir(PNPM_STORE_DIR);\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv: {\n // To make sure pnpm store location is consistent between \"corepack use\"\n // here and the pnpm commands in ./post-update/pnpm.ts. Check\n // ./post-update/pnpm.ts for more details.\n npm_config_cache_dir: pnpmConfigCacheDir,\n npm_config_store_dir: pnpmConfigStoreDir,\n pnpm_config_cache_dir: pnpmConfigCacheDir,\n pnpm_config_store_dir: pnpmConfigStoreDir,\n },\n toolConstraints: [\n nodeConstraints,\n {\n toolName: 'corepack',\n constraint: config.constraints?.corepack,\n },\n ],\n docker: {},\n };\n\n await updateNpmrcContent(pkgFileDir, npmrcContent, additionalNpmrcContent);\n try {\n await exec(cmd, execOptions);\n await resetNpmrcContent(pkgFileDir, npmrcContent);\n const newPackageFileContent = await readLocalFile(packageFileName, 'utf8');\n if (\n !newPackageFileContent ||\n existingPackageFileContent === newPackageFileContent\n ) {\n return null;\n }\n logger.debug('Returning updated package.json');\n return [\n {\n file: {\n type: 'addition',\n path: packageFileName,\n contents: newPackageFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating package.json');\n await resetNpmrcContent(pkgFileDir, npmrcContent);\n return [\n {\n artifactError: {\n fileName: packageFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
@@ -40,13 +40,18 @@ async function generateLockFile(lockFileDir, env, config, upgrades = []) {
|
|
40
40
|
(0, utils_1.getPackageManagerVersion)('pnpm', await lazyPgkJson.getValue()) ?? // look in package.json > packageManager or engines
|
41
41
|
(await getConstraintFromLockFile(lockFileName)), // use lockfileVersion to find pnpm version range
|
42
42
|
};
|
43
|
+
const pnpmConfigCacheDir = await (0, fs_1.ensureCacheDir)(constants_1.PNPM_CACHE_DIR);
|
44
|
+
const pnpmConfigStoreDir = await (0, fs_1.ensureCacheDir)(constants_1.PNPM_STORE_DIR);
|
43
45
|
const extraEnv = {
|
44
46
|
// those arwe no longer working and it's unclear if they ever worked
|
45
47
|
NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,
|
46
48
|
npm_config_store: env.npm_config_store,
|
47
|
-
// these are used by pnpm v5
|
48
|
-
npm_config_cache_dir:
|
49
|
-
npm_config_store_dir:
|
49
|
+
// these are used by pnpm v5 to v10. Maybe earlier versions too
|
50
|
+
npm_config_cache_dir: pnpmConfigCacheDir,
|
51
|
+
npm_config_store_dir: pnpmConfigStoreDir,
|
52
|
+
// pnpm stops reading npm_config_* env vars since v11
|
53
|
+
pnpm_config_cache_dir: pnpmConfigCacheDir,
|
54
|
+
pnpm_config_store_dir: pnpmConfigStoreDir,
|
50
55
|
};
|
51
56
|
const execOptions = {
|
52
57
|
cwdFile: lockFileName,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/pnpm.ts"],"names":[],"mappings":";;AAqCA,4CAoIC;AAED,8DAqCC;;AAhND,kEAAkC;AAClC,iCAA8B;AAC9B,0DAA0B;AAC1B,sDAAyD;AACzD,yEAAuE;AACvE,+CAA4C;AAC5C,gDAA6C;AAM7C,4CAM6B;AAC7B,oDAAwD;AACxD,gDAAwD;AAExD,4CAA8D;AAE9D,iDAAuD;AAEvD,mCAAwE;AAExE,SAAS,6BAA6B,CAAC,QAAmB;IACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,GAAsB,EACtB,MAAwB,EACxB,WAAsB,EAAE;IAExB,MAAM,YAAY,GAAG,eAAK,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC/D,eAAM,CAAC,KAAK,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,2BAAmB,EAAC,WAAW,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAmB;YACzC,QAAQ,EAAE,MAAM;YAChB,UAAU,EACR,6BAA6B,CAAC,QAAQ,CAAC,IAAI,4CAA4C;gBACvF,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,iCAAiC;gBAC7D,IAAA,gCAAwB,EAAC,MAAM,EAAE,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,mDAAmD;gBACrH,CAAC,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC,EAAE,iDAAiD;SACrG,CAAC;QAEF,MAAM,QAAQ,GAAa;YACzB,oEAAoE;YACpE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,kEAAkE;YAClE,oBAAoB,EAAE,MAAM,IAAA,mBAAc,EAAC,0BAAc,CAAC;YAC1D,oBAAoB,EAAE,MAAM,IAAA,mBAAc,EAAC,0BAAc,CAAC;SAC3D,CAAC;QACF,MAAM,WAAW,GAAgB;YAC/B,OAAO,EAAE,YAAY;YACrB,QAAQ;YACR,MAAM,EAAE,EAAE;YACV,eAAe,EAAE;gBACf,MAAM,IAAA,oCAAqB,EAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC;gBACvE,kBAAkB;aACnB;SACF,CAAC;QACF,qBAAqB;QACrB,IAAI,qBAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACjC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QACrC,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAA,uBAAkB,EAC9C,YAAY,EACZ,qBAAqB,CACtB,CAAC;QAEF,IAAI,IAAI,GAAG,iBAAiB,CAAC;QAE7B,gJAAgJ;QAChJ,gDAAgD;QAChD,wBAAwB;QACxB,IAAI,MAAM,IAAA,oBAAe,EAAC,qBAAqB,CAAC,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,IAAA,sBAAe,EACnC,CAAC,MAAM,IAAA,kBAAa,EAAC,qBAAqB,EAAE,MAAM,CAAC,CAAE,CACtD,CAAC;YACF,IAAI,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACpC,eAAM,CAAC,KAAK,CACV,6BAA6B,aAAa,CAAC,QAAQ,CAAC,MAAM,sBAAsB,CACjF,CAAC;gBACF,8FAA8F;gBAC9F,IAAI,IAAI,cAAc,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,qBAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,IAAI,mBAAmB,CAAC;YAC5B,IAAI,IAAI,oBAAoB,CAAC;QAC/B,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE3E,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,2DAA2D;YAC3D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,kCAAkC;QAClC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,eAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CACX,yBAAyB,WAAW;gBAClC,uBAAuB;iBACtB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,WAAY,IAAI,MAAM,CAAC,UAAW,EAAE,CAAC;iBAC/D,MAAM,CAAC,sBAAa,CAAC;iBACrB,GAAG,CAAC,aAAK,CAAC;iBACV,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CACvB,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC9D,eAAM,CAAC,KAAK,CACV,YAAY,YAAY,6CAA6C,CACtE,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAA,oBAAe,EAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,0BAA0B,CAAC,CAAC;gBACxC,eAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,YAAY,EAAE,EACrB,2DAA2D,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAA,WAAI,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAClC,QAAQ,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,OAAO,KAAK,gCAAe,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CACV;YACE,QAAQ;YACR,GAAG;YACH,MAAM;YACN,MAAM;YACN,IAAI,EAAE,MAAM;SACb,EACD,iBAAiB,CAClB,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,YAAoB;IAEpB,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAe,eAAe,CAAC,CAAC;QAChE,IACE,CAAC,YAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;YACrC,CAAC,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC5C,CAAC;YACD,eAAM,CAAC,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wDAAwD;QACxD,0CAA0C;QAC1C,wFAAwF;QACxF,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,wBAAwB,CAAC,IAAI,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CACtD,IAAI;YACH,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,QAAQ;SAC1B,CAAC;QACF,UAAU,GAAG,eAAe,CAAC;QAC7B,IAAI,eAAe,EAAE,CAAC;YACpB,UAAU,IAAI,IAAI,eAAe,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,wBAAwB,GAA+B;IAC3D,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;IAClD;QACE,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,UAAU;QAC3B,eAAe,EAAE,IAAI;KACtB;IACD;QACE,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;KACtB;IACD;QACE,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;KACtB;IACD;QACE,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,UAAU;QAC3B,eAAe,EAAE,IAAI;KACtB;IACD;QACE,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,QAAQ;KAC1B;CACF,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { uniqueStrings } from '../../../../util/string';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { PNPM_CACHE_DIR, PNPM_STORE_DIR } from '../constants';\nimport type { PnpmWorkspaceFile } from '../extract/types';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult, PnpmLockFile } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nfunction getPnpmConstraintFromUpgrades(upgrades: Upgrade[]): string | null {\n for (const upgrade of upgrades) {\n if (upgrade.depName === 'pnpm' && upgrade.newVersion) {\n return upgrade.newVersion;\n }\n }\n return null;\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n config: PostUpdateConfig,\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n const lockFileName = upath.join(lockFileDir, 'pnpm-lock.yaml');\n logger.debug(`Spawning pnpm install to create ${lockFileName}`);\n let lockFile: string | null = null;\n let stdout: string | undefined;\n let stderr: string | undefined;\n const commands: string[] = [];\n try {\n const lazyPgkJson = lazyLoadPackageJson(lockFileDir);\n const pnpmToolConstraint: ToolConstraint = {\n toolName: 'pnpm',\n constraint:\n getPnpmConstraintFromUpgrades(upgrades) ?? // if pnpm is being upgraded, it comes first\n config.constraints?.pnpm ?? // from user config or extraction\n getPackageManagerVersion('pnpm', await lazyPgkJson.getValue()) ?? // look in package.json > packageManager or engines\n (await getConstraintFromLockFile(lockFileName)), // use lockfileVersion to find pnpm version range\n };\n\n const extraEnv: ExtraEnv = {\n // those arwe no longer working and it's unclear if they ever worked\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n // these are used by pnpm v5 and above. Maybe earlier versions too\n npm_config_cache_dir: await ensureCacheDir(PNPM_CACHE_DIR),\n npm_config_store_dir: await ensureCacheDir(PNPM_STORE_DIR),\n };\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPgkJson),\n pnpmToolConstraint,\n ],\n };\n // istanbul ignore if\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n const pnpmWorkspaceFilePath = getSiblingFileName(\n lockFileName,\n 'pnpm-workspace.yaml',\n );\n\n let args = '--lockfile-only';\n\n // If it's not a workspaces project/monorepo, but single project with unrelated other npm project in source tree (for example, a git submodule),\n // `--recursive` will install un-wanted project.\n // we should avoid this.\n if (await localPathExists(pnpmWorkspaceFilePath)) {\n const pnpmWorkspace = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(pnpmWorkspaceFilePath, 'utf8'))!,\n );\n if (pnpmWorkspace?.packages?.length) {\n logger.debug(\n `Found pnpm workspace with ${pnpmWorkspace.packages.length} package definitions`,\n );\n // we are in a monorepo, 'pnpm update' needs the '--recursive' flag contrary to 'pnpm install'\n args += ' --recursive';\n }\n }\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n args += ' --ignore-scripts';\n args += ' --ignore-pnpmfile';\n }\n logger.trace({ args }, 'pnpm command options');\n\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n\n if (lockUpdates.length !== upgrades.length) {\n // This command updates the lock file based on package.json\n commands.push(`pnpm install ${args}`);\n }\n\n // rangeStrategy = update-lockfile\n if (lockUpdates.length) {\n logger.debug('Performing lockfileUpdate (pnpm)');\n commands.push(\n `pnpm update --no-save ${lockUpdates\n // TODO: types (#22198)\n .map((update) => `${update.packageName!}@${update.newVersion!}`)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')} ${args}`,\n );\n }\n\n // postUpdateOptions\n if (config.postUpdateOptions?.includes('pnpmDedupe')) {\n commands.push('pnpm dedupe --ignore-scripts');\n }\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n try {\n await deleteLocalFile(lockFileName);\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { err, lockFileName },\n 'Error removing `pnpm-lock.yaml` for lock file maintenance',\n );\n }\n }\n\n await exec(commands, execOptions);\n lockFile = await readLocalFile(lockFileName, 'utf8');\n } catch (err) /* istanbul ignore next */ {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n commands,\n err,\n stdout,\n stderr,\n type: 'pnpm',\n },\n 'lock file error',\n );\n return { error: true, stderr: err.stderr, stdout: err.stdout };\n }\n return { lockFile };\n}\n\nexport async function getConstraintFromLockFile(\n lockFileName: string,\n): Promise<string | null> {\n let constraint: string | null = null;\n try {\n const lockfileContent = await readLocalFile(lockFileName, 'utf8');\n if (!lockfileContent) {\n logger.trace(`Empty pnpm lock file: ${lockFileName}`);\n return null;\n }\n // TODO: use schema (#9610)\n const pnpmLock = parseSingleYaml<PnpmLockFile>(lockfileContent);\n if (\n !is.number(pnpmLock?.lockfileVersion) &&\n !is.numericString(pnpmLock?.lockfileVersion)\n ) {\n logger.trace(`Invalid pnpm lockfile version: ${lockFileName}`);\n return null;\n }\n // find matching lockfileVersion and use its constraints\n // if no match found use lockfileVersion 5\n // lockfileVersion 5 is the minimum version required to generate the pnpm-lock.yaml file\n const { lowerConstraint, upperConstraint } = lockToPnpmVersionMapping.find(\n (m) => m.lockfileVersion === pnpmLock.lockfileVersion,\n ) ?? {\n lockfileVersion: 5.0,\n lowerConstraint: '>=3',\n upperConstraint: '<3.5.0',\n };\n constraint = lowerConstraint;\n if (upperConstraint) {\n constraint += ` ${upperConstraint}`;\n }\n } catch (err) {\n logger.warn({ err }, 'Error getting pnpm constraints from lock file');\n }\n return constraint;\n}\n\n/**\n * pnpm lockfiles have corresponding version numbers called \"lockfileVersion\"\n * each lockfileVersion can only be generated by a certain pnpm version range\n * eg. lockfileVersion: 5.4 can only be generated by pnpm version >=7 && <8\n * official list can be found here : https://github.com/pnpm/spec/tree/master/lockfile\n * we use the mapping present below to find the compatible pnpm version range for a given lockfileVersion\n *\n * the various terms used in the mapping are explained below:\n * lowerConstraint : lowest pnpm version that can generate the lockfileVersion\n * upperConstraint : highest pnpm version that can generate the lockfileVersion\n * lowerBound : highest pnpm version that is less than the lowerConstraint\n * upperBound : lowest pnpm version that is greater than the upperConstraint\n *\n * To handle future lockfileVersions, we need to:\n * 1. add a upperBound and upperConstraint to the current latest lockfileVersion\n * 2. add an object for the new lockfileVersion with lowerBound and lowerConstraint\n *\n * lockfileVersion from v6 on are strings\n */\nconst lockToPnpmVersionMapping: LockToPnpmVersionMapping[] = [\n { lockfileVersion: '9.0', lowerConstraint: '>=9' },\n {\n lockfileVersion: '6.0',\n lowerConstraint: '>=7.24.2',\n upperConstraint: '<9',\n },\n {\n lockfileVersion: 5.4,\n lowerConstraint: '>=7',\n upperConstraint: '<8',\n },\n {\n lockfileVersion: 5.3,\n lowerConstraint: '>=6',\n upperConstraint: '<7',\n },\n {\n lockfileVersion: 5.2,\n lowerConstraint: '>=5.10.0',\n upperConstraint: '<6',\n },\n {\n lockfileVersion: 5.1,\n lowerConstraint: '>=3.5.0',\n upperConstraint: '<5.9.3',\n },\n];\n\ninterface LockToPnpmVersionMapping {\n lockfileVersion: string | number;\n lowerConstraint: string;\n upperConstraint?: string;\n}\n"]}
|
1
|
+
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { uniqueStrings } from '../../../../util/string';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { PNPM_CACHE_DIR, PNPM_STORE_DIR } from '../constants';\nimport type { PnpmWorkspaceFile } from '../extract/types';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult, PnpmLockFile } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nfunction getPnpmConstraintFromUpgrades(upgrades: Upgrade[]): string | null {\n for (const upgrade of upgrades) {\n if (upgrade.depName === 'pnpm' && upgrade.newVersion) {\n return upgrade.newVersion;\n }\n }\n return null;\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n config: PostUpdateConfig,\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n const lockFileName = upath.join(lockFileDir, 'pnpm-lock.yaml');\n logger.debug(`Spawning pnpm install to create ${lockFileName}`);\n let lockFile: string | null = null;\n let stdout: string | undefined;\n let stderr: string | undefined;\n const commands: string[] = [];\n try {\n const lazyPgkJson = lazyLoadPackageJson(lockFileDir);\n const pnpmToolConstraint: ToolConstraint = {\n toolName: 'pnpm',\n constraint:\n getPnpmConstraintFromUpgrades(upgrades) ?? // if pnpm is being upgraded, it comes first\n config.constraints?.pnpm ?? // from user config or extraction\n getPackageManagerVersion('pnpm', await lazyPgkJson.getValue()) ?? // look in package.json > packageManager or engines\n (await getConstraintFromLockFile(lockFileName)), // use lockfileVersion to find pnpm version range\n };\n\n const pnpmConfigCacheDir = await ensureCacheDir(PNPM_CACHE_DIR);\n const pnpmConfigStoreDir = await ensureCacheDir(PNPM_STORE_DIR);\n const extraEnv: ExtraEnv = {\n // those arwe no longer working and it's unclear if they ever worked\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n // these are used by pnpm v5 to v10. Maybe earlier versions too\n npm_config_cache_dir: pnpmConfigCacheDir,\n npm_config_store_dir: pnpmConfigStoreDir,\n // pnpm stops reading npm_config_* env vars since v11\n pnpm_config_cache_dir: pnpmConfigCacheDir,\n pnpm_config_store_dir: pnpmConfigStoreDir,\n };\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPgkJson),\n pnpmToolConstraint,\n ],\n };\n // istanbul ignore if\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n const pnpmWorkspaceFilePath = getSiblingFileName(\n lockFileName,\n 'pnpm-workspace.yaml',\n );\n\n let args = '--lockfile-only';\n\n // If it's not a workspaces project/monorepo, but single project with unrelated other npm project in source tree (for example, a git submodule),\n // `--recursive` will install un-wanted project.\n // we should avoid this.\n if (await localPathExists(pnpmWorkspaceFilePath)) {\n const pnpmWorkspace = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(pnpmWorkspaceFilePath, 'utf8'))!,\n );\n if (pnpmWorkspace?.packages?.length) {\n logger.debug(\n `Found pnpm workspace with ${pnpmWorkspace.packages.length} package definitions`,\n );\n // we are in a monorepo, 'pnpm update' needs the '--recursive' flag contrary to 'pnpm install'\n args += ' --recursive';\n }\n }\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n args += ' --ignore-scripts';\n args += ' --ignore-pnpmfile';\n }\n logger.trace({ args }, 'pnpm command options');\n\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n\n if (lockUpdates.length !== upgrades.length) {\n // This command updates the lock file based on package.json\n commands.push(`pnpm install ${args}`);\n }\n\n // rangeStrategy = update-lockfile\n if (lockUpdates.length) {\n logger.debug('Performing lockfileUpdate (pnpm)');\n commands.push(\n `pnpm update --no-save ${lockUpdates\n // TODO: types (#22198)\n .map((update) => `${update.packageName!}@${update.newVersion!}`)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')} ${args}`,\n );\n }\n\n // postUpdateOptions\n if (config.postUpdateOptions?.includes('pnpmDedupe')) {\n commands.push('pnpm dedupe --ignore-scripts');\n }\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n try {\n await deleteLocalFile(lockFileName);\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { err, lockFileName },\n 'Error removing `pnpm-lock.yaml` for lock file maintenance',\n );\n }\n }\n\n await exec(commands, execOptions);\n lockFile = await readLocalFile(lockFileName, 'utf8');\n } catch (err) /* istanbul ignore next */ {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n commands,\n err,\n stdout,\n stderr,\n type: 'pnpm',\n },\n 'lock file error',\n );\n return { error: true, stderr: err.stderr, stdout: err.stdout };\n }\n return { lockFile };\n}\n\nexport async function getConstraintFromLockFile(\n lockFileName: string,\n): Promise<string | null> {\n let constraint: string | null = null;\n try {\n const lockfileContent = await readLocalFile(lockFileName, 'utf8');\n if (!lockfileContent) {\n logger.trace(`Empty pnpm lock file: ${lockFileName}`);\n return null;\n }\n // TODO: use schema (#9610)\n const pnpmLock = parseSingleYaml<PnpmLockFile>(lockfileContent);\n if (\n !is.number(pnpmLock?.lockfileVersion) &&\n !is.numericString(pnpmLock?.lockfileVersion)\n ) {\n logger.trace(`Invalid pnpm lockfile version: ${lockFileName}`);\n return null;\n }\n // find matching lockfileVersion and use its constraints\n // if no match found use lockfileVersion 5\n // lockfileVersion 5 is the minimum version required to generate the pnpm-lock.yaml file\n const { lowerConstraint, upperConstraint } = lockToPnpmVersionMapping.find(\n (m) => m.lockfileVersion === pnpmLock.lockfileVersion,\n ) ?? {\n lockfileVersion: 5.0,\n lowerConstraint: '>=3',\n upperConstraint: '<3.5.0',\n };\n constraint = lowerConstraint;\n if (upperConstraint) {\n constraint += ` ${upperConstraint}`;\n }\n } catch (err) {\n logger.warn({ err }, 'Error getting pnpm constraints from lock file');\n }\n return constraint;\n}\n\n/**\n * pnpm lockfiles have corresponding version numbers called \"lockfileVersion\"\n * each lockfileVersion can only be generated by a certain pnpm version range\n * eg. lockfileVersion: 5.4 can only be generated by pnpm version >=7 && <8\n * official list can be found here : https://github.com/pnpm/spec/tree/master/lockfile\n * we use the mapping present below to find the compatible pnpm version range for a given lockfileVersion\n *\n * the various terms used in the mapping are explained below:\n * lowerConstraint : lowest pnpm version that can generate the lockfileVersion\n * upperConstraint : highest pnpm version that can generate the lockfileVersion\n * lowerBound : highest pnpm version that is less than the lowerConstraint\n * upperBound : lowest pnpm version that is greater than the upperConstraint\n *\n * To handle future lockfileVersions, we need to:\n * 1. add a upperBound and upperConstraint to the current latest lockfileVersion\n * 2. add an object for the new lockfileVersion with lowerBound and lowerConstraint\n *\n * lockfileVersion from v6 on are strings\n */\nconst lockToPnpmVersionMapping: LockToPnpmVersionMapping[] = [\n { lockfileVersion: '9.0', lowerConstraint: '>=9' },\n {\n lockfileVersion: '6.0',\n lowerConstraint: '>=7.24.2',\n upperConstraint: '<9',\n },\n {\n lockfileVersion: 5.4,\n lowerConstraint: '>=7',\n upperConstraint: '<8',\n },\n {\n lockfileVersion: 5.3,\n lowerConstraint: '>=6',\n upperConstraint: '<7',\n },\n {\n lockfileVersion: 5.2,\n lowerConstraint: '>=5.10.0',\n upperConstraint: '<6',\n },\n {\n lockfileVersion: 5.1,\n lowerConstraint: '>=3.5.0',\n upperConstraint: '<5.9.3',\n },\n];\n\ninterface LockToPnpmVersionMapping {\n lockfileVersion: string | number;\n lowerConstraint: string;\n upperConstraint?: string;\n}\n"]}
|
@@ -10,6 +10,7 @@ const regex_1 = require("../../../util/regex");
|
|
10
10
|
const yaml_1 = require("../../../util/yaml");
|
11
11
|
const github_tags_1 = require("../../datasource/github-tags");
|
12
12
|
const gitlab_tags_1 = require("../../datasource/gitlab-tags");
|
13
|
+
const dependency_1 = require("../npm/extract/common/dependency");
|
13
14
|
const utils_1 = require("../pep621/utils");
|
14
15
|
const parsing_1 = require("./parsing");
|
15
16
|
/**
|
@@ -112,7 +113,23 @@ function findDependencies(precommitFile) {
|
|
112
113
|
// normally language are not defined in yaml
|
113
114
|
// only support it when it's explicitly defined.
|
114
115
|
// this avoid to parse hooks from pre-commit-hooks.yaml from git repo
|
115
|
-
if (hook.language === '
|
116
|
+
if (hook.language === 'node') {
|
117
|
+
hook.additional_dependencies?.map((req) => {
|
118
|
+
const match = (0, regex_1.regEx)('^(?<name>.+)@(?<range>.+)$').exec(req);
|
119
|
+
if (!match?.groups) {
|
120
|
+
return;
|
121
|
+
}
|
122
|
+
const depType = 'pre-commit-node';
|
123
|
+
const dep = (0, dependency_1.extractDependency)(depType, match.groups.name, match.groups.range);
|
124
|
+
packageDependencies.push({
|
125
|
+
depType,
|
126
|
+
depName: match.groups.name,
|
127
|
+
packageName: match.groups.name,
|
128
|
+
...dep,
|
129
|
+
});
|
130
|
+
});
|
131
|
+
}
|
132
|
+
else if (hook.language === 'python') {
|
116
133
|
hook.additional_dependencies?.map((req) => {
|
117
134
|
const dep = (0, utils_1.pep508ToPackageDependency)('pre-commit-python', req);
|
118
135
|
if (dep) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pre-commit/extract.ts"],"names":[],"mappings":";;AA6KA,gDA2CC;;AAxND,kEAAkC;AAClC,4CAAyC;AAEzC,iDAAsD;AACtD,yDAAgD;AAChD,+CAA4C;AAC5C,6CAAqD;AACrD,8DAAoE;AACpE,8DAAoE;AACpE,2CAA4D;AAE5D,uCAGmB;AAGnB;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,QAAgB;IAEhB,IAAI,QAAQ,KAAK,YAAY,IAAI,IAAA,uBAAc,EAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzE,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAClE,OAAO,EAAE,UAAU,EAAE,kCAAoB,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAClE,OAAO,EAAE,UAAU,EAAE,kCAAoB,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,IAAA,uBAAc,EAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,QAAQ,EAAE,EACxB,iDAAiD,CAClD,CAAC;QACF,OAAO;YACL,UAAU,EAAE,kCAAoB,CAAC,EAAE;YACnC,YAAY,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC;SACtC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,MAAM,GAAG,GAAG,IAAA,iBAAI,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,IAAI,YAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,+EAA+E;QAC/E,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,OAAO,EAAE,EACvB,0DAA0D,CAC3D,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACjC,CAAC,QAAQ,EAAE,kCAAoB,CAAC,EAAE,CAAC;QACnC,CAAC,QAAQ,EAAE,kCAAoB,CAAC,EAAE,CAAC;KACpC,EAAE,CAAC;QACF,IAAI,YAAE,CAAC,cAAc,CAAC,IAAA,iBAAI,EAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YACxD,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EACjC,+BAA+B,QAAQ,YAAY,CACpD,CAAC;YACF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EACjC,oFAAoF,CACrF,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAW,EACX,UAAkB;IASlB,eAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG;QAClB,6EAA6E;QAC7E,IAAA,aAAK,EAAC,+CAA+C,CAAC;QACtD,wFAAwF;QACxF,IAAA,aAAK,EAAC,0CAA0C,CAAC;QACjD,0GAA0G;QAC1G,IAAA,aAAK,EAAC,8CAA8C,CAAC;QACrD,+GAA+G;QAC/G,IAAA,aAAK,EAAC,kDAAkD,CAAC;KAC1D,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa;YACjF,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5D,OAAO;gBACL,GAAG,SAAS;gBACZ,OAAO;gBACP,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,GAAG;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,eAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,EACd,uDAAuD,CACxD,CAAC;IACF,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,GAAG;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,aAA8B;IACtD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACzB,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,mBAAmB,GAAwB,EAAE,CAAC;IACpD,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,sFAAsF;QACtF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,4CAA4C;gBAC5C,gDAAgD;gBAChD,qEAAqE;gBACrE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACxC,MAAM,GAAG,GAAG,IAAA,iCAAyB,EAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;wBAChE,IAAI,GAAG,EAAE,CAAC;4BACR,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAA,6CAAmC,EAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE/C,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB;IAGnB,IAAI,aAA4B,CAAC;IACjC,IAAI,CAAC;QACH,2BAA2B;QAC3B,aAAa,GAAG,IAAA,sBAAe,EAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,EAC9B,wCAAwC,CACzC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,YAAE,CAAC,WAAW,CAA0B,aAAa,CAAC,EAAE,CAAC;QAC5D,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,2DAA2D,CAC5D,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAA,yCAA+B,EAAC,aAAa,CAAC,EAAE,CAAC;QACpD,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,kDAAkD,CACnD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,eAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,yCAAyC,CAAC,CAAC;YAClE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACxC,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,GAAG,EAAE,EACpB,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { detectPlatform } from '../../../util/common';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { pep508ToPackageDependency } from '../pep621/utils';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport {\n matchesPrecommitConfigHeuristic,\n matchesPrecommitDependencyHeuristic,\n} from './parsing';\nimport type { PreCommitConfig } from './types';\n\n/**\n * Determines the datasource(id) to be used for this dependency\n * @param repository the full git url, ie git@github.com/user/project.\n * Used in debug statements to clearly indicate the related dependency.\n * @param hostname the hostname (ie github.com)\n * Used to determine which renovate datasource should be used.\n * Is matched literally against `github.com` and `gitlab.com`.\n * If that doesn't match, `hostRules.find()` is used to find related sources.\n * In that case, the hostname is passed on as registryUrl to the corresponding datasource.\n */\nfunction determineDatasource(\n repository: string,\n hostname: string,\n): { datasource?: string; registryUrls?: string[]; skipReason?: SkipReason } {\n if (hostname === 'github.com' || detectPlatform(repository) === 'github') {\n logger.debug({ repository, hostname }, 'Found github dependency');\n return { datasource: GithubTagsDatasource.id };\n }\n if (hostname === 'gitlab.com') {\n logger.debug({ repository, hostname }, 'Found gitlab dependency');\n return { datasource: GitlabTagsDatasource.id };\n }\n if (detectPlatform(repository) === 'gitlab') {\n logger.debug(\n { repository, hostname },\n 'Found gitlab dependency with custom registryUrl',\n );\n return {\n datasource: GitlabTagsDatasource.id,\n registryUrls: ['https://' + hostname],\n };\n }\n const hostUrl = 'https://' + hostname;\n const res = find({ url: hostUrl });\n if (is.emptyObject(res)) {\n // 1 check, to possibly prevent 3 failures in combined query of hostType & url.\n logger.debug(\n { repository, hostUrl },\n 'Provided hostname does not match any hostRules. Ignoring',\n );\n return { skipReason: 'unknown-registry', registryUrls: [hostname] };\n }\n for (const [hostType, sourceId] of [\n ['github', GithubTagsDatasource.id],\n ['gitlab', GitlabTagsDatasource.id],\n ]) {\n if (is.nonEmptyObject(find({ hostType, url: hostUrl }))) {\n logger.debug(\n { repository, hostUrl, hostType },\n `Provided hostname matches a ${hostType} hostrule.`,\n );\n return { datasource: sourceId, registryUrls: [hostname] };\n }\n }\n logger.debug(\n { repository, registry: hostUrl },\n 'Provided hostname did not match any of the hostRules of hostType github nor gitlab',\n );\n return { skipReason: 'unknown-registry', registryUrls: [hostname] };\n}\n\nfunction extractDependency(\n tag: string,\n repository: string,\n): {\n depName?: string;\n depType?: string;\n datasource?: string;\n packageName?: string;\n skipReason?: SkipReason;\n currentValue?: string;\n} {\n logger.debug(`Found version ${tag}`);\n\n const urlMatchers = [\n // This splits \"http://my.github.com/user/repo\" -> \"my.github.com\" \"user/repo\n regEx('^https?://(?<hostname>[^/]+)/(?<depName>\\\\S*)'),\n // This splits \"git@private.registry.com:user/repo\" -> \"private.registry.com\" \"user/repo\n regEx('^git@(?<hostname>[^:]+):(?<depName>\\\\S*)'),\n // This split \"git://github.com/pre-commit/pre-commit-hooks\" -> \"github.com\" \"pre-commit/pre-commit-hooks\"\n regEx(/^git:\\/\\/(?<hostname>[^/]+)\\/(?<depName>\\S*)/),\n // This splits \"ssh://git@github.com/pre-commit/pre-commit-hooks\" -> \"github.com\" \"pre-commit/pre-commit-hooks\"\n regEx(/^ssh:\\/\\/git@(?<hostname>[^/]+)\\/(?<depName>\\S*)/),\n ];\n for (const urlMatcher of urlMatchers) {\n const match = urlMatcher.exec(repository);\n if (match?.groups) {\n const hostname = match.groups.hostname;\n const depName = match.groups.depName.replace(regEx(/\\.git$/i), ''); // TODO 12071\n const sourceDef = determineDatasource(repository, hostname);\n return {\n ...sourceDef,\n depName,\n depType: 'repository',\n packageName: depName,\n currentValue: tag,\n };\n }\n }\n logger.info(\n { repository },\n 'Could not separate hostname from full dependency url.',\n );\n return {\n depName: undefined,\n depType: 'repository',\n datasource: undefined,\n packageName: undefined,\n skipReason: 'invalid-url',\n currentValue: tag,\n };\n}\n\n/**\n * Find all supported dependencies in the pre-commit yaml object.\n *\n * @param precommitFile the parsed yaml config file\n */\nfunction findDependencies(precommitFile: PreCommitConfig): PackageDependency[] {\n if (!precommitFile.repos) {\n logger.debug(`No repos section found, skipping file`);\n return [];\n }\n const packageDependencies: PackageDependency[] = [];\n precommitFile.repos.forEach((item) => {\n // meta hooks is defined from pre-commit and doesn't support `additional_dependencies`\n if (item.repo !== 'meta') {\n item.hooks?.forEach((hook) => {\n // normally language are not defined in yaml\n // only support it when it's explicitly defined.\n // this avoid to parse hooks from pre-commit-hooks.yaml from git repo\n if (hook.language === 'python') {\n hook.additional_dependencies?.map((req) => {\n const dep = pep508ToPackageDependency('pre-commit-python', req);\n if (dep) {\n packageDependencies.push(dep);\n }\n });\n }\n });\n }\n\n if (matchesPrecommitDependencyHeuristic(item)) {\n logger.trace(item, 'Matched pre-commit dependency spec');\n const repository = String(item.repo);\n const tag = String(item.rev);\n const dep = extractDependency(tag, repository);\n\n packageDependencies.push(dep);\n } else {\n logger.trace(item, 'Did not find pre-commit repo spec');\n }\n });\n return packageDependencies;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n type ParsedContent = Record<string, unknown> | PreCommitConfig;\n let parsedContent: ParsedContent;\n try {\n // TODO: use schema (#9610)\n parsedContent = parseSingleYaml(content);\n } catch (err) {\n logger.debug(\n { filename: packageFile, err },\n 'Failed to parse pre-commit config YAML',\n );\n return null;\n }\n if (!is.plainObject<Record<string, unknown>>(parsedContent)) {\n logger.debug(\n { packageFile },\n `Parsing of pre-commit config YAML returned invalid result`,\n );\n return null;\n }\n if (!matchesPrecommitConfigHeuristic(parsedContent)) {\n logger.debug(\n { packageFile },\n `File does not look like a pre-commit config file`,\n );\n return null;\n }\n try {\n const deps = findDependencies(parsedContent);\n if (deps.length) {\n logger.trace({ deps }, 'Found dependencies in pre-commit config');\n return { deps };\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { packageFile, err },\n 'Error scanning parsed pre-commit config',\n );\n }\n return null;\n}\n"]}
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pre-commit/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { detectPlatform } from '../../../util/common';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { extractDependency as npmExtractDependency } from '../npm/extract/common/dependency';\nimport { pep508ToPackageDependency } from '../pep621/utils';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport {\n matchesPrecommitConfigHeuristic,\n matchesPrecommitDependencyHeuristic,\n} from './parsing';\nimport type { PreCommitConfig } from './types';\n\n/**\n * Determines the datasource(id) to be used for this dependency\n * @param repository the full git url, ie git@github.com/user/project.\n * Used in debug statements to clearly indicate the related dependency.\n * @param hostname the hostname (ie github.com)\n * Used to determine which renovate datasource should be used.\n * Is matched literally against `github.com` and `gitlab.com`.\n * If that doesn't match, `hostRules.find()` is used to find related sources.\n * In that case, the hostname is passed on as registryUrl to the corresponding datasource.\n */\nfunction determineDatasource(\n repository: string,\n hostname: string,\n): { datasource?: string; registryUrls?: string[]; skipReason?: SkipReason } {\n if (hostname === 'github.com' || detectPlatform(repository) === 'github') {\n logger.debug({ repository, hostname }, 'Found github dependency');\n return { datasource: GithubTagsDatasource.id };\n }\n if (hostname === 'gitlab.com') {\n logger.debug({ repository, hostname }, 'Found gitlab dependency');\n return { datasource: GitlabTagsDatasource.id };\n }\n if (detectPlatform(repository) === 'gitlab') {\n logger.debug(\n { repository, hostname },\n 'Found gitlab dependency with custom registryUrl',\n );\n return {\n datasource: GitlabTagsDatasource.id,\n registryUrls: ['https://' + hostname],\n };\n }\n const hostUrl = 'https://' + hostname;\n const res = find({ url: hostUrl });\n if (is.emptyObject(res)) {\n // 1 check, to possibly prevent 3 failures in combined query of hostType & url.\n logger.debug(\n { repository, hostUrl },\n 'Provided hostname does not match any hostRules. Ignoring',\n );\n return { skipReason: 'unknown-registry', registryUrls: [hostname] };\n }\n for (const [hostType, sourceId] of [\n ['github', GithubTagsDatasource.id],\n ['gitlab', GitlabTagsDatasource.id],\n ]) {\n if (is.nonEmptyObject(find({ hostType, url: hostUrl }))) {\n logger.debug(\n { repository, hostUrl, hostType },\n `Provided hostname matches a ${hostType} hostrule.`,\n );\n return { datasource: sourceId, registryUrls: [hostname] };\n }\n }\n logger.debug(\n { repository, registry: hostUrl },\n 'Provided hostname did not match any of the hostRules of hostType github nor gitlab',\n );\n return { skipReason: 'unknown-registry', registryUrls: [hostname] };\n}\n\nfunction extractDependency(\n tag: string,\n repository: string,\n): {\n depName?: string;\n depType?: string;\n datasource?: string;\n packageName?: string;\n skipReason?: SkipReason;\n currentValue?: string;\n} {\n logger.debug(`Found version ${tag}`);\n\n const urlMatchers = [\n // This splits \"http://my.github.com/user/repo\" -> \"my.github.com\" \"user/repo\n regEx('^https?://(?<hostname>[^/]+)/(?<depName>\\\\S*)'),\n // This splits \"git@private.registry.com:user/repo\" -> \"private.registry.com\" \"user/repo\n regEx('^git@(?<hostname>[^:]+):(?<depName>\\\\S*)'),\n // This split \"git://github.com/pre-commit/pre-commit-hooks\" -> \"github.com\" \"pre-commit/pre-commit-hooks\"\n regEx(/^git:\\/\\/(?<hostname>[^/]+)\\/(?<depName>\\S*)/),\n // This splits \"ssh://git@github.com/pre-commit/pre-commit-hooks\" -> \"github.com\" \"pre-commit/pre-commit-hooks\"\n regEx(/^ssh:\\/\\/git@(?<hostname>[^/]+)\\/(?<depName>\\S*)/),\n ];\n for (const urlMatcher of urlMatchers) {\n const match = urlMatcher.exec(repository);\n if (match?.groups) {\n const hostname = match.groups.hostname;\n const depName = match.groups.depName.replace(regEx(/\\.git$/i), ''); // TODO 12071\n const sourceDef = determineDatasource(repository, hostname);\n return {\n ...sourceDef,\n depName,\n depType: 'repository',\n packageName: depName,\n currentValue: tag,\n };\n }\n }\n logger.info(\n { repository },\n 'Could not separate hostname from full dependency url.',\n );\n return {\n depName: undefined,\n depType: 'repository',\n datasource: undefined,\n packageName: undefined,\n skipReason: 'invalid-url',\n currentValue: tag,\n };\n}\n\n/**\n * Find all supported dependencies in the pre-commit yaml object.\n *\n * @param precommitFile the parsed yaml config file\n */\nfunction findDependencies(precommitFile: PreCommitConfig): PackageDependency[] {\n if (!precommitFile.repos) {\n logger.debug(`No repos section found, skipping file`);\n return [];\n }\n const packageDependencies: PackageDependency[] = [];\n precommitFile.repos.forEach((item) => {\n // meta hooks is defined from pre-commit and doesn't support `additional_dependencies`\n if (item.repo !== 'meta') {\n item.hooks?.forEach((hook) => {\n // normally language are not defined in yaml\n // only support it when it's explicitly defined.\n // this avoid to parse hooks from pre-commit-hooks.yaml from git repo\n if (hook.language === 'node') {\n hook.additional_dependencies?.map((req) => {\n const match = regEx('^(?<name>.+)@(?<range>.+)$').exec(req);\n if (!match?.groups) {\n return;\n }\n\n const depType = 'pre-commit-node';\n const dep = npmExtractDependency(\n depType,\n match.groups.name,\n match.groups.range,\n );\n packageDependencies.push({\n depType,\n depName: match.groups.name,\n packageName: match.groups.name,\n ...dep,\n });\n });\n } else if (hook.language === 'python') {\n hook.additional_dependencies?.map((req) => {\n const dep = pep508ToPackageDependency('pre-commit-python', req);\n if (dep) {\n packageDependencies.push(dep);\n }\n });\n }\n });\n }\n\n if (matchesPrecommitDependencyHeuristic(item)) {\n logger.trace(item, 'Matched pre-commit dependency spec');\n const repository = String(item.repo);\n const tag = String(item.rev);\n const dep = extractDependency(tag, repository);\n\n packageDependencies.push(dep);\n } else {\n logger.trace(item, 'Did not find pre-commit repo spec');\n }\n });\n return packageDependencies;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n type ParsedContent = Record<string, unknown> | PreCommitConfig;\n let parsedContent: ParsedContent;\n try {\n // TODO: use schema (#9610)\n parsedContent = parseSingleYaml(content);\n } catch (err) {\n logger.debug(\n { filename: packageFile, err },\n 'Failed to parse pre-commit config YAML',\n );\n return null;\n }\n if (!is.plainObject<Record<string, unknown>>(parsedContent)) {\n logger.debug(\n { packageFile },\n `Parsing of pre-commit config YAML returned invalid result`,\n );\n return null;\n }\n if (!matchesPrecommitConfigHeuristic(parsedContent)) {\n logger.debug(\n { packageFile },\n `File does not look like a pre-commit config file`,\n );\n return null;\n }\n try {\n const deps = findDependencies(parsedContent);\n if (deps.length) {\n logger.trace({ deps }, 'Found dependencies in pre-commit config');\n return { deps };\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { packageFile, err },\n 'Error scanning parsed pre-commit config',\n );\n }\n return null;\n}\n"]}
|
@@ -14,6 +14,7 @@ declare class GerritClient {
|
|
14
14
|
checkForExistingMessage(changeNumber: number, newMessage: string, msgType?: string, messages?: GerritChangeMessageInfo[]): Promise<boolean>;
|
15
15
|
addMessageIfNotAlreadyExists(changeNumber: number, message: string, tag?: string, messages?: GerritChangeMessageInfo[]): Promise<void>;
|
16
16
|
setLabel(changeNumber: number, label: string, value: number): Promise<void>;
|
17
|
+
deleteHashtag(changeNumber: number, hashtag: string): Promise<void>;
|
17
18
|
addReviewers(changeNumber: number, reviewers: string[]): Promise<void>;
|
18
19
|
addAssignee(changeNumber: number, assignee: string): Promise<void>;
|
19
20
|
getFile(repo: string, branch: string, fileName: string): Promise<string>;
|
@@ -101,6 +101,11 @@ class GerritClient {
|
|
101
101
|
async setLabel(changeNumber, label, value) {
|
102
102
|
await this.gerritHttp.postJson(`a/changes/${changeNumber}/revisions/current/review`, { body: { labels: { [label]: value }, notify: 'NONE' } });
|
103
103
|
}
|
104
|
+
async deleteHashtag(changeNumber, hashtag) {
|
105
|
+
await this.gerritHttp.postJson(`a/changes/${changeNumber}/hashtags`, {
|
106
|
+
body: { remove: [hashtag] },
|
107
|
+
});
|
108
|
+
}
|
104
109
|
async addReviewers(changeNumber, reviewers) {
|
105
110
|
await this.gerritHttp.postJson(`a/changes/${changeNumber}/revisions/current/review`, {
|
106
111
|
body: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPOSITORY_ARCHIVED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport { GerritHttp } from '../../../util/http/gerrit';\nimport type { HttpOptions } from '../../../util/http/types';\nimport { getQueryString } from '../../../util/url';\nimport type {\n GerritAccountInfo,\n GerritBranchInfo,\n GerritChange,\n GerritChangeMessageInfo,\n GerritFindPRConfig,\n GerritMergeableInfo,\n GerritProjectInfo,\n GerritRequestDetail,\n} from './types';\nimport { mapPrStateToGerritFilter } from './utils';\n\nclass GerritClient {\n private gerritHttp = new GerritHttp();\n\n async getRepos(): Promise<string[]> {\n const res = await this.gerritHttp.getJsonUnchecked<string[]>(\n 'a/projects/?type=CODE&state=ACTIVE',\n );\n return Object.keys(res.body);\n }\n\n async getProjectInfo(repository: string): Promise<GerritProjectInfo> {\n const projectInfo =\n await this.gerritHttp.getJsonUnchecked<GerritProjectInfo>(\n `a/projects/${encodeURIComponent(repository)}`,\n );\n if (projectInfo.body.state !== 'ACTIVE') {\n throw new Error(REPOSITORY_ARCHIVED);\n }\n return projectInfo.body;\n }\n\n async getBranchInfo(repository: string): Promise<GerritBranchInfo> {\n const branchInfo = await this.gerritHttp.getJsonUnchecked<GerritBranchInfo>(\n `a/projects/${encodeURIComponent(repository)}/branches/HEAD`,\n );\n return branchInfo.body;\n }\n\n async findChanges(\n repository: string,\n findPRConfig: GerritFindPRConfig,\n ): Promise<GerritChange[]> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!findPRConfig.refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const query: Record<string, any> = {};\n if (findPRConfig.requestDetails) {\n query.o = findPRConfig.requestDetails;\n }\n if (findPRConfig.limit) {\n query.n = findPRConfig.limit;\n } else {\n // TODO: handle pagination instead\n query['no-limit'] = true;\n }\n const filters = GerritClient.buildSearchFilters(repository, findPRConfig);\n const queryString = `q=${filters.join('+')}&${getQueryString(query)}`;\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange[]>(\n `a/changes/?${queryString}`,\n opts,\n );\n logger.trace(`findChanges(${queryString}) => ${changes.body.length}`);\n return changes.body;\n }\n\n async getChange(\n changeNumber: number,\n refreshCache?: boolean,\n requestDetails?: GerritRequestDetail[],\n ): Promise<GerritChange> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const queryString = getQueryString({ o: requestDetails });\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange>(\n `a/changes/${changeNumber}?${queryString}`,\n opts,\n );\n return changes.body;\n }\n\n async getMergeableInfo(change: GerritChange): Promise<GerritMergeableInfo> {\n const mergeable =\n await this.gerritHttp.getJsonUnchecked<GerritMergeableInfo>(\n `a/changes/${change._number}/revisions/current/mergeable`,\n );\n return mergeable.body;\n }\n\n async abandonChange(changeNumber: number, message?: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/abandon`, {\n body: {\n message,\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n });\n }\n\n async submitChange(changeNumber: number): Promise<GerritChange> {\n const change = await this.gerritHttp.postJson<GerritChange>(\n `a/changes/${changeNumber}/submit`,\n );\n return change.body;\n }\n\n async getMessages(changeNumber: number): Promise<GerritChangeMessageInfo[]> {\n const messages = await this.gerritHttp.getJsonUnchecked<\n GerritChangeMessageInfo[]\n >(`a/changes/${changeNumber}/messages`, { memCache: false });\n return messages.body;\n }\n\n async addMessage(\n changeNumber: number,\n fullMessage: string,\n tag?: string,\n ): Promise<void> {\n const message = this.normalizeMessage(fullMessage);\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { message, tag, notify: 'NONE' } },\n );\n }\n\n async checkForExistingMessage(\n changeNumber: number,\n newMessage: string,\n msgType?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<boolean> {\n const messagesToSearch = messages ?? (await this.getMessages(changeNumber));\n\n return messagesToSearch.some(\n (existingMsg) =>\n (msgType === undefined || msgType === existingMsg.tag) &&\n existingMsg.message.includes(newMessage),\n );\n }\n\n async addMessageIfNotAlreadyExists(\n changeNumber: number,\n message: string,\n tag?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<void> {\n const newMsg = this.normalizeMessage(message);\n if (\n !(await this.checkForExistingMessage(changeNumber, newMsg, tag, messages))\n ) {\n await this.addMessage(changeNumber, newMsg, tag);\n }\n }\n\n async setLabel(\n changeNumber: number,\n label: string,\n value: number,\n ): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { labels: { [label]: value }, notify: 'NONE' } },\n );\n }\n\n async addReviewers(changeNumber: number, reviewers: string[]): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n {\n body: {\n reviewers: reviewers.map((r) => ({ reviewer: r })),\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n },\n );\n }\n\n async addAssignee(changeNumber: number, assignee: string): Promise<void> {\n await this.gerritHttp.putJson<GerritAccountInfo>(\n // TODO: refactor this as this API removed in Gerrit 3.8\n `a/changes/${changeNumber}/assignee`,\n {\n body: { assignee },\n },\n );\n }\n\n async getFile(\n repo: string,\n branch: string,\n fileName: string,\n ): Promise<string> {\n const base64Content = await this.gerritHttp.getText(\n `a/projects/${encodeURIComponent(\n repo,\n )}/branches/${encodeURIComponent(branch)}/files/${encodeURIComponent(fileName)}/content`,\n );\n return Buffer.from(base64Content.body, 'base64').toString();\n }\n\n normalizeMessage(message: string): string {\n //the last \\n was removed from gerrit after the comment was added...\n return message.substring(0, 0x4000).trim();\n }\n\n private static buildSearchFilters(\n repository: string,\n searchConfig: GerritFindPRConfig,\n ): string[] {\n const filters = [\n 'owner:self',\n `project:${repository}`,\n '-is:wip',\n '-is:private',\n ];\n const filterState = mapPrStateToGerritFilter(searchConfig.state);\n if (filterState) {\n filters.push(filterState);\n }\n if (searchConfig.branchName) {\n filters.push(`footer:Renovate-Branch=${searchConfig.branchName}`);\n }\n // TODO: Use Gerrit 3.6+ hasfooter:Renovate-Branch when branchName is empty:\n // https://gerrit-review.googlesource.com/c/gerrit/+/329488\n if (searchConfig.targetBranch) {\n filters.push(`branch:${searchConfig.targetBranch}`);\n }\n if (searchConfig.label) {\n filters.push(`label:Code-Review=${searchConfig.label}`);\n }\n if (searchConfig.prTitle) {\n // Quotes in the commit message must be escaped with a backslash:\n // https://gerrit-review.googlesource.com/Documentation/user-search.html#search-operators\n // TODO: Use Gerrit 3.8+ subject query instead:\n // https://gerrit-review.googlesource.com/c/gerrit/+/354037\n filters.push(\n `message:${encodeURIComponent('\"' + searchConfig.prTitle.replaceAll('\"', '\\\\\"') + '\"')}`,\n );\n }\n return filters;\n }\n}\n\nexport const client = new GerritClient();\n"]}
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPOSITORY_ARCHIVED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport { GerritHttp } from '../../../util/http/gerrit';\nimport type { HttpOptions } from '../../../util/http/types';\nimport { getQueryString } from '../../../util/url';\nimport type {\n GerritAccountInfo,\n GerritBranchInfo,\n GerritChange,\n GerritChangeMessageInfo,\n GerritFindPRConfig,\n GerritMergeableInfo,\n GerritProjectInfo,\n GerritRequestDetail,\n} from './types';\nimport { mapPrStateToGerritFilter } from './utils';\n\nclass GerritClient {\n private gerritHttp = new GerritHttp();\n\n async getRepos(): Promise<string[]> {\n const res = await this.gerritHttp.getJsonUnchecked<string[]>(\n 'a/projects/?type=CODE&state=ACTIVE',\n );\n return Object.keys(res.body);\n }\n\n async getProjectInfo(repository: string): Promise<GerritProjectInfo> {\n const projectInfo =\n await this.gerritHttp.getJsonUnchecked<GerritProjectInfo>(\n `a/projects/${encodeURIComponent(repository)}`,\n );\n if (projectInfo.body.state !== 'ACTIVE') {\n throw new Error(REPOSITORY_ARCHIVED);\n }\n return projectInfo.body;\n }\n\n async getBranchInfo(repository: string): Promise<GerritBranchInfo> {\n const branchInfo = await this.gerritHttp.getJsonUnchecked<GerritBranchInfo>(\n `a/projects/${encodeURIComponent(repository)}/branches/HEAD`,\n );\n return branchInfo.body;\n }\n\n async findChanges(\n repository: string,\n findPRConfig: GerritFindPRConfig,\n ): Promise<GerritChange[]> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!findPRConfig.refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const query: Record<string, any> = {};\n if (findPRConfig.requestDetails) {\n query.o = findPRConfig.requestDetails;\n }\n if (findPRConfig.limit) {\n query.n = findPRConfig.limit;\n } else {\n // TODO: handle pagination instead\n query['no-limit'] = true;\n }\n const filters = GerritClient.buildSearchFilters(repository, findPRConfig);\n const queryString = `q=${filters.join('+')}&${getQueryString(query)}`;\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange[]>(\n `a/changes/?${queryString}`,\n opts,\n );\n logger.trace(`findChanges(${queryString}) => ${changes.body.length}`);\n return changes.body;\n }\n\n async getChange(\n changeNumber: number,\n refreshCache?: boolean,\n requestDetails?: GerritRequestDetail[],\n ): Promise<GerritChange> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const queryString = getQueryString({ o: requestDetails });\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange>(\n `a/changes/${changeNumber}?${queryString}`,\n opts,\n );\n return changes.body;\n }\n\n async getMergeableInfo(change: GerritChange): Promise<GerritMergeableInfo> {\n const mergeable =\n await this.gerritHttp.getJsonUnchecked<GerritMergeableInfo>(\n `a/changes/${change._number}/revisions/current/mergeable`,\n );\n return mergeable.body;\n }\n\n async abandonChange(changeNumber: number, message?: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/abandon`, {\n body: {\n message,\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n });\n }\n\n async submitChange(changeNumber: number): Promise<GerritChange> {\n const change = await this.gerritHttp.postJson<GerritChange>(\n `a/changes/${changeNumber}/submit`,\n );\n return change.body;\n }\n\n async getMessages(changeNumber: number): Promise<GerritChangeMessageInfo[]> {\n const messages = await this.gerritHttp.getJsonUnchecked<\n GerritChangeMessageInfo[]\n >(`a/changes/${changeNumber}/messages`, { memCache: false });\n return messages.body;\n }\n\n async addMessage(\n changeNumber: number,\n fullMessage: string,\n tag?: string,\n ): Promise<void> {\n const message = this.normalizeMessage(fullMessage);\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { message, tag, notify: 'NONE' } },\n );\n }\n\n async checkForExistingMessage(\n changeNumber: number,\n newMessage: string,\n msgType?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<boolean> {\n const messagesToSearch = messages ?? (await this.getMessages(changeNumber));\n\n return messagesToSearch.some(\n (existingMsg) =>\n (msgType === undefined || msgType === existingMsg.tag) &&\n existingMsg.message.includes(newMessage),\n );\n }\n\n async addMessageIfNotAlreadyExists(\n changeNumber: number,\n message: string,\n tag?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<void> {\n const newMsg = this.normalizeMessage(message);\n if (\n !(await this.checkForExistingMessage(changeNumber, newMsg, tag, messages))\n ) {\n await this.addMessage(changeNumber, newMsg, tag);\n }\n }\n\n async setLabel(\n changeNumber: number,\n label: string,\n value: number,\n ): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { labels: { [label]: value }, notify: 'NONE' } },\n );\n }\n\n async deleteHashtag(changeNumber: number, hashtag: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/hashtags`, {\n body: { remove: [hashtag] },\n });\n }\n\n async addReviewers(changeNumber: number, reviewers: string[]): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n {\n body: {\n reviewers: reviewers.map((r) => ({ reviewer: r })),\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n },\n );\n }\n\n async addAssignee(changeNumber: number, assignee: string): Promise<void> {\n await this.gerritHttp.putJson<GerritAccountInfo>(\n // TODO: refactor this as this API removed in Gerrit 3.8\n `a/changes/${changeNumber}/assignee`,\n {\n body: { assignee },\n },\n );\n }\n\n async getFile(\n repo: string,\n branch: string,\n fileName: string,\n ): Promise<string> {\n const base64Content = await this.gerritHttp.getText(\n `a/projects/${encodeURIComponent(\n repo,\n )}/branches/${encodeURIComponent(branch)}/files/${encodeURIComponent(fileName)}/content`,\n );\n return Buffer.from(base64Content.body, 'base64').toString();\n }\n\n normalizeMessage(message: string): string {\n //the last \\n was removed from gerrit after the comment was added...\n return message.substring(0, 0x4000).trim();\n }\n\n private static buildSearchFilters(\n repository: string,\n searchConfig: GerritFindPRConfig,\n ): string[] {\n const filters = [\n 'owner:self',\n `project:${repository}`,\n '-is:wip',\n '-is:private',\n ];\n const filterState = mapPrStateToGerritFilter(searchConfig.state);\n if (filterState) {\n filters.push(filterState);\n }\n if (searchConfig.branchName) {\n filters.push(`footer:Renovate-Branch=${searchConfig.branchName}`);\n }\n // TODO: Use Gerrit 3.6+ hasfooter:Renovate-Branch when branchName is empty:\n // https://gerrit-review.googlesource.com/c/gerrit/+/329488\n if (searchConfig.targetBranch) {\n filters.push(`branch:${searchConfig.targetBranch}`);\n }\n if (searchConfig.label) {\n filters.push(`label:Code-Review=${searchConfig.label}`);\n }\n if (searchConfig.prTitle) {\n // Quotes in the commit message must be escaped with a backslash:\n // https://gerrit-review.googlesource.com/Documentation/user-search.html#search-operators\n // TODO: Use Gerrit 3.8+ subject query instead:\n // https://gerrit-review.googlesource.com/c/gerrit/+/354037\n filters.push(\n `message:${encodeURIComponent('\"' + searchConfig.prTitle.replaceAll('\"', '\\\\\"') + '\"')}`,\n );\n }\n return filters;\n }\n}\n\nexport const client = new GerritClient();\n"]}
|
@@ -340,8 +340,8 @@ function massageMarkdown(prBody) {
|
|
340
340
|
function maxBodyLength() {
|
341
341
|
return 16384; //TODO: check the real gerrit limit (max. chars)
|
342
342
|
}
|
343
|
-
function deleteLabel(number, label) {
|
344
|
-
|
343
|
+
async function deleteLabel(number, label) {
|
344
|
+
await client_1.client.deleteHashtag(number, label);
|
345
345
|
}
|
346
346
|
function ensureCommentRemoval(ensureCommentRemoval) {
|
347
347
|
return Promise.resolve();
|