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
@@ -0,0 +1,35 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ __commonJS,
4
+ __require,
5
+ init_esm_shims
6
+ } from "./chunk-QQ4A6DLD.mjs";
7
+
8
+ // src/binary-collections/executeScript.cjs
9
+ var require_executeScript = __commonJS({
10
+ "src/binary-collections/executeScript.cjs"(exports, module) {
11
+ init_esm_shims();
12
+ var { spawn } = __require("child_process");
13
+ function executeScript(scriptPath, args) {
14
+ console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}
15
+ `);
16
+ const child = spawn("node", [scriptPath, ...args], {
17
+ stdio: "inherit",
18
+ shell: true
19
+ });
20
+ child.on("error", (error) => {
21
+ console.error(`\u274C Error executing script: ${error.message}`);
22
+ process.exit(1);
23
+ });
24
+ child.on("close", (code) => {
25
+ process.exit(code);
26
+ });
27
+ }
28
+ module.exports = executeScript;
29
+ module.exports.default = executeScript;
30
+ }
31
+ });
32
+
33
+ export {
34
+ require_executeScript
35
+ };
@@ -0,0 +1,47 @@
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/npm.ts
7
+ init_esm_shims();
8
+ import { spawn } from "cross-spawn";
9
+ function npmVersion() {
10
+ return new Promise((resolve, reject) => {
11
+ const process = spawn("npm", ["--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(`NPM version check failed with exit code ${code}`));
24
+ }
25
+ });
26
+ });
27
+ }
28
+ function cleanNpmCache() {
29
+ return new Promise((resolve, reject) => {
30
+ const process = spawn("npm", ["cache", "clean", "--force"], {
31
+ stdio: "inherit",
32
+ shell: true
33
+ });
34
+ process.on("close", (code) => {
35
+ if (code === 0) {
36
+ resolve(true);
37
+ } else {
38
+ reject(new Error(`NPM cache clean failed with exit code ${code}`));
39
+ }
40
+ });
41
+ });
42
+ }
43
+
44
+ export {
45
+ npmVersion,
46
+ cleanNpmCache
47
+ };
@@ -0,0 +1,180 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_config
4
+ } from "./chunk-G5UUEWUO.mjs";
5
+ import {
6
+ runChatGpt
7
+ } from "./chunk-GAGABICI.mjs";
8
+ import {
9
+ require_utils
10
+ } from "./chunk-5RTXZVCW.mjs";
11
+ import {
12
+ __toESM,
13
+ init_esm_shims
14
+ } from "./chunk-QQ4A6DLD.mjs";
15
+
16
+ // src/git-diff.js
17
+ init_esm_shims();
18
+ var import_config = __toESM(require_config(), 1);
19
+ import ansiColors from "ansi-colors";
20
+ import { execSync } from "child_process";
21
+ import fs from "fs-extra";
22
+ import { md5, writefile } from "sbg-utility";
23
+ import path from "upath";
24
+ import { fileURLToPath } from "url";
25
+ var import_utils = __toESM(require_utils(), 1);
26
+ var __filename = fileURLToPath(import.meta.url);
27
+ var __dirname = path.dirname(__filename);
28
+ var args = (0, import_utils.getArgs)();
29
+ var positional = args._ || [];
30
+ var FILENAME = md5((positional[0] || "default") + JSON.stringify(args));
31
+ var DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/${FILENAME}.txt`);
32
+ var GPT_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/gpt-${FILENAME}.txt`);
33
+ var CACHE_DIR = path.dirname(DIFF_OUTPUT);
34
+ var DIFF_OUTPUT_RELATIVE = path.relative(process.cwd(), DIFF_OUTPUT);
35
+ var GPT_DIFF_OUTPUT_RELATIVE = path.relative(process.cwd(), GPT_DIFF_OUTPUT);
36
+ fs.ensureDirSync(CACHE_DIR, { mode: 493 });
37
+ function showHelp() {
38
+ console.log("\u{1F4DD} Git Diff Helper");
39
+ console.log("\u{1F4C4} Usage:");
40
+ console.log(" \u{1F4C2} git-diff FILE Show staged diff of specified file");
41
+ console.log(" \u{1F4C2} git-diff --staged-only Show staged diff of all files");
42
+ console.log(" \u{1F4C2} git-diff -s | -S Same as --staged-only");
43
+ console.log(" \u{1F4C2} git-diff --unstaged FILE Show unstaged diff of specified file");
44
+ console.log(" \u{1F4C2} git-diff --unstaged Show unstaged diff of all files");
45
+ console.log(" \u{1F4C2} git-diff -u Same as --unstaged");
46
+ console.log(" \u{1F4C2} git-diff --ai Run ChatGPT automation for commit message");
47
+ console.log(" \u{1F4C2} git-diff --help | -h Show this help message");
48
+ console.log("");
49
+ console.log(`\u{1F4BE} Output is saved to: ${DIFF_OUTPUT_RELATIVE}`);
50
+ console.log(`\u{1F916} GPT prompt is saved to: ${GPT_DIFF_OUTPUT_RELATIVE}`);
51
+ process.exit(0);
52
+ }
53
+ function runGitDiff(command, successMessage, errorMessage) {
54
+ try {
55
+ console.log(`\u{1F50D} [i] Running command: ${command}`);
56
+ const result = execSync(command, {
57
+ encoding: "utf8",
58
+ maxBuffer: 1024 * 1024 * 10
59
+ // 10MB buffer to handle large diffs
60
+ });
61
+ if (!result || result.trim() === "") {
62
+ console.log(`\u2139\uFE0F [i] No changes found for the specified criteria`);
63
+ writefile(DIFF_OUTPUT, "# No changes found\n");
64
+ console.log(`\u2705 Empty diff saved to "${DIFF_OUTPUT_RELATIVE}"`);
65
+ return false;
66
+ }
67
+ writefile(DIFF_OUTPUT, result);
68
+ writefile(
69
+ GPT_DIFF_OUTPUT,
70
+ `Hello, ChatGPT!
71
+ Can you create a conventional commit message by diff content below:
72
+
73
+ \`\`\`${result}
74
+ \`\`\`
75
+
76
+ Give me result as codeblock with language "text" only.
77
+
78
+ Thank you!`
79
+ );
80
+ console.log(`\u2705 ${successMessage}`);
81
+ console.log(`\u{1F4BE} GPT diff prompt saved to "${ansiColors.green(GPT_DIFF_OUTPUT_RELATIVE)}"`);
82
+ return true;
83
+ } catch (error) {
84
+ console.error(`\u274C ${errorMessage}`);
85
+ console.error(`\u{1F4DD} Command: ${command}`);
86
+ console.error(`\u26A0\uFE0F Error: ${error.message}`);
87
+ if (error.message.includes("not a git repository")) {
88
+ console.error("\u{1F6A7} Make sure you are in a git repository");
89
+ }
90
+ process.exit(1);
91
+ }
92
+ }
93
+ function fileHasChanges(file, mode) {
94
+ const command = mode === "staged" ? `git diff --cached --quiet -- "${file}"` : `git diff --quiet -- "${file}"`;
95
+ try {
96
+ execSync(command, { stdio: "ignore" });
97
+ return false;
98
+ } catch (error) {
99
+ if (error.status === 1) {
100
+ return true;
101
+ }
102
+ throw error;
103
+ }
104
+ }
105
+ async function mainGitDiff() {
106
+ if (args.help || args.h) {
107
+ showHelp();
108
+ }
109
+ const useUnstaged = args.unstaged || args.u;
110
+ const fileFromFlag = typeof args.unstaged === "string" ? args.unstaged : typeof args.u === "string" ? args.u : null;
111
+ let hasDiff = false;
112
+ if (args["staged-only"] || args.s || args.S) {
113
+ hasDiff = runGitDiff(
114
+ "git --no-pager diff --staged",
115
+ `Full staged diff saved to "${ansiColors.green(DIFF_OUTPUT_RELATIVE)}"`,
116
+ "Failed to save staged diff"
117
+ );
118
+ } else {
119
+ const file = positional[0] || fileFromFlag;
120
+ if (!file) {
121
+ const fullDiffModeLabel = useUnstaged ? "unstaged" : "unstaged";
122
+ hasDiff = runGitDiff(
123
+ "git --no-pager diff",
124
+ `Full ${fullDiffModeLabel} diff saved to "${ansiColors.green(DIFF_OUTPUT_RELATIVE)}"`,
125
+ "Failed to save all diff's"
126
+ );
127
+ } else {
128
+ let fileDiffMode = useUnstaged ? "unstaged" : "staged";
129
+ if (!useUnstaged && !fileHasChanges(file, "staged") && fileHasChanges(file, "unstaged")) {
130
+ fileDiffMode = "unstaged";
131
+ }
132
+ hasDiff = runGitDiff(
133
+ fileDiffMode === "unstaged" ? `git --no-pager diff -- "${file}"` : `git --no-pager diff --cached -- "${file}"`,
134
+ `${fileDiffMode[0].toUpperCase() + fileDiffMode.slice(1)} diff of "${file}" saved to "${ansiColors.green(
135
+ DIFF_OUTPUT_RELATIVE
136
+ )}"`,
137
+ `Failed to generate ${fileDiffMode} diff for "${file}"`
138
+ );
139
+ }
140
+ }
141
+ if (hasDiff) {
142
+ const opencodePrompt = [
143
+ "",
144
+ "\u{1F916} OpenCode Prompt Helper",
145
+ "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
146
+ "",
147
+ "\u{1F4C4} App Prompt:",
148
+ ` Generate a conventional commit message from diff file: ${DIFF_OUTPUT}`,
149
+ "",
150
+ "\u{1F4BB} CLI Command:",
151
+ ` opencode run "Generate a conventional commit message from diff file ${DIFF_OUTPUT}"`,
152
+ ""
153
+ ];
154
+ const opencodePromptPath = (0, import_config.getTempPath)(`git-diff/opencode-${FILENAME}.txt`);
155
+ writefile(opencodePromptPath, opencodePrompt.join("\n"));
156
+ console.log(`\u{1F4A1} OpenCode prompt saved to "${ansiColors.green(path.relative(process.cwd(), opencodePromptPath))}"`);
157
+ }
158
+ if (args.ai) {
159
+ try {
160
+ await runChatGpt({ headless: true, questionFile: GPT_DIFF_OUTPUT });
161
+ } catch (error) {
162
+ console.error("\u274C Error running ChatGPT:", error.message);
163
+ console.error("\u{1F4A1} Try running with visible browser mode or check if Chrome is installed");
164
+ }
165
+ } else {
166
+ console.log("\u{1F4A1} Tip: Use --ai flag to generate commit message with ChatGPT");
167
+ }
168
+ }
169
+ var git_diff_default = runGitDiff;
170
+
171
+ export {
172
+ DIFF_OUTPUT,
173
+ GPT_DIFF_OUTPUT,
174
+ CACHE_DIR,
175
+ DIFF_OUTPUT_RELATIVE,
176
+ GPT_DIFF_OUTPUT_RELATIVE,
177
+ runGitDiff,
178
+ mainGitDiff,
179
+ git_diff_default
180
+ };
@@ -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
+ };
@@ -0,0 +1,39 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ isWindows
4
+ } from "./chunk-XPJGCDOD.mjs";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-QQ4A6DLD.mjs";
8
+
9
+ // src/cross-env/variable.ts
10
+ init_esm_shims();
11
+ var pathLikeEnvVarWhitelist = /* @__PURE__ */ new Set(["PATH", "NODE_PATH"]);
12
+ function replaceListDelimiters(varValue, varName = "") {
13
+ const targetSeparator = isWindows() ? ";" : ":";
14
+ if (!pathLikeEnvVarWhitelist.has(varName)) {
15
+ return varValue;
16
+ }
17
+ return varValue.replace(/(\\*):/g, (match, backslashes) => {
18
+ if (backslashes.length % 2) {
19
+ return match.substring(1);
20
+ }
21
+ return backslashes + targetSeparator;
22
+ });
23
+ }
24
+ function resolveEnvVars(varValue) {
25
+ const envUnixRegex = /(\\*)(\$(\w+)|\${(\w+)})/g;
26
+ return varValue.replace(envUnixRegex, (_, escapeChars, varNameWithDollarSign, varName, altVarName) => {
27
+ if (escapeChars.length % 2 === 1) {
28
+ return varNameWithDollarSign;
29
+ }
30
+ return escapeChars.substring(0, escapeChars.length / 2) + (process.env[varName || altVarName] || "");
31
+ });
32
+ }
33
+ function varValueConvert(originalValue, originalName) {
34
+ return resolveEnvVars(replaceListDelimiters(originalValue, originalName));
35
+ }
36
+
37
+ export {
38
+ varValueConvert
39
+ };
@@ -0,0 +1,14 @@
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/utils/isWindows.js
7
+ init_esm_shims();
8
+ function isWindows() {
9
+ return process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE || "");
10
+ }
11
+
12
+ export {
13
+ isWindows
14
+ };
@@ -0,0 +1,228 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ __commonJS
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // package.json
7
+ var require_package = __commonJS({
8
+ "package.json"(exports, module) {
9
+ module.exports = {
10
+ name: "binary-collections",
11
+ version: "2.0.12",
12
+ description: "Utility to clean any programming caches and more",
13
+ keywords: [
14
+ "cache",
15
+ "cleaner",
16
+ "utility"
17
+ ],
18
+ homepage: "https://www.webmanajemen.com/",
19
+ bugs: {
20
+ url: "https://github.com/dimaslanjaka/bin/issues"
21
+ },
22
+ license: "MIT",
23
+ author: {
24
+ name: "dimaslanjaka",
25
+ email: "dimaslanjaka@gmail.com",
26
+ url: "https://webmanajemen.com"
27
+ },
28
+ type: "module",
29
+ main: "lib/index.js",
30
+ exports: {
31
+ ".": {
32
+ require: {
33
+ default: "./lib/index.cjs",
34
+ types: "./lib/index.d.ts"
35
+ },
36
+ import: {
37
+ default: "./lib/index.mjs",
38
+ types: "./lib/index.d.mts"
39
+ }
40
+ },
41
+ "./package.json": "./package.json"
42
+ },
43
+ types: "lib/index.d.ts",
44
+ files: [
45
+ "binaries",
46
+ "lib",
47
+ "package.json",
48
+ "readme.md",
49
+ ".puppeterrc.cjs",
50
+ "requirements.txt"
51
+ ],
52
+ scripts: {
53
+ build: "tsc -b tsconfig.build.json && npm run build-tsup && npm run build-exports",
54
+ "build-exports": "node -r ts-node/register -r dotenv/config build.exports.mjs",
55
+ "build-packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
56
+ "build-rollup": "rollup -c rollup.config.js",
57
+ "build-tsup": "node build.tsup.js",
58
+ clean: "rimraf lib tmp/dist binaries",
59
+ pack: "node packer.cjs --yarn --filename=bin",
60
+ prepare: "husky",
61
+ "puppeteer:browser": "npx -y puppeteer browsers install chrome",
62
+ test: "test-cjs",
63
+ "test-coverage": "npm test --coverage --detectOpenHandles",
64
+ "test-esm": "test-esm",
65
+ "test-nrs": "npm test -- nrs build-**",
66
+ "test-watch": "npm test --watch",
67
+ "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",
68
+ "update:packer": "curl -L https://github.com/dimaslanjaka/nodejs-package-types/raw/main/packer.js > packer.cjs"
69
+ },
70
+ repository: {
71
+ type: "git",
72
+ url: "git+https://github.com/dimaslanjaka/bin"
73
+ },
74
+ dependencies: {
75
+ "@yarnpkg/core": "^4.7.0",
76
+ "ansi-colors": "^4.1.3",
77
+ axios: "^1.16.1",
78
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
79
+ dotenv: "^17.4.2",
80
+ "fs-extra": "^11.3.5",
81
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
82
+ glob: "^13.0.6",
83
+ minimatch: "^10.2.5",
84
+ minimist: "^1.2.8",
85
+ "ps-node": "^0.1.6",
86
+ puppeteer: "^25.0.4",
87
+ "puppeteer-extra": "^3.3.6",
88
+ "puppeteer-extra-plugin-stealth": "^2.11.2",
89
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
90
+ upath: "^3.0.7",
91
+ yaml: "^2.9.0",
92
+ yarn: "^1.22.22"
93
+ },
94
+ devDependencies: {
95
+ "@babel/core": "^7.29.0",
96
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
97
+ "@babel/preset-env": "^7.29.2",
98
+ "@babel/preset-typescript": "^7.28.5",
99
+ "@dimaslanjaka/eslint-base-config": "^1.0.1",
100
+ "@rollup/plugin-babel": "^7.0.0",
101
+ "@rollup/plugin-commonjs": "^29.0.2",
102
+ "@rollup/plugin-json": "^6.1.0",
103
+ "@rollup/plugin-node-resolve": "^16.0.3",
104
+ "@types/babel__core": "^7",
105
+ "@types/babel__preset-env": "^7",
106
+ "@types/fs-extra": "^11",
107
+ "@types/jest": "^30.0.0",
108
+ "@types/minimist": "^1",
109
+ "@types/mocha": "^10.0.10",
110
+ "@types/node": "^25.9.1",
111
+ "@types/ps-node": "^0",
112
+ "babel-jest": "^30.4.1",
113
+ "browser-sync": "^3.0.4",
114
+ "cross-env": "^10.1.0",
115
+ globals: "^17.6.0",
116
+ gulp: "^5.0.1",
117
+ husky: "^9.1.7",
118
+ jest: "^30.4.2",
119
+ "lint-staged": "^17.0.5",
120
+ marked: "^18.0.4",
121
+ rimraf: "^6.1.3",
122
+ rollup: "^4.60.4",
123
+ "ts-jest": "^29.4.9",
124
+ "ts-node": "^10.9.2",
125
+ tsup: "^8.5.1",
126
+ typescript: "^6.0.3"
127
+ },
128
+ directories: {
129
+ lib: "lib",
130
+ bin: "binaries"
131
+ },
132
+ workspaces: [
133
+ "packages/*"
134
+ ],
135
+ packageManager: "yarn@4.9.2",
136
+ resolutions: {
137
+ "@types/through2": "https://github.com/dimaslanjaka/nodejs-package-types/raw/refs/heads/through2/release/types-through2.tgz",
138
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
139
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
140
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
141
+ "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/69ca996fdeaac42c93dd590124996eff58b5d6c2/release/dimaslanjaka-eslint-base-config.tgz"
142
+ },
143
+ bin: {
144
+ "binary-collections": "lib/binary-collections.cjs",
145
+ "binary-executor": "binaries/binary-executor.cjs",
146
+ changelog: "lib/changelog.cjs",
147
+ chatgpt: "lib/free-chatgpt.cjs",
148
+ "clean-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
149
+ "clean-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
150
+ "clean-nodemodule": "binaries/clean-nodemodule.cjs",
151
+ "clean-nodemodules": "binaries/clean-nodemodules.cjs",
152
+ "clear-gh-caches": "lib/clean-github-actions-caches-cli.cjs",
153
+ "clear-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
154
+ "clear-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
155
+ copy: "lib/file/copy-cli.cjs",
156
+ "copy-file": "lib/file/copy-cli.cjs",
157
+ "del-gradle": "lib/del-gradle.cjs",
158
+ "del-node-modules": "lib/del-node-modules.cjs",
159
+ "del-nodemodules": "lib/del-node-modules.cjs",
160
+ "del-ps": "lib/del-ps.cjs",
161
+ "del-yarn-caches": "lib/del-yarn-caches.cjs",
162
+ "del-yarncaches": "lib/del-yarn-caches.cjs",
163
+ dev: "binaries/dev.cjs",
164
+ "dir-tree": "lib/print-directory-tree.cjs",
165
+ empty: "binaries/empty.cjs",
166
+ "exec-node": "lib/node-executor.cjs",
167
+ "execute-node": "lib/node-executor.cjs",
168
+ "find-node-modules": "lib/find-node-modules-cli.cjs",
169
+ "free-chatgpt": "lib/free-chatgpt.cjs",
170
+ "git-diff": "lib/git-diff-cli.cjs",
171
+ "git-fix": "lib/git-fix.cjs",
172
+ "git-purge": "lib/git-purge.cjs",
173
+ "git-reduce-size": "binaries/git-reduce-size.cjs",
174
+ "git-undo-commit": "lib/git/undo-commit.cjs",
175
+ "git-undo-staged": "lib/git/undo-staged.cjs",
176
+ javakill: "binaries/javakill.cjs",
177
+ "kill-night-crows": "lib/kill-night-crows.cjs",
178
+ "kill-process": "binaries/kill-process.cjs",
179
+ move: "lib/file/move-cli.cjs",
180
+ "move-file": "lib/file/move-cli.cjs",
181
+ "node-cache-cleaner": "lib/node-cache-cleaner-cli.cjs",
182
+ "node-copy": "lib/file/copy-cli.cjs",
183
+ "node-exec": "lib/node-executor.cjs",
184
+ "node-executor": "lib/node-executor.cjs",
185
+ "node-move": "lib/file/move-cli.cjs",
186
+ nodekill: "binaries/nodekill.cjs",
187
+ "npm-run-series": "lib/npm-run-series.cjs",
188
+ nrs: "lib/npm-run-series.cjs",
189
+ "package-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
190
+ "php-cs-fixer-staged": "lib/php-cs-fixer-staged.cjs",
191
+ "pkg-res-updater": "lib/package-resolutions-updater-cli.cjs",
192
+ "pkg-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
193
+ "print-directory-tree": "lib/print-directory-tree.cjs",
194
+ "print-tree": "lib/print-directory-tree.cjs",
195
+ prod: "binaries/prod.cjs",
196
+ py: "binaries/py.cjs",
197
+ "remove-module": "lib/remove-module.cjs",
198
+ "remove-node-module": "lib/rm-node-module-cli.cjs",
199
+ "remove-node-modules": "lib/rm-node-module-cli.cjs",
200
+ "rm-node-module": "lib/rm-node-module-cli.cjs",
201
+ "rm-node-modules": "lib/rm-node-module-cli.cjs",
202
+ rmfind: "binaries/rmfind.cjs",
203
+ rmpath: "lib/rmpath.cjs",
204
+ rmx: "binaries/rmx.cjs",
205
+ "run-s": "lib/npm-run-series.cjs",
206
+ "run-series": "lib/npm-run-series.cjs",
207
+ "submodule-install": "lib/submodule-install.cjs",
208
+ "submodule-remove": "lib/submodule-remove-cli.cjs",
209
+ "submodule-token": "binaries/submodule-token.cjs",
210
+ "test-cjs": "binaries/test-cjs.cjs",
211
+ "test-esm": "binaries/test-esm.cjs",
212
+ "undo-commit": "lib/git/undo-commit.cjs",
213
+ "undo-last-commit": "lib/git/undo-commit.cjs",
214
+ "undo-staged": "lib/git/undo-staged.cjs",
215
+ "y-install": "lib/yarn-per-branch-lock-installer.cjs",
216
+ "yarn-clean": "binaries/yarn-clean.cjs",
217
+ "yarn-install": "lib/yarn-per-branch-lock-installer.cjs",
218
+ "yarn-per-branch-lock-installer": "lib/yarn-per-branch-lock-installer.cjs",
219
+ "yarn-reinstall": "lib/yarn-reinstall.cjs",
220
+ yc: "binaries/yc.cjs"
221
+ }
222
+ };
223
+ }
224
+ });
225
+
226
+ export {
227
+ require_package
228
+ };