binary-collections 2.0.10 → 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 (290) hide show
  1. package/.opencode/package.json +5 -0
  2. package/.puppeterrc.cjs +25 -0
  3. package/binaries/binary-executor.cjs +138 -3
  4. package/binaries/clean-nodemodule.cjs +138 -3
  5. package/binaries/clean-nodemodules.cjs +138 -3
  6. package/binaries/dev.cjs +138 -3
  7. package/binaries/empty.cjs +138 -3
  8. package/binaries/git-reduce-size.cjs +138 -3
  9. package/binaries/javakill.cjs +138 -3
  10. package/binaries/kill-night-crows.bat +7 -0
  11. package/binaries/kill-night-crows.ps1 +172 -0
  12. package/binaries/kill-process.cjs +138 -3
  13. package/binaries/nodekill.cjs +138 -3
  14. package/binaries/prod.cjs +138 -3
  15. package/binaries/py +111 -0
  16. package/binaries/py.cjs +178 -0
  17. package/binaries/py.cmd +49 -0
  18. package/binaries/rmfind.cjs +138 -3
  19. package/binaries/rmx +15 -1
  20. package/binaries/rmx.cjs +138 -3
  21. package/binaries/rmx.cmd +12 -0
  22. package/binaries/submodule-token.cjs +138 -3
  23. package/binaries/test-cjs +18 -0
  24. package/binaries/test-cjs.cjs +178 -0
  25. package/binaries/test-cjs.cmd +26 -0
  26. package/binaries/test-esm +16 -0
  27. package/binaries/test-esm.cjs +178 -0
  28. package/binaries/test-esm.cmd +23 -0
  29. package/binaries/yarn-clean +32 -0
  30. package/binaries/yarn-clean.cjs +178 -0
  31. package/binaries/yarn-clean.cmd +30 -0
  32. package/binaries/yarn-clean.py +166 -0
  33. package/binaries/yc +110 -0
  34. package/binaries/yc.cjs +178 -0
  35. package/lib/binary-collections/config.cjs +126 -0
  36. package/lib/binary-collections/config.mjs +7 -0
  37. package/lib/binary-collections/executeScript.cjs +19 -0
  38. package/lib/binary-collections/executeScript.d.cts +12 -0
  39. package/lib/binary-collections/executeScript.mjs +6 -0
  40. package/lib/binary-collections/findScript.cjs +284 -0
  41. package/lib/binary-collections/findScript.d.cts +12 -0
  42. package/lib/binary-collections/findScript.mjs +7 -0
  43. package/lib/binary-collections/listScript.cjs +266 -0
  44. package/lib/binary-collections/listScript.d.cts +19 -0
  45. package/lib/binary-collections/listScript.mjs +7 -0
  46. package/lib/binary-collections.cjs +342 -194
  47. package/lib/binary-collections.mjs +22 -268
  48. package/lib/changelog.cjs +61 -13
  49. package/lib/changelog.mjs +1 -1
  50. package/lib/{chunk-E6FDDAOO.mjs → chunk-2LSRSEXF.mjs} +2 -2
  51. package/lib/chunk-34IQDTLZ.mjs +27 -0
  52. package/lib/chunk-3HFFECCI.mjs +27 -0
  53. package/lib/{chunk-V3N3JEUF.mjs → chunk-5RTXZVCW.mjs} +60 -13
  54. package/lib/chunk-66KDU4TX.mjs +268 -0
  55. package/lib/chunk-6PU7BAHB.mjs +61 -0
  56. package/lib/{chunk-6HHJRKFB.mjs → chunk-BZWVHODJ.mjs} +4 -1
  57. package/lib/chunk-C6D2TTYU.mjs +32 -0
  58. package/lib/chunk-FB2WKVJD.mjs +158 -0
  59. package/lib/{chunk-66PAU5PS.mjs → chunk-G5UUEWUO.mjs} +9 -5
  60. package/lib/{chunk-HO6GHCOB.mjs → chunk-GAGABICI.mjs} +198 -63
  61. package/lib/chunk-H44UWUFY.mjs +105 -0
  62. package/lib/chunk-NCZPTKDV.mjs +79 -0
  63. package/lib/chunk-NGFK3EYW.mjs +28 -0
  64. package/lib/chunk-NVEG3LEZ.mjs +143 -0
  65. package/lib/chunk-OGXVGBRI.mjs +29 -0
  66. package/lib/chunk-OXV52GD5.mjs +62 -0
  67. package/lib/{chunk-PDSXF5HY.mjs → chunk-PDN26I7O.mjs} +1 -0
  68. package/lib/chunk-PXBMHE7O.mjs +35 -0
  69. package/lib/chunk-R5FJOR63.mjs +47 -0
  70. package/lib/chunk-SPTECFE5.mjs +180 -0
  71. package/lib/chunk-UXCFNAR6.mjs +55 -0
  72. package/lib/chunk-V2IBPCEV.mjs +39 -0
  73. package/lib/chunk-XPJGCDOD.mjs +14 -0
  74. package/lib/{chunk-AI4CVPJ7.mjs → chunk-ZDMWBSYF.mjs} +4 -4
  75. package/lib/chunk-ZOWVMII3.mjs +228 -0
  76. package/lib/clean-github-actions-caches-cli.cjs +465 -0
  77. package/lib/clean-github-actions-caches-cli.d.cts +1 -0
  78. package/lib/clean-github-actions-caches-cli.mjs +56 -0
  79. package/lib/clean-github-actions-caches.cjs +152 -160
  80. package/lib/clean-github-actions-caches.d.cts +15 -1
  81. package/lib/clean-github-actions-caches.mjs +4 -130
  82. package/lib/cross-env/command.cjs +63 -0
  83. package/lib/cross-env/command.d.ts +8 -0
  84. package/lib/cross-env/command.js +45 -0
  85. package/lib/cross-env/command.mjs +9 -0
  86. package/lib/cross-env/index.cjs +178 -0
  87. package/lib/cross-env/index.d.ts +8 -0
  88. package/lib/cross-env/index.js +102 -0
  89. package/lib/cross-env/index.mjs +101 -0
  90. package/lib/cross-env/variable.cjs +60 -0
  91. package/lib/cross-env/variable.d.ts +7 -0
  92. package/lib/cross-env/variable.js +59 -0
  93. package/lib/cross-env/variable.mjs +9 -0
  94. package/lib/del-gradle.cjs +61 -13
  95. package/lib/del-gradle.js +9 -8
  96. package/lib/del-gradle.mjs +1 -1
  97. package/lib/del-node-modules.cjs +143 -148
  98. package/lib/del-node-modules.js +210 -14
  99. package/lib/del-node-modules.mjs +148 -17
  100. package/lib/del-ps.cjs +61 -13
  101. package/lib/del-ps.js +9 -8
  102. package/lib/del-ps.mjs +1 -1
  103. package/lib/del-yarn-caches.cjs +61 -13
  104. package/lib/del-yarn-caches.js +2 -2
  105. package/lib/del-yarn-caches.mjs +1 -1
  106. package/lib/file/copy-cli.cjs +92 -0
  107. package/lib/file/copy-cli.d.mts +1 -0
  108. package/lib/file/copy-cli.mjs +55 -0
  109. package/lib/file/copy.cjs +56 -0
  110. package/lib/file/copy.d.mts +1 -0
  111. package/lib/file/copy.mjs +8 -0
  112. package/lib/file/move-cli.cjs +91 -0
  113. package/lib/file/move-cli.d.mts +1 -0
  114. package/lib/file/move-cli.mjs +55 -0
  115. package/lib/file/move.cjs +55 -0
  116. package/lib/file/move.d.mts +1 -0
  117. package/lib/file/move.mjs +8 -0
  118. package/lib/find-node-modules-cli.js +2 -1
  119. package/lib/free-chatgpt.cjs +259 -47
  120. package/lib/free-chatgpt.js +10 -10
  121. package/lib/free-chatgpt.mjs +2 -2
  122. package/lib/git/gitattributes.cjs +1 -0
  123. package/lib/git/gitattributes.d.cts +7 -2
  124. package/lib/git/gitattributes.mjs +1 -1
  125. package/lib/git/line-endings.cjs +2 -1
  126. package/lib/git/line-endings.mjs +2 -2
  127. package/lib/git/undo-commit-cli.cjs +110 -0
  128. package/lib/git/undo-commit-cli.d.ts +1 -0
  129. package/lib/git/undo-commit-cli.js +4 -0
  130. package/lib/git/undo-commit-cli.mjs +14 -0
  131. package/lib/git/undo-commit.cjs +81 -0
  132. package/lib/git/undo-commit.d.cts +1 -0
  133. package/lib/git/undo-commit.mjs +7 -0
  134. package/lib/git/undo-staged-cli.cjs +110 -0
  135. package/lib/git/undo-staged-cli.d.ts +1 -0
  136. package/lib/git/undo-staged-cli.js +4 -0
  137. package/lib/git/undo-staged-cli.mjs +14 -0
  138. package/lib/git/undo-staged.cjs +81 -0
  139. package/lib/git/undo-staged.d.cts +1 -0
  140. package/lib/git/undo-staged.mjs +7 -0
  141. package/lib/git/user-config.cjs +61 -14
  142. package/lib/git/user-config.mjs +2 -2
  143. package/lib/git-diff-cli.cjs +427 -75
  144. package/lib/git-diff-cli.d.ts +1 -0
  145. package/lib/git-diff-cli.js +1 -0
  146. package/lib/git-diff-cli.mjs +6 -4
  147. package/lib/git-diff.cjs +426 -75
  148. package/lib/git-diff.d.ts +2 -1
  149. package/lib/git-diff.js +91 -34
  150. package/lib/git-diff.mjs +5 -4
  151. package/lib/git-fix.cjs +64 -16
  152. package/lib/git-fix.mjs +10 -10
  153. package/lib/git-purge.cjs +61 -13
  154. package/lib/git-purge.mjs +1 -1
  155. package/lib/index.d.ts +1 -1
  156. package/lib/kill-night-crows.cjs +87 -0
  157. package/lib/kill-night-crows.d.mts +1 -0
  158. package/lib/kill-night-crows.mjs +65 -0
  159. package/lib/node-cache-cleaner/npm.cjs +65 -0
  160. package/lib/node-cache-cleaner/npm.d.ts +2 -0
  161. package/lib/node-cache-cleaner/npm.js +41 -0
  162. package/lib/node-cache-cleaner/npm.mjs +10 -0
  163. package/lib/node-cache-cleaner/npx.cjs +89 -0
  164. package/lib/node-cache-cleaner/npx.d.ts +4 -0
  165. package/lib/node-cache-cleaner/npx.js +82 -0
  166. package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
  167. package/lib/node-cache-cleaner/yarn.cjs +73 -0
  168. package/lib/node-cache-cleaner/yarn.d.ts +2 -0
  169. package/lib/node-cache-cleaner/yarn.js +62 -0
  170. package/lib/node-cache-cleaner/yarn.mjs +10 -0
  171. package/lib/node-cache-cleaner-cli.cjs +182 -0
  172. package/lib/node-cache-cleaner-cli.d.ts +2 -0
  173. package/lib/node-cache-cleaner-cli.js +60 -0
  174. package/lib/node-cache-cleaner-cli.mjs +56 -0
  175. package/lib/node-executor.cjs +91 -0
  176. package/lib/node-executor.d.cts +2 -0
  177. package/lib/node-executor.mjs +103 -0
  178. package/lib/npm-run-series.cjs +79 -39
  179. package/lib/npm-run-series.mjs +20 -6
  180. package/lib/package-resolutions-updater-cli.cjs +645 -0
  181. package/lib/package-resolutions-updater-cli.d.mts +1 -0
  182. package/lib/package-resolutions-updater-cli.mjs +102 -0
  183. package/lib/package-resolutions-updater.cjs +259 -133
  184. package/lib/package-resolutions-updater.d.mts +51 -1
  185. package/lib/package-resolutions-updater.mjs +18 -294
  186. package/lib/php-cs-fixer-staged.cjs +105 -0
  187. package/lib/php-cs-fixer-staged.d.cts +2 -0
  188. package/lib/php-cs-fixer-staged.mjs +117 -0
  189. package/lib/print-directory-tree.cjs +62 -14
  190. package/lib/print-directory-tree.mjs +2 -2
  191. package/lib/ps/connected-domain.d.ts +1 -1
  192. package/lib/ps/connected-domain.js +10 -10
  193. package/lib/ps/index.cjs +1 -1
  194. package/lib/ps/index.mjs +177 -171
  195. package/lib/ps/isWin.js +1 -1
  196. package/lib/ps/table-parser.js +6 -6
  197. package/lib/remove-module.cjs +61 -13
  198. package/lib/remove-module.mjs +1 -1
  199. package/lib/rm-node-module-cli.cjs +222 -0
  200. package/lib/rm-node-module-cli.d.cts +1 -0
  201. package/lib/rm-node-module-cli.mjs +89 -0
  202. package/lib/rm-node-modules.cjs +127 -0
  203. package/lib/rm-node-modules.d.cts +35 -0
  204. package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
  205. package/lib/rmpath.cjs +63 -15
  206. package/lib/rmpath.mjs +2 -2
  207. package/lib/submodule-install.cjs +107 -47
  208. package/lib/submodule-install.mjs +48 -35
  209. package/lib/submodule-remove-cli.cjs +6 -3
  210. package/lib/submodule-remove-cli.js +3 -3
  211. package/lib/submodule-remove-cli.mjs +2 -3
  212. package/lib/submodule-remove.cjs +4 -1
  213. package/lib/submodule-remove.mjs +1 -1
  214. package/lib/utils/chatgpt.cjs +198 -34
  215. package/lib/utils/chatgpt.js +260 -93
  216. package/lib/utils/chatgpt.mjs +1 -1
  217. package/lib/utils/findEnvFiles.cjs +89 -0
  218. package/lib/utils/findEnvFiles.d.cts +19 -0
  219. package/lib/utils/findEnvFiles.mjs +6 -0
  220. package/lib/utils/findWorkspaceRoot.cjs +70 -0
  221. package/lib/utils/findWorkspaceRoot.d.ts +9 -0
  222. package/lib/utils/findWorkspaceRoot.js +57 -0
  223. package/lib/utils/findWorkspaceRoot.mjs +40 -0
  224. package/lib/utils/index.cjs +60 -13
  225. package/lib/utils/index.mjs +1 -1
  226. package/lib/utils/isGithubTokenValid.cjs +64 -0
  227. package/lib/utils/isGithubTokenValid.d.ts +7 -0
  228. package/lib/utils/isGithubTokenValid.js +48 -0
  229. package/lib/utils/isGithubTokenValid.mjs +36 -0
  230. package/lib/{ps/index.d.cjs → utils/isWindows.cjs} +17 -3
  231. package/lib/utils/isWindows.d.ts +5 -0
  232. package/lib/utils/isWindows.js +10 -0
  233. package/lib/utils/isWindows.mjs +8 -0
  234. package/lib/utils/runBash.cjs +53 -0
  235. package/lib/utils/runBash.d.cts +12 -0
  236. package/lib/utils/runBash.mjs +66 -0
  237. package/lib/yarn-per-branch-lock-installer.cjs +97 -0
  238. package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
  239. package/lib/yarn-per-branch-lock-installer.mjs +109 -0
  240. package/lib/yarn-reinstall.cjs +61 -13
  241. package/lib/yarn-reinstall.mjs +1 -1
  242. package/package.json +133 -110
  243. package/readme.html +784 -0
  244. package/readme.md +116 -229
  245. package/releases/readme.md +1 -1
  246. package/requirements.txt +1 -0
  247. package/test/README.md +2 -2
  248. package/test-project/package.json +8 -2
  249. package/test-project/workspaces/workspace-a/package.json +135 -0
  250. package/test-project/workspaces/workspace-a/readme.md +20 -0
  251. package/test-project/workspaces/workspace-a/release/readme.md +42 -0
  252. package/test-project/workspaces/workspace-a/test/demo/package.json +25 -0
  253. package/test-project/workspaces/workspace-a/test/readme.md +12 -0
  254. package/test-project/workspaces/workspace-b/package.json +139 -0
  255. package/test-project/workspaces/workspace-b/readme.md +94 -0
  256. package/test-project/workspaces/workspace-b/requirements.txt +1 -0
  257. package/test-project/workspaces/workspace-b/test/sample-project/package.json +7 -0
  258. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +96 -0
  259. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
  260. package/tmp/rm-node-modules-test-project/package.json +17 -0
  261. package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +16 -0
  262. package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +16 -0
  263. package/tmp/test-repo/README.md +2 -35
  264. package/tmp/test-repo/package.json +13 -3
  265. package/docs-src/clean-github-actions-caches.md +0 -26
  266. package/docs-src/free-chatgpt.md +0 -26
  267. package/lib/binary-collections-config.cjs +0 -15
  268. package/lib/chunk-4EWQC6GZ.mjs +0 -382
  269. package/lib/chunk-4ZI7BQKQ.mjs +0 -381
  270. package/lib/chunk-5J2BEPY5.mjs +0 -83
  271. package/lib/chunk-AGZYRDC2.mjs +0 -323
  272. package/lib/chunk-BDCHCWHD.mjs +0 -136
  273. package/lib/chunk-BEZKJ25G.mjs +0 -140
  274. package/lib/chunk-DI5MDPSN.mjs +0 -386
  275. package/lib/chunk-GJTGHXRA.mjs +0 -356
  276. package/lib/chunk-HMRMTYZM.mjs +0 -40
  277. package/lib/chunk-HN52G2YL.mjs +0 -305
  278. package/lib/chunk-LEM5OMRP.mjs +0 -384
  279. package/lib/chunk-O6SWBEOQ.mjs +0 -81
  280. package/lib/chunk-RCP7DHVY.mjs +0 -190
  281. package/lib/chunk-SBNDSKG5.mjs +0 -136
  282. package/lib/chunk-U6SO4QEV.mjs +0 -320
  283. package/lib/chunk-XD6BJK6Q.mjs +0 -351
  284. package/lib/chunk-YXSFGA2D.mjs +0 -383
  285. package/lib/git/gitattributes.d.ts +0 -33
  286. package/lib/git/gitattributes.js +0 -223
  287. package/lib/ps/index.d.ts +0 -2
  288. package/lib/ps/index.js +0 -253
  289. package/tmp/typedoc/readme.md +0 -320
  290. /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
@@ -68,31 +68,78 @@ var require_utils = __commonJS({
68
68
  }
69
69
  module2.exports.getArgs = getArgs2;
70
70
  function del(fullPath) {
71
- if (fs2.statSync(fullPath).isDirectory()) {
72
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
73
- for (let i = 0; i < subdir.length; i++) {
74
- del(subdir[i]);
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);
97
+ }
98
+ }
99
+ return;
75
100
  }
76
- } else {
77
101
  try {
78
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
102
+ fs2.unlinkSync(fullPath);
79
103
  console.log("deleted", fullPath);
80
- } catch (_) {
81
- console.log("failed delete", 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
+ }
82
111
  }
112
+ } catch (err) {
113
+ console.log("failed delete", fullPath, err && err.message);
83
114
  }
84
115
  }
85
116
  module2.exports.del = del;
86
117
  function delStream(globStream) {
87
118
  globStream.stream().on("data", (result) => {
88
119
  const fullPath = path2.resolve(process.cwd(), result);
89
- if (fs2.statSync(fullPath).isDirectory()) {
90
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
91
- for (let i = 0; i < subdir.length; i++) {
92
- del(subdir[i]);
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;
131
+ }
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
+ }
137
+ }
93
138
  }
139
+ del(fullPath);
140
+ } catch (err) {
141
+ console.log("failed processing", fullPath, err && err.message);
94
142
  }
95
- del(fullPath);
96
143
  });
97
144
  }
98
145
  module2.exports.delStream = delStream;
@@ -146,7 +193,7 @@ var fs = require("fs");
146
193
  var path = require("path");
147
194
  var dotenv = require("dotenv");
148
195
  var envPath = path.resolve(process.cwd(), ".env");
149
- if (fs.existsSync(envPath)) dotenv.config({ path: envPath });
196
+ if (fs.existsSync(envPath)) dotenv.config({ path: envPath, override: true, quiet: true });
150
197
  var { getArgs } = require_utils();
151
198
  var args = getArgs();
152
199
  var positional = args._ || [];
@@ -180,15 +227,19 @@ if (VISITED_SUBMODULES.includes(CURRENT_PATH)) {
180
227
  VISITED_SUBMODULES.push(CURRENT_PATH);
181
228
  process.env.VISITED_SUBMODULES = VISITED_SUBMODULES.join(path.delimiter);
182
229
  console.log(`Installing submodules at ${ROOT}`);
183
- var submoduleList = runGit([
184
- "-C",
185
- REPO_PATH,
186
- "config",
187
- "-f",
188
- ".gitmodules",
189
- "--get-regexp",
190
- "^submodule\\..*\\.path$"
191
- ]).split("\n").filter(Boolean);
230
+ var ROOT_GITMODULES = path.join(REPO_PATH, ".gitmodules");
231
+ if (!fs.existsSync(ROOT_GITMODULES) || fs.statSync(ROOT_GITMODULES).size === 0) {
232
+ console.log(`No valid .gitmodules found at ${ROOT_GITMODULES}. Skipping submodule processing.`);
233
+ process.exit(0);
234
+ }
235
+ var submoduleList = [];
236
+ try {
237
+ const output = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get-regexp", "^submodule\\..*\\.path$"]);
238
+ submoduleList = output.split("\n").filter(Boolean);
239
+ } catch (err) {
240
+ console.log("No submodules found or .gitmodules invalid. Skipping.", err);
241
+ process.exit(0);
242
+ }
192
243
  for (const line of submoduleList) {
193
244
  const [KEY, MODULE_PATH] = line.trim().split(/\s+/);
194
245
  const RELATIVE_MODULE_PATH = path.join(ROOT, MODULE_PATH);
@@ -197,11 +248,14 @@ for (const line of submoduleList) {
197
248
  fs.rmSync(RELATIVE_MODULE_PATH, { recursive: true, force: true });
198
249
  }
199
250
  const NAME = KEY.match(/^submodule\.(.*)\.path$/)[1];
200
- const URL2 = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.url`]).trim();
201
- let BRANCH = "master";
251
+ const URL2 = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get", `submodule.${NAME}.url`]).trim();
252
+ let BRANCH;
202
253
  try {
203
- BRANCH = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
204
- } catch {
254
+ BRANCH = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
255
+ if (!BRANCH) BRANCH = "master";
256
+ } catch (err) {
257
+ console.log(`Error occurred while fetching branch for submodule ${NAME}:`, err);
258
+ BRANCH = "master";
205
259
  }
206
260
  console.log(`Submodule: ${color.cyan(NAME)}`);
207
261
  console.log(` Location: ${color.magenta(MODULE_PATH)}`);
@@ -217,21 +271,29 @@ for (const line of submoduleList) {
217
271
  continue;
218
272
  }
219
273
  if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
220
- console.warn(`Submodule directory ${RELATIVE_MODULE_PATH} does not exist after add. Attempting manual clone...`);
274
+ console.warn(`Submodule directory missing. Attempting manual clone...`);
221
275
  try {
222
276
  runGit(["clone", "--branch", BRANCH, URL2, RELATIVE_MODULE_PATH]);
223
277
  } catch (e) {
224
- console.error(`Manual clone failed for ${RELATIVE_MODULE_PATH}: ${e.message}`);
278
+ console.error(`Manual clone failed: ${e.message}`);
225
279
  continue;
226
280
  }
227
281
  if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
228
- console.error(`Submodule directory ${RELATIVE_MODULE_PATH} still does not exist after manual clone. Skipping.`);
282
+ console.error(`Still missing after clone: ${RELATIVE_MODULE_PATH}`);
229
283
  continue;
230
284
  }
231
285
  }
232
286
  const GIT_MODULES = path.join(RELATIVE_MODULE_PATH, ".gitmodules");
287
+ if (!fs.existsSync(GIT_MODULES)) {
288
+ console.log(`No .gitmodules in ${RELATIVE_MODULE_PATH}. Skipping nested processing.`);
289
+ continue;
290
+ }
291
+ if (fs.statSync(GIT_MODULES).size === 0) {
292
+ console.log(`Empty .gitmodules in ${RELATIVE_MODULE_PATH}. Skipping nested processing.`);
293
+ continue;
294
+ }
233
295
  if (ACCESS_TOKEN) {
234
- let URL_WITH_TOKEN = "";
296
+ let URL_WITH_TOKEN;
235
297
  let repoInfo;
236
298
  if (URL2.includes("github.com")) {
237
299
  repoInfo = URL2.replace("https://github.com/", "");
@@ -244,27 +306,25 @@ for (const line of submoduleList) {
244
306
  repoInfo = urlObj.pathname.substring(1);
245
307
  URL_WITH_TOKEN = `${urlObj.protocol}//${ACCESS_TOKEN}@${urlObj.host}${urlObj.pathname}`;
246
308
  }
247
- if (URL_WITH_TOKEN && URL_WITH_TOKEN.length > 0) {
248
- console.log(`Apply token for ${repoInfo} at ${MODULE_PATH} branch ${BRANCH}`);
309
+ if (URL_WITH_TOKEN) {
310
+ console.log(`Apply token for ${repoInfo} at ${MODULE_PATH}`);
249
311
  runGit(["-C", RELATIVE_MODULE_PATH, "remote", "set-url", "origin", URL_WITH_TOKEN]);
250
312
  }
251
313
  }
252
314
  runGit(["-C", RELATIVE_MODULE_PATH, "fetch", "--all"]);
253
315
  runGit(["-C", RELATIVE_MODULE_PATH, "pull", "origin", BRANCH, "-X", "theirs"]);
254
- if (fs.existsSync(GIT_MODULES)) {
255
- console.log(`${MODULE_PATH} has submodules`);
256
- const env = Object.assign({}, process.env, {
257
- VISITED_SUBMODULES: process.env.VISITED_SUBMODULES + path.delimiter + path.resolve(RELATIVE_MODULE_PATH)
258
- });
259
- const result = spawnSync("node", [__filename, "-cwd", RELATIVE_MODULE_PATH], {
260
- stdio: "inherit",
261
- env,
262
- cwd: RELATIVE_MODULE_PATH
263
- });
264
- if (result.status !== 0) {
265
- console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
266
- process.exit(result.status);
267
- }
316
+ console.log(`${MODULE_PATH} has submodules`);
317
+ const env = Object.assign({}, process.env, {
318
+ VISITED_SUBMODULES: process.env.VISITED_SUBMODULES + path.delimiter + path.resolve(RELATIVE_MODULE_PATH)
319
+ });
320
+ const result = spawnSync("node", [__filename, "-cwd", RELATIVE_MODULE_PATH], {
321
+ stdio: "inherit",
322
+ env,
323
+ cwd: RELATIVE_MODULE_PATH
324
+ });
325
+ if (result.status !== 0) {
326
+ console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
327
+ process.exit(result.status);
268
328
  }
269
329
  }
270
330
  runGit(["-C", REPO_PATH, "submodule", "update", "--init", "--recursive"]);
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
3
  import {
4
4
  require_utils
5
- } from "./chunk-V3N3JEUF.mjs";
5
+ } from "./chunk-5RTXZVCW.mjs";
6
6
  import {
7
7
  __commonJS,
8
8
  __filename,
@@ -20,7 +20,7 @@ var require_submodule_install = __commonJS({
20
20
  var path = __require("path");
21
21
  var dotenv = __require("dotenv");
22
22
  var envPath = path.resolve(process.cwd(), ".env");
23
- if (fs.existsSync(envPath)) dotenv.config({ path: envPath });
23
+ if (fs.existsSync(envPath)) dotenv.config({ path: envPath, override: true, quiet: true });
24
24
  var { getArgs } = require_utils();
25
25
  var args = getArgs();
26
26
  var positional = args._ || [];
@@ -54,15 +54,19 @@ var require_submodule_install = __commonJS({
54
54
  VISITED_SUBMODULES.push(CURRENT_PATH);
55
55
  process.env.VISITED_SUBMODULES = VISITED_SUBMODULES.join(path.delimiter);
56
56
  console.log(`Installing submodules at ${ROOT}`);
57
- var submoduleList = runGit([
58
- "-C",
59
- REPO_PATH,
60
- "config",
61
- "-f",
62
- ".gitmodules",
63
- "--get-regexp",
64
- "^submodule\\..*\\.path$"
65
- ]).split("\n").filter(Boolean);
57
+ var ROOT_GITMODULES = path.join(REPO_PATH, ".gitmodules");
58
+ if (!fs.existsSync(ROOT_GITMODULES) || fs.statSync(ROOT_GITMODULES).size === 0) {
59
+ console.log(`No valid .gitmodules found at ${ROOT_GITMODULES}. Skipping submodule processing.`);
60
+ process.exit(0);
61
+ }
62
+ var submoduleList = [];
63
+ try {
64
+ const output = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get-regexp", "^submodule\\..*\\.path$"]);
65
+ submoduleList = output.split("\n").filter(Boolean);
66
+ } catch (err) {
67
+ console.log("No submodules found or .gitmodules invalid. Skipping.", err);
68
+ process.exit(0);
69
+ }
66
70
  for (const line of submoduleList) {
67
71
  const [KEY, MODULE_PATH] = line.trim().split(/\s+/);
68
72
  const RELATIVE_MODULE_PATH = path.join(ROOT, MODULE_PATH);
@@ -71,11 +75,14 @@ var require_submodule_install = __commonJS({
71
75
  fs.rmSync(RELATIVE_MODULE_PATH, { recursive: true, force: true });
72
76
  }
73
77
  const NAME = KEY.match(/^submodule\.(.*)\.path$/)[1];
74
- const URL = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.url`]).trim();
75
- let BRANCH = "master";
78
+ const URL = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get", `submodule.${NAME}.url`]).trim();
79
+ let BRANCH;
76
80
  try {
77
- BRANCH = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
78
- } catch {
81
+ BRANCH = runGit(["-C", REPO_PATH, "config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
82
+ if (!BRANCH) BRANCH = "master";
83
+ } catch (err) {
84
+ console.log(`Error occurred while fetching branch for submodule ${NAME}:`, err);
85
+ BRANCH = "master";
79
86
  }
80
87
  console.log(`Submodule: ${color.cyan(NAME)}`);
81
88
  console.log(` Location: ${color.magenta(MODULE_PATH)}`);
@@ -91,21 +98,29 @@ var require_submodule_install = __commonJS({
91
98
  continue;
92
99
  }
93
100
  if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
94
- console.warn(`Submodule directory ${RELATIVE_MODULE_PATH} does not exist after add. Attempting manual clone...`);
101
+ console.warn(`Submodule directory missing. Attempting manual clone...`);
95
102
  try {
96
103
  runGit(["clone", "--branch", BRANCH, URL, RELATIVE_MODULE_PATH]);
97
104
  } catch (e) {
98
- console.error(`Manual clone failed for ${RELATIVE_MODULE_PATH}: ${e.message}`);
105
+ console.error(`Manual clone failed: ${e.message}`);
99
106
  continue;
100
107
  }
101
108
  if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
102
- console.error(`Submodule directory ${RELATIVE_MODULE_PATH} still does not exist after manual clone. Skipping.`);
109
+ console.error(`Still missing after clone: ${RELATIVE_MODULE_PATH}`);
103
110
  continue;
104
111
  }
105
112
  }
106
113
  const GIT_MODULES = path.join(RELATIVE_MODULE_PATH, ".gitmodules");
114
+ if (!fs.existsSync(GIT_MODULES)) {
115
+ console.log(`No .gitmodules in ${RELATIVE_MODULE_PATH}. Skipping nested processing.`);
116
+ continue;
117
+ }
118
+ if (fs.statSync(GIT_MODULES).size === 0) {
119
+ console.log(`Empty .gitmodules in ${RELATIVE_MODULE_PATH}. Skipping nested processing.`);
120
+ continue;
121
+ }
107
122
  if (ACCESS_TOKEN) {
108
- let URL_WITH_TOKEN = "";
123
+ let URL_WITH_TOKEN;
109
124
  let repoInfo;
110
125
  if (URL.includes("github.com")) {
111
126
  repoInfo = URL.replace("https://github.com/", "");
@@ -118,27 +133,25 @@ var require_submodule_install = __commonJS({
118
133
  repoInfo = urlObj.pathname.substring(1);
119
134
  URL_WITH_TOKEN = `${urlObj.protocol}//${ACCESS_TOKEN}@${urlObj.host}${urlObj.pathname}`;
120
135
  }
121
- if (URL_WITH_TOKEN && URL_WITH_TOKEN.length > 0) {
122
- console.log(`Apply token for ${repoInfo} at ${MODULE_PATH} branch ${BRANCH}`);
136
+ if (URL_WITH_TOKEN) {
137
+ console.log(`Apply token for ${repoInfo} at ${MODULE_PATH}`);
123
138
  runGit(["-C", RELATIVE_MODULE_PATH, "remote", "set-url", "origin", URL_WITH_TOKEN]);
124
139
  }
125
140
  }
126
141
  runGit(["-C", RELATIVE_MODULE_PATH, "fetch", "--all"]);
127
142
  runGit(["-C", RELATIVE_MODULE_PATH, "pull", "origin", BRANCH, "-X", "theirs"]);
128
- if (fs.existsSync(GIT_MODULES)) {
129
- console.log(`${MODULE_PATH} has submodules`);
130
- const env = Object.assign({}, process.env, {
131
- VISITED_SUBMODULES: process.env.VISITED_SUBMODULES + path.delimiter + path.resolve(RELATIVE_MODULE_PATH)
132
- });
133
- const result = spawnSync("node", [__filename, "-cwd", RELATIVE_MODULE_PATH], {
134
- stdio: "inherit",
135
- env,
136
- cwd: RELATIVE_MODULE_PATH
137
- });
138
- if (result.status !== 0) {
139
- console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
140
- process.exit(result.status);
141
- }
143
+ console.log(`${MODULE_PATH} has submodules`);
144
+ const env = Object.assign({}, process.env, {
145
+ VISITED_SUBMODULES: process.env.VISITED_SUBMODULES + path.delimiter + path.resolve(RELATIVE_MODULE_PATH)
146
+ });
147
+ const result = spawnSync("node", [__filename, "-cwd", RELATIVE_MODULE_PATH], {
148
+ stdio: "inherit",
149
+ env,
150
+ cwd: RELATIVE_MODULE_PATH
151
+ });
152
+ if (result.status !== 0) {
153
+ console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
154
+ process.exit(result.status);
142
155
  }
143
156
  }
144
157
  runGit(["-C", REPO_PATH, "submodule", "update", "--init", "--recursive"]);
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -41,7 +42,10 @@ var require_submodule_remove = __commonJS({
41
42
  var path2 = require("upath");
42
43
  var fs2 = require("fs-extra");
43
44
  var dotenv = require("dotenv");
44
- dotenv.config({ path: path2.resolve(process.cwd(), ".env") });
45
+ var envPath = path2.resolve(process.cwd(), ".env");
46
+ if (fs2.existsSync(envPath)) {
47
+ dotenv.config({ path: envPath, override: true, quiet: true });
48
+ }
45
49
  async function removeSubmodule2(submodulePath2) {
46
50
  try {
47
51
  await spawnAsync("git", ["submodule", "deinit", "-f", submodulePath2], { stdio: "inherit" });
@@ -95,8 +99,7 @@ if (!submodulePath) {
95
99
  process.exit(1);
96
100
  }
97
101
  if (!import_fs_extra.default.existsSync(import_upath.default.resolve(submodulePath))) {
98
- console.error(`Error: The path "${submodulePath}" does not exist.`);
99
- process.exit(1);
102
+ console.warn(`Error: The path "${submodulePath}" does not exist, continue deinitialization and cleanup steps.`);
100
103
  }
101
104
  (async () => {
102
105
  await (0, import_submodule_remove.default)(submodulePath);
@@ -19,12 +19,12 @@ const submodule_remove_cjs_1 = __importDefault(require("./submodule-remove.cjs")
19
19
  const args = (0, minimist_1.default)(process.argv.slice(2));
20
20
  const submodulePath = args._[0];
21
21
  if (!submodulePath) {
22
- console.error("Usage: node submodule-remove.cjs <submodule-path>");
22
+ console.error('Usage: node submodule-remove.cjs <submodule-path>');
23
23
  process.exit(1);
24
24
  }
25
25
  if (!fs_extra_1.default.existsSync(upath_1.default.resolve(submodulePath))) {
26
- console.error(`Error: The path "${submodulePath}" does not exist.`);
27
- process.exit(1);
26
+ console.warn(`Error: The path "${submodulePath}" does not exist, continue deinitialization and cleanup steps.`);
27
+ // process.exit(1);
28
28
  }
29
29
  (() => __awaiter(void 0, void 0, void 0, function* () {
30
30
  yield (0, submodule_remove_cjs_1.default)(submodulePath);
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_submodule_remove
4
- } from "./chunk-6HHJRKFB.mjs";
4
+ } from "./chunk-BZWVHODJ.mjs";
5
5
  import {
6
6
  __toESM,
7
7
  init_esm_shims
@@ -20,8 +20,7 @@ if (!submodulePath) {
20
20
  process.exit(1);
21
21
  }
22
22
  if (!fs.existsSync(path.resolve(submodulePath))) {
23
- console.error(`Error: The path "${submodulePath}" does not exist.`);
24
- process.exit(1);
23
+ console.warn(`Error: The path "${submodulePath}" does not exist, continue deinitialization and cleanup steps.`);
25
24
  }
26
25
  (async () => {
27
26
  await (0, import_submodule_remove.default)(submodulePath);
@@ -3,7 +3,10 @@ var { spawnAsync } = require("cross-spawn");
3
3
  var path = require("upath");
4
4
  var fs = require("fs-extra");
5
5
  var dotenv = require("dotenv");
6
- dotenv.config({ path: path.resolve(process.cwd(), ".env") });
6
+ var envPath = path.resolve(process.cwd(), ".env");
7
+ if (fs.existsSync(envPath)) {
8
+ dotenv.config({ path: envPath, override: true, quiet: true });
9
+ }
7
10
  async function removeSubmodule(submodulePath) {
8
11
  try {
9
12
  await spawnAsync("git", ["submodule", "deinit", "-f", submodulePath], { stdio: "inherit" });
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_submodule_remove
4
- } from "./chunk-6HHJRKFB.mjs";
4
+ } from "./chunk-BZWVHODJ.mjs";
5
5
  import "./chunk-QQ4A6DLD.mjs";
6
6
  export default require_submodule_remove();