renovate 41.167.0 → 41.167.1
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 +13 -13
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/platform/gerrit/client.d.ts +1 -1
- package/dist/modules/platform/gerrit/client.js +6 -22
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.d.ts +1 -2
- package/dist/modules/platform/gerrit/index.js +2 -10
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +0 -6
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/package.json +2 -2
- package/renovate-schema.json +2 -2
|
@@ -27,8 +27,8 @@ exports.hashMap.set('circleci', 'c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e
|
|
|
27
27
|
exports.hashMap.set('cloudbuild', 'e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');
|
|
28
28
|
exports.hashMap.set('cocoapods', 'a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');
|
|
29
29
|
exports.hashMap.set('composer', 'd1de64c4276d4abd41a2007346d1c2b81735675ac4036b337beb25f37813c622');
|
|
30
|
-
exports.hashMap.set('conan', '
|
|
31
|
-
exports.hashMap.set('copier', '
|
|
30
|
+
exports.hashMap.set('conan', '4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');
|
|
31
|
+
exports.hashMap.set('copier', 'aab6bf750a30b9efdbbee15b75e04e27383b2722ff7a64f238333a683ad442ca');
|
|
32
32
|
exports.hashMap.set('cpanfile', '9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');
|
|
33
33
|
exports.hashMap.set('crossplane', '76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');
|
|
34
34
|
exports.hashMap.set('crow', '6b8b61da3622456dfc0768978c7bfe991b63d9c6f67080c8840569cd95a6219b');
|
|
@@ -48,12 +48,12 @@ exports.hashMap.set('gitlabci-include', '5bc01de9b40ecc8888a37690152f4a2f9cacc50
|
|
|
48
48
|
exports.hashMap.set('glasskube', 'fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');
|
|
49
49
|
exports.hashMap.set('gleam', '8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');
|
|
50
50
|
exports.hashMap.set('gomod', '6809a0892a5b50c03f7cb1dd86f8139fc3d858215965cc6d12041dae07a47a1a');
|
|
51
|
-
exports.hashMap.set('gradle', '
|
|
52
|
-
exports.hashMap.set('gradle-wrapper', '
|
|
51
|
+
exports.hashMap.set('gradle', '417dec82bd1d38cbd27a560aa3b4e27c35d533e1f95fb16a3423c983a18c6582');
|
|
52
|
+
exports.hashMap.set('gradle-wrapper', '8035248857cd8c32b382ee6411e67799885feac6c6c43f26d48d9dad8d004e76');
|
|
53
53
|
exports.hashMap.set('haskell-cabal', 'a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');
|
|
54
54
|
exports.hashMap.set('helm-requirements', '8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');
|
|
55
55
|
exports.hashMap.set('helm-values', 'fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');
|
|
56
|
-
exports.hashMap.set('helmfile', '
|
|
56
|
+
exports.hashMap.set('helmfile', '85424858e74869bf27bd38dd0105299540c665c259f46fa7a63506943fad0f5a');
|
|
57
57
|
exports.hashMap.set('helmsman', '734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');
|
|
58
58
|
exports.hashMap.set('helmv3', '8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');
|
|
59
59
|
exports.hashMap.set('hermit', 'c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');
|
|
@@ -65,7 +65,7 @@ exports.hashMap.set('kotlin-script', '60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc0
|
|
|
65
65
|
exports.hashMap.set('kubernetes', '62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');
|
|
66
66
|
exports.hashMap.set('kustomize', 'ec7716faba585471109a2ce9b155ededa2eea47b47e7ac600f64eb20ae0d9cc4');
|
|
67
67
|
exports.hashMap.set('leiningen', '0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');
|
|
68
|
-
exports.hashMap.set('maven', '
|
|
68
|
+
exports.hashMap.set('maven', '5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');
|
|
69
69
|
exports.hashMap.set('maven-wrapper', '95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');
|
|
70
70
|
exports.hashMap.set('meteor', 'a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');
|
|
71
71
|
exports.hashMap.set('mint', '7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');
|
|
@@ -73,17 +73,17 @@ exports.hashMap.set('mise', 'd84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de
|
|
|
73
73
|
exports.hashMap.set('mix', '6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');
|
|
74
74
|
exports.hashMap.set('nix', 'de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');
|
|
75
75
|
exports.hashMap.set('nodenv', 'd159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');
|
|
76
|
-
exports.hashMap.set('npm', '
|
|
77
|
-
exports.hashMap.set('nuget', '
|
|
76
|
+
exports.hashMap.set('npm', '7bd3f28a6deb7d0e6d17b27bd06a853e45f41142703763e9224737015a36efe2');
|
|
77
|
+
exports.hashMap.set('nuget', '88ed155e9c990fddd1bc7c237a3f4e62b8c18f0f520e7d81e40d29a699767428');
|
|
78
78
|
exports.hashMap.set('nvm', '2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');
|
|
79
79
|
exports.hashMap.set('ocb', 'bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');
|
|
80
80
|
exports.hashMap.set('osgi', 'dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');
|
|
81
|
-
exports.hashMap.set('pep621', '
|
|
81
|
+
exports.hashMap.set('pep621', 'b751518af0945d2ec0871c5dfb6f6e5190d1b9ffe4dfe7cfc14cf633cb629182');
|
|
82
82
|
exports.hashMap.set('pep723', 'bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');
|
|
83
|
-
exports.hashMap.set('pip-compile', '
|
|
83
|
+
exports.hashMap.set('pip-compile', '7a8878bc3cfd1e8920557176d924230960010b5bac5abc2d00613886ffb487b5');
|
|
84
84
|
exports.hashMap.set('pip_requirements', '140cca562c9264fc2570a1837994cec14c427651fba507f536adc084e48d8dec');
|
|
85
85
|
exports.hashMap.set('pip_setup', '31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');
|
|
86
|
-
exports.hashMap.set('pipenv', '
|
|
86
|
+
exports.hashMap.set('pipenv', '02b3c60e01f73dce4a439ba4aecfc97467dfae0ca5be9628548db4079a1e7b38');
|
|
87
87
|
exports.hashMap.set('pixi', 'ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');
|
|
88
88
|
exports.hashMap.set('poetry', '42812ba90d7647e9072309068092a6aa69c5eb3cc674c12b9cfe50afa41a015a');
|
|
89
89
|
exports.hashMap.set('pre-commit', '64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');
|
|
@@ -111,6 +111,6 @@ exports.hashMap.set('unity3d', '9a61f8db397bc962f03a1d82045805ffa89863894e26824e
|
|
|
111
111
|
exports.hashMap.set('velaci', '9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');
|
|
112
112
|
exports.hashMap.set('vendir', 'c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');
|
|
113
113
|
exports.hashMap.set('woodpecker', 'eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');
|
|
114
|
-
exports.hashMap.set('jsonata', '
|
|
115
|
-
exports.hashMap.set('regex', '
|
|
114
|
+
exports.hashMap.set('jsonata', 'b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');
|
|
115
|
+
exports.hashMap.set('regex', 'baa61e8cd76a22201283a10749170dd35bae562ecf44a58ceca39cae754e208e');
|
|
116
116
|
//# sourceMappingURL=fingerprint.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,kEAAkE,CAAC,CAAC;AACtG,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,yBAAyB,EAAC,kEAAkE,CAAC,CAAC;AAC1G,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,kEAAkE,CAAC,CAAC;AACrG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC","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','4e3d00184b146e5c0ad69433697076f722afe933701ab08676af13e47d289eac');\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','940ad758faff772794f754d190725e9339e9139a0df0f5e16f46884ef31d0cfc');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','ca2d34c35ad8aaa5881f925933d743f948d712aa20ad51b187bcc1830df8c47c');\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','5dd7cf04caf87613de69c7658e3b6eab944569077576f7c192691b15535e3b5e');\nhashMap.set('copier','93bb88b1f6be0825e464ba57ccf2a0a4c4519dc9e0823f3727656cde8282f848');\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','409cdd5915ebb9d5cdd7c0d99c4c023f212765f81e24c506a200eafbecf55e64');\nhashMap.set('github-actions','8d44776f5902cd5aacdf7ece0282306d864e8a88f4c0427737846542e2d7cbed');\nhashMap.set('gitlabci','1f2e3e3a3013488e68d2aa0e39d80ee3bfbc9a01d817874f4c8195f8aff1fac9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','6809a0892a5b50c03f7cb1dd86f8139fc3d858215965cc6d12041dae07a47a1a');\nhashMap.set('gradle','7b6be609408de4a02ee6a7ec033a801bdb00b0530a30a89e87748fa21e7540d2');\nhashMap.set('gradle-wrapper','112553b79b28c3f27373ba33ffbc00405b7e1d744730e34ab41c5acb52f124a0');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','7ad2faef418ecca5634a6dae6dd6554723b5667fa7186333af56d5663097dc3b');\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','ec7716faba585471109a2ce9b155ededa2eea47b47e7ac600f64eb20ae0d9cc4');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','3a476004f59793a4f3c04fb395e12c533362544d13b775eb4c6fc8de7d214979');\nhashMap.set('maven-wrapper','95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','d84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');\nhashMap.set('mix','6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');\nhashMap.set('nix','de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','b6d737914a506f1401090cff63bae191d4da2f9e10a13a4b1c58cce9422dec58');\nhashMap.set('nuget','ca1bf514985147642c0be353b30ec747fd12efcd44c552195b94768844b8e288');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','4169af94c3aec12618a18952944f525fcbc7f0569604c196d15c167b4e0d98e6');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','cc163753ed5f396eaff8af0d7717afcc26a068004622b97995cfedcc7033ced3');\nhashMap.set('pip_requirements','140cca562c9264fc2570a1837994cec14c427651fba507f536adc084e48d8dec');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','ff0da7a25698e0b9b5fa8f262478b30a39b4978cf107d0de45f11d919ccea0c8');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','42812ba90d7647e9072309068092a6aa69c5eb3cc674c12b9cfe50afa41a015a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','a2e38469167f49a34503e25816c7b9dd113b65bd10a3ad3fa325ac4ce571a453');\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','b32d2317bf2cf032243c417463f3760e4decf820d2e5332e6415e16dcf05e9ab');\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','c87a96fa540596f78e91dd98fc7f4505bda925cd75a0b50ded79e91f0394b2ea');\nhashMap.set('regex','0c7054bbaf13894f5498b25f8ea1d82cb7ba7635d2fd653ee6333b624cdaa7e3');"]}
|
|
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','4e3d00184b146e5c0ad69433697076f722afe933701ab08676af13e47d289eac');\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','940ad758faff772794f754d190725e9339e9139a0df0f5e16f46884ef31d0cfc');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','ca2d34c35ad8aaa5881f925933d743f948d712aa20ad51b187bcc1830df8c47c');\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','4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');\nhashMap.set('copier','aab6bf750a30b9efdbbee15b75e04e27383b2722ff7a64f238333a683ad442ca');\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','409cdd5915ebb9d5cdd7c0d99c4c023f212765f81e24c506a200eafbecf55e64');\nhashMap.set('github-actions','8d44776f5902cd5aacdf7ece0282306d864e8a88f4c0427737846542e2d7cbed');\nhashMap.set('gitlabci','1f2e3e3a3013488e68d2aa0e39d80ee3bfbc9a01d817874f4c8195f8aff1fac9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','6809a0892a5b50c03f7cb1dd86f8139fc3d858215965cc6d12041dae07a47a1a');\nhashMap.set('gradle','417dec82bd1d38cbd27a560aa3b4e27c35d533e1f95fb16a3423c983a18c6582');\nhashMap.set('gradle-wrapper','8035248857cd8c32b382ee6411e67799885feac6c6c43f26d48d9dad8d004e76');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','85424858e74869bf27bd38dd0105299540c665c259f46fa7a63506943fad0f5a');\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','ec7716faba585471109a2ce9b155ededa2eea47b47e7ac600f64eb20ae0d9cc4');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');\nhashMap.set('maven-wrapper','95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','d84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');\nhashMap.set('mix','6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');\nhashMap.set('nix','de79bb4858d961826a67bae620c7218616437acb885df9bf118874f6defc5a1b');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','7bd3f28a6deb7d0e6d17b27bd06a853e45f41142703763e9224737015a36efe2');\nhashMap.set('nuget','88ed155e9c990fddd1bc7c237a3f4e62b8c18f0f520e7d81e40d29a699767428');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','b751518af0945d2ec0871c5dfb6f6e5190d1b9ffe4dfe7cfc14cf633cb629182');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','7a8878bc3cfd1e8920557176d924230960010b5bac5abc2d00613886ffb487b5');\nhashMap.set('pip_requirements','140cca562c9264fc2570a1837994cec14c427651fba507f536adc084e48d8dec');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','02b3c60e01f73dce4a439ba4aecfc97467dfae0ca5be9628548db4079a1e7b38');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','42812ba90d7647e9072309068092a6aa69c5eb3cc674c12b9cfe50afa41a015a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','a2e38469167f49a34503e25816c7b9dd113b65bd10a3ad3fa325ac4ce571a453');\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','b32d2317bf2cf032243c417463f3760e4decf820d2e5332e6415e16dcf05e9ab');\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','b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');\nhashMap.set('regex','baa61e8cd76a22201283a10749170dd35bae562ecf44a58ceca39cae754e208e');"]}
|
|
@@ -5,7 +5,7 @@ declare class GerritClient {
|
|
|
5
5
|
getProjectInfo(repository: string): Promise<GerritProjectInfo>;
|
|
6
6
|
getBranchInfo(repository: string): Promise<GerritBranchInfo>;
|
|
7
7
|
findChanges(repository: string, findPRConfig: GerritFindPRConfig): Promise<GerritChange[]>;
|
|
8
|
-
getChange(changeNumber: number,
|
|
8
|
+
getChange(changeNumber: number, requestDetails?: GerritRequestDetail[]): Promise<GerritChange>;
|
|
9
9
|
getMergeableInfo(change: GerritChange): Promise<GerritMergeableInfo>;
|
|
10
10
|
abandonChange(changeNumber: number, message?: string): Promise<void>;
|
|
11
11
|
submitChange(changeNumber: number): Promise<GerritChange>;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.client = void 0;
|
|
4
4
|
const error_messages_1 = require("../../../constants/error-messages");
|
|
5
5
|
const logger_1 = require("../../../logger");
|
|
6
|
-
const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
|
|
7
6
|
const gerrit_1 = require("../../../util/http/gerrit");
|
|
8
7
|
const url_1 = require("../../../util/url");
|
|
9
8
|
const utils_1 = require("./utils");
|
|
10
9
|
class GerritClient {
|
|
11
|
-
|
|
10
|
+
// memCache is disabled because GerritPrCache will provide a smarter caching
|
|
11
|
+
gerritHttp = new gerrit_1.GerritHttp({ memCache: false });
|
|
12
12
|
async getRepos() {
|
|
13
13
|
const res = await this.gerritHttp.getJsonUnchecked('a/projects/?type=CODE&state=ACTIVE');
|
|
14
14
|
return Object.keys(res.body);
|
|
@@ -25,14 +25,6 @@ class GerritClient {
|
|
|
25
25
|
return branchInfo.body;
|
|
26
26
|
}
|
|
27
27
|
async findChanges(repository, findPRConfig) {
|
|
28
|
-
/* v8 ignore start: temporary code */
|
|
29
|
-
// Disables memCache (enabled by default) to be replaced by memCacheProvider
|
|
30
|
-
const opts = { memCache: false };
|
|
31
|
-
// TODO: should refresh the cache rather than just ignore it
|
|
32
|
-
if (!findPRConfig.refreshCache) {
|
|
33
|
-
opts.cacheProvider = memory_http_cache_provider_1.memCacheProvider;
|
|
34
|
-
}
|
|
35
|
-
/* v8 ignore stop */
|
|
36
28
|
const startOffset = findPRConfig.startOffset ?? 0;
|
|
37
29
|
const pageLimit = findPRConfig.singleChange
|
|
38
30
|
? 1
|
|
@@ -48,7 +40,7 @@ class GerritClient {
|
|
|
48
40
|
while (true) {
|
|
49
41
|
query.S = allChanges.length + startOffset;
|
|
50
42
|
const queryString = `q=${filters.join('+')}&${(0, url_1.getQueryString)(query)}`;
|
|
51
|
-
const changes = await this.gerritHttp.getJsonUnchecked(`a/changes/?${queryString}
|
|
43
|
+
const changes = await this.gerritHttp.getJsonUnchecked(`a/changes/?${queryString}`);
|
|
52
44
|
logger_1.logger.trace(`findChanges(${queryString},start=${query.S},limit=${query.n}) => ${changes.body.length}`);
|
|
53
45
|
const lastChange = changes.body.at(-1);
|
|
54
46
|
let hasMoreChanges = false;
|
|
@@ -65,17 +57,9 @@ class GerritClient {
|
|
|
65
57
|
}
|
|
66
58
|
return allChanges;
|
|
67
59
|
}
|
|
68
|
-
async getChange(changeNumber,
|
|
69
|
-
/* v8 ignore start: temporary code */
|
|
70
|
-
// Disables memCache (enabled by default) to be replaced by memCacheProvider
|
|
71
|
-
const opts = { memCache: false };
|
|
72
|
-
// TODO: should refresh the cache rather than just ignore it
|
|
73
|
-
if (!refreshCache) {
|
|
74
|
-
opts.cacheProvider = memory_http_cache_provider_1.memCacheProvider;
|
|
75
|
-
}
|
|
76
|
-
/* v8 ignore stop */
|
|
60
|
+
async getChange(changeNumber, requestDetails) {
|
|
77
61
|
const queryString = (0, url_1.getQueryString)({ o: requestDetails });
|
|
78
|
-
const changes = await this.gerritHttp.getJsonUnchecked(`a/changes/${changeNumber}?${queryString}
|
|
62
|
+
const changes = await this.gerritHttp.getJsonUnchecked(`a/changes/${changeNumber}?${queryString}`);
|
|
79
63
|
return changes.body;
|
|
80
64
|
}
|
|
81
65
|
async getMergeableInfo(change) {
|
|
@@ -95,7 +79,7 @@ class GerritClient {
|
|
|
95
79
|
return change.body;
|
|
96
80
|
}
|
|
97
81
|
async getMessages(changeNumber) {
|
|
98
|
-
const messages = await this.gerritHttp.getJsonUnchecked(`a/changes/${changeNumber}/messages
|
|
82
|
+
const messages = await this.gerritHttp.getJsonUnchecked(`a/changes/${changeNumber}/messages`);
|
|
99
83
|
return messages.body;
|
|
100
84
|
}
|
|
101
85
|
async addMessage(changeNumber, fullMessage, tag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPOSITORY_ARCHIVED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport { GerritHttp } from '../../../util/http/gerrit';\nimport type { HttpOptions } from '../../../util/http/types';\nimport { getQueryString } from '../../../util/url';\nimport type {\n GerritAccountInfo,\n GerritBranchInfo,\n GerritChange,\n GerritChangeMessageInfo,\n GerritFindPRConfig,\n GerritMergeableInfo,\n GerritProjectInfo,\n GerritRequestDetail,\n} from './types';\nimport { mapPrStateToGerritFilter } from './utils';\n\nclass GerritClient {\n private gerritHttp = new GerritHttp();\n\n async getRepos(): Promise<string[]> {\n const res = await this.gerritHttp.getJsonUnchecked<string[]>(\n 'a/projects/?type=CODE&state=ACTIVE',\n );\n return Object.keys(res.body);\n }\n\n async getProjectInfo(repository: string): Promise<GerritProjectInfo> {\n const projectInfo =\n await this.gerritHttp.getJsonUnchecked<GerritProjectInfo>(\n `a/projects/${encodeURIComponent(repository)}`,\n );\n if (projectInfo.body.state !== 'ACTIVE') {\n throw new Error(REPOSITORY_ARCHIVED);\n }\n return projectInfo.body;\n }\n\n async getBranchInfo(repository: string): Promise<GerritBranchInfo> {\n const branchInfo = await this.gerritHttp.getJsonUnchecked<GerritBranchInfo>(\n `a/projects/${encodeURIComponent(repository)}/branches/HEAD`,\n );\n return branchInfo.body;\n }\n\n async findChanges(\n repository: string,\n findPRConfig: GerritFindPRConfig,\n ): Promise<GerritChange[]> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!findPRConfig.refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const startOffset = findPRConfig.startOffset ?? 0;\n const pageLimit = findPRConfig.singleChange\n ? 1\n : (findPRConfig.pageLimit ?? 50);\n\n const query: Record<string, any> = {\n n: pageLimit,\n };\n if (findPRConfig.requestDetails) {\n query.o = findPRConfig.requestDetails;\n }\n\n const filters = GerritClient.buildSearchFilters(repository, findPRConfig);\n\n const allChanges: GerritChange[] = [];\n\n while (true) {\n query.S = allChanges.length + startOffset;\n const queryString = `q=${filters.join('+')}&${getQueryString(query)}`;\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange[]>(\n `a/changes/?${queryString}`,\n opts,\n );\n\n logger.trace(\n `findChanges(${queryString},start=${query.S},limit=${query.n}) => ${changes.body.length}`,\n );\n\n const lastChange = changes.body.at(-1);\n let hasMoreChanges = false;\n if (lastChange?._more_changes) {\n hasMoreChanges = true;\n delete lastChange._more_changes;\n }\n\n allChanges.push(...changes.body);\n\n if (\n findPRConfig.singleChange ||\n findPRConfig.noPagination ||\n !hasMoreChanges\n ) {\n break;\n }\n }\n\n return allChanges;\n }\n\n async getChange(\n changeNumber: number,\n refreshCache?: boolean,\n requestDetails?: GerritRequestDetail[],\n ): Promise<GerritChange> {\n /* v8 ignore start: temporary code */\n // Disables memCache (enabled by default) to be replaced by memCacheProvider\n const opts: HttpOptions = { memCache: false };\n // TODO: should refresh the cache rather than just ignore it\n if (!refreshCache) {\n opts.cacheProvider = memCacheProvider;\n }\n /* v8 ignore stop */\n\n const queryString = getQueryString({ o: requestDetails });\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange>(\n `a/changes/${changeNumber}?${queryString}`,\n opts,\n );\n return changes.body;\n }\n\n async getMergeableInfo(change: GerritChange): Promise<GerritMergeableInfo> {\n const mergeable =\n await this.gerritHttp.getJsonUnchecked<GerritMergeableInfo>(\n `a/changes/${change._number}/revisions/current/mergeable`,\n );\n return mergeable.body;\n }\n\n async abandonChange(changeNumber: number, message?: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/abandon`, {\n body: {\n message,\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n });\n }\n\n async submitChange(changeNumber: number): Promise<GerritChange> {\n const change = await this.gerritHttp.postJson<GerritChange>(\n `a/changes/${changeNumber}/submit`,\n );\n return change.body;\n }\n\n async getMessages(changeNumber: number): Promise<GerritChangeMessageInfo[]> {\n const messages = await this.gerritHttp.getJsonUnchecked<\n GerritChangeMessageInfo[]\n >(`a/changes/${changeNumber}/messages`, { memCache: false });\n return messages.body;\n }\n\n async addMessage(\n changeNumber: number,\n fullMessage: string,\n tag?: string,\n ): Promise<void> {\n const message = this.normalizeMessage(fullMessage);\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { message, tag, notify: 'NONE' } },\n );\n }\n\n async checkForExistingMessage(\n changeNumber: number,\n newMessage: string,\n msgType?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<boolean> {\n const messagesToSearch = messages ?? (await this.getMessages(changeNumber));\n\n return messagesToSearch.some(\n (existingMsg) =>\n (msgType === undefined || msgType === existingMsg.tag) &&\n existingMsg.message.includes(newMessage),\n );\n }\n\n async addMessageIfNotAlreadyExists(\n changeNumber: number,\n message: string,\n tag?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<void> {\n const newMsg = this.normalizeMessage(message);\n if (\n !(await this.checkForExistingMessage(changeNumber, newMsg, tag, messages))\n ) {\n await this.addMessage(changeNumber, newMsg, tag);\n }\n }\n\n async setLabel(\n changeNumber: number,\n label: string,\n value: number,\n ): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { labels: { [label]: value }, notify: 'NONE' } },\n );\n }\n\n async deleteHashtag(changeNumber: number, hashtag: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/hashtags`, {\n body: { remove: [hashtag] },\n });\n }\n\n async addReviewers(changeNumber: number, reviewers: string[]): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n {\n body: {\n reviewers: reviewers.map((r) => ({ reviewer: r })),\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n },\n );\n }\n\n async addAssignee(changeNumber: number, assignee: string): Promise<void> {\n await this.gerritHttp.putJson<GerritAccountInfo>(\n // TODO: refactor this as this API removed in Gerrit 3.8\n `a/changes/${changeNumber}/assignee`,\n {\n body: { assignee },\n },\n );\n }\n\n async getFile(\n repo: string,\n branch: string,\n fileName: string,\n ): Promise<string> {\n const base64Content = await this.gerritHttp.getText(\n `a/projects/${encodeURIComponent(\n repo,\n )}/branches/${encodeURIComponent(branch)}/files/${encodeURIComponent(fileName)}/content`,\n );\n return Buffer.from(base64Content.body, 'base64').toString();\n }\n\n normalizeMessage(message: string): string {\n //the last \\n was removed from gerrit after the comment was added...\n return message.substring(0, 0x4000).trim();\n }\n\n private static buildSearchFilters(\n repository: string,\n searchConfig: GerritFindPRConfig,\n ): string[] {\n const filters = [\n 'owner:self',\n `project:${repository}`,\n '-is:wip',\n '-is:private',\n ];\n const filterState = mapPrStateToGerritFilter(searchConfig.state);\n if (filterState) {\n filters.push(filterState);\n }\n if (searchConfig.branchName) {\n filters.push(`footer:Renovate-Branch=${searchConfig.branchName}`);\n }\n // TODO: Use Gerrit 3.6+ hasfooter:Renovate-Branch when branchName is empty:\n // https://gerrit-review.googlesource.com/c/gerrit/+/329488\n if (searchConfig.targetBranch) {\n filters.push(`branch:${searchConfig.targetBranch}`);\n }\n if (searchConfig.label) {\n filters.push(`label:Code-Review=${searchConfig.label}`);\n }\n if (searchConfig.prTitle) {\n // Quotes in the commit message must be escaped with a backslash:\n // https://gerrit-review.googlesource.com/Documentation/user-search.html#search-operators\n // TODO: Use Gerrit 3.8+ subject query instead:\n // https://gerrit-review.googlesource.com/c/gerrit/+/354037\n filters.push(\n `message:${encodeURIComponent('\"' + searchConfig.prTitle.replaceAll('\"', '\\\\\"') + '\"')}`,\n );\n }\n return filters;\n }\n}\n\nexport const client = new GerritClient();\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPOSITORY_ARCHIVED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { GerritHttp } from '../../../util/http/gerrit';\nimport { getQueryString } from '../../../util/url';\nimport type {\n GerritAccountInfo,\n GerritBranchInfo,\n GerritChange,\n GerritChangeMessageInfo,\n GerritFindPRConfig,\n GerritMergeableInfo,\n GerritProjectInfo,\n GerritRequestDetail,\n} from './types';\nimport { mapPrStateToGerritFilter } from './utils';\n\nclass GerritClient {\n // memCache is disabled because GerritPrCache will provide a smarter caching\n private gerritHttp = new GerritHttp({ memCache: false });\n\n async getRepos(): Promise<string[]> {\n const res = await this.gerritHttp.getJsonUnchecked<string[]>(\n 'a/projects/?type=CODE&state=ACTIVE',\n );\n return Object.keys(res.body);\n }\n\n async getProjectInfo(repository: string): Promise<GerritProjectInfo> {\n const projectInfo =\n await this.gerritHttp.getJsonUnchecked<GerritProjectInfo>(\n `a/projects/${encodeURIComponent(repository)}`,\n );\n if (projectInfo.body.state !== 'ACTIVE') {\n throw new Error(REPOSITORY_ARCHIVED);\n }\n return projectInfo.body;\n }\n\n async getBranchInfo(repository: string): Promise<GerritBranchInfo> {\n const branchInfo = await this.gerritHttp.getJsonUnchecked<GerritBranchInfo>(\n `a/projects/${encodeURIComponent(repository)}/branches/HEAD`,\n );\n return branchInfo.body;\n }\n\n async findChanges(\n repository: string,\n findPRConfig: GerritFindPRConfig,\n ): Promise<GerritChange[]> {\n const startOffset = findPRConfig.startOffset ?? 0;\n const pageLimit = findPRConfig.singleChange\n ? 1\n : (findPRConfig.pageLimit ?? 50);\n\n const query: Record<string, any> = {\n n: pageLimit,\n };\n if (findPRConfig.requestDetails) {\n query.o = findPRConfig.requestDetails;\n }\n\n const filters = GerritClient.buildSearchFilters(repository, findPRConfig);\n\n const allChanges: GerritChange[] = [];\n\n while (true) {\n query.S = allChanges.length + startOffset;\n const queryString = `q=${filters.join('+')}&${getQueryString(query)}`;\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange[]>(\n `a/changes/?${queryString}`,\n );\n\n logger.trace(\n `findChanges(${queryString},start=${query.S},limit=${query.n}) => ${changes.body.length}`,\n );\n\n const lastChange = changes.body.at(-1);\n let hasMoreChanges = false;\n if (lastChange?._more_changes) {\n hasMoreChanges = true;\n delete lastChange._more_changes;\n }\n\n allChanges.push(...changes.body);\n\n if (\n findPRConfig.singleChange ||\n findPRConfig.noPagination ||\n !hasMoreChanges\n ) {\n break;\n }\n }\n\n return allChanges;\n }\n\n async getChange(\n changeNumber: number,\n requestDetails?: GerritRequestDetail[],\n ): Promise<GerritChange> {\n const queryString = getQueryString({ o: requestDetails });\n const changes = await this.gerritHttp.getJsonUnchecked<GerritChange>(\n `a/changes/${changeNumber}?${queryString}`,\n );\n return changes.body;\n }\n\n async getMergeableInfo(change: GerritChange): Promise<GerritMergeableInfo> {\n const mergeable =\n await this.gerritHttp.getJsonUnchecked<GerritMergeableInfo>(\n `a/changes/${change._number}/revisions/current/mergeable`,\n );\n return mergeable.body;\n }\n\n async abandonChange(changeNumber: number, message?: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/abandon`, {\n body: {\n message,\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n });\n }\n\n async submitChange(changeNumber: number): Promise<GerritChange> {\n const change = await this.gerritHttp.postJson<GerritChange>(\n `a/changes/${changeNumber}/submit`,\n );\n return change.body;\n }\n\n async getMessages(changeNumber: number): Promise<GerritChangeMessageInfo[]> {\n const messages = await this.gerritHttp.getJsonUnchecked<\n GerritChangeMessageInfo[]\n >(`a/changes/${changeNumber}/messages`);\n return messages.body;\n }\n\n async addMessage(\n changeNumber: number,\n fullMessage: string,\n tag?: string,\n ): Promise<void> {\n const message = this.normalizeMessage(fullMessage);\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { message, tag, notify: 'NONE' } },\n );\n }\n\n async checkForExistingMessage(\n changeNumber: number,\n newMessage: string,\n msgType?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<boolean> {\n const messagesToSearch = messages ?? (await this.getMessages(changeNumber));\n\n return messagesToSearch.some(\n (existingMsg) =>\n (msgType === undefined || msgType === existingMsg.tag) &&\n existingMsg.message.includes(newMessage),\n );\n }\n\n async addMessageIfNotAlreadyExists(\n changeNumber: number,\n message: string,\n tag?: string,\n messages?: GerritChangeMessageInfo[],\n ): Promise<void> {\n const newMsg = this.normalizeMessage(message);\n if (\n !(await this.checkForExistingMessage(changeNumber, newMsg, tag, messages))\n ) {\n await this.addMessage(changeNumber, newMsg, tag);\n }\n }\n\n async setLabel(\n changeNumber: number,\n label: string,\n value: number,\n ): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n { body: { labels: { [label]: value }, notify: 'NONE' } },\n );\n }\n\n async deleteHashtag(changeNumber: number, hashtag: string): Promise<void> {\n await this.gerritHttp.postJson(`a/changes/${changeNumber}/hashtags`, {\n body: { remove: [hashtag] },\n });\n }\n\n async addReviewers(changeNumber: number, reviewers: string[]): Promise<void> {\n await this.gerritHttp.postJson(\n `a/changes/${changeNumber}/revisions/current/review`,\n {\n body: {\n reviewers: reviewers.map((r) => ({ reviewer: r })),\n notify: 'OWNER_REVIEWERS', // Avoids notifying cc's\n },\n },\n );\n }\n\n async addAssignee(changeNumber: number, assignee: string): Promise<void> {\n await this.gerritHttp.putJson<GerritAccountInfo>(\n // TODO: refactor this as this API removed in Gerrit 3.8\n `a/changes/${changeNumber}/assignee`,\n {\n body: { assignee },\n },\n );\n }\n\n async getFile(\n repo: string,\n branch: string,\n fileName: string,\n ): Promise<string> {\n const base64Content = await this.gerritHttp.getText(\n `a/projects/${encodeURIComponent(\n repo,\n )}/branches/${encodeURIComponent(branch)}/files/${encodeURIComponent(fileName)}/content`,\n );\n return Buffer.from(base64Content.body, 'base64').toString();\n }\n\n normalizeMessage(message: string): string {\n //the last \\n was removed from gerrit after the comment was added...\n return message.substring(0, 0x4000).trim();\n }\n\n private static buildSearchFilters(\n repository: string,\n searchConfig: GerritFindPRConfig,\n ): string[] {\n const filters = [\n 'owner:self',\n `project:${repository}`,\n '-is:wip',\n '-is:private',\n ];\n const filterState = mapPrStateToGerritFilter(searchConfig.state);\n if (filterState) {\n filters.push(filterState);\n }\n if (searchConfig.branchName) {\n filters.push(`footer:Renovate-Branch=${searchConfig.branchName}`);\n }\n // TODO: Use Gerrit 3.6+ hasfooter:Renovate-Branch when branchName is empty:\n // https://gerrit-review.googlesource.com/c/gerrit/+/329488\n if (searchConfig.targetBranch) {\n filters.push(`branch:${searchConfig.targetBranch}`);\n }\n if (searchConfig.label) {\n filters.push(`label:Code-Review=${searchConfig.label}`);\n }\n if (searchConfig.prTitle) {\n // Quotes in the commit message must be escaped with a backslash:\n // https://gerrit-review.googlesource.com/Documentation/user-search.html#search-operators\n // TODO: Use Gerrit 3.8+ subject query instead:\n // https://gerrit-review.googlesource.com/c/gerrit/+/354037\n filters.push(\n `message:${encodeURIComponent('\"' + searchConfig.prTitle.replaceAll('\"', '\\\\\"') + '\"')}`,\n );\n }\n return filters;\n }\n}\n\nexport const client = new GerritClient();\n"]}
|
|
@@ -21,11 +21,10 @@ export declare function getRepos(): Promise<string[]>;
|
|
|
21
21
|
*/
|
|
22
22
|
export declare function initRepo({ repository, gitUrl, }: RepoParams): Promise<RepoResult>;
|
|
23
23
|
export declare function findPr(findPRConfig: FindPRConfig): Promise<Pr | null>;
|
|
24
|
-
export declare function getPr(number: number
|
|
24
|
+
export declare function getPr(number: number): Promise<Pr | null>;
|
|
25
25
|
export declare function updatePr(prConfig: UpdatePrConfig): Promise<void>;
|
|
26
26
|
export declare function createPr(prConfig: CreatePRConfig): Promise<Pr | null>;
|
|
27
27
|
export declare function getBranchPr(branchName: string, targetBranch?: string): Promise<Pr | null>;
|
|
28
|
-
export declare function refreshPr(number: number): Promise<void>;
|
|
29
28
|
export declare function getPrList(): Promise<Pr[]>;
|
|
30
29
|
export declare function mergePr(config: MergePRConfig): Promise<boolean>;
|
|
31
30
|
/**
|
|
@@ -10,7 +10,6 @@ exports.getPr = getPr;
|
|
|
10
10
|
exports.updatePr = updatePr;
|
|
11
11
|
exports.createPr = createPr;
|
|
12
12
|
exports.getBranchPr = getBranchPr;
|
|
13
|
-
exports.refreshPr = refreshPr;
|
|
14
13
|
exports.getPrList = getPrList;
|
|
15
14
|
exports.mergePr = mergePr;
|
|
16
15
|
exports.getBranchStatus = getBranchStatus;
|
|
@@ -123,9 +122,9 @@ async function findPr(findPRConfig) {
|
|
|
123
122
|
})
|
|
124
123
|
: null;
|
|
125
124
|
}
|
|
126
|
-
async function getPr(number
|
|
125
|
+
async function getPr(number) {
|
|
127
126
|
try {
|
|
128
|
-
const change = await client_1.client.getChange(number,
|
|
127
|
+
const change = await client_1.client.getChange(number, utils_1.REQUEST_DETAILS_FOR_PRS);
|
|
129
128
|
return (0, utils_1.mapGerritChangeToPr)(change);
|
|
130
129
|
}
|
|
131
130
|
catch (err) {
|
|
@@ -151,7 +150,6 @@ async function createPr(prConfig) {
|
|
|
151
150
|
targetBranch: prConfig.targetBranch,
|
|
152
151
|
state: 'open',
|
|
153
152
|
singleChange: true,
|
|
154
|
-
refreshCache: true,
|
|
155
153
|
requestDetails: utils_1.REQUEST_DETAILS_FOR_PRS,
|
|
156
154
|
})).pop();
|
|
157
155
|
if (change === undefined) {
|
|
@@ -182,10 +180,6 @@ async function getBranchPr(branchName, targetBranch) {
|
|
|
182
180
|
})
|
|
183
181
|
: null;
|
|
184
182
|
}
|
|
185
|
-
async function refreshPr(number) {
|
|
186
|
-
// refresh cache
|
|
187
|
-
await getPr(number, true);
|
|
188
|
-
}
|
|
189
183
|
async function getPrList() {
|
|
190
184
|
const changes = await client_1.client.findChanges(config.repository, {
|
|
191
185
|
branchName: '',
|
|
@@ -217,7 +211,6 @@ async function getBranchStatus(branchName) {
|
|
|
217
211
|
state: 'open',
|
|
218
212
|
branchName,
|
|
219
213
|
singleChange: true,
|
|
220
|
-
refreshCache: true,
|
|
221
214
|
requestDetails: ['LABELS', 'SUBMITTABLE', 'CHECK'],
|
|
222
215
|
})).pop();
|
|
223
216
|
if (change) {
|
|
@@ -248,7 +241,6 @@ async function getBranchStatusCheck(branchName, context) {
|
|
|
248
241
|
branchName,
|
|
249
242
|
state: 'open',
|
|
250
243
|
singleChange: true,
|
|
251
|
-
refreshCache: true,
|
|
252
244
|
requestDetails: ['LABELS'],
|
|
253
245
|
})).pop();
|
|
254
246
|
if (change) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { logger } from '../../../logger';\nimport type { BranchStatus } from '../../../types';\nimport { parseJson } from '../../../util/common';\nimport * as git from '../../../util/git';\nimport { setBaseUrl } from '../../../util/http/gerrit';\nimport { regEx } from '../../../util/regex';\nimport { ensureTrailingSlash } from '../../../util/url';\nimport type {\n BranchStatusConfig,\n CreatePRConfig,\n EnsureCommentConfig,\n EnsureCommentRemovalConfigByContent,\n EnsureCommentRemovalConfigByTopic,\n EnsureIssueConfig,\n EnsureIssueResult,\n FindPRConfig,\n Issue,\n MergePRConfig,\n PlatformParams,\n PlatformResult,\n Pr,\n RepoParams,\n RepoResult,\n UpdatePrConfig,\n} from '../types';\nimport { repoFingerprint } from '../util';\n\nimport { smartTruncate } from '../utils/pr-body';\nimport { readOnlyIssueBody } from '../utils/read-only-issue-body';\nimport { client } from './client';\nimport { configureScm } from './scm';\nimport type { GerritLabelTypeInfo, GerritProjectInfo } from './types';\nimport {\n REQUEST_DETAILS_FOR_PRS,\n TAG_PULL_REQUEST_BODY,\n getGerritRepoUrl,\n mapBranchStatusToLabel,\n mapGerritChangeToPr,\n} from './utils';\n\nexport const id = 'gerrit';\n\nconst defaults: {\n endpoint?: string;\n} = {};\n\nlet config: {\n repository?: string;\n head?: string;\n config?: GerritProjectInfo;\n labels: Record<string, GerritLabelTypeInfo>;\n gerritUsername?: string;\n} = {\n labels: {},\n};\n\nexport function writeToConfig(newConfig: typeof config): void {\n config = { ...config, ...newConfig };\n}\n\nexport function initPlatform({\n endpoint,\n username,\n password,\n}: PlatformParams): Promise<PlatformResult> {\n logger.debug(`initPlatform(${endpoint!}, ${username!})`);\n if (!endpoint) {\n throw new Error('Init: You must configure a Gerrit Server endpoint');\n }\n if (!(username && password)) {\n throw new Error(\n 'Init: You must configure a Gerrit Server username/password',\n );\n }\n config.gerritUsername = username;\n defaults.endpoint = ensureTrailingSlash(endpoint);\n setBaseUrl(defaults.endpoint);\n const platformConfig: PlatformResult = {\n endpoint: defaults.endpoint,\n };\n return Promise.resolve(platformConfig);\n}\n\n/**\n * Get all state=\"ACTIVE\" and type=\"CODE\" repositories from gerrit\n */\nexport async function getRepos(): Promise<string[]> {\n logger.debug(`getRepos()`);\n return await client.getRepos();\n}\n\n/**\n * Clone repository to local directory\n * @param config\n */\nexport async function initRepo({\n repository,\n gitUrl,\n}: RepoParams): Promise<RepoResult> {\n logger.debug(`initRepo(${repository}, ${gitUrl})`);\n const projectInfo = await client.getProjectInfo(repository);\n const branchInfo = await client.getBranchInfo(repository);\n\n config = {\n ...config,\n repository,\n head: branchInfo.revision,\n config: projectInfo,\n labels: projectInfo.labels ?? {},\n };\n const baseUrl = defaults.endpoint!;\n const url = getGerritRepoUrl(repository, baseUrl);\n configureScm(repository, config.gerritUsername!);\n await git.initRepo({ url });\n\n //abandon \"open\" and \"rejected\" changes at startup\n const rejectedChanges = await client.findChanges(config.repository!, {\n branchName: '',\n state: 'open',\n label: '-2',\n });\n for (const change of rejectedChanges) {\n await client.abandonChange(\n change._number,\n 'This change has been abandoned as it was voted with Code-Review -2.',\n );\n logger.info(\n `Abandoned change ${change._number} with Code-Review -2 in repository ${repository}`,\n );\n }\n const repoConfig: RepoResult = {\n defaultBranch: config.head!,\n isFork: false,\n repoFingerprint: repoFingerprint(repository, baseUrl),\n };\n return repoConfig;\n}\n\nexport async function findPr(findPRConfig: FindPRConfig): Promise<Pr | null> {\n const change = (\n await client.findChanges(config.repository!, {\n ...findPRConfig,\n singleChange: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n return change\n ? mapGerritChangeToPr(change, {\n sourceBranch: findPRConfig.branchName,\n })\n : null;\n}\n\nexport async function getPr(\n number: number,\n refreshCache?: boolean,\n): Promise<Pr | null> {\n try {\n const change = await client.getChange(\n number,\n refreshCache,\n REQUEST_DETAILS_FOR_PRS,\n );\n return mapGerritChangeToPr(change);\n } catch (err) {\n if (err.statusCode === 404) {\n return null;\n }\n throw err;\n }\n}\n\nexport async function updatePr(prConfig: UpdatePrConfig): Promise<void> {\n logger.debug(`updatePr(${prConfig.number}, ${prConfig.prTitle})`);\n if (prConfig.prBody) {\n await client.addMessageIfNotAlreadyExists(\n prConfig.number,\n prConfig.prBody,\n TAG_PULL_REQUEST_BODY,\n );\n }\n if (prConfig.state && prConfig.state === 'closed') {\n await client.abandonChange(prConfig.number);\n }\n}\n\nexport async function createPr(prConfig: CreatePRConfig): Promise<Pr | null> {\n logger.debug(\n `createPr(${prConfig.sourceBranch}, ${prConfig.prTitle}, ${\n prConfig.labels?.toString() ?? ''\n })`,\n );\n const change = (\n await client.findChanges(config.repository!, {\n branchName: prConfig.sourceBranch,\n targetBranch: prConfig.targetBranch,\n state: 'open',\n singleChange: true,\n refreshCache: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n if (change === undefined) {\n throw new Error(\n `the change should be created automatically from previous push to refs/for/${prConfig.sourceBranch}`,\n );\n }\n const created = DateTime.fromISO(change.created.replace(' ', 'T'), {});\n const fiveMinutesAgo = DateTime.utc().minus({ minutes: 5 });\n if (created < fiveMinutesAgo) {\n throw new Error(\n `the change should have been created automatically from previous push to refs/for/${prConfig.sourceBranch}, but it was not created in the last 5 minutes (${change.created})`,\n );\n }\n await client.addMessageIfNotAlreadyExists(\n change._number,\n prConfig.prBody,\n TAG_PULL_REQUEST_BODY,\n change.messages,\n );\n return mapGerritChangeToPr(change, {\n sourceBranch: prConfig.sourceBranch,\n prBody: prConfig.prBody,\n });\n}\n\nexport async function getBranchPr(\n branchName: string,\n targetBranch?: string,\n): Promise<Pr | null> {\n const change = (\n await client.findChanges(config.repository!, {\n branchName,\n state: 'open',\n targetBranch,\n singleChange: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n return change\n ? mapGerritChangeToPr(change, {\n sourceBranch: branchName,\n })\n : null;\n}\n\nexport async function refreshPr(number: number): Promise<void> {\n // refresh cache\n await getPr(number, true);\n}\n\nexport async function getPrList(): Promise<Pr[]> {\n const changes = await client.findChanges(config.repository!, {\n branchName: '',\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n });\n return changes.map((change) => mapGerritChangeToPr(change)).filter(isTruthy);\n}\n\nexport async function mergePr(config: MergePRConfig): Promise<boolean> {\n logger.debug(\n `mergePr(${config.id}, ${config.branchName!}, ${config.strategy!})`,\n );\n try {\n const change = await client.submitChange(config.id);\n return change.status === 'MERGED';\n } catch (err) {\n if (err.statusCode === 409) {\n logger.warn(\n { err },\n \"Can't submit the change, because the submit rule doesn't allow it.\",\n );\n return false;\n }\n throw err;\n }\n}\n\n/**\n * BranchStatus for Gerrit assumes that the branchName refers to a change.\n * @param branchName\n */\nexport async function getBranchStatus(\n branchName: string,\n): Promise<BranchStatus> {\n logger.debug(`getBranchStatus(${branchName})`);\n const change = (\n await client.findChanges(config.repository!, {\n state: 'open',\n branchName,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['LABELS', 'SUBMITTABLE', 'CHECK'],\n })\n ).pop();\n if (change) {\n const hasProblems = change.problems && change.problems.length > 0;\n if (hasProblems) {\n return 'red';\n }\n const hasBlockingLabels = Object.values(change.labels ?? {}).some(\n (label) => label.blocking,\n );\n if (hasBlockingLabels) {\n return 'red';\n }\n if (change.submittable) {\n return 'green';\n }\n }\n return 'yellow';\n}\n\n/**\n * check the gerrit-change for the presence of the corresponding \"$context\" Gerrit label if configured,\n * return 'yellow' if not configured or not set\n * @param branchName\n * @param context renovate/stability-days || ...\n */\nexport async function getBranchStatusCheck(\n branchName: string,\n context: string,\n): Promise<BranchStatus | null> {\n const labelConfig = config.labels[context];\n if (labelConfig) {\n const change = (\n await client.findChanges(config.repository!, {\n branchName,\n state: 'open',\n singleChange: true,\n refreshCache: true,\n requestDetails: ['LABELS'],\n })\n ).pop();\n if (change) {\n const label = change.labels![context];\n if (label) {\n // Check for rejected or blocking first, as a label could have both rejected and approved\n if (label.rejected || label.blocking) {\n return 'red';\n }\n if (label.approved) {\n return 'green';\n }\n }\n }\n }\n return 'yellow';\n}\n\n/**\n * Apply the branch state $context to the corresponding gerrit label (if available)\n * context === \"renovate/stability-days\" / \"renovate/merge-confidence\" and state === \"green\"/...\n * @param branchStatusConfig\n */\nexport async function setBranchStatus(\n branchStatusConfig: BranchStatusConfig,\n): Promise<void> {\n const label = config.labels[branchStatusConfig.context];\n const labelValue =\n label && mapBranchStatusToLabel(branchStatusConfig.state, label);\n if (branchStatusConfig.context && labelValue) {\n const change = (\n await client.findChanges(config.repository!, {\n branchName: branchStatusConfig.branchName,\n state: 'open',\n singleChange: true,\n requestDetails: ['LABELS'],\n })\n ).pop();\n\n const labelKey = branchStatusConfig.context;\n if (!change?.labels || !Object.hasOwn(change.labels, labelKey)) {\n return;\n }\n\n await client.setLabel(change._number, labelKey, labelValue);\n }\n}\n\nexport async function getRawFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<string | null> {\n const repo = repoName ?? config.repository;\n if (!repo) {\n logger.debug('No repo so cannot getRawFile');\n return null;\n }\n const branch =\n branchOrTag ??\n (repo === config.repository ? (config.head ?? 'HEAD') : 'HEAD');\n const result = await client.getFile(repo, branch, fileName);\n return result;\n}\n\nexport async function getJsonFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<any> {\n const raw = await getRawFile(fileName, repoName, branchOrTag);\n return parseJson(raw, fileName);\n}\n\nexport async function addReviewers(\n number: number,\n reviewers: string[],\n): Promise<void> {\n await client.addReviewers(number, reviewers);\n}\n\n/**\n * add \"CC\" (only one possible)\n */\nexport async function addAssignees(\n number: number,\n assignees: string[],\n): Promise<void> {\n if (assignees.length) {\n if (assignees.length > 1) {\n logger.debug(\n `addAssignees(${number}, ${assignees.toString()}) called with more then one assignee! Gerrit only supports one assignee! Using the first from list.`,\n );\n }\n await client.addAssignee(number, assignees[0]);\n }\n}\n\nexport async function ensureComment(\n ensureComment: EnsureCommentConfig,\n): Promise<boolean> {\n logger.debug(\n `ensureComment(${ensureComment.number}, ${ensureComment.topic!}, ${\n ensureComment.content\n })`,\n );\n await client.addMessageIfNotAlreadyExists(\n ensureComment.number,\n ensureComment.content,\n ensureComment.topic ?? undefined,\n );\n return true;\n}\n\nexport function massageMarkdown(prBody: string, rebaseLabel: string): string {\n return (\n smartTruncate(readOnlyIssueBody(prBody), maxBodyLength())\n .replace('Branch creation', 'Change creation')\n .replace(\n 'close this Pull Request unmerged',\n 'abandon or vote this change with Code-Review -2',\n )\n .replace(\n 'Close this PR',\n 'Abandon or vote this change with Code-Review -2',\n )\n .replace(\n 'you tick the rebase/retry checkbox',\n `you add the _${rebaseLabel}_ hashtag to this change`,\n )\n .replace(\n 'checking the rebase/retry box above',\n `adding the _${rebaseLabel}_ hashtag to this change`,\n )\n .replace(regEx(/\\b(?:Pull Request|PR)/g), 'change')\n // Remove HTML tags not supported in Gerrit markdown\n .replace(regEx(/<\\/?summary>/g), '**')\n .replace(regEx(/<\\/?(details|blockquote)>/g), '')\n .replace(regEx(`\\n---\\n\\n.*?<!-- rebase-check -->.*?\\n`), '')\n .replace(regEx(/<!--renovate-(?:debug|config-hash):.*?-->/g), '')\n // Remove zero-width-space not supported in Gerrit markdown\n .replace(regEx(/​/g), '')\n );\n}\n\nexport function maxBodyLength(): number {\n return 16384; //TODO: check the real gerrit limit (max. chars)\n}\n\nexport async function deleteLabel(\n number: number,\n label: string,\n): Promise<void> {\n await client.deleteHashtag(number, label);\n}\n\nexport function ensureCommentRemoval(\n ensureCommentRemoval:\n | EnsureCommentRemovalConfigByTopic\n | EnsureCommentRemovalConfigByContent,\n): Promise<void> {\n return Promise.resolve();\n}\n\nexport function ensureIssueClosing(title: string): Promise<void> {\n return Promise.resolve();\n}\n\nexport function ensureIssue(\n issueConfig: EnsureIssueConfig,\n): Promise<EnsureIssueResult | null> {\n return Promise.resolve(null);\n}\n\nexport function findIssue(title: string): Promise<Issue | null> {\n return Promise.resolve(null);\n}\n\nexport function getIssueList(): Promise<Issue[]> {\n return Promise.resolve([]);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { logger } from '../../../logger';\nimport type { BranchStatus } from '../../../types';\nimport { parseJson } from '../../../util/common';\nimport * as git from '../../../util/git';\nimport { setBaseUrl } from '../../../util/http/gerrit';\nimport { regEx } from '../../../util/regex';\nimport { ensureTrailingSlash } from '../../../util/url';\nimport type {\n BranchStatusConfig,\n CreatePRConfig,\n EnsureCommentConfig,\n EnsureCommentRemovalConfigByContent,\n EnsureCommentRemovalConfigByTopic,\n EnsureIssueConfig,\n EnsureIssueResult,\n FindPRConfig,\n Issue,\n MergePRConfig,\n PlatformParams,\n PlatformResult,\n Pr,\n RepoParams,\n RepoResult,\n UpdatePrConfig,\n} from '../types';\nimport { repoFingerprint } from '../util';\n\nimport { smartTruncate } from '../utils/pr-body';\nimport { readOnlyIssueBody } from '../utils/read-only-issue-body';\nimport { client } from './client';\nimport { configureScm } from './scm';\nimport type { GerritLabelTypeInfo, GerritProjectInfo } from './types';\nimport {\n REQUEST_DETAILS_FOR_PRS,\n TAG_PULL_REQUEST_BODY,\n getGerritRepoUrl,\n mapBranchStatusToLabel,\n mapGerritChangeToPr,\n} from './utils';\n\nexport const id = 'gerrit';\n\nconst defaults: {\n endpoint?: string;\n} = {};\n\nlet config: {\n repository?: string;\n head?: string;\n config?: GerritProjectInfo;\n labels: Record<string, GerritLabelTypeInfo>;\n gerritUsername?: string;\n} = {\n labels: {},\n};\n\nexport function writeToConfig(newConfig: typeof config): void {\n config = { ...config, ...newConfig };\n}\n\nexport function initPlatform({\n endpoint,\n username,\n password,\n}: PlatformParams): Promise<PlatformResult> {\n logger.debug(`initPlatform(${endpoint!}, ${username!})`);\n if (!endpoint) {\n throw new Error('Init: You must configure a Gerrit Server endpoint');\n }\n if (!(username && password)) {\n throw new Error(\n 'Init: You must configure a Gerrit Server username/password',\n );\n }\n config.gerritUsername = username;\n defaults.endpoint = ensureTrailingSlash(endpoint);\n setBaseUrl(defaults.endpoint);\n const platformConfig: PlatformResult = {\n endpoint: defaults.endpoint,\n };\n return Promise.resolve(platformConfig);\n}\n\n/**\n * Get all state=\"ACTIVE\" and type=\"CODE\" repositories from gerrit\n */\nexport async function getRepos(): Promise<string[]> {\n logger.debug(`getRepos()`);\n return await client.getRepos();\n}\n\n/**\n * Clone repository to local directory\n * @param config\n */\nexport async function initRepo({\n repository,\n gitUrl,\n}: RepoParams): Promise<RepoResult> {\n logger.debug(`initRepo(${repository}, ${gitUrl})`);\n const projectInfo = await client.getProjectInfo(repository);\n const branchInfo = await client.getBranchInfo(repository);\n\n config = {\n ...config,\n repository,\n head: branchInfo.revision,\n config: projectInfo,\n labels: projectInfo.labels ?? {},\n };\n const baseUrl = defaults.endpoint!;\n const url = getGerritRepoUrl(repository, baseUrl);\n configureScm(repository, config.gerritUsername!);\n await git.initRepo({ url });\n\n //abandon \"open\" and \"rejected\" changes at startup\n const rejectedChanges = await client.findChanges(config.repository!, {\n branchName: '',\n state: 'open',\n label: '-2',\n });\n for (const change of rejectedChanges) {\n await client.abandonChange(\n change._number,\n 'This change has been abandoned as it was voted with Code-Review -2.',\n );\n logger.info(\n `Abandoned change ${change._number} with Code-Review -2 in repository ${repository}`,\n );\n }\n const repoConfig: RepoResult = {\n defaultBranch: config.head!,\n isFork: false,\n repoFingerprint: repoFingerprint(repository, baseUrl),\n };\n return repoConfig;\n}\n\nexport async function findPr(findPRConfig: FindPRConfig): Promise<Pr | null> {\n const change = (\n await client.findChanges(config.repository!, {\n ...findPRConfig,\n singleChange: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n return change\n ? mapGerritChangeToPr(change, {\n sourceBranch: findPRConfig.branchName,\n })\n : null;\n}\n\nexport async function getPr(number: number): Promise<Pr | null> {\n try {\n const change = await client.getChange(number, REQUEST_DETAILS_FOR_PRS);\n return mapGerritChangeToPr(change);\n } catch (err) {\n if (err.statusCode === 404) {\n return null;\n }\n throw err;\n }\n}\n\nexport async function updatePr(prConfig: UpdatePrConfig): Promise<void> {\n logger.debug(`updatePr(${prConfig.number}, ${prConfig.prTitle})`);\n if (prConfig.prBody) {\n await client.addMessageIfNotAlreadyExists(\n prConfig.number,\n prConfig.prBody,\n TAG_PULL_REQUEST_BODY,\n );\n }\n if (prConfig.state && prConfig.state === 'closed') {\n await client.abandonChange(prConfig.number);\n }\n}\n\nexport async function createPr(prConfig: CreatePRConfig): Promise<Pr | null> {\n logger.debug(\n `createPr(${prConfig.sourceBranch}, ${prConfig.prTitle}, ${\n prConfig.labels?.toString() ?? ''\n })`,\n );\n const change = (\n await client.findChanges(config.repository!, {\n branchName: prConfig.sourceBranch,\n targetBranch: prConfig.targetBranch,\n state: 'open',\n singleChange: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n if (change === undefined) {\n throw new Error(\n `the change should be created automatically from previous push to refs/for/${prConfig.sourceBranch}`,\n );\n }\n const created = DateTime.fromISO(change.created.replace(' ', 'T'), {});\n const fiveMinutesAgo = DateTime.utc().minus({ minutes: 5 });\n if (created < fiveMinutesAgo) {\n throw new Error(\n `the change should have been created automatically from previous push to refs/for/${prConfig.sourceBranch}, but it was not created in the last 5 minutes (${change.created})`,\n );\n }\n await client.addMessageIfNotAlreadyExists(\n change._number,\n prConfig.prBody,\n TAG_PULL_REQUEST_BODY,\n change.messages,\n );\n return mapGerritChangeToPr(change, {\n sourceBranch: prConfig.sourceBranch,\n prBody: prConfig.prBody,\n });\n}\n\nexport async function getBranchPr(\n branchName: string,\n targetBranch?: string,\n): Promise<Pr | null> {\n const change = (\n await client.findChanges(config.repository!, {\n branchName,\n state: 'open',\n targetBranch,\n singleChange: true,\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n })\n ).pop();\n return change\n ? mapGerritChangeToPr(change, {\n sourceBranch: branchName,\n })\n : null;\n}\n\nexport async function getPrList(): Promise<Pr[]> {\n const changes = await client.findChanges(config.repository!, {\n branchName: '',\n requestDetails: REQUEST_DETAILS_FOR_PRS,\n });\n return changes.map((change) => mapGerritChangeToPr(change)).filter(isTruthy);\n}\n\nexport async function mergePr(config: MergePRConfig): Promise<boolean> {\n logger.debug(\n `mergePr(${config.id}, ${config.branchName!}, ${config.strategy!})`,\n );\n try {\n const change = await client.submitChange(config.id);\n return change.status === 'MERGED';\n } catch (err) {\n if (err.statusCode === 409) {\n logger.warn(\n { err },\n \"Can't submit the change, because the submit rule doesn't allow it.\",\n );\n return false;\n }\n throw err;\n }\n}\n\n/**\n * BranchStatus for Gerrit assumes that the branchName refers to a change.\n * @param branchName\n */\nexport async function getBranchStatus(\n branchName: string,\n): Promise<BranchStatus> {\n logger.debug(`getBranchStatus(${branchName})`);\n const change = (\n await client.findChanges(config.repository!, {\n state: 'open',\n branchName,\n singleChange: true,\n requestDetails: ['LABELS', 'SUBMITTABLE', 'CHECK'],\n })\n ).pop();\n if (change) {\n const hasProblems = change.problems && change.problems.length > 0;\n if (hasProblems) {\n return 'red';\n }\n const hasBlockingLabels = Object.values(change.labels ?? {}).some(\n (label) => label.blocking,\n );\n if (hasBlockingLabels) {\n return 'red';\n }\n if (change.submittable) {\n return 'green';\n }\n }\n return 'yellow';\n}\n\n/**\n * check the gerrit-change for the presence of the corresponding \"$context\" Gerrit label if configured,\n * return 'yellow' if not configured or not set\n * @param branchName\n * @param context renovate/stability-days || ...\n */\nexport async function getBranchStatusCheck(\n branchName: string,\n context: string,\n): Promise<BranchStatus | null> {\n const labelConfig = config.labels[context];\n if (labelConfig) {\n const change = (\n await client.findChanges(config.repository!, {\n branchName,\n state: 'open',\n singleChange: true,\n requestDetails: ['LABELS'],\n })\n ).pop();\n if (change) {\n const label = change.labels![context];\n if (label) {\n // Check for rejected or blocking first, as a label could have both rejected and approved\n if (label.rejected || label.blocking) {\n return 'red';\n }\n if (label.approved) {\n return 'green';\n }\n }\n }\n }\n return 'yellow';\n}\n\n/**\n * Apply the branch state $context to the corresponding gerrit label (if available)\n * context === \"renovate/stability-days\" / \"renovate/merge-confidence\" and state === \"green\"/...\n * @param branchStatusConfig\n */\nexport async function setBranchStatus(\n branchStatusConfig: BranchStatusConfig,\n): Promise<void> {\n const label = config.labels[branchStatusConfig.context];\n const labelValue =\n label && mapBranchStatusToLabel(branchStatusConfig.state, label);\n if (branchStatusConfig.context && labelValue) {\n const change = (\n await client.findChanges(config.repository!, {\n branchName: branchStatusConfig.branchName,\n state: 'open',\n singleChange: true,\n requestDetails: ['LABELS'],\n })\n ).pop();\n\n const labelKey = branchStatusConfig.context;\n if (!change?.labels || !Object.hasOwn(change.labels, labelKey)) {\n return;\n }\n\n await client.setLabel(change._number, labelKey, labelValue);\n }\n}\n\nexport async function getRawFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<string | null> {\n const repo = repoName ?? config.repository;\n if (!repo) {\n logger.debug('No repo so cannot getRawFile');\n return null;\n }\n const branch =\n branchOrTag ??\n (repo === config.repository ? (config.head ?? 'HEAD') : 'HEAD');\n const result = await client.getFile(repo, branch, fileName);\n return result;\n}\n\nexport async function getJsonFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<any> {\n const raw = await getRawFile(fileName, repoName, branchOrTag);\n return parseJson(raw, fileName);\n}\n\nexport async function addReviewers(\n number: number,\n reviewers: string[],\n): Promise<void> {\n await client.addReviewers(number, reviewers);\n}\n\n/**\n * add \"CC\" (only one possible)\n */\nexport async function addAssignees(\n number: number,\n assignees: string[],\n): Promise<void> {\n if (assignees.length) {\n if (assignees.length > 1) {\n logger.debug(\n `addAssignees(${number}, ${assignees.toString()}) called with more then one assignee! Gerrit only supports one assignee! Using the first from list.`,\n );\n }\n await client.addAssignee(number, assignees[0]);\n }\n}\n\nexport async function ensureComment(\n ensureComment: EnsureCommentConfig,\n): Promise<boolean> {\n logger.debug(\n `ensureComment(${ensureComment.number}, ${ensureComment.topic!}, ${\n ensureComment.content\n })`,\n );\n await client.addMessageIfNotAlreadyExists(\n ensureComment.number,\n ensureComment.content,\n ensureComment.topic ?? undefined,\n );\n return true;\n}\n\nexport function massageMarkdown(prBody: string, rebaseLabel: string): string {\n return (\n smartTruncate(readOnlyIssueBody(prBody), maxBodyLength())\n .replace('Branch creation', 'Change creation')\n .replace(\n 'close this Pull Request unmerged',\n 'abandon or vote this change with Code-Review -2',\n )\n .replace(\n 'Close this PR',\n 'Abandon or vote this change with Code-Review -2',\n )\n .replace(\n 'you tick the rebase/retry checkbox',\n `you add the _${rebaseLabel}_ hashtag to this change`,\n )\n .replace(\n 'checking the rebase/retry box above',\n `adding the _${rebaseLabel}_ hashtag to this change`,\n )\n .replace(regEx(/\\b(?:Pull Request|PR)/g), 'change')\n // Remove HTML tags not supported in Gerrit markdown\n .replace(regEx(/<\\/?summary>/g), '**')\n .replace(regEx(/<\\/?(details|blockquote)>/g), '')\n .replace(regEx(`\\n---\\n\\n.*?<!-- rebase-check -->.*?\\n`), '')\n .replace(regEx(/<!--renovate-(?:debug|config-hash):.*?-->/g), '')\n // Remove zero-width-space not supported in Gerrit markdown\n .replace(regEx(/​/g), '')\n );\n}\n\nexport function maxBodyLength(): number {\n return 16384; //TODO: check the real gerrit limit (max. chars)\n}\n\nexport async function deleteLabel(\n number: number,\n label: string,\n): Promise<void> {\n await client.deleteHashtag(number, label);\n}\n\nexport function ensureCommentRemoval(\n ensureCommentRemoval:\n | EnsureCommentRemovalConfigByTopic\n | EnsureCommentRemovalConfigByContent,\n): Promise<void> {\n return Promise.resolve();\n}\n\nexport function ensureIssueClosing(title: string): Promise<void> {\n return Promise.resolve();\n}\n\nexport function ensureIssue(\n issueConfig: EnsureIssueConfig,\n): Promise<EnsureIssueResult | null> {\n return Promise.resolve(null);\n}\n\nexport function findIssue(title: string): Promise<Issue | null> {\n return Promise.resolve(null);\n}\n\nexport function getIssueList(): Promise<Issue[]> {\n return Promise.resolve([]);\n}\n"]}
|
|
@@ -21,7 +21,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
21
21
|
state: 'open',
|
|
22
22
|
branchName,
|
|
23
23
|
singleChange: true,
|
|
24
|
-
refreshCache: true,
|
|
25
24
|
};
|
|
26
25
|
const change = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
27
26
|
if (change) {
|
|
@@ -34,7 +33,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
34
33
|
state: 'open',
|
|
35
34
|
branchName,
|
|
36
35
|
singleChange: true,
|
|
37
|
-
refreshCache: true,
|
|
38
36
|
requestDetails: ['CURRENT_REVISION'],
|
|
39
37
|
};
|
|
40
38
|
const change = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
@@ -49,7 +47,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
49
47
|
branchName,
|
|
50
48
|
targetBranch: baseBranch,
|
|
51
49
|
singleChange: true,
|
|
52
|
-
refreshCache: true,
|
|
53
50
|
requestDetails: ['CURRENT_REVISION', 'CURRENT_ACTIONS'],
|
|
54
51
|
};
|
|
55
52
|
const change = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
@@ -82,7 +79,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
82
79
|
branchName,
|
|
83
80
|
targetBranch: baseBranch,
|
|
84
81
|
singleChange: true,
|
|
85
|
-
refreshCache: true,
|
|
86
82
|
requestDetails: ['CURRENT_REVISION', 'DETAILED_ACCOUNTS'],
|
|
87
83
|
};
|
|
88
84
|
const change = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
@@ -99,7 +95,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
99
95
|
branchName: commit.branchName,
|
|
100
96
|
targetBranch: commit.baseBranch,
|
|
101
97
|
singleChange: true,
|
|
102
|
-
refreshCache: true,
|
|
103
98
|
requestDetails: ['CURRENT_REVISION'],
|
|
104
99
|
};
|
|
105
100
|
const existingChange = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
@@ -156,7 +151,6 @@ class GerritScm extends default_scm_1.DefaultGitScm {
|
|
|
156
151
|
state: 'open',
|
|
157
152
|
branchName,
|
|
158
153
|
singleChange: true,
|
|
159
|
-
refreshCache: true,
|
|
160
154
|
requestDetails: ['CURRENT_REVISION'],
|
|
161
155
|
};
|
|
162
156
|
const change = (await client_1.client.findChanges(repository, searchConfig)).pop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/scm.ts"],"names":[],"mappings":";;;AAWA,oCAGC;;AAdD,mCAAoC;AACpC,4CAAyC;AACzC,+DAAyC;AAEzC,6CAA0C;AAC1C,gDAA+C;AAC/C,qCAAkC;AAGlC,IAAI,UAAkB,CAAC;AACvB,IAAI,QAAgB,CAAC;AACrB,SAAgB,YAAY,CAAC,IAAY,EAAE,KAAa;IACtD,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC;AAED,MAAa,SAAU,SAAQ,2BAAa;IACjC,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC5C,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEQ,KAAK,CAAC,eAAe,CAC5B,UAAkB;QAElB,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,CAAC,kBAAkB,CAAC;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,gBAAiC,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAC/B,UAAkB,EAClB,UAAkB;QAElB,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU;YACV,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;SACxD,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,MAAM,CAAC,SAAU,CAAC,MAAM,CAAC,gBAAiB,CAAC,CAAC;YACpE,OAAO,eAAe,CAAC,OAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAC/B,UAAkB,EAClB,MAAc;QAEd,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,eAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,UAAU,EAAE,EACtB,0CAA0C,CAC3C,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAC7B,UAAkB,EAClB,UAAkB;QAElB,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU;YACV,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC1D,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,MAAM,CAAC,SAAU,CAAC,MAAM,CAAC,gBAAiB,CAAC,CAAC;YACpE,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,KAAK,CAAC,aAAa,CAC1B,MAAyB;QAEzB,eAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpD,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,UAAU;YAC/B,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,CAAC,kBAAkB,CAAC;SACrC,CAAC;QACF,MAAM,cAAc,GAAG,CACrB,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CACnD,CAAC,GAAG,EAAE,CAAC;QAER,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEzE,8EAA8E;QAC9E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,EAAE,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,GAAG;YACf,GAAG,OAAO;YACV,oBAAoB,MAAM,CAAC,UAAU,gBAAgB,QAAQ,EAAE;SAChE,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;YACnC,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,eAAe,GACnB,cAAc,CAAC,SAAU,CAAC,cAAc,CAAC,gBAAiB,CAAC,CAAC;gBAC9D,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC;gBACzC,MAAM,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,uCAAuC;gBAC7E,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,iCAAiC;YACzF,CAAC;YACD,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClC,WAAW,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;oBACtC,SAAS,EAAE,MAAM,CAAC,UAAU;oBAC5B,SAAS,EAAE,YAAY,MAAM,CAAC,UAAW,EAAE;oBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,WAAW;iBACZ,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,iDAAiD;IAChE,CAAC;IAEQ,YAAY,CAAC,UAAkB;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC5C,MAAM,YAAY,GAAuB;YACvC,KAAK,EAAE,MAAM;YACb,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,CAAC,kBAAkB,CAAC;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,eAAM,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,MAAM,CAAC,SAAU,CAAC,MAAM,CAAC,gBAAiB,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;CACF;AApLD,8BAoLC;AAED;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,OAAO,GAAG,GAAG,IAAA,WAAI,EAAC,IAAA,mBAAU,GAAE,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { randomUUID } from 'crypto';\nimport { logger } from '../../../logger';\nimport * as git from '../../../util/git';\nimport type { CommitFilesConfig, LongCommitSha } from '../../../util/git/types';\nimport { hash } from '../../../util/hash';\nimport { DefaultGitScm } from '../default-scm';\nimport { client } from './client';\nimport type { GerritFindPRConfig } from './types';\n\nlet repository: string;\nlet username: string;\nexport function configureScm(repo: string, login: string): void {\n repository = repo;\n username = login;\n}\n\nexport class GerritScm extends DefaultGitScm {\n override async branchExists(branchName: string): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n refreshCache: true,\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n return true;\n }\n return git.branchExists(branchName);\n }\n\n override async getBranchCommit(\n branchName: string,\n ): Promise<LongCommitSha | null> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n return change.current_revision as LongCommitSha;\n }\n return git.getBranchCommit(branchName);\n }\n\n override async isBranchBehindBase(\n branchName: string,\n baseBranch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n targetBranch: baseBranch,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['CURRENT_REVISION', 'CURRENT_ACTIONS'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return currentRevision.actions!.rebase.enabled === true;\n }\n return true;\n }\n\n override async isBranchConflicted(\n baseBranch: string,\n branch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName: branch,\n targetBranch: baseBranch,\n singleChange: true,\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const mergeInfo = await client.getMergeableInfo(change);\n return !mergeInfo.mergeable;\n } else {\n logger.warn(\n { branch, baseBranch },\n 'There is no open change with this branch',\n );\n return true;\n }\n }\n\n override async isBranchModified(\n branchName: string,\n baseBranch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n targetBranch: baseBranch,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['CURRENT_REVISION', 'DETAILED_ACCOUNTS'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return currentRevision.uploader.username !== username;\n }\n return false;\n }\n\n override async commitAndPush(\n commit: CommitFilesConfig,\n ): Promise<LongCommitSha | null> {\n logger.debug(`commitAndPush(${commit.branchName})`);\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName: commit.branchName,\n targetBranch: commit.baseBranch,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const existingChange = (\n await client.findChanges(repository, searchConfig)\n ).pop();\n\n let hasChanges = true;\n const message =\n typeof commit.message === 'string' ? [commit.message] : commit.message;\n\n // In Gerrit, the change subject/title is the first line of the commit message\n if (commit.prTitle) {\n const firstMessageLines = message[0].split('\\n');\n firstMessageLines[0] = commit.prTitle;\n message[0] = firstMessageLines.join('\\n');\n }\n\n const changeId = existingChange?.change_id ?? generateChangeId();\n commit.message = [\n ...message,\n `Renovate-Branch: ${commit.branchName}\\nChange-Id: ${changeId}`,\n ];\n const commitResult = await git.prepareCommit({ ...commit, force: true });\n if (commitResult) {\n const { commitSha } = commitResult;\n if (existingChange) {\n const currentRevision =\n existingChange.revisions![existingChange.current_revision!];\n const fetchRefSpec = currentRevision.ref;\n await git.fetchRevSpec(fetchRefSpec); // fetch current ChangeSet for git diff\n hasChanges = await git.hasDiff('HEAD', 'FETCH_HEAD'); // avoid pushing empty patch sets\n }\n if (hasChanges || commit.force) {\n const pushOptions = ['notify=NONE'];\n if (commit.autoApprove) {\n pushOptions.push('label=Code-Review+2');\n }\n if (commit.labels) {\n for (const label of commit.labels) {\n pushOptions.push(`hashtag=${label}`);\n }\n }\n const pushResult = await git.pushCommit({\n sourceRef: commit.branchName,\n targetRef: `refs/for/${commit.baseBranch!}`,\n files: commit.files,\n pushOptions,\n });\n if (pushResult) {\n return commitSha;\n }\n }\n }\n return null; // empty commit, no changes in this Gerrit Change\n }\n\n override deleteBranch(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n\n override async mergeToLocal(branchName: string): Promise<void> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n refreshCache: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return super.mergeToLocal(currentRevision.ref);\n }\n return super.mergeToLocal(branchName);\n }\n}\n\n/**\n * This function should generate a Gerrit Change-ID analogous to the commit hook. We avoid the commit hook cause of security concerns.\n * random=$( (whoami ; hostname ; date; cat $1 ; echo $RANDOM) | git hash-object --stdin) prefixed with an 'I'.\n * TODO: Gerrit don't accept longer Change-IDs (sha256), but what happens with this https://git-scm.com/docs/hash-function-transition/ ?\n */\nfunction generateChangeId(): string {\n return 'I' + hash(randomUUID(), 'sha1');\n}\n"]}
|
|
1
|
+
{"version":3,"file":"scm.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/scm.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'crypto';\nimport { logger } from '../../../logger';\nimport * as git from '../../../util/git';\nimport type { CommitFilesConfig, LongCommitSha } from '../../../util/git/types';\nimport { hash } from '../../../util/hash';\nimport { DefaultGitScm } from '../default-scm';\nimport { client } from './client';\nimport type { GerritFindPRConfig } from './types';\n\nlet repository: string;\nlet username: string;\nexport function configureScm(repo: string, login: string): void {\n repository = repo;\n username = login;\n}\n\nexport class GerritScm extends DefaultGitScm {\n override async branchExists(branchName: string): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n return true;\n }\n return git.branchExists(branchName);\n }\n\n override async getBranchCommit(\n branchName: string,\n ): Promise<LongCommitSha | null> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n return change.current_revision as LongCommitSha;\n }\n return git.getBranchCommit(branchName);\n }\n\n override async isBranchBehindBase(\n branchName: string,\n baseBranch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n targetBranch: baseBranch,\n singleChange: true,\n requestDetails: ['CURRENT_REVISION', 'CURRENT_ACTIONS'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return currentRevision.actions!.rebase.enabled === true;\n }\n return true;\n }\n\n override async isBranchConflicted(\n baseBranch: string,\n branch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName: branch,\n targetBranch: baseBranch,\n singleChange: true,\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const mergeInfo = await client.getMergeableInfo(change);\n return !mergeInfo.mergeable;\n } else {\n logger.warn(\n { branch, baseBranch },\n 'There is no open change with this branch',\n );\n return true;\n }\n }\n\n override async isBranchModified(\n branchName: string,\n baseBranch: string,\n ): Promise<boolean> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n targetBranch: baseBranch,\n singleChange: true,\n requestDetails: ['CURRENT_REVISION', 'DETAILED_ACCOUNTS'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return currentRevision.uploader.username !== username;\n }\n return false;\n }\n\n override async commitAndPush(\n commit: CommitFilesConfig,\n ): Promise<LongCommitSha | null> {\n logger.debug(`commitAndPush(${commit.branchName})`);\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName: commit.branchName,\n targetBranch: commit.baseBranch,\n singleChange: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const existingChange = (\n await client.findChanges(repository, searchConfig)\n ).pop();\n\n let hasChanges = true;\n const message =\n typeof commit.message === 'string' ? [commit.message] : commit.message;\n\n // In Gerrit, the change subject/title is the first line of the commit message\n if (commit.prTitle) {\n const firstMessageLines = message[0].split('\\n');\n firstMessageLines[0] = commit.prTitle;\n message[0] = firstMessageLines.join('\\n');\n }\n\n const changeId = existingChange?.change_id ?? generateChangeId();\n commit.message = [\n ...message,\n `Renovate-Branch: ${commit.branchName}\\nChange-Id: ${changeId}`,\n ];\n const commitResult = await git.prepareCommit({ ...commit, force: true });\n if (commitResult) {\n const { commitSha } = commitResult;\n if (existingChange) {\n const currentRevision =\n existingChange.revisions![existingChange.current_revision!];\n const fetchRefSpec = currentRevision.ref;\n await git.fetchRevSpec(fetchRefSpec); // fetch current ChangeSet for git diff\n hasChanges = await git.hasDiff('HEAD', 'FETCH_HEAD'); // avoid pushing empty patch sets\n }\n if (hasChanges || commit.force) {\n const pushOptions = ['notify=NONE'];\n if (commit.autoApprove) {\n pushOptions.push('label=Code-Review+2');\n }\n if (commit.labels) {\n for (const label of commit.labels) {\n pushOptions.push(`hashtag=${label}`);\n }\n }\n const pushResult = await git.pushCommit({\n sourceRef: commit.branchName,\n targetRef: `refs/for/${commit.baseBranch!}`,\n files: commit.files,\n pushOptions,\n });\n if (pushResult) {\n return commitSha;\n }\n }\n }\n return null; // empty commit, no changes in this Gerrit Change\n }\n\n override deleteBranch(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n\n override async mergeToLocal(branchName: string): Promise<void> {\n const searchConfig: GerritFindPRConfig = {\n state: 'open',\n branchName,\n singleChange: true,\n requestDetails: ['CURRENT_REVISION'],\n };\n const change = (await client.findChanges(repository, searchConfig)).pop();\n if (change) {\n const currentRevision = change.revisions![change.current_revision!];\n return super.mergeToLocal(currentRevision.ref);\n }\n return super.mergeToLocal(branchName);\n }\n}\n\n/**\n * This function should generate a Gerrit Change-ID analogous to the commit hook. We avoid the commit hook cause of security concerns.\n * random=$( (whoami ; hostname ; date; cat $1 ; echo $RANDOM) | git hash-object --stdin) prefixed with an 'I'.\n * TODO: Gerrit don't accept longer Change-IDs (sha256), but what happens with this https://git-scm.com/docs/hash-function-transition/ ?\n */\nfunction generateChangeId(): string {\n return 'I' + hash(randomUUID(), 'sha1');\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "41.167.
|
|
4
|
+
"version": "41.167.1",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
"@types/tmp": "0.2.6",
|
|
261
261
|
"@types/validate-npm-package-name": "4.0.2",
|
|
262
262
|
"@vitest/coverage-v8": "3.2.4",
|
|
263
|
-
"@vitest/eslint-plugin": "1.3.
|
|
263
|
+
"@vitest/eslint-plugin": "1.3.23",
|
|
264
264
|
"ajv": "8.17.1",
|
|
265
265
|
"ajv-formats": "3.0.1",
|
|
266
266
|
"aws-sdk-client-mock": "4.1.0",
|
package/renovate-schema.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "JSON schema for Renovate 41.167.
|
|
2
|
+
"title": "JSON schema for Renovate 41.167.1 config files (https://renovatebot.com/)",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"x-renovate-version": "41.167.
|
|
4
|
+
"x-renovate-version": "41.167.1",
|
|
5
5
|
"allowComments": true,
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|