binary-collections 2.0.11 → 2.0.12

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 (225) hide show
  1. package/.opencode/package.json +5 -0
  2. package/binaries/rmx +15 -1
  3. package/binaries/rmx.cmd +12 -0
  4. package/binaries/test-cjs +9 -1
  5. package/binaries/test-cjs.cmd +16 -1
  6. package/binaries/test-esm +16 -0
  7. package/binaries/test-esm.cjs +178 -0
  8. package/binaries/test-esm.cmd +23 -0
  9. package/binaries/yarn-clean +1 -1
  10. package/binaries/yarn-clean.cmd +1 -1
  11. package/binaries/yarn-clean.py +33 -15
  12. package/binaries/yc +110 -0
  13. package/binaries/yc.cjs +178 -0
  14. package/lib/binary-collections/config.cjs +126 -0
  15. package/lib/binary-collections/config.mjs +7 -0
  16. package/lib/binary-collections/executeScript.cjs +19 -0
  17. package/lib/binary-collections/executeScript.d.cts +12 -0
  18. package/lib/binary-collections/executeScript.mjs +6 -0
  19. package/lib/binary-collections/findScript.cjs +284 -0
  20. package/lib/binary-collections/findScript.d.cts +12 -0
  21. package/lib/binary-collections/findScript.mjs +7 -0
  22. package/lib/binary-collections/listScript.cjs +266 -0
  23. package/lib/binary-collections/listScript.d.cts +19 -0
  24. package/lib/binary-collections/listScript.mjs +7 -0
  25. package/lib/binary-collections.cjs +224 -137
  26. package/lib/binary-collections.mjs +22 -282
  27. package/lib/changelog.cjs +2 -2
  28. package/lib/changelog.mjs +1 -1
  29. package/lib/{chunk-AJDD5DZM.mjs → chunk-2LSRSEXF.mjs} +1 -1
  30. package/lib/{chunk-Z6JLYU2J.mjs → chunk-5RTXZVCW.mjs} +2 -2
  31. package/lib/{chunk-XA3SNBPA.mjs → chunk-66KDU4TX.mjs} +93 -9
  32. package/lib/chunk-6PU7BAHB.mjs +61 -0
  33. package/lib/chunk-C6D2TTYU.mjs +32 -0
  34. package/lib/chunk-FB2WKVJD.mjs +158 -0
  35. package/lib/{chunk-NCXAP7AA.mjs → chunk-G5UUEWUO.mjs} +9 -5
  36. package/lib/{chunk-N436BNBK.mjs → chunk-GAGABICI.mjs} +19 -13
  37. package/lib/chunk-H44UWUFY.mjs +105 -0
  38. package/lib/chunk-NCZPTKDV.mjs +79 -0
  39. package/lib/chunk-NGFK3EYW.mjs +28 -0
  40. package/lib/chunk-NVEG3LEZ.mjs +143 -0
  41. package/lib/chunk-OGXVGBRI.mjs +29 -0
  42. package/lib/chunk-OXV52GD5.mjs +62 -0
  43. package/lib/chunk-PXBMHE7O.mjs +35 -0
  44. package/lib/chunk-R5FJOR63.mjs +47 -0
  45. package/lib/chunk-SPTECFE5.mjs +180 -0
  46. package/lib/chunk-UXCFNAR6.mjs +55 -0
  47. package/lib/chunk-V2IBPCEV.mjs +39 -0
  48. package/lib/chunk-XPJGCDOD.mjs +14 -0
  49. package/lib/chunk-ZOWVMII3.mjs +228 -0
  50. package/lib/clean-github-actions-caches-cli.cjs +465 -0
  51. package/lib/clean-github-actions-caches-cli.d.cts +1 -0
  52. package/lib/clean-github-actions-caches-cli.mjs +56 -0
  53. package/lib/clean-github-actions-caches.cjs +149 -205
  54. package/lib/clean-github-actions-caches.d.cts +15 -1
  55. package/lib/clean-github-actions-caches.mjs +4 -130
  56. package/lib/cross-env/command.cjs +63 -0
  57. package/lib/cross-env/command.d.ts +8 -0
  58. package/lib/cross-env/command.js +45 -0
  59. package/lib/cross-env/command.mjs +9 -0
  60. package/lib/cross-env/index.cjs +178 -0
  61. package/lib/cross-env/index.d.ts +8 -0
  62. package/lib/cross-env/index.js +102 -0
  63. package/lib/cross-env/index.mjs +101 -0
  64. package/lib/cross-env/variable.cjs +60 -0
  65. package/lib/cross-env/variable.d.ts +7 -0
  66. package/lib/cross-env/variable.js +59 -0
  67. package/lib/cross-env/variable.mjs +9 -0
  68. package/lib/del-gradle.cjs +2 -2
  69. package/lib/del-gradle.js +8 -8
  70. package/lib/del-gradle.mjs +1 -1
  71. package/lib/del-node-modules.js +24 -24
  72. package/lib/del-ps.cjs +2 -2
  73. package/lib/del-ps.js +8 -8
  74. package/lib/del-ps.mjs +1 -1
  75. package/lib/del-yarn-caches.cjs +2 -2
  76. package/lib/del-yarn-caches.js +2 -2
  77. package/lib/del-yarn-caches.mjs +1 -1
  78. package/lib/file/copy-cli.cjs +92 -0
  79. package/lib/file/copy-cli.d.mts +1 -0
  80. package/lib/file/copy-cli.mjs +55 -0
  81. package/lib/file/copy.cjs +56 -0
  82. package/lib/file/copy.d.mts +1 -0
  83. package/lib/file/copy.mjs +8 -0
  84. package/lib/file/move-cli.cjs +91 -0
  85. package/lib/file/move-cli.d.mts +1 -0
  86. package/lib/file/move-cli.mjs +55 -0
  87. package/lib/file/move.cjs +55 -0
  88. package/lib/file/move.d.mts +1 -0
  89. package/lib/file/move.mjs +8 -0
  90. package/lib/find-node-modules-cli.js +1 -1
  91. package/lib/free-chatgpt.cjs +21 -15
  92. package/lib/free-chatgpt.js +10 -10
  93. package/lib/free-chatgpt.mjs +2 -2
  94. package/lib/git/user-config.cjs +2 -2
  95. package/lib/git/user-config.mjs +2 -2
  96. package/lib/git-diff-cli.cjs +188 -42
  97. package/lib/git-diff-cli.mjs +5 -4
  98. package/lib/git-diff.cjs +188 -42
  99. package/lib/git-diff.d.ts +2 -1
  100. package/lib/git-diff.js +91 -34
  101. package/lib/git-diff.mjs +5 -4
  102. package/lib/git-fix.cjs +2 -2
  103. package/lib/git-fix.mjs +2 -2
  104. package/lib/git-purge.cjs +2 -2
  105. package/lib/git-purge.mjs +1 -1
  106. package/lib/index.d.ts +1 -1
  107. package/lib/kill-night-crows.cjs +7 -7
  108. package/lib/kill-night-crows.mjs +7 -7
  109. package/lib/node-cache-cleaner/npm.cjs +65 -0
  110. package/lib/node-cache-cleaner/npm.d.ts +2 -0
  111. package/lib/node-cache-cleaner/npm.js +41 -0
  112. package/lib/node-cache-cleaner/npm.mjs +10 -0
  113. package/lib/node-cache-cleaner/npx.cjs +89 -0
  114. package/lib/node-cache-cleaner/npx.d.ts +4 -0
  115. package/lib/node-cache-cleaner/npx.js +82 -0
  116. package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
  117. package/lib/node-cache-cleaner/yarn.cjs +73 -0
  118. package/lib/node-cache-cleaner/yarn.d.ts +2 -0
  119. package/lib/node-cache-cleaner/yarn.js +62 -0
  120. package/lib/node-cache-cleaner/yarn.mjs +10 -0
  121. package/lib/node-cache-cleaner-cli.cjs +182 -0
  122. package/lib/node-cache-cleaner-cli.d.ts +2 -0
  123. package/lib/node-cache-cleaner-cli.js +60 -0
  124. package/lib/node-cache-cleaner-cli.mjs +56 -0
  125. package/lib/node-executor.cjs +91 -0
  126. package/lib/node-executor.d.cts +2 -0
  127. package/lib/node-executor.mjs +103 -0
  128. package/lib/npm-run-series.cjs +21 -28
  129. package/lib/npm-run-series.mjs +20 -6
  130. package/lib/package-resolutions-updater-cli.cjs +213 -128
  131. package/lib/package-resolutions-updater-cli.mjs +17 -39
  132. package/lib/package-resolutions-updater.cjs +204 -98
  133. package/lib/package-resolutions-updater.d.mts +20 -1
  134. package/lib/package-resolutions-updater.mjs +7 -5
  135. package/lib/print-directory-tree.cjs +2 -2
  136. package/lib/print-directory-tree.mjs +1 -1
  137. package/lib/ps/connected-domain.js +10 -10
  138. package/lib/ps/index.cjs +1 -1
  139. package/lib/ps/index.mjs +177 -171
  140. package/lib/ps/isWin.js +1 -1
  141. package/lib/ps/table-parser.js +6 -6
  142. package/lib/remove-module.cjs +2 -2
  143. package/lib/remove-module.mjs +1 -1
  144. package/lib/rm-node-module-cli.cjs +222 -0
  145. package/lib/rm-node-module-cli.d.cts +1 -0
  146. package/lib/rm-node-module-cli.mjs +89 -0
  147. package/lib/rm-node-modules.cjs +127 -0
  148. package/lib/rm-node-modules.d.cts +35 -0
  149. package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
  150. package/lib/rmpath.cjs +2 -2
  151. package/lib/rmpath.mjs +1 -1
  152. package/lib/submodule-install.cjs +47 -34
  153. package/lib/submodule-install.mjs +46 -33
  154. package/lib/submodule-remove-cli.cjs +1 -2
  155. package/lib/submodule-remove-cli.js +3 -3
  156. package/lib/submodule-remove-cli.mjs +1 -2
  157. package/lib/utils/chatgpt.cjs +19 -13
  158. package/lib/utils/chatgpt.js +94 -94
  159. package/lib/utils/chatgpt.mjs +1 -1
  160. package/lib/utils/findEnvFiles.cjs +28 -46
  161. package/lib/utils/findEnvFiles.d.cts +19 -0
  162. package/lib/utils/findEnvFiles.mjs +3 -5
  163. package/lib/utils/findWorkspaceRoot.js +4 -4
  164. package/lib/utils/index.cjs +2 -2
  165. package/lib/utils/index.mjs +1 -1
  166. package/lib/utils/isGithubTokenValid.js +7 -7
  167. package/lib/{ps/index.d.cjs → utils/isWindows.cjs} +17 -3
  168. package/lib/utils/isWindows.d.ts +5 -0
  169. package/lib/utils/isWindows.js +10 -0
  170. package/lib/utils/isWindows.mjs +8 -0
  171. package/lib/utils/runBash.cjs +53 -0
  172. package/lib/utils/runBash.d.cts +12 -0
  173. package/lib/utils/runBash.mjs +66 -0
  174. package/lib/yarn-per-branch-lock-installer.cjs +97 -0
  175. package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
  176. package/lib/yarn-per-branch-lock-installer.mjs +109 -0
  177. package/lib/yarn-reinstall.cjs +2 -2
  178. package/lib/yarn-reinstall.mjs +1 -1
  179. package/package.json +61 -52
  180. package/readme.html +784 -0
  181. package/readme.md +106 -218
  182. package/releases/readme.md +1 -1
  183. package/test/README.md +2 -2
  184. package/test-project/package.json +8 -2
  185. package/test-project/workspaces/workspace-a/package.json +135 -0
  186. package/test-project/workspaces/workspace-a/readme.md +20 -0
  187. package/test-project/workspaces/workspace-a/release/readme.md +42 -0
  188. package/test-project/workspaces/workspace-a/test/demo/package.json +25 -0
  189. package/test-project/workspaces/workspace-a/test/readme.md +12 -0
  190. package/test-project/workspaces/workspace-b/package.json +139 -0
  191. package/test-project/workspaces/workspace-b/readme.md +94 -0
  192. package/test-project/workspaces/workspace-b/requirements.txt +1 -0
  193. package/test-project/workspaces/workspace-b/test/sample-project/package.json +7 -0
  194. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +96 -0
  195. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
  196. package/tmp/rm-node-modules-test-project/package.json +17 -0
  197. package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +16 -0
  198. package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +16 -0
  199. package/tmp/test-repo/README.md +2 -35
  200. package/tmp/test-repo/package.json +13 -3
  201. package/docs-src/clean-github-actions-caches.md +0 -26
  202. package/docs-src/free-chatgpt.md +0 -26
  203. package/lib/binary-collections-config.cjs +0 -15
  204. package/lib/chunk-2CBJCW7E.mjs +0 -81
  205. package/lib/chunk-4UHL4WVN.mjs +0 -136
  206. package/lib/chunk-66PAU5PS.mjs +0 -31
  207. package/lib/chunk-6HHJRKFB.mjs +0 -59
  208. package/lib/chunk-7XTEJHOE.mjs +0 -193
  209. package/lib/chunk-FCDQGYBF.mjs +0 -136
  210. package/lib/chunk-GEYA2USY.mjs +0 -207
  211. package/lib/chunk-GJTGHXRA.mjs +0 -356
  212. package/lib/chunk-ID2WBTE2.mjs +0 -80
  213. package/lib/chunk-JXFOHKDM.mjs +0 -239
  214. package/lib/chunk-PDSXF5HY.mjs +0 -187
  215. package/lib/chunk-RWLXRTYP.mjs +0 -109
  216. package/lib/chunk-TOIVAQF7.mjs +0 -136
  217. package/lib/chunk-V5SKYJUB.mjs +0 -136
  218. package/lib/chunk-WSRETQCA.mjs +0 -59
  219. package/lib/chunk-YYLIQQKF.mjs +0 -31
  220. package/lib/ps/index.d.ts +0 -2
  221. package/lib/ps/index.js +0 -254
  222. package/lib/utils/findEnvFiles.d.ts +0 -8
  223. package/lib/utils/findEnvFiles.js +0 -121
  224. package/tmp/typedoc/readme.md +0 -320
  225. /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
@@ -17,7 +17,7 @@ var init_cjs_shims = __esm({
17
17
  var require_utils = __commonJS({
18
18
  "src/utils/index.cjs"(exports2, module2) {
19
19
  init_cjs_shims();
20
- var fs2 = require("fs");
20
+ var fs = require("fs");
21
21
  var path2 = require("upath");
22
22
  var argv = require("minimist")(process.argv.slice(2));
23
23
  var { exec } = require("child_process");
@@ -69,11 +69,11 @@ var require_utils = __commonJS({
69
69
  module2.exports.getArgs = getArgs2;
70
70
  function del(fullPath) {
71
71
  try {
72
- if (!fs2.existsSync(fullPath)) return;
73
- const stat = fs2.lstatSync(fullPath);
72
+ if (!fs.existsSync(fullPath)) return;
73
+ const stat = fs.lstatSync(fullPath);
74
74
  if (stat.isSymbolicLink()) {
75
75
  try {
76
- fs2.unlinkSync(fullPath);
76
+ fs.unlinkSync(fullPath);
77
77
  console.log("deleted symlink", fullPath);
78
78
  } catch (e) {
79
79
  console.log("failed delete symlink", fullPath, e && e.message);
@@ -81,16 +81,16 @@ var require_utils = __commonJS({
81
81
  return;
82
82
  }
83
83
  if (stat.isDirectory()) {
84
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
84
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
85
85
  for (let i = 0; i < subdir.length; i++) {
86
86
  del(subdir[i]);
87
87
  }
88
88
  try {
89
- fs2.rmdirSync(fullPath);
89
+ fs.rmdirSync(fullPath);
90
90
  console.log("deleted", fullPath);
91
- } catch (e) {
91
+ } catch (_e) {
92
92
  try {
93
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
93
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
94
94
  console.log("deleted", fullPath);
95
95
  } catch (ee) {
96
96
  console.log("failed delete", fullPath, ee && ee.message);
@@ -99,11 +99,11 @@ var require_utils = __commonJS({
99
99
  return;
100
100
  }
101
101
  try {
102
- fs2.unlinkSync(fullPath);
102
+ fs.unlinkSync(fullPath);
103
103
  console.log("deleted", fullPath);
104
- } catch (e) {
104
+ } catch (_e) {
105
105
  try {
106
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
106
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
107
107
  console.log("deleted", fullPath);
108
108
  } catch (ee) {
109
109
  console.log("failed delete", fullPath, ee && ee.message);
@@ -118,11 +118,11 @@ var require_utils = __commonJS({
118
118
  globStream.stream().on("data", (result) => {
119
119
  const fullPath = path2.resolve(process.cwd(), result);
120
120
  try {
121
- if (fs2.existsSync(fullPath)) {
122
- const stat = fs2.lstatSync(fullPath);
121
+ if (fs.existsSync(fullPath)) {
122
+ const stat = fs.lstatSync(fullPath);
123
123
  if (stat.isSymbolicLink()) {
124
124
  try {
125
- fs2.unlinkSync(fullPath);
125
+ fs.unlinkSync(fullPath);
126
126
  console.log("deleted symlink", fullPath);
127
127
  } catch (e) {
128
128
  console.log("failed delete symlink", fullPath, e && e.message);
@@ -130,7 +130,7 @@ var require_utils = __commonJS({
130
130
  return;
131
131
  }
132
132
  if (stat.isDirectory()) {
133
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
133
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
134
134
  for (let i = 0; i < subdir.length; i++) {
135
135
  del(subdir[i]);
136
136
  }
@@ -190,7 +190,7 @@ var require_package = __commonJS({
190
190
  "package.json"(exports2, module2) {
191
191
  module2.exports = {
192
192
  name: "binary-collections",
193
- version: "2.0.11",
193
+ version: "2.0.12",
194
194
  description: "Utility to clean any programming caches and more",
195
195
  keywords: [
196
196
  "cache",
@@ -227,28 +227,27 @@ var require_package = __commonJS({
227
227
  "binaries",
228
228
  "lib",
229
229
  "package.json",
230
- "docs-src/**/*.md",
231
230
  "readme.md",
232
- ".puppeterrc.*",
231
+ ".puppeterrc.cjs",
233
232
  "requirements.txt"
234
233
  ],
235
234
  scripts: {
236
- build: "tsc -b tsconfig.build.json && npm run build:tsup && npm run postbuild",
237
- "build:packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
238
- "build:rollup": "rollup -c rollup.config.js",
239
- "build:tsup": "node build.tsup.js",
235
+ build: "tsc -b tsconfig.build.json && npm run build-tsup && npm run build-exports",
236
+ "build-exports": "node -r ts-node/register -r dotenv/config build.exports.mjs",
237
+ "build-packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
238
+ "build-rollup": "rollup -c rollup.config.js",
239
+ "build-tsup": "node build.tsup.js",
240
240
  clean: "rimraf lib tmp/dist binaries",
241
241
  pack: "node packer.cjs --yarn --filename=bin",
242
- postbuild: "node -r ts-node/register -r dotenv/config build.exports.mjs && yarn run pack",
243
242
  prepare: "husky",
244
- test: 'npx jest --runInBand --forceExit --testTimeout=120000 --testPathIgnorePatterns="\\.mjs$"',
245
- "test:coverage": "npm test --coverage --detectOpenHandles",
246
- "test:esm": 'node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit --testTimeout=120000 --testPathIgnorePatterns="\\.(ts|js|cjs)$"',
247
- "test:nrs": "npm test -- nrs build:**",
248
- "test:watch": "npm test --watch",
249
- "update:ncu": "npx npm-check-updates -u -x jsdom,chalk,hexo,deepmerge-ts --enginesNode --root",
250
- "update:packer": "curl -L https://github.com/dimaslanjaka/nodejs-package-types/raw/main/packer.js > packer.cjs",
251
- "puppeteer:browser": "npx -y puppeteer browsers install chrome"
243
+ "puppeteer:browser": "npx -y puppeteer browsers install chrome",
244
+ test: "test-cjs",
245
+ "test-coverage": "npm test --coverage --detectOpenHandles",
246
+ "test-esm": "test-esm",
247
+ "test-nrs": "npm test -- nrs build-**",
248
+ "test-watch": "npm test --watch",
249
+ "update:ncu": "npx npm-check-updates -u --enginesNode --root -x jest -x @types/jest -x babel-jest -x @babel/core -x @babel/preset-env -x @babel/preset-typescript -x ts-jest -x eslint -x @eslint/eslintrc -x @eslint/js -x @typescript-eslint/eslint-plugin -x @typescript-eslint/parser -x eslint-config-prettier -x eslint-plugin-prettier -x typescript-eslint -x prettier -x typescript -x ts-node -x @yarnpkg/core",
250
+ "update:packer": "curl -L https://github.com/dimaslanjaka/nodejs-package-types/raw/main/packer.js > packer.cjs"
252
251
  },
253
252
  repository: {
254
253
  type: "git",
@@ -257,67 +256,55 @@ var require_package = __commonJS({
257
256
  dependencies: {
258
257
  "@yarnpkg/core": "^4.7.0",
259
258
  "ansi-colors": "^4.1.3",
260
- axios: "^1.15.2",
259
+ axios: "^1.16.1",
260
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
261
261
  dotenv: "^17.4.2",
262
- execa: "^9.6.1",
263
- "fs-extra": "^11.3.4",
264
- "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/refs/heads/pre-release/release/git-command-helper.tgz",
262
+ "fs-extra": "^11.3.5",
263
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
265
264
  glob: "^13.0.6",
266
265
  minimatch: "^10.2.5",
267
266
  minimist: "^1.2.8",
268
267
  "ps-node": "^0.1.6",
269
- puppeteer: "^24.42.0",
268
+ puppeteer: "^25.0.4",
270
269
  "puppeteer-extra": "^3.3.6",
271
270
  "puppeteer-extra-plugin-stealth": "^2.11.2",
272
- remove: "^0.1.5",
273
- "sbg-utility": "^2.0.11",
271
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
274
272
  upath: "^3.0.7",
275
- yaml: "^2.8.3",
273
+ yaml: "^2.9.0",
276
274
  yarn: "^1.22.22"
277
275
  },
278
276
  devDependencies: {
279
277
  "@babel/core": "^7.29.0",
278
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
280
279
  "@babel/preset-env": "^7.29.2",
281
280
  "@babel/preset-typescript": "^7.28.5",
282
- "@eslint/eslintrc": "^3.3.5",
283
- "@eslint/js": "^10.0.1",
281
+ "@dimaslanjaka/eslint-base-config": "^1.0.1",
284
282
  "@rollup/plugin-babel": "^7.0.0",
285
283
  "@rollup/plugin-commonjs": "^29.0.2",
286
284
  "@rollup/plugin-json": "^6.1.0",
287
285
  "@rollup/plugin-node-resolve": "^16.0.3",
288
286
  "@types/babel__core": "^7",
289
287
  "@types/babel__preset-env": "^7",
290
- "@types/eslint": "^9",
291
288
  "@types/fs-extra": "^11",
292
289
  "@types/jest": "^30.0.0",
293
290
  "@types/minimist": "^1",
294
- "@types/node": "^25.6.0",
295
- "@types/prettier": "^3",
291
+ "@types/mocha": "^10.0.10",
292
+ "@types/node": "^25.9.1",
296
293
  "@types/ps-node": "^0",
297
- "@types/yargs": "^17",
298
- "@typescript-eslint/eslint-plugin": "^8.59.0",
299
- "@typescript-eslint/parser": "^8.59.0",
300
294
  "babel-jest": "^30.4.1",
301
295
  "browser-sync": "^3.0.4",
302
296
  "cross-env": "^10.1.0",
303
- "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/80999ac7a7031a81e11ddb5fab0f8ba433041c98/release/cross-spawn.tgz",
304
- eslint: "^10.2.1",
305
- "eslint-config-prettier": "^10.1.8",
306
- "eslint-plugin-prettier": "^5.5.5",
307
- globals: "^17.5.0",
297
+ globals: "^17.6.0",
308
298
  gulp: "^5.0.1",
309
299
  husky: "^9.1.7",
310
300
  jest: "^30.4.2",
311
- "lint-staged": "^16.4.0",
312
- marked: "^18.0.3",
313
- prettier: "^3.8.3",
301
+ "lint-staged": "^17.0.5",
302
+ marked: "^18.0.4",
314
303
  rimraf: "^6.1.3",
315
- rollup: "^4.60.2",
304
+ rollup: "^4.60.4",
316
305
  "ts-jest": "^29.4.9",
317
306
  "ts-node": "^10.9.2",
318
307
  tsup: "^8.5.1",
319
- typedoc: "^0.28.19",
320
- "typedoc-plugin-ga": "^1.1.1",
321
308
  typescript: "^6.0.3"
322
309
  },
323
310
  directories: {
@@ -329,22 +316,26 @@ var require_package = __commonJS({
329
316
  ],
330
317
  packageManager: "yarn@4.9.2",
331
318
  resolutions: {
332
- "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/80999ac7a7031a81e11ddb5fab0f8ba433041c98/release/cross-spawn.tgz",
333
- "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/0ec870a451241af4f7e16acee5474afe38918c77/release/git-command-helper.tgz",
334
- "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/1c6327117ab66a6ac7bac6df2b5c4f1cd9ef2785/packages/sbg-utility/release/sbg-utility.tgz"
319
+ "@types/through2": "https://github.com/dimaslanjaka/nodejs-package-types/raw/refs/heads/through2/release/types-through2.tgz",
320
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
321
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
322
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
323
+ "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/69ca996fdeaac42c93dd590124996eff58b5d6c2/release/dimaslanjaka-eslint-base-config.tgz"
335
324
  },
336
325
  bin: {
337
326
  "binary-collections": "lib/binary-collections.cjs",
338
327
  "binary-executor": "binaries/binary-executor.cjs",
339
328
  changelog: "lib/changelog.cjs",
340
329
  chatgpt: "lib/free-chatgpt.cjs",
341
- "clean-github-actions-cache": "lib/clean-github-actions-caches.cjs",
342
- "clean-github-actions-caches": "lib/clean-github-actions-caches.cjs",
330
+ "clean-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
331
+ "clean-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
343
332
  "clean-nodemodule": "binaries/clean-nodemodule.cjs",
344
333
  "clean-nodemodules": "binaries/clean-nodemodules.cjs",
345
- "clear-gh-caches": "lib/clean-github-actions-caches.cjs",
346
- "clear-github-actions-cache": "lib/clean-github-actions-caches.cjs",
347
- "clear-github-actions-caches": "lib/clean-github-actions-caches.cjs",
334
+ "clear-gh-caches": "lib/clean-github-actions-caches-cli.cjs",
335
+ "clear-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
336
+ "clear-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
337
+ copy: "lib/file/copy-cli.cjs",
338
+ "copy-file": "lib/file/copy-cli.cjs",
348
339
  "del-gradle": "lib/del-gradle.cjs",
349
340
  "del-node-modules": "lib/del-node-modules.cjs",
350
341
  "del-nodemodules": "lib/del-node-modules.cjs",
@@ -354,6 +345,8 @@ var require_package = __commonJS({
354
345
  dev: "binaries/dev.cjs",
355
346
  "dir-tree": "lib/print-directory-tree.cjs",
356
347
  empty: "binaries/empty.cjs",
348
+ "exec-node": "lib/node-executor.cjs",
349
+ "execute-node": "lib/node-executor.cjs",
357
350
  "find-node-modules": "lib/find-node-modules-cli.cjs",
358
351
  "free-chatgpt": "lib/free-chatgpt.cjs",
359
352
  "git-diff": "lib/git-diff-cli.cjs",
@@ -365,6 +358,13 @@ var require_package = __commonJS({
365
358
  javakill: "binaries/javakill.cjs",
366
359
  "kill-night-crows": "lib/kill-night-crows.cjs",
367
360
  "kill-process": "binaries/kill-process.cjs",
361
+ move: "lib/file/move-cli.cjs",
362
+ "move-file": "lib/file/move-cli.cjs",
363
+ "node-cache-cleaner": "lib/node-cache-cleaner-cli.cjs",
364
+ "node-copy": "lib/file/copy-cli.cjs",
365
+ "node-exec": "lib/node-executor.cjs",
366
+ "node-executor": "lib/node-executor.cjs",
367
+ "node-move": "lib/file/move-cli.cjs",
368
368
  nodekill: "binaries/nodekill.cjs",
369
369
  "npm-run-series": "lib/npm-run-series.cjs",
370
370
  nrs: "lib/npm-run-series.cjs",
@@ -377,6 +377,10 @@ var require_package = __commonJS({
377
377
  prod: "binaries/prod.cjs",
378
378
  py: "binaries/py.cjs",
379
379
  "remove-module": "lib/remove-module.cjs",
380
+ "remove-node-module": "lib/rm-node-module-cli.cjs",
381
+ "remove-node-modules": "lib/rm-node-module-cli.cjs",
382
+ "rm-node-module": "lib/rm-node-module-cli.cjs",
383
+ "rm-node-modules": "lib/rm-node-module-cli.cjs",
380
384
  rmfind: "binaries/rmfind.cjs",
381
385
  rmpath: "lib/rmpath.cjs",
382
386
  rmx: "binaries/rmx.cjs",
@@ -386,24 +390,164 @@ var require_package = __commonJS({
386
390
  "submodule-remove": "lib/submodule-remove-cli.cjs",
387
391
  "submodule-token": "binaries/submodule-token.cjs",
388
392
  "test-cjs": "binaries/test-cjs.cjs",
393
+ "test-esm": "binaries/test-esm.cjs",
389
394
  "undo-commit": "lib/git/undo-commit.cjs",
390
395
  "undo-last-commit": "lib/git/undo-commit.cjs",
391
396
  "undo-staged": "lib/git/undo-staged.cjs",
397
+ "y-install": "lib/yarn-per-branch-lock-installer.cjs",
392
398
  "yarn-clean": "binaries/yarn-clean.cjs",
393
- "yarn-reinstall": "lib/yarn-reinstall.cjs"
399
+ "yarn-install": "lib/yarn-per-branch-lock-installer.cjs",
400
+ "yarn-per-branch-lock-installer": "lib/yarn-per-branch-lock-installer.cjs",
401
+ "yarn-reinstall": "lib/yarn-reinstall.cjs",
402
+ yc: "binaries/yc.cjs"
394
403
  }
395
404
  };
396
405
  }
397
406
  });
398
407
 
408
+ // src/binary-collections/findScript.cjs
409
+ var require_findScript = __commonJS({
410
+ "src/binary-collections/findScript.cjs"(exports2, module2) {
411
+ init_cjs_shims();
412
+ var { glob } = require("glob");
413
+ var path2 = require("upath");
414
+ var fs = require("fs-extra");
415
+ var pkgJson = require_package();
416
+ function findScript2(scriptName, searchDir = null) {
417
+ if (!searchDir) searchDir = path2.join(__dirname, "..");
418
+ let result;
419
+ const ignorePatterns = [
420
+ `**/*config*.{cjs,js,mjs}`,
421
+ `**/utils.{cjs,js,mjs}`,
422
+ `**/index.{cjs,js,mjs}`,
423
+ `**/chunk-*.{cjs,js,mjs}`,
424
+ `**/*.d.{ts,cts,mts}`
425
+ // ignore TypeScript declaration files
426
+ ];
427
+ try {
428
+ const pattern = `${scriptName}.{cjs,js,mjs}`;
429
+ const files = glob.sync(pattern, {
430
+ cwd: searchDir,
431
+ ignore: ignorePatterns,
432
+ absolute: true
433
+ });
434
+ if (files.length > 0) {
435
+ result = files[0];
436
+ } else {
437
+ if (pkgJson.bin[scriptName]) {
438
+ const find = [
439
+ path2.join(searchDir, pkgJson.bin[scriptName]),
440
+ path2.join(process.cwd(), "node_modules/binary-collections", pkgJson.bin[scriptName]),
441
+ path2.join(__dirname, pkgJson.bin[scriptName]),
442
+ path2.join(path2.join(__dirname, ".."), pkgJson.bin[scriptName]),
443
+ path2.join(path2.join(__dirname, "../.."), pkgJson.bin[scriptName])
444
+ ];
445
+ const filtered = find.filter((file) => fs.existsSync(file));
446
+ if (filtered.length > 0) {
447
+ result = filtered[0];
448
+ } else {
449
+ console.warn(`\u26A0\uFE0F Script "${scriptName}" not found in ${searchDir}.`);
450
+ console.warn(`\u{1F50D} Searched for: ${pattern} in ${searchDir}`);
451
+ }
452
+ }
453
+ }
454
+ } catch (error) {
455
+ console.error(`\u{1F50D} Error searching for script: ${error.message}`);
456
+ }
457
+ if (result && !result.includes("-cli")) {
458
+ const ext = path2.extname(result);
459
+ const filename = path2.basename(result, ext);
460
+ const cliFile = path2.join(path2.dirname(result), `${filename}-cli${ext}`);
461
+ if (fs.existsSync(cliFile)) {
462
+ result = cliFile;
463
+ console.log(`\u{1F50D} Found CLI version: ${cliFile}`);
464
+ }
465
+ }
466
+ return result;
467
+ }
468
+ module2.exports = findScript2;
469
+ module2.exports.default = findScript2;
470
+ }
471
+ });
472
+
473
+ // src/binary-collections/executeScript.cjs
474
+ var require_executeScript = __commonJS({
475
+ "src/binary-collections/executeScript.cjs"(exports2, module2) {
476
+ init_cjs_shims();
477
+ var { spawn } = require("child_process");
478
+ function executeScript2(scriptPath, args) {
479
+ console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}
480
+ `);
481
+ const child = spawn("node", [scriptPath, ...args], {
482
+ stdio: "inherit",
483
+ shell: true
484
+ });
485
+ child.on("error", (error) => {
486
+ console.error(`\u274C Error executing script: ${error.message}`);
487
+ process.exit(1);
488
+ });
489
+ child.on("close", (code) => {
490
+ process.exit(code);
491
+ });
492
+ }
493
+ module2.exports = executeScript2;
494
+ module2.exports.default = executeScript2;
495
+ }
496
+ });
497
+
498
+ // src/binary-collections/listScript.cjs
499
+ var require_listScript = __commonJS({
500
+ "src/binary-collections/listScript.cjs"(exports2, module2) {
501
+ init_cjs_shims();
502
+ var pkgJson = require_package();
503
+ var path2 = require("upath");
504
+ var fs = require("fs-extra");
505
+ function listScript(verbose = false) {
506
+ const keys = Object.keys(pkgJson.bin);
507
+ const results = [];
508
+ for (const scriptName of keys) {
509
+ if (verbose) {
510
+ console.log(`\u{1F50D} Finding script "${scriptName}" -> "${pkgJson.bin[scriptName]}"`);
511
+ }
512
+ const searchDirs = [
513
+ path2.join(__dirname, ".."),
514
+ path2.join(__dirname, "../.."),
515
+ path2.join(process.cwd(), "node_modules/binary-collections"),
516
+ __dirname
517
+ ];
518
+ let scriptPath;
519
+ for (const searchDir of searchDirs) {
520
+ scriptPath = path2.join(searchDir, pkgJson.bin[scriptName]);
521
+ if (fs.existsSync(scriptPath)) {
522
+ break;
523
+ }
524
+ }
525
+ if (!fs.existsSync(scriptPath)) {
526
+ console.warn(`\u26A0\uFE0F Script "${scriptName}" defined in package.json not found at ${scriptPath}`);
527
+ } else {
528
+ if (verbose) {
529
+ console.log(`\u2705 Found script "${scriptName}" at ${scriptPath}`);
530
+ }
531
+ results.push({
532
+ name: scriptName,
533
+ path: path2.relative(process.cwd(), scriptPath),
534
+ absolutePath: path2.resolve(scriptPath)
535
+ });
536
+ }
537
+ }
538
+ return results;
539
+ }
540
+ module2.exports = listScript;
541
+ module2.exports.default = listScript;
542
+ }
543
+ });
544
+
399
545
  // src/binary-collections.cjs
400
546
  init_cjs_shims();
401
- var { spawn } = require("child_process");
402
- var { glob } = require("glob");
403
547
  var path = require("upath");
404
548
  var { getArgs } = require_utils();
405
- var pkgJson = require_package();
406
- var fs = require("fs-extra");
549
+ var findScript = require_findScript();
550
+ var executeScript = require_executeScript();
407
551
  function showHelp() {
408
552
  console.log("\u{1F680} Binary Collections - Dynamic Script Runner");
409
553
  console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
@@ -422,79 +566,22 @@ function showHelp() {
422
566
  console.log(" --help, -h Show this help message");
423
567
  process.exit(0);
424
568
  }
425
- function findScript(scriptName, searchDir = null) {
426
- if (!searchDir) searchDir = __dirname;
427
- let result;
428
- const ignorePatterns = [
429
- `**/*config*.{cjs,js,mjs}`,
430
- `**/utils.{cjs,js,mjs}`,
431
- `**/index.{cjs,js,mjs}`,
432
- `**/chunk-*.{cjs,js,mjs}`,
433
- `**/*.d.{ts,cts,mts}`
434
- // ignore TypeScript declaration files
435
- ];
436
- try {
437
- const pattern = `${scriptName}.{cjs,js,mjs}`;
438
- const files = glob.sync(pattern, {
439
- cwd: searchDir,
440
- ignore: ignorePatterns,
441
- absolute: true
442
- });
443
- if (files.length > 0) {
444
- result = files[0];
445
- } else {
446
- if (pkgJson.bin[scriptName]) {
447
- const find = [
448
- path.join(searchDir, pkgJson.bin[scriptName]),
449
- path.join(process.cwd(), "node_modules/binary-collections", pkgJson.bin[scriptName]),
450
- path.join(__dirname, pkgJson.bin[scriptName]),
451
- path.join(path.join(__dirname, ".."), pkgJson.bin[scriptName])
452
- ];
453
- const filtered = find.filter((file) => fs.existsSync(file));
454
- if (filtered.length > 0) {
455
- result = filtered[0];
456
- } else {
457
- console.warn(`\u26A0\uFE0F Script "${scriptName}" not found in ${searchDir}.`);
458
- console.warn(`\u{1F50D} Searched for: ${pattern} in ${searchDir}`);
459
- }
460
- }
461
- }
462
- } catch (error) {
463
- console.error(`\u{1F50D} Error searching for script: ${error.message}`);
464
- }
465
- if (result && !result.includes("-cli")) {
466
- const ext = path.extname(result);
467
- const filename = path.basename(result, ext);
468
- const cliFile = path.join(path.dirname(result), `${filename}-cli${ext}`);
469
- if (fs.existsSync(cliFile)) {
470
- result = cliFile;
471
- console.log(`\u{1F50D} Found CLI version: ${cliFile}`);
472
- }
473
- }
474
- return result;
475
- }
476
- function executeScript(scriptPath, args) {
477
- console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}`);
478
- const child = spawn("node", [scriptPath, ...args], {
479
- stdio: "inherit",
480
- shell: true
481
- });
482
- child.on("error", (error) => {
483
- console.error(`\u274C Error executing script: ${error.message}`);
484
- process.exit(1);
485
- });
486
- child.on("close", (code) => {
487
- process.exit(code);
488
- });
489
- }
490
569
  function main() {
491
570
  const args = getArgs();
492
571
  const positional = args._ || [];
493
- console.log(`\u{1F50D} Parsed arguments: ${JSON.stringify(args)}`);
494
572
  if (positional.length === 0) {
495
573
  return showHelp();
496
574
  }
497
575
  const scriptName = positional[0];
576
+ if (scriptName === "list") {
577
+ const listScript = require_listScript();
578
+ const scripts = listScript();
579
+ console.log("\u{1F4CB} Available scripts:");
580
+ scripts.forEach((script) => {
581
+ console.log(` - ${path.basename(script.name)} -> ${script.path}`);
582
+ });
583
+ process.exit(0);
584
+ }
498
585
  const scriptArgs = [];
499
586
  scriptArgs.push(...positional.slice(1));
500
587
  Object.keys(args).forEach((key) => {