renovate 44.83.2 → 44.83.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/pep621/schema.js +6 -1
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/util/exec/utils.d.ts +1 -0
- package/dist/util/git/auth.js +5 -17
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/config.d.ts +1 -0
- package/dist/util/git/config.js +22 -1
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/index.js +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -80,7 +80,7 @@ hashMap.set("nuget", "136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab1
|
|
|
80
80
|
hashMap.set("nvm", "3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322");
|
|
81
81
|
hashMap.set("ocb", "032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca");
|
|
82
82
|
hashMap.set("osgi", "d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024");
|
|
83
|
-
hashMap.set("pep621", "
|
|
83
|
+
hashMap.set("pep621", "36591cbca53de57a1160d8794af950c87e048f3dda2b1b155354c409a0217acc");
|
|
84
84
|
hashMap.set("pep723", "b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1");
|
|
85
85
|
hashMap.set("pip-compile", "ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f");
|
|
86
86
|
hashMap.set("pip_requirements", "953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','4942d52e82f35c41e2d46cf76f426e2d91b350338cfc0bbcb97e8aaae2a1ac0b');\nhashMap.set('flux','c67562b40cc7cd5e22b4c1ac642fc92ef46db79da9cea174e8aefcc20dde9811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','fcd3a1e7a07c1fd4cdc07f2fd818fdbb0012af97d35b1b9d448970067564084b');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','0084e0b81794d57ee7937a76f652a7f06be49fe045a22715773153486e1b4849');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','b9be11ed173f52808328e1d180289aa0a005ad64bb6261ad3e2e0269a18ec18f');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','8a27fa2867ae2b0635c1bf06506b32f740f691f36cbab92ff0decf3dd0484345');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','c73858631143d9627d5cc615a874c3d74edd643161e33380b615dda7c8f1bbed');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','2908e3287941e0d111b492140b56863915f8ed8601a7728de39ff9f878400210');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','d1d5e54517e6075035b4c03de3419f09008c661587ad16a7d8bada4150a92f6f');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','59e860a89a35f58760296ecc076310f672a0211740dcebca20e38b04dc0c5553');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','4942d52e82f35c41e2d46cf76f426e2d91b350338cfc0bbcb97e8aaae2a1ac0b');\nhashMap.set('flux','c67562b40cc7cd5e22b4c1ac642fc92ef46db79da9cea174e8aefcc20dde9811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','fcd3a1e7a07c1fd4cdc07f2fd818fdbb0012af97d35b1b9d448970067564084b');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','0084e0b81794d57ee7937a76f652a7f06be49fe045a22715773153486e1b4849');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','b9be11ed173f52808328e1d180289aa0a005ad64bb6261ad3e2e0269a18ec18f');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','8a27fa2867ae2b0635c1bf06506b32f740f691f36cbab92ff0decf3dd0484345');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','c73858631143d9627d5cc615a874c3d74edd643161e33380b615dda7c8f1bbed');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','36591cbca53de57a1160d8794af950c87e048f3dda2b1b155354c409a0217acc');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','d1d5e54517e6075035b4c03de3419f09008c661587ad16a7d8bada4150a92f6f');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','59e860a89a35f58760296ecc076310f672a0211740dcebca20e38b04dc0c5553');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LooseArray, LooseRecord, Toml } from "../../../util/schema-utils/index.js";
|
|
2
|
+
import { api } from "../../versioning/pep440/index.js";
|
|
2
3
|
import { normalizePythonDepName } from "../../datasource/pypi/common.js";
|
|
3
4
|
import { PypiDatasource } from "../../datasource/pypi/index.js";
|
|
4
5
|
import { depTypes, pep508ToPackageDependency } from "./utils.js";
|
|
@@ -120,7 +121,11 @@ const PdmLockfile = Toml.pipe(z.object({ package: LooseArray(z.object({
|
|
|
120
121
|
const UvLockfile = Toml.pipe(z.object({ package: LooseArray(z.object({
|
|
121
122
|
name: z.string(),
|
|
122
123
|
version: z.string()
|
|
123
|
-
})) })).transform(({ package:
|
|
124
|
+
})) })).transform(({ package: pkgs }) => {
|
|
125
|
+
const pkgMap = {};
|
|
126
|
+
for (const { name, version } of pkgs) if (!(name in pkgMap) || api.isGreaterThan(pkgMap[name], version)) pkgMap[name] = version;
|
|
127
|
+
return pkgMap;
|
|
128
|
+
});
|
|
124
129
|
//#endregion
|
|
125
130
|
export { DependencyGroup, PdmLockfile, ProjectSection, PyProject, UvLockfile };
|
|
126
131
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/manager/pep621/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n LooseArray,\n LooseRecord,\n Toml,\n} from '../../../util/schema-utils/index.ts';\nimport { normalizePythonDepName } from '../../datasource/pypi/common.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport type { PackageDependency } from '../types.ts';\nimport { depTypes, pep508ToPackageDependency } from './utils.ts';\n\ntype Pep508Dependency = z.ZodType<PackageDependency>;\n\nfunction Pep508Dependency(depType: string): Pep508Dependency {\n return z.string().transform((x, ctx) => {\n const res = pep508ToPackageDependency(depType, x);\n\n if (!res) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'should be a valid PEP508 dependency',\n fatal: true,\n });\n\n return z.NEVER;\n }\n\n return res;\n }) as Pep508Dependency;\n}\n\ntype DependencyGroup = z.ZodType<PackageDependency[]>;\n\nexport function DependencyGroup(depType: string): DependencyGroup {\n return LooseRecord(LooseArray(Pep508Dependency(depType))).transform(\n (depGroups) => {\n const deps: PackageDependency[] = [];\n for (const [depGroup, groupDeps] of Object.entries(depGroups)) {\n for (const dep of groupDeps) {\n if (dep.packageName) {\n dep.depName = dep.packageName;\n }\n dep.managerData = { depGroup };\n deps.push(dep);\n }\n }\n return deps;\n },\n );\n}\n\nconst PdmConfig = z\n .object({\n 'dev-dependencies': DependencyGroup(depTypes.pdmDevDependencies).catch([]),\n source: LooseArray(\n z.object({\n url: z.string(),\n name: z.string(),\n }),\n )\n .transform((pdmSource) => {\n const registryUrls: string[] = [];\n\n let containsPyPiUrl = false;\n for (const source of pdmSource) {\n if (source.name === 'pypi') {\n containsPyPiUrl = true;\n }\n\n registryUrls.push(source.url);\n }\n\n // Add pypi default url, if there is no source declared with the name `pypi`\n // @see https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n if (!containsPyPiUrl) {\n registryUrls.unshift(PypiDatasource.defaultURL);\n }\n\n return registryUrls;\n })\n .optional()\n .catch(undefined),\n })\n .transform(\n ({ 'dev-dependencies': devDependencies, source: registryUrls }) => ({\n devDependencies,\n registryUrls,\n }),\n );\n\nconst HatchConfig = z\n .object({\n envs: LooseRecord(\n z.string(),\n z.object({\n dependencies: z.unknown().optional(),\n 'extra-dependencies': z.unknown().optional(),\n }),\n ),\n })\n .catch({ envs: {} })\n .transform(({ envs }) => {\n const deps: PackageDependency[] = [];\n for (const [\n envName,\n { dependencies, 'extra-dependencies': extraDependencies },\n ] of Object.entries(envs)) {\n const depType = `tool.hatch.envs.${envName}`;\n const HatchDependency = LooseArray(Pep508Dependency(depType)).catch([]);\n deps.push(\n ...HatchDependency.parse(dependencies),\n ...HatchDependency.parse(extraDependencies),\n );\n }\n return { deps };\n });\n\nconst UvIndexSource = z.object({\n index: z.string(),\n});\n\nconst UvGitSource = z.object({\n git: z.string(),\n rev: z.string().optional(),\n tag: z.string().optional(),\n branch: z.string().optional(),\n});\nexport type UvGitSource = z.infer<typeof UvGitSource>;\n\nconst UvUrlSource = z.object({\n url: z.string(),\n});\n\nconst UvPathSource = z.object({\n path: z.string(),\n});\n\nconst UvWorkspaceSource = z.object({\n workspace: z.literal(true),\n});\n\n// https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\nconst UvSource = z.union([\n UvIndexSource,\n UvGitSource,\n UvUrlSource,\n UvPathSource,\n UvWorkspaceSource,\n]);\nexport type UvSource = z.infer<typeof UvSource>;\n\n// A dependency can declare a single source or, when disambiguated by\n// environment markers, an array of sources. Normalize both to an array.\n// https://docs.astral.sh/uv/concepts/projects/dependencies/#multiple-sources\nconst UvSources = z\n .union([UvSource, z.array(UvSource).min(1)])\n .transform((source) => (Array.isArray(source) ? source : [source]));\n\nconst UvConfig = z.object({\n 'dev-dependencies': LooseArray(\n Pep508Dependency(depTypes.uvDevDependencies),\n ).catch([]),\n 'required-version': z.string().optional(),\n sources: LooseRecord(\n // uv applies the same normalization as for Python dependencies on sources\n z.string().transform((source) => normalizePythonDepName(source)),\n UvSources,\n ).optional(),\n index: z\n .array(\n z.object({\n name: z.string().optional(),\n url: z.string(),\n default: z.boolean().default(false),\n explicit: z.boolean().default(false),\n }),\n )\n .optional(),\n});\n\nexport const ProjectSection = z.object({\n version: z.string().optional().catch(undefined),\n 'requires-python': z.string().optional().catch(undefined),\n dependencies: LooseArray(Pep508Dependency(depTypes.dependencies)).catch([]),\n 'optional-dependencies': DependencyGroup(depTypes.optionalDependencies).catch(\n [],\n ),\n});\n\nconst PixiMinimalConfig = z\n .object({\n project: z\n .object({ 'requires-pixi': z.string().optional() })\n .optional()\n .catch(undefined),\n workspace: z\n .object({ 'requires-pixi': z.string().optional() })\n .optional()\n .catch(undefined),\n })\n .transform((val) => ({\n 'requires-pixi':\n val.project?.['requires-pixi'] ?? val.workspace?.['requires-pixi'],\n }))\n .optional()\n .catch(undefined);\n\nexport const PyProject = z.object({\n project: ProjectSection.optional().catch(undefined),\n 'build-system': z\n .object({\n requires: LooseArray(\n Pep508Dependency(depTypes.buildSystemRequires),\n ).catch([]),\n 'build-backend': z.string().optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n 'dependency-groups': DependencyGroup(depTypes.dependencyGroups).catch([]),\n tool: z\n .object({\n pdm: PdmConfig.optional().catch(undefined),\n hatch: HatchConfig.optional().catch(undefined),\n uv: UvConfig.optional().catch(undefined),\n pixi: PixiMinimalConfig,\n })\n .optional()\n .catch(undefined),\n});\nexport type PyProject = z.infer<typeof PyProject>;\n\nexport const PdmLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n)\n .transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n )\n .transform((lock) => ({ lock }));\n\nexport const UvLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n).transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","names":["pep440"],"sources":["../../../../lib/modules/manager/pep621/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport {\n LooseArray,\n LooseRecord,\n Toml,\n} from '../../../util/schema-utils/index.ts';\nimport { normalizePythonDepName } from '../../datasource/pypi/common.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport { api as pep440 } from '../../versioning/pep440/index.ts';\nimport type { PackageDependency } from '../types.ts';\nimport { depTypes, pep508ToPackageDependency } from './utils.ts';\n\ntype Pep508Dependency = z.ZodType<PackageDependency>;\n\nfunction Pep508Dependency(depType: string): Pep508Dependency {\n return z.string().transform((x, ctx) => {\n const res = pep508ToPackageDependency(depType, x);\n\n if (!res) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'should be a valid PEP508 dependency',\n fatal: true,\n });\n\n return z.NEVER;\n }\n\n return res;\n }) as Pep508Dependency;\n}\n\ntype DependencyGroup = z.ZodType<PackageDependency[]>;\n\nexport function DependencyGroup(depType: string): DependencyGroup {\n return LooseRecord(LooseArray(Pep508Dependency(depType))).transform(\n (depGroups) => {\n const deps: PackageDependency[] = [];\n for (const [depGroup, groupDeps] of Object.entries(depGroups)) {\n for (const dep of groupDeps) {\n if (dep.packageName) {\n dep.depName = dep.packageName;\n }\n dep.managerData = { depGroup };\n deps.push(dep);\n }\n }\n return deps;\n },\n );\n}\n\nconst PdmConfig = z\n .object({\n 'dev-dependencies': DependencyGroup(depTypes.pdmDevDependencies).catch([]),\n source: LooseArray(\n z.object({\n url: z.string(),\n name: z.string(),\n }),\n )\n .transform((pdmSource) => {\n const registryUrls: string[] = [];\n\n let containsPyPiUrl = false;\n for (const source of pdmSource) {\n if (source.name === 'pypi') {\n containsPyPiUrl = true;\n }\n\n registryUrls.push(source.url);\n }\n\n // Add pypi default url, if there is no source declared with the name `pypi`\n // @see https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n if (!containsPyPiUrl) {\n registryUrls.unshift(PypiDatasource.defaultURL);\n }\n\n return registryUrls;\n })\n .optional()\n .catch(undefined),\n })\n .transform(\n ({ 'dev-dependencies': devDependencies, source: registryUrls }) => ({\n devDependencies,\n registryUrls,\n }),\n );\n\nconst HatchConfig = z\n .object({\n envs: LooseRecord(\n z.string(),\n z.object({\n dependencies: z.unknown().optional(),\n 'extra-dependencies': z.unknown().optional(),\n }),\n ),\n })\n .catch({ envs: {} })\n .transform(({ envs }) => {\n const deps: PackageDependency[] = [];\n for (const [\n envName,\n { dependencies, 'extra-dependencies': extraDependencies },\n ] of Object.entries(envs)) {\n const depType = `tool.hatch.envs.${envName}`;\n const HatchDependency = LooseArray(Pep508Dependency(depType)).catch([]);\n deps.push(\n ...HatchDependency.parse(dependencies),\n ...HatchDependency.parse(extraDependencies),\n );\n }\n return { deps };\n });\n\nconst UvIndexSource = z.object({\n index: z.string(),\n});\n\nconst UvGitSource = z.object({\n git: z.string(),\n rev: z.string().optional(),\n tag: z.string().optional(),\n branch: z.string().optional(),\n});\nexport type UvGitSource = z.infer<typeof UvGitSource>;\n\nconst UvUrlSource = z.object({\n url: z.string(),\n});\n\nconst UvPathSource = z.object({\n path: z.string(),\n});\n\nconst UvWorkspaceSource = z.object({\n workspace: z.literal(true),\n});\n\n// https://docs.astral.sh/uv/concepts/dependencies/#dependency-sources\nconst UvSource = z.union([\n UvIndexSource,\n UvGitSource,\n UvUrlSource,\n UvPathSource,\n UvWorkspaceSource,\n]);\nexport type UvSource = z.infer<typeof UvSource>;\n\n// A dependency can declare a single source or, when disambiguated by\n// environment markers, an array of sources. Normalize both to an array.\n// https://docs.astral.sh/uv/concepts/projects/dependencies/#multiple-sources\nconst UvSources = z\n .union([UvSource, z.array(UvSource).min(1)])\n .transform((source) => (Array.isArray(source) ? source : [source]));\n\nconst UvConfig = z.object({\n 'dev-dependencies': LooseArray(\n Pep508Dependency(depTypes.uvDevDependencies),\n ).catch([]),\n 'required-version': z.string().optional(),\n sources: LooseRecord(\n // uv applies the same normalization as for Python dependencies on sources\n z.string().transform((source) => normalizePythonDepName(source)),\n UvSources,\n ).optional(),\n index: z\n .array(\n z.object({\n name: z.string().optional(),\n url: z.string(),\n default: z.boolean().default(false),\n explicit: z.boolean().default(false),\n }),\n )\n .optional(),\n});\n\nexport const ProjectSection = z.object({\n version: z.string().optional().catch(undefined),\n 'requires-python': z.string().optional().catch(undefined),\n dependencies: LooseArray(Pep508Dependency(depTypes.dependencies)).catch([]),\n 'optional-dependencies': DependencyGroup(depTypes.optionalDependencies).catch(\n [],\n ),\n});\n\nconst PixiMinimalConfig = z\n .object({\n project: z\n .object({ 'requires-pixi': z.string().optional() })\n .optional()\n .catch(undefined),\n workspace: z\n .object({ 'requires-pixi': z.string().optional() })\n .optional()\n .catch(undefined),\n })\n .transform((val) => ({\n 'requires-pixi':\n val.project?.['requires-pixi'] ?? val.workspace?.['requires-pixi'],\n }))\n .optional()\n .catch(undefined);\n\nexport const PyProject = z.object({\n project: ProjectSection.optional().catch(undefined),\n 'build-system': z\n .object({\n requires: LooseArray(\n Pep508Dependency(depTypes.buildSystemRequires),\n ).catch([]),\n 'build-backend': z.string().optional().catch(undefined),\n })\n .optional()\n .catch(undefined),\n 'dependency-groups': DependencyGroup(depTypes.dependencyGroups).catch([]),\n tool: z\n .object({\n pdm: PdmConfig.optional().catch(undefined),\n hatch: HatchConfig.optional().catch(undefined),\n uv: UvConfig.optional().catch(undefined),\n pixi: PixiMinimalConfig,\n })\n .optional()\n .catch(undefined),\n});\nexport type PyProject = z.infer<typeof PyProject>;\n\nexport const PdmLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n)\n .transform(({ package: pkg }) =>\n Object.fromEntries(\n pkg.map(({ name, version }): [string, string] => [name, version]),\n ),\n )\n .transform((lock) => ({ lock }));\n\nexport const UvLockfile = Toml.pipe(\n z.object({\n package: LooseArray(\n z.object({\n name: z.string(),\n version: z.string(),\n }),\n ),\n }),\n).transform(({ package: pkgs }) => {\n const pkgMap: Record<string, string> = {};\n\n for (const { name, version } of pkgs) {\n if (!(name in pkgMap) || pep440.isGreaterThan(pkgMap[name], version)) {\n pkgMap[name] = version;\n }\n }\n\n return pkgMap;\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./types.js";
|
package/dist/util/git/auth.js
CHANGED
|
@@ -5,6 +5,7 @@ import { createURLFromHostOrURL, isHttpUrl } from "../url.js";
|
|
|
5
5
|
import { find, getAll } from "../host-rules.js";
|
|
6
6
|
import { detectPlatform } from "../common.js";
|
|
7
7
|
import { parseGitUrl } from "./url.js";
|
|
8
|
+
import { addGitConfigEnvironmentVariables } from "./config.js";
|
|
8
9
|
import { isEmptyString } from "@sindresorhus/is";
|
|
9
10
|
//#region lib/util/git/auth.ts
|
|
10
11
|
const githubApiUrls = /* @__PURE__ */ new Set([
|
|
@@ -22,26 +23,13 @@ function getGitAuthenticatedEnvironmentVariables(environmentVariables, originalG
|
|
|
22
23
|
logger.warn({ host: matchHost }, `Could not create environment variable for host as neither token or username and password was set`);
|
|
23
24
|
return { ...environmentVariables };
|
|
24
25
|
}
|
|
25
|
-
const gitConfigCountEnvVariable = environmentVariables.GIT_CONFIG_COUNT;
|
|
26
|
-
let gitConfigCount = 0;
|
|
27
|
-
if (gitConfigCountEnvVariable) {
|
|
28
|
-
gitConfigCount = parseInt(gitConfigCountEnvVariable, 10);
|
|
29
|
-
if (Number.isNaN(gitConfigCount)) {
|
|
30
|
-
logger.warn({ GIT_CONFIG_COUNT: gitConfigCountEnvVariable }, `Found GIT_CONFIG_COUNT env variable, but couldn't parse the value to an integer. Ignoring it.`);
|
|
31
|
-
gitConfigCount = 0;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
26
|
let authenticationRules;
|
|
35
27
|
if (token) authenticationRules = getAuthenticationRulesWithToken(originalGitUrl, hostType, token);
|
|
36
28
|
else authenticationRules = getAuthenticationRules(originalGitUrl, hostType, `${encodeURIComponent(username)}:${encodeURIComponent(password)}`);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
gitConfigCount++;
|
|
42
|
-
}
|
|
43
|
-
newEnvironmentVariables.GIT_CONFIG_COUNT = gitConfigCount.toString();
|
|
44
|
-
return newEnvironmentVariables;
|
|
29
|
+
return addGitConfigEnvironmentVariables(environmentVariables, authenticationRules.map((rule) => ({
|
|
30
|
+
key: `url.${rule.url}.insteadOf`,
|
|
31
|
+
value: rule.insteadOf
|
|
32
|
+
})));
|
|
45
33
|
}
|
|
46
34
|
function getAuthenticationRulesWithToken(url, hostType, authToken) {
|
|
47
35
|
let token = authToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","names":[],"sources":["../../../lib/util/git/auth.ts"],"sourcesContent":["import { isEmptyString } from '@sindresorhus/is';\nimport { PLATFORM_HOST_TYPES } from '../../constants/platforms.ts';\nimport { logger } from '../../logger/index.ts';\nimport type { HostRule } from '../../types/index.ts';\nimport { detectPlatform } from '../common.ts';\nimport type { ResolvedChildEnv } from '../exec/utils.ts';\nimport { find, getAll } from '../host-rules.ts';\nimport { regEx } from '../regex.ts';\nimport { createURLFromHostOrURL, isHttpUrl } from '../url.ts';\nimport type { AuthenticationRule } from './types.ts';\nimport { parseGitUrl } from './url.ts';\n\nconst githubApiUrls = new Set([\n 'github.com',\n 'api.github.com',\n 'https://api.github.com',\n 'https://api.github.com/',\n]);\n\n/**\n * Append Git authentication configuration to a resolved child environment.\n * @returns a new environment without modifying the input\n */\nexport function getGitAuthenticatedEnvironmentVariables(\n environmentVariables: Readonly<ResolvedChildEnv>,\n originalGitUrl: string,\n { token, username, password, hostType, matchHost }: HostRule,\n): ResolvedChildEnv {\n if (!token && !(username && password)) {\n logger.warn(\n { host: matchHost },\n `Could not create environment variable for host as neither token or username and password was set`,\n );\n return { ...environmentVariables };\n }\n\n const gitConfigCountEnvVariable = environmentVariables.GIT_CONFIG_COUNT;\n let gitConfigCount = 0;\n if (gitConfigCountEnvVariable) {\n // passthrough the gitConfigCountEnvVariable environment variable as start value of the index count\n gitConfigCount = parseInt(gitConfigCountEnvVariable, 10);\n if (Number.isNaN(gitConfigCount)) {\n logger.warn(\n {\n GIT_CONFIG_COUNT: gitConfigCountEnvVariable,\n },\n `Found GIT_CONFIG_COUNT env variable, but couldn't parse the value to an integer. Ignoring it.`,\n );\n gitConfigCount = 0;\n }\n }\n let authenticationRules: AuthenticationRule[];\n if (token) {\n authenticationRules = getAuthenticationRulesWithToken(\n originalGitUrl,\n hostType,\n token,\n );\n } else {\n const encodedUsername = encodeURIComponent(username!);\n const encodedPassword = encodeURIComponent(password!);\n\n authenticationRules = getAuthenticationRules(\n originalGitUrl,\n hostType,\n `${encodedUsername}:${encodedPassword}`,\n );\n }\n\n // create a shallow copy of the environmentVariables as base so we don't modify the input parameter object\n // add the two new config key and value to the returnEnvironmentVariables object\n // increase the CONFIG_COUNT by one for each rule and add it to the object\n const newEnvironmentVariables = {\n ...environmentVariables,\n };\n for (const rule of authenticationRules) {\n newEnvironmentVariables[`GIT_CONFIG_KEY_${gitConfigCount}`] =\n `url.${rule.url}.insteadOf`;\n newEnvironmentVariables[`GIT_CONFIG_VALUE_${gitConfigCount}`] =\n rule.insteadOf;\n gitConfigCount++;\n }\n newEnvironmentVariables.GIT_CONFIG_COUNT = gitConfigCount.toString();\n\n return newEnvironmentVariables;\n}\n\nfunction getAuthenticationRulesWithToken(\n url: string,\n hostType: string | undefined | null,\n authToken: string,\n): AuthenticationRule[] {\n let token = authToken;\n let type = hostType;\n type ??= detectPlatform(url);\n if (type === 'gitlab') {\n token = `gitlab-ci-token:${authToken}`;\n }\n return getAuthenticationRules(url, type, token);\n}\n\n/**\n * Generates the authentication rules for later git usage for the given host\n * @link https://coolaj86.com/articles/vanilla-devops-git-credentials-cheatsheet/\n * @param gitUrl Git repository URL\n * @param hostType Git host type\n * @param token Authentication token or `username:password` string\n */\nexport function getAuthenticationRules(\n gitUrl: string,\n hostType: string | undefined | null,\n token: string,\n): AuthenticationRule[] {\n const authenticationRules = [];\n const hasUser = token.split(':').length > 1;\n const insteadUrl = parseGitUrl(gitUrl);\n let sshPort = insteadUrl.port;\n\n if (hostType === 'bitbucket-server') {\n // For Bitbucket Server/Data Center, `source` must be `bitbucket-server`\n // to generate HTTP(s) URLs correctly.\n // https://github.com/IonicaBizau/git-url-parse/blob/28828546c148d58bbcff61409915a4e1e8f7eb11/lib/index.js#L304\n insteadUrl.source = 'bitbucket-server';\n\n // sshPort is string, wrong type!\n // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/72361\n // https://github.com/IonicaBizau/parse-path/blob/87f71f273da90f85f6845937a70b7c032eeae4e3/lib/index.js#L45\n // v8 ignore next -- TODO: add test #40625\n if (!sshPort || isEmptyString(sshPort)) {\n // By default, bitbucket-server SSH port is 7999.\n // For non-default port, the generated auth config will likely be incorrect.\n sshPort = '7999';\n }\n }\n\n const url = { ...insteadUrl };\n const protocol = regEx(/^https?$/).test(url.protocol)\n ? url.protocol\n : 'https';\n\n // ssh protocol with user if empty\n url.token = hasUser ? token : `ssh:${token}`;\n authenticationRules.push({\n url: url.toString(protocol),\n // only edge case, need to stringify ourself because the exact syntax is not supported by the library\n // https://github.com/IonicaBizau/git-url-parse/blob/246c9119fb42c2ea1c280028fe77c53eb34c190c/lib/index.js#L246\n insteadOf: `ssh://git@${insteadUrl.resource}${\n sshPort ? `:${sshPort}` : ''\n }/${insteadUrl.full_name}${insteadUrl.git_suffix ? '.git' : ''}`,\n });\n\n // alternative ssh protocol with user if empty\n url.token = hasUser ? token : `git:${token}`;\n authenticationRules.push({\n url: url.toString(protocol),\n insteadOf: { ...insteadUrl, port: sshPort }.toString('ssh'),\n });\n\n // https protocol with no user as default fallback\n url.token = token;\n authenticationRules.push({\n url: url.toString(protocol),\n insteadOf: insteadUrl.toString(protocol),\n });\n\n return authenticationRules;\n}\n\nexport function getGitEnvironmentVariables(\n environmentVariables: Readonly<ResolvedChildEnv>,\n hostTypes: readonly string[] = [],\n): ResolvedChildEnv {\n let gitEnvironmentVariables: ResolvedChildEnv = { ...environmentVariables };\n\n // hard-coded logic to use authentication for github.com based on the githubToken for api.github.com\n const gitHubHostRule = find({\n hostType: 'github',\n url: 'https://api.github.com/',\n });\n\n if (gitHubHostRule?.token) {\n gitEnvironmentVariables = getGitAuthenticatedEnvironmentVariables(\n gitEnvironmentVariables,\n 'https://github.com/',\n gitHubHostRule,\n );\n }\n\n // Manager-scoped rules are opt-in so unrelated credentials are not exposed to Git.\n const gitAllowedHostTypes = new Set<string>([\n ...PLATFORM_HOST_TYPES,\n ...hostTypes,\n ]);\n\n // filter rules without `matchHost` and `token` or username and password and github api github rules\n const hostRules = getAll()\n .filter((r) => r.matchHost && (r.token ?? (r.username && r.password)))\n .filter((r) => !gitHubHostRule || !githubApiUrls.has(r.matchHost!));\n\n // for each hostRule without hostType we add additional authentication variables to the environmentVariables\n // for each hostRule with hostType we add additional authentication variables to the environmentVariables\n for (const hostRule of hostRules) {\n if (!hostRule.hostType || gitAllowedHostTypes.has(hostRule.hostType)) {\n gitEnvironmentVariables = addAuthFromHostRule(\n hostRule,\n gitEnvironmentVariables,\n );\n }\n }\n return gitEnvironmentVariables;\n}\n\nfunction addAuthFromHostRule(\n hostRule: HostRule,\n environmentVariables: Readonly<ResolvedChildEnv>,\n): ResolvedChildEnv {\n const httpUrl = createURLFromHostOrURL(hostRule.matchHost!)?.toString();\n if (isHttpUrl(httpUrl)) {\n logger.trace(`Adding Git authentication for ${httpUrl} using token auth.`);\n return getGitAuthenticatedEnvironmentVariables(\n environmentVariables,\n httpUrl!,\n hostRule,\n );\n }\n\n logger.debug(\n `Could not parse registryUrl ${hostRule.matchHost!} or not using http(s). Ignoring`,\n );\n return { ...environmentVariables };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","names":[],"sources":["../../../lib/util/git/auth.ts"],"sourcesContent":["import { isEmptyString } from '@sindresorhus/is';\nimport { PLATFORM_HOST_TYPES } from '../../constants/platforms.ts';\nimport { logger } from '../../logger/index.ts';\nimport type { HostRule } from '../../types/index.ts';\nimport { detectPlatform } from '../common.ts';\nimport type { ResolvedChildEnv } from '../exec/utils.ts';\nimport { find, getAll } from '../host-rules.ts';\nimport { regEx } from '../regex.ts';\nimport { createURLFromHostOrURL, isHttpUrl } from '../url.ts';\nimport { addGitConfigEnvironmentVariables } from './config.ts';\nimport type { AuthenticationRule } from './types.ts';\nimport { parseGitUrl } from './url.ts';\n\nconst githubApiUrls = new Set([\n 'github.com',\n 'api.github.com',\n 'https://api.github.com',\n 'https://api.github.com/',\n]);\n\n/**\n * Append Git authentication configuration to a resolved child environment.\n * @returns a new environment without modifying the input\n */\nexport function getGitAuthenticatedEnvironmentVariables(\n environmentVariables: Readonly<ResolvedChildEnv>,\n originalGitUrl: string,\n { token, username, password, hostType, matchHost }: HostRule,\n): ResolvedChildEnv {\n if (!token && !(username && password)) {\n logger.warn(\n { host: matchHost },\n `Could not create environment variable for host as neither token or username and password was set`,\n );\n return { ...environmentVariables };\n }\n\n let authenticationRules: AuthenticationRule[];\n if (token) {\n authenticationRules = getAuthenticationRulesWithToken(\n originalGitUrl,\n hostType,\n token,\n );\n } else {\n const encodedUsername = encodeURIComponent(username!);\n const encodedPassword = encodeURIComponent(password!);\n\n authenticationRules = getAuthenticationRules(\n originalGitUrl,\n hostType,\n `${encodedUsername}:${encodedPassword}`,\n );\n }\n\n return addGitConfigEnvironmentVariables(\n environmentVariables,\n authenticationRules.map((rule) => ({\n key: `url.${rule.url}.insteadOf`,\n value: rule.insteadOf,\n })),\n );\n}\n\nfunction getAuthenticationRulesWithToken(\n url: string,\n hostType: string | undefined | null,\n authToken: string,\n): AuthenticationRule[] {\n let token = authToken;\n let type = hostType;\n type ??= detectPlatform(url);\n if (type === 'gitlab') {\n token = `gitlab-ci-token:${authToken}`;\n }\n return getAuthenticationRules(url, type, token);\n}\n\n/**\n * Generates the authentication rules for later git usage for the given host\n * @link https://coolaj86.com/articles/vanilla-devops-git-credentials-cheatsheet/\n * @param gitUrl Git repository URL\n * @param hostType Git host type\n * @param token Authentication token or `username:password` string\n */\nexport function getAuthenticationRules(\n gitUrl: string,\n hostType: string | undefined | null,\n token: string,\n): AuthenticationRule[] {\n const authenticationRules = [];\n const hasUser = token.split(':').length > 1;\n const insteadUrl = parseGitUrl(gitUrl);\n let sshPort = insteadUrl.port;\n\n if (hostType === 'bitbucket-server') {\n // For Bitbucket Server/Data Center, `source` must be `bitbucket-server`\n // to generate HTTP(s) URLs correctly.\n // https://github.com/IonicaBizau/git-url-parse/blob/28828546c148d58bbcff61409915a4e1e8f7eb11/lib/index.js#L304\n insteadUrl.source = 'bitbucket-server';\n\n // sshPort is string, wrong type!\n // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/72361\n // https://github.com/IonicaBizau/parse-path/blob/87f71f273da90f85f6845937a70b7c032eeae4e3/lib/index.js#L45\n // v8 ignore next -- TODO: add test #40625\n if (!sshPort || isEmptyString(sshPort)) {\n // By default, bitbucket-server SSH port is 7999.\n // For non-default port, the generated auth config will likely be incorrect.\n sshPort = '7999';\n }\n }\n\n const url = { ...insteadUrl };\n const protocol = regEx(/^https?$/).test(url.protocol)\n ? url.protocol\n : 'https';\n\n // ssh protocol with user if empty\n url.token = hasUser ? token : `ssh:${token}`;\n authenticationRules.push({\n url: url.toString(protocol),\n // only edge case, need to stringify ourself because the exact syntax is not supported by the library\n // https://github.com/IonicaBizau/git-url-parse/blob/246c9119fb42c2ea1c280028fe77c53eb34c190c/lib/index.js#L246\n insteadOf: `ssh://git@${insteadUrl.resource}${\n sshPort ? `:${sshPort}` : ''\n }/${insteadUrl.full_name}${insteadUrl.git_suffix ? '.git' : ''}`,\n });\n\n // alternative ssh protocol with user if empty\n url.token = hasUser ? token : `git:${token}`;\n authenticationRules.push({\n url: url.toString(protocol),\n insteadOf: { ...insteadUrl, port: sshPort }.toString('ssh'),\n });\n\n // https protocol with no user as default fallback\n url.token = token;\n authenticationRules.push({\n url: url.toString(protocol),\n insteadOf: insteadUrl.toString(protocol),\n });\n\n return authenticationRules;\n}\n\nexport function getGitEnvironmentVariables(\n environmentVariables: Readonly<ResolvedChildEnv>,\n hostTypes: readonly string[] = [],\n): ResolvedChildEnv {\n let gitEnvironmentVariables: ResolvedChildEnv = { ...environmentVariables };\n\n // hard-coded logic to use authentication for github.com based on the githubToken for api.github.com\n const gitHubHostRule = find({\n hostType: 'github',\n url: 'https://api.github.com/',\n });\n\n if (gitHubHostRule?.token) {\n gitEnvironmentVariables = getGitAuthenticatedEnvironmentVariables(\n gitEnvironmentVariables,\n 'https://github.com/',\n gitHubHostRule,\n );\n }\n\n // Manager-scoped rules are opt-in so unrelated credentials are not exposed to Git.\n const gitAllowedHostTypes = new Set<string>([\n ...PLATFORM_HOST_TYPES,\n ...hostTypes,\n ]);\n\n // filter rules without `matchHost` and `token` or username and password and github api github rules\n const hostRules = getAll()\n .filter((r) => r.matchHost && (r.token ?? (r.username && r.password)))\n .filter((r) => !gitHubHostRule || !githubApiUrls.has(r.matchHost!));\n\n // for each hostRule without hostType we add additional authentication variables to the environmentVariables\n // for each hostRule with hostType we add additional authentication variables to the environmentVariables\n for (const hostRule of hostRules) {\n if (!hostRule.hostType || gitAllowedHostTypes.has(hostRule.hostType)) {\n gitEnvironmentVariables = addAuthFromHostRule(\n hostRule,\n gitEnvironmentVariables,\n );\n }\n }\n return gitEnvironmentVariables;\n}\n\nfunction addAuthFromHostRule(\n hostRule: HostRule,\n environmentVariables: Readonly<ResolvedChildEnv>,\n): ResolvedChildEnv {\n const httpUrl = createURLFromHostOrURL(hostRule.matchHost!)?.toString();\n if (isHttpUrl(httpUrl)) {\n logger.trace(`Adding Git authentication for ${httpUrl} using token auth.`);\n return getGitAuthenticatedEnvironmentVariables(\n environmentVariables,\n httpUrl!,\n hostRule,\n );\n }\n\n logger.debug(\n `Could not parse registryUrl ${hostRule.matchHost!} or not using http(s). Ignoring`,\n );\n return { ...environmentVariables };\n}\n"],"mappings":";;;;;;;;;;AAaA,MAAM,gCAAgB,IAAI,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC;;;;;AAMD,SAAgB,wCACd,sBACA,gBACA,EAAE,OAAO,UAAU,UAAU,UAAU,aACrB;CAClB,IAAI,CAAC,SAAS,EAAE,YAAY,WAAW;EACrC,OAAO,KACL,EAAE,MAAM,UAAU,GAClB,kGACF;EACA,OAAO,EAAE,GAAG,qBAAqB;CACnC;CAEA,IAAI;CACJ,IAAI,OACF,sBAAsB,gCACpB,gBACA,UACA,KACF;MAKA,sBAAsB,uBACpB,gBACA,UACA,GANsB,mBAAmB,QAMxB,EAAE,GALG,mBAAmB,QAKL,GACtC;CAGF,OAAO,iCACL,sBACA,oBAAoB,KAAK,UAAU;EACjC,KAAK,OAAO,KAAK,IAAI;EACrB,OAAO,KAAK;CACd,EAAE,CACJ;AACF;AAEA,SAAS,gCACP,KACA,UACA,WACsB;CACtB,IAAI,QAAQ;CACZ,IAAI,OAAO;CACX,SAAS,eAAe,GAAG;CAC3B,IAAI,SAAS,UACX,QAAQ,mBAAmB;CAE7B,OAAO,uBAAuB,KAAK,MAAM,KAAK;AAChD;;;;;;;;AASA,SAAgB,uBACd,QACA,UACA,OACsB;CACtB,MAAM,sBAAsB,CAAC;CAC7B,MAAM,UAAU,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS;CAC1C,MAAM,aAAa,YAAY,MAAM;CACrC,IAAI,UAAU,WAAW;CAEzB,IAAI,aAAa,oBAAoB;EAInC,WAAW,SAAS;;EAMpB,IAAI,CAAC,WAAW,cAAc,OAAO,GAGnC,UAAU;CAEd;CAEA,MAAM,MAAM,EAAE,GAAG,WAAW;CAC5B,MAAM,WAAW,MAAM,UAAU,CAAC,CAAC,KAAK,IAAI,QAAQ,IAChD,IAAI,WACJ;CAGJ,IAAI,QAAQ,UAAU,QAAQ,OAAO;CACrC,oBAAoB,KAAK;EACvB,KAAK,IAAI,SAAS,QAAQ;EAG1B,WAAW,aAAa,WAAW,WACjC,UAAU,IAAI,YAAY,GAC3B,GAAG,WAAW,YAAY,WAAW,aAAa,SAAS;CAC9D,CAAC;CAGD,IAAI,QAAQ,UAAU,QAAQ,OAAO;CACrC,oBAAoB,KAAK;EACvB,KAAK,IAAI,SAAS,QAAQ;EAC1B,WAAW;GAAE,GAAG;GAAY,MAAM;EAAQ,EAAE,SAAS,KAAK;CAC5D,CAAC;CAGD,IAAI,QAAQ;CACZ,oBAAoB,KAAK;EACvB,KAAK,IAAI,SAAS,QAAQ;EAC1B,WAAW,WAAW,SAAS,QAAQ;CACzC,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,2BACd,sBACA,YAA+B,CAAC,GACd;CAClB,IAAI,0BAA4C,EAAE,GAAG,qBAAqB;CAG1E,MAAM,iBAAiB,KAAK;EAC1B,UAAU;EACV,KAAK;CACP,CAAC;CAED,IAAI,gBAAgB,OAClB,0BAA0B,wCACxB,yBACA,uBACA,cACF;CAIF,MAAM,sCAAsB,IAAI,IAAY,CAC1C,GAAG,qBACH,GAAG,SACL,CAAC;CAGD,MAAM,YAAY,OAAO,CAAC,CACvB,QAAQ,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CACrE,QAAQ,MAAM,CAAC,kBAAkB,CAAC,cAAc,IAAI,EAAE,SAAU,CAAC;CAIpE,KAAK,MAAM,YAAY,WACrB,IAAI,CAAC,SAAS,YAAY,oBAAoB,IAAI,SAAS,QAAQ,GACjE,0BAA0B,oBACxB,UACA,uBACF;CAGJ,OAAO;AACT;AAEA,SAAS,oBACP,UACA,sBACkB;CAClB,MAAM,UAAU,uBAAuB,SAAS,SAAU,CAAC,EAAE,SAAS;CACtE,IAAI,UAAU,OAAO,GAAG;EACtB,OAAO,MAAM,iCAAiC,QAAQ,mBAAmB;EACzE,OAAO,wCACL,sBACA,SACA,QACF;CACF;CAEA,OAAO,MACL,+BAA+B,SAAS,UAAW,gCACrD;CACA,OAAO,EAAE,GAAG,qBAAqB;AACnC"}
|
package/dist/util/git/config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getEnv } from "../env.js";
|
|
2
2
|
import { GlobalConfig } from "../../config/global.js";
|
|
3
|
+
import { logger } from "../../logger/index.js";
|
|
3
4
|
import { isArray, isNumber, isString } from "@sindresorhus/is";
|
|
4
5
|
//#region lib/util/git/config.ts
|
|
5
6
|
let noVerify = ["push", "commit"];
|
|
@@ -29,7 +30,27 @@ function simpleGitConfig() {
|
|
|
29
30
|
if (isNumber(gitTimeout) && gitTimeout > 0) config.timeout = { block: gitTimeout };
|
|
30
31
|
return config;
|
|
31
32
|
}
|
|
33
|
+
function addGitConfigEnvironmentVariables(environment, entries) {
|
|
34
|
+
let gitConfigCount = getGitConfigCount(environment.GIT_CONFIG_COUNT);
|
|
35
|
+
const newEnvironment = { ...environment };
|
|
36
|
+
for (const entry of entries) {
|
|
37
|
+
newEnvironment[`GIT_CONFIG_KEY_${gitConfigCount}`] = entry.key;
|
|
38
|
+
newEnvironment[`GIT_CONFIG_VALUE_${gitConfigCount}`] = entry.value;
|
|
39
|
+
gitConfigCount++;
|
|
40
|
+
}
|
|
41
|
+
newEnvironment.GIT_CONFIG_COUNT = gitConfigCount.toString();
|
|
42
|
+
return newEnvironment;
|
|
43
|
+
}
|
|
44
|
+
function getGitConfigCount(value) {
|
|
45
|
+
if (!value) return 0;
|
|
46
|
+
const gitConfigCount = parseInt(value, 10);
|
|
47
|
+
if (Number.isNaN(gitConfigCount)) {
|
|
48
|
+
logger.warn({ GIT_CONFIG_COUNT: value }, `Found GIT_CONFIG_COUNT env variable, but could not parse the value to an integer. Ignoring it.`);
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
return gitConfigCount;
|
|
52
|
+
}
|
|
32
53
|
//#endregion
|
|
33
|
-
export { getNoVerify, setNoVerify, simpleGitConfig };
|
|
54
|
+
export { addGitConfigEnvironmentVariables, getNoVerify, setNoVerify, simpleGitConfig };
|
|
34
55
|
|
|
35
56
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":[],"sources":["../../../lib/util/git/config.ts"],"sourcesContent":["import { isArray, isNumber, isString } from '@sindresorhus/is';\nimport type { SimpleGitOptions } from 'simple-git';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { getEnv } from '../env.ts';\nimport type { GitNoVerifyOption } from './types.ts';\n\nlet noVerify: GitNoVerifyOption[] = ['push', 'commit'];\n\nexport function setNoVerify(value: GitNoVerifyOption[]): void {\n if (!isArray(value, isString)) {\n throw new Error('config error: gitNoVerify should be an array of strings');\n }\n noVerify = value;\n}\n\nexport function getNoVerify(): GitNoVerifyOption[] {\n return noVerify;\n}\n\nexport function simpleGitConfig(): Partial<SimpleGitOptions> {\n const unsafe: SimpleGitOptions['unsafe'] = {\n allowUnsafeSshCommand: true, // For custom `GIT_SSH_COMMAND`.\n allowUnsafeConfigEnvCount: true, // For custom `GIT_CONFIG_COUNT`, `GIT_CONFIG_KEY_*` and `GIT_CONFIG_VALUE_*`.\n allowUnsafeAskPass: true, // For custom `GIT_ASKPASS`\n };\n if (getEnv().RENOVATE_X_CLEAR_HOOKS) {\n unsafe.allowUnsafeHooksPath = true;\n }\n\n const config: Partial<SimpleGitOptions> = {\n completion: {\n onClose: true,\n onExit: false,\n },\n config: ['core.quotePath=false'],\n unsafe,\n };\n\n // https://github.com/steveukx/git-js/pull/591\n const gitTimeout = GlobalConfig.get('gitTimeout');\n if (isNumber(gitTimeout) && gitTimeout > 0) {\n config.timeout = { block: gitTimeout };\n }\n return config;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../lib/util/git/config.ts"],"sourcesContent":["import { isArray, isNumber, isString } from '@sindresorhus/is';\nimport type { SimpleGitOptions } from 'simple-git';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { logger } from '../../logger/index.ts';\nimport { getEnv } from '../env.ts';\nimport type { ResolvedChildEnv } from '../exec/utils.ts';\nimport type { GitNoVerifyOption } from './types.ts';\n\nlet noVerify: GitNoVerifyOption[] = ['push', 'commit'];\n\nexport function setNoVerify(value: GitNoVerifyOption[]): void {\n if (!isArray(value, isString)) {\n throw new Error('config error: gitNoVerify should be an array of strings');\n }\n noVerify = value;\n}\n\nexport function getNoVerify(): GitNoVerifyOption[] {\n return noVerify;\n}\n\nexport function simpleGitConfig(): Partial<SimpleGitOptions> {\n const unsafe: SimpleGitOptions['unsafe'] = {\n allowUnsafeSshCommand: true, // For custom `GIT_SSH_COMMAND`.\n allowUnsafeConfigEnvCount: true, // For custom `GIT_CONFIG_COUNT`, `GIT_CONFIG_KEY_*` and `GIT_CONFIG_VALUE_*`.\n allowUnsafeAskPass: true, // For custom `GIT_ASKPASS`\n };\n if (getEnv().RENOVATE_X_CLEAR_HOOKS) {\n unsafe.allowUnsafeHooksPath = true;\n }\n\n const config: Partial<SimpleGitOptions> = {\n completion: {\n onClose: true,\n onExit: false,\n },\n config: ['core.quotePath=false'],\n unsafe,\n };\n\n // https://github.com/steveukx/git-js/pull/591\n const gitTimeout = GlobalConfig.get('gitTimeout');\n if (isNumber(gitTimeout) && gitTimeout > 0) {\n config.timeout = { block: gitTimeout };\n }\n return config;\n}\n\nexport interface GitConfigEntry {\n key: string;\n value: string;\n}\n\nexport function addGitConfigEnvironmentVariables(\n environment: Readonly<ResolvedChildEnv>,\n entries: readonly GitConfigEntry[],\n): ResolvedChildEnv {\n let gitConfigCount = getGitConfigCount(environment.GIT_CONFIG_COUNT);\n const newEnvironment = { ...environment };\n\n for (const entry of entries) {\n newEnvironment[`GIT_CONFIG_KEY_${gitConfigCount}`] = entry.key;\n newEnvironment[`GIT_CONFIG_VALUE_${gitConfigCount}`] = entry.value;\n gitConfigCount++;\n }\n newEnvironment.GIT_CONFIG_COUNT = gitConfigCount.toString();\n\n return newEnvironment;\n}\n\nfunction getGitConfigCount(value: string | undefined): number {\n if (!value) {\n return 0;\n }\n\n const gitConfigCount = parseInt(value, 10);\n if (Number.isNaN(gitConfigCount)) {\n logger.warn(\n { GIT_CONFIG_COUNT: value },\n `Found GIT_CONFIG_COUNT env variable, but could not parse the value to an integer. Ignoring it.`,\n );\n return 0;\n }\n\n return gitConfigCount;\n}\n"],"mappings":";;;;;AAQA,IAAI,WAAgC,CAAC,QAAQ,QAAQ;AAErD,SAAgB,YAAY,OAAkC;CAC5D,IAAI,CAAC,QAAQ,OAAO,QAAQ,GAC1B,MAAM,IAAI,MAAM,yDAAyD;CAE3E,WAAW;AACb;AAEA,SAAgB,cAAmC;CACjD,OAAO;AACT;AAEA,SAAgB,kBAA6C;CAC3D,MAAM,SAAqC;EACzC,uBAAuB;EACvB,2BAA2B;EAC3B,oBAAoB;CACtB;CACA,IAAI,OAAO,CAAC,CAAC,wBACX,OAAO,uBAAuB;CAGhC,MAAM,SAAoC;EACxC,YAAY;GACV,SAAS;GACT,QAAQ;EACV;EACA,QAAQ,CAAC,sBAAsB;EAC/B;CACF;CAGA,MAAM,aAAa,aAAa,IAAI,YAAY;CAChD,IAAI,SAAS,UAAU,KAAK,aAAa,GACvC,OAAO,UAAU,EAAE,OAAO,WAAW;CAEvC,OAAO;AACT;AAOA,SAAgB,iCACd,aACA,SACkB;CAClB,IAAI,iBAAiB,kBAAkB,YAAY,gBAAgB;CACnE,MAAM,iBAAiB,EAAE,GAAG,YAAY;CAExC,KAAK,MAAM,SAAS,SAAS;EAC3B,eAAe,kBAAkB,oBAAoB,MAAM;EAC3D,eAAe,oBAAoB,oBAAoB,MAAM;EAC7D;CACF;CACA,eAAe,mBAAmB,eAAe,SAAS;CAE1D,OAAO;AACT;AAEA,SAAS,kBAAkB,OAAmC;CAC5D,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,iBAAiB,SAAS,OAAO,EAAE;CACzC,IAAI,OAAO,MAAM,cAAc,GAAG;EAChC,OAAO,KACL,EAAE,kBAAkB,MAAM,GAC1B,gGACF;EACA,OAAO;CACT;CAEA,OAAO;AACT"}
|
package/dist/util/git/index.js
CHANGED
|
@@ -16,10 +16,10 @@ import { getCache } from "../cache/repository/index.js";
|
|
|
16
16
|
import { withInstrumenting } from "../../instrumentation/with-instrumenting.js";
|
|
17
17
|
import { incCountValue, incLimitedValue } from "../../workers/global/limits.js";
|
|
18
18
|
import { toLongCommitSha } from "../schema-utils/git.js";
|
|
19
|
+
import { getNoVerify, setNoVerify, simpleGitConfig } from "./config.js";
|
|
19
20
|
import { getGitEnvironmentVariables } from "./auth.js";
|
|
20
21
|
import { parseGitAuthor } from "./author.js";
|
|
21
22
|
import { getCachedBehindBaseResult, setCachedBehindBaseResult } from "./behind-base-branch-cache.js";
|
|
22
|
-
import { getNoVerify, setNoVerify, simpleGitConfig } from "./config.js";
|
|
23
23
|
import { getCachedConflictResult, setCachedConflictResult } from "./conflicts-cache.js";
|
|
24
24
|
import { bulkChangesDisallowed, checkForPlatformFailure, handleCommitError } from "./error.js";
|
|
25
25
|
import { instrumentGit } from "./instrument.js";
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.83.
|
|
3
|
+
"title": "JSON schema for Renovate 44.83.3 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.83.
|
|
5
|
+
"x-renovate-version": "44.83.3",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|