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.
- package/.puppeterrc.cjs +25 -0
- package/binaries/binary-executor.cjs +178 -0
- package/{bin → binaries}/clean-nodemodule +0 -0
- package/binaries/clean-nodemodule.cjs +178 -0
- package/binaries/clean-nodemodule.cmd +4 -0
- package/{bin → binaries}/clean-nodemodules +0 -0
- package/binaries/clean-nodemodules.cjs +178 -0
- package/binaries/clean-nodemodules.cmd +5 -0
- package/{bin → binaries}/dev +0 -0
- package/binaries/dev.cjs +178 -0
- package/{bin → binaries}/empty +0 -0
- package/binaries/empty.cjs +178 -0
- package/{bin → binaries}/git-reduce-size +0 -0
- package/binaries/git-reduce-size.cjs +178 -0
- package/binaries/javakill.cjs +178 -0
- package/{bin → binaries}/javakill.cmd +0 -0
- package/binaries/kill-night-crows.bat +7 -0
- package/binaries/kill-night-crows.ps1 +172 -0
- package/{bin → binaries}/kill-process +0 -0
- package/binaries/kill-process.cjs +178 -0
- package/binaries/nodekill.cjs +178 -0
- package/{bin → binaries}/nodekill.ps1 +0 -0
- package/{bin → binaries}/prod +0 -0
- package/binaries/prod.cjs +178 -0
- package/binaries/py +111 -0
- package/binaries/py.cjs +178 -0
- package/binaries/py.cmd +49 -0
- package/{bin → binaries}/rmfind +0 -0
- package/binaries/rmfind.cjs +178 -0
- package/{bin → binaries}/rmx +0 -0
- package/binaries/rmx.cjs +178 -0
- package/{bin → binaries}/submodule-token +0 -0
- package/binaries/submodule-token.cjs +178 -0
- package/binaries/test-cjs +10 -0
- package/binaries/test-cjs.cjs +178 -0
- package/binaries/test-cjs.cmd +11 -0
- package/binaries/yarn-clean +32 -0
- package/binaries/yarn-clean.cjs +178 -0
- package/binaries/yarn-clean.cmd +30 -0
- package/binaries/yarn-clean.py +148 -0
- package/docs-src/clean-github-actions-caches.md +26 -0
- package/docs-src/free-chatgpt.md +26 -0
- package/lib/binary-collections-config.cjs +3 -2
- package/lib/binary-collections-config.mjs +2 -2
- package/lib/binary-collections.cjs +513 -105
- package/lib/binary-collections.mjs +178 -117
- package/lib/changelog.cjs +64 -16
- package/lib/changelog.mjs +177 -171
- package/lib/{chunk-VVEZVNIV.mjs → chunk-2CBJCW7E.mjs} +3 -3
- package/lib/chunk-34IQDTLZ.mjs +27 -0
- package/lib/chunk-3HFFECCI.mjs +27 -0
- package/lib/chunk-4UHL4WVN.mjs +136 -0
- package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
- package/lib/chunk-6HHJRKFB.mjs +59 -0
- package/lib/chunk-6S4NXESK.mjs +26 -0
- package/lib/chunk-7XTEJHOE.mjs +193 -0
- package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
- package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
- package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
- package/lib/chunk-AJDD5DZM.mjs +109 -0
- package/lib/chunk-BZWVHODJ.mjs +62 -0
- package/lib/chunk-FCDQGYBF.mjs +136 -0
- package/lib/chunk-FKI7IEB5.mjs +172 -0
- package/lib/chunk-GEYA2USY.mjs +207 -0
- package/lib/chunk-GJTGHXRA.mjs +356 -0
- package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
- package/lib/chunk-ID2WBTE2.mjs +80 -0
- package/lib/chunk-JXFOHKDM.mjs +239 -0
- package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
- package/lib/chunk-N436BNBK.mjs +514 -0
- package/lib/chunk-NCXAP7AA.mjs +31 -0
- package/lib/chunk-PDN26I7O.mjs +188 -0
- package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
- package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
- package/lib/{chunk-ONIBBBQ3.mjs → chunk-RWLXRTYP.mjs} +4 -3
- package/lib/chunk-TOIVAQF7.mjs +136 -0
- package/lib/chunk-V5SKYJUB.mjs +136 -0
- package/lib/chunk-WSRETQCA.mjs +59 -0
- package/lib/chunk-XA3SNBPA.mjs +184 -0
- package/lib/chunk-XVBFFVCJ.mjs +209 -0
- package/lib/chunk-YYLIQQKF.mjs +31 -0
- package/lib/{chunk-APBWENF6.mjs → chunk-Z6JLYU2J.mjs} +63 -16
- package/lib/chunk-ZDMWBSYF.mjs +81 -0
- package/lib/clean-github-actions-caches.cjs +291 -148
- package/lib/clean-github-actions-caches.mjs +4 -3
- package/lib/del-gradle.cjs +63 -15
- package/lib/del-gradle.js +2 -1
- package/lib/del-gradle.mjs +2 -2
- package/lib/del-node-modules.cjs +143 -148
- package/lib/del-node-modules.js +210 -14
- package/lib/del-node-modules.mjs +149 -18
- package/lib/del-ps.cjs +90 -21
- package/lib/del-ps.js +3 -2
- package/lib/del-ps.mjs +7 -5
- package/lib/del-yarn-caches.cjs +87 -18
- package/lib/del-yarn-caches.js +38 -3
- package/lib/del-yarn-caches.mjs +6 -6
- package/lib/find-node-modules-cli.cjs +5 -4
- package/lib/find-node-modules-cli.js +2 -1
- package/lib/find-node-modules-cli.mjs +2 -2
- package/lib/find-node-modules.cjs +4 -3
- package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
- package/lib/find-node-modules.mjs +2 -2
- package/lib/free-chatgpt.cjs +754 -0
- package/lib/free-chatgpt.js +51 -0
- package/lib/free-chatgpt.mjs +50 -0
- package/lib/git/gitattributes.cjs +2 -1
- package/lib/git/{gitattributes.d.ts → gitattributes.d.cts} +7 -2
- package/lib/git/gitattributes.mjs +2 -2
- package/lib/git/line-endings.cjs +298 -64
- package/lib/git/line-endings.mjs +4 -4
- package/lib/git/normalize.cjs +26 -36
- package/lib/git/normalize.mjs +2 -2
- package/lib/git/permissions.cjs +77 -11
- package/lib/git/permissions.mjs +3 -3
- package/lib/git/pull-strategy.cjs +76 -9
- package/lib/git/pull-strategy.mjs +3 -3
- package/lib/git/undo-commit-cli.cjs +110 -0
- package/lib/git/undo-commit-cli.d.ts +1 -0
- package/lib/git/undo-commit-cli.js +4 -0
- package/lib/git/undo-commit-cli.mjs +14 -0
- package/lib/git/undo-commit.cjs +81 -0
- package/lib/git/undo-commit.d.cts +1 -0
- package/lib/git/undo-commit.mjs +7 -0
- package/lib/git/undo-staged-cli.cjs +110 -0
- package/lib/git/undo-staged-cli.d.ts +1 -0
- package/lib/git/undo-staged-cli.js +4 -0
- package/lib/git/undo-staged-cli.mjs +14 -0
- package/lib/git/undo-staged.cjs +81 -0
- package/lib/git/undo-staged.d.cts +1 -0
- package/lib/git/undo-staged.mjs +7 -0
- package/lib/git/user-config.cjs +313 -83
- package/lib/git/user-config.mjs +4 -4
- package/lib/git/utils.cjs +40 -60
- package/lib/git/utils.mjs +2 -2
- package/lib/git-diff-cli.cjs +857 -0
- package/lib/git-diff-cli.js +16 -0
- package/lib/git-diff-cli.mjs +17 -0
- package/lib/git-diff.cjs +862 -58
- package/lib/git-diff.d.ts +38 -83
- package/lib/git-diff.js +152 -0
- package/lib/git-diff.mjs +23 -85
- package/lib/git-fix.cjs +733 -97
- package/lib/git-fix.mjs +10 -9
- package/lib/git-purge.cjs +64 -16
- package/lib/git-purge.d.cts +1 -0
- package/lib/git-purge.mjs +43 -37
- package/lib/index.cjs +7 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -5
- package/lib/index.mjs +4 -4
- package/lib/kill-night-crows.cjs +87 -0
- package/lib/kill-night-crows.d.mts +1 -0
- package/lib/kill-night-crows.mjs +65 -0
- package/lib/npm-run-series.cjs +63 -16
- package/lib/npm-run-series.mjs +42 -36
- package/lib/package-resolutions-updater-cli.cjs +560 -0
- package/lib/package-resolutions-updater-cli.d.mts +1 -0
- package/lib/package-resolutions-updater-cli.mjs +124 -0
- package/lib/package-resolutions-updater.cjs +178 -158
- package/lib/package-resolutions-updater.d.mts +32 -1
- package/lib/package-resolutions-updater.mjs +17 -338
- package/lib/php-cs-fixer-staged.cjs +105 -0
- package/lib/php-cs-fixer-staged.d.cts +2 -0
- package/lib/php-cs-fixer-staged.mjs +117 -0
- package/lib/print-directory-tree.cjs +320 -207
- package/lib/print-directory-tree.mjs +3 -3
- package/lib/ps/connected-domain.cjs +25 -2
- package/lib/ps/connected-domain.d.ts +10 -2
- package/lib/ps/connected-domain.js +5 -2
- package/lib/ps/connected-domain.mjs +8 -4
- package/lib/ps/index.cjs +345 -322
- package/lib/ps/index.d.mjs +1 -1
- package/lib/ps/index.js +2 -1
- package/lib/ps/index.mjs +179 -182
- package/lib/ps/isWin.cjs +24 -1
- package/lib/ps/isWin.d.ts +1 -1
- package/lib/ps/isWin.js +3 -1
- package/lib/ps/isWin.mjs +8 -4
- package/lib/ps/table-parser.cjs +167 -159
- package/lib/ps/table-parser.d.ts +5 -0
- package/lib/ps/table-parser.js +10 -4
- package/lib/ps/table-parser.mjs +9 -5
- package/lib/remove-module.cjs +310 -0
- package/lib/remove-module.d.mts +1 -0
- package/lib/remove-module.mjs +111 -0
- package/lib/rmpath.cjs +322 -0
- package/lib/rmpath.d.mts +3 -0
- package/lib/rmpath.mjs +108 -0
- package/lib/submodule-install.cjs +311 -86
- package/lib/submodule-install.mjs +53 -5
- package/lib/submodule-remove-cli.cjs +107 -0
- package/lib/submodule-remove-cli.d.ts +1 -0
- package/lib/submodule-remove-cli.js +31 -0
- package/lib/submodule-remove-cli.mjs +28 -0
- package/lib/submodule-remove.cjs +46 -0
- package/lib/submodule-remove.d.cts +2 -0
- package/lib/submodule-remove.mjs +6 -0
- package/lib/utils/chatgpt.cjs +541 -0
- package/lib/utils/chatgpt.d.ts +31 -0
- package/lib/utils/chatgpt.js +708 -0
- package/lib/utils/chatgpt.mjs +8 -0
- package/lib/utils/findEnvFiles.cjs +107 -0
- package/lib/utils/findEnvFiles.d.ts +8 -0
- package/lib/utils/findEnvFiles.js +121 -0
- package/lib/utils/findEnvFiles.mjs +8 -0
- package/lib/utils/findWorkspaceRoot.cjs +70 -0
- package/lib/utils/findWorkspaceRoot.d.ts +9 -0
- package/lib/utils/findWorkspaceRoot.js +57 -0
- package/lib/utils/findWorkspaceRoot.mjs +40 -0
- package/lib/{utils.cjs → utils/index.cjs} +61 -14
- package/lib/{utils.mjs → utils/index.mjs} +2 -2
- package/lib/utils/isGithubTokenValid.cjs +64 -0
- package/lib/utils/isGithubTokenValid.d.ts +7 -0
- package/lib/utils/isGithubTokenValid.js +48 -0
- package/lib/utils/isGithubTokenValid.mjs +36 -0
- package/lib/yarn-reinstall.cjs +220 -38
- package/lib/yarn-reinstall.mjs +2 -2
- package/package.json +138 -104
- package/readme.md +48 -75
- package/releases/readme.md +36 -0
- package/requirements.txt +1 -0
- package/test/README.md +101 -0
- package/test/package.json +2 -1
- package/test-project/readme.md +26 -0
- package/tmp/test-repo/README.md +35 -0
- package/tmp/test-repo/package.json +1 -1
- package/tmp/typedoc/readme.md +320 -0
- package/bin/bash-dummy +0 -56
- package/bin/bash-dummy.cmd +0 -25
- package/bin/dir-tree.cmd +0 -7
- package/bin/git-diff +0 -4
- package/bin/git-diff.cmd +0 -7
- package/bin/git-fix +0 -36
- package/bin/git-fix.cmd +0 -7
- package/bin/rmpath +0 -70
- package/bin/submodule-install.txt +0 -118
- package/bin/submodule-remove +0 -46
- package/bin/submodule.txt +0 -172
- package/lib/binary-collections-config.d.mts +0 -18
- package/lib/binary-collections-config.js +0 -39
- package/lib/binary-collections.d.mts +0 -137
- package/lib/binary-collections.d.ts +0 -137
- package/lib/changelog.d.mts +0 -2
- package/lib/changelog.js +0 -226
- package/lib/chunk-DPKAJKFO.mjs +0 -171
- package/lib/chunk-G3THLIDT.mjs +0 -200
- package/lib/chunk-W3ENOM53.mjs +0 -18
- package/lib/clean-github-actions-caches.d.mts +0 -169
- package/lib/clean-github-actions-caches.d.ts +0 -169
- package/lib/del-gradle.d.mts +0 -2
- package/lib/del-node-modules.d.mts +0 -2
- package/lib/del-ps.d.mts +0 -2
- package/lib/del-yarn-caches.d.mts +0 -2
- package/lib/find-node-modules-cli.d.mts +0 -1
- package/lib/find-node-modules.d.mts +0 -13
- package/lib/find-node-modules.js +0 -53
- package/lib/git/gitattributes.d.mts +0 -35
- package/lib/git/gitattributes.js +0 -223
- package/lib/git/line-endings.d.mts +0 -83
- package/lib/git/line-endings.d.ts +0 -83
- package/lib/git/normalize.d.mts +0 -43
- package/lib/git/normalize.d.ts +0 -43
- package/lib/git/permissions.d.mts +0 -17
- package/lib/git/permissions.d.ts +0 -17
- package/lib/git/pull-strategy.d.mts +0 -15
- package/lib/git/pull-strategy.d.ts +0 -15
- package/lib/git/user-config.d.mts +0 -105
- package/lib/git/user-config.d.ts +0 -105
- package/lib/git/utils.d.mts +0 -69
- package/lib/git/utils.d.ts +0 -69
- package/lib/git-diff.d.mts +0 -84
- package/lib/git-fix.d.mts +0 -141
- package/lib/git-fix.d.ts +0 -141
- package/lib/git-purge.d.mts +0 -2
- package/lib/git-purge.js +0 -59
- package/lib/index.d.mts +0 -1
- package/lib/npm-run-series.d.mts +0 -1
- package/lib/npm-run-series.js +0 -86
- package/lib/package-resolutions-updater.d.ts +0 -352
- package/lib/print-directory-tree.d.mts +0 -234
- package/lib/print-directory-tree.d.ts +0 -234
- package/lib/ps/connected-domain.d.mts +0 -3
- package/lib/ps/index.d.d.mts +0 -26
- package/lib/ps/index.d.d.ts +0 -26
- package/lib/ps/index.d.mts +0 -26
- package/lib/ps/isWin.d.mts +0 -3
- package/lib/ps/table-parser.d.mts +0 -3
- package/lib/submodule-install.d.mts +0 -121
- package/lib/submodule-install.d.ts +0 -121
- package/lib/utils.d.mts +0 -40
- package/lib/utils.js +0 -181
- package/lib/yarn-reinstall.d.mts +0 -49
- package/lib/yarn-reinstall.d.ts +0 -49
- package/src/package-resolutions-updater.mjs +0 -350
- package/src/print-directory-tree.cjs +0 -234
- package/src/ps/index.js +0 -286
- package/src/yarn-reinstall.cjs +0 -49
- /package/{bin → binaries}/nodekill +0 -0
- /package/{bin → binaries}/nodekill.cmd +0 -0
- /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
- /package/lib/{changelog.d.ts → changelog.d.cts} +0 -0
- /package/lib/{git-purge.d.ts → free-chatgpt.d.ts} +0 -0
- /package/lib/{git-diff.d.cts → git-diff-cli.d.ts} +0 -0
- /package/lib/{npm-run-series.d.ts → npm-run-series.d.cts} +0 -0
- /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
package/lib/git/user-config.cjs
CHANGED
|
@@ -1,100 +1,330 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (
|
|
25
|
-
|
|
1
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
+
var __esm = (fn, res) => function __init() {
|
|
3
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
4
|
+
};
|
|
5
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
6
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
// node_modules/tsup/assets/cjs_shims.js
|
|
10
|
+
var init_cjs_shims = __esm({
|
|
11
|
+
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// src/git/utils.cjs
|
|
16
|
+
var require_utils = __commonJS({
|
|
17
|
+
"src/git/utils.cjs"(exports2, module2) {
|
|
18
|
+
init_cjs_shims();
|
|
19
|
+
var { execSync, spawnSync } = require("child_process");
|
|
20
|
+
function runGitCommand2(args, description) {
|
|
21
|
+
try {
|
|
22
|
+
console.log(`[i] ${description}`);
|
|
23
|
+
const result = spawnSync("git", args, { encoding: "utf-8" });
|
|
24
|
+
if (result.status !== 0) {
|
|
25
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
26
|
+
console.error(`Error: ${result.stderr || result.stdout}`);
|
|
27
|
+
return false;
|
|
26
28
|
}
|
|
29
|
+
console.log(`[\u2713] ${description}`);
|
|
30
|
+
return true;
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
33
|
+
console.error(`Error: ${error.message}`);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
27
36
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
function isGitRepository(cwd) {
|
|
38
|
+
const dir = typeof cwd === "string" ? cwd : process.cwd();
|
|
39
|
+
try {
|
|
40
|
+
execSync("git rev-parse --git-dir", { stdio: "pipe", cwd: dir });
|
|
41
|
+
return true;
|
|
42
|
+
} catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
function runGitCommandOutput2(args, description) {
|
|
47
|
+
try {
|
|
48
|
+
console.log(`[i] ${description}`);
|
|
49
|
+
const result = spawnSync("git", args, { encoding: "utf-8" });
|
|
50
|
+
if (result.status !== 0) {
|
|
51
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
52
|
+
console.error(`Error: ${result.stderr || result.stdout}`);
|
|
53
|
+
return null;
|
|
36
54
|
}
|
|
55
|
+
console.log(`[\u2713] ${description}`);
|
|
56
|
+
return result.stdout.trim();
|
|
57
|
+
} catch (error) {
|
|
58
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
59
|
+
console.error(`Error: ${error.message}`);
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
37
62
|
}
|
|
38
|
-
|
|
39
|
-
|
|
63
|
+
module2.exports = {
|
|
64
|
+
runGitCommand: runGitCommand2,
|
|
65
|
+
runGitCommandOutput: runGitCommandOutput2,
|
|
66
|
+
isGitRepository
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// src/utils/index.cjs
|
|
72
|
+
var require_utils2 = __commonJS({
|
|
73
|
+
"src/utils/index.cjs"(exports2, module2) {
|
|
74
|
+
init_cjs_shims();
|
|
75
|
+
var fs = require("fs");
|
|
76
|
+
var path = require("upath");
|
|
77
|
+
var argv = require("minimist")(process.argv.slice(2));
|
|
78
|
+
var { exec } = require("child_process");
|
|
79
|
+
var { URL: URL2 } = require("url");
|
|
80
|
+
var { promisify } = require("util");
|
|
81
|
+
var execAsync = promisify(exec);
|
|
82
|
+
async function parseGitRemotes() {
|
|
83
|
+
try {
|
|
84
|
+
const { stdout } = await execAsync("git remote -v");
|
|
85
|
+
const lines = stdout.split("\n");
|
|
86
|
+
const remotes = {};
|
|
87
|
+
lines.forEach((line) => {
|
|
88
|
+
const [name, url] = line.split(" ");
|
|
89
|
+
if (name && url) {
|
|
90
|
+
const [repoUrl] = url.split(" ");
|
|
91
|
+
try {
|
|
92
|
+
const parsedUrl = new URL2(repoUrl);
|
|
93
|
+
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
94
|
+
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
95
|
+
let repoPath = pathParts.join("/");
|
|
96
|
+
if (repoPath.endsWith(".git")) {
|
|
97
|
+
repoPath = repoPath.slice(0, -4);
|
|
98
|
+
}
|
|
99
|
+
remotes[name] = repoPath;
|
|
100
|
+
}
|
|
101
|
+
} catch (e) {
|
|
102
|
+
console.error("URL Parsing Error:", e.message);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return remotes;
|
|
107
|
+
} catch (error) {
|
|
108
|
+
console.error("Error:", error.message);
|
|
109
|
+
return {};
|
|
110
|
+
}
|
|
40
111
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
112
|
+
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
113
|
+
function joinPathPreserveDriveLetter(...segments) {
|
|
114
|
+
let fullPath = require("path").join(...segments);
|
|
115
|
+
if (/^[a-z]:\\/.test(fullPath)) {
|
|
116
|
+
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
117
|
+
}
|
|
118
|
+
return fullPath;
|
|
119
|
+
}
|
|
120
|
+
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
121
|
+
function getArgs2() {
|
|
122
|
+
return argv;
|
|
123
|
+
}
|
|
124
|
+
module2.exports.getArgs = getArgs2;
|
|
125
|
+
function del(fullPath) {
|
|
126
|
+
try {
|
|
127
|
+
if (!fs.existsSync(fullPath)) return;
|
|
128
|
+
const stat = fs.lstatSync(fullPath);
|
|
129
|
+
if (stat.isSymbolicLink()) {
|
|
130
|
+
try {
|
|
131
|
+
fs.unlinkSync(fullPath);
|
|
132
|
+
console.log("deleted symlink", fullPath);
|
|
133
|
+
} catch (e) {
|
|
134
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (stat.isDirectory()) {
|
|
139
|
+
const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
|
|
140
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
141
|
+
del(subdir[i]);
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
fs.rmdirSync(fullPath);
|
|
145
|
+
console.log("deleted", fullPath);
|
|
146
|
+
} catch (e) {
|
|
147
|
+
try {
|
|
148
|
+
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
149
|
+
console.log("deleted", fullPath);
|
|
150
|
+
} catch (ee) {
|
|
151
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
fs.unlinkSync(fullPath);
|
|
158
|
+
console.log("deleted", fullPath);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
try {
|
|
161
|
+
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
162
|
+
console.log("deleted", fullPath);
|
|
163
|
+
} catch (ee) {
|
|
164
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
165
|
+
}
|
|
45
166
|
}
|
|
167
|
+
} catch (err) {
|
|
168
|
+
console.log("failed delete", fullPath, err && err.message);
|
|
169
|
+
}
|
|
46
170
|
}
|
|
47
|
-
|
|
48
|
-
|
|
171
|
+
module2.exports.del = del;
|
|
172
|
+
function delStream(globStream) {
|
|
173
|
+
globStream.stream().on("data", (result) => {
|
|
174
|
+
const fullPath = path.resolve(process.cwd(), result);
|
|
175
|
+
try {
|
|
176
|
+
if (fs.existsSync(fullPath)) {
|
|
177
|
+
const stat = fs.lstatSync(fullPath);
|
|
178
|
+
if (stat.isSymbolicLink()) {
|
|
179
|
+
try {
|
|
180
|
+
fs.unlinkSync(fullPath);
|
|
181
|
+
console.log("deleted symlink", fullPath);
|
|
182
|
+
} catch (e) {
|
|
183
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (stat.isDirectory()) {
|
|
188
|
+
const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
|
|
189
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
190
|
+
del(subdir[i]);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
del(fullPath);
|
|
195
|
+
} catch (err) {
|
|
196
|
+
console.log("failed processing", fullPath, err && err.message);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
module2.exports.delStream = delStream;
|
|
201
|
+
function getFileTreeString(hashArray) {
|
|
202
|
+
const tree = {};
|
|
203
|
+
const hashMap = {};
|
|
204
|
+
for (const entry of hashArray) {
|
|
205
|
+
const [filePath, hash] = entry.split(" ");
|
|
206
|
+
hashMap[filePath] = hash;
|
|
207
|
+
const parts = filePath.split("/");
|
|
208
|
+
let current = tree;
|
|
209
|
+
for (let i = 0; i < parts.length; i++) {
|
|
210
|
+
const part = parts[i];
|
|
211
|
+
if (i === parts.length - 1) {
|
|
212
|
+
current[part] = null;
|
|
213
|
+
} else {
|
|
214
|
+
current[part] = current[part] || {};
|
|
215
|
+
current = current[part];
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
function printNode(node, prefix = "", parentPath = "") {
|
|
220
|
+
const keys = Object.keys(node).sort();
|
|
221
|
+
let lines = [];
|
|
222
|
+
keys.forEach((key, idx) => {
|
|
223
|
+
const isLast = idx === keys.length - 1;
|
|
224
|
+
const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
|
|
225
|
+
const currentPath = parentPath ? parentPath + "/" + key : key;
|
|
226
|
+
if (node[key] === null) {
|
|
227
|
+
lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
|
|
228
|
+
} else {
|
|
229
|
+
lines.push(prefix + branch + key + "/");
|
|
230
|
+
lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "\u2502 "), currentPath));
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
return lines;
|
|
234
|
+
}
|
|
235
|
+
return printNode(tree, "", "").join("\n");
|
|
49
236
|
}
|
|
237
|
+
module2.exports.getFileTreeString = getFileTreeString;
|
|
238
|
+
var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
239
|
+
module2.exports.delay = delay;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
// src/git/user-config.cjs
|
|
244
|
+
init_cjs_shims();
|
|
245
|
+
var gch = require("git-command-helper");
|
|
246
|
+
var { runGitCommand, runGitCommandOutput } = require_utils();
|
|
247
|
+
var { getArgs } = require_utils2();
|
|
248
|
+
require("dotenv").config({ path: require("path").join(process.cwd(), ".env"), quiet: true });
|
|
249
|
+
function configureGitUser(cliUser = null, cliEmail = null, options = {}) {
|
|
250
|
+
console.log("\n=== Configuring Git User ===");
|
|
251
|
+
let username, email;
|
|
252
|
+
if (cliUser && cliEmail) {
|
|
253
|
+
username = cliUser.trim();
|
|
254
|
+
email = cliEmail.trim();
|
|
255
|
+
console.log("[i] Using CLI-provided user configuration");
|
|
256
|
+
} else {
|
|
257
|
+
username = process.env.GITHUB_USER ? process.env.GITHUB_USER.trim() : void 0;
|
|
258
|
+
email = process.env.GITHUB_EMAIL ? process.env.GITHUB_EMAIL.trim() : void 0;
|
|
50
259
|
if (username || email) {
|
|
51
|
-
|
|
260
|
+
console.log("[i] Using environment variable user configuration");
|
|
52
261
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
262
|
+
}
|
|
263
|
+
if (!username && !email) {
|
|
264
|
+
console.log("[i] No Git user configuration needed (no CLI args or environment variables set)");
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (username) {
|
|
268
|
+
const success = runGitCommand(["config", "user.name", username], `Set Git username to "${username}"`);
|
|
269
|
+
if (!success) {
|
|
270
|
+
console.log("[i] Failed to set Git username, but continuing...");
|
|
271
|
+
}
|
|
272
|
+
} else {
|
|
273
|
+
console.log("[i] No username provided, skipping username configuration");
|
|
274
|
+
}
|
|
275
|
+
if (email) {
|
|
276
|
+
const success = runGitCommand(["config", "user.email", email], `Set Git email to "${email}"`);
|
|
277
|
+
if (!success) {
|
|
278
|
+
console.log("[i] Failed to set Git email, but continuing...");
|
|
279
|
+
}
|
|
280
|
+
} else {
|
|
281
|
+
console.log("[i] No email provided, skipping email configuration");
|
|
282
|
+
}
|
|
283
|
+
if (username || email) {
|
|
284
|
+
console.log("[\u2713] Git user configuration completed");
|
|
285
|
+
}
|
|
286
|
+
if (username) {
|
|
287
|
+
const remoteUrl = runGitCommandOutput(["remote", "get-url", "origin"], "Fetching remote URL for verification");
|
|
288
|
+
if (remoteUrl) {
|
|
289
|
+
console.log(`[i] Remote URL: ${remoteUrl}`);
|
|
290
|
+
const parsedUrl = gch.parseGitHubUrl(remoteUrl);
|
|
291
|
+
if (parsedUrl && parsedUrl.owner && username && parsedUrl.owner.toLowerCase() !== username.toLowerCase()) {
|
|
292
|
+
console.warn(
|
|
293
|
+
`
|
|
294
|
+
[!] The GitHub remote owner ("${parsedUrl.owner}") does not match the configured username ("${username}").`
|
|
295
|
+
);
|
|
296
|
+
console.warn(`[!] If this is not intentional, consider updating the remote URL to use your username.`);
|
|
297
|
+
console.warn(`[!] Example: git remote set-url origin https://github.com/${username}/<repo>.git
|
|
298
|
+
`);
|
|
299
|
+
const args = getArgs();
|
|
300
|
+
const updateRemote = options.updateRemote || args["update-remote"] === true;
|
|
301
|
+
if (updateRemote) {
|
|
302
|
+
let newUrl = remoteUrl;
|
|
303
|
+
if (/^https:\/\//.test(remoteUrl)) {
|
|
304
|
+
newUrl = remoteUrl.replace(/https:\/\/(?:[^@]+@)?github.com/, `https://${username}@github.com`);
|
|
305
|
+
} else if (/^git@github.com:/.test(remoteUrl)) {
|
|
306
|
+
console.warn(
|
|
307
|
+
`[!] For SSH remotes, set your SSH config or use HTTPS with username if you want to change authentication user.`
|
|
308
|
+
);
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (newUrl !== remoteUrl) {
|
|
312
|
+
const updated = runGitCommand(["remote", "set-url", "origin", newUrl], `Set origin to ${newUrl}`);
|
|
313
|
+
if (updated) {
|
|
314
|
+
console.log(`[\u2713] Remote URL updated to: ${newUrl}`);
|
|
315
|
+
} else {
|
|
316
|
+
console.warn(`[!] Failed to update remote URL. Please update it manually if needed.`);
|
|
94
317
|
}
|
|
318
|
+
} else {
|
|
319
|
+
console.log(`[i] Remote URL does not use HTTPS or already contains the username.`);
|
|
320
|
+
}
|
|
321
|
+
} else {
|
|
322
|
+
console.log(`[i] Remote URL not changed. Use --update-remote to update automatically.`);
|
|
95
323
|
}
|
|
324
|
+
}
|
|
96
325
|
}
|
|
326
|
+
}
|
|
97
327
|
}
|
|
98
328
|
module.exports = {
|
|
99
|
-
|
|
329
|
+
configureGitUser
|
|
100
330
|
};
|
package/lib/git/user-config.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
require_user_config
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-AJDD5DZM.mjs";
|
|
5
|
+
import "../chunk-A3VUZEJK.mjs";
|
|
6
|
+
import "../chunk-Z6JLYU2J.mjs";
|
|
7
|
+
import "../chunk-QQ4A6DLD.mjs";
|
|
8
8
|
export default require_user_config();
|
package/lib/git/utils.cjs
CHANGED
|
@@ -1,70 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Execute a git command with proper error handling and logging
|
|
5
|
-
* @param {string[]} args - Git command arguments
|
|
6
|
-
* @param {string} description - Description of the operation for logging
|
|
7
|
-
* @returns {boolean} - True if successful, false otherwise
|
|
8
|
-
*/
|
|
1
|
+
// src/git/utils.cjs
|
|
2
|
+
var { execSync, spawnSync } = require("child_process");
|
|
9
3
|
function runGitCommand(args, description) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
console.log(`[✓] ${description}`);
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
console.error(`[✗] Failed: ${description}`);
|
|
23
|
-
console.error(`Error: ${error.message}`);
|
|
24
|
-
return false;
|
|
4
|
+
try {
|
|
5
|
+
console.log(`[i] ${description}`);
|
|
6
|
+
const result = spawnSync("git", args, { encoding: "utf-8" });
|
|
7
|
+
if (result.status !== 0) {
|
|
8
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
9
|
+
console.error(`Error: ${result.stderr || result.stdout}`);
|
|
10
|
+
return false;
|
|
25
11
|
}
|
|
12
|
+
console.log(`[\u2713] ${description}`);
|
|
13
|
+
return true;
|
|
14
|
+
} catch (error) {
|
|
15
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
16
|
+
console.error(`Error: ${error.message}`);
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
26
19
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Check if the given cwd (or current directory) is a git repository
|
|
29
|
-
* @param {string} [cwd] - Directory to check (defaults to current directory at call time)
|
|
30
|
-
* @returns {boolean} - True if in a git repository, false otherwise
|
|
31
|
-
*/
|
|
32
20
|
function isGitRepository(cwd) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
21
|
+
const dir = typeof cwd === "string" ? cwd : process.cwd();
|
|
22
|
+
try {
|
|
23
|
+
execSync("git rev-parse --git-dir", { stdio: "pipe", cwd: dir });
|
|
24
|
+
return true;
|
|
25
|
+
} catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
41
28
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Execute a git command and return stdout (or null on error)
|
|
44
|
-
* @param {string[]} args - Git command arguments
|
|
45
|
-
* @param {string} description - Description of the operation for logging
|
|
46
|
-
* @returns {string|null} - stdout string if successful, null otherwise
|
|
47
|
-
*/
|
|
48
29
|
function runGitCommandOutput(args, description) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
console.log(`[✓] ${description}`);
|
|
58
|
-
return result.stdout.trim();
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
console.error(`[✗] Failed: ${description}`);
|
|
62
|
-
console.error(`Error: ${error.message}`);
|
|
63
|
-
return null;
|
|
30
|
+
try {
|
|
31
|
+
console.log(`[i] ${description}`);
|
|
32
|
+
const result = spawnSync("git", args, { encoding: "utf-8" });
|
|
33
|
+
if (result.status !== 0) {
|
|
34
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
35
|
+
console.error(`Error: ${result.stderr || result.stdout}`);
|
|
36
|
+
return null;
|
|
64
37
|
}
|
|
38
|
+
console.log(`[\u2713] ${description}`);
|
|
39
|
+
return result.stdout.trim();
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error(`[\u2717] Failed: ${description}`);
|
|
42
|
+
console.error(`Error: ${error.message}`);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
65
45
|
}
|
|
66
46
|
module.exports = {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
47
|
+
runGitCommand,
|
|
48
|
+
runGitCommandOutput,
|
|
49
|
+
isGitRepository
|
|
70
50
|
};
|
package/lib/git/utils.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
require_utils
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-A3VUZEJK.mjs";
|
|
5
|
+
import "../chunk-QQ4A6DLD.mjs";
|
|
6
6
|
export default require_utils();
|