renovate 41.123.0 → 41.124.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +24 -7
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
- package/dist/modules/manager/npm/extract/yarn.js +39 -0
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/index.js +1 -0
- package/dist/modules/manager/npm/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +2 -1
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +26 -0
- package/dist/modules/manager/npm/schema.js +6 -1
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +4 -0
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js +103 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
- package/package.json +1 -1
- package/renovate-schema.json +2 -1
|
@@ -73,7 +73,7 @@ exports.hashMap.set('mise', '9449967db2b79b6f8792a70e560dd8e2107460c75b18b0a3edd
|
|
|
73
73
|
exports.hashMap.set('mix', '9bbba0bb6902951734b766b70d4734397d39cb9e90ceb4b48506dcc9254096d2');
|
|
74
74
|
exports.hashMap.set('nix', 'de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');
|
|
75
75
|
exports.hashMap.set('nodenv', 'd159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');
|
|
76
|
-
exports.hashMap.set('npm', '
|
|
76
|
+
exports.hashMap.set('npm', 'd1ffab90617fd76ee217f861c2c1f841be267629681ba77b1a5ef4d3e9536aa3');
|
|
77
77
|
exports.hashMap.set('nuget', '29aacd0476e686fbec7369a1fc8a23846c884f8b0caca42dea8482b619a4e2cb');
|
|
78
78
|
exports.hashMap.set('nvm', '2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');
|
|
79
79
|
exports.hashMap.set('ocb', 'bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');
|
|
@@ -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','e7f29eb8157e6ca5928890a0cc2fc88d57ddcf7b426dad1c4f15386858d3cd6a');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','19e8ee20f9882e3023b2126d4b8335693cae9fb2b908f59803bbdfd432055d28');\nhashMap.set('bazel-module','c12097a4498ee494b9c042cb823aef7dac5d1669de5eafc11a4a0a0e9b82dcca');\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','f9aed2a90b0b63bfb2ebb4f89f80c0fd8e5b1434074d0299abd8adfce540aab4');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','cdd6020c52aacaf309d528b1ed05f92bc4e3b2b45b7e613950d026d6798fea3a');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');\nhashMap.set('composer','d1de64c4276d4abd41a2007346d1c2b81735675ac4036b337beb25f37813c622');\nhashMap.set('conan','5161c18aa74782f70a41b292f07b1bf5f17fa794d1bac0072bc31c2dea9b16ed');\nhashMap.set('copier','956dc4cb9cc47381b4dd3e939299d8b9b1aa98cb611c16eb60712d8bb4c8f43e');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('crow','6b8b61da3622456dfc0768978c7bfe991b63d9c6f67080c8840569cd95a6219b');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','95af69d05f98ad129ba2caa15a6ba8bd8e9bacc464c9e53cd783e51cd8a83a23');\nhashMap.set('github-actions','23d7dc4596696f1aba67cc398f7b201ae6d522b6b8f9c56ffc6469cd780f15ca');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','cb6d6133e2dcbfbfc79e97a245d5fe7ff765925a9c1c1da8d0d144c1beb92669');\nhashMap.set('gradle','007ab9d41299344d8fa43b7fa30c534f1d9a9d98a0e2d241469c95273f4089af');\nhashMap.set('gradle-wrapper','e26ab9b164f9256fb76b77c19fa53ba506eaa2cda2defff127c9e72e05cb8d4a');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','66eac9164ebb3c3bf41a603b1d52d96a00c61001fca44e4414b6f113829d0047');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','cdbf9687829daa137d9e3b12d5a608eea15ab7ba88b8132ebc0cd62d5bab9894');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','139bff9cefaf0f2ae6c5a71cb9638febd70465f66adc2e0c25fd58c13ad04e0e');\nhashMap.set('maven-wrapper','00af7a02bd3e9a1b64d98385483e008094a929fafd184464cc082b6b1420ffc0');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','9449967db2b79b6f8792a70e560dd8e2107460c75b18b0a3edd421e708c1d32b');\nhashMap.set('mix','9bbba0bb6902951734b766b70d4734397d39cb9e90ceb4b48506dcc9254096d2');\nhashMap.set('nix','de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','a0be446a34398288cd34c3504217ae27629afe659f8d040ab86e9a35914d1853');\nhashMap.set('nuget','29aacd0476e686fbec7369a1fc8a23846c884f8b0caca42dea8482b619a4e2cb');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','ddc173516d0cc1991a380010abc4cefc611a562b658a0d166a21d133c6be18c3');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','f262566293400d9b3c3d43326051ad72ef5cd8591dceb810fbb6a026e9133d6b');\nhashMap.set('pip_requirements','140cca562c9264fc2570a1837994cec14c427651fba507f536adc084e48d8dec');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','d7669dc2072b721cf2541c4d1b239bb14b0dffd49898c295dd6c77007ec253ec');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','42812ba90d7647e9072309068092a6aa69c5eb3cc674c12b9cfe50afa41a015a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','4ac6e05400c91735f12cd67a8de1e238231662d5e5bf004a93be8d0d4b9b15c4');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('quadlet','972bb8017f8c7811a74b91b56cfcd9d6f1aef1c026c9a8b956cecc63d95b0bb2');\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','df2687884bcb81ebd6366deff3dd67aeafac8d0ba6e6bf8d18c61717eb928d78');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','302e34ca5e16c5a0adab6f982a174e89294393a59a598b16bf85ff32b00881f1');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','719408f35a233216562aa62fb8126145a3450b69f917c8fcdf2f3b2c05a9898b');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('typst','d0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','1220eb7bd2f7690789ea118386c153247183e8e192cb517fa49d342025a14dd5');\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','e7f29eb8157e6ca5928890a0cc2fc88d57ddcf7b426dad1c4f15386858d3cd6a');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','19e8ee20f9882e3023b2126d4b8335693cae9fb2b908f59803bbdfd432055d28');\nhashMap.set('bazel-module','c12097a4498ee494b9c042cb823aef7dac5d1669de5eafc11a4a0a0e9b82dcca');\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','f9aed2a90b0b63bfb2ebb4f89f80c0fd8e5b1434074d0299abd8adfce540aab4');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','cdd6020c52aacaf309d528b1ed05f92bc4e3b2b45b7e613950d026d6798fea3a');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');\nhashMap.set('composer','d1de64c4276d4abd41a2007346d1c2b81735675ac4036b337beb25f37813c622');\nhashMap.set('conan','5161c18aa74782f70a41b292f07b1bf5f17fa794d1bac0072bc31c2dea9b16ed');\nhashMap.set('copier','956dc4cb9cc47381b4dd3e939299d8b9b1aa98cb611c16eb60712d8bb4c8f43e');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('crow','6b8b61da3622456dfc0768978c7bfe991b63d9c6f67080c8840569cd95a6219b');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','95af69d05f98ad129ba2caa15a6ba8bd8e9bacc464c9e53cd783e51cd8a83a23');\nhashMap.set('github-actions','23d7dc4596696f1aba67cc398f7b201ae6d522b6b8f9c56ffc6469cd780f15ca');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','cb6d6133e2dcbfbfc79e97a245d5fe7ff765925a9c1c1da8d0d144c1beb92669');\nhashMap.set('gradle','007ab9d41299344d8fa43b7fa30c534f1d9a9d98a0e2d241469c95273f4089af');\nhashMap.set('gradle-wrapper','e26ab9b164f9256fb76b77c19fa53ba506eaa2cda2defff127c9e72e05cb8d4a');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','66eac9164ebb3c3bf41a603b1d52d96a00c61001fca44e4414b6f113829d0047');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','cdbf9687829daa137d9e3b12d5a608eea15ab7ba88b8132ebc0cd62d5bab9894');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','139bff9cefaf0f2ae6c5a71cb9638febd70465f66adc2e0c25fd58c13ad04e0e');\nhashMap.set('maven-wrapper','00af7a02bd3e9a1b64d98385483e008094a929fafd184464cc082b6b1420ffc0');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','9449967db2b79b6f8792a70e560dd8e2107460c75b18b0a3edd421e708c1d32b');\nhashMap.set('mix','9bbba0bb6902951734b766b70d4734397d39cb9e90ceb4b48506dcc9254096d2');\nhashMap.set('nix','de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','d1ffab90617fd76ee217f861c2c1f841be267629681ba77b1a5ef4d3e9536aa3');\nhashMap.set('nuget','29aacd0476e686fbec7369a1fc8a23846c884f8b0caca42dea8482b619a4e2cb');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','ddc173516d0cc1991a380010abc4cefc611a562b658a0d166a21d133c6be18c3');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','f262566293400d9b3c3d43326051ad72ef5cd8591dceb810fbb6a026e9133d6b');\nhashMap.set('pip_requirements','140cca562c9264fc2570a1837994cec14c427651fba507f536adc084e48d8dec');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','d7669dc2072b721cf2541c4d1b239bb14b0dffd49898c295dd6c77007ec253ec');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','42812ba90d7647e9072309068092a6aa69c5eb3cc674c12b9cfe50afa41a015a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','4ac6e05400c91735f12cd67a8de1e238231662d5e5bf004a93be8d0d4b9b15c4');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('quadlet','972bb8017f8c7811a74b91b56cfcd9d6f1aef1c026c9a8b956cecc63d95b0bb2');\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','df2687884bcb81ebd6366deff3dd67aeafac8d0ba6e6bf8d18c61717eb928d78');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','302e34ca5e16c5a0adab6f982a174e89294393a59a598b16bf85ff32b00881f1');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','719408f35a233216562aa62fb8126145a3450b69f917c8fcdf2f3b2c05a9898b');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('typst','d0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','1220eb7bd2f7690789ea118386c153247183e8e192cb517fa49d342025a14dd5');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
|
|
@@ -2,3 +2,4 @@ import type { PackageFileContent } from '../../../types';
|
|
|
2
2
|
import type { NpmManagerData } from '../../types';
|
|
3
3
|
import type { NpmPackage } from '../types';
|
|
4
4
|
export declare function extractPackageJson(packageJson: NpmPackage, packageFile: string): PackageFileContent<NpmManagerData> | null;
|
|
5
|
+
export declare function hasPackageManager(packageJsonDir: string): Promise<boolean>;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageJson = extractPackageJson;
|
|
4
|
+
exports.hasPackageManager = hasPackageManager;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const parse_overrides_1 = require("@pnpm/parse-overrides");
|
|
6
7
|
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
8
|
const error_messages_1 = require("../../../../../constants/error-messages");
|
|
8
9
|
const logger_1 = require("../../../../../logger");
|
|
9
10
|
const regex_1 = require("../../../../../util/regex");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
10
12
|
const dependency_1 = require("./dependency");
|
|
11
13
|
const node_1 = require("./node");
|
|
12
14
|
const overrides_1 = require("./overrides");
|
|
@@ -116,4 +118,10 @@ function extractPackageJson(packageJson, packageFile) {
|
|
|
116
118
|
},
|
|
117
119
|
};
|
|
118
120
|
}
|
|
121
|
+
async function hasPackageManager(packageJsonDir) {
|
|
122
|
+
logger_1.logger.trace(`npm.hasPackageManager from package.json`);
|
|
123
|
+
const packageJsonResult = await (0, utils_1.loadPackageJson)(packageJsonDir);
|
|
124
|
+
return (is_1.default.nonEmptyString(packageJsonResult?.packageManager?.name) &&
|
|
125
|
+
is_1.default.nonEmptyString(packageJsonResult?.packageManager?.version));
|
|
126
|
+
}
|
|
119
127
|
//# sourceMappingURL=package-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":"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","sourcesContent":["import { parsePkgAndParentSelector } from '@pnpm/parse-overrides';\nimport is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../../../../../constants/error-messages';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { PackageDependency, PackageFileContent } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { loadPackageJson } from '../../utils';\nimport type { NpmPackage, NpmPackageDependency } from '../types';\nimport {\n extractDependency,\n getExtractedConstraints,\n parseDepName,\n} from './dependency';\nimport { setNodeCommitTopic } from './node';\nimport { extractOverrideDepsRec } from './overrides';\n\nexport function extractPackageJson(\n packageJson: NpmPackage,\n packageFile: string,\n): PackageFileContent<NpmManagerData> | null {\n logger.trace(`npm.extractPackageJson(${packageFile})`);\n const deps: PackageDependency[] = [];\n\n if (packageJson._id && packageJson._args && packageJson._from) {\n logger.debug({ packageFile }, 'Ignoring vendorised package.json');\n return null;\n }\n if (packageFile !== 'package.json' && packageJson.renovate) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = packageFile;\n error.validationError =\n 'Nested package.json must not contain Renovate configuration. Please use `packageRules` with `matchFileNames` in your main config instead.';\n throw error;\n }\n const packageJsonName = packageJson.name;\n logger.debug(\n `npm file ${packageFile} has name ${JSON.stringify(packageJsonName)}`,\n );\n const packageFileVersion = packageJson.version;\n\n const depTypes = {\n dependencies: 'dependency',\n devDependencies: 'devDependency',\n optionalDependencies: 'optionalDependency',\n peerDependencies: 'peerDependency',\n engines: 'engine',\n volta: 'volta',\n resolutions: 'resolutions',\n packageManager: 'packageManager',\n overrides: 'overrides',\n pnpm: 'pnpm',\n };\n\n for (const depType of Object.keys(depTypes) as (keyof typeof depTypes)[]) {\n let dependencies = packageJson[depType];\n if (dependencies) {\n try {\n if (depType === 'packageManager') {\n const match = regEx('^(?<name>.+)@(?<range>.+)$').exec(\n dependencies as string,\n );\n /* v8 ignore next 3 -- needs test */\n if (!match?.groups) {\n break;\n }\n dependencies = { [match.groups.name]: match.groups.range };\n }\n for (const [key, val] of Object.entries(\n dependencies as NpmPackageDependency,\n )) {\n const depName = parseDepName(depType, key);\n let dep: PackageDependency = {\n depType,\n depName,\n };\n if (depName !== key) {\n dep.managerData = { key };\n }\n if (depType === 'overrides' && !is.string(val)) {\n // TODO: fix type #22198\n deps.push(\n ...extractOverrideDepsRec(\n [depName],\n val as unknown as NpmManagerData,\n ),\n );\n } else if (depType === 'pnpm' && depName === 'overrides') {\n // pnpm overrides\n // https://pnpm.io/package_json#pnpmoverrides\n for (const [overridesKey, overridesVal] of Object.entries(\n val as unknown as NpmPackageDependency,\n )) {\n if (is.string(overridesVal)) {\n // Newer flat syntax: `parent>parent>child`\n const packageName =\n parsePkgAndParentSelector(overridesKey).targetPkg.name;\n dep = {\n depName: overridesKey,\n packageName,\n depType: 'pnpm.overrides',\n ...extractDependency(depName, packageName, overridesVal),\n };\n setNodeCommitTopic(dep);\n // TODO: Is this expected? It's always 'overrides'.\n dep.prettyDepType = depTypes[depName];\n deps.push(dep);\n } else if (is.object(overridesVal)) {\n // Older nested object syntax: `parent: { parent: { child: version } }`\n deps.push(\n ...extractOverrideDepsRec(\n [overridesKey],\n overridesVal as unknown as NpmManagerData,\n ),\n );\n }\n }\n } else {\n // TODO: fix type #22198\n dep = { ...dep, ...extractDependency(depType, depName, val!) };\n setNodeCommitTopic(dep);\n dep.prettyDepType = depTypes[depType];\n deps.push(dep);\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { fileName: packageFile, depType, err },\n 'Error parsing package.json',\n );\n return null;\n } /* v8 ignore stop -- needs test */\n }\n }\n\n const extractedConstraints = getExtractedConstraints(deps);\n\n return {\n deps,\n extractedConstraints,\n packageFileVersion,\n managerData: {\n packageJsonName,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspaces: packageJson.workspaces,\n },\n };\n}\n\nexport async function hasPackageManager(\n packageJsonDir: string,\n): Promise<boolean> {\n logger.trace(`npm.hasPackageManager from package.json`);\n\n const packageJsonResult = await loadPackageJson(packageJsonDir);\n\n return (\n is.nonEmptyString(packageJsonResult?.packageManager?.name) &&\n is.nonEmptyString(packageJsonResult?.packageManager?.version)\n );\n}\n"]}
|
|
@@ -4,6 +4,7 @@ exports.extractPackageFile = extractPackageFile;
|
|
|
4
4
|
exports.extractAllPackageFiles = extractAllPackageFiles;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
|
+
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
7
8
|
const global_1 = require("../../../../config/global");
|
|
8
9
|
const logger_1 = require("../../../../logger");
|
|
9
10
|
const fs_1 = require("../../../../util/fs");
|
|
@@ -187,13 +188,29 @@ async function extractAllPackageFiles(config, packageFiles) {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
else {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
if (packageFile.endsWith('json')) {
|
|
192
|
+
logger_1.logger.trace({ packageFile }, `Extracting as a package.json file`);
|
|
193
|
+
const deps = await extractPackageFile(content, packageFile, config);
|
|
194
|
+
if (deps) {
|
|
195
|
+
npmFiles.push({
|
|
196
|
+
...deps,
|
|
197
|
+
packageFile,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
logger_1.logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);
|
|
203
|
+
const yarnConfig = (0, yarnrc_1.loadConfigFromYarnrcYml)(content);
|
|
204
|
+
if (yarnConfig?.catalogs) {
|
|
205
|
+
const hasPackageManagerResult = await (0, package_file_1.hasPackageManager)(upath_1.default.dirname(packageFile));
|
|
206
|
+
const catalogsDeps = await (0, yarn_1.extractYarnCatalogs)(yarnConfig.catalogs, packageFile, hasPackageManagerResult);
|
|
207
|
+
if (catalogsDeps) {
|
|
208
|
+
npmFiles.push({
|
|
209
|
+
...catalogsDeps,
|
|
210
|
+
packageFile,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
197
214
|
}
|
|
198
215
|
}
|
|
199
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson, hasPackageManager } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { extractYarnCatalogs, isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n if (packageFile.endsWith('json')) {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);\n\n const yarnConfig = loadConfigFromYarnrcYml(content);\n\n if (yarnConfig?.catalogs) {\n const hasPackageManagerResult = await hasPackageManager(\n upath.dirname(packageFile),\n );\n const catalogsDeps = await extractYarnCatalogs(\n yarnConfig.catalogs,\n packageFile,\n hasPackageManagerResult,\n );\n if (catalogsDeps) {\n npmFiles.push({\n ...catalogsDeps,\n packageFile,\n });\n }\n }\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import type { PackageFileContent } from '../../types';
|
|
2
|
+
import type { YarnCatalogs } from '../schema';
|
|
3
|
+
import type { NpmManagerData } from '../types';
|
|
1
4
|
import type { LockFile } from './types';
|
|
2
5
|
export declare function getYarnLock(filePath: string): Promise<LockFile>;
|
|
3
6
|
export declare function getZeroInstallPaths(yarnrcYml: string): string[];
|
|
4
7
|
export declare function isZeroInstall(yarnrcYmlPath: string): Promise<boolean>;
|
|
5
8
|
export declare function getYarnVersionFromLock(lockfile: LockFile): string;
|
|
9
|
+
export declare function extractYarnCatalogs(catalogs: YarnCatalogs | undefined, packageFile: string, hasPackageManager: boolean): Promise<PackageFileContent<NpmManagerData>>;
|
|
@@ -4,12 +4,14 @@ exports.getYarnLock = getYarnLock;
|
|
|
4
4
|
exports.getZeroInstallPaths = getZeroInstallPaths;
|
|
5
5
|
exports.isZeroInstall = isZeroInstall;
|
|
6
6
|
exports.getYarnVersionFromLock = getYarnVersionFromLock;
|
|
7
|
+
exports.extractYarnCatalogs = extractYarnCatalogs;
|
|
7
8
|
const tslib_1 = require("tslib");
|
|
8
9
|
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
9
10
|
const core_1 = require("@yarnpkg/core");
|
|
10
11
|
const parsers_1 = require("@yarnpkg/parsers");
|
|
11
12
|
const logger_1 = require("../../../../logger");
|
|
12
13
|
const fs_1 = require("../../../../util/fs");
|
|
14
|
+
const catalogs_1 = require("./common/catalogs");
|
|
13
15
|
async function getYarnLock(filePath) {
|
|
14
16
|
// TODO #22198
|
|
15
17
|
const yarnLockRaw = (await (0, fs_1.readLocalFile)(filePath, 'utf8'));
|
|
@@ -111,4 +113,41 @@ function getYarnVersionFromLock(lockfile) {
|
|
|
111
113
|
}
|
|
112
114
|
return '^2.0.0';
|
|
113
115
|
}
|
|
116
|
+
async function extractYarnCatalogs(catalogs, packageFile, hasPackageManager) {
|
|
117
|
+
logger_1.logger.trace(`yarn.extractYarnCatalogs(${packageFile})`);
|
|
118
|
+
const yarnCatalogs = yarnCatalogsToArray(catalogs);
|
|
119
|
+
const deps = (0, catalogs_1.extractCatalogDeps)(yarnCatalogs, 'yarn');
|
|
120
|
+
let yarnLock;
|
|
121
|
+
const filePath = (0, fs_1.getSiblingFileName)(packageFile, 'yarn.lock');
|
|
122
|
+
if (await (0, fs_1.localPathExists)(filePath)) {
|
|
123
|
+
yarnLock = filePath;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
deps,
|
|
127
|
+
managerData: {
|
|
128
|
+
yarnLock,
|
|
129
|
+
hasPackageManager,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function yarnCatalogsToArray(catalogs) {
|
|
134
|
+
const result = [];
|
|
135
|
+
if (catalogs?.list !== undefined) {
|
|
136
|
+
for (const [depNameOrCatalogName, depsVersionOrNamedCatalog,] of Object.entries(catalogs.list)) {
|
|
137
|
+
if (is_1.default.object(depsVersionOrNamedCatalog)) {
|
|
138
|
+
result.push({
|
|
139
|
+
name: depNameOrCatalogName,
|
|
140
|
+
dependencies: depsVersionOrNamedCatalog,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
result.push({
|
|
145
|
+
name: 'default',
|
|
146
|
+
dependencies: { [depNameOrCatalogName]: depsVersionOrNamedCatalog },
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
114
153
|
//# sourceMappingURL=yarn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarn.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { miscUtils, structUtils } from '@yarnpkg/core';\nimport { parseSyml } from '@yarnpkg/parsers';\nimport { logger } from '../../../../logger';\nimport {\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport type { PackageFileContent } from '../../types';\nimport type { YarnCatalogs } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nexport async function getYarnLock(filePath: string): Promise<LockFile> {\n // TODO #22198\n const yarnLockRaw = (await readLocalFile(filePath, 'utf8'))!;\n try {\n const parsed = parseSyml(yarnLockRaw);\n const lockedVersions: Record<string, string> = {};\n let lockfileVersion: number | undefined;\n\n for (const [key, val] of Object.entries(parsed)) {\n if (key === '__metadata') {\n // yarn 2\n lockfileVersion = parseInt(val.cacheKey);\n logger.once.debug(\n `yarn.lock ${filePath} has __metadata.cacheKey=${lockfileVersion}`,\n );\n } else {\n for (const entry of key.split(', ')) {\n try {\n const { scope, name, range } = structUtils.parseDescriptor(entry);\n const packageName = scope ? `@${scope}/${name}` : name;\n const { selector } = structUtils.parseRange(range);\n\n logger.trace({ entry, version: val.version });\n lockedVersions[packageName + '@' + selector] = parsed[key].version;\n } catch (err) {\n logger.debug(\n { entry, err },\n 'Invalid descriptor or range found in yarn.lock',\n );\n }\n }\n }\n }\n const isYarn1 = !('__metadata' in parsed);\n if (isYarn1) {\n logger.once.debug(\n `yarn.lock ${filePath} is has no __metadata so is yarn 1`,\n );\n } else {\n logger.once.debug(\n `yarn.lock ${filePath} is has __metadata so is yarn 2+`,\n );\n }\n return {\n isYarn1,\n lockfileVersion,\n lockedVersions,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing yarn.lock');\n return { isYarn1: true, lockedVersions: {} };\n }\n}\n\nexport function getZeroInstallPaths(yarnrcYml: string): string[] {\n let conf: any;\n try {\n conf = parseSyml(yarnrcYml); /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error parsing .yarnrc.yml');\n } /* v8 ignore stop -- needs test */\n const paths = [\n conf?.cacheFolder ?? './.yarn/cache',\n '.pnp.cjs',\n '.pnp.js',\n '.pnp.loader.mjs',\n ];\n if (\n conf &&\n miscUtils.tryParseOptionalBoolean(conf.pnpEnableInlining) === false\n ) {\n paths.push(conf.pnpDataPath ?? './.pnp.data.json');\n }\n return paths;\n}\n\nexport async function isZeroInstall(yarnrcYmlPath: string): Promise<boolean> {\n const yarnrcYml = await readLocalFile(yarnrcYmlPath, 'utf8');\n if (is.string(yarnrcYml)) {\n const paths = getZeroInstallPaths(yarnrcYml);\n for (const p of paths) {\n if (await localPathExists(getSiblingFileName(yarnrcYmlPath, p))) {\n logger.debug(`Detected Yarn zero-install in ${p}`);\n return true;\n }\n }\n }\n return false;\n}\n\nexport function getYarnVersionFromLock(lockfile: LockFile): string {\n const { lockfileVersion, isYarn1 } = lockfile;\n if (isYarn1) {\n return '^1.22.18';\n }\n if (lockfileVersion && lockfileVersion >= 12) {\n // This will probably be v5\n return '>=4.0.0';\n }\n if (lockfileVersion && lockfileVersion >= 10) {\n return '^4.0.0';\n }\n if (lockfileVersion && lockfileVersion >= 8) {\n // https://github.com/yarnpkg/berry/commit/9bcd27ae34aee77a567dd104947407532fa179b3\n return '^3.0.0';\n } else if (lockfileVersion && lockfileVersion >= 6) {\n // https://github.com/yarnpkg/berry/commit/f753790380cbda5b55d028ea84b199445129f9ba\n return '^2.2.0';\n }\n\n return '^2.0.0';\n}\n\nexport async function extractYarnCatalogs(\n catalogs: YarnCatalogs | undefined,\n packageFile: string,\n hasPackageManager: boolean,\n): Promise<PackageFileContent<NpmManagerData>> {\n logger.trace(`yarn.extractYarnCatalogs(${packageFile})`);\n\n const yarnCatalogs = yarnCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(yarnCatalogs, 'yarn');\n\n let yarnLock: string | undefined;\n const filePath = getSiblingFileName(packageFile, 'yarn.lock');\n\n if (await localPathExists(filePath)) {\n yarnLock = filePath;\n }\n\n return {\n deps,\n managerData: {\n yarnLock,\n hasPackageManager,\n },\n };\n}\n\nfunction yarnCatalogsToArray(catalogs: YarnCatalogs | undefined): Catalog[] {\n const result: Catalog[] = [];\n\n if (catalogs?.list !== undefined) {\n for (const [\n depNameOrCatalogName,\n depsVersionOrNamedCatalog,\n ] of Object.entries(catalogs.list)) {\n if (is.object(depsVersionOrNamedCatalog)) {\n result.push({\n name: depNameOrCatalogName,\n dependencies: depsVersionOrNamedCatalog,\n });\n } else {\n result.push({\n name: 'default',\n dependencies: { [depNameOrCatalogName]: depsVersionOrNamedCatalog },\n });\n }\n }\n }\n\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/index.ts"],"names":[],"mappings":";;;AACA,8DAAoE;AACpE,gEAAsE;AACtE,8CAAqD;AAErD,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAC3B,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAC/B,mCAIkB;AAHhB,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,gHAAA,sBAAsB,OAAA;AAExB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAEX,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEnC,QAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,GAAG,GAAG,wBAAwB,CAAC;AAC/B,QAAA,UAAU,GAAe,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,aAAa,GAAG;IAC3B,mBAAmB,EAAE;QACnB,wBAAwB;QACxB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/index.ts"],"names":[],"mappings":";;;AACA,8DAAoE;AACpE,gEAAsE;AACtE,8CAAqD;AAErD,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAC3B,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAC/B,mCAIkB;AAHhB,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,gHAAA,sBAAsB,OAAA;AAExB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAEX,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEnC,QAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,GAAG,GAAG,wBAAwB,CAAC;AAC/B,QAAA,UAAU,GAAe,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,aAAa,GAAG;IAC3B,mBAAmB,EAAE;QACnB,wBAAwB;QACxB,+BAA+B;QAC/B,yBAAyB;KAC1B;IACD,MAAM,EAAE;QACN,iBAAiB,EAAE;YACjB,MAAM,EACJ,+KAA+K;SAClL;KACF;IACD,iBAAiB,EAAE;QACjB,MAAM,EACJ,8SAA8S;KACjT;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,kCAAoB,CAAC,EAAE;IACvB,mBAAa,CAAC,EAAE;IAChB,oCAAqB,CAAC,EAAE;CACzB,CAAC","sourcesContent":["import type { Category } from '../../../constants';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { NpmDatasource } from '../../datasource/npm';\n\nexport { detectGlobalConfig } from './detect';\nexport { extractAllPackageFiles } from './extract';\nexport {\n bumpPackageVersion,\n updateDependency,\n updateLockedDependency,\n} from './update';\nexport { getRangeStrategy } from './range';\nexport { updateArtifacts } from './artifacts';\n\nexport const supportsLockFileMaintenance = true;\n\nexport const displayName = 'npm';\nexport const url = 'https://docs.npmjs.com';\nexport const categories: Category[] = ['js'];\n\nexport const defaultConfig = {\n managerFilePatterns: [\n '/(^|/)package\\\\.json$/',\n '/(^|/)pnpm-workspace\\\\.yaml$/',\n '/(^|/)\\\\.yarnrc\\\\.yml$/',\n ],\n digest: {\n prBodyDefinitions: {\n Change:\n '{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}',\n },\n },\n prBodyDefinitions: {\n Change:\n \"[{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}]({{#if depName}}https://renovatebot.com/diffs/npm/{{replace '/' '%2f' depName}}/{{{currentVersion}}}/{{{newVersion}}}{{/if}})\",\n },\n};\n\nexport const supportedDatasources = [\n GithubTagsDatasource.id,\n NpmDatasource.id,\n NodeVersionDatasource.id,\n];\n"]}
|
|
@@ -196,7 +196,8 @@ async function writeUpdatedPackageFiles(config) {
|
|
|
196
196
|
continue;
|
|
197
197
|
}
|
|
198
198
|
if (!(packageFile.path.endsWith('package.json') ||
|
|
199
|
-
packageFile.path.endsWith('pnpm-workspace.yaml')
|
|
199
|
+
packageFile.path.endsWith('pnpm-workspace.yaml') ||
|
|
200
|
+
packageFile.path.endsWith('.yarnrc.yml'))) {
|
|
200
201
|
continue;
|
|
201
202
|
}
|
|
202
203
|
logger_1.logger.debug(`Writing ${packageFile.path}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport deepmerge from 'deepmerge';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error';\nimport { getEnv } from '../../../../util/env';\nimport {\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../../util/fs';\nimport { getFile, getRepoStatus } from '../../../../util/git';\nimport type { FileChange } from '../../../../util/git/types';\nimport * as hostRules from '../../../../util/host-rules';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { ensureTrailingSlash } from '../../../../util/url';\nimport { dump, parseSingleYaml } from '../../../../util/yaml';\nimport { NpmDatasource } from '../../../datasource/npm';\nimport { scm } from '../../../platform/scm';\nimport type { PackageFile, PostUpdateConfig, Upgrade } from '../../types';\nimport {\n NPM_CACHE_DIR,\n PNPM_CACHE_BASE_DIR,\n YARN_CACHE_DIR,\n YARN_GLOBAL_DIR,\n} from '../constants';\nimport { getZeroInstallPaths } from '../extract/yarn';\nimport type { NpmManagerData } from '../types';\nimport {\n composeLockFile,\n getNpmrcContent,\n parseLockFile,\n resetNpmrcContent,\n updateNpmrcContent,\n} from '../utils';\nimport * as npm from './npm';\nimport * as pnpm from './pnpm';\nimport { processHostRules } from './rules';\nimport type {\n AdditionalPackageFiles,\n ArtifactError,\n DetermineLockFileDirsResult,\n WriteExistingFilesResult,\n YarnRcYmlFile,\n} from './types';\nimport * as yarn from './yarn';\n\n// Strips empty values, deduplicates, and returns the directories from filenames\nconst getDirs = (arr: (string | null | undefined)[]): string[] =>\n Array.from(new Set(arr.filter(is.string)));\n\nexport function determineLockFileDirs(\n config: PostUpdateConfig,\n packageFiles: AdditionalPackageFiles,\n): DetermineLockFileDirsResult {\n const npmLockDirs: (string | undefined)[] = [];\n const yarnLockDirs: (string | undefined)[] = [];\n const pnpmShrinkwrapDirs: (string | undefined)[] = [];\n\n for (const upgrade of config.upgrades) {\n if (\n upgrade.updateType === 'lockFileMaintenance' ||\n upgrade.isRemediation === true ||\n upgrade.isLockfileUpdate === true\n ) {\n yarnLockDirs.push(upgrade.managerData?.yarnLock);\n npmLockDirs.push(upgrade.managerData?.npmLock);\n pnpmShrinkwrapDirs.push(upgrade.managerData?.pnpmShrinkwrap);\n }\n }\n\n if (\n config.upgrades.every(\n (upgrade: Upgrade) =>\n upgrade.updateType === 'lockFileMaintenance' ||\n upgrade.isLockfileUpdate,\n )\n ) {\n return {\n yarnLockDirs: getDirs(yarnLockDirs),\n npmLockDirs: getDirs(npmLockDirs),\n pnpmShrinkwrapDirs: getDirs(pnpmShrinkwrapDirs),\n };\n }\n\n function getPackageFile(\n fileName: string,\n ): Partial<PackageFile<NpmManagerData>> {\n logger.trace('Looking for packageFile: ' + fileName);\n\n for (const packageFile of packageFiles.npm!) {\n if (packageFile.packageFile === fileName) {\n logger.trace({ packageFile }, 'Found packageFile');\n return packageFile;\n }\n logger.trace('No match');\n }\n return {};\n }\n\n // TODO #22198\n for (const p of config.updatedPackageFiles!) {\n logger.trace(`Checking ${String(p.path)} for lock files`);\n const packageFile = getPackageFile(p.path);\n /* v8 ignore next 3 -- needs test */\n if (!packageFile.managerData) {\n continue;\n }\n // push full lock file names and convert them later\n yarnLockDirs.push(packageFile.managerData.yarnLock);\n npmLockDirs.push(packageFile.managerData.npmLock);\n pnpmShrinkwrapDirs.push(packageFile.managerData.pnpmShrinkwrap);\n }\n\n return {\n yarnLockDirs: getDirs(yarnLockDirs),\n npmLockDirs: getDirs(npmLockDirs),\n pnpmShrinkwrapDirs: getDirs(pnpmShrinkwrapDirs),\n };\n}\n\nexport async function writeExistingFiles(\n config: PostUpdateConfig,\n packageFiles: AdditionalPackageFiles,\n): Promise<void> {\n if (!packageFiles.npm) {\n return;\n }\n const npmFiles = packageFiles.npm;\n logger.debug(\n { packageFiles: npmFiles.map((n) => n.packageFile) },\n 'Writing package.json files',\n );\n for (const packageFile of npmFiles) {\n /* v8 ignore next 3 -- needs test */\n if (!packageFile.managerData) {\n continue;\n }\n // TODO #22198\n const basedir = upath.dirname(packageFile.packageFile!);\n const npmrc = packageFile.npmrc;\n const npmrcFilename = upath.join(basedir, '.npmrc');\n // Write out the file unless the npmrc came from the workspace\n // npmrcFilename will be set whenever the file was read from disk during extract\n if (\n is.string(npmrc) &&\n (npmrcFilename === packageFile.managerData.npmrcFileName ||\n !packageFile.managerData.npmrcFileName)\n ) {\n try {\n await writeLocalFile(npmrcFilename, npmrc.replace(/\\n?$/, '\\n'));\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ npmrcFilename, err }, 'Error writing .npmrc');\n } /* v8 ignore stop -- needs test */\n }\n const npmLock = packageFile.managerData.npmLock;\n if (npmLock) {\n const npmLockPath = npmLock;\n logger.debug(`Writing ${npmLock}`);\n let existingNpmLock: string;\n try {\n existingNpmLock = (await getFile(npmLock)) ?? '';\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error reading npm lock file');\n existingNpmLock = '';\n } /* v8 ignore stop -- needs test */\n const { detectedIndent, lockFileParsed: npmLockParsed } =\n parseLockFile(existingNpmLock);\n if (npmLockParsed) {\n const packageNames =\n 'packages' in npmLockParsed\n ? Object.keys(npmLockParsed.packages)\n : [];\n const widens: string[] = [];\n let lockFileChanged = false;\n for (const upgrade of config.upgrades) {\n if (upgrade.lockFiles && !upgrade.lockFiles.includes(npmLock)) {\n continue;\n }\n if (!upgrade.managerData) {\n continue;\n }\n if (\n upgrade.rangeStrategy === 'widen' &&\n upgrade.managerData.npmLock === npmLock\n ) {\n // TODO #22198\n widens.push(upgrade.depName!);\n }\n const { depName } = upgrade;\n for (const packageName of packageNames) {\n if (\n 'packages' in npmLockParsed &&\n (packageName === `node_modules/${depName}` ||\n packageName.startsWith(`node_modules/${depName}/`))\n ) {\n logger.trace({ packageName }, 'Massaging out package name');\n lockFileChanged = true;\n delete npmLockParsed.packages[packageName];\n }\n }\n }\n if (widens.length) {\n logger.debug(\n `Removing ${String(widens)} from ${npmLock} to force an update`,\n );\n lockFileChanged = true;\n try {\n if ('dependencies' in npmLockParsed && npmLockParsed.dependencies) {\n widens.forEach((depName) => {\n // TODO #22198\n delete npmLockParsed.dependencies![depName];\n });\n }\n /* v8 ignore start -- needs test */\n } catch {\n logger.warn(\n { npmLock },\n 'Error massaging package-lock.json for widen',\n );\n } /* v8 ignore stop -- needs test */\n }\n if (lockFileChanged) {\n logger.debug('Massaging npm lock file before writing to disk');\n existingNpmLock = composeLockFile(npmLockParsed, detectedIndent);\n }\n await writeLocalFile(npmLockPath, existingNpmLock);\n }\n }\n }\n}\n\nexport async function writeUpdatedPackageFiles(\n config: PostUpdateConfig,\n): Promise<void> {\n logger.trace({ config }, 'writeUpdatedPackageFiles');\n logger.debug('Writing any updated package files');\n if (!config.updatedPackageFiles) {\n logger.debug('No files found');\n return;\n }\n const supportedLockFiles = ['package-lock.json', 'yarn.lock'];\n for (const packageFile of config.updatedPackageFiles) {\n if (packageFile.type !== 'addition') {\n continue;\n }\n if (\n supportedLockFiles.some((fileName) => packageFile.path.endsWith(fileName))\n ) {\n logger.debug(`Writing lock file: ${packageFile.path}`);\n // TODO #22198\n\n await writeLocalFile(packageFile.path, packageFile.contents!);\n continue;\n }\n if (\n !(\n packageFile.path.endsWith('package.json') ||\n packageFile.path.endsWith('pnpm-workspace.yaml')\n )\n ) {\n continue;\n }\n logger.debug(`Writing ${packageFile.path}`);\n await writeLocalFile(packageFile.path, packageFile.contents!);\n }\n}\n\n/* v8 ignore start -- needs test */\nasync function updateYarnOffline(\n lockFileDir: string,\n updatedArtifacts: FileChange[],\n): Promise<void> {\n try {\n const resolvedPaths: string[] = [];\n const yarnrcYml = await getFile(upath.join(lockFileDir, '.yarnrc.yml'));\n const yarnrc = await getFile(upath.join(lockFileDir, '.yarnrc'));\n\n // As .yarnrc.yml overrides .yarnrc in Yarn 1 (https://git.io/JUcco)\n // both files may exist, so check for .yarnrc.yml first\n if (yarnrcYml) {\n // Yarn 2 (offline cache and zero-installs)\n const paths = getZeroInstallPaths(yarnrcYml);\n resolvedPaths.push(...paths.map((p) => upath.join(lockFileDir, p)));\n } else if (yarnrc) {\n // Yarn 1 (offline mirror)\n const mirrorLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-offline-mirror '));\n if (mirrorLine) {\n const mirrorPath = ensureTrailingSlash(\n mirrorLine.split(' ')[1].replace(regEx(/\"/g), ''),\n );\n resolvedPaths.push(upath.join(lockFileDir, mirrorPath));\n }\n }\n logger.debug({ resolvedPaths }, 'updateYarnOffline resolvedPaths');\n\n if (resolvedPaths.length) {\n const status = await getRepoStatus();\n for (const f of status.modified.concat(status.not_added)) {\n if (resolvedPaths.some((p) => f.startsWith(p))) {\n updatedArtifacts.push({\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n });\n }\n }\n for (const f of status.deleted || []) {\n if (resolvedPaths.some((p) => f.startsWith(p))) {\n updatedArtifacts.push({ type: 'deletion', path: f });\n }\n }\n }\n } catch (err) {\n logger.error({ err }, 'Error updating yarn offline packages');\n }\n}\n/* v8 ignore stop -- needs test */\n\n// TODO: move to ./yarn.ts\n// exported for testing\nexport async function updateYarnBinary(\n lockFileDir: string,\n updatedArtifacts: FileChange[],\n existingYarnrcYmlContent: string | undefined | null,\n): Promise<string | undefined | null> {\n let yarnrcYml = existingYarnrcYmlContent;\n try {\n const yarnrcYmlFilename = upath.join(lockFileDir, '.yarnrc.yml');\n yarnrcYml ??= (await getFile(yarnrcYmlFilename)) ?? undefined;\n const newYarnrcYml = await readLocalFile(yarnrcYmlFilename, 'utf8');\n if (!is.string(yarnrcYml) || !is.string(newYarnrcYml)) {\n return existingYarnrcYmlContent;\n }\n\n // TODO: use schema (#9610)\n const oldYarnPath = parseSingleYaml<YarnRcYmlFile>(yarnrcYml)?.yarnPath;\n const newYarnPath = parseSingleYaml<YarnRcYmlFile>(newYarnrcYml)?.yarnPath;\n if (\n !is.nonEmptyStringAndNotWhitespace(oldYarnPath) ||\n !is.nonEmptyStringAndNotWhitespace(newYarnPath)\n ) {\n return existingYarnrcYmlContent;\n }\n\n const oldYarnFullPath = upath.join(lockFileDir, oldYarnPath);\n const newYarnFullPath = upath.join(lockFileDir, newYarnPath);\n logger.debug({ oldYarnPath, newYarnPath }, 'Found updated Yarn binary');\n\n yarnrcYml = yarnrcYml.replace(oldYarnPath, newYarnPath);\n updatedArtifacts.push(\n {\n type: 'addition',\n path: yarnrcYmlFilename,\n contents: yarnrcYml,\n },\n {\n type: 'deletion',\n path: oldYarnFullPath,\n },\n {\n type: 'addition',\n path: newYarnFullPath,\n contents: await readLocalFile(newYarnFullPath, 'utf8'),\n isExecutable: true,\n },\n );\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.error({ err }, 'Error updating Yarn binary');\n } /* v8 ignore stop -- needs test */\n return existingYarnrcYmlContent && yarnrcYml;\n}\n\nexport async function getAdditionalFiles(\n config: PostUpdateConfig<NpmManagerData>,\n packageFiles: AdditionalPackageFiles,\n): Promise<WriteExistingFilesResult> {\n logger.trace({ config }, 'getAdditionalFiles');\n const artifactErrors: ArtifactError[] = [];\n const updatedArtifacts: FileChange[] = [];\n if (!packageFiles.npm?.length) {\n return { artifactErrors, updatedArtifacts };\n }\n if (config.skipArtifactsUpdate) {\n logger.debug('Skipping lock file generation');\n return { artifactErrors, updatedArtifacts };\n }\n logger.debug('Getting updated lock files');\n if (\n config.isLockFileMaintenance &&\n config.reuseExistingBranch &&\n (await scm.branchExists(config.branchName))\n ) {\n logger.debug('Skipping lockFileMaintenance update');\n return { artifactErrors, updatedArtifacts };\n }\n const dirs = determineLockFileDirs(config, packageFiles);\n logger.trace({ dirs }, 'lock file dirs');\n await writeExistingFiles(config, packageFiles);\n await writeUpdatedPackageFiles(config);\n\n const { additionalNpmrcContent, additionalYarnRcYml } = processHostRules();\n\n // This isn't passed directly to the child process, so no need to filter.\n // But pass custom env and user vars.\n const env = {\n ...getEnv(),\n NPM_CONFIG_CACHE: await ensureCacheDir(NPM_CACHE_DIR),\n YARN_CACHE_FOLDER: await ensureCacheDir(YARN_CACHE_DIR),\n YARN_GLOBAL_FOLDER: await ensureCacheDir(YARN_GLOBAL_DIR),\n npm_config_store: await ensureCacheDir(PNPM_CACHE_BASE_DIR),\n NODE_ENV: 'dev',\n };\n\n let token: string | undefined;\n try {\n ({ token } = hostRules.find({\n hostType: 'github',\n url: 'https://api.github.com/',\n }));\n token = token ? /* v8 ignore next */ `${token}@` : token;\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error getting token for packageFile');\n } /* v8 ignore stop -- needs test */\n const tokenRe = regEx(`${token ?? ''}`, 'g', false);\n for (const npmLock of dirs.npmLockDirs) {\n const lockFileDir = upath.dirname(npmLock);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n const fileName = upath.basename(npmLock);\n logger.debug(`Generating ${fileName} for ${lockFileDir}`);\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.npmLock === npmLock,\n );\n const res = await npm.generateLockFile(\n lockFileDir,\n env,\n fileName,\n config,\n upgrades,\n );\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stderr?.includes('No matching version found for')) {\n for (const upgrade of config.upgrades) {\n if (\n res.stderr.includes(\n `No matching version found for ${upgrade.depName}`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'npm' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n const err = new Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(err, NpmDatasource.id);\n }\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: npmLock,\n stderr: res.stderr,\n });\n } else if (res.lockFile) {\n const existingContent = await getFile(\n npmLock,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(`${npmLock} hasn't changed`);\n } else {\n logger.debug(`${npmLock} needs updating`);\n updatedArtifacts.push({\n type: 'addition',\n path: npmLock,\n // TODO: can this be undefined? (#22198)\n\n contents: res.lockFile.replace(tokenRe, ''),\n });\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n }\n\n for (const yarnLock of dirs.yarnLockDirs) {\n const lockFileDir = upath.dirname(yarnLock);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n let yarnRcYmlFilename: string | undefined;\n let existingYarnrcYmlContent: string | undefined | null;\n if (additionalYarnRcYml) {\n yarnRcYmlFilename = getSiblingFileName(yarnLock, '.yarnrc.yml');\n existingYarnrcYmlContent = await readLocalFile(yarnRcYmlFilename, 'utf8');\n if (existingYarnrcYmlContent) {\n try {\n // TODO: use schema (#9610)\n const existingYarnrRcYml = parseSingleYaml<Record<string, unknown>>(\n existingYarnrcYmlContent,\n );\n\n const updatedYarnYrcYml = deepmerge(\n existingYarnrRcYml,\n yarn.fuzzyMatchAdditionalYarnrcYml(\n additionalYarnRcYml,\n existingYarnrRcYml,\n ),\n );\n\n await writeLocalFile(yarnRcYmlFilename, dump(updatedYarnYrcYml));\n logger.debug('Added authentication to .yarnrc.yml');\n } catch (err) {\n logger.warn({ err }, 'Error appending .yarnrc.yml content');\n }\n }\n }\n logger.debug(`Generating yarn.lock for ${lockFileDir}`);\n const lockFileName = upath.join(lockFileDir, 'yarn.lock');\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.yarnLock === yarnLock,\n );\n const res = await yarn.generateLockFile(lockFileDir, env, config, upgrades);\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stderr?.includes(`Couldn't find any versions for`)) {\n for (const upgrade of config.upgrades) {\n /* eslint-disable no-useless-escape */\n if (\n res.stderr.includes(\n `Couldn't find any versions for \\\\\\\"${upgrade.depName}\\\\\\\"`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'yarn' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(\n new Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n ),\n NpmDatasource.id,\n );\n }\n /* eslint-enable no-useless-escape */\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: yarnLock,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n stderr: res.stderr || res.stdout,\n });\n } else {\n const existingContent = await getFile(\n lockFileName,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(\"yarn.lock hasn't changed\");\n } else {\n logger.debug('yarn.lock needs updating');\n updatedArtifacts.push({\n type: 'addition',\n path: lockFileName,\n // TODO #22198\n contents: res.lockFile!,\n });\n await updateYarnOffline(lockFileDir, updatedArtifacts);\n }\n\n /* v8 ignore next 7 -- needs test */\n if (upgrades.some(yarn.isYarnUpdate)) {\n existingYarnrcYmlContent = await updateYarnBinary(\n lockFileDir,\n updatedArtifacts,\n existingYarnrcYmlContent,\n );\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n /* v8 ignore next 4 -- needs test */\n if (existingYarnrcYmlContent) {\n // TODO #22198\n await writeLocalFile(yarnRcYmlFilename!, existingYarnrcYmlContent);\n }\n }\n\n for (const pnpmShrinkwrap of dirs.pnpmShrinkwrapDirs) {\n const lockFileDir = upath.dirname(pnpmShrinkwrap);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n logger.debug(`Generating pnpm-lock.yaml for ${lockFileDir}`);\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.pnpmShrinkwrap === pnpmShrinkwrap,\n );\n const res = await pnpm.generateLockFile(lockFileDir, env, config, upgrades);\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stdout?.includes(`No compatible version found:`)) {\n for (const upgrade of config.upgrades) {\n if (\n res.stdout.includes(\n `No compatible version found: ${upgrade.depName}`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'pnpm' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(\n Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n ),\n NpmDatasource.id,\n );\n }\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: pnpmShrinkwrap,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n stderr: res.stderr || res.stdout,\n });\n } else {\n const existingContent = await getFile(\n pnpmShrinkwrap,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(\"pnpm-lock.yaml hasn't changed\");\n } else {\n logger.debug('pnpm-lock.yaml needs updating');\n updatedArtifacts.push({\n type: 'addition',\n path: pnpmShrinkwrap,\n // TODO: can be undefined? (#22198)\n contents: res.lockFile!,\n });\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n }\n\n return { artifactErrors, updatedArtifacts };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport deepmerge from 'deepmerge';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error';\nimport { getEnv } from '../../../../util/env';\nimport {\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../../util/fs';\nimport { getFile, getRepoStatus } from '../../../../util/git';\nimport type { FileChange } from '../../../../util/git/types';\nimport * as hostRules from '../../../../util/host-rules';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { ensureTrailingSlash } from '../../../../util/url';\nimport { dump, parseSingleYaml } from '../../../../util/yaml';\nimport { NpmDatasource } from '../../../datasource/npm';\nimport { scm } from '../../../platform/scm';\nimport type { PackageFile, PostUpdateConfig, Upgrade } from '../../types';\nimport {\n NPM_CACHE_DIR,\n PNPM_CACHE_BASE_DIR,\n YARN_CACHE_DIR,\n YARN_GLOBAL_DIR,\n} from '../constants';\nimport { getZeroInstallPaths } from '../extract/yarn';\nimport type { NpmManagerData } from '../types';\nimport {\n composeLockFile,\n getNpmrcContent,\n parseLockFile,\n resetNpmrcContent,\n updateNpmrcContent,\n} from '../utils';\nimport * as npm from './npm';\nimport * as pnpm from './pnpm';\nimport { processHostRules } from './rules';\nimport type {\n AdditionalPackageFiles,\n ArtifactError,\n DetermineLockFileDirsResult,\n WriteExistingFilesResult,\n YarnRcYmlFile,\n} from './types';\nimport * as yarn from './yarn';\n\n// Strips empty values, deduplicates, and returns the directories from filenames\nconst getDirs = (arr: (string | null | undefined)[]): string[] =>\n Array.from(new Set(arr.filter(is.string)));\n\nexport function determineLockFileDirs(\n config: PostUpdateConfig,\n packageFiles: AdditionalPackageFiles,\n): DetermineLockFileDirsResult {\n const npmLockDirs: (string | undefined)[] = [];\n const yarnLockDirs: (string | undefined)[] = [];\n const pnpmShrinkwrapDirs: (string | undefined)[] = [];\n\n for (const upgrade of config.upgrades) {\n if (\n upgrade.updateType === 'lockFileMaintenance' ||\n upgrade.isRemediation === true ||\n upgrade.isLockfileUpdate === true\n ) {\n yarnLockDirs.push(upgrade.managerData?.yarnLock);\n npmLockDirs.push(upgrade.managerData?.npmLock);\n pnpmShrinkwrapDirs.push(upgrade.managerData?.pnpmShrinkwrap);\n }\n }\n\n if (\n config.upgrades.every(\n (upgrade: Upgrade) =>\n upgrade.updateType === 'lockFileMaintenance' ||\n upgrade.isLockfileUpdate,\n )\n ) {\n return {\n yarnLockDirs: getDirs(yarnLockDirs),\n npmLockDirs: getDirs(npmLockDirs),\n pnpmShrinkwrapDirs: getDirs(pnpmShrinkwrapDirs),\n };\n }\n\n function getPackageFile(\n fileName: string,\n ): Partial<PackageFile<NpmManagerData>> {\n logger.trace('Looking for packageFile: ' + fileName);\n\n for (const packageFile of packageFiles.npm!) {\n if (packageFile.packageFile === fileName) {\n logger.trace({ packageFile }, 'Found packageFile');\n return packageFile;\n }\n logger.trace('No match');\n }\n return {};\n }\n\n // TODO #22198\n for (const p of config.updatedPackageFiles!) {\n logger.trace(`Checking ${String(p.path)} for lock files`);\n const packageFile = getPackageFile(p.path);\n /* v8 ignore next 3 -- needs test */\n if (!packageFile.managerData) {\n continue;\n }\n // push full lock file names and convert them later\n yarnLockDirs.push(packageFile.managerData.yarnLock);\n npmLockDirs.push(packageFile.managerData.npmLock);\n pnpmShrinkwrapDirs.push(packageFile.managerData.pnpmShrinkwrap);\n }\n\n return {\n yarnLockDirs: getDirs(yarnLockDirs),\n npmLockDirs: getDirs(npmLockDirs),\n pnpmShrinkwrapDirs: getDirs(pnpmShrinkwrapDirs),\n };\n}\n\nexport async function writeExistingFiles(\n config: PostUpdateConfig,\n packageFiles: AdditionalPackageFiles,\n): Promise<void> {\n if (!packageFiles.npm) {\n return;\n }\n const npmFiles = packageFiles.npm;\n logger.debug(\n { packageFiles: npmFiles.map((n) => n.packageFile) },\n 'Writing package.json files',\n );\n for (const packageFile of npmFiles) {\n /* v8 ignore next 3 -- needs test */\n if (!packageFile.managerData) {\n continue;\n }\n // TODO #22198\n const basedir = upath.dirname(packageFile.packageFile!);\n const npmrc = packageFile.npmrc;\n const npmrcFilename = upath.join(basedir, '.npmrc');\n // Write out the file unless the npmrc came from the workspace\n // npmrcFilename will be set whenever the file was read from disk during extract\n if (\n is.string(npmrc) &&\n (npmrcFilename === packageFile.managerData.npmrcFileName ||\n !packageFile.managerData.npmrcFileName)\n ) {\n try {\n await writeLocalFile(npmrcFilename, npmrc.replace(/\\n?$/, '\\n'));\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ npmrcFilename, err }, 'Error writing .npmrc');\n } /* v8 ignore stop -- needs test */\n }\n const npmLock = packageFile.managerData.npmLock;\n if (npmLock) {\n const npmLockPath = npmLock;\n logger.debug(`Writing ${npmLock}`);\n let existingNpmLock: string;\n try {\n existingNpmLock = (await getFile(npmLock)) ?? '';\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error reading npm lock file');\n existingNpmLock = '';\n } /* v8 ignore stop -- needs test */\n const { detectedIndent, lockFileParsed: npmLockParsed } =\n parseLockFile(existingNpmLock);\n if (npmLockParsed) {\n const packageNames =\n 'packages' in npmLockParsed\n ? Object.keys(npmLockParsed.packages)\n : [];\n const widens: string[] = [];\n let lockFileChanged = false;\n for (const upgrade of config.upgrades) {\n if (upgrade.lockFiles && !upgrade.lockFiles.includes(npmLock)) {\n continue;\n }\n if (!upgrade.managerData) {\n continue;\n }\n if (\n upgrade.rangeStrategy === 'widen' &&\n upgrade.managerData.npmLock === npmLock\n ) {\n // TODO #22198\n widens.push(upgrade.depName!);\n }\n const { depName } = upgrade;\n for (const packageName of packageNames) {\n if (\n 'packages' in npmLockParsed &&\n (packageName === `node_modules/${depName}` ||\n packageName.startsWith(`node_modules/${depName}/`))\n ) {\n logger.trace({ packageName }, 'Massaging out package name');\n lockFileChanged = true;\n delete npmLockParsed.packages[packageName];\n }\n }\n }\n if (widens.length) {\n logger.debug(\n `Removing ${String(widens)} from ${npmLock} to force an update`,\n );\n lockFileChanged = true;\n try {\n if ('dependencies' in npmLockParsed && npmLockParsed.dependencies) {\n widens.forEach((depName) => {\n // TODO #22198\n delete npmLockParsed.dependencies![depName];\n });\n }\n /* v8 ignore start -- needs test */\n } catch {\n logger.warn(\n { npmLock },\n 'Error massaging package-lock.json for widen',\n );\n } /* v8 ignore stop -- needs test */\n }\n if (lockFileChanged) {\n logger.debug('Massaging npm lock file before writing to disk');\n existingNpmLock = composeLockFile(npmLockParsed, detectedIndent);\n }\n await writeLocalFile(npmLockPath, existingNpmLock);\n }\n }\n }\n}\n\nexport async function writeUpdatedPackageFiles(\n config: PostUpdateConfig,\n): Promise<void> {\n logger.trace({ config }, 'writeUpdatedPackageFiles');\n logger.debug('Writing any updated package files');\n if (!config.updatedPackageFiles) {\n logger.debug('No files found');\n return;\n }\n const supportedLockFiles = ['package-lock.json', 'yarn.lock'];\n for (const packageFile of config.updatedPackageFiles) {\n if (packageFile.type !== 'addition') {\n continue;\n }\n if (\n supportedLockFiles.some((fileName) => packageFile.path.endsWith(fileName))\n ) {\n logger.debug(`Writing lock file: ${packageFile.path}`);\n // TODO #22198\n\n await writeLocalFile(packageFile.path, packageFile.contents!);\n continue;\n }\n if (\n !(\n packageFile.path.endsWith('package.json') ||\n packageFile.path.endsWith('pnpm-workspace.yaml') ||\n packageFile.path.endsWith('.yarnrc.yml')\n )\n ) {\n continue;\n }\n logger.debug(`Writing ${packageFile.path}`);\n await writeLocalFile(packageFile.path, packageFile.contents!);\n }\n}\n\n/* v8 ignore start -- needs test */\nasync function updateYarnOffline(\n lockFileDir: string,\n updatedArtifacts: FileChange[],\n): Promise<void> {\n try {\n const resolvedPaths: string[] = [];\n const yarnrcYml = await getFile(upath.join(lockFileDir, '.yarnrc.yml'));\n const yarnrc = await getFile(upath.join(lockFileDir, '.yarnrc'));\n\n // As .yarnrc.yml overrides .yarnrc in Yarn 1 (https://git.io/JUcco)\n // both files may exist, so check for .yarnrc.yml first\n if (yarnrcYml) {\n // Yarn 2 (offline cache and zero-installs)\n const paths = getZeroInstallPaths(yarnrcYml);\n resolvedPaths.push(...paths.map((p) => upath.join(lockFileDir, p)));\n } else if (yarnrc) {\n // Yarn 1 (offline mirror)\n const mirrorLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-offline-mirror '));\n if (mirrorLine) {\n const mirrorPath = ensureTrailingSlash(\n mirrorLine.split(' ')[1].replace(regEx(/\"/g), ''),\n );\n resolvedPaths.push(upath.join(lockFileDir, mirrorPath));\n }\n }\n logger.debug({ resolvedPaths }, 'updateYarnOffline resolvedPaths');\n\n if (resolvedPaths.length) {\n const status = await getRepoStatus();\n for (const f of status.modified.concat(status.not_added)) {\n if (resolvedPaths.some((p) => f.startsWith(p))) {\n updatedArtifacts.push({\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n });\n }\n }\n for (const f of status.deleted || []) {\n if (resolvedPaths.some((p) => f.startsWith(p))) {\n updatedArtifacts.push({ type: 'deletion', path: f });\n }\n }\n }\n } catch (err) {\n logger.error({ err }, 'Error updating yarn offline packages');\n }\n}\n/* v8 ignore stop -- needs test */\n\n// TODO: move to ./yarn.ts\n// exported for testing\nexport async function updateYarnBinary(\n lockFileDir: string,\n updatedArtifacts: FileChange[],\n existingYarnrcYmlContent: string | undefined | null,\n): Promise<string | undefined | null> {\n let yarnrcYml = existingYarnrcYmlContent;\n try {\n const yarnrcYmlFilename = upath.join(lockFileDir, '.yarnrc.yml');\n yarnrcYml ??= (await getFile(yarnrcYmlFilename)) ?? undefined;\n const newYarnrcYml = await readLocalFile(yarnrcYmlFilename, 'utf8');\n if (!is.string(yarnrcYml) || !is.string(newYarnrcYml)) {\n return existingYarnrcYmlContent;\n }\n\n // TODO: use schema (#9610)\n const oldYarnPath = parseSingleYaml<YarnRcYmlFile>(yarnrcYml)?.yarnPath;\n const newYarnPath = parseSingleYaml<YarnRcYmlFile>(newYarnrcYml)?.yarnPath;\n if (\n !is.nonEmptyStringAndNotWhitespace(oldYarnPath) ||\n !is.nonEmptyStringAndNotWhitespace(newYarnPath)\n ) {\n return existingYarnrcYmlContent;\n }\n\n const oldYarnFullPath = upath.join(lockFileDir, oldYarnPath);\n const newYarnFullPath = upath.join(lockFileDir, newYarnPath);\n logger.debug({ oldYarnPath, newYarnPath }, 'Found updated Yarn binary');\n\n yarnrcYml = yarnrcYml.replace(oldYarnPath, newYarnPath);\n updatedArtifacts.push(\n {\n type: 'addition',\n path: yarnrcYmlFilename,\n contents: yarnrcYml,\n },\n {\n type: 'deletion',\n path: oldYarnFullPath,\n },\n {\n type: 'addition',\n path: newYarnFullPath,\n contents: await readLocalFile(newYarnFullPath, 'utf8'),\n isExecutable: true,\n },\n );\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.error({ err }, 'Error updating Yarn binary');\n } /* v8 ignore stop -- needs test */\n return existingYarnrcYmlContent && yarnrcYml;\n}\n\nexport async function getAdditionalFiles(\n config: PostUpdateConfig<NpmManagerData>,\n packageFiles: AdditionalPackageFiles,\n): Promise<WriteExistingFilesResult> {\n logger.trace({ config }, 'getAdditionalFiles');\n const artifactErrors: ArtifactError[] = [];\n const updatedArtifacts: FileChange[] = [];\n if (!packageFiles.npm?.length) {\n return { artifactErrors, updatedArtifacts };\n }\n if (config.skipArtifactsUpdate) {\n logger.debug('Skipping lock file generation');\n return { artifactErrors, updatedArtifacts };\n }\n logger.debug('Getting updated lock files');\n if (\n config.isLockFileMaintenance &&\n config.reuseExistingBranch &&\n (await scm.branchExists(config.branchName))\n ) {\n logger.debug('Skipping lockFileMaintenance update');\n return { artifactErrors, updatedArtifacts };\n }\n const dirs = determineLockFileDirs(config, packageFiles);\n logger.trace({ dirs }, 'lock file dirs');\n await writeExistingFiles(config, packageFiles);\n await writeUpdatedPackageFiles(config);\n\n const { additionalNpmrcContent, additionalYarnRcYml } = processHostRules();\n\n // This isn't passed directly to the child process, so no need to filter.\n // But pass custom env and user vars.\n const env = {\n ...getEnv(),\n NPM_CONFIG_CACHE: await ensureCacheDir(NPM_CACHE_DIR),\n YARN_CACHE_FOLDER: await ensureCacheDir(YARN_CACHE_DIR),\n YARN_GLOBAL_FOLDER: await ensureCacheDir(YARN_GLOBAL_DIR),\n npm_config_store: await ensureCacheDir(PNPM_CACHE_BASE_DIR),\n NODE_ENV: 'dev',\n };\n\n let token: string | undefined;\n try {\n ({ token } = hostRules.find({\n hostType: 'github',\n url: 'https://api.github.com/',\n }));\n token = token ? /* v8 ignore next */ `${token}@` : token;\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error getting token for packageFile');\n } /* v8 ignore stop -- needs test */\n const tokenRe = regEx(`${token ?? ''}`, 'g', false);\n for (const npmLock of dirs.npmLockDirs) {\n const lockFileDir = upath.dirname(npmLock);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n const fileName = upath.basename(npmLock);\n logger.debug(`Generating ${fileName} for ${lockFileDir}`);\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.npmLock === npmLock,\n );\n const res = await npm.generateLockFile(\n lockFileDir,\n env,\n fileName,\n config,\n upgrades,\n );\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stderr?.includes('No matching version found for')) {\n for (const upgrade of config.upgrades) {\n if (\n res.stderr.includes(\n `No matching version found for ${upgrade.depName}`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'npm' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n const err = new Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(err, NpmDatasource.id);\n }\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: npmLock,\n stderr: res.stderr,\n });\n } else if (res.lockFile) {\n const existingContent = await getFile(\n npmLock,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(`${npmLock} hasn't changed`);\n } else {\n logger.debug(`${npmLock} needs updating`);\n updatedArtifacts.push({\n type: 'addition',\n path: npmLock,\n // TODO: can this be undefined? (#22198)\n\n contents: res.lockFile.replace(tokenRe, ''),\n });\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n }\n\n for (const yarnLock of dirs.yarnLockDirs) {\n const lockFileDir = upath.dirname(yarnLock);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n let yarnRcYmlFilename: string | undefined;\n let existingYarnrcYmlContent: string | undefined | null;\n if (additionalYarnRcYml) {\n yarnRcYmlFilename = getSiblingFileName(yarnLock, '.yarnrc.yml');\n existingYarnrcYmlContent = await readLocalFile(yarnRcYmlFilename, 'utf8');\n if (existingYarnrcYmlContent) {\n try {\n // TODO: use schema (#9610)\n const existingYarnrRcYml = parseSingleYaml<Record<string, unknown>>(\n existingYarnrcYmlContent,\n );\n\n const updatedYarnYrcYml = deepmerge(\n existingYarnrRcYml,\n yarn.fuzzyMatchAdditionalYarnrcYml(\n additionalYarnRcYml,\n existingYarnrRcYml,\n ),\n );\n\n await writeLocalFile(yarnRcYmlFilename, dump(updatedYarnYrcYml));\n logger.debug('Added authentication to .yarnrc.yml');\n } catch (err) {\n logger.warn({ err }, 'Error appending .yarnrc.yml content');\n }\n }\n }\n logger.debug(`Generating yarn.lock for ${lockFileDir}`);\n const lockFileName = upath.join(lockFileDir, 'yarn.lock');\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.yarnLock === yarnLock,\n );\n const res = await yarn.generateLockFile(lockFileDir, env, config, upgrades);\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stderr?.includes(`Couldn't find any versions for`)) {\n for (const upgrade of config.upgrades) {\n /* eslint-disable no-useless-escape */\n if (\n res.stderr.includes(\n `Couldn't find any versions for \\\\\\\"${upgrade.depName}\\\\\\\"`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'yarn' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(\n new Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n ),\n NpmDatasource.id,\n );\n }\n /* eslint-enable no-useless-escape */\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: yarnLock,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n stderr: res.stderr || res.stdout,\n });\n } else {\n const existingContent = await getFile(\n lockFileName,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(\"yarn.lock hasn't changed\");\n } else {\n logger.debug('yarn.lock needs updating');\n updatedArtifacts.push({\n type: 'addition',\n path: lockFileName,\n // TODO #22198\n contents: res.lockFile!,\n });\n await updateYarnOffline(lockFileDir, updatedArtifacts);\n }\n\n /* v8 ignore next 7 -- needs test */\n if (upgrades.some(yarn.isYarnUpdate)) {\n existingYarnrcYmlContent = await updateYarnBinary(\n lockFileDir,\n updatedArtifacts,\n existingYarnrcYmlContent,\n );\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n /* v8 ignore next 4 -- needs test */\n if (existingYarnrcYmlContent) {\n // TODO #22198\n await writeLocalFile(yarnRcYmlFilename!, existingYarnrcYmlContent);\n }\n }\n\n for (const pnpmShrinkwrap of dirs.pnpmShrinkwrapDirs) {\n const lockFileDir = upath.dirname(pnpmShrinkwrap);\n const npmrcContent = await getNpmrcContent(lockFileDir);\n await updateNpmrcContent(lockFileDir, npmrcContent, additionalNpmrcContent);\n logger.debug(`Generating pnpm-lock.yaml for ${lockFileDir}`);\n const upgrades = config.upgrades.filter(\n (upgrade) => upgrade.managerData?.pnpmShrinkwrap === pnpmShrinkwrap,\n );\n const res = await pnpm.generateLockFile(lockFileDir, env, config, upgrades);\n if (res.error) {\n /* v8 ignore start -- needs test */\n if (res.stdout?.includes(`No compatible version found:`)) {\n for (const upgrade of config.upgrades) {\n if (\n res.stdout.includes(\n `No compatible version found: ${upgrade.depName}`,\n )\n ) {\n logger.debug(\n { dependency: upgrade.depName, type: 'pnpm' },\n 'lock file failed for the dependency being updated - skipping branch creation',\n );\n throw new ExternalHostError(\n Error(\n 'lock file failed for the dependency being updated - skipping branch creation',\n ),\n NpmDatasource.id,\n );\n }\n }\n }\n /* v8 ignore stop -- needs test */\n artifactErrors.push({\n lockFile: pnpmShrinkwrap,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n stderr: res.stderr || res.stdout,\n });\n } else {\n const existingContent = await getFile(\n pnpmShrinkwrap,\n config.reuseExistingBranch ? config.branchName : config.baseBranch,\n );\n if (res.lockFile === existingContent) {\n logger.debug(\"pnpm-lock.yaml hasn't changed\");\n } else {\n logger.debug('pnpm-lock.yaml needs updating');\n updatedArtifacts.push({\n type: 'addition',\n path: pnpmShrinkwrap,\n // TODO: can be undefined? (#22198)\n contents: res.lockFile!,\n });\n }\n }\n await resetNpmrcContent(lockFileDir, npmrcContent);\n }\n\n return { artifactErrors, updatedArtifacts };\n}\n"]}
|
|
@@ -9,6 +9,17 @@ export declare const PnpmCatalogs: z.ZodObject<{
|
|
|
9
9
|
catalog?: Record<string, string> | undefined;
|
|
10
10
|
catalogs?: Record<string, Record<string, string>> | undefined;
|
|
11
11
|
}>;
|
|
12
|
+
export declare const YarnCatalogs: z.ZodObject<{
|
|
13
|
+
options: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
14
|
+
list: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
list: Record<string, string | Record<string, string>>;
|
|
17
|
+
options?: string | string[] | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
list: Record<string, string | Record<string, string>>;
|
|
20
|
+
options?: string | string[] | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export type YarnCatalogs = z.infer<typeof YarnCatalogs>;
|
|
12
23
|
export declare const YarnConfig: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodObject<{
|
|
13
24
|
npmRegistryServer: z.ZodOptional<z.ZodString>;
|
|
14
25
|
npmScopes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -18,12 +29,27 @@ export declare const YarnConfig: z.ZodPipeline<z.ZodEffects<z.ZodString, string
|
|
|
18
29
|
}, {
|
|
19
30
|
npmRegistryServer?: string | undefined;
|
|
20
31
|
}>>>;
|
|
32
|
+
catalogs: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
33
|
+
options: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
34
|
+
list: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
list: Record<string, string | Record<string, string>>;
|
|
37
|
+
options?: string | string[] | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
list: Record<string, string | Record<string, string>>;
|
|
40
|
+
options?: string | string[] | undefined;
|
|
41
|
+
}>>>;
|
|
21
42
|
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
catalogs?: {
|
|
44
|
+
list: Record<string, string | Record<string, string>>;
|
|
45
|
+
options?: string | string[] | undefined;
|
|
46
|
+
} | undefined;
|
|
22
47
|
npmRegistryServer?: string | undefined;
|
|
23
48
|
npmScopes?: Record<string, {
|
|
24
49
|
npmRegistryServer?: string | undefined;
|
|
25
50
|
}> | undefined;
|
|
26
51
|
}, {
|
|
52
|
+
catalogs?: unknown;
|
|
27
53
|
npmRegistryServer?: string | undefined;
|
|
28
54
|
npmScopes?: Record<string, {
|
|
29
55
|
npmRegistryServer?: string | undefined;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageLock = exports.PackageLockPreV3 = exports.PackageLockV3 = exports.PackageJson = exports.PackageManager = exports.PnpmWorkspaceFile = exports.YarnConfig = exports.PnpmCatalogs = void 0;
|
|
3
|
+
exports.PackageLock = exports.PackageLockPreV3 = exports.PackageLockV3 = exports.PackageJson = exports.PackageManager = exports.PnpmWorkspaceFile = exports.YarnConfig = exports.YarnCatalogs = exports.PnpmCatalogs = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const schema_utils_1 = require("../../../util/schema-utils");
|
|
6
6
|
exports.PnpmCatalogs = zod_1.z.object({
|
|
7
7
|
catalog: zod_1.z.optional(zod_1.z.record(zod_1.z.string())),
|
|
8
8
|
catalogs: zod_1.z.optional(zod_1.z.record(zod_1.z.record(zod_1.z.string()))),
|
|
9
9
|
});
|
|
10
|
+
exports.YarnCatalogs = zod_1.z.object({
|
|
11
|
+
options: zod_1.z.optional(zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())])),
|
|
12
|
+
list: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.record(zod_1.z.string())])),
|
|
13
|
+
});
|
|
10
14
|
exports.YarnConfig = schema_utils_1.Yaml.pipe(zod_1.z.object({
|
|
11
15
|
npmRegistryServer: zod_1.z.string().optional(),
|
|
12
16
|
npmScopes: zod_1.z
|
|
@@ -14,6 +18,7 @@ exports.YarnConfig = schema_utils_1.Yaml.pipe(zod_1.z.object({
|
|
|
14
18
|
npmRegistryServer: zod_1.z.string().optional(),
|
|
15
19
|
}))
|
|
16
20
|
.optional(),
|
|
21
|
+
catalogs: exports.YarnCatalogs.optional().catch(undefined),
|
|
17
22
|
}));
|
|
18
23
|
exports.PnpmWorkspaceFile = zod_1.z
|
|
19
24
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAqE;AAExD,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,mBAAI,CAAC,IAAI,CACjC,OAAC,CAAC,MAAM,CAAC;IACP,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,OAAC;SACT,MAAM,CACL,OAAC,CAAC,MAAM,CAAC;QACP,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { Json, LooseRecord, Yaml } from '../../../util/schema-utils';\n\nexport const PnpmCatalogs = z.object({\n catalog: z.optional(z.record(z.string())),\n catalogs: z.optional(z.record(z.record(z.string()))),\n});\n\nexport const YarnCatalogs = z.object({\n options: z.optional(z.union([z.string(), z.array(z.string())])),\n list: z.record(z.union([z.string(), z.record(z.string())])),\n});\nexport type YarnCatalogs = z.infer<typeof YarnCatalogs>;\n\nexport const YarnConfig = Yaml.pipe(\n z.object({\n npmRegistryServer: z.string().optional(),\n npmScopes: z\n .record(\n z.object({\n npmRegistryServer: z.string().optional(),\n }),\n )\n .optional(),\n catalogs: YarnCatalogs.optional().catch(undefined),\n }),\n);\nexport type YarnConfig = z.infer<typeof YarnConfig>;\n\nexport const PnpmWorkspaceFile = z\n .object({\n packages: z.array(z.string()),\n })\n .and(PnpmCatalogs);\nexport type PnpmWorkspaceFile = z.infer<typeof PnpmWorkspaceFile>;\n\nexport const PackageManager = z\n .string()\n .transform((val) => val.split('@'))\n .transform(([name, ...version]) => ({ name, version: version.join('@') }));\n\nconst DevEngineDependency = z.object({\n name: z.string(),\n version: z.string().optional(),\n});\n\nconst DevEngine = z.object({\n packageManager: DevEngineDependency.or(\n z.array(DevEngineDependency),\n ).optional(),\n});\n\nexport const PackageJson = Json.pipe(\n z.object({\n devEngines: DevEngine.optional(),\n engines: LooseRecord(z.string()).optional(),\n dependencies: LooseRecord(z.string()).optional(),\n devDependencies: LooseRecord(z.string()).optional(),\n peerDependencies: LooseRecord(z.string()).optional(),\n packageManager: PackageManager.optional(),\n volta: LooseRecord(z.string()).optional(),\n }),\n);\n\nexport type PackageJson = z.infer<typeof PackageJson>;\n\nexport const PackageLockV3 = z.object({\n lockfileVersion: z.literal(3),\n packages: LooseRecord(\n z\n .string()\n .transform((x) => x.replace(/^node_modules\\//, ''))\n .refine((x) => x.trim() !== ''),\n z.object({ version: z.string() }),\n ),\n});\n\nexport const PackageLockPreV3 = z\n .object({\n lockfileVersion: z.union([z.literal(2), z.literal(1)]),\n dependencies: LooseRecord(z.object({ version: z.string() })),\n })\n .transform(({ lockfileVersion, dependencies: packages }) => ({\n lockfileVersion,\n packages,\n }));\n\nexport const PackageLock = Json.pipe(\n z.union([PackageLockV3, PackageLockPreV3]),\n).transform(({ packages, lockfileVersion }) => {\n const lockedVersions: Record<string, string> = {};\n for (const [entry, val] of Object.entries(packages)) {\n lockedVersions[entry] = val.version;\n }\n return { lockedVersions, lockfileVersion };\n});\n"]}
|
|
@@ -9,6 +9,7 @@ const regex_1 = require("../../../../../util/regex");
|
|
|
9
9
|
const string_1 = require("../../../../../util/string");
|
|
10
10
|
const common_1 = require("./common");
|
|
11
11
|
const pnpm_1 = require("./pnpm");
|
|
12
|
+
const yarn_1 = require("./yarn");
|
|
12
13
|
function renameObjKey(oldObj, oldKey, newKey) {
|
|
13
14
|
const keys = Object.keys(oldObj);
|
|
14
15
|
return keys.reduce((acc, key) => {
|
|
@@ -86,6 +87,9 @@ function updateDependency({ fileContent, upgrade, }) {
|
|
|
86
87
|
if (upgrade.depType?.startsWith('pnpm.catalog')) {
|
|
87
88
|
return (0, pnpm_1.updatePnpmCatalogDependency)({ fileContent, upgrade });
|
|
88
89
|
}
|
|
90
|
+
if (upgrade.depType?.startsWith('yarn.catalog')) {
|
|
91
|
+
return (0, yarn_1.updateYarnrcCatalogDependency)({ fileContent, upgrade });
|
|
92
|
+
}
|
|
89
93
|
const { depType, managerData } = upgrade;
|
|
90
94
|
const depName = managerData?.key ?? upgrade.depName;
|
|
91
95
|
let { newValue } = upgrade;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../../../../../logger';\nimport { escapeRegExp, regEx } from '../../../../../util/regex';\nimport { matchAt, replaceAt } from '../../../../../util/string';\nimport type { UpdateDependencyConfig, Upgrade } from '../../../types';\nimport type {\n DependenciesMeta,\n NpmPackage,\n OverrideDependency,\n RecursiveOverride,\n} from '../../extract/types';\nimport type { NpmDepType, NpmManagerData } from '../../types';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\nimport { updatePnpmCatalogDependency } from './pnpm';\n\nfunction renameObjKey(\n oldObj: DependenciesMeta,\n oldKey: string,\n newKey: string,\n): DependenciesMeta {\n const keys = Object.keys(oldObj);\n return keys.reduce((acc, key) => {\n if (key === oldKey) {\n acc[newKey] = oldObj[oldKey];\n } else {\n acc[key] = oldObj[key];\n }\n return acc;\n }, {} as DependenciesMeta);\n}\n\nfunction replaceAsString(\n parsedContents: NpmPackage,\n fileContent: string,\n depType:\n | NpmDepType\n | 'dependenciesMeta'\n | 'packageManager'\n | 'pnpm.overrides',\n depName: string,\n oldValue: string,\n newValue: string,\n parents?: string[],\n): string {\n if (depType === 'packageManager') {\n parsedContents[depType] = newValue;\n } else if (depType === 'pnpm.overrides') {\n parsedContents.pnpm!.overrides![depName] = newValue;\n } else if (depName === oldValue) {\n // The old value is the name of the dependency itself\n delete Object.assign(parsedContents[depType]!, {\n [newValue]: parsedContents[depType]![oldValue],\n })[oldValue];\n } else if (depType === 'dependenciesMeta') {\n if (oldValue !== newValue) {\n parsedContents.dependenciesMeta = renameObjKey(\n // TODO #22198\n parsedContents.dependenciesMeta!,\n oldValue,\n newValue,\n );\n }\n } else if (parents && depType === 'overrides') {\n // there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents[depType]!,\n parents,\n depName,\n );\n if (depObjectReference) {\n depObjectReference[overrideDepName] = newValue;\n }\n } else {\n // The old value is the version of the dependency\n parsedContents[depType]![depName] = newValue;\n }\n // Look for the old version number\n const searchString = `\"${oldValue}\"`;\n let newString = `\"${newValue}\"`;\n\n const escapedDepName = escapeRegExp(depName);\n const patchRe = regEx(`^(patch:${escapedDepName}@(npm:)?).*#`);\n const match = patchRe.exec(oldValue);\n if (match && depType === 'resolutions') {\n const patch = oldValue.replace(match[0], `${match[1]}${newValue}#`);\n parsedContents[depType]![depName] = patch;\n newString = `\"${patch}\"`;\n }\n\n // Skip ahead to depType section\n let searchIndex = fileContent.indexOf(`\"${depType}\"`) + depType.length;\n logger.trace(`Starting search at index ${searchIndex}`);\n // Iterate through the rest of the file\n for (; searchIndex < fileContent.length; searchIndex += 1) {\n // First check if we have a hit for the old version\n if (matchAt(fileContent, searchIndex, searchString)) {\n logger.trace(`Found match at index ${searchIndex}`);\n // Now test if the result matches\n const testContent = replaceAt(\n fileContent,\n searchIndex,\n searchString,\n newString,\n );\n // Compare the parsed JSON structure of old and new\n if (dequal(parsedContents, JSON.parse(testContent))) {\n return testContent;\n }\n }\n /* v8 ignore next 3 -- needs test */\n }\n throw new Error();\n}\n\nexport function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n if (upgrade.depType?.startsWith('pnpm.catalog')) {\n return updatePnpmCatalogDependency({ fileContent, upgrade });\n }\n\n const { depType, managerData } = upgrade;\n const depName: string = managerData?.key ?? upgrade.depName;\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newValue}`);\n try {\n const parsedContents: NpmPackage = JSON.parse(fileContent);\n let overrideDepParents: string[] | undefined = undefined;\n // Save the old version\n let oldVersion: string | undefined;\n if (depType === 'packageManager') {\n oldVersion = parsedContents[depType];\n newValue = `${depName}@${newValue}`;\n } else if (isOverrideObject(upgrade)) {\n overrideDepParents = managerData?.parents;\n if (overrideDepParents) {\n // old version when there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents.overrides!,\n overrideDepParents,\n depName,\n );\n if (depObjectReference) {\n oldVersion = depObjectReference[overrideDepName]!;\n }\n }\n } else if (depType === 'pnpm.overrides') {\n oldVersion = parsedContents.pnpm?.overrides?.[depName];\n } else {\n oldVersion = parsedContents[depType as NpmDepType]![depName] as string;\n }\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // TODO #22198\n let newFileContent: string;\n if (upgrade.newName && upgrade.replacementApproach === 'alias') {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n `npm:${upgrade.newName}@${newValue}`,\n overrideDepParents,\n );\n } else {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n newValue!,\n overrideDepParents,\n );\n if (upgrade.newName) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n depType as NpmDepType,\n depName,\n depName,\n upgrade.newName,\n overrideDepParents,\n );\n }\n }\n /* v8 ignore start -- needs test */\n if (!newFileContent) {\n logger.debug(\n { fileContent, parsedContents, depType, depName, newValue },\n 'Warning: updateDependency error',\n );\n return fileContent;\n }\n /* v8 ignore stop -- needs test */\n if (parsedContents?.resolutions) {\n let depKey: string | undefined;\n if (parsedContents.resolutions[depName]) {\n depKey = depName;\n } else if (parsedContents.resolutions[`**/${depName}`]) {\n depKey = `**/${depName}`;\n }\n if (depKey) {\n /* v8 ignore start -- needs test */\n if (parsedContents.resolutions[depKey] !== oldVersion) {\n logger.debug(\n {\n depName,\n depKey,\n oldVersion,\n resolutionsVersion: parsedContents.resolutions[depKey],\n },\n 'Upgraded dependency exists in yarn resolutions but is different version',\n );\n } /* v8 ignore stop -- needs test */\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n // TODO #22198\n parsedContents.resolutions[depKey]!,\n // TODO #22198\n newValue!,\n );\n if (upgrade.newName) {\n if (depKey === `**/${depName}`) {\n // handles the case where a replacement is in a resolution\n upgrade.newName = `**/${upgrade.newName}`;\n }\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n depKey,\n upgrade.newName,\n );\n }\n }\n }\n if (parsedContents?.dependenciesMeta) {\n for (const [depKey] of Object.entries(parsedContents.dependenciesMeta)) {\n if (depKey.startsWith(depName + '@')) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'dependenciesMeta',\n depName,\n depKey,\n // TODO: types (#22198)\n `${depName}@${newValue}`,\n );\n }\n }\n }\n return newFileContent;\n } catch (err) {\n logger.debug({ err }, 'updateDependency error');\n return null;\n }\n}\n\nfunction overrideDepPosition(\n overrideBlock: OverrideDependency,\n parents: string[],\n depName: string,\n): {\n depObjectReference: Record<string, string>;\n overrideDepName: string;\n} {\n // get override dep position when its nested in an object\n const lastParent = parents[parents.length - 1];\n let overrideDep: OverrideDependency = overrideBlock;\n for (const parent of parents) {\n if (overrideDep) {\n overrideDep = overrideDep[parent] as Record<string, RecursiveOverride>;\n }\n }\n const overrideDepName = depName === lastParent ? '.' : depName;\n const depObjectReference = overrideDep as Record<string, string>;\n return { depObjectReference, overrideDepName };\n}\n\nfunction isOverrideObject(upgrade: Upgrade<NpmManagerData>): boolean {\n return (\n is.array(upgrade.managerData?.parents, is.nonEmptyStringAndNotWhitespace) &&\n upgrade.depType === 'overrides'\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../../../../../logger';\nimport { escapeRegExp, regEx } from '../../../../../util/regex';\nimport { matchAt, replaceAt } from '../../../../../util/string';\nimport type { UpdateDependencyConfig, Upgrade } from '../../../types';\nimport type {\n DependenciesMeta,\n NpmPackage,\n OverrideDependency,\n RecursiveOverride,\n} from '../../extract/types';\nimport type { NpmDepType, NpmManagerData } from '../../types';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\nimport { updatePnpmCatalogDependency } from './pnpm';\nimport { updateYarnrcCatalogDependency } from './yarn';\n\nfunction renameObjKey(\n oldObj: DependenciesMeta,\n oldKey: string,\n newKey: string,\n): DependenciesMeta {\n const keys = Object.keys(oldObj);\n return keys.reduce((acc, key) => {\n if (key === oldKey) {\n acc[newKey] = oldObj[oldKey];\n } else {\n acc[key] = oldObj[key];\n }\n return acc;\n }, {} as DependenciesMeta);\n}\n\nfunction replaceAsString(\n parsedContents: NpmPackage,\n fileContent: string,\n depType:\n | NpmDepType\n | 'dependenciesMeta'\n | 'packageManager'\n | 'pnpm.overrides',\n depName: string,\n oldValue: string,\n newValue: string,\n parents?: string[],\n): string {\n if (depType === 'packageManager') {\n parsedContents[depType] = newValue;\n } else if (depType === 'pnpm.overrides') {\n parsedContents.pnpm!.overrides![depName] = newValue;\n } else if (depName === oldValue) {\n // The old value is the name of the dependency itself\n delete Object.assign(parsedContents[depType]!, {\n [newValue]: parsedContents[depType]![oldValue],\n })[oldValue];\n } else if (depType === 'dependenciesMeta') {\n if (oldValue !== newValue) {\n parsedContents.dependenciesMeta = renameObjKey(\n // TODO #22198\n parsedContents.dependenciesMeta!,\n oldValue,\n newValue,\n );\n }\n } else if (parents && depType === 'overrides') {\n // there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents[depType]!,\n parents,\n depName,\n );\n if (depObjectReference) {\n depObjectReference[overrideDepName] = newValue;\n }\n } else {\n // The old value is the version of the dependency\n parsedContents[depType]![depName] = newValue;\n }\n // Look for the old version number\n const searchString = `\"${oldValue}\"`;\n let newString = `\"${newValue}\"`;\n\n const escapedDepName = escapeRegExp(depName);\n const patchRe = regEx(`^(patch:${escapedDepName}@(npm:)?).*#`);\n const match = patchRe.exec(oldValue);\n if (match && depType === 'resolutions') {\n const patch = oldValue.replace(match[0], `${match[1]}${newValue}#`);\n parsedContents[depType]![depName] = patch;\n newString = `\"${patch}\"`;\n }\n\n // Skip ahead to depType section\n let searchIndex = fileContent.indexOf(`\"${depType}\"`) + depType.length;\n logger.trace(`Starting search at index ${searchIndex}`);\n // Iterate through the rest of the file\n for (; searchIndex < fileContent.length; searchIndex += 1) {\n // First check if we have a hit for the old version\n if (matchAt(fileContent, searchIndex, searchString)) {\n logger.trace(`Found match at index ${searchIndex}`);\n // Now test if the result matches\n const testContent = replaceAt(\n fileContent,\n searchIndex,\n searchString,\n newString,\n );\n // Compare the parsed JSON structure of old and new\n if (dequal(parsedContents, JSON.parse(testContent))) {\n return testContent;\n }\n }\n /* v8 ignore next 3 -- needs test */\n }\n throw new Error();\n}\n\nexport function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n if (upgrade.depType?.startsWith('pnpm.catalog')) {\n return updatePnpmCatalogDependency({ fileContent, upgrade });\n }\n if (upgrade.depType?.startsWith('yarn.catalog')) {\n return updateYarnrcCatalogDependency({ fileContent, upgrade });\n }\n\n const { depType, managerData } = upgrade;\n const depName: string = managerData?.key ?? upgrade.depName;\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newValue}`);\n try {\n const parsedContents: NpmPackage = JSON.parse(fileContent);\n let overrideDepParents: string[] | undefined = undefined;\n // Save the old version\n let oldVersion: string | undefined;\n if (depType === 'packageManager') {\n oldVersion = parsedContents[depType];\n newValue = `${depName}@${newValue}`;\n } else if (isOverrideObject(upgrade)) {\n overrideDepParents = managerData?.parents;\n if (overrideDepParents) {\n // old version when there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents.overrides!,\n overrideDepParents,\n depName,\n );\n if (depObjectReference) {\n oldVersion = depObjectReference[overrideDepName]!;\n }\n }\n } else if (depType === 'pnpm.overrides') {\n oldVersion = parsedContents.pnpm?.overrides?.[depName];\n } else {\n oldVersion = parsedContents[depType as NpmDepType]![depName] as string;\n }\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // TODO #22198\n let newFileContent: string;\n if (upgrade.newName && upgrade.replacementApproach === 'alias') {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n `npm:${upgrade.newName}@${newValue}`,\n overrideDepParents,\n );\n } else {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n newValue!,\n overrideDepParents,\n );\n if (upgrade.newName) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n depType as NpmDepType,\n depName,\n depName,\n upgrade.newName,\n overrideDepParents,\n );\n }\n }\n /* v8 ignore start -- needs test */\n if (!newFileContent) {\n logger.debug(\n { fileContent, parsedContents, depType, depName, newValue },\n 'Warning: updateDependency error',\n );\n return fileContent;\n }\n /* v8 ignore stop -- needs test */\n if (parsedContents?.resolutions) {\n let depKey: string | undefined;\n if (parsedContents.resolutions[depName]) {\n depKey = depName;\n } else if (parsedContents.resolutions[`**/${depName}`]) {\n depKey = `**/${depName}`;\n }\n if (depKey) {\n /* v8 ignore start -- needs test */\n if (parsedContents.resolutions[depKey] !== oldVersion) {\n logger.debug(\n {\n depName,\n depKey,\n oldVersion,\n resolutionsVersion: parsedContents.resolutions[depKey],\n },\n 'Upgraded dependency exists in yarn resolutions but is different version',\n );\n } /* v8 ignore stop -- needs test */\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n // TODO #22198\n parsedContents.resolutions[depKey]!,\n // TODO #22198\n newValue!,\n );\n if (upgrade.newName) {\n if (depKey === `**/${depName}`) {\n // handles the case where a replacement is in a resolution\n upgrade.newName = `**/${upgrade.newName}`;\n }\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n depKey,\n upgrade.newName,\n );\n }\n }\n }\n if (parsedContents?.dependenciesMeta) {\n for (const [depKey] of Object.entries(parsedContents.dependenciesMeta)) {\n if (depKey.startsWith(depName + '@')) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'dependenciesMeta',\n depName,\n depKey,\n // TODO: types (#22198)\n `${depName}@${newValue}`,\n );\n }\n }\n }\n return newFileContent;\n } catch (err) {\n logger.debug({ err }, 'updateDependency error');\n return null;\n }\n}\n\nfunction overrideDepPosition(\n overrideBlock: OverrideDependency,\n parents: string[],\n depName: string,\n): {\n depObjectReference: Record<string, string>;\n overrideDepName: string;\n} {\n // get override dep position when its nested in an object\n const lastParent = parents[parents.length - 1];\n let overrideDep: OverrideDependency = overrideBlock;\n for (const parent of parents) {\n if (overrideDep) {\n overrideDep = overrideDep[parent] as Record<string, RecursiveOverride>;\n }\n }\n const overrideDepName = depName === lastParent ? '.' : depName;\n const depObjectReference = overrideDep as Record<string, string>;\n return { depObjectReference, overrideDepName };\n}\n\nfunction isOverrideObject(upgrade: Upgrade<NpmManagerData>): boolean {\n return (\n is.array(upgrade.managerData?.parents, is.nonEmptyStringAndNotWhitespace) &&\n upgrade.depType === 'overrides'\n );\n}\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateYarnrcCatalogDependency = updateYarnrcCatalogDependency;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const yaml_1 = require("yaml");
|
|
7
|
+
const logger_1 = require("../../../../../logger");
|
|
8
|
+
const schema_1 = require("../../schema");
|
|
9
|
+
const common_1 = require("./common");
|
|
10
|
+
function updateYarnrcCatalogDependency({ fileContent, upgrade, }) {
|
|
11
|
+
const { depType, depName } = upgrade;
|
|
12
|
+
const catalogName = depType?.split('.').at(-1);
|
|
13
|
+
if (!is_1.default.string(catalogName)) {
|
|
14
|
+
logger_1.logger.error('No catalogName was found; this is likely an extraction error.');
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
let { newValue } = upgrade;
|
|
18
|
+
newValue = (0, common_1.getNewGitValue)(upgrade) ?? newValue;
|
|
19
|
+
newValue = (0, common_1.getNewNpmAliasValue)(newValue, upgrade) ?? newValue;
|
|
20
|
+
logger_1.logger.trace(`npm.updateYarnrcCatalogDependency(): ${depType}::${catalogName}.${depName} = ${newValue}`);
|
|
21
|
+
let document;
|
|
22
|
+
let parsedContents;
|
|
23
|
+
try {
|
|
24
|
+
// In order to preserve the original formatting as much as possible, we want
|
|
25
|
+
// manipulate the CST directly. Using the AST (the result of parseDocument)
|
|
26
|
+
// does not guarantee that formatting would be the same after
|
|
27
|
+
// stringification. However, the CST is more annoying to query for certain
|
|
28
|
+
// values. Thus, we use both an annotated AST and a JS representation; the
|
|
29
|
+
// former for manipulation, and the latter for querying/validation.
|
|
30
|
+
document = (0, yaml_1.parseDocument)(fileContent, { keepSourceTokens: true });
|
|
31
|
+
parsedContents = schema_1.YarnConfig.parse(document.toString());
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
logger_1.logger.debug({ err }, 'Could not parse yarnrc YAML file.');
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const oldVersion = catalogName === 'default'
|
|
38
|
+
? parsedContents.catalogs?.list?.[depName]
|
|
39
|
+
: is_1.default.object(parsedContents.catalogs?.list?.[catalogName]) &&
|
|
40
|
+
is_1.default.string(depName)
|
|
41
|
+
? parsedContents.catalogs?.list?.[catalogName][depName]
|
|
42
|
+
: undefined;
|
|
43
|
+
if (oldVersion === newValue) {
|
|
44
|
+
logger_1.logger.trace('Version is already updated');
|
|
45
|
+
return fileContent;
|
|
46
|
+
}
|
|
47
|
+
// Update the value
|
|
48
|
+
const path = getDepPath({
|
|
49
|
+
depName: depName,
|
|
50
|
+
catalogName,
|
|
51
|
+
});
|
|
52
|
+
const modifiedDocument = changeDependencyIn(document, path, {
|
|
53
|
+
newValue,
|
|
54
|
+
newName: upgrade.newName,
|
|
55
|
+
});
|
|
56
|
+
if (!modifiedDocument) {
|
|
57
|
+
// Case where we are explicitly unable to substitute the key/value, for
|
|
58
|
+
// example if the value was an alias.
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return yaml_1.CST.stringify(modifiedDocument.contents.srcToken);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Change the scalar name and/or value of a collection item in a YAML document,
|
|
65
|
+
* while keeping formatting consistent. Mutates the given document.
|
|
66
|
+
*/
|
|
67
|
+
function changeDependencyIn(document, path, { newName, newValue }) {
|
|
68
|
+
const parentPath = path.slice(0, -1);
|
|
69
|
+
const relevantItemKey = path.at(-1);
|
|
70
|
+
const parentNode = document.getIn(parentPath);
|
|
71
|
+
if (!parentNode || !(0, yaml_1.isCollection)(parentNode)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const relevantNode = parentNode.items.find((item) => (0, yaml_1.isPair)(item) && (0, yaml_1.isScalar)(item.key) && item.key.value === relevantItemKey);
|
|
75
|
+
if (!relevantNode || !(0, yaml_1.isPair)(relevantNode)) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (newName) {
|
|
79
|
+
/* the try..catch block above already throws if a key is an alias */
|
|
80
|
+
yaml_1.CST.setScalarValue(relevantNode.srcToken.key, newName);
|
|
81
|
+
}
|
|
82
|
+
if (newValue) {
|
|
83
|
+
// We only support scalar values when substituting. This explicitly avoids
|
|
84
|
+
// substituting aliases, since those can be resolved from a shared location,
|
|
85
|
+
// and replacing either the referrent anchor or the alias would be wrong in
|
|
86
|
+
// the general case. We leave this up to the user, e.g. via a Regex custom
|
|
87
|
+
// manager.
|
|
88
|
+
if (!yaml_1.CST.isScalar(relevantNode.srcToken?.value)) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
yaml_1.CST.setScalarValue(relevantNode.srcToken.value, newValue);
|
|
92
|
+
}
|
|
93
|
+
return document;
|
|
94
|
+
}
|
|
95
|
+
function getDepPath({ catalogName, depName, }) {
|
|
96
|
+
if (catalogName === 'default') {
|
|
97
|
+
return ['catalogs', 'list', depName];
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return ['catalogs', 'list', catalogName, depName];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=yarn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { Document } from 'yaml';\nimport { CST, isCollection, isPair, isScalar, parseDocument } from 'yaml';\nimport { logger } from '../../../../../logger';\nimport type { UpdateDependencyConfig } from '../../../types';\nimport { YarnConfig } from '../../schema';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\n\nexport function updateYarnrcCatalogDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n const { depType, depName } = upgrade;\n\n const catalogName = depType?.split('.').at(-1);\n\n if (!is.string(catalogName)) {\n logger.error(\n 'No catalogName was found; this is likely an extraction error.',\n );\n return null;\n }\n\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.trace(\n `npm.updateYarnrcCatalogDependency(): ${depType}::${catalogName}.${depName} = ${newValue}`,\n );\n\n let document: ReturnType<typeof parseDocument>;\n let parsedContents: YarnConfig;\n\n try {\n // In order to preserve the original formatting as much as possible, we want\n // manipulate the CST directly. Using the AST (the result of parseDocument)\n // does not guarantee that formatting would be the same after\n // stringification. However, the CST is more annoying to query for certain\n // values. Thus, we use both an annotated AST and a JS representation; the\n // former for manipulation, and the latter for querying/validation.\n document = parseDocument(fileContent, { keepSourceTokens: true });\n parsedContents = YarnConfig.parse(document.toString());\n } catch (err) {\n logger.debug({ err }, 'Could not parse yarnrc YAML file.');\n return null;\n }\n\n const oldVersion =\n catalogName === 'default'\n ? parsedContents.catalogs?.list?.[depName!]\n : is.object(parsedContents.catalogs?.list?.[catalogName]) &&\n is.string(depName)\n ? parsedContents.catalogs?.list?.[catalogName][depName]\n : undefined;\n\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // Update the value\n const path = getDepPath({\n depName: depName!,\n catalogName,\n });\n\n const modifiedDocument = changeDependencyIn(document, path, {\n newValue,\n newName: upgrade.newName,\n });\n\n if (!modifiedDocument) {\n // Case where we are explicitly unable to substitute the key/value, for\n // example if the value was an alias.\n return null;\n }\n\n return CST.stringify(modifiedDocument.contents!.srcToken!);\n}\n\n/**\n * Change the scalar name and/or value of a collection item in a YAML document,\n * while keeping formatting consistent. Mutates the given document.\n */\nfunction changeDependencyIn(\n document: Document,\n path: string[],\n { newName, newValue }: { newName?: string; newValue?: string },\n): Document | null {\n const parentPath = path.slice(0, -1);\n const relevantItemKey = path.at(-1);\n\n const parentNode = document.getIn(parentPath);\n\n if (!parentNode || !isCollection(parentNode)) {\n return null;\n }\n\n const relevantNode = parentNode.items.find(\n (item) =>\n isPair(item) && isScalar(item.key) && item.key.value === relevantItemKey,\n );\n\n if (!relevantNode || !isPair(relevantNode)) {\n return null;\n }\n\n if (newName) {\n /* the try..catch block above already throws if a key is an alias */\n CST.setScalarValue(relevantNode.srcToken!.key!, newName);\n }\n\n if (newValue) {\n // We only support scalar values when substituting. This explicitly avoids\n // substituting aliases, since those can be resolved from a shared location,\n // and replacing either the referrent anchor or the alias would be wrong in\n // the general case. We leave this up to the user, e.g. via a Regex custom\n // manager.\n if (!CST.isScalar(relevantNode.srcToken?.value)) {\n return null;\n }\n CST.setScalarValue(relevantNode.srcToken.value, newValue);\n }\n\n return document;\n}\n\nfunction getDepPath({\n catalogName,\n depName,\n}: {\n catalogName: string;\n depName: string;\n}): string[] {\n if (catalogName === 'default') {\n return ['catalogs', 'list', depName];\n } else {\n return ['catalogs', 'list', catalogName, depName];\n }\n}\n"]}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED