renovate 44.126.0 → 44.127.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/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/mise/dep-types.js +4 -1
- package/dist/modules/manager/mise/dep-types.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +14 -2
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/git-reference.js +127 -0
- package/dist/modules/manager/mise/git-reference.js.map +1 -0
- package/dist/modules/manager/mise/include.js +30 -0
- package/dist/modules/manager/mise/include.js.map +1 -0
- package/dist/modules/manager/mise/index.js +14 -1
- package/dist/modules/manager/mise/index.js.map +1 -1
- package/dist/modules/manager/mise/schema.js +6 -2
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/package.json +8 -8
- package/renovate-schema.json +2 -2
|
@@ -71,7 +71,7 @@ hashMap.set("maven", "c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe
|
|
|
71
71
|
hashMap.set("maven-wrapper", "6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0");
|
|
72
72
|
hashMap.set("meteor", "4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776");
|
|
73
73
|
hashMap.set("mint", "248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e");
|
|
74
|
-
hashMap.set("mise", "
|
|
74
|
+
hashMap.set("mise", "59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5");
|
|
75
75
|
hashMap.set("mix", "0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872");
|
|
76
76
|
hashMap.set("nix", "9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85");
|
|
77
77
|
hashMap.set("nodenv", "ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8");
|
|
@@ -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','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','5820cfb6ebe018b8c336d481ea9ae319daaee6a2e368c45196fc8bc67cb3e755');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','027f60d13311b340391633eceb3685b5105eb6de88d876270d40f4666e5ef7a5');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','9585e4e0626cc3613c3903249972acf97942ad7e16d85fa0da6677373e445db1');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','7bd984806fa6e33e0650d2f65d88758a9f4b972f366c6cd7c7698e22e6fb3ca3');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','c4aaa76f1a679e5ae8a547db33452e4adec6473e24432ee5ba56662b42a2fb2e');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','4e12edd848dcf258c94e9b7d4bd9fdd5674ffe12c5786bbcb51089b72bfe0ca3');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','71e9e621ba0974271f1a7effcbd364efd66767d4336e844539788f5d6bb22720');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','706cc4776ad6ec4df5bed0ac84e8324ad7328457b6743b082e444d4770756604');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','8f1376692b46c9f91d60147cd899d857d871c81d1b125ae713583df93b0fc027');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','95017de512f3679634bfe839812b84712f59738062040039bc528e40743a4101');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\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','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','5820cfb6ebe018b8c336d481ea9ae319daaee6a2e368c45196fc8bc67cb3e755');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','027f60d13311b340391633eceb3685b5105eb6de88d876270d40f4666e5ef7a5');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','9585e4e0626cc3613c3903249972acf97942ad7e16d85fa0da6677373e445db1');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','7bd984806fa6e33e0650d2f65d88758a9f4b972f366c6cd7c7698e22e6fb3ca3');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','c4aaa76f1a679e5ae8a547db33452e4adec6473e24432ee5ba56662b42a2fb2e');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','4e12edd848dcf258c94e9b7d4bd9fdd5674ffe12c5786bbcb51089b72bfe0ca3');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','71e9e621ba0974271f1a7effcbd364efd66767d4336e844539788f5d6bb22720');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','706cc4776ad6ec4df5bed0ac84e8324ad7328457b6743b082e444d4770756604');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','95017de512f3679634bfe839812b84712f59738062040039bc528e40743a4101');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
const knownDepTypes = [{
|
|
3
3
|
depType: "tools",
|
|
4
4
|
description: "A tool defined under the top-level `[tools]` table"
|
|
5
|
+
}, {
|
|
6
|
+
depType: "include",
|
|
7
|
+
description: "A remote configuration file (`git::` or `oci::`) referenced in the top-level `include` array"
|
|
5
8
|
}];
|
|
6
|
-
const supportsDynamicDepTypesNote = "Tools defined under `tasks.<name>.tools` produce dynamic `depType` values in the form `task-<name>-tools`, where `<name>` is the task name (e.g. `task-lint-tools`).";
|
|
9
|
+
const supportsDynamicDepTypesNote = "Tools defined under `tasks.<name>.tools` produce dynamic `depType` values in the form `task-<name>-tools`, and remote `git::` task files defined in `tasks.<name>.file` produce `task-<name>-file`, where `<name>` is the task name (e.g. `task-lint-tools`, `task-build-file`).";
|
|
7
10
|
//#endregion
|
|
8
11
|
export { knownDepTypes, supportsDynamicDepTypesNote };
|
|
9
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dep-types.js","names":[],"sources":["../../../../lib/modules/manager/mise/dep-types.ts"],"sourcesContent":["import type { DepTypeMetadata } from '../types.ts';\n\nexport const knownDepTypes = [\n {\n depType: 'tools',\n description: 'A tool defined under the top-level `[tools]` table',\n },\n] as const satisfies readonly DepTypeMetadata[];\n\nexport const supportsDynamicDepTypesNote =\n 'Tools defined under `tasks.<name>.tools` produce dynamic `depType` values in the form `task-<name>-tools`, where `<name>` is the task name (e.g. `task-lint-tools`).';\n"],"mappings":";AAEA,MAAa,gBAAgB,CAC3B;CACE,SAAS;CACT,aAAa;AACf,CACF;AAEA,MAAa,8BACX"}
|
|
1
|
+
{"version":3,"file":"dep-types.js","names":[],"sources":["../../../../lib/modules/manager/mise/dep-types.ts"],"sourcesContent":["import type { DepTypeMetadata } from '../types.ts';\n\nexport const knownDepTypes = [\n {\n depType: 'tools',\n description: 'A tool defined under the top-level `[tools]` table',\n },\n {\n depType: 'include',\n description:\n 'A remote configuration file (`git::` or `oci::`) referenced in the top-level `include` array',\n },\n] as const satisfies readonly DepTypeMetadata[];\n\nexport const supportsDynamicDepTypesNote =\n 'Tools defined under `tasks.<name>.tools` produce dynamic `depType` values in the form `task-<name>-tools`, and remote `git::` task files defined in `tasks.<name>.file` produce `task-<name>-file`, where `<name>` is the task name (e.g. `task-lint-tools`, `task-build-file`).';\n"],"mappings":";AAEA,MAAa,gBAAgB,CAC3B;CACE,SAAS;CACT,aAAa;AACf,GACA;CACE,SAAS;CACT,aACE;AACJ,CACF;AAEA,MAAa,8BACX"}
|
|
@@ -8,6 +8,8 @@ import { NodeVersionDatasource } from "../../datasource/node-version/index.js";
|
|
|
8
8
|
import { getLockFileName, getLockedVersion } from "./lockfile.js";
|
|
9
9
|
import java_version_lts_default from "../../../data/java-version-lts.js";
|
|
10
10
|
import { createAquaToolConfig, createCargoToolConfig, createCondaToolConfig, createDotnetToolConfig, createGemToolConfig, createGithubToolConfig, createGitlabToolConfig, createGoToolConfig, createNpmToolConfig, createPipxToolConfig, createPypiToolConfig, createSpmToolConfig, createUbiToolConfig } from "./backends.js";
|
|
11
|
+
import { extractGitReference } from "./git-reference.js";
|
|
12
|
+
import { extractInclude } from "./include.js";
|
|
11
13
|
import { MiseLockFile } from "./schema.js";
|
|
12
14
|
import { asdfTooling, getOrderedMiseRegistryBackends, miseTooling } from "./upgradeable-tooling.js";
|
|
13
15
|
import { parseTomlFile } from "./utils.js";
|
|
@@ -37,7 +39,13 @@ async function extractPackageFile(content, packageFile) {
|
|
|
37
39
|
toolData,
|
|
38
40
|
`task-${taskName}-tools`
|
|
39
41
|
]);
|
|
40
|
-
|
|
42
|
+
const taskFileDeps = [];
|
|
43
|
+
for (const [taskName, taskData] of Object.entries(misefile.tasks)) if (taskData.file) {
|
|
44
|
+
const dep = extractGitReference(taskData.file.trim(), content, `task-${taskName}-file`);
|
|
45
|
+
if (dep) taskFileDeps.push(dep);
|
|
46
|
+
}
|
|
47
|
+
const includeDeps = misefile.include.map((include) => extractInclude(include, content));
|
|
48
|
+
if (!toolEntries.length && !taskFileDeps.length && !includeDeps.length) return null;
|
|
41
49
|
const lockFileName = getLockFileName(packageFile);
|
|
42
50
|
const lockFileContent = await readLocalFile(lockFileName, "utf8");
|
|
43
51
|
let lockFileData;
|
|
@@ -49,7 +57,11 @@ async function extractPackageFile(content, packageFile) {
|
|
|
49
57
|
err: lockFileParsed.error
|
|
50
58
|
}, "Failed to parse mise lock file");
|
|
51
59
|
}
|
|
52
|
-
const result = { deps:
|
|
60
|
+
const result = { deps: [
|
|
61
|
+
...toolEntries.map(([name, toolData, depType]) => extractToolEntry(name, toolData, depType, lockFileData)),
|
|
62
|
+
...taskFileDeps,
|
|
63
|
+
...includeDeps
|
|
64
|
+
] };
|
|
53
65
|
if (lockFileData) result.lockFiles = [lockFileName];
|
|
54
66
|
return result;
|
|
55
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/mise/extract.ts"],"sourcesContent":["import {\n isArray,\n isFunction,\n isNonEmptyString,\n isObject,\n} from '@sindresorhus/is';\nimport javaLtsVersions from '../../../data/java-version-lts.json' with { type: 'json' };\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport type { StaticTooling } from '../asdf/types.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport {\n createAquaToolConfig,\n createCargoToolConfig,\n createCondaToolConfig,\n createDotnetToolConfig,\n createGemToolConfig,\n createGithubToolConfig,\n createGitlabToolConfig,\n createGoToolConfig,\n createNpmToolConfig,\n createPipxToolConfig,\n createPypiToolConfig,\n createSpmToolConfig,\n createUbiToolConfig,\n} from './backends.ts';\nimport { getLockFileName, getLockedVersion } from './lockfile.ts';\nimport type { MiseTool, MiseToolOptions, MiseToolValue } from './schema.ts';\nimport { MiseLockFile } from './schema.ts';\nimport type { BackendToolingConfig, ToolingDefinition } from './types.ts';\nimport {\n asdfTooling,\n getOrderedMiseRegistryBackends,\n miseTooling,\n} from './upgradeable-tooling.ts';\nimport { parseTomlFile } from './utils.ts';\n\n// Tool names can have options in the tool name\n// e.g. ubi:tamasfe/taplo[matching=full,exe=taplo]\nconst optionInToolNameRegex = regEx(/^(?<name>.+?)(?:\\[(?<options>.+)\\])?$/);\nconst nonVersionSelectorRegex = regEx(/^(?:ref:|path:|sub-\\d+(?::|$))/);\nconst partialSelectorRegex = regEx(\n /^(?<prefix>[^\\d]*)(?<major>\\d+)(?:\\.(?<minor>\\d+))?$/,\n);\nconst versionPrefixRegex = regEx(/^(?<prefix>[^\\d]*)\\d/);\n\ntype MiseDependency = PackageDependency & { depName: string };\n\ninterface MiseSelectorConfig {\n allowedVersions?: string;\n ignoreUnstable?: boolean;\n}\n\n/**\n * Extracts mise tool dependencies from a mise configuration file.\n * Supports various backends (core, asdf, aqua, cargo, etc.) and\n * extracts locked versions when a corresponding lock file exists.\n */\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`mise.extractPackageFile(${packageFile})`);\n\n const misefile = parseTomlFile(content, packageFile);\n if (!misefile) {\n return null;\n }\n\n const toolEntries: [string, MiseTool, string][] = [];\n\n for (const [name, toolData] of Object.entries(misefile.tools)) {\n toolEntries.push([name, toolData, 'tools']);\n }\n\n for (const [taskName, taskData] of Object.entries(misefile.tasks)) {\n for (const [name, toolData] of Object.entries(\n coerceObject(taskData.tools),\n )) {\n toolEntries.push([name, toolData, `task-${taskName}-tools`]);\n }\n }\n\n if (!toolEntries.length) {\n return null;\n }\n\n const lockFileName = getLockFileName(packageFile);\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n let lockFileData: MiseLockFile | undefined;\n if (lockFileContent) {\n const lockFileParsed = MiseLockFile.safeParse(lockFileContent);\n if (lockFileParsed.success) {\n lockFileData = lockFileParsed.data;\n } else {\n logger.debug(\n { lockFileName, err: lockFileParsed.error },\n 'Failed to parse mise lock file',\n );\n }\n }\n\n const deps = toolEntries.map(([name, toolData, depType]) =>\n extractToolEntry(name, toolData, depType, lockFileData),\n );\n const result: PackageFileContent = { deps };\n\n if (lockFileData) {\n result.lockFiles = [lockFileName];\n }\n\n return result;\n}\n\n/**\n * Returns the primary tool entry. For arrays only the first entry is managed,\n * e.g. 'erlang = [\"23.3\", \"24.0\"]' or\n * 'rust = [{ version = \"1.98.1\", profile = \"minimal\" }, { version = \"nightly\" }]'.\n */\nfunction getPrimaryToolValue(toolData: MiseTool): MiseToolValue | null {\n if (isArray(toolData)) {\n return toolData.length ? toolData[0] : null;\n }\n return toolData;\n}\n\nfunction parseVersion(toolValue: MiseToolValue | null): string | null {\n if (isNonEmptyString(toolValue)) {\n // Handle the string case\n // e.g. 'erlang = \"23.3\"'\n return toolValue;\n }\n if (isObject(toolValue) && isNonEmptyString(toolValue.version)) {\n // Handle the object case with a string version\n // e.g. 'python = { version = \"3.11.2\" }'\n return toolValue.version;\n }\n return null; // Return null if no version is found\n}\n\nfunction parseOptions(\n optionsInName: string,\n toolOptions: MiseToolOptions,\n): MiseToolOptions {\n const options = isNonEmptyString(optionsInName)\n ? Object.fromEntries(\n optionsInName.split(',').map((option) => option.split('=', 2)),\n )\n : {};\n // Options in toolOptions will override options in the tool name\n return {\n ...options,\n ...toolOptions,\n };\n}\n\nfunction getToolConfig(\n backend: string,\n toolName: string,\n version: string,\n toolOptions: MiseToolOptions,\n): StaticTooling | BackendToolingConfig | null {\n switch (backend) {\n case '': {\n // If the tool name does not specify a backend, it should be a short name or an alias defined by users\n const staticResult = getRegistryToolConfig(toolName, version);\n if (staticResult) {\n return staticResult;\n }\n\n // Otherwise, see if we have any known short tool names that are in the `mise-registry.json` data file\n const backends = getOrderedMiseRegistryBackends(toolName);\n\n // prioritise the github backend as the best source for data\n if (backends.github) {\n const result = getToolConfig(\n 'github',\n backends.github,\n version,\n toolOptions,\n );\n // v8 ignore else -- TODO: add test #40625\n if (result !== null) {\n return result;\n }\n }\n\n for (const [backendType, backendName] of Object.entries(backends)) {\n const result = getToolConfig(\n backendType,\n backendName,\n version,\n toolOptions,\n );\n // v8 ignore else -- TODO: add test #40625\n if (result !== null) {\n return result;\n }\n }\n return null;\n }\n // We can specify core, asdf, vfox, aqua backends for tools in the default registry\n // e.g. 'core:rust', 'asdf:rust', 'vfox:clang', 'aqua:act'\n case 'core':\n return getConfigFromTooling(miseTooling, toolName, version);\n case 'asdf':\n return getConfigFromTooling(asdfTooling, toolName, version);\n case 'vfox':\n return getRegistryToolConfig(toolName, version);\n case 'aqua':\n return (\n getRegistryToolConfig(toolName, version) ??\n createAquaToolConfig(toolName, version)\n );\n case 'cargo':\n return createCargoToolConfig(toolName, version);\n case 'conda':\n return createCondaToolConfig(toolName);\n case 'dotnet':\n return createDotnetToolConfig(toolName);\n case 'gem':\n return createGemToolConfig(toolName);\n case 'github':\n return createGithubToolConfig(toolName, version, toolOptions);\n case 'gitlab':\n return createGitlabToolConfig(toolName, version, toolOptions);\n case 'go':\n return createGoToolConfig(toolName);\n case 'npm':\n return createNpmToolConfig(toolName);\n case 'pipx':\n return createPipxToolConfig(toolName);\n case 'pypi':\n return createPypiToolConfig(toolName);\n case 'spm':\n return createSpmToolConfig(toolName);\n case 'ubi':\n return createUbiToolConfig(toolName, version, toolOptions);\n default:\n // Unsupported backend\n return null;\n }\n}\n\n/**\n * Get the tooling config for a short name defined in the default registry\n * @link https://mise.jdx.dev/registry.html\n */\nfunction getRegistryToolConfig(\n short: string,\n version: string,\n): StaticTooling | null {\n // Try to get the config from miseTooling first, then asdfTooling\n return (\n getConfigFromTooling(miseTooling, short, version) ??\n getConfigFromTooling(asdfTooling, short, version)\n );\n}\n\nfunction getConfigFromTooling(\n toolingSource: Record<string, ToolingDefinition>,\n name: string,\n version: string,\n): StaticTooling | null {\n const toolDefinition = toolingSource[name];\n if (!toolDefinition) {\n return null;\n } // Return null if no toolDefinition is found\n\n return (\n (isFunction(toolDefinition.config)\n ? toolDefinition.config(version)\n : toolDefinition.config) ?? null\n ); // Ensure null is returned instead of undefined\n}\n\nfunction getLtsDatasource(\n backend: string,\n toolName: string,\n datasource: string | undefined,\n): string | undefined {\n if (datasource) {\n return datasource;\n }\n if ((backend === '' || backend === 'core') && toolName === 'java') {\n return JavaVersionDatasource.id;\n }\n return undefined;\n}\n\nfunction getSelectorConfig(\n version: string,\n backend: string,\n toolName: string,\n datasource: string | undefined,\n lockedVersion: string,\n): MiseSelectorConfig | null {\n if (version === 'latest') {\n return {};\n }\n\n if (version === 'lts') {\n const ltsDatasource = getLtsDatasource(backend, toolName, datasource);\n if (ltsDatasource === NodeVersionDatasource.id) {\n return { ignoreUnstable: true };\n }\n if (ltsDatasource === JavaVersionDatasource.id) {\n return {\n allowedVersions: `/^(?:${javaLtsVersions.join('|')})(?:\\\\.|-|\\\\+|$)/`,\n ignoreUnstable: true,\n };\n }\n return null;\n }\n\n if (nonVersionSelectorRegex.test(version)) {\n return null;\n }\n\n const match = partialSelectorRegex.exec(version);\n if (!match?.groups || lockedVersion === version) {\n return null;\n }\n\n const { prefix, major, minor } = match.groups;\n const lockedPrefix = versionPrefixRegex.exec(lockedVersion)?.groups?.prefix;\n const effectivePrefix = prefix || lockedPrefix;\n let prefixPattern = '';\n if (effectivePrefix) {\n prefixPattern = `(?:${RegExp.escape(effectivePrefix)})?`;\n } else if (\n datasource === GithubReleasesDatasource.id ||\n datasource === NodeVersionDatasource.id\n ) {\n prefixPattern = `(?:${RegExp.escape('v')})?`;\n }\n const precisionPattern = minor\n ? `\\\\.${minor}(?:\\\\.|-|\\\\+|$)`\n : `(?:\\\\.|-|\\\\+|$)`;\n return {\n allowedVersions: `/^${prefixPattern}${major}${precisionPattern}/`,\n };\n}\n\nfunction extractSelectorLockedDependency(\n depName: string,\n version: string,\n backend: string,\n toolName: string,\n options: MiseToolOptions,\n toolConfig: StaticTooling | BackendToolingConfig | null,\n lockedVersion: string,\n depType: string,\n): PackageDependency | null {\n const selectorConfig = getSelectorConfig(\n version,\n backend,\n toolName,\n toolConfig?.datasource,\n lockedVersion,\n );\n if (!selectorConfig) {\n return null;\n }\n\n const resolvedToolConfig = getToolConfig(\n backend,\n toolName,\n lockedVersion,\n options,\n );\n if (!resolvedToolConfig) {\n return null;\n }\n\n const comparableLockedVersion =\n resolvedToolConfig.currentValue ?? lockedVersion;\n return {\n ...createDependency(depName, version, resolvedToolConfig, depType),\n currentValue: version,\n lockedVersion: comparableLockedVersion,\n rangeStrategy: 'update-lockfile',\n isLockfileOnly: true,\n ...selectorConfig,\n };\n}\n\nfunction extractToolEntry(\n name: string,\n toolData: MiseTool,\n depType: string,\n lockFileData?: MiseLockFile,\n): PackageDependency {\n const toolValue = getPrimaryToolValue(toolData);\n const version = parseVersion(toolValue);\n const { name: depName, options: optionsInName } = optionInToolNameRegex.exec(\n name.trim(),\n )!.groups!;\n const delimiterIndex = depName.indexOf(':');\n const backend = depName.substring(0, delimiterIndex);\n const toolName = depName.substring(delimiterIndex + 1);\n const options = parseOptions(\n optionsInName,\n isObject(toolValue) ? toolValue : {},\n );\n const toolConfig =\n version === null\n ? null\n : getToolConfig(backend, toolName, version, options);\n const dependency = createDependency(depName, version, toolConfig, depType);\n const lockedVersion = lockFileData\n ? getLockedVersion(lockFileData, dependency.depName)\n : undefined;\n\n if (version !== null && lockedVersion) {\n const selectorDependency = extractSelectorLockedDependency(\n depName,\n version,\n backend,\n toolName,\n options,\n toolConfig,\n lockedVersion,\n depType,\n );\n if (selectorDependency) {\n return selectorDependency;\n }\n }\n\n if (lockedVersion) {\n return { ...dependency, lockedVersion };\n }\n return dependency;\n}\n\nfunction getConfiguredDepName(\n config: StaticTooling | BackendToolingConfig,\n): string | undefined {\n if ('depName' in config) {\n return config.depName;\n }\n return undefined;\n}\n\nfunction createDependency(\n name: string,\n version: string | null,\n config: StaticTooling | BackendToolingConfig | null,\n depType: string,\n): MiseDependency {\n if (version === null) {\n return {\n depName: name,\n depType,\n skipReason: 'unspecified-version',\n };\n }\n if (config === null) {\n return {\n depName: name,\n depType,\n skipReason: 'unsupported-datasource',\n };\n }\n\n return {\n depType,\n currentValue: version,\n ...config,\n // Allow tooling definitions to override the parsed mise tool name.\n depName: getConfiguredDepName(config) ?? name,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/mise/extract.ts"],"sourcesContent":["import {\n isArray,\n isFunction,\n isNonEmptyString,\n isObject,\n} from '@sindresorhus/is';\nimport javaLtsVersions from '../../../data/java-version-lts.json' with { type: 'json' };\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport type { StaticTooling } from '../asdf/types.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport {\n createAquaToolConfig,\n createCargoToolConfig,\n createCondaToolConfig,\n createDotnetToolConfig,\n createGemToolConfig,\n createGithubToolConfig,\n createGitlabToolConfig,\n createGoToolConfig,\n createNpmToolConfig,\n createPipxToolConfig,\n createPypiToolConfig,\n createSpmToolConfig,\n createUbiToolConfig,\n} from './backends.ts';\nimport { extractGitReference } from './git-reference.ts';\nimport { extractInclude } from './include.ts';\nimport { getLockFileName, getLockedVersion } from './lockfile.ts';\nimport type { MiseTool, MiseToolOptions, MiseToolValue } from './schema.ts';\nimport { MiseLockFile } from './schema.ts';\nimport type { BackendToolingConfig, ToolingDefinition } from './types.ts';\nimport {\n asdfTooling,\n getOrderedMiseRegistryBackends,\n miseTooling,\n} from './upgradeable-tooling.ts';\nimport { parseTomlFile } from './utils.ts';\n\n// Tool names can have options in the tool name\n// e.g. ubi:tamasfe/taplo[matching=full,exe=taplo]\nconst optionInToolNameRegex = regEx(/^(?<name>.+?)(?:\\[(?<options>.+)\\])?$/);\nconst nonVersionSelectorRegex = regEx(/^(?:ref:|path:|sub-\\d+(?::|$))/);\nconst partialSelectorRegex = regEx(\n /^(?<prefix>[^\\d]*)(?<major>\\d+)(?:\\.(?<minor>\\d+))?$/,\n);\nconst versionPrefixRegex = regEx(/^(?<prefix>[^\\d]*)\\d/);\n\ntype MiseDependency = PackageDependency & { depName: string };\n\ninterface MiseSelectorConfig {\n allowedVersions?: string;\n ignoreUnstable?: boolean;\n}\n\n/**\n * Extracts mise tool dependencies from a mise configuration file.\n * Supports various backends (core, asdf, aqua, cargo, etc.) and\n * extracts locked versions when a corresponding lock file exists.\n */\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`mise.extractPackageFile(${packageFile})`);\n\n const misefile = parseTomlFile(content, packageFile);\n if (!misefile) {\n return null;\n }\n\n const toolEntries: [string, MiseTool, string][] = [];\n\n for (const [name, toolData] of Object.entries(misefile.tools)) {\n toolEntries.push([name, toolData, 'tools']);\n }\n\n for (const [taskName, taskData] of Object.entries(misefile.tasks)) {\n for (const [name, toolData] of Object.entries(\n coerceObject(taskData.tools),\n )) {\n toolEntries.push([name, toolData, `task-${taskName}-tools`]);\n }\n }\n\n const taskFileDeps: PackageDependency[] = [];\n for (const [taskName, taskData] of Object.entries(misefile.tasks)) {\n if (taskData.file) {\n // local paths and plain http(s) urls have no version\n const dep = extractGitReference(\n taskData.file.trim(),\n content,\n `task-${taskName}-file`,\n );\n if (dep) {\n taskFileDeps.push(dep);\n }\n }\n }\n\n const includeDeps = misefile.include.map((include) =>\n extractInclude(include, content),\n );\n\n if (!toolEntries.length && !taskFileDeps.length && !includeDeps.length) {\n return null;\n }\n\n const lockFileName = getLockFileName(packageFile);\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n let lockFileData: MiseLockFile | undefined;\n if (lockFileContent) {\n const lockFileParsed = MiseLockFile.safeParse(lockFileContent);\n if (lockFileParsed.success) {\n lockFileData = lockFileParsed.data;\n } else {\n logger.debug(\n { lockFileName, err: lockFileParsed.error },\n 'Failed to parse mise lock file',\n );\n }\n }\n\n const deps = [\n ...toolEntries.map(([name, toolData, depType]) =>\n extractToolEntry(name, toolData, depType, lockFileData),\n ),\n ...taskFileDeps,\n ...includeDeps,\n ];\n const result: PackageFileContent = { deps };\n\n if (lockFileData) {\n result.lockFiles = [lockFileName];\n }\n\n return result;\n}\n\n/**\n * Returns the primary tool entry. For arrays only the first entry is managed,\n * e.g. 'erlang = [\"23.3\", \"24.0\"]' or\n * 'rust = [{ version = \"1.98.1\", profile = \"minimal\" }, { version = \"nightly\" }]'.\n */\nfunction getPrimaryToolValue(toolData: MiseTool): MiseToolValue | null {\n if (isArray(toolData)) {\n return toolData.length ? toolData[0] : null;\n }\n return toolData;\n}\n\nfunction parseVersion(toolValue: MiseToolValue | null): string | null {\n if (isNonEmptyString(toolValue)) {\n // Handle the string case\n // e.g. 'erlang = \"23.3\"'\n return toolValue;\n }\n if (isObject(toolValue) && isNonEmptyString(toolValue.version)) {\n // Handle the object case with a string version\n // e.g. 'python = { version = \"3.11.2\" }'\n return toolValue.version;\n }\n return null; // Return null if no version is found\n}\n\nfunction parseOptions(\n optionsInName: string,\n toolOptions: MiseToolOptions,\n): MiseToolOptions {\n const options = isNonEmptyString(optionsInName)\n ? Object.fromEntries(\n optionsInName.split(',').map((option) => option.split('=', 2)),\n )\n : {};\n // Options in toolOptions will override options in the tool name\n return {\n ...options,\n ...toolOptions,\n };\n}\n\nfunction getToolConfig(\n backend: string,\n toolName: string,\n version: string,\n toolOptions: MiseToolOptions,\n): StaticTooling | BackendToolingConfig | null {\n switch (backend) {\n case '': {\n // If the tool name does not specify a backend, it should be a short name or an alias defined by users\n const staticResult = getRegistryToolConfig(toolName, version);\n if (staticResult) {\n return staticResult;\n }\n\n // Otherwise, see if we have any known short tool names that are in the `mise-registry.json` data file\n const backends = getOrderedMiseRegistryBackends(toolName);\n\n // prioritise the github backend as the best source for data\n if (backends.github) {\n const result = getToolConfig(\n 'github',\n backends.github,\n version,\n toolOptions,\n );\n // v8 ignore else -- TODO: add test #40625\n if (result !== null) {\n return result;\n }\n }\n\n for (const [backendType, backendName] of Object.entries(backends)) {\n const result = getToolConfig(\n backendType,\n backendName,\n version,\n toolOptions,\n );\n // v8 ignore else -- TODO: add test #40625\n if (result !== null) {\n return result;\n }\n }\n return null;\n }\n // We can specify core, asdf, vfox, aqua backends for tools in the default registry\n // e.g. 'core:rust', 'asdf:rust', 'vfox:clang', 'aqua:act'\n case 'core':\n return getConfigFromTooling(miseTooling, toolName, version);\n case 'asdf':\n return getConfigFromTooling(asdfTooling, toolName, version);\n case 'vfox':\n return getRegistryToolConfig(toolName, version);\n case 'aqua':\n return (\n getRegistryToolConfig(toolName, version) ??\n createAquaToolConfig(toolName, version)\n );\n case 'cargo':\n return createCargoToolConfig(toolName, version);\n case 'conda':\n return createCondaToolConfig(toolName);\n case 'dotnet':\n return createDotnetToolConfig(toolName);\n case 'gem':\n return createGemToolConfig(toolName);\n case 'github':\n return createGithubToolConfig(toolName, version, toolOptions);\n case 'gitlab':\n return createGitlabToolConfig(toolName, version, toolOptions);\n case 'go':\n return createGoToolConfig(toolName);\n case 'npm':\n return createNpmToolConfig(toolName);\n case 'pipx':\n return createPipxToolConfig(toolName);\n case 'pypi':\n return createPypiToolConfig(toolName);\n case 'spm':\n return createSpmToolConfig(toolName);\n case 'ubi':\n return createUbiToolConfig(toolName, version, toolOptions);\n default:\n // Unsupported backend\n return null;\n }\n}\n\n/**\n * Get the tooling config for a short name defined in the default registry\n * @link https://mise.jdx.dev/registry.html\n */\nfunction getRegistryToolConfig(\n short: string,\n version: string,\n): StaticTooling | null {\n // Try to get the config from miseTooling first, then asdfTooling\n return (\n getConfigFromTooling(miseTooling, short, version) ??\n getConfigFromTooling(asdfTooling, short, version)\n );\n}\n\nfunction getConfigFromTooling(\n toolingSource: Record<string, ToolingDefinition>,\n name: string,\n version: string,\n): StaticTooling | null {\n const toolDefinition = toolingSource[name];\n if (!toolDefinition) {\n return null;\n } // Return null if no toolDefinition is found\n\n return (\n (isFunction(toolDefinition.config)\n ? toolDefinition.config(version)\n : toolDefinition.config) ?? null\n ); // Ensure null is returned instead of undefined\n}\n\nfunction getLtsDatasource(\n backend: string,\n toolName: string,\n datasource: string | undefined,\n): string | undefined {\n if (datasource) {\n return datasource;\n }\n if ((backend === '' || backend === 'core') && toolName === 'java') {\n return JavaVersionDatasource.id;\n }\n return undefined;\n}\n\nfunction getSelectorConfig(\n version: string,\n backend: string,\n toolName: string,\n datasource: string | undefined,\n lockedVersion: string,\n): MiseSelectorConfig | null {\n if (version === 'latest') {\n return {};\n }\n\n if (version === 'lts') {\n const ltsDatasource = getLtsDatasource(backend, toolName, datasource);\n if (ltsDatasource === NodeVersionDatasource.id) {\n return { ignoreUnstable: true };\n }\n if (ltsDatasource === JavaVersionDatasource.id) {\n return {\n allowedVersions: `/^(?:${javaLtsVersions.join('|')})(?:\\\\.|-|\\\\+|$)/`,\n ignoreUnstable: true,\n };\n }\n return null;\n }\n\n if (nonVersionSelectorRegex.test(version)) {\n return null;\n }\n\n const match = partialSelectorRegex.exec(version);\n if (!match?.groups || lockedVersion === version) {\n return null;\n }\n\n const { prefix, major, minor } = match.groups;\n const lockedPrefix = versionPrefixRegex.exec(lockedVersion)?.groups?.prefix;\n const effectivePrefix = prefix || lockedPrefix;\n let prefixPattern = '';\n if (effectivePrefix) {\n prefixPattern = `(?:${RegExp.escape(effectivePrefix)})?`;\n } else if (\n datasource === GithubReleasesDatasource.id ||\n datasource === NodeVersionDatasource.id\n ) {\n prefixPattern = `(?:${RegExp.escape('v')})?`;\n }\n const precisionPattern = minor\n ? `\\\\.${minor}(?:\\\\.|-|\\\\+|$)`\n : `(?:\\\\.|-|\\\\+|$)`;\n return {\n allowedVersions: `/^${prefixPattern}${major}${precisionPattern}/`,\n };\n}\n\nfunction extractSelectorLockedDependency(\n depName: string,\n version: string,\n backend: string,\n toolName: string,\n options: MiseToolOptions,\n toolConfig: StaticTooling | BackendToolingConfig | null,\n lockedVersion: string,\n depType: string,\n): PackageDependency | null {\n const selectorConfig = getSelectorConfig(\n version,\n backend,\n toolName,\n toolConfig?.datasource,\n lockedVersion,\n );\n if (!selectorConfig) {\n return null;\n }\n\n const resolvedToolConfig = getToolConfig(\n backend,\n toolName,\n lockedVersion,\n options,\n );\n if (!resolvedToolConfig) {\n return null;\n }\n\n const comparableLockedVersion =\n resolvedToolConfig.currentValue ?? lockedVersion;\n return {\n ...createDependency(depName, version, resolvedToolConfig, depType),\n currentValue: version,\n lockedVersion: comparableLockedVersion,\n rangeStrategy: 'update-lockfile',\n isLockfileOnly: true,\n ...selectorConfig,\n };\n}\n\nfunction extractToolEntry(\n name: string,\n toolData: MiseTool,\n depType: string,\n lockFileData?: MiseLockFile,\n): PackageDependency {\n const toolValue = getPrimaryToolValue(toolData);\n const version = parseVersion(toolValue);\n const { name: depName, options: optionsInName } = optionInToolNameRegex.exec(\n name.trim(),\n )!.groups!;\n const delimiterIndex = depName.indexOf(':');\n const backend = depName.substring(0, delimiterIndex);\n const toolName = depName.substring(delimiterIndex + 1);\n const options = parseOptions(\n optionsInName,\n isObject(toolValue) ? toolValue : {},\n );\n const toolConfig =\n version === null\n ? null\n : getToolConfig(backend, toolName, version, options);\n const dependency = createDependency(depName, version, toolConfig, depType);\n const lockedVersion = lockFileData\n ? getLockedVersion(lockFileData, dependency.depName)\n : undefined;\n\n if (version !== null && lockedVersion) {\n const selectorDependency = extractSelectorLockedDependency(\n depName,\n version,\n backend,\n toolName,\n options,\n toolConfig,\n lockedVersion,\n depType,\n );\n if (selectorDependency) {\n return selectorDependency;\n }\n }\n\n if (lockedVersion) {\n return { ...dependency, lockedVersion };\n }\n return dependency;\n}\n\nfunction getConfiguredDepName(\n config: StaticTooling | BackendToolingConfig,\n): string | undefined {\n if ('depName' in config) {\n return config.depName;\n }\n return undefined;\n}\n\nfunction createDependency(\n name: string,\n version: string | null,\n config: StaticTooling | BackendToolingConfig | null,\n depType: string,\n): MiseDependency {\n if (version === null) {\n return {\n depName: name,\n depType,\n skipReason: 'unspecified-version',\n };\n }\n if (config === null) {\n return {\n depName: name,\n depType,\n skipReason: 'unsupported-datasource',\n };\n }\n\n return {\n depType,\n currentValue: version,\n ...config,\n // Allow tooling definitions to override the parsed mise tool name.\n depName: getConfiguredDepName(config) ?? name,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { regEx } from "../../../util/regex.js";
|
|
2
|
+
import { trimSlashes } from "../../../util/url.js";
|
|
3
|
+
import { id } from "../../versioning/exact/index.js";
|
|
4
|
+
import { BitbucketTagsDatasource } from "../../datasource/bitbucket-tags/index.js";
|
|
5
|
+
import { parseGitUrl } from "../../../util/git/url.js";
|
|
6
|
+
import { GitRefsDatasource } from "../../datasource/git-refs/index.js";
|
|
7
|
+
import { GitTagsDatasource } from "../../datasource/git-tags/index.js";
|
|
8
|
+
import { GithubDigestDatasource } from "../../datasource/github-digest/index.js";
|
|
9
|
+
import { GithubTagsDatasource } from "../../datasource/github-tags/index.js";
|
|
10
|
+
import { GitlabTagsDatasource } from "../../datasource/gitlab-tags/index.js";
|
|
11
|
+
import { isSha, isShortSha, versionLikeRe } from "../github-actions/parse.js";
|
|
12
|
+
//#region lib/modules/manager/mise/git-reference.ts
|
|
13
|
+
const gitPrefix = "git::";
|
|
14
|
+
const protocolRegex = regEx(/^(?:https?|ssh):\/\/[^/]+/);
|
|
15
|
+
const azureDevOpsSshRegex = regEx(/^(?<url>git@(?<host>ssh\.dev\.azure\.com):v3\/(?<repoName>[^/]+\/[^/]+\/[^/]+))\/\/[^?]+(?:\?(?<query>.*))?$/);
|
|
16
|
+
const refValueRegex = regEx(/(?<prefix>[?&]ref=)[^&]+/);
|
|
17
|
+
const trailingCommentRegex = regEx(/^(?<separator>["']\s*,?[ \t]*)#[ \t]*(?<value>[^\s#=]+)$/);
|
|
18
|
+
/**
|
|
19
|
+
* Finds the trailing `# <version>` or `# <branch>` comment of an entry in the raw file.
|
|
20
|
+
* Only entries of multi-line arrays can carry a comment.
|
|
21
|
+
*/
|
|
22
|
+
function findComment(reference, content) {
|
|
23
|
+
let index = content.indexOf(reference);
|
|
24
|
+
while (index !== -1) {
|
|
25
|
+
const end = index + reference.length;
|
|
26
|
+
const lineEnd = content.indexOf("\n", end);
|
|
27
|
+
const suffix = content.slice(end, lineEnd === -1 ? void 0 : lineEnd).trimEnd();
|
|
28
|
+
const groups = trailingCommentRegex.exec(suffix)?.groups;
|
|
29
|
+
if (groups) return {
|
|
30
|
+
separator: groups.separator,
|
|
31
|
+
replaceSuffix: suffix,
|
|
32
|
+
value: groups.value
|
|
33
|
+
};
|
|
34
|
+
index = content.indexOf(reference, end);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Handles `ref=<sha>`: the version or branch comes from the trailing comment.
|
|
39
|
+
*/
|
|
40
|
+
function applyPinnedRef(dep, reference, url, ref, content) {
|
|
41
|
+
if (isSha(ref)) dep.currentDigest = ref;
|
|
42
|
+
else dep.currentDigestShort = ref;
|
|
43
|
+
const comment = findComment(reference, content);
|
|
44
|
+
if (!comment) {
|
|
45
|
+
dep.skipReason = "unversioned-reference";
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
dep.currentValue = comment.value;
|
|
49
|
+
dep.replaceString = `${reference}${comment.replaceSuffix}`;
|
|
50
|
+
dep.autoReplaceStringTemplate = `${reference.replace(refValueRegex, "$<prefix>{{#if newDigest}}{{newDigest}}{{else}}{{newValue}}{{/if}}")}${comment.separator}# {{newValue}}`;
|
|
51
|
+
if (!versionLikeRe.test(comment.value)) {
|
|
52
|
+
dep.versioning = id;
|
|
53
|
+
if (dep.datasource === GithubTagsDatasource.id) dep.datasource = GithubDigestDatasource.id;
|
|
54
|
+
else {
|
|
55
|
+
dep.datasource = GitRefsDatasource.id;
|
|
56
|
+
dep.packageName = url;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parses e.g. `https://github.com/org/cfg.git//base/mise.toml?ref=v1.2.0`
|
|
62
|
+
* or `ssh://git@github.com/org/cfg.git//mise.toml`.
|
|
63
|
+
*/
|
|
64
|
+
function parseGitReference(reference) {
|
|
65
|
+
const azure = azureDevOpsSshRegex.exec(reference)?.groups;
|
|
66
|
+
if (azure) return {
|
|
67
|
+
url: azure.url,
|
|
68
|
+
host: azure.host,
|
|
69
|
+
repoName: azure.repoName,
|
|
70
|
+
ref: new URLSearchParams(azure.query).get("ref") ?? void 0
|
|
71
|
+
};
|
|
72
|
+
const origin = protocolRegex.exec(reference)?.[0];
|
|
73
|
+
if (!origin) return null;
|
|
74
|
+
const parsed = parseGitUrl(reference);
|
|
75
|
+
const [repoPath] = parsed.pathname.split("//");
|
|
76
|
+
const repoName = trimSlashes(repoPath).replace(regEx(/\.git$/), "");
|
|
77
|
+
if (!repoName) return null;
|
|
78
|
+
return {
|
|
79
|
+
url: `${origin}${repoPath}`,
|
|
80
|
+
host: parsed.resource,
|
|
81
|
+
repoName,
|
|
82
|
+
ref: parsed.query.ref
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Extracts a `git::<protocol>://<host>/<repo>.git//<path>?ref=<ref>` reference.
|
|
87
|
+
* Returns `null` if `reference` is not a git reference.
|
|
88
|
+
* `content` is the raw file, used to read trailing comment hints.
|
|
89
|
+
* @link https://mise.jdx.dev/tasks/toml-tasks.html#git
|
|
90
|
+
*/
|
|
91
|
+
function extractGitReference(reference, content, depType) {
|
|
92
|
+
if (!reference.startsWith(gitPrefix)) return null;
|
|
93
|
+
const parsed = parseGitReference(reference.slice(5));
|
|
94
|
+
if (!parsed) return null;
|
|
95
|
+
const { url, host, repoName, ref } = parsed;
|
|
96
|
+
const dep = {
|
|
97
|
+
depName: `${host}/${repoName}`,
|
|
98
|
+
depType,
|
|
99
|
+
packageName: url
|
|
100
|
+
};
|
|
101
|
+
if (host === "github.com") {
|
|
102
|
+
dep.datasource = GithubTagsDatasource.id;
|
|
103
|
+
dep.packageName = repoName;
|
|
104
|
+
} else if (host === "bitbucket.org") {
|
|
105
|
+
dep.datasource = BitbucketTagsDatasource.id;
|
|
106
|
+
dep.packageName = repoName;
|
|
107
|
+
} else if (host === "gitlab.com") {
|
|
108
|
+
dep.datasource = GitlabTagsDatasource.id;
|
|
109
|
+
dep.packageName = repoName;
|
|
110
|
+
} else dep.datasource = GitTagsDatasource.id;
|
|
111
|
+
if (!ref) {
|
|
112
|
+
dep.skipReason = "unspecified-version";
|
|
113
|
+
return dep;
|
|
114
|
+
}
|
|
115
|
+
if (isSha(ref) || isShortSha(ref)) {
|
|
116
|
+
applyPinnedRef(dep, reference, url, ref, content);
|
|
117
|
+
return dep;
|
|
118
|
+
}
|
|
119
|
+
dep.currentValue = ref;
|
|
120
|
+
dep.replaceString = reference;
|
|
121
|
+
dep.autoReplaceStringTemplate = reference.replace(refValueRegex, "$<prefix>{{newValue}}");
|
|
122
|
+
return dep;
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
export { extractGitReference };
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=git-reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-reference.js","names":["exactVersioning.id"],"sources":["../../../../lib/modules/manager/mise/git-reference.ts"],"sourcesContent":["import { parseGitUrl } from '../../../util/git/url.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { trimSlashes } from '../../../util/url.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubDigestDatasource } from '../../datasource/github-digest/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\nimport * as exactVersioning from '../../versioning/exact/index.ts';\nimport { isSha, isShortSha, versionLikeRe } from '../github-actions/parse.ts';\nimport type { PackageDependency } from '../types.ts';\n\nconst gitPrefix = 'git::';\nconst protocolRegex = regEx(/^(?:https?|ssh):\\/\\/[^/]+/);\n// scp-like urls are only supported by mise for Azure DevOps, which git-url-parse can not parse\nconst azureDevOpsSshRegex = regEx(\n /^(?<url>git@(?<host>ssh\\.dev\\.azure\\.com):v3\\/(?<repoName>[^/]+\\/[^/]+\\/[^/]+))\\/\\/[^?]+(?:\\?(?<query>.*))?$/,\n);\nconst refValueRegex = regEx(/(?<prefix>[?&]ref=)[^&]+/);\n// the rest of the line after a reference string, e.g. `\", # v1.0.0`\n// `=` is excluded so that `# tag=v1.0.0` style comments are not read as a branch\nconst trailingCommentRegex = regEx(\n /^(?<separator>[\"']\\s*,?[ \\t]*)#[ \\t]*(?<value>[^\\s#=]+)$/,\n);\n\ninterface ReferenceComment {\n /** text between the reference string and the comment, e.g. `\", ` */\n separator: string;\n /** everything after the reference string, including the comment */\n replaceSuffix: string;\n /** the hint: a version (`v1.2.3`) or a branch (`main`) */\n value: string;\n}\n\n/**\n * Finds the trailing `# <version>` or `# <branch>` comment of an entry in the raw file.\n * Only entries of multi-line arrays can carry a comment.\n */\nfunction findComment(\n reference: string,\n content: string,\n): ReferenceComment | undefined {\n let index = content.indexOf(reference);\n while (index !== -1) {\n const end = index + reference.length;\n const lineEnd = content.indexOf('\\n', end);\n const rest = content.slice(end, lineEnd === -1 ? undefined : lineEnd);\n const suffix = rest.trimEnd();\n const groups = trailingCommentRegex.exec(suffix)?.groups;\n if (groups) {\n return {\n separator: groups.separator,\n replaceSuffix: suffix,\n value: groups.value,\n };\n }\n index = content.indexOf(reference, end);\n }\n return undefined;\n}\n\n/**\n * Handles `ref=<sha>`: the version or branch comes from the trailing comment.\n */\nfunction applyPinnedRef(\n dep: PackageDependency,\n reference: string,\n url: string,\n ref: string,\n content: string,\n): void {\n if (isSha(ref)) {\n dep.currentDigest = ref;\n } else {\n dep.currentDigestShort = ref;\n }\n const comment = findComment(reference, content);\n if (!comment) {\n dep.skipReason = 'unversioned-reference';\n return;\n }\n dep.currentValue = comment.value;\n // Also match the comment, so that it is updated together with the sha.\n dep.replaceString = `${reference}${comment.replaceSuffix}`;\n dep.autoReplaceStringTemplate = `${reference.replace(\n refValueRegex,\n '$<prefix>{{#if newDigest}}{{newDigest}}{{else}}{{newValue}}{{/if}}',\n )}${comment.separator}# {{newValue}}`;\n if (!versionLikeRe.test(comment.value)) {\n // branch hint: only the digest changes\n dep.versioning = exactVersioning.id;\n if (dep.datasource === GithubTagsDatasource.id) {\n dep.datasource = GithubDigestDatasource.id;\n } else {\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = url;\n }\n }\n}\n\ninterface GitReference {\n /** repository url without the file path and query, e.g. `https://github.com/org/cfg.git` */\n url: string;\n host: string;\n /** e.g. `org/cfg` */\n repoName: string;\n ref: string | undefined;\n}\n\n/**\n * Parses e.g. `https://github.com/org/cfg.git//base/mise.toml?ref=v1.2.0`\n * or `ssh://git@github.com/org/cfg.git//mise.toml`.\n */\nfunction parseGitReference(reference: string): GitReference | null {\n const azure = azureDevOpsSshRegex.exec(reference)?.groups;\n if (azure) {\n return {\n url: azure.url,\n host: azure.host,\n repoName: azure.repoName,\n ref: new URLSearchParams(azure.query).get('ref') ?? undefined,\n };\n }\n const origin = protocolRegex.exec(reference)?.[0];\n if (!origin) {\n return null;\n }\n const parsed = parseGitUrl(reference);\n // `//` separates the repository from the file path, which git-url-parse does not handle\n const [repoPath] = parsed.pathname.split('//');\n const repoName = trimSlashes(repoPath).replace(regEx(/\\.git$/), '');\n if (!repoName) {\n return null;\n }\n return {\n url: `${origin}${repoPath}`,\n host: parsed.resource,\n repoName,\n ref: parsed.query.ref,\n };\n}\n\n/**\n * Extracts a `git::<protocol>://<host>/<repo>.git//<path>?ref=<ref>` reference.\n * Returns `null` if `reference` is not a git reference.\n * `content` is the raw file, used to read trailing comment hints.\n * @link https://mise.jdx.dev/tasks/toml-tasks.html#git\n */\nexport function extractGitReference(\n reference: string,\n content: string,\n depType: string,\n): PackageDependency | null {\n if (!reference.startsWith(gitPrefix)) {\n return null;\n }\n const parsed = parseGitReference(reference.slice(gitPrefix.length));\n if (!parsed) {\n return null;\n }\n const { url, host, repoName, ref } = parsed;\n const dep: PackageDependency = {\n depName: `${host}/${repoName}`,\n depType,\n packageName: url,\n };\n\n if (host === 'github.com') {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = repoName;\n } else if (host === 'bitbucket.org') {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = repoName;\n } else if (host === 'gitlab.com') {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = repoName;\n } else {\n dep.datasource = GitTagsDatasource.id;\n }\n\n if (!ref) {\n dep.skipReason = 'unspecified-version';\n return dep;\n }\n if (isSha(ref) || isShortSha(ref)) {\n applyPinnedRef(dep, reference, url, ref, content);\n return dep;\n }\n dep.currentValue = ref;\n // Match the whole entry, but only replace the `ref` value.\n dep.replaceString = reference;\n dep.autoReplaceStringTemplate = reference.replace(\n refValueRegex,\n '$<prefix>{{newValue}}',\n );\n return dep;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getDep } from "../dockerfile/extract.js";
|
|
2
|
+
import { extractGitReference } from "./git-reference.js";
|
|
3
|
+
//#region lib/modules/manager/mise/include.ts
|
|
4
|
+
const ociPrefix = "oci::";
|
|
5
|
+
function extractOciInclude(include) {
|
|
6
|
+
return {
|
|
7
|
+
...getDep(include.slice(5)),
|
|
8
|
+
depType: "include"
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Extracts a remote `include` entry of a mise configuration file.
|
|
13
|
+
* `content` is the raw file, used to read trailing comment hints.
|
|
14
|
+
* @link https://mise.jdx.dev/configuration.html#include
|
|
15
|
+
*/
|
|
16
|
+
function extractInclude(include, content) {
|
|
17
|
+
const trimmed = include.trim();
|
|
18
|
+
if (trimmed.startsWith(ociPrefix)) return extractOciInclude(trimmed);
|
|
19
|
+
const gitDep = extractGitReference(trimmed, content, "include");
|
|
20
|
+
if (gitDep) return gitDep;
|
|
21
|
+
return {
|
|
22
|
+
depName: trimmed,
|
|
23
|
+
depType: "include",
|
|
24
|
+
skipReason: "unsupported-url"
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { extractInclude };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=include.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include.js","names":[],"sources":["../../../../lib/modules/manager/mise/include.ts"],"sourcesContent":["import { getDep } from '../dockerfile/extract.ts';\nimport type { PackageDependency } from '../types.ts';\nimport { extractGitReference } from './git-reference.ts';\n\nconst ociPrefix = 'oci::';\n\nfunction extractOciInclude(include: string): PackageDependency {\n // `replaceString` and the template cover the image reference only,\n // so the `oci::` prefix stays in place.\n const dep = getDep(include.slice(ociPrefix.length));\n return { ...dep, depType: 'include' };\n}\n\n/**\n * Extracts a remote `include` entry of a mise configuration file.\n * `content` is the raw file, used to read trailing comment hints.\n * @link https://mise.jdx.dev/configuration.html#include\n */\nexport function extractInclude(\n include: string,\n content: string,\n): PackageDependency {\n const trimmed = include.trim();\n if (trimmed.startsWith(ociPrefix)) {\n return extractOciInclude(trimmed);\n }\n const gitDep = extractGitReference(trimmed, content, 'include');\n if (gitDep) {\n return gitDep;\n }\n return {\n depName: trimmed,\n depType: 'include',\n skipReason: 'unsupported-url',\n };\n}\n"],"mappings":";;;AAIA,MAAM,YAAY;AAElB,SAAS,kBAAkB,SAAoC;CAI7D,OAAO;EAAE,GADG,OAAO,QAAQ,MAAM,CAAgB,CACnC;EAAG,SAAS;CAAU;AACtC;;;;;;AAOA,SAAgB,eACd,SACA,SACmB;CACnB,MAAM,UAAU,QAAQ,KAAK;CAC7B,IAAI,QAAQ,WAAW,SAAS,GAC9B,OAAO,kBAAkB,OAAO;CAElC,MAAM,SAAS,oBAAoB,SAAS,SAAS,SAAS;CAC9D,IAAI,QACF,OAAO;CAET,OAAO;EACL,SAAS;EACT,SAAS;EACT,YAAY;CACd;AACF"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { __exportAll } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { deduplicateArray } from "../../../util/array.js";
|
|
3
|
+
import { BitbucketTagsDatasource } from "../../datasource/bitbucket-tags/index.js";
|
|
3
4
|
import { CondaDatasource } from "../../datasource/conda/index.js";
|
|
4
5
|
import { CrateDatasource } from "../../datasource/crate/index.js";
|
|
6
|
+
import { DockerDatasource } from "../../datasource/docker/index.js";
|
|
5
7
|
import { GitRefsDatasource } from "../../datasource/git-refs/index.js";
|
|
6
8
|
import { GitTagsDatasource } from "../../datasource/git-tags/index.js";
|
|
9
|
+
import { GithubDigestDatasource } from "../../datasource/github-digest/index.js";
|
|
7
10
|
import { GithubReleasesDatasource } from "../../datasource/github-releases/index.js";
|
|
8
11
|
import { GithubTagsDatasource } from "../../datasource/github-tags/index.js";
|
|
9
12
|
import { GitlabReleasesDatasource } from "../../datasource/gitlab-releases/index.js";
|
|
13
|
+
import { GitlabTagsDatasource } from "../../datasource/gitlab-tags/index.js";
|
|
10
14
|
import { GoDatasource } from "../../datasource/go/index.js";
|
|
11
15
|
import { JavaVersionDatasource } from "../../datasource/java-version/index.js";
|
|
12
16
|
import { NodeVersionDatasource } from "../../datasource/node-version/index.js";
|
|
@@ -89,6 +93,15 @@ const backendDatasources = {
|
|
|
89
93
|
ubi: [GithubReleasesDatasource.id],
|
|
90
94
|
vfox: []
|
|
91
95
|
};
|
|
96
|
+
const remoteReferenceDatasources = [
|
|
97
|
+
BitbucketTagsDatasource.id,
|
|
98
|
+
DockerDatasource.id,
|
|
99
|
+
GitRefsDatasource.id,
|
|
100
|
+
GitTagsDatasource.id,
|
|
101
|
+
GithubDigestDatasource.id,
|
|
102
|
+
GithubTagsDatasource.id,
|
|
103
|
+
GitlabTagsDatasource.id
|
|
104
|
+
];
|
|
92
105
|
/**
|
|
93
106
|
* Backends that are definitely supported out-of-the-box with Renovate.
|
|
94
107
|
*/
|
|
@@ -97,7 +110,7 @@ const supportedBackendDatasources = new Set(Object.keys(backendDatasources).filt
|
|
|
97
110
|
* Backends that may require some additional work for users to configure Renovate to update them.
|
|
98
111
|
*/
|
|
99
112
|
const maybeSupportedBackendDatasources = new Set(Object.keys(backendDatasources).filter((key) => key === "vfox" || key === "aqua"));
|
|
100
|
-
const supportedDatasources = deduplicateArray(Object.values(backendDatasources).flat()).sort();
|
|
113
|
+
const supportedDatasources = deduplicateArray([...Object.values(backendDatasources).flat(), ...remoteReferenceDatasources]).sort();
|
|
101
114
|
//#endregion
|
|
102
115
|
export { defaultConfig, displayName, extractPackageFile, knownDepTypes, lockFileNames, maybeSupportedBackendDatasources, mise_exports, supportedBackendDatasources, supportedDatasources, supportsDynamicDepTypesNote, updateArtifacts, updateLockedDependency, url };
|
|
103
116
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["asdfSupportedDatasources"],"sources":["../../../../lib/modules/manager/mise/index.ts"],"sourcesContent":["import { deduplicateArray } from '../../../util/array.ts';\nimport { CondaDatasource } from '../../datasource/conda/index.ts';\nimport { CrateDatasource } from '../../datasource/crate/index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabReleasesDatasource } from '../../datasource/gitlab-releases/index.ts';\nimport { GoDatasource } from '../../datasource/go/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport { NpmDatasource } from '../../datasource/npm/index.ts';\nimport { NugetDatasource } from '../../datasource/nuget/index.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';\nimport { RubygemsDatasource } from '../../datasource/rubygems/index.ts';\nimport { RustVersionDatasource } from '../../datasource/rust-version/index.ts';\nimport { supportedDatasources as asdfSupportedDatasources } from '../asdf/index.ts';\n\nexport { updateArtifacts } from './artifacts.ts';\nexport { knownDepTypes, supportsDynamicDepTypesNote } from './dep-types.ts';\nexport { extractPackageFile } from './extract.ts';\nexport { updateLockedDependency } from './update-locked.ts';\n\nexport const displayName = 'mise-en-place';\nexport const supportsLockFileMaintenance = true;\nexport const lockFileNames = ['mise.lock'];\nexport const lockFileMaintenanceIsDelegatedToPackageManager = true;\nexport const url = 'https://mise.jdx.dev';\n\nexport const defaultConfig = {\n managerFilePatterns: [\n '**/{,.}mise{,.*}.toml',\n '**/{,.}mise/config{,.*}.toml',\n '**/.config/mise{,.*}.toml',\n '**/.config/mise/{mise,config}{,.*}.toml',\n '**/.config/mise/conf.d/*.toml',\n '**/.rtx{,.*}.toml',\n ],\n pinDigests: false,\n};\n\nconst backendDatasources = {\n core: [\n GithubReleasesDatasource.id,\n GithubTagsDatasource.id,\n JavaVersionDatasource.id,\n NodeVersionDatasource.id,\n RubyVersionDatasource.id,\n RustVersionDatasource.id,\n ],\n // Re-use the asdf datasources, as mise and asdf support the same plugins.\n asdf: asdfSupportedDatasources,\n aqua: [GithubTagsDatasource.id],\n cargo: [CrateDatasource.id, GitTagsDatasource.id, GitRefsDatasource.id],\n conda: [CondaDatasource.id],\n dotnet: [NugetDatasource.id],\n gem: [RubygemsDatasource.id],\n github: [GithubReleasesDatasource.id],\n gitlab: [GitlabReleasesDatasource.id],\n go: [GoDatasource.id],\n npm: [NpmDatasource.id],\n pipx: [PypiDatasource.id, GithubTagsDatasource.id, GitRefsDatasource.id],\n pypi: [PypiDatasource.id, GithubTagsDatasource.id, GitRefsDatasource.id],\n spm: [GithubReleasesDatasource.id],\n ubi: [GithubReleasesDatasource.id],\n // not supported\n vfox: [],\n};\n\n/**\n * Backends that are definitely supported out-of-the-box with Renovate.\n */\nexport const supportedBackendDatasources = new Set(\n Object.keys(backendDatasources).filter((key) => key !== 'vfox'),\n);\n\n/**\n * Backends that may require some additional work for users to configure Renovate to update them.\n */\nexport const maybeSupportedBackendDatasources = new Set<string>(\n Object.keys(backendDatasources).filter(\n (key) => key === 'vfox' || key === 'aqua',\n ),\n);\n\nexport const supportedDatasources = deduplicateArray(\n Object.values(backendDatasources).flat(),\n).sort();\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["asdfSupportedDatasources"],"sources":["../../../../lib/modules/manager/mise/index.ts"],"sourcesContent":["import { deduplicateArray } from '../../../util/array.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { CondaDatasource } from '../../datasource/conda/index.ts';\nimport { CrateDatasource } from '../../datasource/crate/index.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubDigestDatasource } from '../../datasource/github-digest/index.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabReleasesDatasource } from '../../datasource/gitlab-releases/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\nimport { GoDatasource } from '../../datasource/go/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport { NpmDatasource } from '../../datasource/npm/index.ts';\nimport { NugetDatasource } from '../../datasource/nuget/index.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';\nimport { RubygemsDatasource } from '../../datasource/rubygems/index.ts';\nimport { RustVersionDatasource } from '../../datasource/rust-version/index.ts';\nimport { supportedDatasources as asdfSupportedDatasources } from '../asdf/index.ts';\n\nexport { updateArtifacts } from './artifacts.ts';\nexport { knownDepTypes, supportsDynamicDepTypesNote } from './dep-types.ts';\nexport { extractPackageFile } from './extract.ts';\nexport { updateLockedDependency } from './update-locked.ts';\n\nexport const displayName = 'mise-en-place';\nexport const supportsLockFileMaintenance = true;\nexport const lockFileNames = ['mise.lock'];\nexport const lockFileMaintenanceIsDelegatedToPackageManager = true;\nexport const url = 'https://mise.jdx.dev';\n\nexport const defaultConfig = {\n managerFilePatterns: [\n '**/{,.}mise{,.*}.toml',\n '**/{,.}mise/config{,.*}.toml',\n '**/.config/mise{,.*}.toml',\n '**/.config/mise/{mise,config}{,.*}.toml',\n '**/.config/mise/conf.d/*.toml',\n '**/.rtx{,.*}.toml',\n ],\n pinDigests: false,\n};\n\nconst backendDatasources = {\n core: [\n GithubReleasesDatasource.id,\n GithubTagsDatasource.id,\n JavaVersionDatasource.id,\n NodeVersionDatasource.id,\n RubyVersionDatasource.id,\n RustVersionDatasource.id,\n ],\n // Re-use the asdf datasources, as mise and asdf support the same plugins.\n asdf: asdfSupportedDatasources,\n aqua: [GithubTagsDatasource.id],\n cargo: [CrateDatasource.id, GitTagsDatasource.id, GitRefsDatasource.id],\n conda: [CondaDatasource.id],\n dotnet: [NugetDatasource.id],\n gem: [RubygemsDatasource.id],\n github: [GithubReleasesDatasource.id],\n gitlab: [GitlabReleasesDatasource.id],\n go: [GoDatasource.id],\n npm: [NpmDatasource.id],\n pipx: [PypiDatasource.id, GithubTagsDatasource.id, GitRefsDatasource.id],\n pypi: [PypiDatasource.id, GithubTagsDatasource.id, GitRefsDatasource.id],\n spm: [GithubReleasesDatasource.id],\n ubi: [GithubReleasesDatasource.id],\n // not supported\n vfox: [],\n};\n\n// datasources of remote `include` entries and git task files\nconst remoteReferenceDatasources = [\n BitbucketTagsDatasource.id,\n DockerDatasource.id,\n GitRefsDatasource.id,\n GitTagsDatasource.id,\n GithubDigestDatasource.id,\n GithubTagsDatasource.id,\n GitlabTagsDatasource.id,\n];\n\n/**\n * Backends that are definitely supported out-of-the-box with Renovate.\n */\nexport const supportedBackendDatasources = new Set(\n Object.keys(backendDatasources).filter((key) => key !== 'vfox'),\n);\n\n/**\n * Backends that may require some additional work for users to configure Renovate to update them.\n */\nexport const maybeSupportedBackendDatasources = new Set<string>(\n Object.keys(backendDatasources).filter(\n (key) => key === 'vfox' || key === 'aqua',\n ),\n);\n\nexport const supportedDatasources = deduplicateArray([\n ...Object.values(backendDatasources).flat(),\n ...remoteReferenceDatasources,\n]).sort();\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAa,cAAc;AAE3B,MAAa,gBAAgB,CAAC,WAAW;AAEzC,MAAa,MAAM;AAEnB,MAAa,gBAAgB;CAC3B,qBAAqB;EACnB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,YAAY;AACd;AAEA,MAAM,qBAAqB;CACzB,MAAM;EACJ,yBAAyB;EACzB,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;CACxB;CAEA,MAAMA;CACN,MAAM,CAAC,qBAAqB,EAAE;CAC9B,OAAO;EAAC,gBAAgB;EAAI,kBAAkB;EAAI,kBAAkB;CAAE;CACtE,OAAO,CAAC,gBAAgB,EAAE;CAC1B,QAAQ,CAAC,gBAAgB,EAAE;CAC3B,KAAK,CAAC,mBAAmB,EAAE;CAC3B,QAAQ,CAAC,yBAAyB,EAAE;CACpC,QAAQ,CAAC,yBAAyB,EAAE;CACpC,IAAI,CAAC,aAAa,EAAE;CACpB,KAAK,CAAC,cAAc,EAAE;CACtB,MAAM;EAAC,eAAe;EAAI,qBAAqB;EAAI,kBAAkB;CAAE;CACvE,MAAM;EAAC,eAAe;EAAI,qBAAqB;EAAI,kBAAkB;CAAE;CACvE,KAAK,CAAC,yBAAyB,EAAE;CACjC,KAAK,CAAC,yBAAyB,EAAE;CAEjC,MAAM,CAAC;AACT;AAGA,MAAM,6BAA6B;CACjC,wBAAwB;CACxB,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,uBAAuB;CACvB,qBAAqB;CACrB,qBAAqB;AACvB;;;;AAKA,MAAa,8BAA8B,IAAI,IAC7C,OAAO,KAAK,kBAAkB,CAAC,CAAC,QAAQ,QAAQ,QAAQ,MAAM,CAChE;;;;AAKA,MAAa,mCAAmC,IAAI,IAClD,OAAO,KAAK,kBAAkB,CAAC,CAAC,QAC7B,QAAQ,QAAQ,UAAU,QAAQ,MACrC,CACF;AAEA,MAAa,uBAAuB,iBAAiB,CACnD,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,KAAK,GAC1C,GAAG,0BACL,CAAC,CAAC,CAAC,KAAK"}
|
|
@@ -19,10 +19,14 @@ const MiseToolValue = z.union([z.string(), MiseToolObject]);
|
|
|
19
19
|
* the first (primary) one is managed. Array items may mix both forms.
|
|
20
20
|
*/
|
|
21
21
|
const MiseTool = z.union([MiseToolValue, z.array(MiseToolValue)]);
|
|
22
|
-
const MiseTask = z.object({
|
|
22
|
+
const MiseTask = z.object({
|
|
23
|
+
tools: z.record(z.string(), MiseTool).optional(),
|
|
24
|
+
file: z.string().optional()
|
|
25
|
+
}).passthrough().catch({});
|
|
23
26
|
const MiseFile = Toml.pipe(z.object({
|
|
24
27
|
tools: z.record(z.string(), MiseTool).default({}),
|
|
25
|
-
tasks: z.record(z.string(), MiseTask).default({})
|
|
28
|
+
tasks: z.record(z.string(), MiseTask).default({}),
|
|
29
|
+
include: z.array(z.string()).catch([])
|
|
26
30
|
}));
|
|
27
31
|
const MiseLockTool = z.object({
|
|
28
32
|
version: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/manager/mise/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { Toml } from '../../../util/schema-utils/index.ts';\n\nexport const MiseRegistryJson = z.object({\n meta: z.object({\n version: z.string(),\n }),\n tools: z.record(z.string(), z.record(z.string(), z.string())),\n});\n\nconst MiseToolOptions = z.object({\n // ubi backend only\n tag_regex: z.string().optional(),\n // github and gitlab backends\n version_prefix: z.string().optional(),\n});\nexport type MiseToolOptions = z.infer<typeof MiseToolOptions>;\n\nconst MiseToolObject = MiseToolOptions.extend({\n version: z.string().optional(),\n});\n\n/**\n * A single tool entry: either a plain version string or an inline table,\n * e.g. `\"3.11.2\"` or `{ version = \"3.11.2\", virtualenv = \".venv\" }`.\n */\nconst MiseToolValue = z.union([z.string(), MiseToolObject]);\nexport type MiseToolValue = z.infer<typeof MiseToolValue>;\n\n/**\n * A tool may also be declared as an array of entries, in which case only\n * the first (primary) one is managed. Array items may mix both forms.\n */\nconst MiseTool = z.union([MiseToolValue, z.array(MiseToolValue)]);\nexport type MiseTool = z.infer<typeof MiseTool>;\n\nconst MiseTask = z\n .object({\n tools: z.record(z.string(), MiseTool).optional(),\n })\n .passthrough()\n .catch({});\n\nexport const MiseFile = Toml.pipe(\n z.object({\n tools: z.record(z.string(), MiseTool).default({}),\n tasks: z.record(z.string(), MiseTask).default({}),\n }),\n);\nexport type MiseFile = z.infer<typeof MiseFile>;\n\nconst MiseLockTool = z.object({\n version: z.string(),\n backend: z.string().optional(),\n options: z.record(z.string(), z.string()).optional(),\n platforms: z\n .record(\n z.string(),\n z.object({\n checksum: z.string().optional(),\n size: z.number().optional(),\n url: z.string().optional(),\n }),\n )\n .optional(),\n});\nexport type MiseLockTool = z.infer<typeof MiseLockTool>;\n\nexport const MiseLockFile = Toml.pipe(\n z.object({\n tools: z.record(z.string(), z.array(MiseLockTool)),\n }),\n);\nexport type MiseLockFile = z.infer<typeof MiseLockFile>;\n"],"mappings":";;;AAGA,MAAa,mBAAmB,EAAE,OAAO;CACvC,MAAM,EAAE,OAAO,EACb,SAAS,EAAE,OAAO,EACpB,CAAC;CACD,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAUD,MAAM,iBARkB,EAAE,OAAO;CAE/B,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;CAE/B,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS;AACtC,CAGqC,CAAC,CAAC,OAAO,EAC5C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,EAC/B,CAAC;;;;;AAMD,MAAM,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;;;;;AAO1D,MAAM,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,aAAa,CAAC,CAAC;AAGhE,MAAM,WAAW,EACd,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/manager/mise/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { Toml } from '../../../util/schema-utils/index.ts';\n\nexport const MiseRegistryJson = z.object({\n meta: z.object({\n version: z.string(),\n }),\n tools: z.record(z.string(), z.record(z.string(), z.string())),\n});\n\nconst MiseToolOptions = z.object({\n // ubi backend only\n tag_regex: z.string().optional(),\n // github and gitlab backends\n version_prefix: z.string().optional(),\n});\nexport type MiseToolOptions = z.infer<typeof MiseToolOptions>;\n\nconst MiseToolObject = MiseToolOptions.extend({\n version: z.string().optional(),\n});\n\n/**\n * A single tool entry: either a plain version string or an inline table,\n * e.g. `\"3.11.2\"` or `{ version = \"3.11.2\", virtualenv = \".venv\" }`.\n */\nconst MiseToolValue = z.union([z.string(), MiseToolObject]);\nexport type MiseToolValue = z.infer<typeof MiseToolValue>;\n\n/**\n * A tool may also be declared as an array of entries, in which case only\n * the first (primary) one is managed. Array items may mix both forms.\n */\nconst MiseTool = z.union([MiseToolValue, z.array(MiseToolValue)]);\nexport type MiseTool = z.infer<typeof MiseTool>;\n\nconst MiseTask = z\n .object({\n tools: z.record(z.string(), MiseTool).optional(),\n file: z.string().optional(),\n })\n .passthrough()\n .catch({});\n\nexport const MiseFile = Toml.pipe(\n z.object({\n tools: z.record(z.string(), MiseTool).default({}),\n tasks: z.record(z.string(), MiseTask).default({}),\n include: z.array(z.string()).catch([]),\n }),\n);\nexport type MiseFile = z.infer<typeof MiseFile>;\n\nconst MiseLockTool = z.object({\n version: z.string(),\n backend: z.string().optional(),\n options: z.record(z.string(), z.string()).optional(),\n platforms: z\n .record(\n z.string(),\n z.object({\n checksum: z.string().optional(),\n size: z.number().optional(),\n url: z.string().optional(),\n }),\n )\n .optional(),\n});\nexport type MiseLockTool = z.infer<typeof MiseLockTool>;\n\nexport const MiseLockFile = Toml.pipe(\n z.object({\n tools: z.record(z.string(), z.array(MiseLockTool)),\n }),\n);\nexport type MiseLockFile = z.infer<typeof MiseLockFile>;\n"],"mappings":";;;AAGA,MAAa,mBAAmB,EAAE,OAAO;CACvC,MAAM,EAAE,OAAO,EACb,SAAS,EAAE,OAAO,EACpB,CAAC;CACD,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAUD,MAAM,iBARkB,EAAE,OAAO;CAE/B,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;CAE/B,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS;AACtC,CAGqC,CAAC,CAAC,OAAO,EAC5C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,EAC/B,CAAC;;;;;AAMD,MAAM,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;;;;;AAO1D,MAAM,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,aAAa,CAAC,CAAC;AAGhE,MAAM,WAAW,EACd,OAAO;CACN,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,SAAS;CAC/C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;AAC5B,CAAC,CAAC,CACD,YAAY,CAAC,CACb,MAAM,CAAC,CAAC;AAEX,MAAa,WAAW,KAAK,KAC3B,EAAE,OAAO;CACP,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChD,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChD,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CACH;AAGA,MAAM,eAAe,EAAE,OAAO;CAC5B,SAAS,EAAE,OAAO;CAClB,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;CACnD,WAAW,EACR,OACC,EAAE,OAAO,GACT,EAAE,OAAO;EACP,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS;EAC9B,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;EAC1B,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,CAAC,CACH,CAAC,CACA,SAAS;AACd,CAAC;AAGD,MAAa,eAAe,KAAK,KAC/B,EAAE,OAAO,EACP,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,MAAM,YAAY,CAAC,EACnD,CAAC,CACH"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "44.
|
|
4
|
+
"version": "44.127.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -87,13 +87,13 @@
|
|
|
87
87
|
"pnpm": "^11.0.0"
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"@aws-sdk/client-codecommit": "3.
|
|
91
|
-
"@aws-sdk/client-ec2": "3.
|
|
92
|
-
"@aws-sdk/client-ecr": "3.
|
|
93
|
-
"@aws-sdk/client-eks": "3.
|
|
94
|
-
"@aws-sdk/client-rds": "3.
|
|
95
|
-
"@aws-sdk/client-s3": "3.
|
|
96
|
-
"@aws-sdk/credential-providers": "3.
|
|
90
|
+
"@aws-sdk/client-codecommit": "3.1139.0",
|
|
91
|
+
"@aws-sdk/client-ec2": "3.1139.0",
|
|
92
|
+
"@aws-sdk/client-ecr": "3.1139.0",
|
|
93
|
+
"@aws-sdk/client-eks": "3.1139.0",
|
|
94
|
+
"@aws-sdk/client-rds": "3.1139.0",
|
|
95
|
+
"@aws-sdk/client-s3": "3.1139.0",
|
|
96
|
+
"@aws-sdk/credential-providers": "3.1139.0",
|
|
97
97
|
"@baszalmstra/rattler": "0.2.1",
|
|
98
98
|
"@breejs/later": "4.2.0",
|
|
99
99
|
"@cdktf/hcl2json": "0.21.0",
|
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.
|
|
3
|
+
"title": "JSON schema for Renovate 44.127.0 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.
|
|
5
|
+
"x-renovate-version": "44.127.0",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|