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
|
@@ -1,101 +1,326 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
])
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __esm = (fn, res) => function __init() {
|
|
4
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
5
|
+
};
|
|
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 argv = 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);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return remotes;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.error("Error:", error.message);
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
42
56
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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;
|
|
48
64
|
}
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
66
|
+
function getArgs2() {
|
|
67
|
+
return argv;
|
|
51
68
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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;
|
|
64
82
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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;
|
|
68
100
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
+
}
|
|
74
111
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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;
|
|
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
|
+
}
|
|
138
|
+
}
|
|
139
|
+
del(fullPath);
|
|
140
|
+
} catch (err) {
|
|
141
|
+
console.log("failed processing", fullPath, err && err.message);
|
|
78
142
|
}
|
|
143
|
+
});
|
|
79
144
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
+
}
|
|
88
162
|
}
|
|
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
|
+
}
|
|
177
|
+
});
|
|
178
|
+
return lines;
|
|
179
|
+
}
|
|
180
|
+
return printNode(tree, "", "").join("\n");
|
|
89
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/submodule-install.cjs
|
|
189
|
+
init_cjs_shims();
|
|
190
|
+
var { spawnSync } = require("child_process");
|
|
191
|
+
var color = require("ansi-colors");
|
|
192
|
+
var fs = require("fs");
|
|
193
|
+
var path = require("path");
|
|
194
|
+
var dotenv = require("dotenv");
|
|
195
|
+
var envPath = path.resolve(process.cwd(), ".env");
|
|
196
|
+
if (fs.existsSync(envPath)) dotenv.config({ path: envPath, override: true, quiet: true });
|
|
197
|
+
var { getArgs } = require_utils();
|
|
198
|
+
var args = getArgs();
|
|
199
|
+
var positional = args._ || [];
|
|
200
|
+
if (args.help || args.h) {
|
|
201
|
+
console.log();
|
|
202
|
+
console.log("Usage: submodule-install [options] [repo-path]");
|
|
203
|
+
console.log();
|
|
204
|
+
console.log("Options:");
|
|
205
|
+
console.log(" --cwd <path> Set working directory");
|
|
206
|
+
console.log(" --help, -h Show this help message");
|
|
207
|
+
console.log();
|
|
208
|
+
console.log("Description:");
|
|
209
|
+
console.log(" Installs and updates git submodules recursively, applying access tokens for private repos.");
|
|
210
|
+
console.log();
|
|
211
|
+
process.exit(0);
|
|
90
212
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
213
|
+
var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
|
|
214
|
+
var ROOT = runGit(["rev-parse", "--show-toplevel"]).trim();
|
|
215
|
+
var REPO_PATH = ROOT;
|
|
216
|
+
if (args.cwd) {
|
|
217
|
+
ROOT = path.resolve(args.cwd);
|
|
218
|
+
} else if (positional.length > 0) {
|
|
219
|
+
ROOT = path.resolve(positional[0]);
|
|
220
|
+
}
|
|
221
|
+
var CURRENT_PATH = ROOT;
|
|
222
|
+
var VISITED_SUBMODULES = (process.env.VISITED_SUBMODULES || "").split(path.delimiter).filter(Boolean);
|
|
223
|
+
if (VISITED_SUBMODULES.includes(CURRENT_PATH)) {
|
|
224
|
+
console.log(`Skipping ${CURRENT_PATH} (already processed) to avoid recursion.`);
|
|
225
|
+
process.exit(0);
|
|
226
|
+
}
|
|
227
|
+
VISITED_SUBMODULES.push(CURRENT_PATH);
|
|
228
|
+
process.env.VISITED_SUBMODULES = VISITED_SUBMODULES.join(path.delimiter);
|
|
229
|
+
console.log(`Installing submodules at ${ROOT}`);
|
|
230
|
+
var submoduleList = runGit([
|
|
231
|
+
"-C",
|
|
232
|
+
REPO_PATH,
|
|
233
|
+
"config",
|
|
234
|
+
"-f",
|
|
235
|
+
".gitmodules",
|
|
236
|
+
"--get-regexp",
|
|
237
|
+
"^submodule\\..*\\.path$"
|
|
238
|
+
]).split("\n").filter(Boolean);
|
|
239
|
+
for (const line of submoduleList) {
|
|
240
|
+
const [KEY, MODULE_PATH] = line.trim().split(/\s+/);
|
|
241
|
+
const RELATIVE_MODULE_PATH = path.join(ROOT, MODULE_PATH);
|
|
242
|
+
if (fs.existsSync(RELATIVE_MODULE_PATH)) {
|
|
243
|
+
console.log(`Deleting ${RELATIVE_MODULE_PATH}`);
|
|
244
|
+
fs.rmSync(RELATIVE_MODULE_PATH, { recursive: true, force: true });
|
|
245
|
+
}
|
|
246
|
+
const NAME = KEY.match(/^submodule\.(.*)\.path$/)[1];
|
|
247
|
+
const URL2 = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.url`]).trim();
|
|
248
|
+
let BRANCH = "master";
|
|
249
|
+
try {
|
|
250
|
+
BRANCH = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
|
|
251
|
+
} catch {
|
|
252
|
+
}
|
|
253
|
+
console.log(`Submodule: ${color.cyan(NAME)}`);
|
|
254
|
+
console.log(` Location: ${color.magenta(MODULE_PATH)}`);
|
|
255
|
+
console.log(` ROOT: ${color.yellow(ROOT)}`);
|
|
256
|
+
console.log(` URL: ${color.blue(URL2)}`);
|
|
257
|
+
console.log(` Branch: ${color.green(BRANCH)}`);
|
|
258
|
+
const addResult = runGit(
|
|
259
|
+
["-C", REPO_PATH, "submodule", "add", "--force", "-b", BRANCH, "--name", NAME, URL2, MODULE_PATH],
|
|
260
|
+
true
|
|
261
|
+
);
|
|
262
|
+
if (addResult.status !== 0) {
|
|
263
|
+
console.warn(`Cannot add submodule ${MODULE_PATH}`);
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
|
|
267
|
+
console.warn(`Submodule directory ${RELATIVE_MODULE_PATH} does not exist after add. Attempting manual clone...`);
|
|
268
|
+
try {
|
|
269
|
+
runGit(["clone", "--branch", BRANCH, URL2, RELATIVE_MODULE_PATH]);
|
|
270
|
+
} catch (e) {
|
|
271
|
+
console.error(`Manual clone failed for ${RELATIVE_MODULE_PATH}: ${e.message}`);
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
|
|
275
|
+
console.error(`Submodule directory ${RELATIVE_MODULE_PATH} still does not exist after manual clone. Skipping.`);
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
const GIT_MODULES = path.join(RELATIVE_MODULE_PATH, ".gitmodules");
|
|
280
|
+
if (ACCESS_TOKEN) {
|
|
281
|
+
let URL_WITH_TOKEN;
|
|
282
|
+
let repoInfo;
|
|
283
|
+
if (URL2.includes("github.com")) {
|
|
284
|
+
repoInfo = URL2.replace("https://github.com/", "");
|
|
285
|
+
URL_WITH_TOKEN = `https://${ACCESS_TOKEN}@github.com/${repoInfo}`;
|
|
286
|
+
} else if (URL2.includes("gitlab.com") && typeof process.env.GITLAB_TOKEN === "string") {
|
|
287
|
+
repoInfo = URL2.replace("https://gitlab.com/", "");
|
|
288
|
+
URL_WITH_TOKEN = `https://oauth2:${ACCESS_TOKEN}@gitlab.com/${repoInfo}`;
|
|
289
|
+
} else {
|
|
290
|
+
const urlObj = new URL2(URL2);
|
|
291
|
+
repoInfo = urlObj.pathname.substring(1);
|
|
292
|
+
URL_WITH_TOKEN = `${urlObj.protocol}//${ACCESS_TOKEN}@${urlObj.host}${urlObj.pathname}`;
|
|
293
|
+
}
|
|
294
|
+
if (URL_WITH_TOKEN && URL_WITH_TOKEN.length > 0) {
|
|
295
|
+
console.log(`Apply token for ${repoInfo} at ${MODULE_PATH} branch ${BRANCH}`);
|
|
296
|
+
runGit(["-C", RELATIVE_MODULE_PATH, "remote", "set-url", "origin", URL_WITH_TOKEN]);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
runGit(["-C", RELATIVE_MODULE_PATH, "fetch", "--all"]);
|
|
300
|
+
runGit(["-C", RELATIVE_MODULE_PATH, "pull", "origin", BRANCH, "-X", "theirs"]);
|
|
301
|
+
if (fs.existsSync(GIT_MODULES)) {
|
|
302
|
+
console.log(`${MODULE_PATH} has submodules`);
|
|
303
|
+
const env = Object.assign({}, process.env, {
|
|
304
|
+
VISITED_SUBMODULES: process.env.VISITED_SUBMODULES + path.delimiter + path.resolve(RELATIVE_MODULE_PATH)
|
|
305
|
+
});
|
|
306
|
+
const result = spawnSync("node", [__filename, "-cwd", RELATIVE_MODULE_PATH], {
|
|
307
|
+
stdio: "inherit",
|
|
308
|
+
env,
|
|
309
|
+
cwd: RELATIVE_MODULE_PATH
|
|
310
|
+
});
|
|
97
311
|
if (result.status !== 0) {
|
|
98
|
-
|
|
312
|
+
console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
|
|
313
|
+
process.exit(result.status);
|
|
99
314
|
}
|
|
100
|
-
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
runGit(["-C", REPO_PATH, "submodule", "update", "--init", "--recursive"]);
|
|
318
|
+
function runGit(args2, returnResult = false) {
|
|
319
|
+
console.log(`Executing: git ${args2.join(" ")}`);
|
|
320
|
+
const result = spawnSync("git", args2, { encoding: "utf-8" });
|
|
321
|
+
if (returnResult) return result;
|
|
322
|
+
if (result.status !== 0) {
|
|
323
|
+
throw new Error(result.stderr || `git ${args2.join(" ")} failed`);
|
|
324
|
+
}
|
|
325
|
+
return result.stdout || "";
|
|
101
326
|
}
|
|
@@ -2,27 +2,41 @@
|
|
|
2
2
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
require_utils
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-Z6JLYU2J.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__commonJS,
|
|
8
8
|
__filename,
|
|
9
9
|
__require,
|
|
10
10
|
init_esm_shims
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
12
12
|
|
|
13
13
|
// src/submodule-install.cjs
|
|
14
14
|
var require_submodule_install = __commonJS({
|
|
15
15
|
"src/submodule-install.cjs"() {
|
|
16
16
|
init_esm_shims();
|
|
17
17
|
var { spawnSync } = __require("child_process");
|
|
18
|
+
var color = __require("ansi-colors");
|
|
18
19
|
var fs = __require("fs");
|
|
19
20
|
var path = __require("path");
|
|
20
21
|
var dotenv = __require("dotenv");
|
|
21
22
|
var envPath = path.resolve(process.cwd(), ".env");
|
|
22
|
-
if (fs.existsSync(envPath)) dotenv.config({ path: envPath });
|
|
23
|
+
if (fs.existsSync(envPath)) dotenv.config({ path: envPath, override: true, quiet: true });
|
|
23
24
|
var { getArgs } = require_utils();
|
|
24
25
|
var args = getArgs();
|
|
25
26
|
var positional = args._ || [];
|
|
27
|
+
if (args.help || args.h) {
|
|
28
|
+
console.log();
|
|
29
|
+
console.log("Usage: submodule-install [options] [repo-path]");
|
|
30
|
+
console.log();
|
|
31
|
+
console.log("Options:");
|
|
32
|
+
console.log(" --cwd <path> Set working directory");
|
|
33
|
+
console.log(" --help, -h Show this help message");
|
|
34
|
+
console.log();
|
|
35
|
+
console.log("Description:");
|
|
36
|
+
console.log(" Installs and updates git submodules recursively, applying access tokens for private repos.");
|
|
37
|
+
console.log();
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
26
40
|
var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
|
|
27
41
|
var ROOT = runGit(["rev-parse", "--show-toplevel"]).trim();
|
|
28
42
|
var REPO_PATH = ROOT;
|
|
@@ -31,6 +45,14 @@ var require_submodule_install = __commonJS({
|
|
|
31
45
|
} else if (positional.length > 0) {
|
|
32
46
|
ROOT = path.resolve(positional[0]);
|
|
33
47
|
}
|
|
48
|
+
var CURRENT_PATH = ROOT;
|
|
49
|
+
var VISITED_SUBMODULES = (process.env.VISITED_SUBMODULES || "").split(path.delimiter).filter(Boolean);
|
|
50
|
+
if (VISITED_SUBMODULES.includes(CURRENT_PATH)) {
|
|
51
|
+
console.log(`Skipping ${CURRENT_PATH} (already processed) to avoid recursion.`);
|
|
52
|
+
process.exit(0);
|
|
53
|
+
}
|
|
54
|
+
VISITED_SUBMODULES.push(CURRENT_PATH);
|
|
55
|
+
process.env.VISITED_SUBMODULES = VISITED_SUBMODULES.join(path.delimiter);
|
|
34
56
|
console.log(`Installing submodules at ${ROOT}`);
|
|
35
57
|
var submoduleList = runGit([
|
|
36
58
|
"-C",
|
|
@@ -55,6 +77,11 @@ var require_submodule_install = __commonJS({
|
|
|
55
77
|
BRANCH = runGit(["config", "-f", ".gitmodules", "--get", `submodule.${NAME}.branch`]).trim();
|
|
56
78
|
} catch {
|
|
57
79
|
}
|
|
80
|
+
console.log(`Submodule: ${color.cyan(NAME)}`);
|
|
81
|
+
console.log(` Location: ${color.magenta(MODULE_PATH)}`);
|
|
82
|
+
console.log(` ROOT: ${color.yellow(ROOT)}`);
|
|
83
|
+
console.log(` URL: ${color.blue(URL)}`);
|
|
84
|
+
console.log(` Branch: ${color.green(BRANCH)}`);
|
|
58
85
|
const addResult = runGit(
|
|
59
86
|
["-C", REPO_PATH, "submodule", "add", "--force", "-b", BRANCH, "--name", NAME, URL, MODULE_PATH],
|
|
60
87
|
true
|
|
@@ -63,9 +90,22 @@ var require_submodule_install = __commonJS({
|
|
|
63
90
|
console.warn(`Cannot add submodule ${MODULE_PATH}`);
|
|
64
91
|
continue;
|
|
65
92
|
}
|
|
93
|
+
if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
|
|
94
|
+
console.warn(`Submodule directory ${RELATIVE_MODULE_PATH} does not exist after add. Attempting manual clone...`);
|
|
95
|
+
try {
|
|
96
|
+
runGit(["clone", "--branch", BRANCH, URL, RELATIVE_MODULE_PATH]);
|
|
97
|
+
} catch (e) {
|
|
98
|
+
console.error(`Manual clone failed for ${RELATIVE_MODULE_PATH}: ${e.message}`);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (!fs.existsSync(RELATIVE_MODULE_PATH)) {
|
|
102
|
+
console.error(`Submodule directory ${RELATIVE_MODULE_PATH} still does not exist after manual clone. Skipping.`);
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
66
106
|
const GIT_MODULES = path.join(RELATIVE_MODULE_PATH, ".gitmodules");
|
|
67
107
|
if (ACCESS_TOKEN) {
|
|
68
|
-
let URL_WITH_TOKEN
|
|
108
|
+
let URL_WITH_TOKEN;
|
|
69
109
|
let repoInfo;
|
|
70
110
|
if (URL.includes("github.com")) {
|
|
71
111
|
repoInfo = URL.replace("https://github.com/", "");
|
|
@@ -87,7 +127,14 @@ var require_submodule_install = __commonJS({
|
|
|
87
127
|
runGit(["-C", RELATIVE_MODULE_PATH, "pull", "origin", BRANCH, "-X", "theirs"]);
|
|
88
128
|
if (fs.existsSync(GIT_MODULES)) {
|
|
89
129
|
console.log(`${MODULE_PATH} has submodules`);
|
|
90
|
-
const
|
|
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
|
+
});
|
|
91
138
|
if (result.status !== 0) {
|
|
92
139
|
console.error(`Recursive submodule failed for ${RELATIVE_MODULE_PATH}`);
|
|
93
140
|
process.exit(result.status);
|
|
@@ -96,6 +143,7 @@ var require_submodule_install = __commonJS({
|
|
|
96
143
|
}
|
|
97
144
|
runGit(["-C", REPO_PATH, "submodule", "update", "--init", "--recursive"]);
|
|
98
145
|
function runGit(args2, returnResult = false) {
|
|
146
|
+
console.log(`Executing: git ${args2.join(" ")}`);
|
|
99
147
|
const result = spawnSync("git", args2, { encoding: "utf-8" });
|
|
100
148
|
if (returnResult) return result;
|
|
101
149
|
if (result.status !== 0) {
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __esm = (fn, res) => function __init() {
|
|
9
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
|
+
};
|
|
11
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
12
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
+
mod
|
|
29
|
+
));
|
|
30
|
+
|
|
31
|
+
// node_modules/tsup/assets/cjs_shims.js
|
|
32
|
+
var init_cjs_shims = __esm({
|
|
33
|
+
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// src/submodule-remove.cjs
|
|
38
|
+
var require_submodule_remove = __commonJS({
|
|
39
|
+
"src/submodule-remove.cjs"(exports2, module2) {
|
|
40
|
+
init_cjs_shims();
|
|
41
|
+
var { spawnAsync } = require("cross-spawn");
|
|
42
|
+
var path2 = require("upath");
|
|
43
|
+
var fs2 = require("fs-extra");
|
|
44
|
+
var dotenv = require("dotenv");
|
|
45
|
+
var envPath = path2.resolve(process.cwd(), ".env");
|
|
46
|
+
if (fs2.existsSync(envPath)) {
|
|
47
|
+
dotenv.config({ path: envPath, override: true, quiet: true });
|
|
48
|
+
}
|
|
49
|
+
async function removeSubmodule2(submodulePath2) {
|
|
50
|
+
try {
|
|
51
|
+
await spawnAsync("git", ["submodule", "deinit", "-f", submodulePath2], { stdio: "inherit" });
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.warn(`Warning: Could not deinitialize submodule "${submodulePath2}". It may not exist.`);
|
|
54
|
+
console.warn(error.message);
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
await spawnAsync("git", ["config", "--remove-section", `submodule.${submodulePath2}`], { stdio: "inherit" });
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.warn(`Warning: Could not remove git config section for submodule "${submodulePath2}". It may not exist.`);
|
|
60
|
+
console.warn(error.message);
|
|
61
|
+
}
|
|
62
|
+
const gitModulesPath = path2.resolve(".git", "modules", submodulePath2);
|
|
63
|
+
if (fs2.existsSync(gitModulesPath)) {
|
|
64
|
+
fs2.rmSync(gitModulesPath, { recursive: true, force: true });
|
|
65
|
+
console.log(`Removed .git/modules entry for submodule "${submodulePath2}".`);
|
|
66
|
+
} else {
|
|
67
|
+
console.warn(`Warning: The path "${gitModulesPath}" does not exist. Skipping removal of .git/modules entry.`);
|
|
68
|
+
}
|
|
69
|
+
const gitmodulesPath = path2.resolve(".gitmodules");
|
|
70
|
+
if (fs2.existsSync(gitmodulesPath)) {
|
|
71
|
+
let gitmodulesContent = fs2.readFileSync(gitmodulesPath, "utf-8");
|
|
72
|
+
const submoduleSectionRegex = new RegExp(
|
|
73
|
+
`\\[submodule "${submodulePath2.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")}"]([\\s\\S]*?)(?=\\[|$)`,
|
|
74
|
+
"g"
|
|
75
|
+
);
|
|
76
|
+
gitmodulesContent = gitmodulesContent.replace(submoduleSectionRegex, "").trim();
|
|
77
|
+
fs2.writeFileSync(gitmodulesPath, gitmodulesContent);
|
|
78
|
+
console.log(`Removed submodule "${submodulePath2}" from .gitmodules.`);
|
|
79
|
+
} else {
|
|
80
|
+
console.warn(`Warning: The .gitmodules file does not exist. Skipping removal of submodule "${submodulePath2}".`);
|
|
81
|
+
}
|
|
82
|
+
fs2.rmSync(path2.resolve(submodulePath2), { recursive: true, force: true });
|
|
83
|
+
console.log(`Submodule "${submodulePath2}" has been removed.`);
|
|
84
|
+
}
|
|
85
|
+
module2.exports = removeSubmodule2;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// src/submodule-remove-cli.js
|
|
90
|
+
init_cjs_shims();
|
|
91
|
+
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
92
|
+
var import_minimist = __toESM(require("minimist"), 1);
|
|
93
|
+
var import_upath = __toESM(require("upath"), 1);
|
|
94
|
+
var import_submodule_remove = __toESM(require_submodule_remove(), 1);
|
|
95
|
+
var args = (0, import_minimist.default)(process.argv.slice(2));
|
|
96
|
+
var submodulePath = args._[0];
|
|
97
|
+
if (!submodulePath) {
|
|
98
|
+
console.error("Usage: node submodule-remove.cjs <submodule-path>");
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
if (!import_fs_extra.default.existsSync(import_upath.default.resolve(submodulePath))) {
|
|
102
|
+
console.error(`Error: The path "${submodulePath}" does not exist.`);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
(async () => {
|
|
106
|
+
await (0, import_submodule_remove.default)(submodulePath);
|
|
107
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|