binary-collections 2.0.9 → 2.0.11

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 (306) hide show
  1. package/.puppeterrc.cjs +25 -0
  2. package/binaries/binary-executor.cjs +178 -0
  3. package/{bin → binaries}/clean-nodemodule +0 -0
  4. package/binaries/clean-nodemodule.cjs +178 -0
  5. package/binaries/clean-nodemodule.cmd +4 -0
  6. package/{bin → binaries}/clean-nodemodules +0 -0
  7. package/binaries/clean-nodemodules.cjs +178 -0
  8. package/binaries/clean-nodemodules.cmd +5 -0
  9. package/{bin → binaries}/dev +0 -0
  10. package/binaries/dev.cjs +178 -0
  11. package/{bin → binaries}/empty +0 -0
  12. package/binaries/empty.cjs +178 -0
  13. package/{bin → binaries}/git-reduce-size +0 -0
  14. package/binaries/git-reduce-size.cjs +178 -0
  15. package/binaries/javakill.cjs +178 -0
  16. package/{bin → binaries}/javakill.cmd +0 -0
  17. package/binaries/kill-night-crows.bat +7 -0
  18. package/binaries/kill-night-crows.ps1 +172 -0
  19. package/{bin → binaries}/kill-process +0 -0
  20. package/binaries/kill-process.cjs +178 -0
  21. package/binaries/nodekill.cjs +178 -0
  22. package/{bin → binaries}/nodekill.ps1 +0 -0
  23. package/{bin → binaries}/prod +0 -0
  24. package/binaries/prod.cjs +178 -0
  25. package/binaries/py +111 -0
  26. package/binaries/py.cjs +178 -0
  27. package/binaries/py.cmd +49 -0
  28. package/{bin → binaries}/rmfind +0 -0
  29. package/binaries/rmfind.cjs +178 -0
  30. package/{bin → binaries}/rmx +0 -0
  31. package/binaries/rmx.cjs +178 -0
  32. package/{bin → binaries}/submodule-token +0 -0
  33. package/binaries/submodule-token.cjs +178 -0
  34. package/binaries/test-cjs +10 -0
  35. package/binaries/test-cjs.cjs +178 -0
  36. package/binaries/test-cjs.cmd +11 -0
  37. package/binaries/yarn-clean +32 -0
  38. package/binaries/yarn-clean.cjs +178 -0
  39. package/binaries/yarn-clean.cmd +30 -0
  40. package/binaries/yarn-clean.py +148 -0
  41. package/docs-src/clean-github-actions-caches.md +26 -0
  42. package/docs-src/free-chatgpt.md +26 -0
  43. package/lib/binary-collections-config.cjs +3 -2
  44. package/lib/binary-collections-config.mjs +2 -2
  45. package/lib/binary-collections.cjs +513 -105
  46. package/lib/binary-collections.mjs +178 -117
  47. package/lib/changelog.cjs +64 -16
  48. package/lib/changelog.mjs +177 -171
  49. package/lib/{chunk-VVEZVNIV.mjs → chunk-2CBJCW7E.mjs} +3 -3
  50. package/lib/chunk-34IQDTLZ.mjs +27 -0
  51. package/lib/chunk-3HFFECCI.mjs +27 -0
  52. package/lib/chunk-4UHL4WVN.mjs +136 -0
  53. package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
  54. package/lib/chunk-6HHJRKFB.mjs +59 -0
  55. package/lib/chunk-6S4NXESK.mjs +26 -0
  56. package/lib/chunk-7XTEJHOE.mjs +193 -0
  57. package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
  58. package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
  59. package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
  60. package/lib/chunk-AJDD5DZM.mjs +109 -0
  61. package/lib/chunk-BZWVHODJ.mjs +62 -0
  62. package/lib/chunk-FCDQGYBF.mjs +136 -0
  63. package/lib/chunk-FKI7IEB5.mjs +172 -0
  64. package/lib/chunk-GEYA2USY.mjs +207 -0
  65. package/lib/chunk-GJTGHXRA.mjs +356 -0
  66. package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
  67. package/lib/chunk-ID2WBTE2.mjs +80 -0
  68. package/lib/chunk-JXFOHKDM.mjs +239 -0
  69. package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
  70. package/lib/chunk-N436BNBK.mjs +514 -0
  71. package/lib/chunk-NCXAP7AA.mjs +31 -0
  72. package/lib/chunk-PDN26I7O.mjs +188 -0
  73. package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
  74. package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
  75. package/lib/{chunk-ONIBBBQ3.mjs → chunk-RWLXRTYP.mjs} +4 -3
  76. package/lib/chunk-TOIVAQF7.mjs +136 -0
  77. package/lib/chunk-V5SKYJUB.mjs +136 -0
  78. package/lib/chunk-WSRETQCA.mjs +59 -0
  79. package/lib/chunk-XA3SNBPA.mjs +184 -0
  80. package/lib/chunk-XVBFFVCJ.mjs +209 -0
  81. package/lib/chunk-YYLIQQKF.mjs +31 -0
  82. package/lib/{chunk-APBWENF6.mjs → chunk-Z6JLYU2J.mjs} +63 -16
  83. package/lib/chunk-ZDMWBSYF.mjs +81 -0
  84. package/lib/clean-github-actions-caches.cjs +291 -148
  85. package/lib/clean-github-actions-caches.mjs +4 -3
  86. package/lib/del-gradle.cjs +63 -15
  87. package/lib/del-gradle.js +2 -1
  88. package/lib/del-gradle.mjs +2 -2
  89. package/lib/del-node-modules.cjs +143 -148
  90. package/lib/del-node-modules.js +210 -14
  91. package/lib/del-node-modules.mjs +149 -18
  92. package/lib/del-ps.cjs +90 -21
  93. package/lib/del-ps.js +3 -2
  94. package/lib/del-ps.mjs +7 -5
  95. package/lib/del-yarn-caches.cjs +87 -18
  96. package/lib/del-yarn-caches.js +38 -3
  97. package/lib/del-yarn-caches.mjs +6 -6
  98. package/lib/find-node-modules-cli.cjs +5 -4
  99. package/lib/find-node-modules-cli.js +2 -1
  100. package/lib/find-node-modules-cli.mjs +2 -2
  101. package/lib/find-node-modules.cjs +4 -3
  102. package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
  103. package/lib/find-node-modules.mjs +2 -2
  104. package/lib/free-chatgpt.cjs +754 -0
  105. package/lib/free-chatgpt.js +51 -0
  106. package/lib/free-chatgpt.mjs +50 -0
  107. package/lib/git/gitattributes.cjs +2 -1
  108. package/lib/git/{gitattributes.d.ts → gitattributes.d.cts} +7 -2
  109. package/lib/git/gitattributes.mjs +2 -2
  110. package/lib/git/line-endings.cjs +298 -64
  111. package/lib/git/line-endings.mjs +4 -4
  112. package/lib/git/normalize.cjs +26 -36
  113. package/lib/git/normalize.mjs +2 -2
  114. package/lib/git/permissions.cjs +77 -11
  115. package/lib/git/permissions.mjs +3 -3
  116. package/lib/git/pull-strategy.cjs +76 -9
  117. package/lib/git/pull-strategy.mjs +3 -3
  118. package/lib/git/undo-commit-cli.cjs +110 -0
  119. package/lib/git/undo-commit-cli.d.ts +1 -0
  120. package/lib/git/undo-commit-cli.js +4 -0
  121. package/lib/git/undo-commit-cli.mjs +14 -0
  122. package/lib/git/undo-commit.cjs +81 -0
  123. package/lib/git/undo-commit.d.cts +1 -0
  124. package/lib/git/undo-commit.mjs +7 -0
  125. package/lib/git/undo-staged-cli.cjs +110 -0
  126. package/lib/git/undo-staged-cli.d.ts +1 -0
  127. package/lib/git/undo-staged-cli.js +4 -0
  128. package/lib/git/undo-staged-cli.mjs +14 -0
  129. package/lib/git/undo-staged.cjs +81 -0
  130. package/lib/git/undo-staged.d.cts +1 -0
  131. package/lib/git/undo-staged.mjs +7 -0
  132. package/lib/git/user-config.cjs +313 -83
  133. package/lib/git/user-config.mjs +4 -4
  134. package/lib/git/utils.cjs +40 -60
  135. package/lib/git/utils.mjs +2 -2
  136. package/lib/git-diff-cli.cjs +857 -0
  137. package/lib/git-diff-cli.js +16 -0
  138. package/lib/git-diff-cli.mjs +17 -0
  139. package/lib/git-diff.cjs +862 -58
  140. package/lib/git-diff.d.ts +38 -83
  141. package/lib/git-diff.js +152 -0
  142. package/lib/git-diff.mjs +23 -85
  143. package/lib/git-fix.cjs +733 -97
  144. package/lib/git-fix.mjs +10 -9
  145. package/lib/git-purge.cjs +64 -16
  146. package/lib/git-purge.d.cts +1 -0
  147. package/lib/git-purge.mjs +43 -37
  148. package/lib/index.cjs +7 -6
  149. package/lib/index.d.ts +1 -1
  150. package/lib/index.js +2 -5
  151. package/lib/index.mjs +4 -4
  152. package/lib/kill-night-crows.cjs +87 -0
  153. package/lib/kill-night-crows.d.mts +1 -0
  154. package/lib/kill-night-crows.mjs +65 -0
  155. package/lib/npm-run-series.cjs +63 -16
  156. package/lib/npm-run-series.mjs +42 -36
  157. package/lib/package-resolutions-updater-cli.cjs +560 -0
  158. package/lib/package-resolutions-updater-cli.d.mts +1 -0
  159. package/lib/package-resolutions-updater-cli.mjs +124 -0
  160. package/lib/package-resolutions-updater.cjs +178 -158
  161. package/lib/package-resolutions-updater.d.mts +32 -1
  162. package/lib/package-resolutions-updater.mjs +17 -338
  163. package/lib/php-cs-fixer-staged.cjs +105 -0
  164. package/lib/php-cs-fixer-staged.d.cts +2 -0
  165. package/lib/php-cs-fixer-staged.mjs +117 -0
  166. package/lib/print-directory-tree.cjs +320 -207
  167. package/lib/print-directory-tree.mjs +3 -3
  168. package/lib/ps/connected-domain.cjs +25 -2
  169. package/lib/ps/connected-domain.d.ts +10 -2
  170. package/lib/ps/connected-domain.js +5 -2
  171. package/lib/ps/connected-domain.mjs +8 -4
  172. package/lib/ps/index.cjs +345 -322
  173. package/lib/ps/index.d.mjs +1 -1
  174. package/lib/ps/index.js +2 -1
  175. package/lib/ps/index.mjs +179 -182
  176. package/lib/ps/isWin.cjs +24 -1
  177. package/lib/ps/isWin.d.ts +1 -1
  178. package/lib/ps/isWin.js +3 -1
  179. package/lib/ps/isWin.mjs +8 -4
  180. package/lib/ps/table-parser.cjs +167 -159
  181. package/lib/ps/table-parser.d.ts +5 -0
  182. package/lib/ps/table-parser.js +10 -4
  183. package/lib/ps/table-parser.mjs +9 -5
  184. package/lib/remove-module.cjs +310 -0
  185. package/lib/remove-module.d.mts +1 -0
  186. package/lib/remove-module.mjs +111 -0
  187. package/lib/rmpath.cjs +322 -0
  188. package/lib/rmpath.d.mts +3 -0
  189. package/lib/rmpath.mjs +108 -0
  190. package/lib/submodule-install.cjs +311 -86
  191. package/lib/submodule-install.mjs +53 -5
  192. package/lib/submodule-remove-cli.cjs +107 -0
  193. package/lib/submodule-remove-cli.d.ts +1 -0
  194. package/lib/submodule-remove-cli.js +31 -0
  195. package/lib/submodule-remove-cli.mjs +28 -0
  196. package/lib/submodule-remove.cjs +46 -0
  197. package/lib/submodule-remove.d.cts +2 -0
  198. package/lib/submodule-remove.mjs +6 -0
  199. package/lib/utils/chatgpt.cjs +541 -0
  200. package/lib/utils/chatgpt.d.ts +31 -0
  201. package/lib/utils/chatgpt.js +708 -0
  202. package/lib/utils/chatgpt.mjs +8 -0
  203. package/lib/utils/findEnvFiles.cjs +107 -0
  204. package/lib/utils/findEnvFiles.d.ts +8 -0
  205. package/lib/utils/findEnvFiles.js +121 -0
  206. package/lib/utils/findEnvFiles.mjs +8 -0
  207. package/lib/utils/findWorkspaceRoot.cjs +70 -0
  208. package/lib/utils/findWorkspaceRoot.d.ts +9 -0
  209. package/lib/utils/findWorkspaceRoot.js +57 -0
  210. package/lib/utils/findWorkspaceRoot.mjs +40 -0
  211. package/lib/{utils.cjs → utils/index.cjs} +61 -14
  212. package/lib/{utils.mjs → utils/index.mjs} +2 -2
  213. package/lib/utils/isGithubTokenValid.cjs +64 -0
  214. package/lib/utils/isGithubTokenValid.d.ts +7 -0
  215. package/lib/utils/isGithubTokenValid.js +48 -0
  216. package/lib/utils/isGithubTokenValid.mjs +36 -0
  217. package/lib/yarn-reinstall.cjs +220 -38
  218. package/lib/yarn-reinstall.mjs +2 -2
  219. package/package.json +138 -104
  220. package/readme.md +48 -75
  221. package/releases/readme.md +36 -0
  222. package/requirements.txt +1 -0
  223. package/test/README.md +101 -0
  224. package/test/package.json +2 -1
  225. package/test-project/readme.md +26 -0
  226. package/tmp/test-repo/README.md +35 -0
  227. package/tmp/test-repo/package.json +1 -1
  228. package/tmp/typedoc/readme.md +320 -0
  229. package/bin/bash-dummy +0 -56
  230. package/bin/bash-dummy.cmd +0 -25
  231. package/bin/dir-tree.cmd +0 -7
  232. package/bin/git-diff +0 -4
  233. package/bin/git-diff.cmd +0 -7
  234. package/bin/git-fix +0 -36
  235. package/bin/git-fix.cmd +0 -7
  236. package/bin/rmpath +0 -70
  237. package/bin/submodule-install.txt +0 -118
  238. package/bin/submodule-remove +0 -46
  239. package/bin/submodule.txt +0 -172
  240. package/lib/binary-collections-config.d.mts +0 -18
  241. package/lib/binary-collections-config.js +0 -39
  242. package/lib/binary-collections.d.mts +0 -137
  243. package/lib/binary-collections.d.ts +0 -137
  244. package/lib/changelog.d.mts +0 -2
  245. package/lib/changelog.js +0 -226
  246. package/lib/chunk-DPKAJKFO.mjs +0 -171
  247. package/lib/chunk-G3THLIDT.mjs +0 -200
  248. package/lib/chunk-W3ENOM53.mjs +0 -18
  249. package/lib/clean-github-actions-caches.d.mts +0 -169
  250. package/lib/clean-github-actions-caches.d.ts +0 -169
  251. package/lib/del-gradle.d.mts +0 -2
  252. package/lib/del-node-modules.d.mts +0 -2
  253. package/lib/del-ps.d.mts +0 -2
  254. package/lib/del-yarn-caches.d.mts +0 -2
  255. package/lib/find-node-modules-cli.d.mts +0 -1
  256. package/lib/find-node-modules.d.mts +0 -13
  257. package/lib/find-node-modules.js +0 -53
  258. package/lib/git/gitattributes.d.mts +0 -35
  259. package/lib/git/gitattributes.js +0 -223
  260. package/lib/git/line-endings.d.mts +0 -83
  261. package/lib/git/line-endings.d.ts +0 -83
  262. package/lib/git/normalize.d.mts +0 -43
  263. package/lib/git/normalize.d.ts +0 -43
  264. package/lib/git/permissions.d.mts +0 -17
  265. package/lib/git/permissions.d.ts +0 -17
  266. package/lib/git/pull-strategy.d.mts +0 -15
  267. package/lib/git/pull-strategy.d.ts +0 -15
  268. package/lib/git/user-config.d.mts +0 -105
  269. package/lib/git/user-config.d.ts +0 -105
  270. package/lib/git/utils.d.mts +0 -69
  271. package/lib/git/utils.d.ts +0 -69
  272. package/lib/git-diff.d.mts +0 -84
  273. package/lib/git-fix.d.mts +0 -141
  274. package/lib/git-fix.d.ts +0 -141
  275. package/lib/git-purge.d.mts +0 -2
  276. package/lib/git-purge.js +0 -59
  277. package/lib/index.d.mts +0 -1
  278. package/lib/npm-run-series.d.mts +0 -1
  279. package/lib/npm-run-series.js +0 -86
  280. package/lib/package-resolutions-updater.d.ts +0 -352
  281. package/lib/print-directory-tree.d.mts +0 -234
  282. package/lib/print-directory-tree.d.ts +0 -234
  283. package/lib/ps/connected-domain.d.mts +0 -3
  284. package/lib/ps/index.d.d.mts +0 -26
  285. package/lib/ps/index.d.d.ts +0 -26
  286. package/lib/ps/index.d.mts +0 -26
  287. package/lib/ps/isWin.d.mts +0 -3
  288. package/lib/ps/table-parser.d.mts +0 -3
  289. package/lib/submodule-install.d.mts +0 -121
  290. package/lib/submodule-install.d.ts +0 -121
  291. package/lib/utils.d.mts +0 -40
  292. package/lib/utils.js +0 -181
  293. package/lib/yarn-reinstall.d.mts +0 -49
  294. package/lib/yarn-reinstall.d.ts +0 -49
  295. package/src/package-resolutions-updater.mjs +0 -350
  296. package/src/print-directory-tree.cjs +0 -234
  297. package/src/ps/index.js +0 -286
  298. package/src/yarn-reinstall.cjs +0 -49
  299. /package/{bin → binaries}/nodekill +0 -0
  300. /package/{bin → binaries}/nodekill.cmd +0 -0
  301. /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
  302. /package/lib/{changelog.d.ts → changelog.d.cts} +0 -0
  303. /package/lib/{git-purge.d.ts → free-chatgpt.d.ts} +0 -0
  304. /package/lib/{git-diff.d.cts → git-diff-cli.d.ts} +0 -0
  305. /package/lib/{npm-run-series.d.ts → npm-run-series.d.cts} +0 -0
  306. /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
@@ -0,0 +1,124 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ getLatestCommit,
4
+ getLatestCommitAcrossBranches,
5
+ parseGitHubUrl,
6
+ replaceRawWithLatestHash
7
+ } from "./chunk-XA3SNBPA.mjs";
8
+ import "./chunk-ID2WBTE2.mjs";
9
+ import "./chunk-Z6JLYU2J.mjs";
10
+ import {
11
+ init_esm_shims
12
+ } from "./chunk-QQ4A6DLD.mjs";
13
+
14
+ // src/package-resolutions-updater-cli.mjs
15
+ init_esm_shims();
16
+ import ansiColors from "ansi-colors";
17
+ import fs from "fs";
18
+ import path from "path";
19
+ (async () => {
20
+ const specialPackageOverrides = [
21
+ // SBG packages
22
+ { pkg: "sbg-utility", branch: "sbg-utility", repo: "static-blog-generator", owner: "dimaslanjaka" },
23
+ { pkg: "sbg-api", branch: "sbg-api", repo: "static-blog-generator", owner: "dimaslanjaka" },
24
+ { pkg: "instant-indexing", branch: "instant-indexing", repo: "static-blog-generator", owner: "dimaslanjaka" },
25
+ { pkg: "sbg-server", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
26
+ { pkg: "sbg-cli", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
27
+ { pkg: "static-blog-generator", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
28
+ // Hexo family
29
+ // { pkg: "hexo", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
30
+ // { pkg: "hexo-util", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
31
+ // { pkg: "warehouse", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
32
+ // { pkg: "hexo-server", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
33
+ // { pkg: "hexo-log", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
34
+ // { pkg: "hexo-front-matter", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
35
+ // { pkg: "hexo-cli", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
36
+ // { pkg: "hexo-asset-link", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
37
+ { pkg: "hexo-post-parser", branch: "pre-release", repo: "hexo-post-parser", owner: "dimaslanjaka" },
38
+ { pkg: "hexo-seo", branch: "pre-release", repo: "hexo-seo", owner: "dimaslanjaka" },
39
+ { pkg: "hexo-is", branch: "master", repo: "hexo-is", owner: "dimaslanjaka" },
40
+ { pkg: "markdown-it", branch: "master", repo: "markdown-it", owner: "dimaslanjaka" },
41
+ { pkg: "hexo-renderers", branch: "pre-release", repo: "hexo-renderers", owner: "dimaslanjaka" },
42
+ { pkg: "hexo-shortcodes", branch: "pre-release", repo: "hexo-shortcodes", owner: "dimaslanjaka" },
43
+ { pkg: "google-news-sitemap", branch: "master", repo: "google-news-sitemap", owner: "dimaslanjaka" },
44
+ { pkg: "git-command-helper", branch: "pre-release", repo: "git-command-helper", owner: "dimaslanjaka" },
45
+ {
46
+ pkg: "nodejs-package-types",
47
+ branch: "main",
48
+ repo: "nodejs-package-types",
49
+ owner: "dimaslanjaka"
50
+ },
51
+ { pkg: "cross-spawn", branch: "private", repo: "node-cross-spawn", owner: "dimaslanjaka" },
52
+ { pkg: "hexo-generator-redirect", branch: "master", repo: "hexo-generator-redirect", owner: "dimaslanjaka" },
53
+ { pkg: "binary-collections", branch: "master", repo: "bin", owner: "dimaslanjaka" },
54
+ // { pkg: "@types/hexo", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
55
+ { pkg: "@types/git-command-helper", branch: "pre-release", repo: "git-command-helper", owner: "dimaslanjaka" }
56
+ ];
57
+ const pkgPath = path.join(process.cwd(), "package.json");
58
+ let pkg;
59
+ try {
60
+ pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
61
+ } catch (e) {
62
+ console.error(ansiColors.red(`Failed to read package.json: ${e.message}`));
63
+ process.exit(1);
64
+ }
65
+ const entries = Object.entries(pkg.resolutions || {});
66
+ if (entries.length === 0) {
67
+ console.log(ansiColors.yellow("No resolutions found in package.json"));
68
+ return;
69
+ }
70
+ console.log(`Processing ${entries.length} resolution(s)...`);
71
+ const updates = [];
72
+ for (const [currentPkgName, url] of entries) {
73
+ let repo;
74
+ try {
75
+ repo = parseGitHubUrl(url);
76
+ } catch (error) {
77
+ console.log(`\u23ED\uFE0F Skipping ${ansiColors.yellow(currentPkgName)}: ${error.message}`);
78
+ continue;
79
+ }
80
+ try {
81
+ const override = specialPackageOverrides.find((p) => p.pkg === currentPkgName);
82
+ const latest = override ? await getLatestCommit(override.owner, override.repo, override.branch) : await getLatestCommitAcrossBranches(repo.owner, repo.repo);
83
+ const new_url = replaceRawWithLatestHash(url, latest.sha);
84
+ updates.push({
85
+ currentPkgName,
86
+ url,
87
+ new_url,
88
+ repo,
89
+ latest
90
+ });
91
+ } catch (error) {
92
+ console.log(`\u274C Failed to process ${ansiColors.red(currentPkgName)}: ${error.message}`);
93
+ }
94
+ }
95
+ if (updates.length === 0) {
96
+ console.log(ansiColors.yellow("No GitHub URLs were processed"));
97
+ return;
98
+ }
99
+ console.log(`\u{1F4DD} Applying updates to ${updates.length} GitHub URL(s)...`);
100
+ let changed = false;
101
+ for (const { currentPkgName, url, new_url, repo, latest } of updates) {
102
+ if (url !== new_url) {
103
+ console.log(`${ansiColors.cyan(currentPkgName)}:`);
104
+ console.log(" from:", url.replace(repo.branch, ansiColors.red(repo.branch)));
105
+ console.log(" to:", new_url.replace(latest.sha, ansiColors.green(latest.sha)));
106
+ pkg.resolutions[currentPkgName] = new_url;
107
+ changed = true;
108
+ } else {
109
+ console.log(`${ansiColors.cyan(currentPkgName)}: ${ansiColors.gray("already up-to-date")}`);
110
+ }
111
+ }
112
+ console.log("\n\u{1F4CC} Summary:");
113
+ if (changed) {
114
+ try {
115
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "");
116
+ console.log(`\u2705 package.json updated successfully`);
117
+ } catch (e) {
118
+ console.error(ansiColors.red(`Failed to write package.json: ${e.message}`));
119
+ process.exit(1);
120
+ }
121
+ } else {
122
+ console.log(ansiColors.green("No changes to package.json were necessary."));
123
+ }
124
+ })();
@@ -10,6 +10,10 @@ var __esm = (fn, res) => function __init() {
10
10
  var __commonJS = (cb, mod) => function __require() {
11
11
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
12
  };
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
13
17
  var __copyProps = (to, from, except, desc) => {
14
18
  if (from && typeof from === "object" || typeof from === "function") {
15
19
  for (let key of __getOwnPropNames(from))
@@ -26,6 +30,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
30
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
31
  mod
28
32
  ));
33
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
34
 
30
35
  // node_modules/tsup/assets/cjs_shims.js
31
36
  var init_cjs_shims = __esm({
@@ -33,12 +38,12 @@ var init_cjs_shims = __esm({
33
38
  }
34
39
  });
35
40
 
36
- // src/utils.js
41
+ // src/utils/index.cjs
37
42
  var require_utils = __commonJS({
38
- "src/utils.js"(exports2, module2) {
43
+ "src/utils/index.cjs"(exports2, module2) {
39
44
  init_cjs_shims();
40
- var fs2 = require("fs");
41
- var path2 = require("upath");
45
+ var fs3 = require("fs");
46
+ var path3 = require("upath");
42
47
  var argv = require("minimist")(process.argv.slice(2));
43
48
  var { exec } = require("child_process");
44
49
  var { URL: URL2 } = require("url");
@@ -88,31 +93,78 @@ var require_utils = __commonJS({
88
93
  }
89
94
  module2.exports.getArgs = getArgs2;
90
95
  function del(fullPath) {
91
- if (fs2.statSync(fullPath).isDirectory()) {
92
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
93
- for (let i = 0; i < subdir.length; i++) {
94
- del(subdir[i]);
96
+ try {
97
+ if (!fs3.existsSync(fullPath)) return;
98
+ const stat = fs3.lstatSync(fullPath);
99
+ if (stat.isSymbolicLink()) {
100
+ try {
101
+ fs3.unlinkSync(fullPath);
102
+ console.log("deleted symlink", fullPath);
103
+ } catch (e) {
104
+ console.log("failed delete symlink", fullPath, e && e.message);
105
+ }
106
+ return;
107
+ }
108
+ if (stat.isDirectory()) {
109
+ const subdir = fs3.readdirSync(fullPath).map((dirPath) => path3.resolve(fullPath, dirPath));
110
+ for (let i = 0; i < subdir.length; i++) {
111
+ del(subdir[i]);
112
+ }
113
+ try {
114
+ fs3.rmdirSync(fullPath);
115
+ console.log("deleted", fullPath);
116
+ } catch (e) {
117
+ try {
118
+ fs3.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
119
+ console.log("deleted", fullPath);
120
+ } catch (ee) {
121
+ console.log("failed delete", fullPath, ee && ee.message);
122
+ }
123
+ }
124
+ return;
95
125
  }
96
- } else {
97
126
  try {
98
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
127
+ fs3.unlinkSync(fullPath);
99
128
  console.log("deleted", fullPath);
100
- } catch (_) {
101
- console.log("failed delete", fullPath);
129
+ } catch (e) {
130
+ try {
131
+ fs3.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
132
+ console.log("deleted", fullPath);
133
+ } catch (ee) {
134
+ console.log("failed delete", fullPath, ee && ee.message);
135
+ }
102
136
  }
137
+ } catch (err) {
138
+ console.log("failed delete", fullPath, err && err.message);
103
139
  }
104
140
  }
105
141
  module2.exports.del = del;
106
142
  function delStream(globStream) {
107
143
  globStream.stream().on("data", (result) => {
108
- const fullPath = path2.resolve(process.cwd(), result);
109
- if (fs2.statSync(fullPath).isDirectory()) {
110
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
111
- for (let i = 0; i < subdir.length; i++) {
112
- del(subdir[i]);
144
+ const fullPath = path3.resolve(process.cwd(), result);
145
+ try {
146
+ if (fs3.existsSync(fullPath)) {
147
+ const stat = fs3.lstatSync(fullPath);
148
+ if (stat.isSymbolicLink()) {
149
+ try {
150
+ fs3.unlinkSync(fullPath);
151
+ console.log("deleted symlink", fullPath);
152
+ } catch (e) {
153
+ console.log("failed delete symlink", fullPath, e && e.message);
154
+ }
155
+ return;
156
+ }
157
+ if (stat.isDirectory()) {
158
+ const subdir = fs3.readdirSync(fullPath).map((dirPath) => path3.resolve(fullPath, dirPath));
159
+ for (let i = 0; i < subdir.length; i++) {
160
+ del(subdir[i]);
161
+ }
162
+ }
113
163
  }
164
+ del(fullPath);
165
+ } catch (err) {
166
+ console.log("failed processing", fullPath, err && err.message);
114
167
  }
115
- del(fullPath);
116
168
  });
117
169
  }
118
170
  module2.exports.delStream = delStream;
@@ -159,17 +211,112 @@ var require_utils = __commonJS({
159
211
  });
160
212
 
161
213
  // src/package-resolutions-updater.mjs
214
+ var package_resolutions_updater_exports = {};
215
+ __export(package_resolutions_updater_exports, {
216
+ fetchJson: () => fetchJson,
217
+ getLatestCommit: () => getLatestCommit,
218
+ getLatestCommitAcrossBranches: () => getLatestCommitAcrossBranches,
219
+ parseGitHubUrl: () => import_git_command_helper.parseGitHubUrl,
220
+ replaceRawWithLatestHash: () => replaceRawWithLatestHash
221
+ });
222
+ module.exports = __toCommonJS(package_resolutions_updater_exports);
162
223
  init_cjs_shims();
163
- var import_ansi_colors = __toESM(require("ansi-colors"), 1);
164
224
  var dotenv = __toESM(require("dotenv"), 1);
165
225
  var import_fs = __toESM(require("fs"), 1);
166
226
  var import_https = __toESM(require("https"), 1);
167
227
  var import_os = __toESM(require("os"), 1);
168
228
  var import_path = __toESM(require("path"), 1);
169
- var import_utils = __toESM(require_utils(), 1);
229
+ var utils = __toESM(require_utils(), 1);
230
+
231
+ // src/utils/findEnvFiles.js
232
+ init_cjs_shims();
233
+ var import_node_fs = __toESM(require("fs"), 1);
234
+ var import_node_path = __toESM(require("path"), 1);
235
+ var glob = __toESM(require("glob"), 1);
236
+ var DEFAULT_IGNORES = [
237
+ "**/node_modules/**",
238
+ "**/.git/**",
239
+ "**/.yarn/**",
240
+ "**/.pnpm/**",
241
+ "**/dist/**",
242
+ "**/build/**",
243
+ "**/coverage/**",
244
+ "**/vendor/**",
245
+ "**/tmp/**",
246
+ "**/.cache/**",
247
+ "**/assets/**",
248
+ "**/logs/**",
249
+ "**/output/**",
250
+ "**/public/**",
251
+ "**/static/**",
252
+ "**/temp/**",
253
+ "**/backup/**",
254
+ "**/backups/**",
255
+ "**/examples/**",
256
+ "**/docs/**",
257
+ "**/tests/**",
258
+ "**/__tests__/**",
259
+ "**/spec/**",
260
+ "**/__specs__/**",
261
+ "**/scripts/**",
262
+ "**/bin/**",
263
+ "**/hooks/**",
264
+ "**/config/**",
265
+ "**/configs/**",
266
+ "**/settings/**",
267
+ "**/.vscode/**",
268
+ "**/.idea/**"
269
+ ];
270
+ function findEnvFiles(startDir = process.cwd(), filter) {
271
+ const found = /* @__PURE__ */ new Set();
272
+ function addFile(file) {
273
+ const normalized = import_node_path.default.normalize(file);
274
+ if (typeof filter === "function" && !filter(normalized)) {
275
+ return;
276
+ }
277
+ found.add(normalized);
278
+ }
279
+ let current = import_node_path.default.resolve(startDir);
280
+ while (true) {
281
+ const envPath2 = import_node_path.default.join(current, ".env");
282
+ if (import_node_fs.default.existsSync(envPath2)) {
283
+ addFile(envPath2);
284
+ }
285
+ const parent = import_node_path.default.dirname(current);
286
+ if (parent === current) {
287
+ break;
288
+ }
289
+ current = parent;
290
+ }
291
+ const files = glob.globSync("**/.env*", {
292
+ cwd: startDir,
293
+ absolute: true,
294
+ nodir: true,
295
+ ignore: DEFAULT_IGNORES
296
+ });
297
+ for (const file of files) {
298
+ addFile(file);
299
+ }
300
+ return [...found];
301
+ }
302
+
303
+ // src/package-resolutions-updater.mjs
304
+ var import_git_command_helper = require("git-command-helper");
170
305
  var projectDir = process.cwd();
171
306
  var envPath = import_path.default.join(projectDir, ".env");
172
- var args = (0, import_utils.getArgs)();
307
+ var args = utils.getArgs();
308
+ if (!import_fs.default.existsSync(envPath)) {
309
+ const envFiles = findEnvFiles(projectDir, (file) => {
310
+ const content = import_fs.default.readFileSync(file, "utf-8");
311
+ return /GITHUB_TOKEN|ACCESS_TOKEN/.test(content);
312
+ });
313
+ if (envFiles.length > 0) {
314
+ envPath = envFiles[0];
315
+ }
316
+ }
317
+ if (import_fs.default.existsSync(envPath)) {
318
+ dotenv.config({ path: envPath, quiet: true, override: true });
319
+ }
173
320
  var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
174
321
  if (args.help || args.h) {
175
322
  showHelp();
@@ -203,52 +350,6 @@ Examples:
203
350
  console.log(helpText);
204
351
  process.exit(0);
205
352
  }
206
- if (import_fs.default.existsSync(envPath)) dotenv.config({ path: envPath });
207
- var specialPackageOverrides = [
208
- // SBG packages
209
- { pkg: "sbg-utility", branch: "sbg-utility", repo: "static-blog-generator", owner: "dimaslanjaka" },
210
- { pkg: "sbg-api", branch: "sbg-api", repo: "static-blog-generator", owner: "dimaslanjaka" },
211
- { pkg: "instant-indexing", branch: "instant-indexing", repo: "static-blog-generator", owner: "dimaslanjaka" },
212
- { pkg: "sbg-server", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
213
- { pkg: "sbg-cli", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
214
- { pkg: "static-blog-generator", branch: "master", repo: "static-blog-generator", owner: "dimaslanjaka" },
215
- // Hexo family
216
- { pkg: "hexo", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
217
- { pkg: "hexo-util", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
218
- { pkg: "warehouse", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
219
- { pkg: "hexo-server", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
220
- { pkg: "hexo-log", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
221
- { pkg: "hexo-front-matter", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
222
- { pkg: "hexo-cli", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
223
- { pkg: "hexo-asset-link", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
224
- { pkg: "hexo-post-parser", branch: "pre-release", repo: "hexo-post-parser", owner: "dimaslanjaka" },
225
- { pkg: "hexo-seo", branch: "pre-release", repo: "hexo-seo", owner: "dimaslanjaka" },
226
- { pkg: "hexo-is", branch: "master", repo: "hexo-is", owner: "dimaslanjaka" },
227
- { pkg: "markdown-it", branch: "master", repo: "markdown-it", owner: "dimaslanjaka" },
228
- { pkg: "hexo-renderers", branch: "pre-release", repo: "hexo-renderers", owner: "dimaslanjaka" },
229
- { pkg: "hexo-shortcodes", branch: "pre-release", repo: "hexo-shortcodes", owner: "dimaslanjaka" },
230
- { pkg: "google-news-sitemap", branch: "master", repo: "google-news-sitemap", owner: "dimaslanjaka" },
231
- { pkg: "git-command-helper", branch: "pre-release", repo: "git-command-helper", owner: "dimaslanjaka" },
232
- {
233
- pkg: "nodejs-package-types",
234
- branch: "main",
235
- repo: "nodejs-package-types",
236
- owner: "dimaslanjaka"
237
- },
238
- { pkg: "cross-spawn", branch: "private", repo: "node-cross-spawn", owner: "dimaslanjaka" },
239
- { pkg: "hexo-generator-redirect", branch: "master", repo: "hexo-generator-redirect", owner: "dimaslanjaka" },
240
- { pkg: "binary-collections", branch: "master", repo: "bin", owner: "dimaslanjaka" },
241
- { pkg: "@types/hexo", branch: "monorepo-v7", repo: "hexo", owner: "dimaslanjaka" },
242
- { pkg: "@types/git-command-helper", branch: "pre-release", repo: "git-command-helper", owner: "dimaslanjaka" }
243
- ];
244
- var pkgPath = import_path.default.join(process.cwd(), "package.json");
245
- var pkg;
246
- try {
247
- pkg = JSON.parse(import_fs.default.readFileSync(pkgPath, "utf-8"));
248
- } catch (e) {
249
- console.error(import_ansi_colors.default.red(`Failed to read package.json: ${e.message}`));
250
- process.exit(1);
251
- }
252
353
  var GITHUB_USER_AGENTS = [
253
354
  "octokit-rest.js/19.0.7",
254
355
  "GitHub CLI/2.40.0",
@@ -353,95 +454,14 @@ async function getLatestCommitAcrossBranches(owner, repo) {
353
454
  function replaceRawWithLatestHash(url, latestHash) {
354
455
  const match = url.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/raw\/([^/]+)\/(.+)$/);
355
456
  if (!match) throw new Error("Invalid GitHub raw URL");
356
- const [, owner, repo, _oldHash, path2] = match;
357
- return `https://github.com/${owner}/${repo}/raw/${latestHash}/${path2}`;
457
+ const [, owner, repo, _oldHash, path3] = match;
458
+ return `https://github.com/${owner}/${repo}/raw/${latestHash}/${path3}`;
358
459
  }
359
- function parseGitHubUrl(url) {
360
- const ghRepoRoot = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/?$/;
361
- const ghTreeOrBlob = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/(tree|blob)\/([^/]+(?:\/[^/]+)*)/;
362
- const ghRaw = /^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/([^/]+)(\/.+)?$/;
363
- const ghDotComRaw = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/raw\/([^/]+)\/.+/;
364
- let match;
365
- if (match = url.match(ghRaw)) {
366
- const [, owner, repo, branch] = match;
367
- return { owner, repo, branch, url };
368
- }
369
- if (match = url.match(ghDotComRaw)) {
370
- const [, owner, repo, branch] = match;
371
- return { owner, repo, branch, url };
372
- }
373
- if (match = url.match(ghTreeOrBlob)) {
374
- const [, owner, repo, , branchPath] = match;
375
- return { owner, repo, branch: branchPath, url };
376
- }
377
- if (match = url.match(ghRepoRoot)) {
378
- const [, owner, repo] = match;
379
- return { owner, repo, url };
380
- }
381
- throw new Error(`Unsupported GitHub URL: ${url}`);
382
- }
383
- (async () => {
384
- const entries = Object.entries(pkg.resolutions || {});
385
- if (entries.length === 0) {
386
- console.log(import_ansi_colors.default.yellow("No resolutions found in package.json"));
387
- return;
388
- }
389
- console.log(`Processing ${entries.length} resolution(s)...`);
390
- const updates = [];
391
- for (const [currentPkgName, url] of entries) {
392
- let repo;
393
- try {
394
- repo = parseGitHubUrl(url);
395
- console.log(`\u2705 Valid GitHub URL for ${import_ansi_colors.default.cyan(currentPkgName)}: ${url}`);
396
- } catch (error) {
397
- console.log(`\u23ED\uFE0F Skipping ${import_ansi_colors.default.yellow(currentPkgName)}: ${error.message}`);
398
- continue;
399
- }
400
- try {
401
- const override = specialPackageOverrides.find((p) => p.pkg === currentPkgName);
402
- const latest = override ? await getLatestCommit(override.owner, override.repo, override.branch) : await getLatestCommitAcrossBranches(repo.owner, repo.repo);
403
- const new_url = replaceRawWithLatestHash(url, latest.sha);
404
- updates.push({
405
- currentPkgName,
406
- url,
407
- new_url,
408
- repo,
409
- latest
410
- });
411
- } catch (error) {
412
- console.log(`\u274C Failed to process ${import_ansi_colors.default.red(currentPkgName)}: ${error.message}`);
413
- }
414
- }
415
- if (updates.length === 0) {
416
- console.log(import_ansi_colors.default.yellow("No GitHub URLs were processed"));
417
- return;
418
- }
419
- console.log(`
420
- \u{1F4DD} Applying updates to ${updates.length} GitHub URL(s)...`);
421
- let changed = false;
422
- for (const { currentPkgName, url, new_url, repo, latest } of updates) {
423
- if (url !== new_url) {
424
- console.log(`
425
- ${import_ansi_colors.default.cyan(currentPkgName)}:`);
426
- console.log(" from:", url.replace(repo.branch, import_ansi_colors.default.red(repo.branch)));
427
- console.log(" to:", new_url.replace(latest.sha, import_ansi_colors.default.green(latest.sha)));
428
- pkg.resolutions[currentPkgName] = new_url;
429
- changed = true;
430
- } else {
431
- console.log(`
432
- ${import_ansi_colors.default.cyan(currentPkgName)}: ${import_ansi_colors.default.gray("already up-to-date")}`);
433
- }
434
- }
435
- if (changed) {
436
- try {
437
- import_fs.default.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
438
- console.log(`
439
- \u2705 package.json updated successfully`);
440
- } catch (e) {
441
- console.error(import_ansi_colors.default.red(`Failed to write package.json: ${e.message}`));
442
- process.exit(1);
443
- }
444
- } else {
445
- console.log(import_ansi_colors.default.green("No changes to package.json were necessary."));
446
- }
447
- })();
460
+ // Annotate the CommonJS export names for ESM import in node:
461
+ 0 && (module.exports = {
462
+ fetchJson,
463
+ getLatestCommit,
464
+ getLatestCommitAcrossBranches,
465
+ parseGitHubUrl,
466
+ replaceRawWithLatestHash
467
+ });
@@ -1 +1,32 @@
1
- export {};
1
+ /**
2
+ * Fetch JSON from a URL with GitHub headers.
3
+ * @param {string} url
4
+ * @returns {Promise<any>}
5
+ */
6
+ export function fetchJson(url: string): Promise<any>;
7
+ /**
8
+ * Get latest commit SHA from a specific branch.
9
+ */
10
+ export function getLatestCommit(owner: any, repo: any, branch?: string): Promise<{
11
+ owner: any;
12
+ repo: any;
13
+ branch: string;
14
+ sha: any;
15
+ date: string;
16
+ }>;
17
+ /**
18
+ * Get latest commit SHA from all branches and pick the latest.
19
+ */
20
+ export function getLatestCommitAcrossBranches(owner: any, repo: any): Promise<{
21
+ owner: any;
22
+ repo: any;
23
+ branch: any;
24
+ sha: any;
25
+ date: any;
26
+ }>;
27
+ /**
28
+ * Replace the branch or commit in a GitHub raw URL with the latest hash.
29
+ */
30
+ export function replaceRawWithLatestHash(url: any, latestHash: any): string;
31
+ export { parseGitHubUrl };
32
+ import { parseGitHubUrl } from "git-command-helper";