binary-collections 2.0.10 → 2.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/package.json +5 -0
- package/.puppeterrc.cjs +25 -0
- package/binaries/binary-executor.cjs +138 -3
- package/binaries/clean-nodemodule.cjs +138 -3
- package/binaries/clean-nodemodules.cjs +138 -3
- package/binaries/dev.cjs +138 -3
- package/binaries/empty.cjs +138 -3
- package/binaries/git-reduce-size.cjs +138 -3
- package/binaries/javakill.cjs +138 -3
- package/binaries/kill-night-crows.bat +7 -0
- package/binaries/kill-night-crows.ps1 +172 -0
- package/binaries/kill-process.cjs +138 -3
- package/binaries/nodekill.cjs +138 -3
- package/binaries/prod.cjs +138 -3
- package/binaries/py +111 -0
- package/binaries/py.cjs +178 -0
- package/binaries/py.cmd +49 -0
- package/binaries/rmfind.cjs +138 -3
- package/binaries/rmx +15 -1
- package/binaries/rmx.cjs +138 -3
- package/binaries/rmx.cmd +12 -0
- package/binaries/submodule-token.cjs +138 -3
- package/binaries/test-cjs +18 -0
- package/binaries/test-cjs.cjs +178 -0
- package/binaries/test-cjs.cmd +26 -0
- package/binaries/test-esm +16 -0
- package/binaries/test-esm.cjs +178 -0
- package/binaries/test-esm.cmd +23 -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 +166 -0
- package/binaries/yc +110 -0
- package/binaries/yc.cjs +178 -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 +284 -0
- package/lib/binary-collections/findScript.d.cts +12 -0
- package/lib/binary-collections/findScript.mjs +7 -0
- package/lib/binary-collections/listScript.cjs +266 -0
- package/lib/binary-collections/listScript.d.cts +19 -0
- package/lib/binary-collections/listScript.mjs +7 -0
- package/lib/binary-collections.cjs +342 -194
- package/lib/binary-collections.mjs +22 -268
- package/lib/changelog.cjs +61 -13
- package/lib/changelog.mjs +1 -1
- package/lib/{chunk-E6FDDAOO.mjs → chunk-2LSRSEXF.mjs} +2 -2
- package/lib/chunk-34IQDTLZ.mjs +27 -0
- package/lib/chunk-3HFFECCI.mjs +27 -0
- package/lib/{chunk-V3N3JEUF.mjs → chunk-5RTXZVCW.mjs} +60 -13
- package/lib/chunk-66KDU4TX.mjs +268 -0
- package/lib/chunk-6PU7BAHB.mjs +61 -0
- package/lib/{chunk-6HHJRKFB.mjs → chunk-BZWVHODJ.mjs} +4 -1
- package/lib/chunk-C6D2TTYU.mjs +32 -0
- package/lib/chunk-FB2WKVJD.mjs +158 -0
- package/lib/{chunk-66PAU5PS.mjs → chunk-G5UUEWUO.mjs} +9 -5
- package/lib/{chunk-HO6GHCOB.mjs → chunk-GAGABICI.mjs} +198 -63
- package/lib/chunk-H44UWUFY.mjs +105 -0
- package/lib/chunk-NCZPTKDV.mjs +79 -0
- package/lib/chunk-NGFK3EYW.mjs +28 -0
- package/lib/chunk-NVEG3LEZ.mjs +143 -0
- package/lib/chunk-OGXVGBRI.mjs +29 -0
- package/lib/chunk-OXV52GD5.mjs +62 -0
- package/lib/{chunk-PDSXF5HY.mjs → chunk-PDN26I7O.mjs} +1 -0
- package/lib/chunk-PXBMHE7O.mjs +35 -0
- package/lib/chunk-R5FJOR63.mjs +47 -0
- package/lib/chunk-SPTECFE5.mjs +180 -0
- package/lib/chunk-UXCFNAR6.mjs +55 -0
- package/lib/chunk-V2IBPCEV.mjs +39 -0
- package/lib/chunk-XPJGCDOD.mjs +14 -0
- package/lib/{chunk-AI4CVPJ7.mjs → chunk-ZDMWBSYF.mjs} +4 -4
- package/lib/chunk-ZOWVMII3.mjs +228 -0
- package/lib/clean-github-actions-caches-cli.cjs +465 -0
- package/lib/clean-github-actions-caches-cli.d.cts +1 -0
- package/lib/clean-github-actions-caches-cli.mjs +56 -0
- package/lib/clean-github-actions-caches.cjs +152 -160
- package/lib/clean-github-actions-caches.d.cts +15 -1
- package/lib/clean-github-actions-caches.mjs +4 -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/cross-env/command.mjs +9 -0
- 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 +61 -13
- package/lib/del-gradle.js +9 -8
- package/lib/del-gradle.mjs +1 -1
- package/lib/del-node-modules.cjs +143 -148
- package/lib/del-node-modules.js +210 -14
- package/lib/del-node-modules.mjs +148 -17
- package/lib/del-ps.cjs +61 -13
- package/lib/del-ps.js +9 -8
- package/lib/del-ps.mjs +1 -1
- package/lib/del-yarn-caches.cjs +61 -13
- package/lib/del-yarn-caches.js +2 -2
- package/lib/del-yarn-caches.mjs +1 -1
- package/lib/file/copy-cli.cjs +92 -0
- package/lib/file/copy-cli.d.mts +1 -0
- package/lib/file/copy-cli.mjs +55 -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 +91 -0
- package/lib/file/move-cli.d.mts +1 -0
- package/lib/file/move-cli.mjs +55 -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.js +2 -1
- package/lib/free-chatgpt.cjs +259 -47
- package/lib/free-chatgpt.js +10 -10
- package/lib/free-chatgpt.mjs +2 -2
- package/lib/git/gitattributes.cjs +1 -0
- package/lib/git/gitattributes.d.cts +7 -2
- package/lib/git/gitattributes.mjs +1 -1
- package/lib/git/line-endings.cjs +2 -1
- package/lib/git/line-endings.mjs +2 -2
- 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 +61 -14
- package/lib/git/user-config.mjs +2 -2
- package/lib/git-diff-cli.cjs +427 -75
- package/lib/git-diff-cli.d.ts +1 -0
- package/lib/git-diff-cli.js +1 -0
- package/lib/git-diff-cli.mjs +6 -4
- package/lib/git-diff.cjs +426 -75
- package/lib/git-diff.d.ts +2 -1
- package/lib/git-diff.js +91 -34
- package/lib/git-diff.mjs +5 -4
- package/lib/git-fix.cjs +64 -16
- package/lib/git-fix.mjs +10 -10
- package/lib/git-purge.cjs +61 -13
- package/lib/git-purge.mjs +1 -1
- package/lib/index.d.ts +1 -1
- 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/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 +182 -0
- package/lib/node-cache-cleaner-cli.d.ts +2 -0
- package/lib/node-cache-cleaner-cli.js +60 -0
- package/lib/node-cache-cleaner-cli.mjs +56 -0
- package/lib/node-executor.cjs +91 -0
- package/lib/node-executor.d.cts +2 -0
- package/lib/node-executor.mjs +103 -0
- package/lib/npm-run-series.cjs +79 -39
- package/lib/npm-run-series.mjs +20 -6
- package/lib/package-resolutions-updater-cli.cjs +645 -0
- package/lib/package-resolutions-updater-cli.d.mts +1 -0
- package/lib/package-resolutions-updater-cli.mjs +102 -0
- package/lib/package-resolutions-updater.cjs +259 -133
- package/lib/package-resolutions-updater.d.mts +51 -1
- package/lib/package-resolutions-updater.mjs +18 -294
- 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 +62 -14
- package/lib/print-directory-tree.mjs +2 -2
- package/lib/ps/connected-domain.d.ts +1 -1
- package/lib/ps/connected-domain.js +10 -10
- package/lib/ps/index.cjs +1 -1
- package/lib/ps/index.mjs +177 -171
- package/lib/ps/isWin.js +1 -1
- package/lib/ps/table-parser.js +6 -6
- package/lib/remove-module.cjs +61 -13
- package/lib/remove-module.mjs +1 -1
- package/lib/rm-node-module-cli.cjs +222 -0
- package/lib/rm-node-module-cli.d.cts +1 -0
- package/lib/rm-node-module-cli.mjs +89 -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.cjs +63 -15
- package/lib/rmpath.mjs +2 -2
- package/lib/submodule-install.cjs +107 -47
- package/lib/submodule-install.mjs +48 -35
- package/lib/submodule-remove-cli.cjs +6 -3
- package/lib/submodule-remove-cli.js +3 -3
- package/lib/submodule-remove-cli.mjs +2 -3
- package/lib/submodule-remove.cjs +4 -1
- package/lib/submodule-remove.mjs +1 -1
- package/lib/utils/chatgpt.cjs +198 -34
- package/lib/utils/chatgpt.js +260 -93
- package/lib/utils/chatgpt.mjs +1 -1
- package/lib/utils/findEnvFiles.cjs +89 -0
- package/lib/utils/findEnvFiles.d.cts +19 -0
- package/lib/utils/findEnvFiles.mjs +6 -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/index.cjs +60 -13
- package/lib/utils/index.mjs +1 -1
- 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/{ps/index.d.cjs → utils/isWindows.cjs} +17 -3
- package/lib/utils/isWindows.d.ts +5 -0
- package/lib/utils/isWindows.js +10 -0
- package/lib/utils/isWindows.mjs +8 -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 +97 -0
- package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
- package/lib/yarn-per-branch-lock-installer.mjs +109 -0
- package/lib/yarn-reinstall.cjs +61 -13
- package/lib/yarn-reinstall.mjs +1 -1
- package/package.json +133 -110
- package/readme.html +784 -0
- package/readme.md +116 -229
- package/releases/readme.md +1 -1
- package/requirements.txt +1 -0
- package/test/README.md +2 -2
- package/test-project/package.json +8 -2
- package/test-project/workspaces/workspace-a/package.json +135 -0
- 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/demo/package.json +25 -0
- package/test-project/workspaces/workspace-a/test/readme.md +12 -0
- package/test-project/workspaces/workspace-b/package.json +139 -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/test/sample-project/package.json +7 -0
- package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +96 -0
- package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
- package/tmp/rm-node-modules-test-project/package.json +17 -0
- package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +16 -0
- package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +16 -0
- package/tmp/test-repo/README.md +2 -35
- package/tmp/test-repo/package.json +13 -3
- package/docs-src/clean-github-actions-caches.md +0 -26
- package/docs-src/free-chatgpt.md +0 -26
- package/lib/binary-collections-config.cjs +0 -15
- package/lib/chunk-4EWQC6GZ.mjs +0 -382
- package/lib/chunk-4ZI7BQKQ.mjs +0 -381
- package/lib/chunk-5J2BEPY5.mjs +0 -83
- package/lib/chunk-AGZYRDC2.mjs +0 -323
- package/lib/chunk-BDCHCWHD.mjs +0 -136
- package/lib/chunk-BEZKJ25G.mjs +0 -140
- package/lib/chunk-DI5MDPSN.mjs +0 -386
- package/lib/chunk-GJTGHXRA.mjs +0 -356
- package/lib/chunk-HMRMTYZM.mjs +0 -40
- package/lib/chunk-HN52G2YL.mjs +0 -305
- package/lib/chunk-LEM5OMRP.mjs +0 -384
- package/lib/chunk-O6SWBEOQ.mjs +0 -81
- package/lib/chunk-RCP7DHVY.mjs +0 -190
- package/lib/chunk-SBNDSKG5.mjs +0 -136
- package/lib/chunk-U6SO4QEV.mjs +0 -320
- package/lib/chunk-XD6BJK6Q.mjs +0 -351
- package/lib/chunk-YXSFGA2D.mjs +0 -383
- package/lib/git/gitattributes.d.ts +0 -33
- package/lib/git/gitattributes.js +0 -223
- package/lib/ps/index.d.ts +0 -2
- package/lib/ps/index.js +0 -253
- package/tmp/typedoc/readme.md +0 -320
- /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __esm = (fn, res) => function __init() {
|
|
4
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
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/rm-node-modules.cjs
|
|
17
|
+
var require_rm_node_modules = __commonJS({
|
|
18
|
+
"src/rm-node-modules.cjs"(exports2, module2) {
|
|
19
|
+
init_cjs_shims();
|
|
20
|
+
var fs2 = require("fs-extra");
|
|
21
|
+
var path2 = require("upath");
|
|
22
|
+
var ansiColors2 = require("ansi-colors");
|
|
23
|
+
var child_process = require("child_process");
|
|
24
|
+
var os = require("os");
|
|
25
|
+
function generateBashScript(options = {}) {
|
|
26
|
+
const { dryRun = true } = options;
|
|
27
|
+
return `
|
|
28
|
+
#!/bin/bash
|
|
29
|
+
|
|
30
|
+
set -u
|
|
31
|
+
|
|
32
|
+
cwd="$(pwd)"
|
|
33
|
+
max_jobs=4
|
|
34
|
+
DRY_RUN=${dryRun ? "true" : "false"}
|
|
35
|
+
|
|
36
|
+
cleanup_letter() {
|
|
37
|
+
local letter="$1"
|
|
38
|
+
|
|
39
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
40
|
+
echo "Would remove: node_modules/\${letter}*"
|
|
41
|
+
echo "Would remove: node_modules/@types/\${letter}*"
|
|
42
|
+
echo "Would remove: node_modules/@\${letter}*"
|
|
43
|
+
else
|
|
44
|
+
rm -rf "\${cwd}/node_modules/\${letter}"*
|
|
45
|
+
echo "Removed: node_modules/\${letter}*"
|
|
46
|
+
|
|
47
|
+
rm -rf "\${cwd}/node_modules/@types/\${letter}"*
|
|
48
|
+
echo "Removed: node_modules/@types/\${letter}*"
|
|
49
|
+
|
|
50
|
+
rm -rf "\${cwd}/node_modules/@\${letter}"*
|
|
51
|
+
echo "Removed: node_modules/@\${letter}*"
|
|
52
|
+
fi
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export -f cleanup_letter
|
|
56
|
+
export cwd
|
|
57
|
+
export DRY_RUN
|
|
58
|
+
|
|
59
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
60
|
+
echo "Dry-run mode (pass --force to actually delete)"
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
echo "Cleaning \${cwd}/node_modules..."
|
|
64
|
+
|
|
65
|
+
running=0
|
|
66
|
+
|
|
67
|
+
for letter in {a..z}; do
|
|
68
|
+
cleanup_letter "$letter" &
|
|
69
|
+
|
|
70
|
+
((running++))
|
|
71
|
+
|
|
72
|
+
# limit concurrent jobs
|
|
73
|
+
if (( running >= max_jobs )); then
|
|
74
|
+
wait -n
|
|
75
|
+
((running--))
|
|
76
|
+
fi
|
|
77
|
+
done
|
|
78
|
+
|
|
79
|
+
wait
|
|
80
|
+
|
|
81
|
+
# final full cleanup (ensure nothing left behind)
|
|
82
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
83
|
+
echo "Would remove: node_modules (final cleanup)"
|
|
84
|
+
else
|
|
85
|
+
rm -rf "\${cwd}/node_modules"
|
|
86
|
+
echo "Removed: node_modules (final cleanup)"
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
90
|
+
echo "Done (dry-run). Run with --force to delete for real."
|
|
91
|
+
else
|
|
92
|
+
echo "Done cleaning node_modules."
|
|
93
|
+
fi
|
|
94
|
+
`.trim();
|
|
95
|
+
}
|
|
96
|
+
async function cleanUp2(rootDir, options = {}) {
|
|
97
|
+
const { dryRun = true } = options;
|
|
98
|
+
const nodeModulesDir = path2.join(rootDir, "node_modules");
|
|
99
|
+
const script = generateBashScript({ dryRun });
|
|
100
|
+
const tmpDir = os.tmpdir();
|
|
101
|
+
const name = `rm-node-modules-${Date.now()}-${Math.random().toString(36).slice(2)}.sh`;
|
|
102
|
+
const scriptPath = path2.join(tmpDir, name);
|
|
103
|
+
try {
|
|
104
|
+
fs2.writeFileSync(scriptPath, script, { encoding: "utf8" });
|
|
105
|
+
try {
|
|
106
|
+
fs2.chmodSync(scriptPath, 493);
|
|
107
|
+
} catch {
|
|
108
|
+
}
|
|
109
|
+
const result = child_process.spawnSync("bash", [scriptPath], {
|
|
110
|
+
cwd: rootDir,
|
|
111
|
+
env: process.env,
|
|
112
|
+
encoding: "utf8",
|
|
113
|
+
shell: false
|
|
114
|
+
});
|
|
115
|
+
if (result.stdout) process.stdout.write(result.stdout);
|
|
116
|
+
if (result.stderr) process.stderr.write(result.stderr);
|
|
117
|
+
if (result.error) {
|
|
118
|
+
try {
|
|
119
|
+
console.warn(
|
|
120
|
+
ansiColors2.yellow(`bash execution failed: ${result.error.message}. Falling back to Node removal.`)
|
|
121
|
+
);
|
|
122
|
+
console.log(`Cleaning ${ansiColors2.cyan(nodeModulesDir)}...`);
|
|
123
|
+
fs2.rmSync(nodeModulesDir, { recursive: true, force: true });
|
|
124
|
+
console.log(`Removed: ${ansiColors2.green("node_modules (final cleanup)")}`);
|
|
125
|
+
console.log("Done cleaning node_modules.");
|
|
126
|
+
return {
|
|
127
|
+
code: 0,
|
|
128
|
+
stdout: result.stdout || "",
|
|
129
|
+
stderr: (result.stderr || "") + `
|
|
130
|
+
${result.error.stack || result.error.message}`
|
|
131
|
+
};
|
|
132
|
+
} catch (e) {
|
|
133
|
+
return { code: 1, stdout: result.stdout || "", stderr: (result.stderr || "") + `
|
|
134
|
+
${e.stack || e.message}` };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return { code: result.status ?? 0, stdout: result.stdout ?? "", stderr: result.stderr ?? "" };
|
|
138
|
+
} finally {
|
|
139
|
+
try {
|
|
140
|
+
if (fs2.existsSync(scriptPath)) fs2.unlinkSync(scriptPath);
|
|
141
|
+
} catch {
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
module2.exports = { generateBashScript, cleanUp: cleanUp2 };
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// src/rm-node-module-cli.cjs
|
|
150
|
+
init_cjs_shims();
|
|
151
|
+
var path = require("upath");
|
|
152
|
+
var fs = require("fs-extra");
|
|
153
|
+
var minimist = require("minimist");
|
|
154
|
+
var glob = require("glob");
|
|
155
|
+
var ansiColors = require("ansi-colors");
|
|
156
|
+
var { cleanUp } = require_rm_node_modules();
|
|
157
|
+
var argv = minimist(process.argv.slice(2), {
|
|
158
|
+
boolean: ["h", "help", "force"],
|
|
159
|
+
alias: {
|
|
160
|
+
h: "help"
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
if (argv.help) {
|
|
164
|
+
console.log(`
|
|
165
|
+
rm-node-modules
|
|
166
|
+
|
|
167
|
+
Usage:
|
|
168
|
+
rm-node-modules [options]
|
|
169
|
+
|
|
170
|
+
Examples:
|
|
171
|
+
node src/rm-node-module-cli.cjs
|
|
172
|
+
node src/rm-node-module-cli.cjs --force
|
|
173
|
+
npx binary-collections rm-node-modules
|
|
174
|
+
npx binary-collections rm-node-modules --force
|
|
175
|
+
|
|
176
|
+
Options:
|
|
177
|
+
-h, --help Show this help message
|
|
178
|
+
--force Actually delete node_modules (default is dry-run mode)
|
|
179
|
+
|
|
180
|
+
Description:
|
|
181
|
+
Removes node_modules subfolders by first-letter in parallel to speed up
|
|
182
|
+
deletions. By default runs in dry-run mode (shows what would be deleted).
|
|
183
|
+
Pass --force to actually perform deletion.
|
|
184
|
+
The script writes a temporary shell script and executes it; the
|
|
185
|
+
temporary script is removed after completion. On Windows, this requires a
|
|
186
|
+
Unix-compatible shell in PATH (e.g., Git Bash or WSL).
|
|
187
|
+
`);
|
|
188
|
+
process.exit(0);
|
|
189
|
+
}
|
|
190
|
+
async function main() {
|
|
191
|
+
if (!argv.workspace) {
|
|
192
|
+
await cleanUp(process.cwd(), { dryRun: !argv.force });
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const pkgJsonPath = path.resolve(process.cwd(), argv.workspace, "package.json");
|
|
196
|
+
if (!fs.existsSync(pkgJsonPath)) {
|
|
197
|
+
console.error(`Error: package.json not found in workspace directory: ${ansiColors.red(argv.workspace)}`);
|
|
198
|
+
process.exitCode = 1;
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
const workspaces = (JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8")).workspaces || []).flatMap((workspace) => {
|
|
202
|
+
return glob.sync(workspace, {
|
|
203
|
+
cwd: process.cwd(),
|
|
204
|
+
absolute: true,
|
|
205
|
+
ignore: ["**/node_modules/**", "**/dist/**", "**/build/**"]
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
for (const workspacePath of workspaces) {
|
|
209
|
+
if (fs.existsSync(path.join(workspacePath, "package.json"))) {
|
|
210
|
+
console.log(`Cleaning node_modules in workspace: ${ansiColors.cyan(workspacePath)}`);
|
|
211
|
+
await cleanUp(workspacePath, { dryRun: !argv.force });
|
|
212
|
+
} else {
|
|
213
|
+
console.warn(
|
|
214
|
+
`Warning: No package.json found in workspace path: ${ansiColors.yellow(workspacePath)}, skipping...`
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
main().catch((e) => {
|
|
220
|
+
console.error(ansiColors.red(e instanceof Error ? e.stack || e.message : String(e)));
|
|
221
|
+
process.exitCode = 1;
|
|
222
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
require_rm_node_modules
|
|
4
|
+
} from "./chunk-NVEG3LEZ.mjs";
|
|
5
|
+
import {
|
|
6
|
+
__commonJS,
|
|
7
|
+
__require,
|
|
8
|
+
init_esm_shims
|
|
9
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
10
|
+
|
|
11
|
+
// src/rm-node-module-cli.cjs
|
|
12
|
+
var require_rm_node_module_cli = __commonJS({
|
|
13
|
+
"src/rm-node-module-cli.cjs"() {
|
|
14
|
+
init_esm_shims();
|
|
15
|
+
var path = __require("upath");
|
|
16
|
+
var fs = __require("fs-extra");
|
|
17
|
+
var minimist = __require("minimist");
|
|
18
|
+
var glob = __require("glob");
|
|
19
|
+
var ansiColors = __require("ansi-colors");
|
|
20
|
+
var { cleanUp } = require_rm_node_modules();
|
|
21
|
+
var argv = minimist(process.argv.slice(2), {
|
|
22
|
+
boolean: ["h", "help", "force"],
|
|
23
|
+
alias: {
|
|
24
|
+
h: "help"
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
if (argv.help) {
|
|
28
|
+
console.log(`
|
|
29
|
+
rm-node-modules
|
|
30
|
+
|
|
31
|
+
Usage:
|
|
32
|
+
rm-node-modules [options]
|
|
33
|
+
|
|
34
|
+
Examples:
|
|
35
|
+
node src/rm-node-module-cli.cjs
|
|
36
|
+
node src/rm-node-module-cli.cjs --force
|
|
37
|
+
npx binary-collections rm-node-modules
|
|
38
|
+
npx binary-collections rm-node-modules --force
|
|
39
|
+
|
|
40
|
+
Options:
|
|
41
|
+
-h, --help Show this help message
|
|
42
|
+
--force Actually delete node_modules (default is dry-run mode)
|
|
43
|
+
|
|
44
|
+
Description:
|
|
45
|
+
Removes node_modules subfolders by first-letter in parallel to speed up
|
|
46
|
+
deletions. By default runs in dry-run mode (shows what would be deleted).
|
|
47
|
+
Pass --force to actually perform deletion.
|
|
48
|
+
The script writes a temporary shell script and executes it; the
|
|
49
|
+
temporary script is removed after completion. On Windows, this requires a
|
|
50
|
+
Unix-compatible shell in PATH (e.g., Git Bash or WSL).
|
|
51
|
+
`);
|
|
52
|
+
process.exit(0);
|
|
53
|
+
}
|
|
54
|
+
async function main() {
|
|
55
|
+
if (!argv.workspace) {
|
|
56
|
+
await cleanUp(process.cwd(), { dryRun: !argv.force });
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const pkgJsonPath = path.resolve(process.cwd(), argv.workspace, "package.json");
|
|
60
|
+
if (!fs.existsSync(pkgJsonPath)) {
|
|
61
|
+
console.error(`Error: package.json not found in workspace directory: ${ansiColors.red(argv.workspace)}`);
|
|
62
|
+
process.exitCode = 1;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const workspaces = (JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8")).workspaces || []).flatMap((workspace) => {
|
|
66
|
+
return glob.sync(workspace, {
|
|
67
|
+
cwd: process.cwd(),
|
|
68
|
+
absolute: true,
|
|
69
|
+
ignore: ["**/node_modules/**", "**/dist/**", "**/build/**"]
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
for (const workspacePath of workspaces) {
|
|
73
|
+
if (fs.existsSync(path.join(workspacePath, "package.json"))) {
|
|
74
|
+
console.log(`Cleaning node_modules in workspace: ${ansiColors.cyan(workspacePath)}`);
|
|
75
|
+
await cleanUp(workspacePath, { dryRun: !argv.force });
|
|
76
|
+
} else {
|
|
77
|
+
console.warn(
|
|
78
|
+
`Warning: No package.json found in workspace path: ${ansiColors.yellow(workspacePath)}, skipping...`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
main().catch((e) => {
|
|
84
|
+
console.error(ansiColors.red(e instanceof Error ? e.stack || e.message : String(e)));
|
|
85
|
+
process.exitCode = 1;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export default require_rm_node_module_cli();
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// src/rm-node-modules.cjs
|
|
2
|
+
var fs = require("fs-extra");
|
|
3
|
+
var path = require("upath");
|
|
4
|
+
var ansiColors = require("ansi-colors");
|
|
5
|
+
var child_process = require("child_process");
|
|
6
|
+
var os = require("os");
|
|
7
|
+
function generateBashScript(options = {}) {
|
|
8
|
+
const { dryRun = true } = options;
|
|
9
|
+
return `
|
|
10
|
+
#!/bin/bash
|
|
11
|
+
|
|
12
|
+
set -u
|
|
13
|
+
|
|
14
|
+
cwd="$(pwd)"
|
|
15
|
+
max_jobs=4
|
|
16
|
+
DRY_RUN=${dryRun ? "true" : "false"}
|
|
17
|
+
|
|
18
|
+
cleanup_letter() {
|
|
19
|
+
local letter="$1"
|
|
20
|
+
|
|
21
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
22
|
+
echo "Would remove: node_modules/\${letter}*"
|
|
23
|
+
echo "Would remove: node_modules/@types/\${letter}*"
|
|
24
|
+
echo "Would remove: node_modules/@\${letter}*"
|
|
25
|
+
else
|
|
26
|
+
rm -rf "\${cwd}/node_modules/\${letter}"*
|
|
27
|
+
echo "Removed: node_modules/\${letter}*"
|
|
28
|
+
|
|
29
|
+
rm -rf "\${cwd}/node_modules/@types/\${letter}"*
|
|
30
|
+
echo "Removed: node_modules/@types/\${letter}*"
|
|
31
|
+
|
|
32
|
+
rm -rf "\${cwd}/node_modules/@\${letter}"*
|
|
33
|
+
echo "Removed: node_modules/@\${letter}*"
|
|
34
|
+
fi
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export -f cleanup_letter
|
|
38
|
+
export cwd
|
|
39
|
+
export DRY_RUN
|
|
40
|
+
|
|
41
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
42
|
+
echo "Dry-run mode (pass --force to actually delete)"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
echo "Cleaning \${cwd}/node_modules..."
|
|
46
|
+
|
|
47
|
+
running=0
|
|
48
|
+
|
|
49
|
+
for letter in {a..z}; do
|
|
50
|
+
cleanup_letter "$letter" &
|
|
51
|
+
|
|
52
|
+
((running++))
|
|
53
|
+
|
|
54
|
+
# limit concurrent jobs
|
|
55
|
+
if (( running >= max_jobs )); then
|
|
56
|
+
wait -n
|
|
57
|
+
((running--))
|
|
58
|
+
fi
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
wait
|
|
62
|
+
|
|
63
|
+
# final full cleanup (ensure nothing left behind)
|
|
64
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
65
|
+
echo "Would remove: node_modules (final cleanup)"
|
|
66
|
+
else
|
|
67
|
+
rm -rf "\${cwd}/node_modules"
|
|
68
|
+
echo "Removed: node_modules (final cleanup)"
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
72
|
+
echo "Done (dry-run). Run with --force to delete for real."
|
|
73
|
+
else
|
|
74
|
+
echo "Done cleaning node_modules."
|
|
75
|
+
fi
|
|
76
|
+
`.trim();
|
|
77
|
+
}
|
|
78
|
+
async function cleanUp(rootDir, options = {}) {
|
|
79
|
+
const { dryRun = true } = options;
|
|
80
|
+
const nodeModulesDir = path.join(rootDir, "node_modules");
|
|
81
|
+
const script = generateBashScript({ dryRun });
|
|
82
|
+
const tmpDir = os.tmpdir();
|
|
83
|
+
const name = `rm-node-modules-${Date.now()}-${Math.random().toString(36).slice(2)}.sh`;
|
|
84
|
+
const scriptPath = path.join(tmpDir, name);
|
|
85
|
+
try {
|
|
86
|
+
fs.writeFileSync(scriptPath, script, { encoding: "utf8" });
|
|
87
|
+
try {
|
|
88
|
+
fs.chmodSync(scriptPath, 493);
|
|
89
|
+
} catch {
|
|
90
|
+
}
|
|
91
|
+
const result = child_process.spawnSync("bash", [scriptPath], {
|
|
92
|
+
cwd: rootDir,
|
|
93
|
+
env: process.env,
|
|
94
|
+
encoding: "utf8",
|
|
95
|
+
shell: false
|
|
96
|
+
});
|
|
97
|
+
if (result.stdout) process.stdout.write(result.stdout);
|
|
98
|
+
if (result.stderr) process.stderr.write(result.stderr);
|
|
99
|
+
if (result.error) {
|
|
100
|
+
try {
|
|
101
|
+
console.warn(
|
|
102
|
+
ansiColors.yellow(`bash execution failed: ${result.error.message}. Falling back to Node removal.`)
|
|
103
|
+
);
|
|
104
|
+
console.log(`Cleaning ${ansiColors.cyan(nodeModulesDir)}...`);
|
|
105
|
+
fs.rmSync(nodeModulesDir, { recursive: true, force: true });
|
|
106
|
+
console.log(`Removed: ${ansiColors.green("node_modules (final cleanup)")}`);
|
|
107
|
+
console.log("Done cleaning node_modules.");
|
|
108
|
+
return {
|
|
109
|
+
code: 0,
|
|
110
|
+
stdout: result.stdout || "",
|
|
111
|
+
stderr: (result.stderr || "") + `
|
|
112
|
+
${result.error.stack || result.error.message}`
|
|
113
|
+
};
|
|
114
|
+
} catch (e) {
|
|
115
|
+
return { code: 1, stdout: result.stdout || "", stderr: (result.stderr || "") + `
|
|
116
|
+
${e.stack || e.message}` };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return { code: result.status ?? 0, stdout: result.stdout ?? "", stderr: result.stderr ?? "" };
|
|
120
|
+
} finally {
|
|
121
|
+
try {
|
|
122
|
+
if (fs.existsSync(scriptPath)) fs.unlinkSync(scriptPath);
|
|
123
|
+
} catch {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
module.exports = { generateBashScript, cleanUp };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate bash script for node_modules cleanup
|
|
3
|
+
* @param {Object} options
|
|
4
|
+
* @param {boolean} options.dryRun - If true, only print what would be deleted
|
|
5
|
+
* @returns {string} - The bash script
|
|
6
|
+
*/
|
|
7
|
+
export function generateBashScript(options?: {
|
|
8
|
+
dryRun: boolean;
|
|
9
|
+
}): string;
|
|
10
|
+
/**
|
|
11
|
+
* Create and run a temporary bash script to remove `node_modules` contents.
|
|
12
|
+
*
|
|
13
|
+
* The script is written into `rootDir` and executed via `runBash`. A list of
|
|
14
|
+
* created temporary scripts is stored in a cache file under the OS temp
|
|
15
|
+
* directory so they can be removed after execution. When running with
|
|
16
|
+
* `spawnOptions.stdio === 'inherit'`, the child process uses the parent's
|
|
17
|
+
* stdio and the returned `stdout`/`stderr` may be empty; prefer `'pipe'` in
|
|
18
|
+
* tests when you need to assert against output.
|
|
19
|
+
*
|
|
20
|
+
* @async
|
|
21
|
+
* @param {string} rootDir - Directory where the cleanup script will be created and executed.
|
|
22
|
+
* @param {Object} [options]
|
|
23
|
+
* @param {boolean} [options.dryRun=true] - If true, the generated script will only print what would be deleted.
|
|
24
|
+
* @param {import('child_process').SpawnOptions} [options.spawnOptions] - Options forwarded to the underlying `spawn` call (via `runBash`).
|
|
25
|
+
* @returns {Promise<{code: number, stdout: string, stderr: string}>} Resolves with the result object returned by `runBash`.
|
|
26
|
+
* @throws {Error|Object} Throws for internal failures or rejects with the `runBash` result when the process exits non-zero.
|
|
27
|
+
*/
|
|
28
|
+
export function cleanUp(rootDir: string, options?: {
|
|
29
|
+
dryRun?: boolean;
|
|
30
|
+
spawnOptions?: import("child_process").SpawnOptions;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
code: number;
|
|
33
|
+
stdout: string;
|
|
34
|
+
stderr: string;
|
|
35
|
+
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
require_rm_node_modules
|
|
4
|
+
} from "./chunk-NVEG3LEZ.mjs";
|
|
5
5
|
import "./chunk-QQ4A6DLD.mjs";
|
|
6
|
-
export default
|
|
6
|
+
export default require_rm_node_modules();
|
package/lib/rmpath.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -36,7 +37,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
36
37
|
var getImportMetaUrl, importMetaUrl;
|
|
37
38
|
var init_cjs_shims = __esm({
|
|
38
39
|
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
39
|
-
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src
|
|
40
|
+
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
|
|
40
41
|
importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
41
42
|
}
|
|
42
43
|
});
|
|
@@ -96,31 +97,78 @@ var require_utils = __commonJS({
|
|
|
96
97
|
}
|
|
97
98
|
module2.exports.getArgs = getArgs2;
|
|
98
99
|
function del(fullPath) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
try {
|
|
101
|
+
if (!fs2.existsSync(fullPath)) return;
|
|
102
|
+
const stat = fs2.lstatSync(fullPath);
|
|
103
|
+
if (stat.isSymbolicLink()) {
|
|
104
|
+
try {
|
|
105
|
+
fs2.unlinkSync(fullPath);
|
|
106
|
+
console.log("deleted symlink", fullPath);
|
|
107
|
+
} catch (e) {
|
|
108
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
109
|
+
}
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (stat.isDirectory()) {
|
|
113
|
+
const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
|
|
114
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
115
|
+
del(subdir[i]);
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
fs2.rmdirSync(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
|
+
return;
|
|
103
129
|
}
|
|
104
|
-
} else {
|
|
105
130
|
try {
|
|
106
|
-
fs2.
|
|
131
|
+
fs2.unlinkSync(fullPath);
|
|
107
132
|
console.log("deleted", fullPath);
|
|
108
|
-
} catch (
|
|
109
|
-
|
|
133
|
+
} catch (_e) {
|
|
134
|
+
try {
|
|
135
|
+
fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
136
|
+
console.log("deleted", fullPath);
|
|
137
|
+
} catch (ee) {
|
|
138
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
139
|
+
}
|
|
110
140
|
}
|
|
141
|
+
} catch (err) {
|
|
142
|
+
console.log("failed delete", fullPath, err && err.message);
|
|
111
143
|
}
|
|
112
144
|
}
|
|
113
145
|
module2.exports.del = del;
|
|
114
146
|
function delStream(globStream) {
|
|
115
147
|
globStream.stream().on("data", (result) => {
|
|
116
148
|
const fullPath = path2.resolve(process.cwd(), result);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
149
|
+
try {
|
|
150
|
+
if (fs2.existsSync(fullPath)) {
|
|
151
|
+
const stat = fs2.lstatSync(fullPath);
|
|
152
|
+
if (stat.isSymbolicLink()) {
|
|
153
|
+
try {
|
|
154
|
+
fs2.unlinkSync(fullPath);
|
|
155
|
+
console.log("deleted symlink", fullPath);
|
|
156
|
+
} catch (e) {
|
|
157
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
158
|
+
}
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (stat.isDirectory()) {
|
|
162
|
+
const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
|
|
163
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
164
|
+
del(subdir[i]);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
121
167
|
}
|
|
168
|
+
del(fullPath);
|
|
169
|
+
} catch (err) {
|
|
170
|
+
console.log("failed processing", fullPath, err && err.message);
|
|
122
171
|
}
|
|
123
|
-
del(fullPath);
|
|
124
172
|
});
|
|
125
173
|
}
|
|
126
174
|
module2.exports.delStream = delStream;
|
|
@@ -185,7 +233,7 @@ var __filename2 = (0, import_url.fileURLToPath)(importMetaUrl);
|
|
|
185
233
|
var __dirname = import_upath.default.dirname(__filename2);
|
|
186
234
|
var dotenvPath = import_upath.default.resolve(process.cwd(), ".env");
|
|
187
235
|
if (import_fs_extra.default.existsSync(dotenvPath)) {
|
|
188
|
-
import_dotenv.default.config({ path: dotenvPath });
|
|
236
|
+
import_dotenv.default.config({ path: dotenvPath, override: true, quiet: true });
|
|
189
237
|
}
|
|
190
238
|
var argv = (0, import_utils.getArgs)();
|
|
191
239
|
var positional = argv._ || [];
|
package/lib/rmpath.mjs
CHANGED
|
@@ -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-5RTXZVCW.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__require,
|
|
7
7
|
__toESM,
|
|
@@ -20,7 +20,7 @@ var __filename = fileURLToPath(import.meta.url);
|
|
|
20
20
|
var __dirname = path.dirname(__filename);
|
|
21
21
|
var dotenvPath = path.resolve(process.cwd(), ".env");
|
|
22
22
|
if (fs.existsSync(dotenvPath)) {
|
|
23
|
-
dotenv.config({ path: dotenvPath });
|
|
23
|
+
dotenv.config({ path: dotenvPath, override: true, quiet: true });
|
|
24
24
|
}
|
|
25
25
|
var argv = (0, import_utils.getArgs)();
|
|
26
26
|
var positional = argv._ || [];
|