binary-collections 2.0.11 → 2.0.13

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 (330) hide show
  1. package/binaries/binary-executor.cjs +89 -13
  2. package/binaries/clean-nodemodule.cjs +89 -13
  3. package/binaries/clean-nodemodules.cjs +89 -13
  4. package/binaries/dev.cjs +89 -13
  5. package/binaries/empty.cjs +89 -13
  6. package/binaries/git-reduce-size.cjs +89 -13
  7. package/binaries/javakill.cjs +89 -13
  8. package/binaries/kill-process.cjs +89 -13
  9. package/binaries/nodekill.cjs +89 -13
  10. package/binaries/prod.cjs +89 -13
  11. package/binaries/py.cjs +89 -13
  12. package/binaries/rmfind.cjs +89 -13
  13. package/binaries/rmx +15 -1
  14. package/binaries/rmx.cjs +89 -13
  15. package/binaries/rmx.cmd +12 -0
  16. package/binaries/submodule-token.cjs +89 -13
  17. package/binaries/test-cjs +9 -1
  18. package/binaries/test-cjs.cjs +89 -13
  19. package/binaries/test-cjs.cmd +16 -1
  20. package/binaries/test-esm +16 -0
  21. package/binaries/test-esm.cjs +254 -0
  22. package/binaries/test-esm.cmd +23 -0
  23. package/binaries/yarn-clean +1 -1
  24. package/binaries/yarn-clean.cjs +89 -13
  25. package/binaries/yarn-clean.cmd +1 -1
  26. package/binaries/yarn-clean.py +33 -15
  27. package/binaries/yc +131 -0
  28. package/binaries/yc.cjs +254 -0
  29. package/binaries/ycw +256 -0
  30. package/binaries/ycw.cjs +254 -0
  31. package/docs-src/binary-collections.md +34 -0
  32. package/docs-src/changelog.md +26 -0
  33. package/docs-src/clean-github-actions-caches.md +91 -2
  34. package/docs-src/copy-move-file.md +59 -0
  35. package/docs-src/del-gradle.md +17 -0
  36. package/docs-src/del-ps.md +28 -0
  37. package/docs-src/downloader.md +62 -0
  38. package/docs-src/env-helpers.md +29 -0
  39. package/docs-src/find-node-modules.md +17 -0
  40. package/docs-src/git-diff.md +33 -0
  41. package/docs-src/git-fix.md +34 -0
  42. package/docs-src/git-purge.md +17 -0
  43. package/docs-src/git-reduce-size.md +17 -0
  44. package/docs-src/git-undo.md +21 -0
  45. package/docs-src/kill-night-crows.md +26 -0
  46. package/docs-src/node-cache-cleaner.md +182 -0
  47. package/docs-src/node-executor.md +50 -0
  48. package/docs-src/node-package-packer.md +48 -0
  49. package/docs-src/npm-run-series.md +43 -0
  50. package/docs-src/package-resolutions-updater.md +22 -0
  51. package/docs-src/php-cs-fixer-staged.md +19 -0
  52. package/docs-src/print-directory-tree.md +35 -0
  53. package/docs-src/print-tarball-tree.md +55 -0
  54. package/docs-src/py.md +19 -0
  55. package/docs-src/remove-module.md +32 -0
  56. package/docs-src/rmfind-rmx.md +21 -0
  57. package/docs-src/rmpath.md +38 -0
  58. package/docs-src/run-by-checksum.md +87 -0
  59. package/docs-src/submodule-install.md +31 -0
  60. package/docs-src/submodule-remove.md +22 -0
  61. package/docs-src/submodule-token.md +17 -0
  62. package/docs-src/test-runners.md +21 -0
  63. package/docs-src/yarn-install.md +31 -0
  64. package/docs-src/yarn-reinstall.md +27 -0
  65. package/lib/binary-collections/config.cjs +126 -0
  66. package/lib/binary-collections/config.mjs +7 -0
  67. package/lib/binary-collections/executeScript.cjs +19 -0
  68. package/lib/binary-collections/executeScript.d.cts +12 -0
  69. package/lib/binary-collections/executeScript.mjs +6 -0
  70. package/lib/binary-collections/findScript.cjs +309 -0
  71. package/lib/binary-collections/findScript.d.cts +12 -0
  72. package/lib/binary-collections/findScript.mjs +7 -0
  73. package/lib/binary-collections/listScript.cjs +291 -0
  74. package/lib/binary-collections/listScript.d.cts +19 -0
  75. package/lib/binary-collections/listScript.mjs +7 -0
  76. package/lib/binary-collections.cjs +264 -157
  77. package/lib/binary-collections.mjs +26 -286
  78. package/lib/changelog.cjs +9 -14
  79. package/lib/changelog.mjs +2 -2
  80. package/lib/chunk-2MN4VPV2.mjs +246 -0
  81. package/lib/chunk-6C7KTYGZ.mjs +41 -0
  82. package/lib/{chunk-Z6JLYU2J.mjs → chunk-6RK5UCTP.mjs} +7 -12
  83. package/lib/chunk-CD3HF3LK.mjs +190 -0
  84. package/lib/chunk-FLYSZFLW.mjs +61 -0
  85. package/lib/{chunk-N436BNBK.mjs → chunk-GAGABICI.mjs} +19 -13
  86. package/lib/chunk-H44UWUFY.mjs +105 -0
  87. package/lib/chunk-KLKAIFKI.mjs +40 -0
  88. package/lib/chunk-LVSPEFU2.mjs +86 -0
  89. package/lib/{chunk-RWLXRTYP.mjs → chunk-MGPYPKIE.mjs} +2 -2
  90. package/lib/chunk-NGFK3EYW.mjs +28 -0
  91. package/lib/chunk-NQXUYO67.mjs +253 -0
  92. package/lib/chunk-NVEG3LEZ.mjs +143 -0
  93. package/lib/chunk-OBXLTXFJ.mjs +34 -0
  94. package/lib/chunk-OGXVGBRI.mjs +29 -0
  95. package/lib/chunk-OXV52GD5.mjs +62 -0
  96. package/lib/chunk-PXBMHE7O.mjs +35 -0
  97. package/lib/chunk-QD4T255Z.mjs +40 -0
  98. package/lib/chunk-QII2EKCS.mjs +26 -0
  99. package/lib/chunk-R5FJOR63.mjs +47 -0
  100. package/lib/chunk-RDGDLSPD.mjs +76 -0
  101. package/lib/chunk-RDN6HF5Z.mjs +79 -0
  102. package/lib/chunk-RJKTSUAX.mjs +123 -0
  103. package/lib/{chunk-XA3SNBPA.mjs → chunk-TBWXE7ST.mjs} +97 -38
  104. package/lib/chunk-UXCFNAR6.mjs +55 -0
  105. package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
  106. package/lib/chunk-WSHVPGNM.mjs +44 -0
  107. package/lib/{chunk-66PAU5PS.mjs → chunk-X2B3X7D4.mjs} +10 -6
  108. package/lib/clean-github-actions-caches-cli.cjs +507 -0
  109. package/lib/clean-github-actions-caches-cli.mjs +74 -0
  110. package/lib/clean-github-actions-caches.cjs +246 -106
  111. package/lib/clean-github-actions-caches.d.cts +53 -1
  112. package/lib/clean-github-actions-caches.mjs +5 -130
  113. package/lib/cross-env/command.cjs +63 -0
  114. package/lib/cross-env/command.d.ts +8 -0
  115. package/lib/cross-env/command.js +45 -0
  116. package/lib/{ps/isWin.mjs → cross-env/command.mjs} +4 -5
  117. package/lib/cross-env/index.cjs +178 -0
  118. package/lib/cross-env/index.d.ts +8 -0
  119. package/lib/cross-env/index.js +102 -0
  120. package/lib/cross-env/index.mjs +101 -0
  121. package/lib/cross-env/variable.cjs +60 -0
  122. package/lib/cross-env/variable.d.ts +7 -0
  123. package/lib/cross-env/variable.js +59 -0
  124. package/lib/cross-env/variable.mjs +9 -0
  125. package/lib/del-gradle.cjs +8 -13
  126. package/lib/del-gradle.js +8 -8
  127. package/lib/del-gradle.mjs +1 -1
  128. package/lib/del-node-modules.cjs +185 -3
  129. package/lib/del-node-modules.js +25 -25
  130. package/lib/del-node-modules.mjs +6 -3
  131. package/lib/{del-ps.cjs → del-ps-cli.cjs} +38 -43
  132. package/lib/del-ps-cli.d.mts +1 -0
  133. package/lib/del-ps-cli.mjs +44 -0
  134. package/lib/del-yarn-caches.cjs +8 -13
  135. package/lib/del-yarn-caches.js +2 -2
  136. package/lib/del-yarn-caches.mjs +1 -1
  137. package/lib/downloader-cli.cjs +256 -0
  138. package/lib/downloader-cli.d.cts +2 -0
  139. package/lib/downloader-cli.mjs +90 -0
  140. package/lib/file/copy-cli.cjs +273 -0
  141. package/lib/file/copy-cli.d.mts +1 -0
  142. package/lib/file/copy-cli.mjs +59 -0
  143. package/lib/file/copy.cjs +56 -0
  144. package/lib/file/copy.d.mts +1 -0
  145. package/lib/file/copy.mjs +8 -0
  146. package/lib/file/move-cli.cjs +272 -0
  147. package/lib/file/move-cli.d.mts +1 -0
  148. package/lib/file/move-cli.mjs +59 -0
  149. package/lib/file/move.cjs +55 -0
  150. package/lib/file/move.d.mts +1 -0
  151. package/lib/file/move.mjs +8 -0
  152. package/lib/find-node-modules-cli.cjs +1 -1
  153. package/lib/find-node-modules-cli.js +1 -1
  154. package/lib/find-node-modules-cli.mjs +1 -1
  155. package/lib/find-node-modules.cjs +1 -1
  156. package/lib/find-node-modules.mjs +1 -1
  157. package/lib/free-chatgpt.cjs +27 -26
  158. package/lib/free-chatgpt.js +10 -10
  159. package/lib/free-chatgpt.mjs +2 -2
  160. package/lib/git/user-config.cjs +9 -14
  161. package/lib/git/user-config.mjs +2 -2
  162. package/lib/git-diff-cli.cjs +273 -66
  163. package/lib/git-diff-cli.mjs +5 -4
  164. package/lib/git-diff.cjs +273 -66
  165. package/lib/git-diff.d.ts +2 -1
  166. package/lib/git-diff.js +153 -39
  167. package/lib/git-diff.mjs +5 -4
  168. package/lib/git-fix.cjs +9 -14
  169. package/lib/git-fix.mjs +2 -2
  170. package/lib/git-purge.cjs +9 -14
  171. package/lib/git-purge.mjs +2 -2
  172. package/lib/index.cjs +1 -1
  173. package/lib/index.d.ts +1 -1
  174. package/lib/index.mjs +1 -1
  175. package/lib/kill-night-crows.cjs +7 -7
  176. package/lib/kill-night-crows.mjs +7 -7
  177. package/lib/node-cache-cleaner/npm.cjs +65 -0
  178. package/lib/node-cache-cleaner/npm.d.ts +2 -0
  179. package/lib/node-cache-cleaner/npm.js +41 -0
  180. package/lib/node-cache-cleaner/npm.mjs +10 -0
  181. package/lib/node-cache-cleaner/npx.cjs +89 -0
  182. package/lib/node-cache-cleaner/npx.d.ts +4 -0
  183. package/lib/node-cache-cleaner/npx.js +82 -0
  184. package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
  185. package/lib/node-cache-cleaner/yarn.cjs +73 -0
  186. package/lib/node-cache-cleaner/yarn.d.ts +2 -0
  187. package/lib/node-cache-cleaner/yarn.js +62 -0
  188. package/lib/node-cache-cleaner/yarn.mjs +10 -0
  189. package/lib/node-cache-cleaner-cli.cjs +365 -0
  190. package/lib/node-cache-cleaner-cli.d.ts +2 -0
  191. package/lib/node-cache-cleaner-cli.js +57 -0
  192. package/lib/node-cache-cleaner-cli.mjs +60 -0
  193. package/lib/node-executor.cjs +272 -0
  194. package/lib/node-executor.d.cts +2 -0
  195. package/lib/node-executor.mjs +106 -0
  196. package/lib/node-package-packer/build-readme.cjs +150 -0
  197. package/lib/node-package-packer/build-readme.d.mts +10 -0
  198. package/lib/node-package-packer/build-readme.mjs +10 -0
  199. package/lib/node-package-packer/build-tarball.cjs +495 -0
  200. package/lib/node-package-packer/build-tarball.d.mts +33 -0
  201. package/lib/node-package-packer/build-tarball.mjs +175 -0
  202. package/lib/node-package-packer-cli.cjs +525 -0
  203. package/lib/node-package-packer-cli.d.mts +1 -0
  204. package/lib/node-package-packer-cli.mjs +34 -0
  205. package/lib/npm-run-series.cjs +28 -40
  206. package/lib/npm-run-series.mjs +21 -7
  207. package/lib/package-resolutions-updater-cli.cjs +255 -173
  208. package/lib/package-resolutions-updater-cli.mjs +19 -40
  209. package/lib/package-resolutions-updater.cjs +244 -141
  210. package/lib/package-resolutions-updater.d.mts +54 -1
  211. package/lib/package-resolutions-updater.mjs +8 -5
  212. package/lib/php-cs-fixer-staged.cjs +1 -1
  213. package/lib/php-cs-fixer-staged.mjs +1 -1
  214. package/lib/print-directory-tree.cjs +18 -20
  215. package/lib/print-directory-tree.mjs +11 -8
  216. package/lib/print-tarball-tree.cjs +262 -0
  217. package/lib/print-tarball-tree.d.mts +1 -0
  218. package/lib/print-tarball-tree.mjs +68 -0
  219. package/lib/ps/connected-domain.js +10 -10
  220. package/lib/ps/index.cjs +11 -11
  221. package/lib/ps/index.mjs +180 -174
  222. package/lib/ps/table-parser.d.ts +3 -4
  223. package/lib/ps/table-parser.js +15 -22
  224. package/lib/remove-module.cjs +19 -24
  225. package/lib/remove-module.mjs +2 -2
  226. package/lib/rm-node-module-cli.cjs +389 -0
  227. package/lib/rm-node-module-cli.d.cts +1 -0
  228. package/lib/rm-node-module-cli.mjs +92 -0
  229. package/lib/rm-node-modules.cjs +127 -0
  230. package/lib/rm-node-modules.d.cts +35 -0
  231. package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
  232. package/lib/rmpath-cli.cjs +285 -0
  233. package/lib/rmpath-cli.d.mts +1 -0
  234. package/lib/rmpath-cli.mjs +23 -0
  235. package/lib/rmpath.cjs +6 -217
  236. package/lib/rmpath.mjs +5 -101
  237. package/lib/run-by-checksum/cache.cjs +69 -0
  238. package/lib/run-by-checksum/cache.d.ts +19 -0
  239. package/lib/run-by-checksum/cache.js +50 -0
  240. package/lib/run-by-checksum/cache.mjs +12 -0
  241. package/lib/run-by-checksum/hash.cjs +72 -0
  242. package/lib/run-by-checksum/hash.d.ts +14 -0
  243. package/lib/run-by-checksum/hash.js +85 -0
  244. package/lib/run-by-checksum/hash.mjs +10 -0
  245. package/lib/run-by-checksum/run.cjs +169 -0
  246. package/lib/run-by-checksum/run.d.ts +22 -0
  247. package/lib/run-by-checksum/run.js +93 -0
  248. package/lib/run-by-checksum/run.mjs +10 -0
  249. package/lib/run-by-checksum-cli.cjs +382 -0
  250. package/lib/run-by-checksum-cli.d.ts +2 -0
  251. package/lib/run-by-checksum-cli.js +43 -0
  252. package/lib/run-by-checksum-cli.mjs +56 -0
  253. package/lib/submodule-install.cjs +55 -47
  254. package/lib/submodule-install.mjs +48 -35
  255. package/lib/submodule-remove-cli.cjs +170 -4
  256. package/lib/submodule-remove-cli.js +5 -5
  257. package/lib/submodule-remove-cli.mjs +6 -4
  258. package/lib/utils/chatgpt.cjs +19 -13
  259. package/lib/utils/chatgpt.js +94 -94
  260. package/lib/utils/chatgpt.mjs +1 -1
  261. package/lib/utils/fetchResponse.cjs +24 -0
  262. package/lib/utils/fetchResponse.d.cts +25 -0
  263. package/lib/utils/fetchResponse.mjs +6 -0
  264. package/lib/utils/findEnvFiles.cjs +28 -46
  265. package/lib/utils/findEnvFiles.d.cts +19 -0
  266. package/lib/utils/findEnvFiles.mjs +3 -5
  267. package/lib/utils/findWorkspaceRoot.js +4 -4
  268. package/lib/utils/index.cjs +7 -12
  269. package/lib/utils/index.d.cts +2 -9
  270. package/lib/utils/index.mjs +1 -1
  271. package/lib/utils/isGithubTokenValid.js +7 -7
  272. package/lib/{ps/isWin.cjs → utils/isWindows.cjs} +12 -7
  273. package/lib/utils/isWindows.d.ts +5 -0
  274. package/lib/utils/isWindows.js +10 -0
  275. package/lib/utils/isWindows.mjs +10 -0
  276. package/lib/utils/runBash.cjs +53 -0
  277. package/lib/utils/runBash.d.cts +12 -0
  278. package/lib/utils/runBash.mjs +66 -0
  279. package/lib/yarn-per-branch-lock-installer.cjs +288 -0
  280. package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
  281. package/lib/yarn-per-branch-lock-installer.mjs +122 -0
  282. package/lib/yarn-reinstall.cjs +8 -13
  283. package/lib/yarn-reinstall.mjs +1 -1
  284. package/package.json +91 -57
  285. package/readme.html +784 -0
  286. package/readme.md +107 -219
  287. package/releases/readme.md +6 -3
  288. package/test/README.md +2 -2
  289. package/test-project/workspaces/workspace-a/readme.md +20 -0
  290. package/test-project/workspaces/workspace-a/release/readme.md +42 -0
  291. package/test-project/workspaces/workspace-a/test/readme.md +12 -0
  292. package/test-project/workspaces/workspace-b/readme.md +94 -0
  293. package/test-project/workspaces/workspace-b/requirements.txt +1 -0
  294. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
  295. package/tmp/test-repo/README.md +2 -35
  296. package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
  297. package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
  298. package/lib/binary-collections-config.cjs +0 -15
  299. package/lib/chunk-2CBJCW7E.mjs +0 -81
  300. package/lib/chunk-4UHL4WVN.mjs +0 -136
  301. package/lib/chunk-6HHJRKFB.mjs +0 -59
  302. package/lib/chunk-6S4NXESK.mjs +0 -26
  303. package/lib/chunk-7XTEJHOE.mjs +0 -193
  304. package/lib/chunk-AJDD5DZM.mjs +0 -109
  305. package/lib/chunk-FCDQGYBF.mjs +0 -136
  306. package/lib/chunk-GEYA2USY.mjs +0 -207
  307. package/lib/chunk-GJTGHXRA.mjs +0 -356
  308. package/lib/chunk-ID2WBTE2.mjs +0 -80
  309. package/lib/chunk-JXFOHKDM.mjs +0 -239
  310. package/lib/chunk-NCXAP7AA.mjs +0 -31
  311. package/lib/chunk-PDSXF5HY.mjs +0 -187
  312. package/lib/chunk-TOIVAQF7.mjs +0 -136
  313. package/lib/chunk-V5SKYJUB.mjs +0 -136
  314. package/lib/chunk-WSRETQCA.mjs +0 -59
  315. package/lib/chunk-YYLIQQKF.mjs +0 -31
  316. package/lib/del-ps.js +0 -32
  317. package/lib/del-ps.mjs +0 -43
  318. package/lib/ps/index.d.cjs +0 -17
  319. package/lib/ps/index.d.ts +0 -2
  320. package/lib/ps/index.js +0 -254
  321. package/lib/ps/isWin.d.ts +0 -2
  322. package/lib/ps/isWin.js +0 -4
  323. package/lib/utils/findEnvFiles.d.ts +0 -8
  324. package/lib/utils/findEnvFiles.js +0 -121
  325. package/test/package.json +0 -20
  326. package/test-project/package.json +0 -16
  327. package/tmp/test-repo/package.json +0 -7
  328. package/tmp/typedoc/readme.md +0 -320
  329. /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
  330. /package/lib/{del-ps.d.ts → clean-github-actions-caches-cli.d.cts} +0 -0
@@ -0,0 +1,76 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/rmpath.mjs
7
+ init_esm_shims();
8
+ import dotenv from "dotenv";
9
+ import fs from "fs-extra";
10
+ import * as glob from "glob";
11
+ import path from "upath";
12
+ import { fileURLToPath } from "url";
13
+ var __filename = fileURLToPath(import.meta.url);
14
+ var __dirname = path.dirname(__filename);
15
+ var dotenvPath = path.resolve(process.cwd(), ".env");
16
+ if (fs.existsSync(dotenvPath)) {
17
+ dotenv.config({ path: dotenvPath, override: true, quiet: true });
18
+ }
19
+ var deletePatterns = [];
20
+ function resolveDeletePatterns(targetPath) {
21
+ if (fs.existsSync(targetPath) && fs.lstatSync(targetPath).isFile()) {
22
+ deletePatterns.push(targetPath);
23
+ return;
24
+ }
25
+ const vowels = ["a", "i", "u", "e", "o", "A", "I", "U", "E", "O"];
26
+ const letters = [];
27
+ for (let i = 97; i <= 122; i++) letters.push(String.fromCharCode(i));
28
+ for (let i = 65; i <= 90; i++) letters.push(String.fromCharCode(i));
29
+ for (const letter of letters) {
30
+ for (const vowel of vowels) {
31
+ deletePatterns.push(
32
+ `.${letter}*`,
33
+ `@${letter}*`,
34
+ `${letter}*`,
35
+ `@${letter}${vowel}*`,
36
+ `.${letter}${vowel}*`,
37
+ `${letter}${vowel}*`
38
+ );
39
+ }
40
+ }
41
+ }
42
+ async function deleteMatchingFiles(baseDir) {
43
+ for (const pattern of deletePatterns) {
44
+ if (fs.existsSync(pattern)) {
45
+ fs.rmSync(pattern, { recursive: true, force: true });
46
+ continue;
47
+ }
48
+ const matches = glob.sync(path.join(baseDir, pattern), { dot: true, nocase: true });
49
+ for (const fpath of matches) {
50
+ try {
51
+ console.log(`deleting ${fpath}`);
52
+ fs.rmSync(fpath, { recursive: true, force: true });
53
+ } catch (_e) {
54
+ console.error(`cannot delete ${fpath}`);
55
+ }
56
+ }
57
+ }
58
+ }
59
+ async function deleteMainScript(targetPath) {
60
+ if (!fs.existsSync(targetPath)) {
61
+ targetPath = path.resolve(process.cwd(), targetPath);
62
+ }
63
+ resolveDeletePatterns(targetPath);
64
+ await deleteMatchingFiles(targetPath);
65
+ console.log(`cleaning ${targetPath}`);
66
+ try {
67
+ fs.rmSync(targetPath, { recursive: true, force: true });
68
+ } catch (_e) {
69
+ }
70
+ }
71
+
72
+ export {
73
+ resolveDeletePatterns,
74
+ deleteMatchingFiles,
75
+ deleteMainScript
76
+ };
@@ -0,0 +1,79 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_package
4
+ } from "./chunk-NQXUYO67.mjs";
5
+ import {
6
+ __commonJS,
7
+ __dirname,
8
+ __require,
9
+ init_esm_shims
10
+ } from "./chunk-QQ4A6DLD.mjs";
11
+
12
+ // src/binary-collections/findScript.cjs
13
+ var require_findScript = __commonJS({
14
+ "src/binary-collections/findScript.cjs"(exports, module) {
15
+ init_esm_shims();
16
+ var { glob } = __require("glob");
17
+ var path = __require("upath");
18
+ var fs = __require("fs-extra");
19
+ var pkgJson = require_package();
20
+ function findScript(scriptName, searchDir = null) {
21
+ if (!searchDir) searchDir = path.join(__dirname, "..");
22
+ let result;
23
+ const ignorePatterns = [
24
+ `**/*config*.{cjs,js,mjs}`,
25
+ `**/utils.{cjs,js,mjs}`,
26
+ `**/index.{cjs,js,mjs}`,
27
+ `**/chunk-*.{cjs,js,mjs}`,
28
+ `**/*.d.{ts,cts,mts}`
29
+ // ignore TypeScript declaration files
30
+ ];
31
+ try {
32
+ const pattern = `${scriptName}.{cjs,js,mjs}`;
33
+ const files = glob.sync(pattern, {
34
+ cwd: searchDir,
35
+ ignore: ignorePatterns,
36
+ absolute: true
37
+ });
38
+ if (files.length > 0) {
39
+ result = files[0];
40
+ } else {
41
+ if (pkgJson.bin[scriptName]) {
42
+ const find = [
43
+ path.join(searchDir, pkgJson.bin[scriptName]),
44
+ path.join(process.cwd(), "node_modules/binary-collections", pkgJson.bin[scriptName]),
45
+ path.join(__dirname, pkgJson.bin[scriptName]),
46
+ path.join(path.join(__dirname, ".."), pkgJson.bin[scriptName]),
47
+ path.join(path.join(__dirname, "../.."), pkgJson.bin[scriptName])
48
+ ];
49
+ const filtered = find.filter((file) => fs.existsSync(file));
50
+ if (filtered.length > 0) {
51
+ result = filtered[0];
52
+ } else {
53
+ console.warn(`\u26A0\uFE0F Script "${scriptName}" not found in ${searchDir}.`);
54
+ console.warn(`\u{1F50D} Searched for: ${pattern} in ${searchDir}`);
55
+ }
56
+ }
57
+ }
58
+ } catch (error) {
59
+ console.error(`\u{1F50D} Error searching for script: ${error.message}`);
60
+ }
61
+ if (result && !result.includes("-cli")) {
62
+ const ext = path.extname(result);
63
+ const filename = path.basename(result, ext);
64
+ const cliFile = path.join(path.dirname(result), `${filename}-cli${ext}`);
65
+ if (fs.existsSync(cliFile)) {
66
+ result = cliFile;
67
+ console.log(`\u{1F50D} Found CLI version: ${cliFile}`);
68
+ }
69
+ }
70
+ return result;
71
+ }
72
+ module.exports = findScript;
73
+ module.exports.default = findScript;
74
+ }
75
+ });
76
+
77
+ export {
78
+ require_findScript
79
+ };
@@ -0,0 +1,123 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/node-package-packer/build-readme.mjs
7
+ init_esm_shims();
8
+ import fs from "fs-extra";
9
+ import path from "upath";
10
+ import * as crossSpawn from "cross-spawn";
11
+ import { gitCommandHelper as gch } from "git-command-helper";
12
+ async function buildReadme(dirname, packagejson, releaseDir, argv, isCI) {
13
+ if (!fs.existsSync(path.join(dirname, ".git"))) {
14
+ console.log("Not a git repository, skipping readme creation");
15
+ return;
16
+ }
17
+ const spawnAsync = crossSpawn && typeof crossSpawn.async === "function" ? crossSpawn.async : crossSpawn;
18
+ if (isCI) {
19
+ await spawnAsync("git", ["config", "--global", "user.name", "dimaslanjaka"], {
20
+ cwd: dirname,
21
+ stdio: "inherit"
22
+ });
23
+ await spawnAsync("git", ["config", "--global", "user.email", "dimaslanjaka@gmail.com"], {
24
+ cwd: dirname,
25
+ stdio: "inherit"
26
+ });
27
+ }
28
+ const git = new gch(dirname);
29
+ const branch = (await git.getbranch()).filter((o) => o.active)[0].branch;
30
+ const gitlatest = await git.latestCommit();
31
+ const tarballs = fs.readdirSync(releaseDir).filter((str) => str.endsWith("tgz")).map((str) => {
32
+ return {
33
+ absolute: path.resolve(releaseDir, str),
34
+ relative: path.resolve(releaseDir, str).replace(path.toUnix(dirname), "")
35
+ };
36
+ }).filter((o) => fs.statSync(o.absolute).isFile());
37
+ let md = `# Release \`${packagejson.name}\` tarball
38
+ `;
39
+ md += "## Releases\n";
40
+ md += "| version | tarball url |\n";
41
+ md += "| :--- | :--- |\n";
42
+ for (let i = 0; i < tarballs.length; i++) {
43
+ const tarball = tarballs[i];
44
+ const relativeTarball = tarball.relative.replace(/^\/+/, "");
45
+ if (!fs.existsSync(tarball.absolute)) {
46
+ console.log(tarball.relative, "not found");
47
+ continue;
48
+ }
49
+ await spawnAsync("git", ["update-index", "--untracked-cache"]);
50
+ if (argv["commit"]) {
51
+ const checkIgnore = await git.isIgnored(relativeTarball, { cwd: dirname });
52
+ if (checkIgnore) {
53
+ console.log(relativeTarball, "ignored by .gitignore");
54
+ continue;
55
+ } else {
56
+ await git.add(relativeTarball);
57
+ const args = ["status", "-uno", "--porcelain", "--", relativeTarball, "|", "wc", "-l"];
58
+ const isChanged = parseInt(
59
+ (await spawnAsync("git", args, {
60
+ cwd: dirname,
61
+ shell: true
62
+ })).output.trim()
63
+ ) > 0;
64
+ if (isChanged) {
65
+ await git.commit("chore(tarball): update " + gitlatest, "-m", { stdio: "pipe" });
66
+ }
67
+ }
68
+ }
69
+ const hash = await git.latestCommit(tarball.relative.replace(/^\/+/, ""));
70
+ const raw = await git.getGithubRepoUrl(tarball.relative.replace(/^\/+/, ""));
71
+ let tarballUrl;
72
+ const dev = raw.rawURL;
73
+ const prod = raw.rawURL.replace("/raw/" + branch, "/raw/" + hash);
74
+ let ver = path.basename(tarball.relative, ".tgz").replace(`${packagejson.name}-`, "");
75
+ if (typeof hash === "string") {
76
+ if (isNaN(parseFloat(ver))) {
77
+ ver = "latest";
78
+ tarballUrl = dev;
79
+ md += `| ${ver} | ${prod} |
80
+ `;
81
+ } else {
82
+ tarballUrl = prod;
83
+ }
84
+ md += `| ${ver} | ${tarballUrl} |
85
+ `;
86
+ }
87
+ }
88
+ md += `
89
+ use this tarball with \`resolutions\`:
90
+ `;
91
+ md += '```json\n{\n "resolutions": {\n "' + packagejson.name + '": "<url of tarball>"\n }\n}\n```\n\n## Releases\n\n ';
92
+ fs.writeFileSync(
93
+ path.join(releaseDir, "readme.md"),
94
+ (md + `
95
+
96
+ ## Get URL of \`${packagejson.name}\` Release Tarball
97
+ - select tarball file
98
+ ![gambar](https://user-images.githubusercontent.com/12471057/203216375-8af4b5d9-00c2-40fb-8d3d-d220beaabd46.png)
99
+ - copy raw url
100
+ ![gambar](https://user-images.githubusercontent.com/12471057/203216508-7590cbb9-a1ce-47d6-96ca-8d82149f0762.png)
101
+ - or copy download url
102
+ ![gambar](https://user-images.githubusercontent.com/12471057/203216541-3807d2c3-5213-49f3-b93d-c626dbae3b2e.png)
103
+ - then run installation from command line
104
+
105
+ \`\`\`bash
106
+ npm i https://....url-tgz
107
+ \`\`\`
108
+ for example
109
+ \`\`\`bash
110
+ npm i https://github.com/dimaslanjaka/nodejs-package-types/raw/main/release/nodejs-package-types.tgz
111
+ \`\`\`
112
+
113
+ ## URL Parts Explanations
114
+ > https://github.com/github-username/github-repo-name/raw/github-branch-name/path-to-file-with-extension
115
+ `).trim() + "\n"
116
+ );
117
+ }
118
+ var build_readme_default = buildReadme;
119
+
120
+ export {
121
+ buildReadme,
122
+ build_readme_default
123
+ };
@@ -1,10 +1,13 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
- findEnvFiles
4
- } from "./chunk-ID2WBTE2.mjs";
3
+ require_fetchResponse
4
+ } from "./chunk-KLKAIFKI.mjs";
5
+ import {
6
+ require_findEnvFiles
7
+ } from "./chunk-H44UWUFY.mjs";
5
8
  import {
6
9
  require_utils
7
- } from "./chunk-Z6JLYU2J.mjs";
10
+ } from "./chunk-6RK5UCTP.mjs";
8
11
  import {
9
12
  __toESM,
10
13
  init_esm_shims
@@ -13,17 +16,18 @@ import {
13
16
  // src/package-resolutions-updater.mjs
14
17
  init_esm_shims();
15
18
  var utils = __toESM(require_utils(), 1);
19
+ var import_fetchResponse = __toESM(require_fetchResponse(), 1);
20
+ var import_findEnvFiles = __toESM(require_findEnvFiles(), 1);
16
21
  import * as dotenv from "dotenv";
17
22
  import fs from "fs";
18
- import https from "https";
19
23
  import os from "os";
20
- import path from "path";
24
+ import path from "upath";
21
25
  import { parseGitHubUrl } from "git-command-helper";
22
26
  var projectDir = process.cwd();
23
27
  var envPath = path.join(projectDir, ".env");
24
28
  var args = utils.getArgs();
25
29
  if (!fs.existsSync(envPath)) {
26
- const envFiles = findEnvFiles(projectDir, (file) => {
30
+ const envFiles = (0, import_findEnvFiles.findEnvFiles)(projectDir, (file) => {
27
31
  const content = fs.readFileSync(file, "utf-8");
28
32
  return /GITHUB_TOKEN|ACCESS_TOKEN/.test(content);
29
33
  });
@@ -34,7 +38,7 @@ if (!fs.existsSync(envPath)) {
34
38
  if (fs.existsSync(envPath)) {
35
39
  dotenv.config({ path: envPath, quiet: true, override: true });
36
40
  }
37
- var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
41
+ var ACCESS_TOKEN = process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN;
38
42
  if (args.help || args.h) {
39
43
  showHelp();
40
44
  }
@@ -92,33 +96,23 @@ try {
92
96
  } catch (_e) {
93
97
  selectedUserAgent = GITHUB_USER_AGENTS[Math.floor(Math.random() * GITHUB_USER_AGENTS.length)];
94
98
  }
95
- function fetchJson(url) {
96
- const headers = {
97
- "User-Agent": selectedUserAgent,
98
- Accept: "application/vnd.github.v3+json",
99
- "X-GitHub-Api-Version": "2022-11-28",
100
- ...ACCESS_TOKEN ? { Authorization: `token ${ACCESS_TOKEN}` } : {}
101
- };
102
- return new Promise((resolve, reject) => {
103
- https.get(url, { headers }, (res) => {
104
- let data = "";
105
- res.on("data", (chunk) => data += chunk);
106
- res.on("end", () => {
107
- try {
108
- const json = JSON.parse(data);
109
- if (res.statusCode < 200 || res.statusCode >= 300) {
110
- return reject(
111
- new Error(`GitHub API Error ${res.statusCode}: ${json.message || "Unknown error"}
112
- URL: ${url}`)
113
- );
114
- }
115
- resolve(json);
116
- } catch {
117
- reject(new Error(`Invalid JSON from: ${url}`));
118
- }
119
- });
120
- }).on("error", reject);
99
+ async function fetchJson(url) {
100
+ var _a;
101
+ const response = await (0, import_fetchResponse.default)(url, {
102
+ headers: {
103
+ "User-Agent": selectedUserAgent,
104
+ Accept: "application/vnd.github.v3+json",
105
+ "X-GitHub-Api-Version": "2022-11-28",
106
+ ...ACCESS_TOKEN ? { Authorization: `token ${ACCESS_TOKEN}` } : {}
107
+ },
108
+ responseType: "json"
121
109
  });
110
+ if (response.status < 200 || response.status >= 300) {
111
+ const message = ((_a = response.data) == null ? void 0 : _a.message) || "Unknown error";
112
+ throw new Error(`GitHub API Error ${response.status}: ${message}
113
+ URL: ${url}`);
114
+ }
115
+ return response.data;
122
116
  }
123
117
  async function getLatestCommit(owner, repo, branch = "main") {
124
118
  var _a, _b, _c, _d;
@@ -169,10 +163,74 @@ async function getLatestCommitAcrossBranches(owner, repo) {
169
163
  };
170
164
  }
171
165
  function replaceRawWithLatestHash(url, latestHash) {
172
- const match = url.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/raw\/([^/]+)\/(.+)$/);
173
- if (!match) throw new Error("Invalid GitHub raw URL");
174
- const [, owner, repo, _oldHash, path2] = match;
175
- return `https://github.com/${owner}/${repo}/raw/${latestHash}/${path2}`;
166
+ const parsed = parseGitHubUrl(url);
167
+ if (!parsed || !parsed.owner || !parsed.repo || !parsed.branch) {
168
+ throw new Error("Invalid GitHub raw URL");
169
+ }
170
+ const branchPrefix = `${parsed.branch}/`;
171
+ const rawPrefix = parsed.host === "github.com" ? `raw/${branchPrefix}` : branchPrefix;
172
+ const refsPrefix = `refs/heads/${branchPrefix}`;
173
+ const path2 = parsed.path.startsWith(rawPrefix) ? parsed.path.slice(rawPrefix.length) : parsed.path.startsWith(refsPrefix) ? parsed.path.slice(refsPrefix.length) : parsed.path.startsWith(branchPrefix) ? parsed.path.slice(branchPrefix.length) : parsed.path;
174
+ if (parsed.host === "github.com") {
175
+ return `https://github.com/${parsed.owner}/${parsed.repo}/raw/${latestHash}/${path2}`;
176
+ }
177
+ if (parsed.host === "raw.githubusercontent.com") {
178
+ return `https://raw.githubusercontent.com/${parsed.owner}/${parsed.repo}/${latestHash}/${path2}`;
179
+ }
180
+ throw new Error("Invalid GitHub raw URL");
181
+ }
182
+ async function resolvePackageResolutionUpdates(resolutions, specialPackageOverrides = []) {
183
+ const updates = [];
184
+ for (const [currentPkgName, url] of Object.entries(resolutions || {})) {
185
+ let repo;
186
+ try {
187
+ repo = parseGitHubUrl(url);
188
+ } catch (error) {
189
+ updates.push({
190
+ skipped: true,
191
+ currentPkgName,
192
+ url,
193
+ error
194
+ });
195
+ continue;
196
+ }
197
+ try {
198
+ const override = specialPackageOverrides.find((p) => p.pkg === currentPkgName);
199
+ const latest = override ? await getLatestCommit(override.owner, override.repo, override.branch) : await getLatestCommitAcrossBranches(repo.owner, repo.repo);
200
+ const new_url = replaceRawWithLatestHash(url, latest.sha);
201
+ const response = await (0, import_fetchResponse.default)(new_url);
202
+ if (response.status < 200 || response.status >= 300) {
203
+ updates.push({
204
+ failed: true,
205
+ currentPkgName,
206
+ url,
207
+ new_url,
208
+ repo,
209
+ latest,
210
+ error: new Error(`New URL not accessible (status ${response.status}).
211
+ original: ${url}
212
+ new: ${new_url}`)
213
+ });
214
+ continue;
215
+ }
216
+ updates.push({
217
+ currentPkgName,
218
+ url,
219
+ new_url,
220
+ repo,
221
+ latest
222
+ });
223
+ } catch (error) {
224
+ updates.push({
225
+ failed: true,
226
+ currentPkgName,
227
+ url,
228
+ repo,
229
+ error
230
+ });
231
+ }
232
+ }
233
+ return updates;
176
234
  }
177
235
 
178
236
  export {
@@ -180,5 +238,6 @@ export {
180
238
  fetchJson,
181
239
  getLatestCommit,
182
240
  getLatestCommitAcrossBranches,
183
- replaceRawWithLatestHash
241
+ replaceRawWithLatestHash,
242
+ resolvePackageResolutionUpdates
184
243
  };
@@ -0,0 +1,55 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/node-cache-cleaner/yarn.ts
7
+ init_esm_shims();
8
+ import { spawn } from "cross-spawn";
9
+ function yarnVersion() {
10
+ return new Promise((resolve, reject) => {
11
+ const process = spawn("yarn", ["--version"], {
12
+ stdio: "pipe",
13
+ shell: true
14
+ });
15
+ let version = "";
16
+ process.stdout.on("data", (data) => {
17
+ version += data.toString();
18
+ });
19
+ process.on("close", (code) => {
20
+ if (code === 0) {
21
+ resolve(version.trim());
22
+ } else {
23
+ reject(new Error(`Yarn version check failed with exit code ${code}`));
24
+ }
25
+ });
26
+ });
27
+ }
28
+ async function cleanYarnCache() {
29
+ let version = "";
30
+ try {
31
+ version = await yarnVersion();
32
+ } catch {
33
+ }
34
+ const major = parseInt(version.split(".")[0], 10);
35
+ const isClassic = major === 1 || version === "";
36
+ const args = isClassic ? ["cache", "clean"] : ["cache", "clean", "--all"];
37
+ return new Promise((resolve, reject) => {
38
+ const process = spawn("yarn", args, {
39
+ stdio: "inherit",
40
+ shell: true
41
+ });
42
+ process.on("close", (code) => {
43
+ if (code === 0) {
44
+ resolve(true);
45
+ } else {
46
+ reject(new Error(`Yarn cache clean failed with exit code ${code}`));
47
+ }
48
+ });
49
+ });
50
+ }
51
+
52
+ export {
53
+ yarnVersion,
54
+ cleanYarnCache
55
+ };
@@ -10,7 +10,7 @@ var require_find_node_modules = __commonJS({
10
10
  "src/find-node-modules.cjs"(exports, module) {
11
11
  init_esm_shims();
12
12
  var glob = __require("glob");
13
- var path = __require("path");
13
+ var path = __require("upath");
14
14
  function findNodeModules(dir = process.cwd(), callback = null) {
15
15
  const finalDir = typeof dir === "string" ? dir : process.cwd();
16
16
  return new Promise((resolve, reject) => {
@@ -0,0 +1,44 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/run-by-checksum/hash.js
7
+ init_esm_shims();
8
+ import fs from "fs-extra";
9
+ import * as glob from "glob";
10
+ import upath from "upath";
11
+ import path from "upath";
12
+ import crypto from "crypto";
13
+ function getAllFiles({ patterns, ignore, cwd }) {
14
+ const files = /* @__PURE__ */ new Set();
15
+ const root = cwd || process.cwd();
16
+ for (const pattern of patterns) {
17
+ const matched = glob.sync(pattern, {
18
+ cwd: root,
19
+ nodir: true,
20
+ ignore
21
+ });
22
+ for (const f of matched) {
23
+ files.add(upath.normalize(path.resolve(root, f)));
24
+ }
25
+ }
26
+ return [...files].sort();
27
+ }
28
+ function hashFile(file) {
29
+ const content = fs.readFileSync(file);
30
+ return crypto.createHash("sha256").update(content).digest("hex");
31
+ }
32
+ function buildChecksum(files) {
33
+ const hash = crypto.createHash("sha256");
34
+ for (const file of files) {
35
+ hash.update(file);
36
+ hash.update(hashFile(file));
37
+ }
38
+ return hash.digest("hex");
39
+ }
40
+
41
+ export {
42
+ getAllFiles,
43
+ buildChecksum
44
+ };
@@ -1,16 +1,20 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_findEnvFiles
4
+ } from "./chunk-H44UWUFY.mjs";
2
5
  import {
3
6
  __commonJS,
4
7
  __require,
5
8
  init_esm_shims
6
9
  } from "./chunk-QQ4A6DLD.mjs";
7
10
 
8
- // src/binary-collections-config.cjs
9
- var require_binary_collections_config = __commonJS({
10
- "src/binary-collections-config.cjs"(exports, module) {
11
+ // src/binary-collections/config.cjs
12
+ var require_config = __commonJS({
13
+ "src/binary-collections/config.cjs"(exports, module) {
11
14
  init_esm_shims();
12
- var path = __require("path");
13
- __require("dotenv").config({ path: path.join(process.cwd(), ".env") });
15
+ var path = __require("upath");
16
+ var { findEnvWithToken } = require_findEnvFiles();
17
+ __require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
14
18
  function getTempDir() {
15
19
  return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
16
20
  }
@@ -27,5 +31,5 @@ var require_binary_collections_config = __commonJS({
27
31
  });
28
32
 
29
33
  export {
30
- require_binary_collections_config
34
+ require_config
31
35
  };