binary-collections 2.0.9 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/.puppeterrc.cjs +25 -0
  2. package/binaries/binary-executor.cjs +178 -0
  3. package/{bin → binaries}/clean-nodemodule +0 -0
  4. package/binaries/clean-nodemodule.cjs +178 -0
  5. package/binaries/clean-nodemodule.cmd +4 -0
  6. package/{bin → binaries}/clean-nodemodules +0 -0
  7. package/binaries/clean-nodemodules.cjs +178 -0
  8. package/binaries/clean-nodemodules.cmd +5 -0
  9. package/{bin → binaries}/dev +0 -0
  10. package/binaries/dev.cjs +178 -0
  11. package/{bin → binaries}/empty +0 -0
  12. package/binaries/empty.cjs +178 -0
  13. package/{bin → binaries}/git-reduce-size +0 -0
  14. package/binaries/git-reduce-size.cjs +178 -0
  15. package/binaries/javakill.cjs +178 -0
  16. package/{bin → binaries}/javakill.cmd +0 -0
  17. package/binaries/kill-night-crows.bat +7 -0
  18. package/binaries/kill-night-crows.ps1 +172 -0
  19. package/{bin → binaries}/kill-process +0 -0
  20. package/binaries/kill-process.cjs +178 -0
  21. package/binaries/nodekill.cjs +178 -0
  22. package/{bin → binaries}/nodekill.ps1 +0 -0
  23. package/{bin → binaries}/prod +0 -0
  24. package/binaries/prod.cjs +178 -0
  25. package/binaries/py +111 -0
  26. package/binaries/py.cjs +178 -0
  27. package/binaries/py.cmd +49 -0
  28. package/{bin → binaries}/rmfind +0 -0
  29. package/binaries/rmfind.cjs +178 -0
  30. package/{bin → binaries}/rmx +0 -0
  31. package/binaries/rmx.cjs +178 -0
  32. package/{bin → binaries}/submodule-token +0 -0
  33. package/binaries/submodule-token.cjs +178 -0
  34. package/binaries/test-cjs +10 -0
  35. package/binaries/test-cjs.cjs +178 -0
  36. package/binaries/test-cjs.cmd +11 -0
  37. package/binaries/yarn-clean +32 -0
  38. package/binaries/yarn-clean.cjs +178 -0
  39. package/binaries/yarn-clean.cmd +30 -0
  40. package/binaries/yarn-clean.py +148 -0
  41. package/docs-src/clean-github-actions-caches.md +26 -0
  42. package/docs-src/free-chatgpt.md +26 -0
  43. package/lib/binary-collections-config.cjs +3 -2
  44. package/lib/binary-collections-config.mjs +2 -2
  45. package/lib/binary-collections.cjs +513 -105
  46. package/lib/binary-collections.mjs +178 -117
  47. package/lib/changelog.cjs +64 -16
  48. package/lib/changelog.mjs +177 -171
  49. package/lib/{chunk-VVEZVNIV.mjs → chunk-2CBJCW7E.mjs} +3 -3
  50. package/lib/chunk-34IQDTLZ.mjs +27 -0
  51. package/lib/chunk-3HFFECCI.mjs +27 -0
  52. package/lib/chunk-4UHL4WVN.mjs +136 -0
  53. package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
  54. package/lib/chunk-6HHJRKFB.mjs +59 -0
  55. package/lib/chunk-6S4NXESK.mjs +26 -0
  56. package/lib/chunk-7XTEJHOE.mjs +193 -0
  57. package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
  58. package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
  59. package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
  60. package/lib/chunk-AJDD5DZM.mjs +109 -0
  61. package/lib/chunk-BZWVHODJ.mjs +62 -0
  62. package/lib/chunk-FCDQGYBF.mjs +136 -0
  63. package/lib/chunk-FKI7IEB5.mjs +172 -0
  64. package/lib/chunk-GEYA2USY.mjs +207 -0
  65. package/lib/chunk-GJTGHXRA.mjs +356 -0
  66. package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
  67. package/lib/chunk-ID2WBTE2.mjs +80 -0
  68. package/lib/chunk-JXFOHKDM.mjs +239 -0
  69. package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
  70. package/lib/chunk-N436BNBK.mjs +514 -0
  71. package/lib/chunk-NCXAP7AA.mjs +31 -0
  72. package/lib/chunk-PDN26I7O.mjs +188 -0
  73. package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
  74. package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
  75. package/lib/{chunk-ONIBBBQ3.mjs → chunk-RWLXRTYP.mjs} +4 -3
  76. package/lib/chunk-TOIVAQF7.mjs +136 -0
  77. package/lib/chunk-V5SKYJUB.mjs +136 -0
  78. package/lib/chunk-WSRETQCA.mjs +59 -0
  79. package/lib/chunk-XA3SNBPA.mjs +184 -0
  80. package/lib/chunk-XVBFFVCJ.mjs +209 -0
  81. package/lib/chunk-YYLIQQKF.mjs +31 -0
  82. package/lib/{chunk-APBWENF6.mjs → chunk-Z6JLYU2J.mjs} +63 -16
  83. package/lib/chunk-ZDMWBSYF.mjs +81 -0
  84. package/lib/clean-github-actions-caches.cjs +291 -148
  85. package/lib/clean-github-actions-caches.mjs +4 -3
  86. package/lib/del-gradle.cjs +63 -15
  87. package/lib/del-gradle.js +2 -1
  88. package/lib/del-gradle.mjs +2 -2
  89. package/lib/del-node-modules.cjs +143 -148
  90. package/lib/del-node-modules.js +210 -14
  91. package/lib/del-node-modules.mjs +149 -18
  92. package/lib/del-ps.cjs +90 -21
  93. package/lib/del-ps.js +3 -2
  94. package/lib/del-ps.mjs +7 -5
  95. package/lib/del-yarn-caches.cjs +87 -18
  96. package/lib/del-yarn-caches.js +38 -3
  97. package/lib/del-yarn-caches.mjs +6 -6
  98. package/lib/find-node-modules-cli.cjs +5 -4
  99. package/lib/find-node-modules-cli.js +2 -1
  100. package/lib/find-node-modules-cli.mjs +2 -2
  101. package/lib/find-node-modules.cjs +4 -3
  102. package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
  103. package/lib/find-node-modules.mjs +2 -2
  104. package/lib/free-chatgpt.cjs +754 -0
  105. package/lib/free-chatgpt.js +51 -0
  106. package/lib/free-chatgpt.mjs +50 -0
  107. package/lib/git/gitattributes.cjs +2 -1
  108. package/lib/git/{gitattributes.d.ts → gitattributes.d.cts} +7 -2
  109. package/lib/git/gitattributes.mjs +2 -2
  110. package/lib/git/line-endings.cjs +298 -64
  111. package/lib/git/line-endings.mjs +4 -4
  112. package/lib/git/normalize.cjs +26 -36
  113. package/lib/git/normalize.mjs +2 -2
  114. package/lib/git/permissions.cjs +77 -11
  115. package/lib/git/permissions.mjs +3 -3
  116. package/lib/git/pull-strategy.cjs +76 -9
  117. package/lib/git/pull-strategy.mjs +3 -3
  118. package/lib/git/undo-commit-cli.cjs +110 -0
  119. package/lib/git/undo-commit-cli.d.ts +1 -0
  120. package/lib/git/undo-commit-cli.js +4 -0
  121. package/lib/git/undo-commit-cli.mjs +14 -0
  122. package/lib/git/undo-commit.cjs +81 -0
  123. package/lib/git/undo-commit.d.cts +1 -0
  124. package/lib/git/undo-commit.mjs +7 -0
  125. package/lib/git/undo-staged-cli.cjs +110 -0
  126. package/lib/git/undo-staged-cli.d.ts +1 -0
  127. package/lib/git/undo-staged-cli.js +4 -0
  128. package/lib/git/undo-staged-cli.mjs +14 -0
  129. package/lib/git/undo-staged.cjs +81 -0
  130. package/lib/git/undo-staged.d.cts +1 -0
  131. package/lib/git/undo-staged.mjs +7 -0
  132. package/lib/git/user-config.cjs +313 -83
  133. package/lib/git/user-config.mjs +4 -4
  134. package/lib/git/utils.cjs +40 -60
  135. package/lib/git/utils.mjs +2 -2
  136. package/lib/git-diff-cli.cjs +857 -0
  137. package/lib/git-diff-cli.js +16 -0
  138. package/lib/git-diff-cli.mjs +17 -0
  139. package/lib/git-diff.cjs +862 -58
  140. package/lib/git-diff.d.ts +38 -83
  141. package/lib/git-diff.js +152 -0
  142. package/lib/git-diff.mjs +23 -85
  143. package/lib/git-fix.cjs +733 -97
  144. package/lib/git-fix.mjs +10 -9
  145. package/lib/git-purge.cjs +64 -16
  146. package/lib/git-purge.d.cts +1 -0
  147. package/lib/git-purge.mjs +43 -37
  148. package/lib/index.cjs +7 -6
  149. package/lib/index.d.ts +1 -1
  150. package/lib/index.js +2 -5
  151. package/lib/index.mjs +4 -4
  152. package/lib/kill-night-crows.cjs +87 -0
  153. package/lib/kill-night-crows.d.mts +1 -0
  154. package/lib/kill-night-crows.mjs +65 -0
  155. package/lib/npm-run-series.cjs +63 -16
  156. package/lib/npm-run-series.mjs +42 -36
  157. package/lib/package-resolutions-updater-cli.cjs +560 -0
  158. package/lib/package-resolutions-updater-cli.d.mts +1 -0
  159. package/lib/package-resolutions-updater-cli.mjs +124 -0
  160. package/lib/package-resolutions-updater.cjs +178 -158
  161. package/lib/package-resolutions-updater.d.mts +32 -1
  162. package/lib/package-resolutions-updater.mjs +17 -338
  163. package/lib/php-cs-fixer-staged.cjs +105 -0
  164. package/lib/php-cs-fixer-staged.d.cts +2 -0
  165. package/lib/php-cs-fixer-staged.mjs +117 -0
  166. package/lib/print-directory-tree.cjs +320 -207
  167. package/lib/print-directory-tree.mjs +3 -3
  168. package/lib/ps/connected-domain.cjs +25 -2
  169. package/lib/ps/connected-domain.d.ts +10 -2
  170. package/lib/ps/connected-domain.js +5 -2
  171. package/lib/ps/connected-domain.mjs +8 -4
  172. package/lib/ps/index.cjs +345 -322
  173. package/lib/ps/index.d.mjs +1 -1
  174. package/lib/ps/index.js +2 -1
  175. package/lib/ps/index.mjs +179 -182
  176. package/lib/ps/isWin.cjs +24 -1
  177. package/lib/ps/isWin.d.ts +1 -1
  178. package/lib/ps/isWin.js +3 -1
  179. package/lib/ps/isWin.mjs +8 -4
  180. package/lib/ps/table-parser.cjs +167 -159
  181. package/lib/ps/table-parser.d.ts +5 -0
  182. package/lib/ps/table-parser.js +10 -4
  183. package/lib/ps/table-parser.mjs +9 -5
  184. package/lib/remove-module.cjs +310 -0
  185. package/lib/remove-module.d.mts +1 -0
  186. package/lib/remove-module.mjs +111 -0
  187. package/lib/rmpath.cjs +322 -0
  188. package/lib/rmpath.d.mts +3 -0
  189. package/lib/rmpath.mjs +108 -0
  190. package/lib/submodule-install.cjs +311 -86
  191. package/lib/submodule-install.mjs +53 -5
  192. package/lib/submodule-remove-cli.cjs +107 -0
  193. package/lib/submodule-remove-cli.d.ts +1 -0
  194. package/lib/submodule-remove-cli.js +31 -0
  195. package/lib/submodule-remove-cli.mjs +28 -0
  196. package/lib/submodule-remove.cjs +46 -0
  197. package/lib/submodule-remove.d.cts +2 -0
  198. package/lib/submodule-remove.mjs +6 -0
  199. package/lib/utils/chatgpt.cjs +541 -0
  200. package/lib/utils/chatgpt.d.ts +31 -0
  201. package/lib/utils/chatgpt.js +708 -0
  202. package/lib/utils/chatgpt.mjs +8 -0
  203. package/lib/utils/findEnvFiles.cjs +107 -0
  204. package/lib/utils/findEnvFiles.d.ts +8 -0
  205. package/lib/utils/findEnvFiles.js +121 -0
  206. package/lib/utils/findEnvFiles.mjs +8 -0
  207. package/lib/utils/findWorkspaceRoot.cjs +70 -0
  208. package/lib/utils/findWorkspaceRoot.d.ts +9 -0
  209. package/lib/utils/findWorkspaceRoot.js +57 -0
  210. package/lib/utils/findWorkspaceRoot.mjs +40 -0
  211. package/lib/{utils.cjs → utils/index.cjs} +61 -14
  212. package/lib/{utils.mjs → utils/index.mjs} +2 -2
  213. package/lib/utils/isGithubTokenValid.cjs +64 -0
  214. package/lib/utils/isGithubTokenValid.d.ts +7 -0
  215. package/lib/utils/isGithubTokenValid.js +48 -0
  216. package/lib/utils/isGithubTokenValid.mjs +36 -0
  217. package/lib/yarn-reinstall.cjs +220 -38
  218. package/lib/yarn-reinstall.mjs +2 -2
  219. package/package.json +138 -104
  220. package/readme.md +48 -75
  221. package/releases/readme.md +36 -0
  222. package/requirements.txt +1 -0
  223. package/test/README.md +101 -0
  224. package/test/package.json +2 -1
  225. package/test-project/readme.md +26 -0
  226. package/tmp/test-repo/README.md +35 -0
  227. package/tmp/test-repo/package.json +1 -1
  228. package/tmp/typedoc/readme.md +320 -0
  229. package/bin/bash-dummy +0 -56
  230. package/bin/bash-dummy.cmd +0 -25
  231. package/bin/dir-tree.cmd +0 -7
  232. package/bin/git-diff +0 -4
  233. package/bin/git-diff.cmd +0 -7
  234. package/bin/git-fix +0 -36
  235. package/bin/git-fix.cmd +0 -7
  236. package/bin/rmpath +0 -70
  237. package/bin/submodule-install.txt +0 -118
  238. package/bin/submodule-remove +0 -46
  239. package/bin/submodule.txt +0 -172
  240. package/lib/binary-collections-config.d.mts +0 -18
  241. package/lib/binary-collections-config.js +0 -39
  242. package/lib/binary-collections.d.mts +0 -137
  243. package/lib/binary-collections.d.ts +0 -137
  244. package/lib/changelog.d.mts +0 -2
  245. package/lib/changelog.js +0 -226
  246. package/lib/chunk-DPKAJKFO.mjs +0 -171
  247. package/lib/chunk-G3THLIDT.mjs +0 -200
  248. package/lib/chunk-W3ENOM53.mjs +0 -18
  249. package/lib/clean-github-actions-caches.d.mts +0 -169
  250. package/lib/clean-github-actions-caches.d.ts +0 -169
  251. package/lib/del-gradle.d.mts +0 -2
  252. package/lib/del-node-modules.d.mts +0 -2
  253. package/lib/del-ps.d.mts +0 -2
  254. package/lib/del-yarn-caches.d.mts +0 -2
  255. package/lib/find-node-modules-cli.d.mts +0 -1
  256. package/lib/find-node-modules.d.mts +0 -13
  257. package/lib/find-node-modules.js +0 -53
  258. package/lib/git/gitattributes.d.mts +0 -35
  259. package/lib/git/gitattributes.js +0 -223
  260. package/lib/git/line-endings.d.mts +0 -83
  261. package/lib/git/line-endings.d.ts +0 -83
  262. package/lib/git/normalize.d.mts +0 -43
  263. package/lib/git/normalize.d.ts +0 -43
  264. package/lib/git/permissions.d.mts +0 -17
  265. package/lib/git/permissions.d.ts +0 -17
  266. package/lib/git/pull-strategy.d.mts +0 -15
  267. package/lib/git/pull-strategy.d.ts +0 -15
  268. package/lib/git/user-config.d.mts +0 -105
  269. package/lib/git/user-config.d.ts +0 -105
  270. package/lib/git/utils.d.mts +0 -69
  271. package/lib/git/utils.d.ts +0 -69
  272. package/lib/git-diff.d.mts +0 -84
  273. package/lib/git-fix.d.mts +0 -141
  274. package/lib/git-fix.d.ts +0 -141
  275. package/lib/git-purge.d.mts +0 -2
  276. package/lib/git-purge.js +0 -59
  277. package/lib/index.d.mts +0 -1
  278. package/lib/npm-run-series.d.mts +0 -1
  279. package/lib/npm-run-series.js +0 -86
  280. package/lib/package-resolutions-updater.d.ts +0 -352
  281. package/lib/print-directory-tree.d.mts +0 -234
  282. package/lib/print-directory-tree.d.ts +0 -234
  283. package/lib/ps/connected-domain.d.mts +0 -3
  284. package/lib/ps/index.d.d.mts +0 -26
  285. package/lib/ps/index.d.d.ts +0 -26
  286. package/lib/ps/index.d.mts +0 -26
  287. package/lib/ps/isWin.d.mts +0 -3
  288. package/lib/ps/table-parser.d.mts +0 -3
  289. package/lib/submodule-install.d.mts +0 -121
  290. package/lib/submodule-install.d.ts +0 -121
  291. package/lib/utils.d.mts +0 -40
  292. package/lib/utils.js +0 -181
  293. package/lib/yarn-reinstall.d.mts +0 -49
  294. package/lib/yarn-reinstall.d.ts +0 -49
  295. package/src/package-resolutions-updater.mjs +0 -350
  296. package/src/print-directory-tree.cjs +0 -234
  297. package/src/ps/index.js +0 -286
  298. package/src/yarn-reinstall.cjs +0 -49
  299. /package/{bin → binaries}/nodekill +0 -0
  300. /package/{bin → binaries}/nodekill.cmd +0 -0
  301. /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
  302. /package/lib/{changelog.d.ts → changelog.d.cts} +0 -0
  303. /package/lib/{git-purge.d.ts → free-chatgpt.d.ts} +0 -0
  304. /package/lib/{git-diff.d.cts → git-diff-cli.d.ts} +0 -0
  305. /package/lib/{npm-run-series.d.ts → npm-run-series.d.cts} +0 -0
  306. /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
@@ -1,220 +1,334 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
1
+ #!/usr/bin/env node
2
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
+ var __esm = (fn, res) => function __init() {
4
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
5
  };
11
- const fs = require("fs").promises;
12
- const path = require("path");
13
- const crypto = require("crypto");
14
- const { execSync } = require("child_process");
15
- const glob = require("glob");
16
- const { getArgs } = require("./utils.js");
17
- const sbgUtil = require("sbg-utility");
18
- const dotenv = require("dotenv");
19
- const projectDir = process.cwd();
20
- const envPath = path.join(projectDir, ".env");
21
- // Load the .env file using dotenv (ESM import)
22
- if (fs.existsSync(envPath))
23
- dotenv.config({ path: envPath });
24
- // Parse CLI arguments
25
- const argv = getArgs();
26
- // Main logic wrapped in an async function
27
- function main() {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- // Determine output file from CLI args
30
- let relativeOutputFile = "tmp/directory-structure.txt";
31
- if (argv.output || argv.o) {
32
- relativeOutputFile = argv.output || argv.o;
33
- }
34
- // If not absolute, resolve relative to projectDir
35
- const outputFile = path.isAbsolute(relativeOutputFile)
36
- ? relativeOutputFile
37
- : path.join(projectDir, relativeOutputFile);
38
- // Create or clear the hash file
39
- sbgUtil.writefile(outputFile, "");
40
- /**
41
- * List of file extensions to include
42
- * @type {string[]}
43
- */
44
- let extensions = [];
45
- if (argv.ext) {
46
- extensions = argv.ext
47
- .split(",")
48
- .map((e) => e.trim().replace(/^\./, ""))
49
- .filter(Boolean);
50
- }
51
- // Directories to exclude
52
- let excludeDirs = [
53
- "node_modules",
54
- "vendor",
55
- "venv",
56
- ".venv",
57
- ".git",
58
- ".hg",
59
- ".svn",
60
- ".idea",
61
- ".vscode",
62
- "dist",
63
- "build",
64
- "out",
65
- "coverage",
66
- ".DS_Store"
67
- ];
68
- if (argv.exclude) {
69
- const userExcludes = argv.exclude
70
- .split(",")
71
- .map((d) => d.trim())
72
- .filter(Boolean);
73
- if (argv["override-exclude"] || argv.we) {
74
- // Override the default excludes with user-provided ones
75
- excludeDirs = userExcludes;
6
+ var __commonJS = (cb, mod) => function __require() {
7
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
8
+ };
9
+
10
+ // node_modules/tsup/assets/cjs_shims.js
11
+ var init_cjs_shims = __esm({
12
+ "node_modules/tsup/assets/cjs_shims.js"() {
13
+ }
14
+ });
15
+
16
+ // src/utils/index.cjs
17
+ var require_utils = __commonJS({
18
+ "src/utils/index.cjs"(exports2, module2) {
19
+ init_cjs_shims();
20
+ var fs2 = require("fs");
21
+ var path2 = require("upath");
22
+ var argv2 = require("minimist")(process.argv.slice(2));
23
+ var { exec } = require("child_process");
24
+ var { URL: URL2 } = require("url");
25
+ var { promisify } = require("util");
26
+ var execAsync = promisify(exec);
27
+ async function parseGitRemotes() {
28
+ try {
29
+ const { stdout } = await execAsync("git remote -v");
30
+ const lines = stdout.split("\n");
31
+ const remotes = {};
32
+ lines.forEach((line) => {
33
+ const [name, url] = line.split(" ");
34
+ if (name && url) {
35
+ const [repoUrl] = url.split(" ");
36
+ try {
37
+ const parsedUrl = new URL2(repoUrl);
38
+ const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
39
+ if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
40
+ let repoPath = pathParts.join("/");
41
+ if (repoPath.endsWith(".git")) {
42
+ repoPath = repoPath.slice(0, -4);
43
+ }
44
+ remotes[name] = repoPath;
45
+ }
46
+ } catch (e) {
47
+ console.error("URL Parsing Error:", e.message);
76
48
  }
77
- else {
78
- // Append user-provided excludes to the default ones
79
- excludeDirs = excludeDirs.concat(userExcludes);
49
+ }
50
+ });
51
+ return remotes;
52
+ } catch (error) {
53
+ console.error("Error:", error.message);
54
+ return {};
55
+ }
56
+ }
57
+ module2.exports.parseGitRemotes = parseGitRemotes;
58
+ function joinPathPreserveDriveLetter(...segments) {
59
+ let fullPath = require("path").join(...segments);
60
+ if (/^[a-z]:\\/.test(fullPath)) {
61
+ fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
62
+ }
63
+ return fullPath;
64
+ }
65
+ module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
66
+ function getArgs2() {
67
+ return argv2;
68
+ }
69
+ module2.exports.getArgs = getArgs2;
70
+ function del(fullPath) {
71
+ try {
72
+ if (!fs2.existsSync(fullPath)) return;
73
+ const stat = fs2.lstatSync(fullPath);
74
+ if (stat.isSymbolicLink()) {
75
+ try {
76
+ fs2.unlinkSync(fullPath);
77
+ console.log("deleted symlink", fullPath);
78
+ } catch (e) {
79
+ console.log("failed delete symlink", fullPath, e && e.message);
80
+ }
81
+ return;
82
+ }
83
+ if (stat.isDirectory()) {
84
+ const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
85
+ for (let i = 0; i < subdir.length; i++) {
86
+ del(subdir[i]);
87
+ }
88
+ try {
89
+ fs2.rmdirSync(fullPath);
90
+ console.log("deleted", fullPath);
91
+ } catch (e) {
92
+ try {
93
+ fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
94
+ console.log("deleted", fullPath);
95
+ } catch (ee) {
96
+ console.log("failed delete", fullPath, ee && ee.message);
80
97
  }
98
+ }
99
+ return;
81
100
  }
82
- // Convert excludeDirs into glob ignore patterns
83
- const ignorePatterns = excludeDirs.map((dir) => `**/${dir}/**`);
84
- // Initialize an array to hold the formatted outputs
85
- let hashArray = [];
86
- // Helper function to hash and add file if not already processed
87
- const processedFiles = new Set();
88
- /**
89
- * Hashes a file and pushes its relative path and hash to the hashArray.
90
- * @param {string} file - The absolute path to the file.
91
- * @returns {Promise<void>} Resolves when the file has been processed and added to hashArray.
92
- */
93
- function hashAndPush(file) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- if (processedFiles.has(file))
96
- return;
97
- processedFiles.add(file);
98
- let relativePath = path.relative(projectDir, file);
99
- relativePath = relativePath.split(path.sep).join("/");
100
- try {
101
- const stats = yield fs.stat(file);
102
- const pseudoHash = `${stats.size}-${stats.mtimeMs}`;
103
- const hash = crypto.createHash("sha256").update(pseudoHash).digest("hex");
104
- hashArray.push(`${relativePath} ${hash.slice(0, 8)}`);
105
- }
106
- catch (err) {
107
- console.error(`Error processing file: ${file}`, err instanceof Error ? err.message : "<unknown error>");
108
- if (err && err.code === "ENOENT") {
109
- hashArray.push(`${relativePath} <file not found>`);
110
- }
111
- else {
112
- hashArray.push(`${relativePath} <error: ${err && err.code ? `code ${err.code}` : "unknown"}>`);
113
- }
114
- }
115
- });
101
+ try {
102
+ fs2.unlinkSync(fullPath);
103
+ console.log("deleted", fullPath);
104
+ } catch (e) {
105
+ try {
106
+ fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
107
+ console.log("deleted", fullPath);
108
+ } catch (ee) {
109
+ console.log("failed delete", fullPath, ee && ee.message);
110
+ }
116
111
  }
117
- // Collect all files to process (extensions + special files)
118
- const initialFiles = [
119
- path.join(projectDir, "package.json"),
120
- path.join(projectDir, "composer.json"),
121
- path.join(projectDir, "requirements.txt")
122
- ];
123
- let patterns = [];
124
- if (argv.pattern) {
125
- if (Array.isArray(argv.pattern)) {
126
- patterns = argv.pattern.map((p) => p.trim()).filter(Boolean);
112
+ } catch (err) {
113
+ console.log("failed delete", fullPath, err && err.message);
114
+ }
115
+ }
116
+ module2.exports.del = del;
117
+ function delStream(globStream) {
118
+ globStream.stream().on("data", (result) => {
119
+ const fullPath = path2.resolve(process.cwd(), result);
120
+ try {
121
+ if (fs2.existsSync(fullPath)) {
122
+ const stat = fs2.lstatSync(fullPath);
123
+ if (stat.isSymbolicLink()) {
124
+ try {
125
+ fs2.unlinkSync(fullPath);
126
+ console.log("deleted symlink", fullPath);
127
+ } catch (e) {
128
+ console.log("failed delete symlink", fullPath, e && e.message);
129
+ }
130
+ return;
127
131
  }
128
- else {
129
- patterns = [argv.pattern.trim()];
132
+ if (stat.isDirectory()) {
133
+ const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
134
+ for (let i = 0; i < subdir.length; i++) {
135
+ del(subdir[i]);
136
+ }
130
137
  }
138
+ }
139
+ del(fullPath);
140
+ } catch (err) {
141
+ console.log("failed processing", fullPath, err && err.message);
131
142
  }
132
- else if (extensions.length === 0) {
133
- patterns = ["**/*.*"];
134
- }
135
- else {
136
- patterns = extensions.map((ext) => `**/*.${ext}`);
143
+ });
144
+ }
145
+ module2.exports.delStream = delStream;
146
+ function getFileTreeString(hashArray) {
147
+ const tree = {};
148
+ const hashMap = {};
149
+ for (const entry of hashArray) {
150
+ const [filePath, hash] = entry.split(" ");
151
+ hashMap[filePath] = hash;
152
+ const parts = filePath.split("/");
153
+ let current = tree;
154
+ for (let i = 0; i < parts.length; i++) {
155
+ const part = parts[i];
156
+ if (i === parts.length - 1) {
157
+ current[part] = null;
158
+ } else {
159
+ current[part] = current[part] || {};
160
+ current = current[part];
161
+ }
137
162
  }
138
- const globFiles = glob.sync(patterns.length === 1 ? patterns[0] : `{${patterns.join(",")}}`, {
139
- cwd: projectDir,
140
- ignore: ignorePatterns,
141
- absolute: true,
142
- nodir: true
163
+ }
164
+ function printNode(node, prefix = "", parentPath = "") {
165
+ const keys = Object.keys(node).sort();
166
+ let lines = [];
167
+ keys.forEach((key, idx) => {
168
+ const isLast = idx === keys.length - 1;
169
+ const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
170
+ const currentPath = parentPath ? parentPath + "/" + key : key;
171
+ if (node[key] === null) {
172
+ lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
173
+ } else {
174
+ lines.push(prefix + branch + key + "/");
175
+ lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "\u2502 "), currentPath));
176
+ }
143
177
  });
144
- const allFiles = new Set([...initialFiles, ...globFiles]);
145
- // Hash all unique files
146
- yield Promise.all(Array.from(allFiles).map(hashAndPush));
147
- // Sort the hashArray by file paths
148
- hashArray.sort((a, b) => a.localeCompare(b));
149
- /**
150
- * Generates a directory/file tree string from a hash array of file paths and hashes.
151
- *
152
- * @param {string[]} hashArray - Array of strings in the format 'relative/path/to/file hash'.
153
- * @returns {string} The directory/file tree as a string, with file hashes.
154
- */
155
- function getFileTreeString(hashArray) {
156
- const tree = {};
157
- // Map file paths to hashes for quick lookup
158
- const hashMap = {};
159
- for (const entry of hashArray) {
160
- const [filePath, hash] = entry.split(" ");
161
- hashMap[filePath] = hash;
162
- const parts = filePath.split("/");
163
- let current = tree;
164
- for (let i = 0; i < parts.length; i++) {
165
- const part = parts[i];
166
- if (i === parts.length - 1) {
167
- current[part] = null; // file
168
- }
169
- else {
170
- current[part] = current[part] || {};
171
- current = current[part];
172
- }
173
- }
174
- }
175
- /**
176
- * Recursively builds the tree string for a given node.
177
- *
178
- * @param {Object} node - The current node in the tree.
179
- * @param {string} prefix - The prefix for the current tree level.
180
- * @param {string} parentPath - The path to the current node.
181
- * @returns {string[]} Array of lines representing the tree structure.
182
- */
183
- function printNode(node, prefix = "", parentPath = "") {
184
- const keys = Object.keys(node).sort();
185
- let lines = [];
186
- keys.forEach((key, idx) => {
187
- const isLast = idx === keys.length - 1;
188
- const branch = isLast ? "└── " : "├── ";
189
- const currentPath = parentPath ? parentPath + "/" + key : key;
190
- if (node[key] === null) {
191
- // file: show hash
192
- lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
193
- }
194
- else {
195
- lines.push(prefix + branch + key + "/");
196
- lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "│ "), currentPath));
197
- }
198
- });
199
- return lines;
200
- }
201
- return printNode(tree, "", "").join("\n");
202
- }
203
- // Write directory/file tree to the output file (hashes are included in the tree)
204
- const fileTreeString = getFileTreeString(hashArray);
205
- yield fs.writeFile(outputFile, fileTreeString + "\n", "utf-8");
206
- // Add the hash file to the commit if --git-add is present
207
- if (argv["git-add"]) {
208
- execSync(`git add ${relativeOutputFile}`);
209
- console.log(`Directory tree written to ${relativeOutputFile} and staged for git.`);
178
+ return lines;
179
+ }
180
+ return printNode(tree, "", "").join("\n");
181
+ }
182
+ module2.exports.getFileTreeString = getFileTreeString;
183
+ var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
184
+ module2.exports.delay = delay;
185
+ }
186
+ });
187
+
188
+ // src/print-directory-tree.cjs
189
+ init_cjs_shims();
190
+ var fs = require("fs").promises;
191
+ var path = require("path");
192
+ var crypto = require("crypto");
193
+ var { execSync } = require("child_process");
194
+ var glob = require("glob");
195
+ var { getArgs } = require_utils();
196
+ var sbgUtil = require("sbg-utility");
197
+ var dotenv = require("dotenv");
198
+ var projectDir = process.cwd();
199
+ var envPath = path.join(projectDir, ".env");
200
+ if (fs.existsSync(envPath)) dotenv.config({ path: envPath, quiet: true, override: true });
201
+ var argv = getArgs();
202
+ async function main() {
203
+ let relativeOutputFile = "tmp/directory-structure.txt";
204
+ if (argv.output || argv.o) {
205
+ relativeOutputFile = argv.output || argv.o;
206
+ }
207
+ const outputFile = path.isAbsolute(relativeOutputFile) ? relativeOutputFile : path.join(projectDir, relativeOutputFile);
208
+ sbgUtil.writefile(outputFile, "");
209
+ let extensions = [];
210
+ if (argv.ext) {
211
+ extensions = argv.ext.split(",").map((e) => e.trim().replace(/^\./, "")).filter(Boolean);
212
+ }
213
+ let excludeDirs = [
214
+ "node_modules",
215
+ "vendor",
216
+ "venv",
217
+ ".venv",
218
+ ".git",
219
+ ".hg",
220
+ ".svn",
221
+ ".idea",
222
+ ".vscode",
223
+ "dist",
224
+ "build",
225
+ "out",
226
+ "coverage",
227
+ ".DS_Store"
228
+ ];
229
+ if (argv.exclude) {
230
+ const userExcludes = argv.exclude.split(",").map((d) => d.trim()).filter(Boolean);
231
+ if (argv["override-exclude"] || argv.we) {
232
+ excludeDirs = userExcludes;
233
+ } else {
234
+ excludeDirs = excludeDirs.concat(userExcludes);
235
+ }
236
+ }
237
+ const ignorePatterns = excludeDirs.map((dir) => `**/${dir}/**`);
238
+ let hashArray = [];
239
+ const processedFiles = /* @__PURE__ */ new Set();
240
+ async function hashAndPush(file) {
241
+ if (processedFiles.has(file)) return;
242
+ processedFiles.add(file);
243
+ let relativePath = path.relative(projectDir, file);
244
+ relativePath = relativePath.split(path.sep).join("/");
245
+ try {
246
+ const stats = await fs.stat(file);
247
+ const pseudoHash = `${stats.size}-${stats.mtimeMs}`;
248
+ const hash = crypto.createHash("sha256").update(pseudoHash).digest("hex");
249
+ hashArray.push(`${relativePath} ${hash.slice(0, 8)}`);
250
+ } catch (err) {
251
+ console.error(`Error processing file: ${file}`, err instanceof Error ? err.message : "<unknown error>");
252
+ if (err && err.code === "ENOENT") {
253
+ hashArray.push(`${relativePath} <file not found>`);
254
+ } else {
255
+ hashArray.push(`${relativePath} <error: ${err && err.code ? `code ${err.code}` : "unknown"}>`);
256
+ }
257
+ }
258
+ }
259
+ const initialFiles = [
260
+ path.join(projectDir, "package.json"),
261
+ path.join(projectDir, "composer.json"),
262
+ path.join(projectDir, "requirements.txt")
263
+ ];
264
+ let patterns = [];
265
+ if (argv.pattern) {
266
+ if (Array.isArray(argv.pattern)) {
267
+ patterns = argv.pattern.map((p) => p.trim()).filter(Boolean);
268
+ } else {
269
+ patterns = [argv.pattern.trim()];
270
+ }
271
+ } else if (extensions.length === 0) {
272
+ patterns = ["**/*.*"];
273
+ } else {
274
+ patterns = extensions.map((ext) => `**/*.${ext}`);
275
+ }
276
+ const globFiles = glob.sync(patterns.length === 1 ? patterns[0] : `{${patterns.join(",")}}`, {
277
+ cwd: projectDir,
278
+ ignore: ignorePatterns,
279
+ absolute: true,
280
+ nodir: true
281
+ });
282
+ const allFiles = /* @__PURE__ */ new Set([...initialFiles, ...globFiles]);
283
+ await Promise.all(Array.from(allFiles).map(hashAndPush));
284
+ hashArray.sort((a, b) => a.localeCompare(b));
285
+ function getFileTreeString(hashArray2) {
286
+ const tree = {};
287
+ const hashMap = {};
288
+ for (const entry of hashArray2) {
289
+ const [filePath, hash] = entry.split(" ");
290
+ hashMap[filePath] = hash;
291
+ const parts = filePath.split("/");
292
+ let current = tree;
293
+ for (let i = 0; i < parts.length; i++) {
294
+ const part = parts[i];
295
+ if (i === parts.length - 1) {
296
+ current[part] = null;
297
+ } else {
298
+ current[part] = current[part] || {};
299
+ current = current[part];
210
300
  }
211
- else {
212
- console.log(`Directory tree written to ${relativeOutputFile}.`);
301
+ }
302
+ }
303
+ function printNode(node, prefix = "", parentPath = "") {
304
+ const keys = Object.keys(node).sort();
305
+ let lines = [];
306
+ keys.forEach((key, idx) => {
307
+ const isLast = idx === keys.length - 1;
308
+ const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
309
+ const currentPath = parentPath ? parentPath + "/" + key : key;
310
+ if (node[key] === null) {
311
+ lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
312
+ } else {
313
+ lines.push(prefix + branch + key + "/");
314
+ lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "\u2502 "), currentPath));
213
315
  }
214
- });
316
+ });
317
+ return lines;
318
+ }
319
+ return printNode(tree, "", "").join("\n");
320
+ }
321
+ const fileTreeString = getFileTreeString(hashArray);
322
+ await fs.writeFile(outputFile, fileTreeString + "\n", "utf-8");
323
+ if (argv["git-add"]) {
324
+ execSync(`git add ${relativeOutputFile}`);
325
+ console.log(`Directory tree written to ${relativeOutputFile} and staged for git.`);
326
+ } else {
327
+ console.log(`Directory tree written to ${relativeOutputFile}.`);
328
+ }
215
329
  }
216
330
  if (argv.help || argv.h) {
217
- console.log(`
331
+ console.log(`
218
332
  Usage: node print-directory-tree.cjs [options]
219
333
 
220
334
  Options:
@@ -232,10 +346,9 @@ Examples:
232
346
  node print-directory-tree.cjs --exclude=dist,build
233
347
  node print-directory-tree.cjs --output=tmp/tree.txt
234
348
  `);
235
- process.exit(0);
349
+ process.exit(0);
236
350
  }
237
- // Execute the main function
238
351
  main().catch((err) => {
239
- console.error(err);
240
- process.exit(1);
352
+ console.error(err);
353
+ process.exit(1);
241
354
  });
@@ -1,12 +1,12 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_utils
4
- } from "./chunk-APBWENF6.mjs";
4
+ } from "./chunk-Z6JLYU2J.mjs";
5
5
  import {
6
6
  __commonJS,
7
7
  __require,
8
8
  init_esm_shims
9
- } from "./chunk-AASHBCRW.mjs";
9
+ } from "./chunk-QQ4A6DLD.mjs";
10
10
 
11
11
  // src/print-directory-tree.cjs
12
12
  var require_print_directory_tree = __commonJS({
@@ -22,7 +22,7 @@ var require_print_directory_tree = __commonJS({
22
22
  var dotenv = __require("dotenv");
23
23
  var projectDir = process.cwd();
24
24
  var envPath = path.join(projectDir, ".env");
25
- if (fs.existsSync(envPath)) dotenv.config({ path: envPath });
25
+ if (fs.existsSync(envPath)) dotenv.config({ path: envPath, quiet: true, override: true });
26
26
  var argv = getArgs();
27
27
  async function main() {
28
28
  let relativeOutputFile = "tmp/directory-structure.txt";
@@ -1,5 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
1
19
  // src/ps/connected-domain.js
2
- module.exports = function(tdArray, indicator, hardlink) {
20
+ var connected_domain_exports = {};
21
+ __export(connected_domain_exports, {
22
+ default: () => connected_domain_default
23
+ });
24
+ module.exports = __toCommonJS(connected_domain_exports);
25
+ function connected_domain_default(tdArray, indicator, hardlink) {
3
26
  hardlink = hardlink || false;
4
27
  if (!tdArray) {
5
28
  throw new Error("tdArray must be provided");
@@ -153,4 +176,4 @@ module.exports = function(tdArray, indicator, hardlink) {
153
176
  }
154
177
  }
155
178
  return result;
156
- };
179
+ }
@@ -1,2 +1,10 @@
1
- declare function _exports(tdArray: any[], indicator: Function, hardlink: boolean): any;
2
- export = _exports;
1
+ /**
2
+ * calculate all the connected domains based on the given two-dimensional array
3
+ */
4
+ /**
5
+ * @param {Array} tdArray
6
+ * @param {Function} indicator It receive the raw point data as the first parameter and decide what kind of domain the point belongs to, it should return a string as a domain identifier.
7
+ * @param {Boolean} hardlink If use hard link. Default to false.
8
+ * @return {Object} [{ bounding: { w: 12, h: 19, x: 0, y: 1 }, points: [ { x: 1, y: 2, point: {} } ], identifier: 'blue', domainId: 1 } ]
9
+ */
10
+ export default function _default(tdArray: any[], indicator: Function, hardlink: boolean): Object;
@@ -1,13 +1,16 @@
1
+ "use strict";
1
2
  /**
2
3
  * calculate all the connected domains based on the given two-dimensional array
3
4
  */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = default_1;
4
7
  /**
5
8
  * @param {Array} tdArray
6
9
  * @param {Function} indicator It receive the raw point data as the first parameter and decide what kind of domain the point belongs to, it should return a string as a domain identifier.
7
10
  * @param {Boolean} hardlink If use hard link. Default to false.
8
11
  * @return {Object} [{ bounding: { w: 12, h: 19, x: 0, y: 1 }, points: [ { x: 1, y: 2, point: {} } ], identifier: 'blue', domainId: 1 } ]
9
12
  */
10
- module.exports = function (tdArray, indicator, hardlink) {
13
+ function default_1(tdArray, indicator, hardlink) {
11
14
  hardlink = hardlink || false;
12
15
  if (!tdArray) {
13
16
  throw new Error("tdArray must be provided");
@@ -199,4 +202,4 @@ module.exports = function (tdArray, indicator, hardlink) {
199
202
  }
200
203
  }
201
204
  return result;
202
- };
205
+ }