binary-collections 2.0.8 → 2.0.10

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.
Files changed (250) hide show
  1. package/binaries/binary-executor.cjs +43 -0
  2. package/{bin → binaries}/clean-nodemodule +0 -0
  3. package/binaries/clean-nodemodule.cjs +43 -0
  4. package/binaries/clean-nodemodule.cmd +4 -0
  5. package/{bin → binaries}/clean-nodemodules +0 -0
  6. package/binaries/clean-nodemodules.cjs +43 -0
  7. package/binaries/clean-nodemodules.cmd +5 -0
  8. package/{bin → binaries}/dev +0 -0
  9. package/binaries/dev.cjs +43 -0
  10. package/{bin → binaries}/empty +0 -0
  11. package/binaries/empty.cjs +43 -0
  12. package/{bin → binaries}/git-reduce-size +0 -0
  13. package/binaries/git-reduce-size.cjs +43 -0
  14. package/binaries/javakill.cjs +43 -0
  15. package/{bin → binaries}/javakill.cmd +0 -0
  16. package/{bin → binaries}/kill-process +0 -0
  17. package/binaries/kill-process.cjs +43 -0
  18. package/binaries/nodekill.cjs +43 -0
  19. package/{bin → binaries}/nodekill.ps1 +0 -0
  20. package/{bin → binaries}/prod +0 -0
  21. package/binaries/prod.cjs +43 -0
  22. package/{bin → binaries}/rmfind +0 -0
  23. package/binaries/rmfind.cjs +43 -0
  24. package/{bin → binaries}/rmx +0 -0
  25. package/binaries/rmx.cjs +43 -0
  26. package/{bin → binaries}/submodule-token +0 -0
  27. package/binaries/submodule-token.cjs +43 -0
  28. package/docs-src/clean-github-actions-caches.md +26 -0
  29. package/docs-src/free-chatgpt.md +26 -0
  30. package/lib/binary-collections-config.cjs +3 -2
  31. package/lib/binary-collections-config.mjs +2 -2
  32. package/lib/binary-collections.cjs +452 -87
  33. package/lib/binary-collections.mjs +247 -8
  34. package/lib/changelog.cjs +328 -0
  35. package/lib/changelog.mjs +205 -0
  36. package/lib/chunk-4EWQC6GZ.mjs +382 -0
  37. package/lib/chunk-4ZI7BQKQ.mjs +381 -0
  38. package/lib/chunk-5J2BEPY5.mjs +83 -0
  39. package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
  40. package/lib/chunk-6HHJRKFB.mjs +59 -0
  41. package/lib/chunk-6S4NXESK.mjs +26 -0
  42. package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
  43. package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
  44. package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
  45. package/lib/chunk-AGZYRDC2.mjs +323 -0
  46. package/lib/{chunk-VVEZVNIV.mjs → chunk-AI4CVPJ7.mjs} +6 -6
  47. package/lib/chunk-BDCHCWHD.mjs +136 -0
  48. package/lib/chunk-BEZKJ25G.mjs +140 -0
  49. package/lib/chunk-DI5MDPSN.mjs +386 -0
  50. package/lib/{chunk-ONIBBBQ3.mjs → chunk-E6FDDAOO.mjs} +4 -3
  51. package/lib/chunk-FKI7IEB5.mjs +172 -0
  52. package/lib/chunk-GJTGHXRA.mjs +356 -0
  53. package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
  54. package/lib/chunk-HMRMTYZM.mjs +40 -0
  55. package/lib/chunk-HN52G2YL.mjs +305 -0
  56. package/lib/chunk-HO6GHCOB.mjs +385 -0
  57. package/lib/chunk-LEM5OMRP.mjs +384 -0
  58. package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
  59. package/lib/chunk-O6SWBEOQ.mjs +81 -0
  60. package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
  61. package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
  62. package/lib/chunk-RCP7DHVY.mjs +190 -0
  63. package/lib/chunk-SBNDSKG5.mjs +136 -0
  64. package/lib/chunk-U6SO4QEV.mjs +320 -0
  65. package/lib/{chunk-APBWENF6.mjs → chunk-V3N3JEUF.mjs} +3 -3
  66. package/lib/chunk-XD6BJK6Q.mjs +351 -0
  67. package/lib/chunk-XVBFFVCJ.mjs +209 -0
  68. package/lib/chunk-YXSFGA2D.mjs +383 -0
  69. package/lib/clean-github-actions-caches.cjs +243 -148
  70. package/lib/clean-github-actions-caches.mjs +4 -3
  71. package/lib/del-gradle.cjs +2 -2
  72. package/lib/del-gradle.js +1 -1
  73. package/lib/del-gradle.mjs +2 -2
  74. package/lib/del-node-modules.cjs +2 -2
  75. package/lib/del-node-modules.js +1 -1
  76. package/lib/del-node-modules.mjs +2 -2
  77. package/lib/del-ps.cjs +29 -8
  78. package/lib/del-ps.js +2 -2
  79. package/lib/del-ps.mjs +7 -5
  80. package/lib/del-yarn-caches.cjs +26 -5
  81. package/lib/del-yarn-caches.js +38 -3
  82. package/lib/del-yarn-caches.mjs +6 -6
  83. package/lib/find-node-modules-cli.cjs +5 -4
  84. package/lib/find-node-modules-cli.js +1 -1
  85. package/lib/find-node-modules-cli.mjs +2 -2
  86. package/lib/find-node-modules.cjs +4 -3
  87. package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
  88. package/lib/find-node-modules.mjs +2 -2
  89. package/lib/free-chatgpt.cjs +548 -0
  90. package/lib/free-chatgpt.d.ts +1 -0
  91. package/lib/free-chatgpt.js +51 -0
  92. package/lib/free-chatgpt.mjs +50 -0
  93. package/lib/git/gitattributes.cjs +1 -1
  94. package/lib/git/{gitattributes.d.mts → gitattributes.d.cts} +5 -7
  95. package/lib/git/gitattributes.mjs +2 -2
  96. package/lib/git/line-endings.cjs +297 -64
  97. package/lib/git/line-endings.mjs +4 -4
  98. package/lib/git/normalize.cjs +26 -36
  99. package/lib/git/normalize.mjs +2 -2
  100. package/lib/git/permissions.cjs +77 -11
  101. package/lib/git/permissions.mjs +3 -3
  102. package/lib/git/pull-strategy.cjs +76 -9
  103. package/lib/git/pull-strategy.mjs +3 -3
  104. package/lib/git/user-config.cjs +266 -83
  105. package/lib/git/user-config.mjs +4 -4
  106. package/lib/git/utils.cjs +40 -60
  107. package/lib/git/utils.mjs +2 -2
  108. package/lib/git-diff-cli.cjs +651 -0
  109. package/lib/git-diff-cli.d.ts +1 -0
  110. package/lib/git-diff-cli.js +15 -0
  111. package/lib/git-diff-cli.mjs +16 -0
  112. package/lib/git-diff.cjs +657 -58
  113. package/lib/git-diff.d.ts +38 -83
  114. package/lib/git-diff.js +152 -0
  115. package/lib/git-diff.mjs +23 -85
  116. package/lib/git-fix.cjs +685 -97
  117. package/lib/git-fix.mjs +12 -11
  118. package/lib/git-purge.cjs +3 -3
  119. package/lib/git-purge.d.cts +1 -0
  120. package/lib/git-purge.mjs +43 -37
  121. package/lib/index.cjs +7 -6
  122. package/lib/index.d.ts +1 -1
  123. package/lib/index.js +2 -5
  124. package/lib/index.mjs +4 -4
  125. package/lib/npm-run-series.cjs +3 -3
  126. package/lib/npm-run-series.mjs +42 -36
  127. package/lib/package-resolutions-updater.cjs +174 -1
  128. package/lib/package-resolutions-updater.mjs +270 -290
  129. package/lib/print-directory-tree.cjs +275 -210
  130. package/lib/print-directory-tree.mjs +2 -2
  131. package/lib/ps/connected-domain.cjs +25 -2
  132. package/lib/ps/connected-domain.d.ts +10 -2
  133. package/lib/ps/connected-domain.js +5 -2
  134. package/lib/ps/connected-domain.mjs +8 -4
  135. package/lib/ps/index.cjs +345 -322
  136. package/lib/ps/index.d.mjs +1 -1
  137. package/lib/ps/index.js +1 -1
  138. package/lib/ps/index.mjs +179 -182
  139. package/lib/ps/isWin.cjs +24 -1
  140. package/lib/ps/isWin.d.ts +1 -1
  141. package/lib/ps/isWin.js +3 -1
  142. package/lib/ps/isWin.mjs +8 -4
  143. package/lib/ps/table-parser.cjs +167 -159
  144. package/lib/ps/table-parser.d.ts +5 -0
  145. package/lib/ps/table-parser.js +10 -4
  146. package/lib/ps/table-parser.mjs +9 -5
  147. package/lib/remove-module.cjs +262 -0
  148. package/lib/remove-module.d.mts +1 -0
  149. package/lib/remove-module.mjs +111 -0
  150. package/lib/rmpath.cjs +274 -0
  151. package/lib/rmpath.d.mts +3 -0
  152. package/lib/rmpath.mjs +108 -0
  153. package/lib/submodule-install.cjs +264 -85
  154. package/lib/submodule-install.mjs +56 -7
  155. package/lib/submodule-remove-cli.cjs +103 -0
  156. package/lib/submodule-remove-cli.d.ts +1 -0
  157. package/lib/submodule-remove-cli.js +31 -0
  158. package/lib/submodule-remove-cli.mjs +28 -0
  159. package/lib/submodule-remove.cjs +43 -0
  160. package/lib/submodule-remove.d.cts +2 -0
  161. package/lib/submodule-remove.mjs +6 -0
  162. package/lib/utils/chatgpt.cjs +383 -0
  163. package/lib/utils/chatgpt.d.ts +31 -0
  164. package/lib/utils/chatgpt.js +541 -0
  165. package/lib/utils/chatgpt.mjs +8 -0
  166. package/lib/{utils.cjs → utils/index.cjs} +1 -1
  167. package/lib/{utils.mjs → utils/index.mjs} +2 -2
  168. package/lib/yarn-reinstall.cjs +172 -38
  169. package/lib/yarn-reinstall.mjs +2 -2
  170. package/package.json +91 -71
  171. package/readme.md +43 -69
  172. package/releases/readme.md +36 -0
  173. package/test/README.md +101 -0
  174. package/test/package.json +2 -1
  175. package/test-project/readme.md +26 -0
  176. package/tmp/test-repo/README.md +35 -0
  177. package/tmp/typedoc/readme.md +320 -0
  178. package/bin/bash-dummy +0 -56
  179. package/bin/bash-dummy.cmd +0 -25
  180. package/bin/dir-tree.cmd +0 -7
  181. package/bin/git-diff +0 -4
  182. package/bin/git-diff.cmd +0 -7
  183. package/bin/git-fix +0 -36
  184. package/bin/git-fix.cmd +0 -7
  185. package/bin/rmpath +0 -70
  186. package/bin/submodule-install.txt +0 -118
  187. package/bin/submodule-remove +0 -46
  188. package/bin/submodule.txt +0 -172
  189. package/lib/binary-collections-config.d.mts +0 -18
  190. package/lib/binary-collections-config.js +0 -39
  191. package/lib/binary-collections.d.mts +0 -121
  192. package/lib/binary-collections.d.ts +0 -121
  193. package/lib/chunk-DPKAJKFO.mjs +0 -171
  194. package/lib/chunk-G3THLIDT.mjs +0 -200
  195. package/lib/chunk-W3ENOM53.mjs +0 -18
  196. package/lib/clean-github-actions-caches.d.mts +0 -169
  197. package/lib/clean-github-actions-caches.d.ts +0 -169
  198. package/lib/del-gradle.d.mts +0 -2
  199. package/lib/del-node-modules.d.mts +0 -2
  200. package/lib/del-ps.d.mts +0 -2
  201. package/lib/del-yarn-caches.d.mts +0 -2
  202. package/lib/find-node-modules-cli.d.mts +0 -1
  203. package/lib/find-node-modules.d.mts +0 -13
  204. package/lib/find-node-modules.js +0 -53
  205. package/lib/git/line-endings.d.mts +0 -83
  206. package/lib/git/line-endings.d.ts +0 -83
  207. package/lib/git/normalize.d.mts +0 -43
  208. package/lib/git/normalize.d.ts +0 -43
  209. package/lib/git/permissions.d.mts +0 -17
  210. package/lib/git/permissions.d.ts +0 -17
  211. package/lib/git/pull-strategy.d.mts +0 -15
  212. package/lib/git/pull-strategy.d.ts +0 -15
  213. package/lib/git/user-config.d.mts +0 -105
  214. package/lib/git/user-config.d.ts +0 -105
  215. package/lib/git/utils.d.mts +0 -69
  216. package/lib/git/utils.d.ts +0 -69
  217. package/lib/git-diff.d.mts +0 -84
  218. package/lib/git-fix.d.mts +0 -141
  219. package/lib/git-fix.d.ts +0 -141
  220. package/lib/git-purge.d.mts +0 -2
  221. package/lib/git-purge.js +0 -59
  222. package/lib/index.d.mts +0 -1
  223. package/lib/npm-run-series.d.mts +0 -1
  224. package/lib/npm-run-series.d.ts +0 -2
  225. package/lib/npm-run-series.js +0 -86
  226. package/lib/package-resolutions-updater.d.ts +0 -326
  227. package/lib/print-directory-tree.d.mts +0 -234
  228. package/lib/print-directory-tree.d.ts +0 -234
  229. package/lib/ps/connected-domain.d.mts +0 -3
  230. package/lib/ps/index.d.d.mts +0 -26
  231. package/lib/ps/index.d.d.ts +0 -26
  232. package/lib/ps/index.d.mts +0 -26
  233. package/lib/ps/isWin.d.mts +0 -3
  234. package/lib/ps/table-parser.d.mts +0 -3
  235. package/lib/submodule-install.d.mts +0 -121
  236. package/lib/submodule-install.d.ts +0 -121
  237. package/lib/utils.d.mts +0 -40
  238. package/lib/utils.js +0 -181
  239. package/lib/yarn-reinstall.d.mts +0 -49
  240. package/lib/yarn-reinstall.d.ts +0 -49
  241. package/src/package-resolutions-updater.mjs +0 -325
  242. package/src/print-directory-tree.cjs +0 -234
  243. package/src/ps/index.js +0 -286
  244. package/src/yarn-reinstall.cjs +0 -49
  245. /package/{bin → binaries}/nodekill +0 -0
  246. /package/{bin → binaries}/nodekill.cmd +0 -0
  247. /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
  248. /package/lib/{git-purge.d.ts → changelog.d.cts} +0 -0
  249. /package/lib/{git-diff.d.cts → npm-run-series.d.cts} +0 -0
  250. /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
@@ -1,200 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import {
3
- require_connected_domain
4
- } from "./chunk-DPKAJKFO.mjs";
5
- import {
6
- __commonJS,
7
- init_esm_shims
8
- } from "./chunk-AASHBCRW.mjs";
9
-
10
- // src/ps/table-parser.js
11
- var require_table_parser = __commonJS({
12
- "src/ps/table-parser.js"(exports, module) {
13
- init_esm_shims();
14
- var ConnectedDomain = require_connected_domain();
15
- var EMPTY_EX = /\s/;
16
- module.exports.parse = function(output) {
17
- var linesTmp = output.split(/(\r\n)|(\n\r)|\n|\r/);
18
- var lines = [];
19
- var titleInfo = {};
20
- var twoDimArray = [];
21
- linesTmp.forEach(function(line) {
22
- if (line && line.trim()) {
23
- lines.push(line);
24
- }
25
- });
26
- lines.forEach(function(line, index) {
27
- if (index == 0) {
28
- var fields = line.split(/\s+/);
29
- var currentIndex = 0;
30
- fields.forEach(function(field, idx) {
31
- if (field) {
32
- var info = titleInfo[field] = {};
33
- var indexBegin = line.indexOf(field, currentIndex);
34
- var indexEnd = currentIndex = indexBegin + field.length;
35
- if (idx == 0) {
36
- info.titleBegin = 0;
37
- } else {
38
- info.titleBegin = indexBegin;
39
- }
40
- if (idx == fields.length - 1) {
41
- info.titleEnd = line.length - 1;
42
- } else {
43
- info.titleEnd = indexEnd;
44
- }
45
- }
46
- });
47
- } else {
48
- twoDimArray[index - 1] = line.split("");
49
- }
50
- });
51
- var connectedDomains = ConnectedDomain(
52
- twoDimArray,
53
- function(value) {
54
- if (EMPTY_EX.test(value)) {
55
- return -1;
56
- } else {
57
- return 1;
58
- }
59
- },
60
- true
61
- );
62
- var valuesDomainsVerticalGroups = [];
63
- connectedDomains.domains.sort(function(a, b) {
64
- return a.bounding.x - b.bounding.x;
65
- });
66
- connectedDomains.domains.forEach(function(domain) {
67
- if (domain.identifier === 1) {
68
- var overlapped = false;
69
- valuesDomainsVerticalGroups.forEach(function(group) {
70
- var bounding = domain.bounding;
71
- var left = bounding.x;
72
- var right = bounding.x + bounding.w;
73
- if (overlap(left, right, group.begin, group.end)) {
74
- overlapped = true;
75
- group.domains.push(domain);
76
- group.begin = group.begin > left ? left : group.begin;
77
- group.end = group.end < right ? right : group.end;
78
- }
79
- });
80
- if (!overlapped) {
81
- valuesDomainsVerticalGroups.push({
82
- begin: domain.bounding.x,
83
- end: domain.bounding.x + domain.bounding.w,
84
- domains: [domain]
85
- });
86
- }
87
- }
88
- });
89
- valuesDomainsVerticalGroups.forEach(function(group) {
90
- var title = null;
91
- var info = null;
92
- var overlapped = false;
93
- var minimunLeftDistance = null;
94
- var nearestLeftTitle = null;
95
- var distance = null;
96
- for (title in titleInfo) {
97
- info = titleInfo[title];
98
- if (group.begin > info.titleBegin) {
99
- distance = group.begin - info.titleBegin;
100
- if (!nearestLeftTitle || distance < minimunLeftDistance) {
101
- nearestLeftTitle = title;
102
- minimunLeftDistance = distance;
103
- }
104
- }
105
- if (overlap(group.begin, group.end, info.titleBegin, info.titleEnd)) {
106
- overlapped = true;
107
- info.titleBegin = info.titleBegin > group.begin ? group.begin : info.titleBegin;
108
- info.titleEnd = info.titleEnd < group.end ? group.end : info.titleEnd;
109
- }
110
- }
111
- if (!overlapped && nearestLeftTitle) {
112
- var nearestTitleField = titleInfo[nearestLeftTitle];
113
- nearestTitleField.titleBegin = nearestTitleField.titleBegin > group.begin ? group.begin : nearestTitleField.titleBegin;
114
- nearestTitleField.titleEnd = nearestTitleField.titleEnd < group.end ? group.end : nearestTitleField.titleEnd;
115
- }
116
- });
117
- var result = [];
118
- lines.forEach(function(line, index) {
119
- if (index > 0) {
120
- var lineItem = {};
121
- var title = null;
122
- var info = null;
123
- var value = null;
124
- for (title in titleInfo) {
125
- info = titleInfo[title];
126
- value = line.substring(info.titleBegin, info.titleEnd + 1);
127
- lineItem[title] = splitValue(value.trim());
128
- }
129
- result.push(lineItem);
130
- }
131
- });
132
- return result;
133
- };
134
- function overlap(begin1, end1, begin2, end2) {
135
- return begin1 > begin2 && begin1 < end2 || // 2--1--2--1 or 2--1--1--2
136
- end1 > begin2 && end1 < end2 || // 1--2--1--2 or 2--1--1--2
137
- begin1 <= begin2 && end1 >= end2;
138
- }
139
- function splitValue(value) {
140
- var match = value.match(/"/g);
141
- if (!match || match.length == 1) {
142
- return value.split(/\s+/);
143
- } else {
144
- var result = [];
145
- var chunk = null;
146
- var ifInWrappedChunk = false;
147
- var ifInPureWrappedChunk = false;
148
- var quotaCount = 0;
149
- var maxQuotaCount = match.length % 2 == 0 ? match.length : match.length - 1;
150
- var previousItem = null;
151
- var values = value.split("");
152
- values.forEach(function(item, index) {
153
- if (item !== " ") {
154
- if (item === '"') {
155
- if (ifInWrappedChunk === false && quotaCount <= maxQuotaCount) {
156
- ifInWrappedChunk = true;
157
- quotaCount++;
158
- if (previousItem === " " || previousItem === null) {
159
- ifInPureWrappedChunk = true;
160
- chunk = "";
161
- } else {
162
- chunk += item;
163
- }
164
- } else if (ifInWrappedChunk === true) {
165
- ifInWrappedChunk = false;
166
- quotaCount++;
167
- if (ifInPureWrappedChunk === true) {
168
- ifInPureWrappedChunk = false;
169
- result.push(chunk);
170
- chunk = null;
171
- } else {
172
- chunk += item;
173
- }
174
- }
175
- } else if (ifInWrappedChunk === false && (previousItem === " " || previousItem === null)) {
176
- chunk = item;
177
- } else {
178
- chunk += item;
179
- }
180
- } else if (ifInWrappedChunk) {
181
- chunk += item;
182
- } else if (chunk !== null) {
183
- result.push(chunk);
184
- chunk = null;
185
- }
186
- previousItem = item;
187
- if (index == values.length - 1 && chunk !== null) {
188
- result.push(chunk);
189
- chunk = null;
190
- }
191
- });
192
- return result;
193
- }
194
- }
195
- }
196
- });
197
-
198
- export {
199
- require_table_parser
200
- };
@@ -1,18 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import {
3
- __commonJS,
4
- init_esm_shims
5
- } from "./chunk-AASHBCRW.mjs";
6
-
7
- // src/ps/isWin.js
8
- var require_isWin = __commonJS({
9
- "src/ps/isWin.js"(exports, module) {
10
- init_esm_shims();
11
- var isWin = process.platform === "win32";
12
- module.exports = isWin;
13
- }
14
- });
15
-
16
- export {
17
- require_isWin
18
- };
@@ -1,169 +0,0 @@
1
- const axios = require("axios");
2
- const { parseGitRemotes } = require("./utils");
3
- const path = require("upath");
4
- const fs = require("fs");
5
- const projectDir = process.cwd();
6
- const envPath = path.join(projectDir, ".env");
7
-
8
- // Load the .env file using dotenv
9
- if (fs.existsSync(envPath)) {
10
- require("dotenv").config({ path: envPath });
11
- } else {
12
- console.warn(`.env file not found at ${envPath}`);
13
- }
14
-
15
- // delete caches leaving single last cache based on creation date
16
-
17
- const ACCESS_TOKEN = process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN;
18
-
19
- if (!ACCESS_TOKEN) {
20
- throw new Error(
21
- "Access token is not provided. Please set ACCESS_TOKEN or GITHUB_TOKEN in your environment variables."
22
- );
23
- }
24
-
25
- /**
26
- * Deletes a GitHub Actions cache.
27
- * @param {string} GH_REPO - The GitHub repository in the format "owner/repo".
28
- * @param {string} cacheId - The ID of the cache to delete.
29
- * @returns {Promise} - A promise that resolves on success and rejects on error.
30
- */
31
- function deleteGitHubActionsCache(GH_REPO, cacheId) {
32
- return new Promise((resolve, reject) => {
33
- const url = `https://api.github.com/repos/${GH_REPO}/actions/caches/${cacheId}`;
34
- const token = ACCESS_TOKEN;
35
-
36
- if (!token) {
37
- return reject(new Error("Access token is not provided"));
38
- }
39
-
40
- axios
41
- .delete(url, {
42
- headers: {
43
- Authorization: `token ${token}`,
44
- Accept: "application/vnd.github.v3+json"
45
- }
46
- })
47
- .then((response) => {
48
- console.log(`Cache (${cacheId}) deleted successfully`, response.data);
49
- resolve(response.data); // Resolve with the response data
50
- })
51
- .catch((error) => {
52
- console.error("Error deleting cache:", error.response?.data || error.message || "Unknown error");
53
- reject(error); // Reject with the error
54
- });
55
- });
56
- }
57
-
58
- /**
59
- * list github actions caches
60
- * @param {string} GH_REPO
61
- * @returns {Promise<Record<string, Record<string, any>[]>>}
62
- */
63
- function get_caches(GH_REPO) {
64
- const url = `https://api.github.com/repos/${GH_REPO}/actions/caches`;
65
-
66
- return new Promise((resolve, reject) => {
67
- axios
68
- .get(url, {
69
- headers: {
70
- Accept: "application/vnd.github.v3+json",
71
- Authorization: `token ${ACCESS_TOKEN}`
72
- }
73
- })
74
- .then((response) => {
75
- /**
76
- * @type {Record<string, any>[]}
77
- */
78
- const data = response.data.actions_caches;
79
- // resolve(response.data);
80
- /**
81
- * extract the prefix from the key
82
- * @param {string} key
83
- * @returns
84
- */
85
- const getPrefix = (key) => {
86
- const split = key.split(/[-_]/);
87
- if (split.length == 3) {
88
- return `${split[0]}-${split[1]}`;
89
- } else if (split.length > 3) {
90
- return `${split[0]}-${split[1]}-${split[2]}`;
91
- }
92
- return split[0];
93
- };
94
-
95
- // Group by prefix
96
- const grouped = data.reduce(
97
- /**
98
- * @param {Record<string, Record<string, any>[]>} acc
99
- * @param {Record<string, any>} item
100
- * @returns {Record<string, Record<string, any>[]>}
101
- */
102
- (acc, item) => {
103
- const prefix = getPrefix(item.key);
104
-
105
- if (!acc[prefix]) {
106
- acc[prefix] = [];
107
- }
108
-
109
- acc[prefix].push(item);
110
-
111
- return acc;
112
- },
113
- {}
114
- );
115
-
116
- // Convert the grouped object into an array of arrays
117
- // const result = Object.values(grouped);
118
- resolve(grouped);
119
- })
120
- .catch((error) => {
121
- console.error("Error fetching data:", error);
122
- reject(error); // Reject the promise with the error
123
- });
124
- });
125
- }
126
-
127
- /**
128
- * Deletes old GitHub Actions caches for the current repository (origin remote),
129
- * keeping only the most recent cache for each prefix (based on creation date).
130
- * Retrieves caches, groups by prefix, sorts by creation date, and deletes all but the latest.
131
- */
132
- (async () => {
133
- try {
134
- const remotes = await parseGitRemotes();
135
- const GH_REPO = remotes.origin;
136
- const caches = await get_caches(GH_REPO);
137
-
138
- for (const key in caches) {
139
- if (Object.hasOwnProperty.call(caches, key)) {
140
- const items = caches[key]
141
- .sort((a, b) => new Date(b.created_at) - new Date(a.created_at))
142
- .map((item) => ({
143
- ...item,
144
- human_readable_date: new Date(item.created_at).toLocaleString()
145
- }));
146
-
147
- if (items.length > 1) {
148
- const ids = items.map((o) => o.id);
149
- ids.shift(); // keep the most recent cache
150
- if (ids.length > 0) {
151
- for (const id of ids) {
152
- try {
153
- await deleteGitHubActionsCache(GH_REPO, id);
154
- } catch (err) {
155
- console.error(`Error deleting cache ${id}:`, err);
156
- }
157
- }
158
- } else {
159
- console.log(`cache prefix ${key} no cache left`);
160
- }
161
- } else {
162
- console.log(`cache prefix ${key} only have 1 cache`);
163
- }
164
- }
165
- }
166
- } catch (e) {
167
- console.error(`Error: ${e}`);
168
- }
169
- })();
@@ -1,169 +0,0 @@
1
- const axios = require("axios");
2
- const { parseGitRemotes } = require("./utils");
3
- const path = require("upath");
4
- const fs = require("fs");
5
- const projectDir = process.cwd();
6
- const envPath = path.join(projectDir, ".env");
7
-
8
- // Load the .env file using dotenv
9
- if (fs.existsSync(envPath)) {
10
- require("dotenv").config({ path: envPath });
11
- } else {
12
- console.warn(`.env file not found at ${envPath}`);
13
- }
14
-
15
- // delete caches leaving single last cache based on creation date
16
-
17
- const ACCESS_TOKEN = process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN;
18
-
19
- if (!ACCESS_TOKEN) {
20
- throw new Error(
21
- "Access token is not provided. Please set ACCESS_TOKEN or GITHUB_TOKEN in your environment variables."
22
- );
23
- }
24
-
25
- /**
26
- * Deletes a GitHub Actions cache.
27
- * @param {string} GH_REPO - The GitHub repository in the format "owner/repo".
28
- * @param {string} cacheId - The ID of the cache to delete.
29
- * @returns {Promise} - A promise that resolves on success and rejects on error.
30
- */
31
- function deleteGitHubActionsCache(GH_REPO, cacheId) {
32
- return new Promise((resolve, reject) => {
33
- const url = `https://api.github.com/repos/${GH_REPO}/actions/caches/${cacheId}`;
34
- const token = ACCESS_TOKEN;
35
-
36
- if (!token) {
37
- return reject(new Error("Access token is not provided"));
38
- }
39
-
40
- axios
41
- .delete(url, {
42
- headers: {
43
- Authorization: `token ${token}`,
44
- Accept: "application/vnd.github.v3+json"
45
- }
46
- })
47
- .then((response) => {
48
- console.log(`Cache (${cacheId}) deleted successfully`, response.data);
49
- resolve(response.data); // Resolve with the response data
50
- })
51
- .catch((error) => {
52
- console.error("Error deleting cache:", error.response?.data || error.message || "Unknown error");
53
- reject(error); // Reject with the error
54
- });
55
- });
56
- }
57
-
58
- /**
59
- * list github actions caches
60
- * @param {string} GH_REPO
61
- * @returns {Promise<Record<string, Record<string, any>[]>>}
62
- */
63
- function get_caches(GH_REPO) {
64
- const url = `https://api.github.com/repos/${GH_REPO}/actions/caches`;
65
-
66
- return new Promise((resolve, reject) => {
67
- axios
68
- .get(url, {
69
- headers: {
70
- Accept: "application/vnd.github.v3+json",
71
- Authorization: `token ${ACCESS_TOKEN}`
72
- }
73
- })
74
- .then((response) => {
75
- /**
76
- * @type {Record<string, any>[]}
77
- */
78
- const data = response.data.actions_caches;
79
- // resolve(response.data);
80
- /**
81
- * extract the prefix from the key
82
- * @param {string} key
83
- * @returns
84
- */
85
- const getPrefix = (key) => {
86
- const split = key.split(/[-_]/);
87
- if (split.length == 3) {
88
- return `${split[0]}-${split[1]}`;
89
- } else if (split.length > 3) {
90
- return `${split[0]}-${split[1]}-${split[2]}`;
91
- }
92
- return split[0];
93
- };
94
-
95
- // Group by prefix
96
- const grouped = data.reduce(
97
- /**
98
- * @param {Record<string, Record<string, any>[]>} acc
99
- * @param {Record<string, any>} item
100
- * @returns {Record<string, Record<string, any>[]>}
101
- */
102
- (acc, item) => {
103
- const prefix = getPrefix(item.key);
104
-
105
- if (!acc[prefix]) {
106
- acc[prefix] = [];
107
- }
108
-
109
- acc[prefix].push(item);
110
-
111
- return acc;
112
- },
113
- {}
114
- );
115
-
116
- // Convert the grouped object into an array of arrays
117
- // const result = Object.values(grouped);
118
- resolve(grouped);
119
- })
120
- .catch((error) => {
121
- console.error("Error fetching data:", error);
122
- reject(error); // Reject the promise with the error
123
- });
124
- });
125
- }
126
-
127
- /**
128
- * Deletes old GitHub Actions caches for the current repository (origin remote),
129
- * keeping only the most recent cache for each prefix (based on creation date).
130
- * Retrieves caches, groups by prefix, sorts by creation date, and deletes all but the latest.
131
- */
132
- (async () => {
133
- try {
134
- const remotes = await parseGitRemotes();
135
- const GH_REPO = remotes.origin;
136
- const caches = await get_caches(GH_REPO);
137
-
138
- for (const key in caches) {
139
- if (Object.hasOwnProperty.call(caches, key)) {
140
- const items = caches[key]
141
- .sort((a, b) => new Date(b.created_at) - new Date(a.created_at))
142
- .map((item) => ({
143
- ...item,
144
- human_readable_date: new Date(item.created_at).toLocaleString()
145
- }));
146
-
147
- if (items.length > 1) {
148
- const ids = items.map((o) => o.id);
149
- ids.shift(); // keep the most recent cache
150
- if (ids.length > 0) {
151
- for (const id of ids) {
152
- try {
153
- await deleteGitHubActionsCache(GH_REPO, id);
154
- } catch (err) {
155
- console.error(`Error deleting cache ${id}:`, err);
156
- }
157
- }
158
- } else {
159
- console.log(`cache prefix ${key} no cache left`);
160
- }
161
- } else {
162
- console.log(`cache prefix ${key} only have 1 cache`);
163
- }
164
- }
165
- }
166
- } catch (e) {
167
- console.error(`Error: ${e}`);
168
- }
169
- })();
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,2 +0,0 @@
1
-
2
- export { }
package/lib/del-ps.d.mts DELETED
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1 +0,0 @@
1
- #!/usr/bin/env node
@@ -1,13 +0,0 @@
1
- /**
2
- * Asynchronously finds all "node_modules" directories within the given directory.
3
- *
4
- * @param {string} [dir=process.cwd()] - The directory to start the search from. Defaults to the current working directory.
5
- * @param {function} [callback=null] - Optional callback function that gets called with each found "node_modules" path.
6
- * @returns {Promise<string[]>} - A promise that resolves to an array of full paths to "node_modules" directories.
7
- */
8
- declare function findNodeModules(dir?: string, callback?: Function): Promise<string[]>;
9
- declare namespace findNodeModules {
10
- export { findNodeModules as default };
11
- }
12
-
13
- export { findNodeModules as default };
@@ -1,53 +0,0 @@
1
- const glob = require("glob");
2
- const path = require("path");
3
- /**
4
- * Asynchronously finds all "node_modules" directories within the given directory.
5
- *
6
- * @param {string} [dir=process.cwd()] - The directory to start the search from. Defaults to the current working directory.
7
- * @param {function} [callback=null] - Optional callback function that gets called with each found "node_modules" path.
8
- * @returns {Promise<string[]>} - A promise that resolves to an array of full paths to "node_modules" directories.
9
- */
10
- function findNodeModules(dir = process.cwd(), callback = null) {
11
- const finalDir = typeof dir === "string" ? dir : process.cwd();
12
- return new Promise((resolve, reject) => {
13
- const results = [];
14
- const g3 = new glob.Glob("**/node_modules", {
15
- withFileTypes: false,
16
- cwd: finalDir,
17
- ignore: ["**/.git*", "**/vendor/**"]
18
- });
19
- const stream = g3.stream();
20
- stream.on("data", (result) => {
21
- const fullPath = path.resolve(finalDir, result);
22
- if (typeof callback === "function") {
23
- try {
24
- callback(fullPath); // Safely invoke callback
25
- }
26
- catch (err) {
27
- console.error("findNodeModules callback error:", err);
28
- }
29
- }
30
- results.push(fullPath);
31
- });
32
- stream.on("error", (err) => reject(err)); // Handle errors
33
- stream.on("end", () => {
34
- if (results.length === 0) {
35
- console.log("No node_modules directories found.");
36
- }
37
- resolve(results); // Resolve the full array when the stream ends
38
- });
39
- });
40
- }
41
- // Support both CommonJS and ESM usage
42
- if (typeof module !== "undefined" && require.main === module) {
43
- findNodeModules(null, console.log)
44
- .then((dirs) => {
45
- console.log(`Found ${dirs.length} node_modules directories.`);
46
- })
47
- .catch((err) => {
48
- console.error("Error finding node_modules directories:", err);
49
- });
50
- }
51
- // ESM export support
52
- module.exports = findNodeModules;
53
- module.exports.default = findNodeModules;