renovate 40.32.6 → 40.33.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.
@@ -509,6 +509,7 @@
509
509
  "https://github.com/remix-run/react-router"
510
510
  ],
511
511
  "react-spectrum": "https://github.com/adobe/react-spectrum",
512
+ "react-spring": "https://github.com/pmndrs/react-spring",
512
513
  "reactivestack-cookies": "https://github.com/reactivestack/cookies",
513
514
  "reakit": "https://github.com/reakit/reakit",
514
515
  "redwood": "https://github.com/redwoodjs/redwood",
@@ -45,7 +45,7 @@ exports.hashMap.set('github-actions', '2398b1deb9e435b4f99ed353ebe6c4254f1976be2
45
45
  exports.hashMap.set('gitlabci', '1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');
46
46
  exports.hashMap.set('gitlabci-include', '5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');
47
47
  exports.hashMap.set('glasskube', 'fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');
48
- exports.hashMap.set('gleam', 'a770dca6b63d34d1a5d7fc63130d5e030aac999d6a3398b8460bdf6f62e9a81e');
48
+ exports.hashMap.set('gleam', '8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');
49
49
  exports.hashMap.set('gomod', 'c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');
50
50
  exports.hashMap.set('gradle', '1333dfc2e7dbe276006716de76b757d99385748a36bd8d434d6d160f013c9715');
51
51
  exports.hashMap.set('gradle-wrapper', 'f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');
@@ -54,15 +54,15 @@ exports.hashMap.set('helm-requirements', '8f643d415ab0cfbef05bce4dce9812eef47bdd
54
54
  exports.hashMap.set('helm-values', 'fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');
55
55
  exports.hashMap.set('helmfile', 'ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');
56
56
  exports.hashMap.set('helmsman', '734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');
57
- exports.hashMap.set('helmv3', 'd83cb78e03ba014f167aff522c2f70bc933bf046affa0196aaee0ed54383e019');
58
- exports.hashMap.set('hermit', '5d6fe831c5abf4e2439da1cf24648ccb5a099b66fc965af68134a67418202fa1');
57
+ exports.hashMap.set('helmv3', '295c4600578af3e60ef47fb98815f0c0a6130f288a5e5bde37df2f97128766f6');
58
+ exports.hashMap.set('hermit', 'c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');
59
59
  exports.hashMap.set('homebrew', '4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');
60
60
  exports.hashMap.set('html', '226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');
61
61
  exports.hashMap.set('jenkins', '309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');
62
62
  exports.hashMap.set('jsonnet-bundler', '83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');
63
63
  exports.hashMap.set('kotlin-script', '60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');
64
64
  exports.hashMap.set('kubernetes', '62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');
65
- exports.hashMap.set('kustomize', 'b0a7444bde37c7ea3ad47062fddaf03892c7da4912b8c042e8c07dde182da46c');
65
+ exports.hashMap.set('kustomize', 'f88d739011d95ac37e314d66521c142bfee44b2d903b892d61a009e43d194430');
66
66
  exports.hashMap.set('leiningen', '0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');
67
67
  exports.hashMap.set('maven', '6b9eea76855c2d67037872fbeb803af65ff026708061691f75ce0ab2239c1ff8');
68
68
  exports.hashMap.set('maven-wrapper', '56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');
@@ -72,7 +72,7 @@ exports.hashMap.set('mise', '0521a383568cbe7a9e53cb95020d5f10cb289042c14383dcdea
72
72
  exports.hashMap.set('mix', '9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');
73
73
  exports.hashMap.set('nix', '2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');
74
74
  exports.hashMap.set('nodenv', 'd159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');
75
- exports.hashMap.set('npm', '9286e0372838cadf7162c38c9a9ca113e2ffc8e03527fe83dd1466f0e35d3730');
75
+ exports.hashMap.set('npm', '3c4f78e6af37600552df91fc0ee99fdaa93625754fdf49af789c551792be61f1');
76
76
  exports.hashMap.set('nuget', 'e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');
77
77
  exports.hashMap.set('nvm', '1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');
78
78
  exports.hashMap.set('ocb', '55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','bc61cde93afa980f95afdba226b947a5a8784f8dc519c14119723d75956a2d96');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','699577431cada5c8621a238b8f80f0983ee0ed7eac92f93467b5bf8f007e9cda');\nhashMap.set('bazel-module','5b1238473990e1ff5c100d610f871f43bd404a8141b51a9d486faf67a3814538');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','39189def818fcafbd25114ad4905e30695e3e9b6e280b7d24390385ac36b2512');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','a770dca6b63d34d1a5d7fc63130d5e030aac999d6a3398b8460bdf6f62e9a81e');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','1333dfc2e7dbe276006716de76b757d99385748a36bd8d434d6d160f013c9715');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','d83cb78e03ba014f167aff522c2f70bc933bf046affa0196aaee0ed54383e019');\nhashMap.set('hermit','5d6fe831c5abf4e2439da1cf24648ccb5a099b66fc965af68134a67418202fa1');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','b0a7444bde37c7ea3ad47062fddaf03892c7da4912b8c042e8c07dde182da46c');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','6b9eea76855c2d67037872fbeb803af65ff026708061691f75ce0ab2239c1ff8');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','0521a383568cbe7a9e53cb95020d5f10cb289042c14383dcdea1f2c21d3c5d0e');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','9286e0372838cadf7162c38c9a9ca113e2ffc8e03527fe83dd1466f0e35d3730');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','e209242b0dc2e6d57bcdec8f6a6f577db249ecb5eba1afea429cb1ff023a90d8');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','a881d191bd52396ea815e60a49b047f0f073e5a567c863829efbab32610bfa40');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','9988ff56620548133596437cd4d03a689ab195dd1addc00bc6074c26455a6486');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
1
+ {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','bc61cde93afa980f95afdba226b947a5a8784f8dc519c14119723d75956a2d96');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','699577431cada5c8621a238b8f80f0983ee0ed7eac92f93467b5bf8f007e9cda');\nhashMap.set('bazel-module','5b1238473990e1ff5c100d610f871f43bd404a8141b51a9d486faf67a3814538');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','39189def818fcafbd25114ad4905e30695e3e9b6e280b7d24390385ac36b2512');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','1333dfc2e7dbe276006716de76b757d99385748a36bd8d434d6d160f013c9715');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','295c4600578af3e60ef47fb98815f0c0a6130f288a5e5bde37df2f97128766f6');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','f88d739011d95ac37e314d66521c142bfee44b2d903b892d61a009e43d194430');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','6b9eea76855c2d67037872fbeb803af65ff026708061691f75ce0ab2239c1ff8');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','0521a383568cbe7a9e53cb95020d5f10cb289042c14383dcdea1f2c21d3c5d0e');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','3c4f78e6af37600552df91fc0ee99fdaa93625754fdf49af789c551792be61f1');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','e209242b0dc2e6d57bcdec8f6a6f577db249ecb5eba1afea429cb1ff023a90d8');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','a881d191bd52396ea815e60a49b047f0f073e5a567c863829efbab32610bfa40');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','9988ff56620548133596437cd4d03a689ab195dd1addc00bc6074c26455a6486');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateArtifacts = updateArtifacts;
4
4
  const tslib_1 = require("tslib");
5
5
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
+ const shlex_1 = require("shlex");
6
7
  const error_messages_1 = require("../../../constants/error-messages");
7
8
  const logger_1 = require("../../../logger");
8
9
  const exec_1 = require("../../../util/exec");
@@ -40,7 +41,10 @@ async function updateArtifacts(updateArtifact) {
40
41
  const packagesToUpdate = isLockFileMaintenance
41
42
  ? []
42
43
  : updatedDeps.map((dep) => dep.depName).filter(is_1.default.string);
43
- const updateCommand = ['gleam deps update', ...packagesToUpdate].join(' ');
44
+ const updateCommand = [
45
+ 'gleam deps update',
46
+ ...packagesToUpdate.map(shlex_1.quote),
47
+ ].join(' ');
44
48
  await (0, exec_1.exec)(updateCommand, execOptions);
45
49
  const newLockFileContent = await (0, fs_1.readLocalFile)(lockFileName, 'utf8');
46
50
  if (!newLockFileContent) {
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gleam/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`gleam.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated gleam deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'manifest.toml');\n\n const oldLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!oldLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'gleam',\n constraint: config.constraints?.gleam,\n },\n ],\n };\n\n // `gleam deps update` with no packages rebuilds the lock file\n const packagesToUpdate = isLockFileMaintenance\n ? []\n : updatedDeps.map((dep) => dep.depName).filter(is.string);\n\n const updateCommand = ['gleam deps update', ...packagesToUpdate].join(' ');\n await exec(updateCommand, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!newLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n if (oldLockFileContent === newLockFileContent) {\n logger.debug(`No changes in ${lockFileName} content`);\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.warn({ lockfile: lockFileName, err }, `Failed to update lock file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gleam/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`gleam.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated gleam deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'manifest.toml');\n\n const oldLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!oldLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'gleam',\n constraint: config.constraints?.gleam,\n },\n ],\n };\n\n // `gleam deps update` with no packages rebuilds the lock file\n const packagesToUpdate = isLockFileMaintenance\n ? []\n : updatedDeps.map((dep) => dep.depName).filter(is.string);\n\n const updateCommand = [\n 'gleam deps update',\n ...packagesToUpdate.map(quote),\n ].join(' ');\n await exec(updateCommand, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!newLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n if (oldLockFileContent === newLockFileContent) {\n logger.debug(`No changes in ${lockFileName} content`);\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.warn({ lockfile: lockFileName, err }, `Failed to update lock file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -29,13 +29,13 @@ async function generateLoginCmd(repositoryRule) {
29
29
  }
30
30
  (0, sanitize_1.addSecretForSanitizing)(username);
31
31
  (0, sanitize_1.addSecretForSanitizing)(password);
32
- return `${loginCMD} --username ${(0, shlex_1.quote)(username)} --password ${(0, shlex_1.quote)(password)} ${repository}`;
32
+ return `${loginCMD} --username ${(0, shlex_1.quote)(username)} --password ${(0, shlex_1.quote)(password)} ${(0, shlex_1.quote)(repository)}`;
33
33
  }
34
34
  if (username && password) {
35
35
  logger_1.logger.trace({ repository }, `Using basic auth for Helm registry`);
36
36
  // Split off any path as it's not valid for the helm registry login command
37
37
  const hostPart = repository.split('/')[0];
38
- const cmd = `${loginCMD} --username ${(0, shlex_1.quote)(username)} --password ${(0, shlex_1.quote)(password)} ${hostPart}`;
38
+ const cmd = `${loginCMD} --username ${(0, shlex_1.quote)(username)} --password ${(0, shlex_1.quote)(password)} ${(0, shlex_1.quote)(hostPart)}`;
39
39
  logger_1.logger.trace({ cmd }, 'Generated Helm registry login command');
40
40
  return cmd;
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/common.ts"],"names":[],"mappings":";;AAYA,4CAmCC;AAED,4CAWC;;AA5DD,iCAA8B;AAC9B,0DAA0B;AAE1B,4CAAyC;AACzC,+CAAkD;AAElD,yCAAmD;AACnD,qDAAgE;AAChE,iDAAkD;AAClD,qDAAwE;AAGjE,KAAK,UAAU,gBAAgB,CACpC,cAA8B;IAE9B,eAAM,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,wCAAwC,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,IAAI,QAAQ,KAAK,KAAK,IAAI,cAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,kCAAkC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,mBAAW,EAAC,cAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAA,iCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAA,iCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,GAAG,QAAQ,eAAe,IAAA,aAAK,EAAC,QAAQ,CAAC,eAAe,IAAA,aAAK,EAClE,QAAQ,CACT,IAAI,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,oCAAoC,CAAC,CAAC;QACnE,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,QAAQ,eAAe,IAAA,aAAK,EAAC,QAAQ,CAAC,eAAe,IAAA,aAAK,EACvE,QAAQ,CACT,IAAI,QAAQ,EAAE,CAAC;QAChB,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO;QACL,qBAAqB,EAAE,GAAG;QAC1B,iGAAiG;QACjG,oBAAoB,EAAE,GAAG,eAAK,CAAC,IAAI,CAAC,IAAA,oBAAe,GAAE,EAAE,eAAe,CAAC,EAAE;QACzE,sBAAsB,EAAE,GAAG,eAAK,CAAC,IAAI,CACnC,IAAA,oBAAe,GAAE,EACjB,mBAAmB,CACpB,EAAE;QACH,qBAAqB,EAAE,GAAG,eAAK,CAAC,IAAI,CAAC,IAAA,oBAAe,GAAE,EAAE,cAAc,CAAC,EAAE;KAC1E,CAAC;AACJ,CAAC","sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\n\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport type { ExtraEnv } from '../../../util/exec/types';\nimport { privateCacheDir } from '../../../util/fs';\nimport { addSecretForSanitizing } from '../../../util/sanitize';\nimport { fromBase64 } from '../../../util/string';\nimport { ecrRegex, getECRAuthToken } from '../../datasource/docker/ecr';\nimport type { RepositoryRule } from './types';\n\nexport async function generateLoginCmd(\n repositoryRule: RepositoryRule,\n): Promise<string | null> {\n logger.trace({ repositoryRule }, 'Generating Helm registry login command');\n const { hostRule, repository } = repositoryRule;\n const { username, password } = hostRule;\n const loginCMD = 'helm registry login';\n if (username !== 'AWS' && ecrRegex.test(repository)) {\n logger.trace({ repository }, `Using ecr auth for Helm registry`);\n const [, region] = coerceArray(ecrRegex.exec(repository));\n const auth = await getECRAuthToken(region, hostRule);\n if (!auth) {\n return null;\n }\n const [username, password] = fromBase64(auth).split(':');\n if (!username || !password) {\n return null;\n }\n addSecretForSanitizing(username);\n addSecretForSanitizing(password);\n return `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${repository}`;\n }\n if (username && password) {\n logger.trace({ repository }, `Using basic auth for Helm registry`);\n // Split off any path as it's not valid for the helm registry login command\n const hostPart = repository.split('/')[0];\n const cmd = `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${hostPart}`;\n logger.trace({ cmd }, 'Generated Helm registry login command');\n return cmd;\n }\n return null;\n}\n\nexport function generateHelmEnvs(): ExtraEnv {\n return {\n HELM_EXPERIMENTAL_OCI: '1',\n // set cache and config files to a path in privateCacheDir to prevent file and credential leakage\n HELM_REGISTRY_CONFIG: `${upath.join(privateCacheDir(), 'registry.json')}`,\n HELM_REPOSITORY_CONFIG: `${upath.join(\n privateCacheDir(),\n 'repositories.yaml',\n )}`,\n HELM_REPOSITORY_CACHE: `${upath.join(privateCacheDir(), 'repositories')}`,\n };\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/common.ts"],"names":[],"mappings":";;AAYA,4CAmCC;AAED,4CAWC;;AA5DD,iCAA8B;AAC9B,0DAA0B;AAE1B,4CAAyC;AACzC,+CAAkD;AAElD,yCAAmD;AACnD,qDAAgE;AAChE,iDAAkD;AAClD,qDAAwE;AAGjE,KAAK,UAAU,gBAAgB,CACpC,cAA8B;IAE9B,eAAM,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,wCAAwC,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,IAAI,QAAQ,KAAK,KAAK,IAAI,cAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,kCAAkC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,mBAAW,EAAC,cAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAA,iCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAA,iCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,GAAG,QAAQ,eAAe,IAAA,aAAK,EAAC,QAAQ,CAAC,eAAe,IAAA,aAAK,EAClE,QAAQ,CACT,IAAI,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,oCAAoC,CAAC,CAAC;QACnE,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,QAAQ,eAAe,IAAA,aAAK,EAAC,QAAQ,CAAC,eAAe,IAAA,aAAK,EACvE,QAAQ,CACT,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO;QACL,qBAAqB,EAAE,GAAG;QAC1B,iGAAiG;QACjG,oBAAoB,EAAE,GAAG,eAAK,CAAC,IAAI,CAAC,IAAA,oBAAe,GAAE,EAAE,eAAe,CAAC,EAAE;QACzE,sBAAsB,EAAE,GAAG,eAAK,CAAC,IAAI,CACnC,IAAA,oBAAe,GAAE,EACjB,mBAAmB,CACpB,EAAE;QACH,qBAAqB,EAAE,GAAG,eAAK,CAAC,IAAI,CAAC,IAAA,oBAAe,GAAE,EAAE,cAAc,CAAC,EAAE;KAC1E,CAAC;AACJ,CAAC","sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\n\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport type { ExtraEnv } from '../../../util/exec/types';\nimport { privateCacheDir } from '../../../util/fs';\nimport { addSecretForSanitizing } from '../../../util/sanitize';\nimport { fromBase64 } from '../../../util/string';\nimport { ecrRegex, getECRAuthToken } from '../../datasource/docker/ecr';\nimport type { RepositoryRule } from './types';\n\nexport async function generateLoginCmd(\n repositoryRule: RepositoryRule,\n): Promise<string | null> {\n logger.trace({ repositoryRule }, 'Generating Helm registry login command');\n const { hostRule, repository } = repositoryRule;\n const { username, password } = hostRule;\n const loginCMD = 'helm registry login';\n if (username !== 'AWS' && ecrRegex.test(repository)) {\n logger.trace({ repository }, `Using ecr auth for Helm registry`);\n const [, region] = coerceArray(ecrRegex.exec(repository));\n const auth = await getECRAuthToken(region, hostRule);\n if (!auth) {\n return null;\n }\n const [username, password] = fromBase64(auth).split(':');\n if (!username || !password) {\n return null;\n }\n addSecretForSanitizing(username);\n addSecretForSanitizing(password);\n return `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(repository)}`;\n }\n if (username && password) {\n logger.trace({ repository }, `Using basic auth for Helm registry`);\n // Split off any path as it's not valid for the helm registry login command\n const hostPart = repository.split('/')[0];\n const cmd = `${loginCMD} --username ${quote(username)} --password ${quote(\n password,\n )} ${quote(hostPart)}`;\n logger.trace({ cmd }, 'Generated Helm registry login command');\n return cmd;\n }\n return null;\n}\n\nexport function generateHelmEnvs(): ExtraEnv {\n return {\n HELM_EXPERIMENTAL_OCI: '1',\n // set cache and config files to a path in privateCacheDir to prevent file and credential leakage\n HELM_REGISTRY_CONFIG: `${upath.join(privateCacheDir(), 'registry.json')}`,\n HELM_REPOSITORY_CONFIG: `${upath.join(\n privateCacheDir(),\n 'repositories.yaml',\n )}`,\n HELM_REPOSITORY_CACHE: `${upath.join(privateCacheDir(), 'repositories')}`,\n };\n}\n"]}
@@ -172,7 +172,7 @@ async function updateHermitPackage(update) {
172
172
  const fromPackages = from.map(shlex_1.quote).join(' ');
173
173
  // when a name replacement happens, need to uninstall the old package
174
174
  if (toUninstall.length > 0) {
175
- const packagesToUninstall = toUninstall.join(' ');
175
+ const packagesToUninstall = toUninstall.map(shlex_1.quote).join(' ');
176
176
  const uninstallCommands = `./hermit uninstall ${packagesToUninstall}`;
177
177
  try {
178
178
  const result = await (0, exec_1.exec)(uninstallCommands, execOptions);
@@ -183,7 +183,7 @@ async function updateHermitPackage(update) {
183
183
  throw new UpdateHermitError(fromPackages, packagesToUninstall, e.stderr, e.stdout);
184
184
  }
185
185
  }
186
- const packagesToInstall = toInstall.join(' ');
186
+ const packagesToInstall = toInstall.map(shlex_1.quote).join(' ');
187
187
  const execCommands = `./hermit install ${packagesToInstall}`;
188
188
  logger_1.logger.debug({
189
189
  packageFile: update.packageFileName,
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/hermit/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { localPathIsSymbolicLink, readLocalSymlink } from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as p from '../../../util/promises';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport type { ReadContentResult } from './types';\n\n/**\n * updateArtifacts runs hermit install for each updated dependencies\n */\nexport async function updateArtifacts(\n update: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName } = update;\n try {\n await updateHermitPackage(update);\n } catch (err) {\n const execErr: UpdateHermitError = err;\n logger.debug({ err }, `error updating hermit packages.`);\n return [\n {\n artifactError: {\n lockFile: `from: ${execErr.from}, to: ${execErr.to}`,\n stderr: execErr.stderr,\n },\n },\n ];\n }\n\n logger.debug(`scanning the changes after update`);\n\n let updateResult: UpdateArtifactsResult[] | null = null;\n\n try {\n updateResult = await getUpdateResult(packageFileName);\n logger.debug({ updateResult }, `update result for hermit`);\n } catch (err) {\n logger.debug({ err }, 'Error getting hermet update results');\n return [\n {\n artifactError: {\n stderr: err.message,\n },\n },\n ];\n }\n\n return updateResult;\n}\n\n/**\n * getContent returns the content of either link or a normal file\n */\nasync function getContent(file: string): Promise<ReadContentResult> {\n let contents: string | null = '';\n const isSymlink = await localPathIsSymbolicLink(file);\n\n if (isSymlink) {\n contents = await readLocalSymlink(file);\n }\n\n if (contents === null) {\n throw new Error(`error getting content for ${file}`);\n }\n\n return {\n isSymlink,\n contents,\n };\n}\n\n/**\n * getAddResult returns the UpdateArtifactsResult for the added files\n */\nfunction getAddResult(\n path: string,\n contentRes: ReadContentResult,\n): UpdateArtifactsResult {\n return {\n file: {\n type: 'addition',\n path,\n contents: contentRes.contents,\n isSymlink: contentRes.isSymlink,\n isExecutable: contentRes.isExecutable,\n },\n };\n}\n\n/**\n * getDeleteResult returns the UpdateArtifactsResult for deleted files\n */\nfunction getDeleteResult(path: string): UpdateArtifactsResult {\n return {\n file: {\n type: 'deletion',\n path,\n },\n };\n}\n\n/**\n * getUpdateResult will return the update result after `hermit install`\n * has been performed for all packages\n */\nasync function getUpdateResult(\n packageFileName: string,\n): Promise<UpdateArtifactsResult[]> {\n const hermitFolder = `${upath.dirname(packageFileName)}/`;\n const hermitChanges = await getRepoStatus(hermitFolder);\n logger.debug(\n { hermitChanges, hermitFolder },\n `hermit changes after package update`,\n );\n\n // handle added files\n const added = await p.map(\n [...hermitChanges.created, ...hermitChanges.not_added],\n async (path: string): Promise<UpdateArtifactsResult> => {\n const contents = await getContent(path);\n\n return getAddResult(path, contents);\n },\n );\n\n const deleted = hermitChanges.deleted.map(getDeleteResult);\n\n const modified = await p.map(\n hermitChanges.modified,\n async (path: string): Promise<UpdateArtifactsResult[]> => {\n const contents = await getContent(path);\n return [\n getDeleteResult(path), // delete existing link\n getAddResult(path, contents), // add a new link\n ];\n },\n );\n\n const renamed = await p.map(\n hermitChanges.renamed,\n async (renamed): Promise<UpdateArtifactsResult[]> => {\n const from = renamed.from;\n const to = renamed.to;\n const toContents = await getContent(to);\n\n return [getDeleteResult(from), getAddResult(to, toContents)];\n },\n );\n\n return [\n // rename will need to go first, because\n // it needs to create the new link for the new version\n // for the modified links to use\n ...renamed.flat(),\n ...modified.flat(),\n ...added,\n ...deleted,\n ];\n}\n\n/**\n * getHermitPackage returns the hermit package for running the hermit install\n */\nfunction getHermitPackage(name: string, version: string): string {\n return `${name}-${version}`;\n}\n\n/**\n * updateHermitPackage runs hermit install for the given package\n */\nasync function updateHermitPackage(update: UpdateArtifact): Promise<void> {\n logger.trace({ update }, `hermit.updateHermitPackage()`);\n\n const toInstall = [];\n const from = [];\n // storing the old package for replacement\n const toUninstall = [];\n\n for (const pkg of update.updatedDeps) {\n if (!pkg.depName || !pkg.currentVersion || !pkg.newValue) {\n logger.debug(\n {\n depName: pkg.depName,\n currentVersion: pkg.currentVersion,\n newValue: pkg.newValue,\n },\n 'missing package update information',\n );\n\n throw new UpdateHermitError(\n getHermitPackage(pkg.depName ?? '', pkg.currentVersion ?? ''),\n getHermitPackage(pkg.depName ?? '', pkg.newValue ?? ''),\n 'invalid package to update',\n );\n }\n\n const depName = pkg.depName;\n const newName = pkg.newName;\n const currentVersion = pkg.currentVersion;\n const newValue = pkg.newValue;\n const fromPackage = getHermitPackage(depName, currentVersion);\n // newName will be available for replacement\n const toPackage = getHermitPackage(newName ?? depName, newValue);\n toInstall.push(toPackage);\n from.push(fromPackage);\n // skips uninstall for version only replacement\n if (pkg.updateType === 'replacement' && newName !== depName) {\n toUninstall.push(depName);\n }\n }\n\n const execOptions: ExecOptions = {\n docker: {},\n cwdFile: update.packageFileName,\n };\n\n const fromPackages = from.map(quote).join(' ');\n\n // when a name replacement happens, need to uninstall the old package\n if (toUninstall.length > 0) {\n const packagesToUninstall = toUninstall.join(' ');\n const uninstallCommands = `./hermit uninstall ${packagesToUninstall}`;\n\n try {\n const result = await exec(uninstallCommands, execOptions);\n logger.trace(\n { stdout: result.stdout },\n `hermit uninstall command stdout`,\n );\n } catch (e) {\n logger.warn({ err: e }, `error uninstall hermit package for replacement`);\n throw new UpdateHermitError(\n fromPackages,\n packagesToUninstall,\n e.stderr,\n e.stdout,\n );\n }\n }\n\n const packagesToInstall = toInstall.join(' ');\n\n const execCommands = `./hermit install ${packagesToInstall}`;\n logger.debug(\n {\n packageFile: update.packageFileName,\n packagesToInstall,\n },\n `performing updates`,\n );\n\n try {\n const result = await exec(execCommands, execOptions);\n logger.trace({ stdout: result.stdout }, `hermit command stdout`);\n } catch (e) {\n logger.warn({ err: e }, `error updating hermit package`);\n throw new UpdateHermitError(\n fromPackages,\n packagesToInstall,\n e.stderr,\n e.stdout,\n );\n }\n}\n\nexport class UpdateHermitError extends Error {\n stdout: string;\n stderr: string;\n from: string;\n to: string;\n\n constructor(from: string, to: string, stderr: string, stdout = '') {\n super();\n this.stdout = stdout;\n this.stderr = stderr;\n this.from = from;\n this.to = to;\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/hermit/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { localPathIsSymbolicLink, readLocalSymlink } from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as p from '../../../util/promises';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport type { ReadContentResult } from './types';\n\n/**\n * updateArtifacts runs hermit install for each updated dependencies\n */\nexport async function updateArtifacts(\n update: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName } = update;\n try {\n await updateHermitPackage(update);\n } catch (err) {\n const execErr: UpdateHermitError = err;\n logger.debug({ err }, `error updating hermit packages.`);\n return [\n {\n artifactError: {\n lockFile: `from: ${execErr.from}, to: ${execErr.to}`,\n stderr: execErr.stderr,\n },\n },\n ];\n }\n\n logger.debug(`scanning the changes after update`);\n\n let updateResult: UpdateArtifactsResult[] | null = null;\n\n try {\n updateResult = await getUpdateResult(packageFileName);\n logger.debug({ updateResult }, `update result for hermit`);\n } catch (err) {\n logger.debug({ err }, 'Error getting hermet update results');\n return [\n {\n artifactError: {\n stderr: err.message,\n },\n },\n ];\n }\n\n return updateResult;\n}\n\n/**\n * getContent returns the content of either link or a normal file\n */\nasync function getContent(file: string): Promise<ReadContentResult> {\n let contents: string | null = '';\n const isSymlink = await localPathIsSymbolicLink(file);\n\n if (isSymlink) {\n contents = await readLocalSymlink(file);\n }\n\n if (contents === null) {\n throw new Error(`error getting content for ${file}`);\n }\n\n return {\n isSymlink,\n contents,\n };\n}\n\n/**\n * getAddResult returns the UpdateArtifactsResult for the added files\n */\nfunction getAddResult(\n path: string,\n contentRes: ReadContentResult,\n): UpdateArtifactsResult {\n return {\n file: {\n type: 'addition',\n path,\n contents: contentRes.contents,\n isSymlink: contentRes.isSymlink,\n isExecutable: contentRes.isExecutable,\n },\n };\n}\n\n/**\n * getDeleteResult returns the UpdateArtifactsResult for deleted files\n */\nfunction getDeleteResult(path: string): UpdateArtifactsResult {\n return {\n file: {\n type: 'deletion',\n path,\n },\n };\n}\n\n/**\n * getUpdateResult will return the update result after `hermit install`\n * has been performed for all packages\n */\nasync function getUpdateResult(\n packageFileName: string,\n): Promise<UpdateArtifactsResult[]> {\n const hermitFolder = `${upath.dirname(packageFileName)}/`;\n const hermitChanges = await getRepoStatus(hermitFolder);\n logger.debug(\n { hermitChanges, hermitFolder },\n `hermit changes after package update`,\n );\n\n // handle added files\n const added = await p.map(\n [...hermitChanges.created, ...hermitChanges.not_added],\n async (path: string): Promise<UpdateArtifactsResult> => {\n const contents = await getContent(path);\n\n return getAddResult(path, contents);\n },\n );\n\n const deleted = hermitChanges.deleted.map(getDeleteResult);\n\n const modified = await p.map(\n hermitChanges.modified,\n async (path: string): Promise<UpdateArtifactsResult[]> => {\n const contents = await getContent(path);\n return [\n getDeleteResult(path), // delete existing link\n getAddResult(path, contents), // add a new link\n ];\n },\n );\n\n const renamed = await p.map(\n hermitChanges.renamed,\n async (renamed): Promise<UpdateArtifactsResult[]> => {\n const from = renamed.from;\n const to = renamed.to;\n const toContents = await getContent(to);\n\n return [getDeleteResult(from), getAddResult(to, toContents)];\n },\n );\n\n return [\n // rename will need to go first, because\n // it needs to create the new link for the new version\n // for the modified links to use\n ...renamed.flat(),\n ...modified.flat(),\n ...added,\n ...deleted,\n ];\n}\n\n/**\n * getHermitPackage returns the hermit package for running the hermit install\n */\nfunction getHermitPackage(name: string, version: string): string {\n return `${name}-${version}`;\n}\n\n/**\n * updateHermitPackage runs hermit install for the given package\n */\nasync function updateHermitPackage(update: UpdateArtifact): Promise<void> {\n logger.trace({ update }, `hermit.updateHermitPackage()`);\n\n const toInstall = [];\n const from = [];\n // storing the old package for replacement\n const toUninstall = [];\n\n for (const pkg of update.updatedDeps) {\n if (!pkg.depName || !pkg.currentVersion || !pkg.newValue) {\n logger.debug(\n {\n depName: pkg.depName,\n currentVersion: pkg.currentVersion,\n newValue: pkg.newValue,\n },\n 'missing package update information',\n );\n\n throw new UpdateHermitError(\n getHermitPackage(pkg.depName ?? '', pkg.currentVersion ?? ''),\n getHermitPackage(pkg.depName ?? '', pkg.newValue ?? ''),\n 'invalid package to update',\n );\n }\n\n const depName = pkg.depName;\n const newName = pkg.newName;\n const currentVersion = pkg.currentVersion;\n const newValue = pkg.newValue;\n const fromPackage = getHermitPackage(depName, currentVersion);\n // newName will be available for replacement\n const toPackage = getHermitPackage(newName ?? depName, newValue);\n toInstall.push(toPackage);\n from.push(fromPackage);\n // skips uninstall for version only replacement\n if (pkg.updateType === 'replacement' && newName !== depName) {\n toUninstall.push(depName);\n }\n }\n\n const execOptions: ExecOptions = {\n docker: {},\n cwdFile: update.packageFileName,\n };\n\n const fromPackages = from.map(quote).join(' ');\n\n // when a name replacement happens, need to uninstall the old package\n if (toUninstall.length > 0) {\n const packagesToUninstall = toUninstall.map(quote).join(' ');\n const uninstallCommands = `./hermit uninstall ${packagesToUninstall}`;\n\n try {\n const result = await exec(uninstallCommands, execOptions);\n logger.trace(\n { stdout: result.stdout },\n `hermit uninstall command stdout`,\n );\n } catch (e) {\n logger.warn({ err: e }, `error uninstall hermit package for replacement`);\n throw new UpdateHermitError(\n fromPackages,\n packagesToUninstall,\n e.stderr,\n e.stdout,\n );\n }\n }\n\n const packagesToInstall = toInstall.map(quote).join(' ');\n\n const execCommands = `./hermit install ${packagesToInstall}`;\n logger.debug(\n {\n packageFile: update.packageFileName,\n packagesToInstall,\n },\n `performing updates`,\n );\n\n try {\n const result = await exec(execCommands, execOptions);\n logger.trace({ stdout: result.stdout }, `hermit command stdout`);\n } catch (e) {\n logger.warn({ err: e }, `error updating hermit package`);\n throw new UpdateHermitError(\n fromPackages,\n packagesToInstall,\n e.stderr,\n e.stdout,\n );\n }\n}\n\nexport class UpdateHermitError extends Error {\n stdout: string;\n stderr: string;\n from: string;\n to: string;\n\n constructor(from: string, to: string, stderr: string, stdout = '') {\n super();\n this.stdout = stdout;\n this.stderr = stderr;\n this.from = from;\n this.to = to;\n }\n}\n"]}
@@ -23,7 +23,7 @@ async function localExistingChartPath(chartHome, dependencyName, version) {
23
23
  function helmRepositoryArgs(repository, depName, datasource) {
24
24
  switch (datasource) {
25
25
  case helm_1.HelmDatasource.id:
26
- return `--repo ${(0, shlex_1.quote)(repository)} ${depName}`;
26
+ return `--repo ${(0, shlex_1.quote)(repository)} ${(0, shlex_1.quote)(depName)}`;
27
27
  case docker_1.DockerDatasource.id:
28
28
  return (0, shlex_1.quote)(`oci://${repository}`);
29
29
  /* v8 ignore next 2: should never happen */
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/kustomize/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { HelmDatasource } from '../../datasource/helm';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { generateHelmEnvs } from './common';\nimport { parseKustomize } from './extract';\n\nasync function localExistingChartPath(\n chartHome: string,\n dependencyName: string,\n version?: string,\n): Promise<string | null> {\n const folderName = `${dependencyName}-${version}`;\n const path = upath.join(chartHome, folderName);\n const pathExists = await localPathExists(path);\n\n return pathExists ? path : null;\n}\n\nfunction helmRepositoryArgs(\n repository: string,\n depName: string,\n datasource?: string,\n): string {\n switch (datasource) {\n case HelmDatasource.id:\n return `--repo ${quote(repository)} ${depName}`;\n case DockerDatasource.id:\n return quote(`oci://${repository}`);\n /* v8 ignore next 2: should never happen */\n default:\n throw new Error(`Unknown datasource: ${datasource}`);\n }\n}\n\nasync function inflateHelmChart(\n flagEnabled: boolean,\n execOptions: ExecOptions,\n chartHome: string,\n depName: string,\n repository: string,\n currentVersion: string,\n newVersion?: string,\n datasource?: string,\n): Promise<void> {\n const currentChartExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n currentVersion,\n );\n\n if (!flagEnabled && is.nullOrUndefined(currentChartExistingPath)) {\n logger.debug(\n `Not inflating Helm chart for ${depName} as kustomizeInflateHelmCharts is not enabled and the current version isn't inflated`,\n );\n return;\n }\n\n if (\n is.nonEmptyString(currentChartExistingPath) &&\n is.nonEmptyString(newVersion)\n ) {\n logger.debug(`Deleting previous helm chart: ${currentChartExistingPath}`);\n await deleteLocalFile(currentChartExistingPath);\n }\n\n const versionToPull = newVersion ?? currentVersion;\n const versionToPullExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n versionToPull,\n );\n\n if (is.nonEmptyString(versionToPullExistingPath)) {\n logger.debug(\n `Helm chart ${depName} version ${versionToPull} already exists at ${versionToPullExistingPath}`,\n );\n return;\n }\n\n const folderName = `${depName}-${versionToPull}`;\n const untarDir = upath.join(chartHome, folderName);\n logger.debug(\n `Pulling helm chart ${depName} version ${versionToPull} to ${untarDir}`,\n );\n\n const cmd =\n `helm pull --untar --untardir ${quote(untarDir)} ` +\n `--version ${quote(versionToPull)} ${helmRepositoryArgs(repository, depName, datasource)}`;\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`kustomize.updateArtifacts(${packageFileName})`);\n const project = parseKustomize(newPackageFileContent);\n const isUpdateOptionInflateChartArchives =\n config.postUpdateOptions?.includes('kustomizeInflateHelmCharts') === true;\n if (is.nullOrUndefined(project)) {\n return [\n {\n artifactError: {\n stderr: 'Failed to parse new package file content',\n },\n },\n ];\n }\n\n const chartHome = getSiblingFileName(\n packageFileName,\n project.helmGlobals?.chartHome ?? 'charts',\n );\n\n try {\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: config.constraints?.helm,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: generateHelmEnvs(config),\n toolConstraints: [helmToolConstraint],\n };\n\n for (const dependency of updatedDeps) {\n if (!dependency.currentVersion) {\n continue;\n }\n\n if (dependency.newVersion === dependency.currentVersion) {\n continue;\n }\n\n if (!is.nonEmptyString(dependency.depName)) {\n continue;\n }\n\n if (dependency.depType !== 'HelmChart') {\n continue;\n }\n\n let repository = null;\n\n switch (dependency.datasource) {\n case HelmDatasource.id:\n repository = dependency.registryUrls?.[0];\n break;\n case DockerDatasource.id:\n repository = dependency.packageName;\n break;\n }\n\n if (is.nullOrUndefined(repository)) {\n continue;\n }\n\n await inflateHelmChart(\n isUpdateOptionInflateChartArchives,\n execOptions,\n chartHome,\n dependency.depName,\n repository,\n dependency.currentVersion,\n dependency.newVersion,\n dependency.datasource,\n );\n }\n\n const status = await getRepoStatus();\n const chartsAddition = status?.not_added ?? [];\n const chartsDeletion = status?.deleted ?? [];\n\n const fileChanges: UpdateArtifactsResult[] = [];\n\n for (const file of chartsAddition) {\n // only add artifacts in the chartHome path\n if (!file.startsWith(chartHome)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'addition',\n path: file,\n contents: await readLocalFile(file),\n },\n });\n }\n\n for (const file of chartsDeletion) {\n // only add artifacts in the chartHome path\n if (!file.startsWith(chartHome)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'deletion',\n path: file,\n },\n });\n }\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to inflate helm chart');\n return [\n {\n artifactError: {\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/kustomize/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { HelmDatasource } from '../../datasource/helm';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { generateHelmEnvs } from './common';\nimport { parseKustomize } from './extract';\n\nasync function localExistingChartPath(\n chartHome: string,\n dependencyName: string,\n version?: string,\n): Promise<string | null> {\n const folderName = `${dependencyName}-${version}`;\n const path = upath.join(chartHome, folderName);\n const pathExists = await localPathExists(path);\n\n return pathExists ? path : null;\n}\n\nfunction helmRepositoryArgs(\n repository: string,\n depName: string,\n datasource?: string,\n): string {\n switch (datasource) {\n case HelmDatasource.id:\n return `--repo ${quote(repository)} ${quote(depName)}`;\n case DockerDatasource.id:\n return quote(`oci://${repository}`);\n /* v8 ignore next 2: should never happen */\n default:\n throw new Error(`Unknown datasource: ${datasource}`);\n }\n}\n\nasync function inflateHelmChart(\n flagEnabled: boolean,\n execOptions: ExecOptions,\n chartHome: string,\n depName: string,\n repository: string,\n currentVersion: string,\n newVersion?: string,\n datasource?: string,\n): Promise<void> {\n const currentChartExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n currentVersion,\n );\n\n if (!flagEnabled && is.nullOrUndefined(currentChartExistingPath)) {\n logger.debug(\n `Not inflating Helm chart for ${depName} as kustomizeInflateHelmCharts is not enabled and the current version isn't inflated`,\n );\n return;\n }\n\n if (\n is.nonEmptyString(currentChartExistingPath) &&\n is.nonEmptyString(newVersion)\n ) {\n logger.debug(`Deleting previous helm chart: ${currentChartExistingPath}`);\n await deleteLocalFile(currentChartExistingPath);\n }\n\n const versionToPull = newVersion ?? currentVersion;\n const versionToPullExistingPath = await localExistingChartPath(\n chartHome,\n depName,\n versionToPull,\n );\n\n if (is.nonEmptyString(versionToPullExistingPath)) {\n logger.debug(\n `Helm chart ${depName} version ${versionToPull} already exists at ${versionToPullExistingPath}`,\n );\n return;\n }\n\n const folderName = `${depName}-${versionToPull}`;\n const untarDir = upath.join(chartHome, folderName);\n logger.debug(\n `Pulling helm chart ${depName} version ${versionToPull} to ${untarDir}`,\n );\n\n const cmd =\n `helm pull --untar --untardir ${quote(untarDir)} ` +\n `--version ${quote(versionToPull)} ${helmRepositoryArgs(repository, depName, datasource)}`;\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`kustomize.updateArtifacts(${packageFileName})`);\n const project = parseKustomize(newPackageFileContent);\n const isUpdateOptionInflateChartArchives =\n config.postUpdateOptions?.includes('kustomizeInflateHelmCharts') === true;\n if (is.nullOrUndefined(project)) {\n return [\n {\n artifactError: {\n stderr: 'Failed to parse new package file content',\n },\n },\n ];\n }\n\n const chartHome = getSiblingFileName(\n packageFileName,\n project.helmGlobals?.chartHome ?? 'charts',\n );\n\n try {\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: config.constraints?.helm,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: generateHelmEnvs(config),\n toolConstraints: [helmToolConstraint],\n };\n\n for (const dependency of updatedDeps) {\n if (!dependency.currentVersion) {\n continue;\n }\n\n if (dependency.newVersion === dependency.currentVersion) {\n continue;\n }\n\n if (!is.nonEmptyString(dependency.depName)) {\n continue;\n }\n\n if (dependency.depType !== 'HelmChart') {\n continue;\n }\n\n let repository = null;\n\n switch (dependency.datasource) {\n case HelmDatasource.id:\n repository = dependency.registryUrls?.[0];\n break;\n case DockerDatasource.id:\n repository = dependency.packageName;\n break;\n }\n\n if (is.nullOrUndefined(repository)) {\n continue;\n }\n\n await inflateHelmChart(\n isUpdateOptionInflateChartArchives,\n execOptions,\n chartHome,\n dependency.depName,\n repository,\n dependency.currentVersion,\n dependency.newVersion,\n dependency.datasource,\n );\n }\n\n const status = await getRepoStatus();\n const chartsAddition = status?.not_added ?? [];\n const chartsDeletion = status?.deleted ?? [];\n\n const fileChanges: UpdateArtifactsResult[] = [];\n\n for (const file of chartsAddition) {\n // only add artifacts in the chartHome path\n if (!file.startsWith(chartHome)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'addition',\n path: file,\n contents: await readLocalFile(file),\n },\n });\n }\n\n for (const file of chartsDeletion) {\n // only add artifacts in the chartHome path\n if (!file.startsWith(chartHome)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'deletion',\n path: file,\n },\n });\n }\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to inflate helm chart');\n return [\n {\n artifactError: {\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  // TODO: types (#22198)
7
7
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
8
  const semver_1 = tslib_1.__importDefault(require("semver"));
9
+ const shlex_1 = require("shlex");
9
10
  const upath_1 = tslib_1.__importDefault(require("upath"));
10
11
  const global_1 = require("../../../../config/global");
11
12
  const error_messages_1 = require("../../../../constants/error-messages");
@@ -109,17 +110,19 @@ async function generateLockFile(lockFileDir, env, filename, config = {}, upgrade
109
110
  .map((update) => update.managerData?.packageKey)
110
111
  .filter((packageKey) => !rootDeps.has(packageKey));
111
112
  if (currentWorkspaceUpdates.length) {
112
- const updateCmd = `npm install ${cmdOptions} --workspace=${workspace} ${currentWorkspaceUpdates.join(' ')}`;
113
+ const updateCmd = `npm install ${cmdOptions} --workspace=${(0, shlex_1.quote)(workspace)} ${currentWorkspaceUpdates
114
+ .map(shlex_1.quote)
115
+ .join(' ')}`;
113
116
  commands.push(updateCmd);
114
117
  }
115
118
  }
116
119
  }
117
120
  if (lockRootUpdates.length) {
118
121
  logger_1.logger.debug('Performing lockfileUpdate (npm)');
119
- const updateCmd = `npm install ${cmdOptions} ` +
120
- lockRootUpdates
121
- .map((update) => update.managerData?.packageKey)
122
- .join(' ');
122
+ const updateCmd = `npm install ${cmdOptions} ${lockRootUpdates
123
+ .map((update) => update.managerData?.packageKey)
124
+ .map(shlex_1.quote)
125
+ .join(' ')}`;
123
126
  commands.push(updateCmd);
124
127
  }
125
128
  if (upgrades.some((upgrade) => upgrade.isRemediation)) {
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/npm.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n deleteLocalFile,\n localPathExists,\n readLocalFile,\n renameLocalFile,\n} from '../../../../util/fs';\nimport { minimatch } from '../../../../util/minimatch';\nimport { Result } from '../../../../util/result';\nimport { trimSlashes } from '../../../../util/url';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { PackageLock } from '../schema';\nimport { composeLockFile, parseLockFile } from '../utils';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nasync function getNpmConstraintFromPackageLock(\n lockFileDir: string,\n filename: string,\n): Promise<string | null> {\n const packageLockFileName = upath.join(lockFileDir, filename);\n const packageLockContents = await readLocalFile(packageLockFileName, 'utf8');\n const packageLockJson = Result.parse(\n packageLockContents,\n PackageLock,\n ).unwrapOrNull();\n if (!packageLockJson) {\n logger.debug(`Could not parse ${packageLockFileName}`);\n return null;\n }\n const { lockfileVersion } = packageLockJson;\n if (lockfileVersion === 1) {\n logger.debug(`Using npm constraint <7 for lockfileVersion=1`);\n return `<7`;\n }\n if (lockfileVersion === 2) {\n logger.debug(`Using npm constraint <9 for lockfileVersion=2`);\n return `<9`;\n }\n logger.debug(\n `Using npm constraint >=9 for lockfileVersion=${lockfileVersion}`,\n );\n return `>=9`;\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n filename: string,\n config: Partial<PostUpdateConfig> = {},\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n // TODO: don't assume package-lock.json is in the same directory\n const lockFileName = upath.join(lockFileDir, filename);\n\n logger.debug(`Spawning npm install to create ${lockFileDir}/${filename}`);\n const { skipInstalls, postUpdateOptions } = config;\n\n let lockFile: string | null = null;\n try {\n const lazyPkgJson = lazyLoadPackageJson(lockFileDir);\n const npmToolConstraint: ToolConstraint = {\n toolName: 'npm',\n constraint:\n config.constraints?.npm ??\n getPackageManagerVersion('npm', await lazyPkgJson.getValue()) ??\n (await getNpmConstraintFromPackageLock(lockFileDir, filename)) ??\n null,\n };\n const supportsPreferDedupeFlag =\n !npmToolConstraint.constraint ||\n semver.intersects('>=7.0.0', npmToolConstraint.constraint);\n const commands: string[] = [];\n let cmdOptions = '';\n if (\n (postUpdateOptions?.includes('npmDedupe') === true &&\n !supportsPreferDedupeFlag) ||\n skipInstalls === false\n ) {\n logger.debug('Performing node_modules install');\n cmdOptions += '--no-audit';\n } else {\n logger.debug('Updating lock file only');\n cmdOptions += '--package-lock-only --no-audit';\n }\n\n if (postUpdateOptions?.includes('npmDedupe') && supportsPreferDedupeFlag) {\n logger.debug('Deduplicate dependencies on installation');\n cmdOptions += ' --prefer-dedupe';\n }\n\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n cmdOptions += ' --ignore-scripts';\n }\n\n const extraEnv: ExtraEnv = {\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n };\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n toolConstraints: [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPkgJson),\n npmToolConstraint,\n ],\n docker: {},\n };\n // istanbul ignore if\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n if (!upgrades.every((upgrade) => upgrade.isLockfileUpdate)) {\n // This command updates the lock file based on package.json\n commands.push(`npm install ${cmdOptions}`.trim());\n }\n\n // rangeStrategy = update-lockfile\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n\n // divide the deps in two categories: workspace and root\n const { lockRootUpdates, lockWorkspacesUpdates, workspaces, rootDeps } =\n divideWorkspaceAndRootDeps(lockFileDir, lockUpdates);\n\n if (workspaces.size && lockWorkspacesUpdates.length) {\n logger.debug('Performing lockfileUpdate (npm-workspaces)');\n for (const workspace of workspaces) {\n const currentWorkspaceUpdates = lockWorkspacesUpdates\n .filter((update) => update.workspace === workspace)\n .map((update) => update.managerData?.packageKey)\n .filter((packageKey) => !rootDeps.has(packageKey));\n\n if (currentWorkspaceUpdates.length) {\n const updateCmd = `npm install ${cmdOptions} --workspace=${workspace} ${currentWorkspaceUpdates.join(\n ' ',\n )}`;\n commands.push(updateCmd);\n }\n }\n }\n\n if (lockRootUpdates.length) {\n logger.debug('Performing lockfileUpdate (npm)');\n const updateCmd =\n `npm install ${cmdOptions} ` +\n lockRootUpdates\n .map((update) => update.managerData?.packageKey)\n .join(' ');\n commands.push(updateCmd);\n }\n\n if (upgrades.some((upgrade) => upgrade.isRemediation)) {\n // We need to run twice to get the correct lock file\n commands.push(`npm install ${cmdOptions}`.trim());\n }\n\n // postUpdateOptions\n if (\n config.postUpdateOptions?.includes('npmDedupe') &&\n !supportsPreferDedupeFlag\n ) {\n logger.debug('Performing npm dedupe after installation');\n commands.push('npm dedupe');\n }\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n try {\n await deleteLocalFile(lockFileName);\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { err, lockFileName },\n 'Error removing `package-lock.json` for lock file maintenance',\n );\n }\n }\n\n // Run the commands\n await exec(commands, execOptions);\n\n // massage to shrinkwrap if necessary\n if (\n filename === 'npm-shrinkwrap.json' &&\n (await localPathExists(upath.join(lockFileDir, 'package-lock.json')))\n ) {\n await renameLocalFile(\n upath.join(lockFileDir, 'package-lock.json'),\n upath.join(lockFileDir, 'npm-shrinkwrap.json'),\n );\n }\n\n // Read the result\n // TODO #22198\n lockFile = (await readLocalFile(\n upath.join(lockFileDir, filename),\n 'utf8',\n ))!;\n\n // Massage lockfile counterparts of package.json that were modified\n // because npm install was called with an explicit version for rangeStrategy=update-lockfile\n if (lockUpdates.length) {\n const { detectedIndent, lockFileParsed } = parseLockFile(lockFile);\n if (\n lockFileParsed?.lockfileVersion === 2 ||\n lockFileParsed?.lockfileVersion === 3\n ) {\n lockUpdates.forEach((lockUpdate) => {\n const depType = lockUpdate.depType as\n | 'dependencies'\n | 'optionalDependencies';\n\n // TODO #22198\n if (\n lockFileParsed.packages?.['']?.[depType]?.[lockUpdate.packageName!]\n ) {\n lockFileParsed.packages[''][depType][lockUpdate.packageName!] =\n lockUpdate.newValue!;\n }\n });\n lockFile = composeLockFile(lockFileParsed, detectedIndent);\n }\n }\n } catch (err) /* istanbul ignore next */ {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n err,\n type: 'npm',\n },\n 'lock file error',\n );\n if (err.stderr?.includes('ENOSPC: no space left on device')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n return { error: true, stderr: err.stderr };\n }\n return { error: !lockFile, lockFile };\n}\n\nexport function divideWorkspaceAndRootDeps(\n lockFileDir: string,\n lockUpdates: Upgrade[],\n): {\n lockRootUpdates: Upgrade[];\n lockWorkspacesUpdates: Upgrade[];\n workspaces: Set<string>;\n rootDeps: Set<string>;\n} {\n const lockRootUpdates: Upgrade[] = []; // stores all upgrades which are present in root package.json\n const lockWorkspacesUpdates: Upgrade[] = []; // stores all upgrades which are present in workspaces package.json\n const workspaces = new Set<string>(); // name of all workspaces\n const rootDeps = new Set<string>(); // packageName of all upgrades in root package.json (makes it check duplicate deps in root)\n\n // divide the deps in two categories: workspace and root\n for (const upgrade of lockUpdates) {\n upgrade.managerData ??= {};\n upgrade.managerData.packageKey = generatePackageKey(\n upgrade.packageName!,\n upgrade.newVersion!,\n );\n if (\n upgrade.managerData.workspacesPackages?.length &&\n is.string(upgrade.packageFile)\n ) {\n const workspacePatterns = upgrade.managerData.workspacesPackages; // glob pattern or directory name/path\n const packageFileDir = trimSlashes(\n upgrade.packageFile.replace('package.json', ''),\n );\n\n // workspaceDir = packageFileDir - lockFileDir\n const workspaceDir = trimSlashes(\n packageFileDir.startsWith(lockFileDir)\n ? packageFileDir.slice(lockFileDir.length)\n : packageFileDir,\n );\n\n if (is.nonEmptyString(workspaceDir)) {\n let workspaceName: string | undefined;\n // compare workspaceDir to workspace patterns\n // stop when the first match is found and\n // add workspaceDir to workspaces set and upgrade object\n for (const workspacePattern of workspacePatterns) {\n const massagedPattern = (workspacePattern as string).replace(\n /^\\.\\//,\n '',\n );\n if (minimatch(massagedPattern).match(workspaceDir)) {\n workspaceName = workspaceDir;\n break;\n }\n }\n if (workspaceName) {\n if (\n !rootDeps.has(upgrade.managerData.packageKey) // prevent same dep from existing in root and workspace\n ) {\n workspaces.add(workspaceName);\n upgrade.workspace = workspaceName;\n lockWorkspacesUpdates.push(upgrade);\n }\n } else {\n logger.warn(\n { workspacePatterns, workspaceDir },\n 'workspaceDir not found',\n );\n }\n continue;\n }\n }\n lockRootUpdates.push(upgrade);\n rootDeps.add(upgrade.managerData.packageKey);\n }\n\n return { lockRootUpdates, lockWorkspacesUpdates, workspaces, rootDeps };\n}\n\nfunction generatePackageKey(packageName: string, version: string): string {\n return `${packageName}@${version}`;\n}\n"]}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/npm.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n deleteLocalFile,\n localPathExists,\n readLocalFile,\n renameLocalFile,\n} from '../../../../util/fs';\nimport { minimatch } from '../../../../util/minimatch';\nimport { Result } from '../../../../util/result';\nimport { trimSlashes } from '../../../../util/url';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { PackageLock } from '../schema';\nimport { composeLockFile, parseLockFile } from '../utils';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nasync function getNpmConstraintFromPackageLock(\n lockFileDir: string,\n filename: string,\n): Promise<string | null> {\n const packageLockFileName = upath.join(lockFileDir, filename);\n const packageLockContents = await readLocalFile(packageLockFileName, 'utf8');\n const packageLockJson = Result.parse(\n packageLockContents,\n PackageLock,\n ).unwrapOrNull();\n if (!packageLockJson) {\n logger.debug(`Could not parse ${packageLockFileName}`);\n return null;\n }\n const { lockfileVersion } = packageLockJson;\n if (lockfileVersion === 1) {\n logger.debug(`Using npm constraint <7 for lockfileVersion=1`);\n return `<7`;\n }\n if (lockfileVersion === 2) {\n logger.debug(`Using npm constraint <9 for lockfileVersion=2`);\n return `<9`;\n }\n logger.debug(\n `Using npm constraint >=9 for lockfileVersion=${lockfileVersion}`,\n );\n return `>=9`;\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n filename: string,\n config: Partial<PostUpdateConfig> = {},\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n // TODO: don't assume package-lock.json is in the same directory\n const lockFileName = upath.join(lockFileDir, filename);\n\n logger.debug(`Spawning npm install to create ${lockFileDir}/${filename}`);\n const { skipInstalls, postUpdateOptions } = config;\n\n let lockFile: string | null = null;\n try {\n const lazyPkgJson = lazyLoadPackageJson(lockFileDir);\n const npmToolConstraint: ToolConstraint = {\n toolName: 'npm',\n constraint:\n config.constraints?.npm ??\n getPackageManagerVersion('npm', await lazyPkgJson.getValue()) ??\n (await getNpmConstraintFromPackageLock(lockFileDir, filename)) ??\n null,\n };\n const supportsPreferDedupeFlag =\n !npmToolConstraint.constraint ||\n semver.intersects('>=7.0.0', npmToolConstraint.constraint);\n const commands: string[] = [];\n let cmdOptions = '';\n if (\n (postUpdateOptions?.includes('npmDedupe') === true &&\n !supportsPreferDedupeFlag) ||\n skipInstalls === false\n ) {\n logger.debug('Performing node_modules install');\n cmdOptions += '--no-audit';\n } else {\n logger.debug('Updating lock file only');\n cmdOptions += '--package-lock-only --no-audit';\n }\n\n if (postUpdateOptions?.includes('npmDedupe') && supportsPreferDedupeFlag) {\n logger.debug('Deduplicate dependencies on installation');\n cmdOptions += ' --prefer-dedupe';\n }\n\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n cmdOptions += ' --ignore-scripts';\n }\n\n const extraEnv: ExtraEnv = {\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n };\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n toolConstraints: [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPkgJson),\n npmToolConstraint,\n ],\n docker: {},\n };\n // istanbul ignore if\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n if (!upgrades.every((upgrade) => upgrade.isLockfileUpdate)) {\n // This command updates the lock file based on package.json\n commands.push(`npm install ${cmdOptions}`.trim());\n }\n\n // rangeStrategy = update-lockfile\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n\n // divide the deps in two categories: workspace and root\n const { lockRootUpdates, lockWorkspacesUpdates, workspaces, rootDeps } =\n divideWorkspaceAndRootDeps(lockFileDir, lockUpdates);\n\n if (workspaces.size && lockWorkspacesUpdates.length) {\n logger.debug('Performing lockfileUpdate (npm-workspaces)');\n for (const workspace of workspaces) {\n const currentWorkspaceUpdates = lockWorkspacesUpdates\n .filter((update) => update.workspace === workspace)\n .map((update) => update.managerData?.packageKey)\n .filter((packageKey) => !rootDeps.has(packageKey));\n\n if (currentWorkspaceUpdates.length) {\n const updateCmd = `npm install ${cmdOptions} --workspace=${quote(workspace)} ${currentWorkspaceUpdates\n .map(quote)\n .join(' ')}`;\n commands.push(updateCmd);\n }\n }\n }\n\n if (lockRootUpdates.length) {\n logger.debug('Performing lockfileUpdate (npm)');\n const updateCmd = `npm install ${cmdOptions} ${lockRootUpdates\n .map((update) => update.managerData?.packageKey)\n .map(quote)\n .join(' ')}`;\n commands.push(updateCmd);\n }\n\n if (upgrades.some((upgrade) => upgrade.isRemediation)) {\n // We need to run twice to get the correct lock file\n commands.push(`npm install ${cmdOptions}`.trim());\n }\n\n // postUpdateOptions\n if (\n config.postUpdateOptions?.includes('npmDedupe') &&\n !supportsPreferDedupeFlag\n ) {\n logger.debug('Performing npm dedupe after installation');\n commands.push('npm dedupe');\n }\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n try {\n await deleteLocalFile(lockFileName);\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { err, lockFileName },\n 'Error removing `package-lock.json` for lock file maintenance',\n );\n }\n }\n\n // Run the commands\n await exec(commands, execOptions);\n\n // massage to shrinkwrap if necessary\n if (\n filename === 'npm-shrinkwrap.json' &&\n (await localPathExists(upath.join(lockFileDir, 'package-lock.json')))\n ) {\n await renameLocalFile(\n upath.join(lockFileDir, 'package-lock.json'),\n upath.join(lockFileDir, 'npm-shrinkwrap.json'),\n );\n }\n\n // Read the result\n // TODO #22198\n lockFile = (await readLocalFile(\n upath.join(lockFileDir, filename),\n 'utf8',\n ))!;\n\n // Massage lockfile counterparts of package.json that were modified\n // because npm install was called with an explicit version for rangeStrategy=update-lockfile\n if (lockUpdates.length) {\n const { detectedIndent, lockFileParsed } = parseLockFile(lockFile);\n if (\n lockFileParsed?.lockfileVersion === 2 ||\n lockFileParsed?.lockfileVersion === 3\n ) {\n lockUpdates.forEach((lockUpdate) => {\n const depType = lockUpdate.depType as\n | 'dependencies'\n | 'optionalDependencies';\n\n // TODO #22198\n if (\n lockFileParsed.packages?.['']?.[depType]?.[lockUpdate.packageName!]\n ) {\n lockFileParsed.packages[''][depType][lockUpdate.packageName!] =\n lockUpdate.newValue!;\n }\n });\n lockFile = composeLockFile(lockFileParsed, detectedIndent);\n }\n }\n } catch (err) /* istanbul ignore next */ {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n err,\n type: 'npm',\n },\n 'lock file error',\n );\n if (err.stderr?.includes('ENOSPC: no space left on device')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n return { error: true, stderr: err.stderr };\n }\n return { error: !lockFile, lockFile };\n}\n\nexport function divideWorkspaceAndRootDeps(\n lockFileDir: string,\n lockUpdates: Upgrade[],\n): {\n lockRootUpdates: Upgrade[];\n lockWorkspacesUpdates: Upgrade[];\n workspaces: Set<string>;\n rootDeps: Set<string>;\n} {\n const lockRootUpdates: Upgrade[] = []; // stores all upgrades which are present in root package.json\n const lockWorkspacesUpdates: Upgrade[] = []; // stores all upgrades which are present in workspaces package.json\n const workspaces = new Set<string>(); // name of all workspaces\n const rootDeps = new Set<string>(); // packageName of all upgrades in root package.json (makes it check duplicate deps in root)\n\n // divide the deps in two categories: workspace and root\n for (const upgrade of lockUpdates) {\n upgrade.managerData ??= {};\n upgrade.managerData.packageKey = generatePackageKey(\n upgrade.packageName!,\n upgrade.newVersion!,\n );\n if (\n upgrade.managerData.workspacesPackages?.length &&\n is.string(upgrade.packageFile)\n ) {\n const workspacePatterns = upgrade.managerData.workspacesPackages; // glob pattern or directory name/path\n const packageFileDir = trimSlashes(\n upgrade.packageFile.replace('package.json', ''),\n );\n\n // workspaceDir = packageFileDir - lockFileDir\n const workspaceDir = trimSlashes(\n packageFileDir.startsWith(lockFileDir)\n ? packageFileDir.slice(lockFileDir.length)\n : packageFileDir,\n );\n\n if (is.nonEmptyString(workspaceDir)) {\n let workspaceName: string | undefined;\n // compare workspaceDir to workspace patterns\n // stop when the first match is found and\n // add workspaceDir to workspaces set and upgrade object\n for (const workspacePattern of workspacePatterns) {\n const massagedPattern = (workspacePattern as string).replace(\n /^\\.\\//,\n '',\n );\n if (minimatch(massagedPattern).match(workspaceDir)) {\n workspaceName = workspaceDir;\n break;\n }\n }\n if (workspaceName) {\n if (\n !rootDeps.has(upgrade.managerData.packageKey) // prevent same dep from existing in root and workspace\n ) {\n workspaces.add(workspaceName);\n upgrade.workspace = workspaceName;\n lockWorkspacesUpdates.push(upgrade);\n }\n } else {\n logger.warn(\n { workspacePatterns, workspaceDir },\n 'workspaceDir not found',\n );\n }\n continue;\n }\n }\n lockRootUpdates.push(upgrade);\n rootDeps.add(upgrade.managerData.packageKey);\n }\n\n return { lockRootUpdates, lockWorkspacesUpdates, workspaces, rootDeps };\n}\n\nfunction generatePackageKey(packageName: string, version: string): string {\n return `${packageName}@${version}`;\n}\n"]}
@@ -282,6 +282,12 @@ async function mergeStaticRepoEnvConfig(config, env) {
282
282
  if (!is_1.default.nonEmptyObject(repoEnvConfig)) {
283
283
  return config;
284
284
  }
285
- return (0, config_1.mergeChildConfig)(config, repoEnvConfig);
285
+ // merge extends
286
+ if (is_1.default.nonEmptyArray(repoEnvConfig.extends)) {
287
+ config.extends = [...repoEnvConfig.extends, ...(config.extends ?? [])];
288
+ delete repoEnvConfig.extends;
289
+ }
290
+ // renovate repo config overrides RENOVATE_STATIC_REPO_CONFIG
291
+ return (0, config_1.mergeChildConfig)(repoEnvConfig, config);
286
292
  }
287
293
  //# sourceMappingURL=merge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../lib/workers/repository/init/merge.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../config';\nimport { configFileNames } from '../../../config/app-strings';\nimport { decryptConfig } from '../../../config/decrypt';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { migrateConfig } from '../../../config/migration';\nimport { parseFileConfig } from '../../../config/parse';\nimport * as presets from '../../../config/presets';\nimport { applySecretsToConfig } from '../../../config/secrets';\nimport type { AllConfig, RenovateConfig } from '../../../config/types';\nimport {\n CONFIG_VALIDATION,\n REPOSITORY_CHANGED,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport * as npmApi from '../../../modules/datasource/npm';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { parseJson } from '../../../util/common';\nimport { setUserEnv } from '../../../util/env';\nimport { readLocalFile } from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport * as queue from '../../../util/http/queue';\nimport * as throttle from '../../../util/http/throttle';\nimport { maskToken } from '../../../util/mask';\nimport { regEx } from '../../../util/regex';\nimport { parseAndValidateOrExit } from '../../global/config/parse/env';\nimport { getOnboardingConfig } from '../onboarding/branch/config';\nimport { getDefaultConfigFileName } from '../onboarding/branch/create';\nimport {\n getOnboardingConfigFromCache,\n getOnboardingFileNameFromCache,\n setOnboardingConfigDetails,\n} from '../onboarding/branch/onboarding-branch-cache';\nimport { OnboardingState } from '../onboarding/common';\nimport type { RepoFileConfig } from './types';\n\nexport async function detectConfigFile(): Promise<string | null> {\n const fileList = await scm.getFileList();\n for (const fileName of configFileNames) {\n if (fileName === 'package.json') {\n try {\n const pJson = JSON.parse(\n (await readLocalFile('package.json', 'utf8'))!,\n );\n if (pJson.renovate) {\n logger.warn(\n 'Using package.json for Renovate config is deprecated - please use a dedicated configuration file instead',\n );\n return 'package.json';\n }\n } catch {\n // Do nothing\n }\n } else if (fileList.includes(fileName)) {\n return fileName;\n }\n }\n return null;\n}\n\nexport async function detectRepoFileConfig(\n branchName?: string,\n): Promise<RepoFileConfig> {\n const cache = getCache();\n let { configFileName } = cache;\n if (is.nonEmptyString(configFileName)) {\n let configFileRaw: string | null;\n try {\n configFileRaw = await platform.getRawFile(\n configFileName,\n undefined,\n branchName,\n );\n } catch (err) {\n // istanbul ignore if\n if (err instanceof ExternalHostError) {\n throw err;\n }\n configFileRaw = null;\n }\n if (configFileRaw) {\n let configFileParsed = parseJson(configFileRaw, configFileName) as any;\n if (configFileName === 'package.json') {\n configFileParsed = configFileParsed.renovate;\n }\n return { configFileName, configFileParsed };\n } else {\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n }\n\n if (OnboardingState.onboardingCacheValid) {\n configFileName = getOnboardingFileNameFromCache();\n } else {\n configFileName = (await detectConfigFile()) ?? undefined;\n }\n\n if (!configFileName) {\n logger.debug('No renovate config file found');\n cache.configFileName = '';\n return {};\n }\n cache.configFileName = configFileName;\n logger.debug(`Found ${configFileName} config file`);\n // TODO #22198\n let configFileParsed: any;\n let configFileRaw: string | undefined | null;\n\n if (OnboardingState.onboardingCacheValid) {\n const cachedConfig = getOnboardingConfigFromCache();\n const parsedConfig = cachedConfig ? JSON.parse(cachedConfig) : undefined;\n if (parsedConfig) {\n setOnboardingConfigDetails(configFileName, JSON.stringify(parsedConfig));\n return { configFileName, configFileParsed: parsedConfig };\n }\n }\n\n if (configFileName === 'package.json') {\n // We already know it parses\n configFileParsed = JSON.parse(\n // TODO #22198\n (await readLocalFile('package.json', 'utf8'))!,\n ).renovate;\n if (is.string(configFileParsed)) {\n logger.debug('Massaging string renovate config to extends array');\n configFileParsed = { extends: [configFileParsed] };\n }\n logger.debug({ config: configFileParsed }, 'package.json>renovate config');\n } else {\n configFileRaw = await readLocalFile(configFileName, 'utf8');\n // istanbul ignore if\n if (!is.string(configFileRaw)) {\n logger.warn({ configFileName }, 'Null contents when reading config file');\n throw new Error(REPOSITORY_CHANGED);\n }\n // istanbul ignore if\n if (!configFileRaw.length) {\n configFileRaw = '{}';\n }\n\n const parseResult = parseFileConfig(configFileName, configFileRaw);\n\n if (!parseResult.success) {\n return {\n configFileName,\n configFileParseError: {\n validationError: parseResult.validationError,\n validationMessage: parseResult.validationMessage,\n },\n };\n }\n configFileParsed = parseResult.parsedContents;\n logger.debug(\n { fileName: configFileName, config: configFileParsed },\n 'Repository config',\n );\n }\n\n setOnboardingConfigDetails(configFileName, JSON.stringify(configFileParsed));\n return { configFileName, configFileParsed };\n}\n\nexport function checkForRepoConfigError(repoConfig: RepoFileConfig): void {\n if (!repoConfig.configFileParseError) {\n return;\n }\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError = repoConfig.configFileParseError.validationError;\n error.validationMessage = repoConfig.configFileParseError.validationMessage;\n throw error;\n}\n\n// Check for repository config\nexport async function mergeRenovateConfig(\n config: RenovateConfig,\n branchName?: string,\n): Promise<RenovateConfig> {\n let returnConfig = { ...config };\n let repoConfig: RepoFileConfig = {};\n if (config.requireConfig !== 'ignored') {\n repoConfig = await detectRepoFileConfig(branchName);\n }\n if (!repoConfig.configFileParsed && config.mode === 'silent') {\n logger.debug(\n 'When mode=silent and repo has no config file, we use the onboarding config as repo config',\n );\n const configFileName = getDefaultConfigFileName(config);\n repoConfig = {\n configFileName,\n configFileParsed: await getOnboardingConfig(config),\n };\n }\n const configFileParsed = repoConfig?.configFileParsed ?? {};\n // I think we do not need to use combined env here as static repo config is meant to be in the env var and not file/repo config\n const configFileAndEnv = await mergeStaticRepoEnvConfig(\n configFileParsed,\n process.env,\n );\n if (is.nonEmptyArray(returnConfig.extends)) {\n configFileAndEnv.extends = [\n ...returnConfig.extends,\n ...(configFileAndEnv.extends ?? []),\n ];\n delete returnConfig.extends;\n }\n checkForRepoConfigError(repoConfig);\n const migratedConfig = await migrateAndValidate(config, configFileAndEnv);\n if (migratedConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError =\n 'The renovate configuration file contains some invalid settings';\n error.validationMessage = migratedConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n if (migratedConfig.warnings) {\n returnConfig.warnings = [\n ...(returnConfig.warnings ?? []),\n ...migratedConfig.warnings,\n ];\n }\n delete migratedConfig.errors;\n delete migratedConfig.warnings;\n // TODO #22198\n const repository = config.repository!;\n // Decrypt before resolving in case we need npm authentication for any presets\n const decryptedConfig = await decryptConfig(migratedConfig, repository);\n setNpmTokenInNpmrc(decryptedConfig);\n // istanbul ignore if\n if (is.string(decryptedConfig.npmrc)) {\n logger.debug('Found npmrc in decrypted config - setting');\n npmApi.setNpmrc(decryptedConfig.npmrc);\n }\n // Decrypt after resolving in case the preset contains npm authentication instead\n let resolvedConfig = await decryptConfig(\n await presets.resolveConfigPresets(\n decryptedConfig,\n config,\n config.ignorePresets,\n ),\n repository,\n );\n logger.trace({ config: resolvedConfig }, 'resolved config');\n const migrationResult = migrateConfig(resolvedConfig);\n if (migrationResult.isMigrated) {\n logger.debug('Resolved config needs migrating');\n logger.trace({ config: resolvedConfig }, 'resolved config after migrating');\n resolvedConfig = migrationResult.migratedConfig;\n }\n setNpmTokenInNpmrc(resolvedConfig);\n // istanbul ignore if\n if (is.string(resolvedConfig.npmrc)) {\n logger.debug(\n 'Ignoring any .npmrc files in repository due to configured npmrc',\n );\n npmApi.setNpmrc(resolvedConfig.npmrc);\n }\n resolvedConfig = applySecretsToConfig(\n resolvedConfig,\n mergeChildConfig(config.secrets ?? {}, resolvedConfig.secrets ?? {}),\n );\n // istanbul ignore if\n if (resolvedConfig.hostRules) {\n logger.debug('Setting hostRules from config');\n for (const rule of resolvedConfig.hostRules) {\n try {\n hostRules.add(rule);\n } catch (err) {\n logger.warn(\n { err, config: rule },\n 'Error setting hostRule from config',\n );\n }\n }\n // host rules can change concurrency\n queue.clear();\n throttle.clear();\n delete resolvedConfig.hostRules;\n }\n returnConfig = mergeChildConfig(returnConfig, resolvedConfig);\n returnConfig = await presets.resolveConfigPresets(returnConfig, config);\n returnConfig.renovateJsonPresent = true;\n // istanbul ignore if\n if (returnConfig.ignorePaths?.length) {\n logger.debug(\n { ignorePaths: returnConfig.ignorePaths },\n `Found repo ignorePaths`,\n );\n }\n\n setUserEnv(returnConfig.env);\n delete returnConfig.env;\n\n return returnConfig;\n}\n\n/** needed when using portal secrets for npmToken */\nexport function setNpmTokenInNpmrc(config: RenovateConfig): void {\n if (!is.string(config.npmToken)) {\n return;\n }\n\n const token = config.npmToken;\n logger.debug({ npmToken: maskToken(token) }, 'Migrating npmToken to npmrc');\n\n if (!is.string(config.npmrc)) {\n logger.debug('Adding npmrc to config');\n config.npmrc = `//registry.npmjs.org/:_authToken=${token}\\n`;\n delete config.npmToken;\n return;\n }\n\n if (config.npmrc.includes(`\\${NPM_TOKEN}`)) {\n logger.debug(`Replacing \\${NPM_TOKEN} with npmToken`);\n config.npmrc = config.npmrc.replace(regEx(/\\${NPM_TOKEN}/g), token);\n } else {\n logger.debug('Appending _authToken= to end of existing npmrc');\n config.npmrc = config.npmrc.replace(\n regEx(/\\n?$/),\n `\\n_authToken=${token}\\n`,\n );\n }\n\n delete config.npmToken;\n}\n\nexport async function mergeStaticRepoEnvConfig(\n config: AllConfig,\n env: NodeJS.ProcessEnv,\n): Promise<AllConfig> {\n const repoEnvConfig = await parseAndValidateOrExit(\n env,\n 'RENOVATE_STATIC_REPO_CONFIG',\n );\n\n if (!is.nonEmptyObject(repoEnvConfig)) {\n return config;\n }\n\n return mergeChildConfig(config, repoEnvConfig);\n}\n"]}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../lib/workers/repository/init/merge.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../config';\nimport { configFileNames } from '../../../config/app-strings';\nimport { decryptConfig } from '../../../config/decrypt';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { migrateConfig } from '../../../config/migration';\nimport { parseFileConfig } from '../../../config/parse';\nimport * as presets from '../../../config/presets';\nimport { applySecretsToConfig } from '../../../config/secrets';\nimport type { AllConfig, RenovateConfig } from '../../../config/types';\nimport {\n CONFIG_VALIDATION,\n REPOSITORY_CHANGED,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport * as npmApi from '../../../modules/datasource/npm';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { parseJson } from '../../../util/common';\nimport { setUserEnv } from '../../../util/env';\nimport { readLocalFile } from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport * as queue from '../../../util/http/queue';\nimport * as throttle from '../../../util/http/throttle';\nimport { maskToken } from '../../../util/mask';\nimport { regEx } from '../../../util/regex';\nimport { parseAndValidateOrExit } from '../../global/config/parse/env';\nimport { getOnboardingConfig } from '../onboarding/branch/config';\nimport { getDefaultConfigFileName } from '../onboarding/branch/create';\nimport {\n getOnboardingConfigFromCache,\n getOnboardingFileNameFromCache,\n setOnboardingConfigDetails,\n} from '../onboarding/branch/onboarding-branch-cache';\nimport { OnboardingState } from '../onboarding/common';\nimport type { RepoFileConfig } from './types';\n\nexport async function detectConfigFile(): Promise<string | null> {\n const fileList = await scm.getFileList();\n for (const fileName of configFileNames) {\n if (fileName === 'package.json') {\n try {\n const pJson = JSON.parse(\n (await readLocalFile('package.json', 'utf8'))!,\n );\n if (pJson.renovate) {\n logger.warn(\n 'Using package.json for Renovate config is deprecated - please use a dedicated configuration file instead',\n );\n return 'package.json';\n }\n } catch {\n // Do nothing\n }\n } else if (fileList.includes(fileName)) {\n return fileName;\n }\n }\n return null;\n}\n\nexport async function detectRepoFileConfig(\n branchName?: string,\n): Promise<RepoFileConfig> {\n const cache = getCache();\n let { configFileName } = cache;\n if (is.nonEmptyString(configFileName)) {\n let configFileRaw: string | null;\n try {\n configFileRaw = await platform.getRawFile(\n configFileName,\n undefined,\n branchName,\n );\n } catch (err) {\n // istanbul ignore if\n if (err instanceof ExternalHostError) {\n throw err;\n }\n configFileRaw = null;\n }\n if (configFileRaw) {\n let configFileParsed = parseJson(configFileRaw, configFileName) as any;\n if (configFileName === 'package.json') {\n configFileParsed = configFileParsed.renovate;\n }\n return { configFileName, configFileParsed };\n } else {\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n }\n\n if (OnboardingState.onboardingCacheValid) {\n configFileName = getOnboardingFileNameFromCache();\n } else {\n configFileName = (await detectConfigFile()) ?? undefined;\n }\n\n if (!configFileName) {\n logger.debug('No renovate config file found');\n cache.configFileName = '';\n return {};\n }\n cache.configFileName = configFileName;\n logger.debug(`Found ${configFileName} config file`);\n // TODO #22198\n let configFileParsed: any;\n let configFileRaw: string | undefined | null;\n\n if (OnboardingState.onboardingCacheValid) {\n const cachedConfig = getOnboardingConfigFromCache();\n const parsedConfig = cachedConfig ? JSON.parse(cachedConfig) : undefined;\n if (parsedConfig) {\n setOnboardingConfigDetails(configFileName, JSON.stringify(parsedConfig));\n return { configFileName, configFileParsed: parsedConfig };\n }\n }\n\n if (configFileName === 'package.json') {\n // We already know it parses\n configFileParsed = JSON.parse(\n // TODO #22198\n (await readLocalFile('package.json', 'utf8'))!,\n ).renovate;\n if (is.string(configFileParsed)) {\n logger.debug('Massaging string renovate config to extends array');\n configFileParsed = { extends: [configFileParsed] };\n }\n logger.debug({ config: configFileParsed }, 'package.json>renovate config');\n } else {\n configFileRaw = await readLocalFile(configFileName, 'utf8');\n // istanbul ignore if\n if (!is.string(configFileRaw)) {\n logger.warn({ configFileName }, 'Null contents when reading config file');\n throw new Error(REPOSITORY_CHANGED);\n }\n // istanbul ignore if\n if (!configFileRaw.length) {\n configFileRaw = '{}';\n }\n\n const parseResult = parseFileConfig(configFileName, configFileRaw);\n\n if (!parseResult.success) {\n return {\n configFileName,\n configFileParseError: {\n validationError: parseResult.validationError,\n validationMessage: parseResult.validationMessage,\n },\n };\n }\n configFileParsed = parseResult.parsedContents;\n logger.debug(\n { fileName: configFileName, config: configFileParsed },\n 'Repository config',\n );\n }\n\n setOnboardingConfigDetails(configFileName, JSON.stringify(configFileParsed));\n return { configFileName, configFileParsed };\n}\n\nexport function checkForRepoConfigError(repoConfig: RepoFileConfig): void {\n if (!repoConfig.configFileParseError) {\n return;\n }\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError = repoConfig.configFileParseError.validationError;\n error.validationMessage = repoConfig.configFileParseError.validationMessage;\n throw error;\n}\n\n// Check for repository config\nexport async function mergeRenovateConfig(\n config: RenovateConfig,\n branchName?: string,\n): Promise<RenovateConfig> {\n let returnConfig = { ...config };\n let repoConfig: RepoFileConfig = {};\n if (config.requireConfig !== 'ignored') {\n repoConfig = await detectRepoFileConfig(branchName);\n }\n if (!repoConfig.configFileParsed && config.mode === 'silent') {\n logger.debug(\n 'When mode=silent and repo has no config file, we use the onboarding config as repo config',\n );\n const configFileName = getDefaultConfigFileName(config);\n repoConfig = {\n configFileName,\n configFileParsed: await getOnboardingConfig(config),\n };\n }\n const configFileParsed = repoConfig?.configFileParsed ?? {};\n // I think we do not need to use combined env here as static repo config is meant to be in the env var and not file/repo config\n const configFileAndEnv = await mergeStaticRepoEnvConfig(\n configFileParsed,\n process.env,\n );\n if (is.nonEmptyArray(returnConfig.extends)) {\n configFileAndEnv.extends = [\n ...returnConfig.extends,\n ...(configFileAndEnv.extends ?? []),\n ];\n delete returnConfig.extends;\n }\n checkForRepoConfigError(repoConfig);\n const migratedConfig = await migrateAndValidate(config, configFileAndEnv);\n if (migratedConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError =\n 'The renovate configuration file contains some invalid settings';\n error.validationMessage = migratedConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n if (migratedConfig.warnings) {\n returnConfig.warnings = [\n ...(returnConfig.warnings ?? []),\n ...migratedConfig.warnings,\n ];\n }\n delete migratedConfig.errors;\n delete migratedConfig.warnings;\n // TODO #22198\n const repository = config.repository!;\n // Decrypt before resolving in case we need npm authentication for any presets\n const decryptedConfig = await decryptConfig(migratedConfig, repository);\n setNpmTokenInNpmrc(decryptedConfig);\n // istanbul ignore if\n if (is.string(decryptedConfig.npmrc)) {\n logger.debug('Found npmrc in decrypted config - setting');\n npmApi.setNpmrc(decryptedConfig.npmrc);\n }\n // Decrypt after resolving in case the preset contains npm authentication instead\n let resolvedConfig = await decryptConfig(\n await presets.resolveConfigPresets(\n decryptedConfig,\n config,\n config.ignorePresets,\n ),\n repository,\n );\n logger.trace({ config: resolvedConfig }, 'resolved config');\n const migrationResult = migrateConfig(resolvedConfig);\n if (migrationResult.isMigrated) {\n logger.debug('Resolved config needs migrating');\n logger.trace({ config: resolvedConfig }, 'resolved config after migrating');\n resolvedConfig = migrationResult.migratedConfig;\n }\n setNpmTokenInNpmrc(resolvedConfig);\n // istanbul ignore if\n if (is.string(resolvedConfig.npmrc)) {\n logger.debug(\n 'Ignoring any .npmrc files in repository due to configured npmrc',\n );\n npmApi.setNpmrc(resolvedConfig.npmrc);\n }\n resolvedConfig = applySecretsToConfig(\n resolvedConfig,\n mergeChildConfig(config.secrets ?? {}, resolvedConfig.secrets ?? {}),\n );\n // istanbul ignore if\n if (resolvedConfig.hostRules) {\n logger.debug('Setting hostRules from config');\n for (const rule of resolvedConfig.hostRules) {\n try {\n hostRules.add(rule);\n } catch (err) {\n logger.warn(\n { err, config: rule },\n 'Error setting hostRule from config',\n );\n }\n }\n // host rules can change concurrency\n queue.clear();\n throttle.clear();\n delete resolvedConfig.hostRules;\n }\n returnConfig = mergeChildConfig(returnConfig, resolvedConfig);\n returnConfig = await presets.resolveConfigPresets(returnConfig, config);\n returnConfig.renovateJsonPresent = true;\n // istanbul ignore if\n if (returnConfig.ignorePaths?.length) {\n logger.debug(\n { ignorePaths: returnConfig.ignorePaths },\n `Found repo ignorePaths`,\n );\n }\n\n setUserEnv(returnConfig.env);\n delete returnConfig.env;\n\n return returnConfig;\n}\n\n/** needed when using portal secrets for npmToken */\nexport function setNpmTokenInNpmrc(config: RenovateConfig): void {\n if (!is.string(config.npmToken)) {\n return;\n }\n\n const token = config.npmToken;\n logger.debug({ npmToken: maskToken(token) }, 'Migrating npmToken to npmrc');\n\n if (!is.string(config.npmrc)) {\n logger.debug('Adding npmrc to config');\n config.npmrc = `//registry.npmjs.org/:_authToken=${token}\\n`;\n delete config.npmToken;\n return;\n }\n\n if (config.npmrc.includes(`\\${NPM_TOKEN}`)) {\n logger.debug(`Replacing \\${NPM_TOKEN} with npmToken`);\n config.npmrc = config.npmrc.replace(regEx(/\\${NPM_TOKEN}/g), token);\n } else {\n logger.debug('Appending _authToken= to end of existing npmrc');\n config.npmrc = config.npmrc.replace(\n regEx(/\\n?$/),\n `\\n_authToken=${token}\\n`,\n );\n }\n\n delete config.npmToken;\n}\n\nexport async function mergeStaticRepoEnvConfig(\n config: AllConfig,\n env: NodeJS.ProcessEnv,\n): Promise<AllConfig> {\n const repoEnvConfig = await parseAndValidateOrExit(\n env,\n 'RENOVATE_STATIC_REPO_CONFIG',\n );\n\n if (!is.nonEmptyObject(repoEnvConfig)) {\n return config;\n }\n\n // merge extends\n if (is.nonEmptyArray(repoEnvConfig.extends)) {\n config.extends = [...repoEnvConfig.extends, ...(config.extends ?? [])];\n delete repoEnvConfig.extends;\n }\n // renovate repo config overrides RENOVATE_STATIC_REPO_CONFIG\n return mergeChildConfig(repoEnvConfig, config);\n}\n"]}
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": "40.32.6",
4
+ "version": "40.33.0",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",