binary-collections 2.0.11 → 2.0.13
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/binaries/binary-executor.cjs +89 -13
- package/binaries/clean-nodemodule.cjs +89 -13
- package/binaries/clean-nodemodules.cjs +89 -13
- package/binaries/dev.cjs +89 -13
- package/binaries/empty.cjs +89 -13
- package/binaries/git-reduce-size.cjs +89 -13
- package/binaries/javakill.cjs +89 -13
- package/binaries/kill-process.cjs +89 -13
- package/binaries/nodekill.cjs +89 -13
- package/binaries/prod.cjs +89 -13
- package/binaries/py.cjs +89 -13
- package/binaries/rmfind.cjs +89 -13
- package/binaries/rmx +15 -1
- package/binaries/rmx.cjs +89 -13
- package/binaries/rmx.cmd +12 -0
- package/binaries/submodule-token.cjs +89 -13
- package/binaries/test-cjs +9 -1
- package/binaries/test-cjs.cjs +89 -13
- package/binaries/test-cjs.cmd +16 -1
- package/binaries/test-esm +16 -0
- package/binaries/test-esm.cjs +254 -0
- package/binaries/test-esm.cmd +23 -0
- package/binaries/yarn-clean +1 -1
- package/binaries/yarn-clean.cjs +89 -13
- package/binaries/yarn-clean.cmd +1 -1
- package/binaries/yarn-clean.py +33 -15
- package/binaries/yc +131 -0
- package/binaries/yc.cjs +254 -0
- package/binaries/ycw +256 -0
- package/binaries/ycw.cjs +254 -0
- package/docs-src/binary-collections.md +34 -0
- package/docs-src/changelog.md +26 -0
- package/docs-src/clean-github-actions-caches.md +91 -2
- package/docs-src/copy-move-file.md +59 -0
- package/docs-src/del-gradle.md +17 -0
- package/docs-src/del-ps.md +28 -0
- package/docs-src/downloader.md +62 -0
- package/docs-src/env-helpers.md +29 -0
- package/docs-src/find-node-modules.md +17 -0
- package/docs-src/git-diff.md +33 -0
- package/docs-src/git-fix.md +34 -0
- package/docs-src/git-purge.md +17 -0
- package/docs-src/git-reduce-size.md +17 -0
- package/docs-src/git-undo.md +21 -0
- package/docs-src/kill-night-crows.md +26 -0
- package/docs-src/node-cache-cleaner.md +182 -0
- package/docs-src/node-executor.md +50 -0
- package/docs-src/node-package-packer.md +48 -0
- package/docs-src/npm-run-series.md +43 -0
- package/docs-src/package-resolutions-updater.md +22 -0
- package/docs-src/php-cs-fixer-staged.md +19 -0
- package/docs-src/print-directory-tree.md +35 -0
- package/docs-src/print-tarball-tree.md +55 -0
- package/docs-src/py.md +19 -0
- package/docs-src/remove-module.md +32 -0
- package/docs-src/rmfind-rmx.md +21 -0
- package/docs-src/rmpath.md +38 -0
- package/docs-src/run-by-checksum.md +87 -0
- package/docs-src/submodule-install.md +31 -0
- package/docs-src/submodule-remove.md +22 -0
- package/docs-src/submodule-token.md +17 -0
- package/docs-src/test-runners.md +21 -0
- package/docs-src/yarn-install.md +31 -0
- package/docs-src/yarn-reinstall.md +27 -0
- package/lib/binary-collections/config.cjs +126 -0
- package/lib/binary-collections/config.mjs +7 -0
- package/lib/binary-collections/executeScript.cjs +19 -0
- package/lib/binary-collections/executeScript.d.cts +12 -0
- package/lib/binary-collections/executeScript.mjs +6 -0
- package/lib/binary-collections/findScript.cjs +309 -0
- package/lib/binary-collections/findScript.d.cts +12 -0
- package/lib/binary-collections/findScript.mjs +7 -0
- package/lib/binary-collections/listScript.cjs +291 -0
- package/lib/binary-collections/listScript.d.cts +19 -0
- package/lib/binary-collections/listScript.mjs +7 -0
- package/lib/binary-collections.cjs +264 -157
- package/lib/binary-collections.mjs +26 -286
- package/lib/changelog.cjs +9 -14
- package/lib/changelog.mjs +2 -2
- package/lib/chunk-2MN4VPV2.mjs +246 -0
- package/lib/chunk-6C7KTYGZ.mjs +41 -0
- package/lib/{chunk-Z6JLYU2J.mjs → chunk-6RK5UCTP.mjs} +7 -12
- package/lib/chunk-CD3HF3LK.mjs +190 -0
- package/lib/chunk-FLYSZFLW.mjs +61 -0
- package/lib/{chunk-N436BNBK.mjs → chunk-GAGABICI.mjs} +19 -13
- package/lib/chunk-H44UWUFY.mjs +105 -0
- package/lib/chunk-KLKAIFKI.mjs +40 -0
- package/lib/chunk-LVSPEFU2.mjs +86 -0
- package/lib/{chunk-RWLXRTYP.mjs → chunk-MGPYPKIE.mjs} +2 -2
- package/lib/chunk-NGFK3EYW.mjs +28 -0
- package/lib/chunk-NQXUYO67.mjs +253 -0
- package/lib/chunk-NVEG3LEZ.mjs +143 -0
- package/lib/chunk-OBXLTXFJ.mjs +34 -0
- package/lib/chunk-OGXVGBRI.mjs +29 -0
- package/lib/chunk-OXV52GD5.mjs +62 -0
- package/lib/chunk-PXBMHE7O.mjs +35 -0
- package/lib/chunk-QD4T255Z.mjs +40 -0
- package/lib/chunk-QII2EKCS.mjs +26 -0
- package/lib/chunk-R5FJOR63.mjs +47 -0
- package/lib/chunk-RDGDLSPD.mjs +76 -0
- package/lib/chunk-RDN6HF5Z.mjs +79 -0
- package/lib/chunk-RJKTSUAX.mjs +123 -0
- package/lib/{chunk-XA3SNBPA.mjs → chunk-TBWXE7ST.mjs} +97 -38
- package/lib/chunk-UXCFNAR6.mjs +55 -0
- package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
- package/lib/chunk-WSHVPGNM.mjs +44 -0
- package/lib/{chunk-66PAU5PS.mjs → chunk-X2B3X7D4.mjs} +10 -6
- package/lib/clean-github-actions-caches-cli.cjs +507 -0
- package/lib/clean-github-actions-caches-cli.mjs +74 -0
- package/lib/clean-github-actions-caches.cjs +246 -106
- package/lib/clean-github-actions-caches.d.cts +53 -1
- package/lib/clean-github-actions-caches.mjs +5 -130
- package/lib/cross-env/command.cjs +63 -0
- package/lib/cross-env/command.d.ts +8 -0
- package/lib/cross-env/command.js +45 -0
- package/lib/{ps/isWin.mjs → cross-env/command.mjs} +4 -5
- package/lib/cross-env/index.cjs +178 -0
- package/lib/cross-env/index.d.ts +8 -0
- package/lib/cross-env/index.js +102 -0
- package/lib/cross-env/index.mjs +101 -0
- package/lib/cross-env/variable.cjs +60 -0
- package/lib/cross-env/variable.d.ts +7 -0
- package/lib/cross-env/variable.js +59 -0
- package/lib/cross-env/variable.mjs +9 -0
- package/lib/del-gradle.cjs +8 -13
- package/lib/del-gradle.js +8 -8
- package/lib/del-gradle.mjs +1 -1
- package/lib/del-node-modules.cjs +185 -3
- package/lib/del-node-modules.js +25 -25
- package/lib/del-node-modules.mjs +6 -3
- package/lib/{del-ps.cjs → del-ps-cli.cjs} +38 -43
- package/lib/del-ps-cli.d.mts +1 -0
- package/lib/del-ps-cli.mjs +44 -0
- package/lib/del-yarn-caches.cjs +8 -13
- package/lib/del-yarn-caches.js +2 -2
- package/lib/del-yarn-caches.mjs +1 -1
- package/lib/downloader-cli.cjs +256 -0
- package/lib/downloader-cli.d.cts +2 -0
- package/lib/downloader-cli.mjs +90 -0
- package/lib/file/copy-cli.cjs +273 -0
- package/lib/file/copy-cli.d.mts +1 -0
- package/lib/file/copy-cli.mjs +59 -0
- package/lib/file/copy.cjs +56 -0
- package/lib/file/copy.d.mts +1 -0
- package/lib/file/copy.mjs +8 -0
- package/lib/file/move-cli.cjs +272 -0
- package/lib/file/move-cli.d.mts +1 -0
- package/lib/file/move-cli.mjs +59 -0
- package/lib/file/move.cjs +55 -0
- package/lib/file/move.d.mts +1 -0
- package/lib/file/move.mjs +8 -0
- package/lib/find-node-modules-cli.cjs +1 -1
- package/lib/find-node-modules-cli.js +1 -1
- package/lib/find-node-modules-cli.mjs +1 -1
- package/lib/find-node-modules.cjs +1 -1
- package/lib/find-node-modules.mjs +1 -1
- package/lib/free-chatgpt.cjs +27 -26
- package/lib/free-chatgpt.js +10 -10
- package/lib/free-chatgpt.mjs +2 -2
- package/lib/git/user-config.cjs +9 -14
- package/lib/git/user-config.mjs +2 -2
- package/lib/git-diff-cli.cjs +273 -66
- package/lib/git-diff-cli.mjs +5 -4
- package/lib/git-diff.cjs +273 -66
- package/lib/git-diff.d.ts +2 -1
- package/lib/git-diff.js +153 -39
- package/lib/git-diff.mjs +5 -4
- package/lib/git-fix.cjs +9 -14
- package/lib/git-fix.mjs +2 -2
- package/lib/git-purge.cjs +9 -14
- package/lib/git-purge.mjs +2 -2
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.mjs +1 -1
- package/lib/kill-night-crows.cjs +7 -7
- package/lib/kill-night-crows.mjs +7 -7
- package/lib/node-cache-cleaner/npm.cjs +65 -0
- package/lib/node-cache-cleaner/npm.d.ts +2 -0
- package/lib/node-cache-cleaner/npm.js +41 -0
- package/lib/node-cache-cleaner/npm.mjs +10 -0
- package/lib/node-cache-cleaner/npx.cjs +89 -0
- package/lib/node-cache-cleaner/npx.d.ts +4 -0
- package/lib/node-cache-cleaner/npx.js +82 -0
- package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
- package/lib/node-cache-cleaner/yarn.cjs +73 -0
- package/lib/node-cache-cleaner/yarn.d.ts +2 -0
- package/lib/node-cache-cleaner/yarn.js +62 -0
- package/lib/node-cache-cleaner/yarn.mjs +10 -0
- package/lib/node-cache-cleaner-cli.cjs +365 -0
- package/lib/node-cache-cleaner-cli.d.ts +2 -0
- package/lib/node-cache-cleaner-cli.js +57 -0
- package/lib/node-cache-cleaner-cli.mjs +60 -0
- package/lib/node-executor.cjs +272 -0
- package/lib/node-executor.d.cts +2 -0
- package/lib/node-executor.mjs +106 -0
- package/lib/node-package-packer/build-readme.cjs +150 -0
- package/lib/node-package-packer/build-readme.d.mts +10 -0
- package/lib/node-package-packer/build-readme.mjs +10 -0
- package/lib/node-package-packer/build-tarball.cjs +495 -0
- package/lib/node-package-packer/build-tarball.d.mts +33 -0
- package/lib/node-package-packer/build-tarball.mjs +175 -0
- package/lib/node-package-packer-cli.cjs +525 -0
- package/lib/node-package-packer-cli.d.mts +1 -0
- package/lib/node-package-packer-cli.mjs +34 -0
- package/lib/npm-run-series.cjs +28 -40
- package/lib/npm-run-series.mjs +21 -7
- package/lib/package-resolutions-updater-cli.cjs +255 -173
- package/lib/package-resolutions-updater-cli.mjs +19 -40
- package/lib/package-resolutions-updater.cjs +244 -141
- package/lib/package-resolutions-updater.d.mts +54 -1
- package/lib/package-resolutions-updater.mjs +8 -5
- package/lib/php-cs-fixer-staged.cjs +1 -1
- package/lib/php-cs-fixer-staged.mjs +1 -1
- package/lib/print-directory-tree.cjs +18 -20
- package/lib/print-directory-tree.mjs +11 -8
- package/lib/print-tarball-tree.cjs +262 -0
- package/lib/print-tarball-tree.d.mts +1 -0
- package/lib/print-tarball-tree.mjs +68 -0
- package/lib/ps/connected-domain.js +10 -10
- package/lib/ps/index.cjs +11 -11
- package/lib/ps/index.mjs +180 -174
- package/lib/ps/table-parser.d.ts +3 -4
- package/lib/ps/table-parser.js +15 -22
- package/lib/remove-module.cjs +19 -24
- package/lib/remove-module.mjs +2 -2
- package/lib/rm-node-module-cli.cjs +389 -0
- package/lib/rm-node-module-cli.d.cts +1 -0
- package/lib/rm-node-module-cli.mjs +92 -0
- package/lib/rm-node-modules.cjs +127 -0
- package/lib/rm-node-modules.d.cts +35 -0
- package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
- package/lib/rmpath-cli.cjs +285 -0
- package/lib/rmpath-cli.d.mts +1 -0
- package/lib/rmpath-cli.mjs +23 -0
- package/lib/rmpath.cjs +6 -217
- package/lib/rmpath.mjs +5 -101
- package/lib/run-by-checksum/cache.cjs +69 -0
- package/lib/run-by-checksum/cache.d.ts +19 -0
- package/lib/run-by-checksum/cache.js +50 -0
- package/lib/run-by-checksum/cache.mjs +12 -0
- package/lib/run-by-checksum/hash.cjs +72 -0
- package/lib/run-by-checksum/hash.d.ts +14 -0
- package/lib/run-by-checksum/hash.js +85 -0
- package/lib/run-by-checksum/hash.mjs +10 -0
- package/lib/run-by-checksum/run.cjs +169 -0
- package/lib/run-by-checksum/run.d.ts +22 -0
- package/lib/run-by-checksum/run.js +93 -0
- package/lib/run-by-checksum/run.mjs +10 -0
- package/lib/run-by-checksum-cli.cjs +382 -0
- package/lib/run-by-checksum-cli.d.ts +2 -0
- package/lib/run-by-checksum-cli.js +43 -0
- package/lib/run-by-checksum-cli.mjs +56 -0
- package/lib/submodule-install.cjs +55 -47
- package/lib/submodule-install.mjs +48 -35
- package/lib/submodule-remove-cli.cjs +170 -4
- package/lib/submodule-remove-cli.js +5 -5
- package/lib/submodule-remove-cli.mjs +6 -4
- package/lib/utils/chatgpt.cjs +19 -13
- package/lib/utils/chatgpt.js +94 -94
- package/lib/utils/chatgpt.mjs +1 -1
- package/lib/utils/fetchResponse.cjs +24 -0
- package/lib/utils/fetchResponse.d.cts +25 -0
- package/lib/utils/fetchResponse.mjs +6 -0
- package/lib/utils/findEnvFiles.cjs +28 -46
- package/lib/utils/findEnvFiles.d.cts +19 -0
- package/lib/utils/findEnvFiles.mjs +3 -5
- package/lib/utils/findWorkspaceRoot.js +4 -4
- package/lib/utils/index.cjs +7 -12
- package/lib/utils/index.d.cts +2 -9
- package/lib/utils/index.mjs +1 -1
- package/lib/utils/isGithubTokenValid.js +7 -7
- package/lib/{ps/isWin.cjs → utils/isWindows.cjs} +12 -7
- package/lib/utils/isWindows.d.ts +5 -0
- package/lib/utils/isWindows.js +10 -0
- package/lib/utils/isWindows.mjs +10 -0
- package/lib/utils/runBash.cjs +53 -0
- package/lib/utils/runBash.d.cts +12 -0
- package/lib/utils/runBash.mjs +66 -0
- package/lib/yarn-per-branch-lock-installer.cjs +288 -0
- package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
- package/lib/yarn-per-branch-lock-installer.mjs +122 -0
- package/lib/yarn-reinstall.cjs +8 -13
- package/lib/yarn-reinstall.mjs +1 -1
- package/package.json +91 -57
- package/readme.html +784 -0
- package/readme.md +107 -219
- package/releases/readme.md +6 -3
- package/test/README.md +2 -2
- package/test-project/workspaces/workspace-a/readme.md +20 -0
- package/test-project/workspaces/workspace-a/release/readme.md +42 -0
- package/test-project/workspaces/workspace-a/test/readme.md +12 -0
- package/test-project/workspaces/workspace-b/readme.md +94 -0
- package/test-project/workspaces/workspace-b/requirements.txt +1 -0
- package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
- package/tmp/test-repo/README.md +2 -35
- package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
- package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
- package/lib/binary-collections-config.cjs +0 -15
- package/lib/chunk-2CBJCW7E.mjs +0 -81
- package/lib/chunk-4UHL4WVN.mjs +0 -136
- package/lib/chunk-6HHJRKFB.mjs +0 -59
- package/lib/chunk-6S4NXESK.mjs +0 -26
- package/lib/chunk-7XTEJHOE.mjs +0 -193
- package/lib/chunk-AJDD5DZM.mjs +0 -109
- package/lib/chunk-FCDQGYBF.mjs +0 -136
- package/lib/chunk-GEYA2USY.mjs +0 -207
- package/lib/chunk-GJTGHXRA.mjs +0 -356
- package/lib/chunk-ID2WBTE2.mjs +0 -80
- package/lib/chunk-JXFOHKDM.mjs +0 -239
- package/lib/chunk-NCXAP7AA.mjs +0 -31
- package/lib/chunk-PDSXF5HY.mjs +0 -187
- package/lib/chunk-TOIVAQF7.mjs +0 -136
- package/lib/chunk-V5SKYJUB.mjs +0 -136
- package/lib/chunk-WSRETQCA.mjs +0 -59
- package/lib/chunk-YYLIQQKF.mjs +0 -31
- package/lib/del-ps.js +0 -32
- package/lib/del-ps.mjs +0 -43
- package/lib/ps/index.d.cjs +0 -17
- package/lib/ps/index.d.ts +0 -2
- package/lib/ps/index.js +0 -254
- package/lib/ps/isWin.d.ts +0 -2
- package/lib/ps/isWin.js +0 -4
- package/lib/utils/findEnvFiles.d.ts +0 -8
- package/lib/utils/findEnvFiles.js +0 -121
- package/test/package.json +0 -20
- package/test-project/package.json +0 -16
- package/tmp/test-repo/package.json +0 -7
- package/tmp/typedoc/readme.md +0 -320
- /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
- /package/lib/{del-ps.d.ts → clean-github-actions-caches-cli.d.cts} +0 -0
|
@@ -19,9 +19,9 @@ var require_utils = __commonJS({
|
|
|
19
19
|
init_cjs_shims();
|
|
20
20
|
var fs2 = require("fs");
|
|
21
21
|
var path2 = require("upath");
|
|
22
|
-
var
|
|
22
|
+
var minimistLib = require("minimist");
|
|
23
|
+
var argv2 = minimistLib(process.argv.slice(2));
|
|
23
24
|
var { exec } = require("child_process");
|
|
24
|
-
var { URL: URL2 } = require("url");
|
|
25
25
|
var { promisify } = require("util");
|
|
26
26
|
var execAsync = promisify(exec);
|
|
27
27
|
async function parseGitRemotes() {
|
|
@@ -34,7 +34,7 @@ var require_utils = __commonJS({
|
|
|
34
34
|
if (name && url) {
|
|
35
35
|
const [repoUrl] = url.split(" ");
|
|
36
36
|
try {
|
|
37
|
-
const parsedUrl = new
|
|
37
|
+
const parsedUrl = new URL(repoUrl);
|
|
38
38
|
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
39
39
|
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
40
40
|
let repoPath = pathParts.join("/");
|
|
@@ -55,15 +55,10 @@ var require_utils = __commonJS({
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
58
|
+
function getArgs2(opts) {
|
|
59
|
+
if (opts) {
|
|
60
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
62
61
|
}
|
|
63
|
-
return fullPath;
|
|
64
|
-
}
|
|
65
|
-
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
66
|
-
function getArgs2() {
|
|
67
62
|
return argv2;
|
|
68
63
|
}
|
|
69
64
|
module2.exports.getArgs = getArgs2;
|
|
@@ -88,7 +83,7 @@ var require_utils = __commonJS({
|
|
|
88
83
|
try {
|
|
89
84
|
fs2.rmdirSync(fullPath);
|
|
90
85
|
console.log("deleted", fullPath);
|
|
91
|
-
} catch (
|
|
86
|
+
} catch (_e) {
|
|
92
87
|
try {
|
|
93
88
|
fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
94
89
|
console.log("deleted", fullPath);
|
|
@@ -101,7 +96,7 @@ var require_utils = __commonJS({
|
|
|
101
96
|
try {
|
|
102
97
|
fs2.unlinkSync(fullPath);
|
|
103
98
|
console.log("deleted", fullPath);
|
|
104
|
-
} catch (
|
|
99
|
+
} catch (_e) {
|
|
105
100
|
try {
|
|
106
101
|
fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
107
102
|
console.log("deleted", fullPath);
|
|
@@ -187,9 +182,10 @@ var require_utils = __commonJS({
|
|
|
187
182
|
|
|
188
183
|
// src/print-directory-tree.cjs
|
|
189
184
|
init_cjs_shims();
|
|
190
|
-
var fs = require("fs")
|
|
191
|
-
var
|
|
192
|
-
var
|
|
185
|
+
var fs = require("fs");
|
|
186
|
+
var fsp = require("fs").promises;
|
|
187
|
+
var path = require("upath");
|
|
188
|
+
var CryptoJS = require("crypto-js");
|
|
193
189
|
var { execSync } = require("child_process");
|
|
194
190
|
var glob = require("glob");
|
|
195
191
|
var { getArgs } = require_utils();
|
|
@@ -243,9 +239,9 @@ async function main() {
|
|
|
243
239
|
let relativePath = path.relative(projectDir, file);
|
|
244
240
|
relativePath = relativePath.split(path.sep).join("/");
|
|
245
241
|
try {
|
|
246
|
-
const stats = await
|
|
242
|
+
const stats = await fsp.stat(file);
|
|
247
243
|
const pseudoHash = `${stats.size}-${stats.mtimeMs}`;
|
|
248
|
-
const hash =
|
|
244
|
+
const hash = CryptoJS.SHA256(pseudoHash).toString(CryptoJS.enc.Hex);
|
|
249
245
|
hashArray.push(`${relativePath} ${hash.slice(0, 8)}`);
|
|
250
246
|
} catch (err) {
|
|
251
247
|
console.error(`Error processing file: ${file}`, err instanceof Error ? err.message : "<unknown error>");
|
|
@@ -280,7 +276,9 @@ async function main() {
|
|
|
280
276
|
nodir: true
|
|
281
277
|
});
|
|
282
278
|
const allFiles = /* @__PURE__ */ new Set([...initialFiles, ...globFiles]);
|
|
283
|
-
await Promise.all(
|
|
279
|
+
await Promise.all(
|
|
280
|
+
Array.from(allFiles).filter((p) => fs.existsSync(p)).map(hashAndPush)
|
|
281
|
+
);
|
|
284
282
|
hashArray.sort((a, b) => a.localeCompare(b));
|
|
285
283
|
function getFileTreeString(hashArray2) {
|
|
286
284
|
const tree = {};
|
|
@@ -319,7 +317,7 @@ async function main() {
|
|
|
319
317
|
return printNode(tree, "", "").join("\n");
|
|
320
318
|
}
|
|
321
319
|
const fileTreeString = getFileTreeString(hashArray);
|
|
322
|
-
await
|
|
320
|
+
await fsp.writeFile(outputFile, fileTreeString + "\n", "utf-8");
|
|
323
321
|
if (argv["git-add"]) {
|
|
324
322
|
execSync(`git add ${relativeOutputFile}`);
|
|
325
323
|
console.log(`Directory tree written to ${relativeOutputFile} and staged for git.`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
require_utils
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6RK5UCTP.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__commonJS,
|
|
7
7
|
__require,
|
|
@@ -12,9 +12,10 @@ import {
|
|
|
12
12
|
var require_print_directory_tree = __commonJS({
|
|
13
13
|
"src/print-directory-tree.cjs"() {
|
|
14
14
|
init_esm_shims();
|
|
15
|
-
var fs = __require("fs")
|
|
16
|
-
var
|
|
17
|
-
var
|
|
15
|
+
var fs = __require("fs");
|
|
16
|
+
var fsp = __require("fs").promises;
|
|
17
|
+
var path = __require("upath");
|
|
18
|
+
var CryptoJS = __require("crypto-js");
|
|
18
19
|
var { execSync } = __require("child_process");
|
|
19
20
|
var glob = __require("glob");
|
|
20
21
|
var { getArgs } = require_utils();
|
|
@@ -68,9 +69,9 @@ var require_print_directory_tree = __commonJS({
|
|
|
68
69
|
let relativePath = path.relative(projectDir, file);
|
|
69
70
|
relativePath = relativePath.split(path.sep).join("/");
|
|
70
71
|
try {
|
|
71
|
-
const stats = await
|
|
72
|
+
const stats = await fsp.stat(file);
|
|
72
73
|
const pseudoHash = `${stats.size}-${stats.mtimeMs}`;
|
|
73
|
-
const hash =
|
|
74
|
+
const hash = CryptoJS.SHA256(pseudoHash).toString(CryptoJS.enc.Hex);
|
|
74
75
|
hashArray.push(`${relativePath} ${hash.slice(0, 8)}`);
|
|
75
76
|
} catch (err) {
|
|
76
77
|
console.error(`Error processing file: ${file}`, err instanceof Error ? err.message : "<unknown error>");
|
|
@@ -105,7 +106,9 @@ var require_print_directory_tree = __commonJS({
|
|
|
105
106
|
nodir: true
|
|
106
107
|
});
|
|
107
108
|
const allFiles = /* @__PURE__ */ new Set([...initialFiles, ...globFiles]);
|
|
108
|
-
await Promise.all(
|
|
109
|
+
await Promise.all(
|
|
110
|
+
Array.from(allFiles).filter((p) => fs.existsSync(p)).map(hashAndPush)
|
|
111
|
+
);
|
|
109
112
|
hashArray.sort((a, b) => a.localeCompare(b));
|
|
110
113
|
function getFileTreeString(hashArray2) {
|
|
111
114
|
const tree = {};
|
|
@@ -144,7 +147,7 @@ var require_print_directory_tree = __commonJS({
|
|
|
144
147
|
return printNode(tree, "", "").join("\n");
|
|
145
148
|
}
|
|
146
149
|
const fileTreeString = getFileTreeString(hashArray);
|
|
147
|
-
await
|
|
150
|
+
await fsp.writeFile(outputFile, fileTreeString + "\n", "utf-8");
|
|
148
151
|
if (argv["git-add"]) {
|
|
149
152
|
execSync(`git add ${relativeOutputFile}`);
|
|
150
153
|
console.log(`Directory tree written to ${relativeOutputFile} and staged for git.`);
|
|
@@ -0,0 +1,262 @@
|
|
|
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/utils/index.cjs
|
|
38
|
+
var require_utils = __commonJS({
|
|
39
|
+
"src/utils/index.cjs"(exports2, module2) {
|
|
40
|
+
init_cjs_shims();
|
|
41
|
+
var fs2 = require("fs");
|
|
42
|
+
var path2 = require("upath");
|
|
43
|
+
var minimistLib = require("minimist");
|
|
44
|
+
var argv2 = minimistLib(process.argv.slice(2));
|
|
45
|
+
var { exec } = require("child_process");
|
|
46
|
+
var { promisify } = require("util");
|
|
47
|
+
var execAsync = promisify(exec);
|
|
48
|
+
async function parseGitRemotes() {
|
|
49
|
+
try {
|
|
50
|
+
const { stdout } = await execAsync("git remote -v");
|
|
51
|
+
const lines = stdout.split("\n");
|
|
52
|
+
const remotes = {};
|
|
53
|
+
lines.forEach((line) => {
|
|
54
|
+
const [name, url] = line.split(" ");
|
|
55
|
+
if (name && url) {
|
|
56
|
+
const [repoUrl] = url.split(" ");
|
|
57
|
+
try {
|
|
58
|
+
const parsedUrl = new URL(repoUrl);
|
|
59
|
+
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
60
|
+
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
61
|
+
let repoPath = pathParts.join("/");
|
|
62
|
+
if (repoPath.endsWith(".git")) {
|
|
63
|
+
repoPath = repoPath.slice(0, -4);
|
|
64
|
+
}
|
|
65
|
+
remotes[name] = repoPath;
|
|
66
|
+
}
|
|
67
|
+
} catch (e) {
|
|
68
|
+
console.error("URL Parsing Error:", e.message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return remotes;
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error("Error:", error.message);
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
79
|
+
function getArgs2(opts) {
|
|
80
|
+
if (opts) {
|
|
81
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
82
|
+
}
|
|
83
|
+
return argv2;
|
|
84
|
+
}
|
|
85
|
+
module2.exports.getArgs = getArgs2;
|
|
86
|
+
function del(fullPath) {
|
|
87
|
+
try {
|
|
88
|
+
if (!fs2.existsSync(fullPath)) return;
|
|
89
|
+
const stat = fs2.lstatSync(fullPath);
|
|
90
|
+
if (stat.isSymbolicLink()) {
|
|
91
|
+
try {
|
|
92
|
+
fs2.unlinkSync(fullPath);
|
|
93
|
+
console.log("deleted symlink", fullPath);
|
|
94
|
+
} catch (e) {
|
|
95
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (stat.isDirectory()) {
|
|
100
|
+
const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
|
|
101
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
102
|
+
del(subdir[i]);
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
fs2.rmdirSync(fullPath);
|
|
106
|
+
console.log("deleted", fullPath);
|
|
107
|
+
} catch (_e) {
|
|
108
|
+
try {
|
|
109
|
+
fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
110
|
+
console.log("deleted", fullPath);
|
|
111
|
+
} catch (ee) {
|
|
112
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
fs2.unlinkSync(fullPath);
|
|
119
|
+
console.log("deleted", fullPath);
|
|
120
|
+
} catch (_e) {
|
|
121
|
+
try {
|
|
122
|
+
fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
123
|
+
console.log("deleted", fullPath);
|
|
124
|
+
} catch (ee) {
|
|
125
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
} catch (err) {
|
|
129
|
+
console.log("failed delete", fullPath, err && err.message);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
module2.exports.del = del;
|
|
133
|
+
function delStream(globStream) {
|
|
134
|
+
globStream.stream().on("data", (result) => {
|
|
135
|
+
const fullPath = path2.resolve(process.cwd(), result);
|
|
136
|
+
try {
|
|
137
|
+
if (fs2.existsSync(fullPath)) {
|
|
138
|
+
const stat = fs2.lstatSync(fullPath);
|
|
139
|
+
if (stat.isSymbolicLink()) {
|
|
140
|
+
try {
|
|
141
|
+
fs2.unlinkSync(fullPath);
|
|
142
|
+
console.log("deleted symlink", fullPath);
|
|
143
|
+
} catch (e) {
|
|
144
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
145
|
+
}
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (stat.isDirectory()) {
|
|
149
|
+
const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
|
|
150
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
151
|
+
del(subdir[i]);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
del(fullPath);
|
|
156
|
+
} catch (err) {
|
|
157
|
+
console.log("failed processing", fullPath, err && err.message);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
module2.exports.delStream = delStream;
|
|
162
|
+
function getFileTreeString(hashArray) {
|
|
163
|
+
const tree = {};
|
|
164
|
+
const hashMap = {};
|
|
165
|
+
for (const entry of hashArray) {
|
|
166
|
+
const [filePath2, hash] = entry.split(" ");
|
|
167
|
+
hashMap[filePath2] = hash;
|
|
168
|
+
const parts = filePath2.split("/");
|
|
169
|
+
let current = tree;
|
|
170
|
+
for (let i = 0; i < parts.length; i++) {
|
|
171
|
+
const part = parts[i];
|
|
172
|
+
if (i === parts.length - 1) {
|
|
173
|
+
current[part] = null;
|
|
174
|
+
} else {
|
|
175
|
+
current[part] = current[part] || {};
|
|
176
|
+
current = current[part];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function printNode(node, prefix = "", parentPath = "") {
|
|
181
|
+
const keys = Object.keys(node).sort();
|
|
182
|
+
let lines = [];
|
|
183
|
+
keys.forEach((key, idx) => {
|
|
184
|
+
const isLast = idx === keys.length - 1;
|
|
185
|
+
const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
|
|
186
|
+
const currentPath = parentPath ? parentPath + "/" + key : key;
|
|
187
|
+
if (node[key] === null) {
|
|
188
|
+
lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
|
|
189
|
+
} else {
|
|
190
|
+
lines.push(prefix + branch + key + "/");
|
|
191
|
+
lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "\u2502 "), currentPath));
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return lines;
|
|
195
|
+
}
|
|
196
|
+
return printNode(tree, "", "").join("\n");
|
|
197
|
+
}
|
|
198
|
+
module2.exports.getFileTreeString = getFileTreeString;
|
|
199
|
+
var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
200
|
+
module2.exports.delay = delay;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
// src/print-tarball-tree.mjs
|
|
205
|
+
init_cjs_shims();
|
|
206
|
+
var import_fs = __toESM(require("fs"), 1);
|
|
207
|
+
var import_zlib = __toESM(require("zlib"), 1);
|
|
208
|
+
var import_tar_stream = __toESM(require("tar-stream"), 1);
|
|
209
|
+
var import_upath = __toESM(require("upath"), 1);
|
|
210
|
+
var import_utils = __toESM(require_utils(), 1);
|
|
211
|
+
function addToTree(tree, parts) {
|
|
212
|
+
let node = tree;
|
|
213
|
+
for (const part of parts) {
|
|
214
|
+
if (!node[part]) node[part] = {};
|
|
215
|
+
node = node[part];
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function printTree(node, prefix = "") {
|
|
219
|
+
const entries = Object.keys(node).sort();
|
|
220
|
+
entries.forEach((key, index) => {
|
|
221
|
+
const isLast = index === entries.length - 1;
|
|
222
|
+
console.log(prefix + (isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ") + key);
|
|
223
|
+
const child = node[key];
|
|
224
|
+
const newPrefix = prefix + (isLast ? " " : "\u2502 ");
|
|
225
|
+
printTree(child, newPrefix);
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
function printTgzTree(filePath2) {
|
|
229
|
+
const extract = import_tar_stream.default.extract();
|
|
230
|
+
const tree = {};
|
|
231
|
+
extract.on("entry", (header, stream, next) => {
|
|
232
|
+
const parts = header.name.split("/").filter(Boolean);
|
|
233
|
+
if (parts.length) addToTree(tree, parts);
|
|
234
|
+
stream.on("end", next);
|
|
235
|
+
stream.resume();
|
|
236
|
+
});
|
|
237
|
+
extract.on("finish", () => {
|
|
238
|
+
printTree(tree);
|
|
239
|
+
});
|
|
240
|
+
import_fs.default.createReadStream(filePath2).pipe(import_zlib.default.createGunzip()).pipe(extract);
|
|
241
|
+
}
|
|
242
|
+
var argv = (0, import_utils.getArgs)({ string: ["file"], alias: { f: "file", h: "help" } });
|
|
243
|
+
if (argv.help) {
|
|
244
|
+
console.log(`
|
|
245
|
+
Usage: node src/print-tarball-tree.mjs [options]
|
|
246
|
+
|
|
247
|
+
Options:
|
|
248
|
+
-f, --file <path> Path to the tarball file (default: package.tgz)
|
|
249
|
+
-h, --help Show this help message
|
|
250
|
+
`);
|
|
251
|
+
process.exit(0);
|
|
252
|
+
}
|
|
253
|
+
var filePath = argv.file ? import_upath.default.isAbsolute(argv.file) ? argv.file : import_upath.default.resolve(process.cwd(), argv.file) : null;
|
|
254
|
+
if (!filePath) {
|
|
255
|
+
console.error("Error: No file specified");
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
if (!import_fs.default.existsSync(filePath)) {
|
|
259
|
+
console.error(`Error: File not found at ${filePath}`);
|
|
260
|
+
process.exit(1);
|
|
261
|
+
}
|
|
262
|
+
printTgzTree(filePath);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
require_utils
|
|
4
|
+
} from "./chunk-6RK5UCTP.mjs";
|
|
5
|
+
import {
|
|
6
|
+
__toESM,
|
|
7
|
+
init_esm_shims
|
|
8
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
9
|
+
|
|
10
|
+
// src/print-tarball-tree.mjs
|
|
11
|
+
init_esm_shims();
|
|
12
|
+
var import_utils = __toESM(require_utils(), 1);
|
|
13
|
+
import fs from "fs";
|
|
14
|
+
import zlib from "zlib";
|
|
15
|
+
import tar from "tar-stream";
|
|
16
|
+
import path from "upath";
|
|
17
|
+
function addToTree(tree, parts) {
|
|
18
|
+
let node = tree;
|
|
19
|
+
for (const part of parts) {
|
|
20
|
+
if (!node[part]) node[part] = {};
|
|
21
|
+
node = node[part];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function printTree(node, prefix = "") {
|
|
25
|
+
const entries = Object.keys(node).sort();
|
|
26
|
+
entries.forEach((key, index) => {
|
|
27
|
+
const isLast = index === entries.length - 1;
|
|
28
|
+
console.log(prefix + (isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ") + key);
|
|
29
|
+
const child = node[key];
|
|
30
|
+
const newPrefix = prefix + (isLast ? " " : "\u2502 ");
|
|
31
|
+
printTree(child, newPrefix);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function printTgzTree(filePath2) {
|
|
35
|
+
const extract = tar.extract();
|
|
36
|
+
const tree = {};
|
|
37
|
+
extract.on("entry", (header, stream, next) => {
|
|
38
|
+
const parts = header.name.split("/").filter(Boolean);
|
|
39
|
+
if (parts.length) addToTree(tree, parts);
|
|
40
|
+
stream.on("end", next);
|
|
41
|
+
stream.resume();
|
|
42
|
+
});
|
|
43
|
+
extract.on("finish", () => {
|
|
44
|
+
printTree(tree);
|
|
45
|
+
});
|
|
46
|
+
fs.createReadStream(filePath2).pipe(zlib.createGunzip()).pipe(extract);
|
|
47
|
+
}
|
|
48
|
+
var argv = (0, import_utils.getArgs)({ string: ["file"], alias: { f: "file", h: "help" } });
|
|
49
|
+
if (argv.help) {
|
|
50
|
+
console.log(`
|
|
51
|
+
Usage: node src/print-tarball-tree.mjs [options]
|
|
52
|
+
|
|
53
|
+
Options:
|
|
54
|
+
-f, --file <path> Path to the tarball file (default: package.tgz)
|
|
55
|
+
-h, --help Show this help message
|
|
56
|
+
`);
|
|
57
|
+
process.exit(0);
|
|
58
|
+
}
|
|
59
|
+
var filePath = argv.file ? path.isAbsolute(argv.file) ? argv.file : path.resolve(process.cwd(), argv.file) : null;
|
|
60
|
+
if (!filePath) {
|
|
61
|
+
console.error("Error: No file specified");
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
if (!fs.existsSync(filePath)) {
|
|
65
|
+
console.error(`Error: File not found at ${filePath}`);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
printTgzTree(filePath);
|
|
@@ -13,10 +13,10 @@ exports.default = default_1;
|
|
|
13
13
|
function default_1(tdArray, indicator, hardlink) {
|
|
14
14
|
hardlink = hardlink || false;
|
|
15
15
|
if (!tdArray) {
|
|
16
|
-
throw new Error(
|
|
16
|
+
throw new Error('tdArray must be provided');
|
|
17
17
|
}
|
|
18
18
|
if (!indicator) {
|
|
19
|
-
throw new Error(
|
|
19
|
+
throw new Error('indicator must be provided');
|
|
20
20
|
}
|
|
21
21
|
// clone 一份数据,因为需要对饮用进行修改,方便执行
|
|
22
22
|
tdArray = JSON.parse(JSON.stringify(tdArray));
|
|
@@ -34,21 +34,21 @@ function default_1(tdArray, indicator, hardlink) {
|
|
|
34
34
|
var neighbours = [];
|
|
35
35
|
// top neighbour
|
|
36
36
|
if (tdArray[y - 1] && tdArray[y - 1][x] !== undefined) {
|
|
37
|
-
neighbours.push(pointsHash[x +
|
|
37
|
+
neighbours.push(pointsHash[x + '_' + (y - 1)]);
|
|
38
38
|
}
|
|
39
39
|
// left neighbour
|
|
40
40
|
if (row[x - 1] !== undefined) {
|
|
41
|
-
neighbours.push(pointsHash[x - 1 +
|
|
41
|
+
neighbours.push(pointsHash[x - 1 + '_' + y]);
|
|
42
42
|
}
|
|
43
43
|
// soft link will treat corner link as domain link.
|
|
44
44
|
if (!hardlink) {
|
|
45
45
|
// top left neighbour
|
|
46
46
|
if (tdArray[y - 1] && tdArray[y - 1][x - 1] !== undefined) {
|
|
47
|
-
neighbours.push(pointsHash[x - 1 +
|
|
47
|
+
neighbours.push(pointsHash[x - 1 + '_' + (y - 1)]);
|
|
48
48
|
}
|
|
49
49
|
// top right neighbour
|
|
50
50
|
if (tdArray[y - 1] && tdArray[y - 1][x + 1] !== undefined) {
|
|
51
|
-
neighbours.push(pointsHash[x + 1 +
|
|
51
|
+
neighbours.push(pointsHash[x + 1 + '_' + (y - 1)]);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
if (neighbours.length) {
|
|
@@ -63,7 +63,7 @@ function default_1(tdArray, indicator, hardlink) {
|
|
|
63
63
|
// If more than one neighbour matched, check if these neighbours belong to the same domain
|
|
64
64
|
// If not, merge these domains since they connects to each other.
|
|
65
65
|
else {
|
|
66
|
-
var colItemPoint = pointsHash[x +
|
|
66
|
+
var colItemPoint = pointsHash[x + '_' + y];
|
|
67
67
|
if (neighbour.domainId != colItemPoint.domainId) {
|
|
68
68
|
mergeDomains(neighbour.domainId, colItemPoint.domainId);
|
|
69
69
|
}
|
|
@@ -150,7 +150,7 @@ function default_1(tdArray, indicator, hardlink) {
|
|
|
150
150
|
identifier: identifier,
|
|
151
151
|
domainId: newDomain.domainId
|
|
152
152
|
};
|
|
153
|
-
pointsHash[x +
|
|
153
|
+
pointsHash[x + '_' + y] = {
|
|
154
154
|
value: point,
|
|
155
155
|
identifier: identifier,
|
|
156
156
|
domainId: newDomain.domainId
|
|
@@ -174,7 +174,7 @@ function default_1(tdArray, indicator, hardlink) {
|
|
|
174
174
|
identifier: domain.identifier,
|
|
175
175
|
domainId: domainId
|
|
176
176
|
};
|
|
177
|
-
pointsHash[x +
|
|
177
|
+
pointsHash[x + '_' + y] = {
|
|
178
178
|
value: point,
|
|
179
179
|
identifier: domain.identifier,
|
|
180
180
|
domainId: domainId
|
|
@@ -194,7 +194,7 @@ function default_1(tdArray, indicator, hardlink) {
|
|
|
194
194
|
domainB.domainId = domainA.domainId;
|
|
195
195
|
domainB.points.forEach(function (point) {
|
|
196
196
|
point.domainId = domainA.domainId;
|
|
197
|
-
pointsHash[point.x +
|
|
197
|
+
pointsHash[point.x + '_' + point.y].domainId = domainA.domainId;
|
|
198
198
|
});
|
|
199
199
|
domainA.points = domainA.points.concat(domainB.points);
|
|
200
200
|
// 删除domainB
|
package/lib/ps/index.cjs
CHANGED
|
@@ -25,17 +25,17 @@ var init_cjs_shims = __esm({
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
// src/
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
31
|
-
|
|
28
|
+
// src/utils/isWindows.js
|
|
29
|
+
var isWindows_exports = {};
|
|
30
|
+
__export(isWindows_exports, {
|
|
31
|
+
isWindows: () => isWindows
|
|
32
32
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
function isWindows() {
|
|
34
|
+
return process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE || "");
|
|
35
|
+
}
|
|
36
|
+
var init_isWindows = __esm({
|
|
37
|
+
"src/utils/isWindows.js"() {
|
|
36
38
|
init_cjs_shims();
|
|
37
|
-
isWin = process.platform === "win32";
|
|
38
|
-
isWin_default = isWin;
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
|
|
@@ -394,10 +394,10 @@ var init_table_parser = __esm({
|
|
|
394
394
|
}
|
|
395
395
|
});
|
|
396
396
|
|
|
397
|
-
// src/ps/index.
|
|
397
|
+
// src/ps/index.cjs
|
|
398
398
|
init_cjs_shims();
|
|
399
399
|
var ChildProcess = require("child_process");
|
|
400
|
-
var IS_WIN = (
|
|
400
|
+
var IS_WIN = (init_isWindows(), __toCommonJS(isWindows_exports)).isWindows();
|
|
401
401
|
var TableParser = (init_table_parser(), __toCommonJS(table_parser_exports));
|
|
402
402
|
var EOL = /(\r\n)|(\n\r)|\n|\r/;
|
|
403
403
|
var SystemEOL = require("os").EOL;
|