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
package/readme.html
ADDED
|
@@ -0,0 +1,784 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Binary Collections - Documentation</title>
|
|
7
|
+
<style>
|
|
8
|
+
/* CSS Variables for Theming */
|
|
9
|
+
:root {
|
|
10
|
+
--bg-body: #0d1117;
|
|
11
|
+
--bg-card: #161b22;
|
|
12
|
+
--bg-border: #30363d;
|
|
13
|
+
--text-main: #c9d1d9;
|
|
14
|
+
--text-muted: #8b949e;
|
|
15
|
+
--accent-primary: #58a6ff;
|
|
16
|
+
--accent-secondary: #238636;
|
|
17
|
+
--accent-danger: #da3633;
|
|
18
|
+
--code-bg: #000000;
|
|
19
|
+
--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
|
20
|
+
--font-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Reset & Base Styles */
|
|
24
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
25
|
+
|
|
26
|
+
body {
|
|
27
|
+
font-family: var(--font-main);
|
|
28
|
+
background-color: var(--bg-body);
|
|
29
|
+
color: var(--text-main);
|
|
30
|
+
line-height: 1.6;
|
|
31
|
+
-webkit-font-smoothing: antialiased;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
a { color: var(--accent-primary); text-decoration: none; }
|
|
35
|
+
a:hover { text-decoration: underline; }
|
|
36
|
+
|
|
37
|
+
/* Layout */
|
|
38
|
+
.container {
|
|
39
|
+
max-width: 1200px;
|
|
40
|
+
margin: 0 auto;
|
|
41
|
+
padding: 0 20px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Header */
|
|
45
|
+
header {
|
|
46
|
+
background-color: var(--bg-card);
|
|
47
|
+
border-bottom: 1px solid var(--bg-border);
|
|
48
|
+
padding: 2rem 0;
|
|
49
|
+
margin-bottom: 2rem;
|
|
50
|
+
position: sticky;
|
|
51
|
+
top: 0;
|
|
52
|
+
z-index: 100;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.header-content {
|
|
56
|
+
display: flex;
|
|
57
|
+
justify-content: space-between;
|
|
58
|
+
align-items: center;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
h1 {
|
|
62
|
+
font-size: 1.8rem;
|
|
63
|
+
font-weight: 700;
|
|
64
|
+
color: #fff;
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
gap: 10px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.badge {
|
|
71
|
+
font-size: 0.8rem;
|
|
72
|
+
background: var(--bg-border);
|
|
73
|
+
padding: 2px 8px;
|
|
74
|
+
border-radius: 12px;
|
|
75
|
+
color: var(--text-muted);
|
|
76
|
+
font-weight: normal;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.btn-download {
|
|
80
|
+
background-color: var(--accent-secondary);
|
|
81
|
+
color: white;
|
|
82
|
+
border: none;
|
|
83
|
+
padding: 10px 20px;
|
|
84
|
+
border-radius: 6px;
|
|
85
|
+
font-weight: 600;
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
gap: 8px;
|
|
90
|
+
transition: background 0.2s;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.btn-download:hover { background-color: #2ea043; text-decoration: none; }
|
|
94
|
+
|
|
95
|
+
/* Content Grid */
|
|
96
|
+
.showcase-layout {
|
|
97
|
+
display: grid;
|
|
98
|
+
grid-template-columns: 250px 1fr;
|
|
99
|
+
gap: 2rem;
|
|
100
|
+
padding-bottom: 4rem;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* Sidebar Navigation */
|
|
104
|
+
.sidebar {
|
|
105
|
+
position: sticky;
|
|
106
|
+
top: 100px;
|
|
107
|
+
height: fit-content;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.nav-title {
|
|
111
|
+
font-size: 0.9rem;
|
|
112
|
+
text-transform: uppercase;
|
|
113
|
+
letter-spacing: 1px;
|
|
114
|
+
color: var(--text-muted);
|
|
115
|
+
margin-bottom: 1rem;
|
|
116
|
+
font-weight: 600;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.nav-links { list-style: none; }
|
|
120
|
+
.nav-links li { margin-bottom: 0.5rem; }
|
|
121
|
+
.nav-links a {
|
|
122
|
+
color: var(--text-muted);
|
|
123
|
+
font-size: 0.95rem;
|
|
124
|
+
display: block;
|
|
125
|
+
padding: 4px 0;
|
|
126
|
+
transition: color 0.2s;
|
|
127
|
+
}
|
|
128
|
+
.nav-links a:hover, .nav-links a.active {
|
|
129
|
+
color: var(--accent-primary);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* Main Content Area */
|
|
133
|
+
.content {
|
|
134
|
+
font-size: 1.05rem;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Typography & Components */
|
|
138
|
+
h2 {
|
|
139
|
+
font-size: 1.5rem;
|
|
140
|
+
border-bottom: 1px solid var(--bg-border);
|
|
141
|
+
padding-bottom: 0.5rem;
|
|
142
|
+
margin-top: 2.5rem;
|
|
143
|
+
margin-bottom: 1.5rem;
|
|
144
|
+
color: #fff;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
h3 {
|
|
148
|
+
font-size: 1.25rem;
|
|
149
|
+
margin-top: 2rem;
|
|
150
|
+
margin-bottom: 1rem;
|
|
151
|
+
color: #e6edf3;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
p { margin-bottom: 1rem; }
|
|
155
|
+
|
|
156
|
+
ul, ol { margin-bottom: 1rem; padding-left: 2rem; }
|
|
157
|
+
li { margin-bottom: 0.5rem; }
|
|
158
|
+
|
|
159
|
+
/* Feature Grid */
|
|
160
|
+
.feature-grid {
|
|
161
|
+
display: grid;
|
|
162
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
163
|
+
gap: 1rem;
|
|
164
|
+
margin-bottom: 2rem;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.feature-card {
|
|
168
|
+
background: var(--bg-card);
|
|
169
|
+
border: 1px solid var(--bg-border);
|
|
170
|
+
padding: 1.5rem;
|
|
171
|
+
border-radius: 6px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.feature-icon { font-size: 2rem; margin-bottom: 0.5rem; display: block; }
|
|
175
|
+
.feature-title { font-weight: 600; color: #fff; margin-bottom: 0.25rem; display: block; }
|
|
176
|
+
.feature-desc { font-size: 0.9rem; color: var(--text-muted); }
|
|
177
|
+
|
|
178
|
+
/* Code Blocks */
|
|
179
|
+
pre {
|
|
180
|
+
background: var(--code-bg);
|
|
181
|
+
padding: 1.2rem;
|
|
182
|
+
border-radius: 6px;
|
|
183
|
+
overflow-x: auto;
|
|
184
|
+
margin-bottom: 1.5rem;
|
|
185
|
+
border: 1px solid var(--bg-border);
|
|
186
|
+
position: relative;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
code {
|
|
190
|
+
font-family: var(--font-mono);
|
|
191
|
+
font-size: 0.9em;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* Inline Code */
|
|
195
|
+
p code, li code {
|
|
196
|
+
background: rgba(110, 118, 129, 0.4);
|
|
197
|
+
padding: 0.2em 0.4em;
|
|
198
|
+
border-radius: 4px;
|
|
199
|
+
font-size: 85%;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Tables */
|
|
203
|
+
table {
|
|
204
|
+
width: 100%;
|
|
205
|
+
border-collapse: collapse;
|
|
206
|
+
margin-bottom: 1.5rem;
|
|
207
|
+
display: block;
|
|
208
|
+
overflow-x: auto;
|
|
209
|
+
white-space: nowrap;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
th, td {
|
|
213
|
+
padding: 12px 16px;
|
|
214
|
+
border: 1px solid var(--bg-border);
|
|
215
|
+
text-align: left;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
th {
|
|
219
|
+
background: var(--bg-card);
|
|
220
|
+
font-weight: 600;
|
|
221
|
+
color: #fff;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
tr:nth-child(even) { background: rgba(110, 118, 129, 0.04); }
|
|
225
|
+
|
|
226
|
+
/* Images */
|
|
227
|
+
img {
|
|
228
|
+
max-width: 100%;
|
|
229
|
+
border-radius: 6px;
|
|
230
|
+
border: 1px solid var(--bg-border);
|
|
231
|
+
margin: 1rem 0;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* Alerts/Callouts */
|
|
235
|
+
.callout {
|
|
236
|
+
padding: 1rem;
|
|
237
|
+
border-left: 4px solid var(--accent-primary);
|
|
238
|
+
background: rgba(88, 166, 255, 0.1);
|
|
239
|
+
border-radius: 4px;
|
|
240
|
+
margin-bottom: 1.5rem;
|
|
241
|
+
}
|
|
242
|
+
.callout-title { font-weight: 700; color: var(--accent-primary); display: block; margin-bottom: 0.5rem;}
|
|
243
|
+
|
|
244
|
+
/* Responsive */
|
|
245
|
+
@media (max-width: 768px) {
|
|
246
|
+
.showcase-layout { grid-template-columns: 1fr; }
|
|
247
|
+
.sidebar { display: none; } /* Hide sidebar on mobile for simplicity */
|
|
248
|
+
.header-content { flex-direction: column; gap: 1rem; text-align: center; }
|
|
249
|
+
}
|
|
250
|
+
</style>
|
|
251
|
+
</head>
|
|
252
|
+
<body>
|
|
253
|
+
|
|
254
|
+
<!-- Header -->
|
|
255
|
+
<header>
|
|
256
|
+
<div class="container header-content">
|
|
257
|
+
<div>
|
|
258
|
+
<h1>Binary Collections <span class="badge">v1.0.0</span></h1>
|
|
259
|
+
<p style="color: var(--text-muted);">A comprehensive toolkit of Node.js CLI utilities.</p>
|
|
260
|
+
</div>
|
|
261
|
+
<button class="btn-download" onclick="downloadReadme()">
|
|
262
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
|
|
263
|
+
<path d="M8 12l-4-4h2.5V3h3v5H12L8 12zm0 2.5c-3.037 0-5.5-2.463-5.5-5.5S4.963 3.5 8 3.5 13.5 5.963 13.5 9 11.037 14.5 8 14.5z"/>
|
|
264
|
+
</svg>
|
|
265
|
+
Download README.md
|
|
266
|
+
</button>
|
|
267
|
+
</div>
|
|
268
|
+
</header>
|
|
269
|
+
|
|
270
|
+
<div class="container showcase-layout">
|
|
271
|
+
<!-- Sidebar Navigation -->
|
|
272
|
+
<aside class="sidebar">
|
|
273
|
+
<div class="nav-title">Overview</div>
|
|
274
|
+
<ul class="nav-links">
|
|
275
|
+
<li><a href="#features">Features</a></li>
|
|
276
|
+
<li><a href="#installation">Installation</a></li>
|
|
277
|
+
<li><a href="#vscode">VSCode Setup</a></li>
|
|
278
|
+
<li><a href="#tools">Available Tools</a></li>
|
|
279
|
+
<li><a href="#git-tools">Git Tools</a></li>
|
|
280
|
+
<li><a href="#npm-tools">NPM Scripts</a></li>
|
|
281
|
+
<li><a href="#pkg-tools">Package Management</a></li>
|
|
282
|
+
<li><a href="#cleanup">Cleanup Tools</a></li>
|
|
283
|
+
<li><a href="#troubleshooting">Troubleshooting</a></li>
|
|
284
|
+
<li><a href="#contributing">Contributing</a></li>
|
|
285
|
+
</ul>
|
|
286
|
+
</aside>
|
|
287
|
+
|
|
288
|
+
<!-- Main Content -->
|
|
289
|
+
<main class="content">
|
|
290
|
+
|
|
291
|
+
<section id="features">
|
|
292
|
+
<h2>Features</h2>
|
|
293
|
+
<div class="feature-grid">
|
|
294
|
+
<div class="feature-card">
|
|
295
|
+
<span class="feature-icon">🧹</span>
|
|
296
|
+
<span class="feature-title">Cleanup Tools</span>
|
|
297
|
+
<span class="feature-desc">Remove node_modules, yarn caches, gradle builds.</span>
|
|
298
|
+
</div>
|
|
299
|
+
<div class="feature-card">
|
|
300
|
+
<span class="feature-icon">🔄</span>
|
|
301
|
+
<span class="feature-title">Git Utilities</span>
|
|
302
|
+
<span class="feature-desc">Submodule management, repo purging, and diffs.</span>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="feature-card">
|
|
305
|
+
<span class="feature-icon">📦</span>
|
|
306
|
+
<span class="feature-title">Build Tools</span>
|
|
307
|
+
<span class="feature-desc">NPM script runners and package management.</span>
|
|
308
|
+
</div>
|
|
309
|
+
<div class="feature-card">
|
|
310
|
+
<span class="feature-icon">⚡</span>
|
|
311
|
+
<span class="feature-title">Dev Helpers</span>
|
|
312
|
+
<span class="feature-desc">Process management and environment setup.</span>
|
|
313
|
+
</div>
|
|
314
|
+
</div>
|
|
315
|
+
</section>
|
|
316
|
+
|
|
317
|
+
<section id="installation">
|
|
318
|
+
<h2>Installation</h2>
|
|
319
|
+
|
|
320
|
+
<h3>Clone Repository</h3>
|
|
321
|
+
<pre><code>git clone -b master https://github.com/dimaslanjaka/bin bin</code></pre>
|
|
322
|
+
|
|
323
|
+
<h3>NPM Installation</h3>
|
|
324
|
+
<pre><code># Install locally
|
|
325
|
+
npm install binary-collections
|
|
326
|
+
|
|
327
|
+
# Install globally
|
|
328
|
+
npm install binary-collections -g
|
|
329
|
+
|
|
330
|
+
# Install from release archive
|
|
331
|
+
npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz</code></pre>
|
|
332
|
+
|
|
333
|
+
<h3>Direct Run (No Install)</h3>
|
|
334
|
+
<pre><code># Yarn berry
|
|
335
|
+
yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
336
|
+
|
|
337
|
+
# NPX
|
|
338
|
+
npx -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name></code></pre>
|
|
339
|
+
</section>
|
|
340
|
+
|
|
341
|
+
<section id="vscode">
|
|
342
|
+
<h2>VSCode Setup</h2>
|
|
343
|
+
<p>Create or update <code>.vscode/settings.json</code> to add binary tools to your integrated terminal PATH:</p>
|
|
344
|
+
<pre><code>{
|
|
345
|
+
"terminal.integrated.env.linux": {
|
|
346
|
+
"PATH": "${env:PATH}:${workspaceFolder}/node_modules/.bin:${workspaceFolder}/bin"
|
|
347
|
+
},
|
|
348
|
+
"terminal.integrated.env.windows": {
|
|
349
|
+
"PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin;${workspaceFolder}\\bin"
|
|
350
|
+
}
|
|
351
|
+
// ... other settings
|
|
352
|
+
}</code></pre>
|
|
353
|
+
</section>
|
|
354
|
+
|
|
355
|
+
<section id="tools">
|
|
356
|
+
<h2>Available Tools</h2>
|
|
357
|
+
<p>To list all available executable tools, run:</p>
|
|
358
|
+
<pre><code>binary-collections list</code></pre>
|
|
359
|
+
|
|
360
|
+
<h3>Quick Reference</h3>
|
|
361
|
+
<table>
|
|
362
|
+
<thead>
|
|
363
|
+
<tr>
|
|
364
|
+
<th>Category</th>
|
|
365
|
+
<th>Commands</th>
|
|
366
|
+
<th>Description</th>
|
|
367
|
+
</tr>
|
|
368
|
+
</thead>
|
|
369
|
+
<tbody>
|
|
370
|
+
<tr>
|
|
371
|
+
<td><strong>Git</strong></td>
|
|
372
|
+
<td><code>git-purge</code>, <code>git-diff</code>, <code>git-fix</code>, <code>git-reduce-size</code></td>
|
|
373
|
+
<td>Git repository management and optimization</td>
|
|
374
|
+
</tr>
|
|
375
|
+
<tr>
|
|
376
|
+
<td><strong>Submodules</strong></td>
|
|
377
|
+
<td><code>submodule-install</code>, <code>submodule-remove</code></td>
|
|
378
|
+
<td>Git submodule operations</td>
|
|
379
|
+
</tr>
|
|
380
|
+
<tr>
|
|
381
|
+
<td><strong>NPM Scripts</strong></td>
|
|
382
|
+
<td><code>nrs</code>, <code>run-s</code>, <code>run-series</code></td>
|
|
383
|
+
<td>Run npm scripts in series</td>
|
|
384
|
+
</tr>
|
|
385
|
+
<tr>
|
|
386
|
+
<td><strong>Package Mgmt</strong></td>
|
|
387
|
+
<td><code>yarn-reinstall</code>, <code>pkg-res-updater</code></td>
|
|
388
|
+
<td>Yarn/package resolutions management</td>
|
|
389
|
+
</tr>
|
|
390
|
+
<tr>
|
|
391
|
+
<td><strong>Process Mgmt</strong></td>
|
|
392
|
+
<td><code>kill-process</code>, <code>nodekill</code>, <code>javakill</code></td>
|
|
393
|
+
<td>Process management and termination</td>
|
|
394
|
+
</tr>
|
|
395
|
+
<tr>
|
|
396
|
+
<td><strong>Cleanup</strong></td>
|
|
397
|
+
<td><code>del-nodemodules</code>, <code>del-yarncaches</code>, <code>del-gradle</code></td>
|
|
398
|
+
<td>Cache and build directory cleanup</td>
|
|
399
|
+
</tr>
|
|
400
|
+
<tr>
|
|
401
|
+
<td><strong>GitHub Actions</strong></td>
|
|
402
|
+
<td><code>clear-gh-caches</code></td>
|
|
403
|
+
<td>Remove old GitHub Actions caches</td>
|
|
404
|
+
</tr>
|
|
405
|
+
</tbody>
|
|
406
|
+
</table>
|
|
407
|
+
</section>
|
|
408
|
+
|
|
409
|
+
<section id="git-tools">
|
|
410
|
+
<h2>Git Tools</h2>
|
|
411
|
+
|
|
412
|
+
<h3>Git Repository Purge</h3>
|
|
413
|
+
<p>Cleans and optimizes Git repositories by pruning reflogs.</p>
|
|
414
|
+
<pre><code>git-purge</code></pre>
|
|
415
|
+
<img src="https://github.com/dimaslanjaka/bin/assets/12471057/2805c54e-28a7-491d-b381-de2593a854b3" alt="Git purge screenshot" style="max-height: 300px;">
|
|
416
|
+
|
|
417
|
+
<h3>Git Fix Utility</h3>
|
|
418
|
+
<p>Comprehensive Git configuration fixer for cross-platform development.</p>
|
|
419
|
+
<div class="callout">
|
|
420
|
+
<span class="callout-title">Note</span>
|
|
421
|
+
This tool is non-interactive. All configuration is argument-driven.
|
|
422
|
+
</div>
|
|
423
|
+
<pre><code>git-fix # Apply all fixes
|
|
424
|
+
git-fix --lf-only # Force LF line endings only
|
|
425
|
+
git-fix --permissions # Ignore file permissions only
|
|
426
|
+
git-fix --user # Configure Git user from environment vars
|
|
427
|
+
git-fix --user NAME EMAIL # Configure Git user with specific values
|
|
428
|
+
git-fix --user --update-remote # Configure user and update remote URL</code></pre>
|
|
429
|
+
<ul>
|
|
430
|
+
<li><strong>Line Endings:</strong> Forces LF (<code>core.autocrlf = false</code>)</li>
|
|
431
|
+
<li><strong>Permissions:</strong> Ignores file permission changes (<code>core.filemode = false</code>)</li>
|
|
432
|
+
<li><strong>Normalize:</strong> Creates/updates <code>.gitattributes</code> with proper rules</li>
|
|
433
|
+
<li><strong>User Config:</strong> Sets user from <code>GITHUB_USER</code> / <code>GITHUB_EMAIL</code> or CLI args</li>
|
|
434
|
+
</ul>
|
|
435
|
+
|
|
436
|
+
<h3>Submodule Management</h3>
|
|
437
|
+
<ul>
|
|
438
|
+
<li><code>submodule-install</code>: Install and setup submodules</li>
|
|
439
|
+
<li><code>submodule-remove</code>: Remove git submodules with interactive selection</li>
|
|
440
|
+
</ul>
|
|
441
|
+
</section>
|
|
442
|
+
|
|
443
|
+
<section id="npm-tools">
|
|
444
|
+
<h2>NPM Script Runner</h2>
|
|
445
|
+
<p><strong>Binaries:</strong> <code>nrs</code>, <code>run-s</code>, <code>run-series</code>, <code>npm-run-series</code></p>
|
|
446
|
+
<p>Run multiple npm scripts in series with pattern matching support.</p>
|
|
447
|
+
|
|
448
|
+
<table>
|
|
449
|
+
<thead>
|
|
450
|
+
<tr>
|
|
451
|
+
<th>Flag</th>
|
|
452
|
+
<th>Description</th>
|
|
453
|
+
</tr>
|
|
454
|
+
</thead>
|
|
455
|
+
<tbody>
|
|
456
|
+
<tr><td><code>--yarn</code></td><td>Use <code>yarn run</code> instead of npm</td></tr>
|
|
457
|
+
<tr><td><code>--verbose</code>, <code>-v</code></td><td>Enable verbose output</td></tr>
|
|
458
|
+
</tbody>
|
|
459
|
+
</table>
|
|
460
|
+
|
|
461
|
+
<h3>Example</h3>
|
|
462
|
+
<pre><code># In package.json
|
|
463
|
+
"scripts": {
|
|
464
|
+
"namescript:xx": "echo xx",
|
|
465
|
+
"namescript:xy": "echo xy",
|
|
466
|
+
"namescript": "nrs --yarn=true --verbose=true \"namescript:**\""
|
|
467
|
+
}</code></pre>
|
|
468
|
+
</section>
|
|
469
|
+
|
|
470
|
+
<section id="pkg-tools">
|
|
471
|
+
<h2>Package Management Tools</h2>
|
|
472
|
+
|
|
473
|
+
<h3>Yarn Package Reinstaller</h3>
|
|
474
|
+
<pre><code>yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]</code></pre>
|
|
475
|
+
|
|
476
|
+
<h3>Package Resolutions Manager</h3>
|
|
477
|
+
<p>Manage package resolutions in <code>package.json</code>. (Aliases: <code>pkg-resolutions-updater</code>, <code>pkg-res-updater</code>)</p>
|
|
478
|
+
<pre><code>pkg-resolutions-updater</code></pre>
|
|
479
|
+
</section>
|
|
480
|
+
|
|
481
|
+
<section id="cleanup">
|
|
482
|
+
<h2>Cleanup Tools</h2>
|
|
483
|
+
|
|
484
|
+
<h3>Node Modules Cleaner</h3>
|
|
485
|
+
<p>Remove <code>node_modules</code> directories recursively.</p>
|
|
486
|
+
<pre><code>del-nodemodules # Primary command
|
|
487
|
+
del-node-modules # Alternative</code></pre>
|
|
488
|
+
|
|
489
|
+
<h3>Yarn & Gradle Cleaners</h3>
|
|
490
|
+
<pre><code>del-yarncaches # Clear yarn cache directories
|
|
491
|
+
del-gradle # Delete gradle build folders</code></pre>
|
|
492
|
+
|
|
493
|
+
<h3>GitHub Actions Cache Cleaner</h3>
|
|
494
|
+
<p>Removes old GitHub Actions caches, keeping only the latest.</p>
|
|
495
|
+
<pre><code>clear-gh-caches</code></pre>
|
|
496
|
+
</section>
|
|
497
|
+
|
|
498
|
+
<section id="troubleshooting">
|
|
499
|
+
<h2>Troubleshooting</h2>
|
|
500
|
+
|
|
501
|
+
<h3>Submodule Installation Issues</h3>
|
|
502
|
+
<p>If you encounter this error:</p>
|
|
503
|
+
<pre><code>fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it</code></pre>
|
|
504
|
+
<p><strong>Solution:</strong> Delete the <code>.git/modules</code> directory before running <code>submodule-install</code>.</p>
|
|
505
|
+
|
|
506
|
+
<h3>Complete Submodule Setup Example</h3>
|
|
507
|
+
<pre><code>echo "Initializing submodules..."
|
|
508
|
+
git submodule init
|
|
509
|
+
git submodule foreach "git submodule init"
|
|
510
|
+
|
|
511
|
+
echo "Syncing submodules..."
|
|
512
|
+
git submodule sync
|
|
513
|
+
git submodule foreach "git submodule sync"
|
|
514
|
+
|
|
515
|
+
echo "Updating submodules..."
|
|
516
|
+
npx --yes rimraf .git/modules
|
|
517
|
+
npx --yes binary-collections submodule-install</code></pre>
|
|
518
|
+
</section>
|
|
519
|
+
|
|
520
|
+
<section id="contributing">
|
|
521
|
+
<h2>Development & Contributing</h2>
|
|
522
|
+
<p>The list of available binaries is auto-generated by <code>build.mjs</code>. To update the binary list:</p>
|
|
523
|
+
<pre><code>yarn run build
|
|
524
|
+
# or
|
|
525
|
+
node build.mjs</code></pre>
|
|
526
|
+
<p>This scans the project and updates <code>package.json</code>. Contributions are welcome!</p>
|
|
527
|
+
</section>
|
|
528
|
+
|
|
529
|
+
<footer style="margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--bg-border); color: var(--text-muted); font-size: 0.9rem;">
|
|
530
|
+
<p>Licensed under the terms specified in the LICENSE file.</p>
|
|
531
|
+
<p>© Binary Collections Contributors.</p>
|
|
532
|
+
</footer>
|
|
533
|
+
|
|
534
|
+
</main>
|
|
535
|
+
</div>
|
|
536
|
+
|
|
537
|
+
<!-- Logic to generate and download the refined README.md -->
|
|
538
|
+
<script>
|
|
539
|
+
function downloadReadme() {
|
|
540
|
+
// This string contains the REFINED Markdown content
|
|
541
|
+
const markdownContent = `# Binary Collections
|
|
542
|
+
|
|
543
|
+
A comprehensive toolkit of Node.js CLI utilities for streamlining development workflows. Includes tools for git operations, dependency management, build processes, automation, and more.
|
|
544
|
+
|
|
545
|
+
## Features
|
|
546
|
+
|
|
547
|
+
- 🧹 **Cleanup Tools**: Remove node_modules, yarn caches, gradle builds
|
|
548
|
+
- 🔄 **Git Utilities**: Submodule management, repository purging, diff tools
|
|
549
|
+
- 📦 **Build Tools**: NPM script runners, package management utilities
|
|
550
|
+
- ⚡ **Development Helpers**: Process management, environment setup tools
|
|
551
|
+
|
|
552
|
+
## Installation
|
|
553
|
+
|
|
554
|
+
### Clone Repository
|
|
555
|
+
\`\`\`bash
|
|
556
|
+
git clone -b master https://github.com/dimaslanjaka/bin bin
|
|
557
|
+
\`\`\`
|
|
558
|
+
|
|
559
|
+
### NPM Installation
|
|
560
|
+
\`\`\`bash
|
|
561
|
+
# Install locally
|
|
562
|
+
npm install binary-collections
|
|
563
|
+
|
|
564
|
+
# Install globally
|
|
565
|
+
npm install binary-collections -g
|
|
566
|
+
|
|
567
|
+
# Install from release archive
|
|
568
|
+
npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz
|
|
569
|
+
\`\`\`
|
|
570
|
+
|
|
571
|
+
### Direct Run
|
|
572
|
+
\`\`\`bash
|
|
573
|
+
# Yarn berry
|
|
574
|
+
yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
575
|
+
|
|
576
|
+
# NPX
|
|
577
|
+
npx -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
578
|
+
\`\`\`
|
|
579
|
+
|
|
580
|
+
## VSCode Setup
|
|
581
|
+
|
|
582
|
+
Create \`.vscode/settings.json\` to add binary tools to your PATH:
|
|
583
|
+
|
|
584
|
+
\`\`\`jsonc
|
|
585
|
+
{
|
|
586
|
+
"terminal.integrated.env.linux": {
|
|
587
|
+
"PATH": "${env:PATH}:${workspaceFolder}/node_modules/.bin:${workspaceFolder}/bin"
|
|
588
|
+
},
|
|
589
|
+
"terminal.integrated.env.windows": {
|
|
590
|
+
"PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin;${workspaceFolder}\\bin"
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
\`\`\`
|
|
594
|
+
|
|
595
|
+
## Available Tools
|
|
596
|
+
|
|
597
|
+
To list all available executable tools, run:
|
|
598
|
+
\`\`\`bash
|
|
599
|
+
binary-collections list
|
|
600
|
+
\`\`\`
|
|
601
|
+
|
|
602
|
+
### Quick Reference
|
|
603
|
+
|
|
604
|
+
| Category | Commands | Description |
|
|
605
|
+
|---|---|---|
|
|
606
|
+
| **Git** | \`git-purge\`, \`git-diff\`, \`git-fix\`, \`git-reduce-size\` | Git repository management and optimization |
|
|
607
|
+
| **Submodules** | \`submodule\`, \`submodule-install\`, \`submodule-remove\`, \`submodule-token\` | Git submodule operations |
|
|
608
|
+
| **NPM Scripts** | \`nrs\`, \`run-s\`, \`run-series\`, \`npm-run-series\` | Run npm scripts in series with pattern matching |
|
|
609
|
+
| **Package Mgmt** | \`yarn-reinstall\`, \`pkg-resolutions-updater\`, \`pkg-res-updater\` | Yarn/package resolutions management utilities |
|
|
610
|
+
| **Node.js Dev** | \`find-node-modules\`, \`find-nodemodules\`, \`dev\`, \`prod\`, \`empty\` | Node.js development helpers |
|
|
611
|
+
| **Process Mgmt** | \`kill-process\`, \`nodekill\`, \`javakill\`, \`del-ps\` | Process management and termination |
|
|
612
|
+
| **File System** | \`rmfind\`, \`rmpath\`, \`rmx\`, \`print-tree\`, \`dir-tree\` | File system operations |
|
|
613
|
+
| **Cleanup** | \`del-nodemodules\`, \`del-yarncaches\`, \`del-gradle\` | Cache and build directory cleanup |
|
|
614
|
+
| **GitHub Actions** | \`clear-gh-caches\`, \`clean-github-actions-cache\` | Remove old GitHub Actions caches, keep only latest |
|
|
615
|
+
|
|
616
|
+
## Git Tools
|
|
617
|
+
|
|
618
|
+
### Git Repository Purge
|
|
619
|
+
Clean and optimize git repositories by pruning reflogs.
|
|
620
|
+
\`\`\`bash
|
|
621
|
+
git-purge
|
|
622
|
+
\`\`\`
|
|
623
|
+
|
|
624
|
+

|
|
625
|
+
|
|
626
|
+
### Git Fix Utility
|
|
627
|
+
Comprehensive Git configuration fixer for cross-platform development.
|
|
628
|
+
|
|
629
|
+
> **Note:** This tool is non-interactive. All configuration is argument-driven.
|
|
630
|
+
|
|
631
|
+
\`\`\`bash
|
|
632
|
+
git-fix # Apply all fixes
|
|
633
|
+
git-fix --lf-only # Force LF line endings only
|
|
634
|
+
git-fix --permissions # Ignore file permissions only
|
|
635
|
+
git-fix --normalize # Normalize existing files only
|
|
636
|
+
git-fix --user # Configure Git user from environment
|
|
637
|
+
git-fix --user NAME EMAIL # Configure Git user with specific values
|
|
638
|
+
git-fix --user --update-remote # Also update remote URL to match user
|
|
639
|
+
\`\`\`
|
|
640
|
+
|
|
641
|
+
**Features:**
|
|
642
|
+
- Forces LF line endings (\`core.autocrlf = false\`)
|
|
643
|
+
- Ignores file permission changes (\`core.filemode = false\`)
|
|
644
|
+
- Sets pull strategy to false (prevents auto-rebase)
|
|
645
|
+
- Normalizes existing line endings
|
|
646
|
+
- Creates/updates \`.gitattributes\` with proper line ending rules
|
|
647
|
+
- Configures Git user from environment variables (\`GITHUB_USER\`, \`GITHUB_EMAIL\`) or CLI arguments
|
|
648
|
+
- \`--update-remote\` flag: Update remote URL to match the configured user (for HTTPS remotes)
|
|
649
|
+
|
|
650
|
+
### Git Repository Size Reducer
|
|
651
|
+
Reduce git repository size by cleaning up history.
|
|
652
|
+
\`\`\`bash
|
|
653
|
+
git-reduce-size
|
|
654
|
+
\`\`\`
|
|
655
|
+
|
|
656
|
+
### Submodule Management
|
|
657
|
+
- **\`submodule\`** - General submodule operations
|
|
658
|
+
- **\`submodule-install\`** - Install and setup submodules
|
|
659
|
+
- **\`submodule-remove\`** - Remove git submodules with interactive selection
|
|
660
|
+
|
|
661
|
+

|
|
662
|
+
|
|
663
|
+
## NPM Script Runner
|
|
664
|
+
|
|
665
|
+
**Binaries**: \`nrs\`, \`run-s\`, \`run-series\`, \`npm-run-series\`
|
|
666
|
+
|
|
667
|
+
Run multiple npm scripts in series with pattern matching support.
|
|
668
|
+
|
|
669
|
+
### Options
|
|
670
|
+
| Flag | Description |
|
|
671
|
+
|---------------------|---------------------------------------------|
|
|
672
|
+
| \`--yarn\` | Use \`yarn run <script-name>\` instead of npm |
|
|
673
|
+
| \`--verbose\`, \`-v\` | Enable verbose output |
|
|
674
|
+
|
|
675
|
+
### Example
|
|
676
|
+
Execute all scripts matching the pattern \`namescript:**\`:
|
|
677
|
+
\`\`\`json
|
|
678
|
+
{
|
|
679
|
+
"scripts": {
|
|
680
|
+
"namescript:xx": "echo xx",
|
|
681
|
+
"namescript:xxx": "echo xxx",
|
|
682
|
+
"namescript": "nrs --yarn=true --verbose=true \"namescript:**\""
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
\`\`\`
|
|
686
|
+
|
|
687
|
+
## Package Management Tools
|
|
688
|
+
|
|
689
|
+
### Yarn Package Reinstaller
|
|
690
|
+
Reinstall yarn packages with dependency type flags.
|
|
691
|
+
\`\`\`bash
|
|
692
|
+
yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
|
|
693
|
+
\`\`\`
|
|
694
|
+
|
|
695
|
+
### Package Resolutions Manager
|
|
696
|
+
Manage package resolutions in package.json (aliases: \`pkg-resolutions-updater\`, \`pkg-res-updater\`).
|
|
697
|
+
\`\`\`bash
|
|
698
|
+
pkg-resolutions-updater
|
|
699
|
+
\`\`\`
|
|
700
|
+
|
|
701
|
+
## Cleanup Tools
|
|
702
|
+
|
|
703
|
+
### Node Modules Cleaner
|
|
704
|
+
Remove node_modules directories recursively.
|
|
705
|
+
\`\`\`bash
|
|
706
|
+
del-nodemodules # Primary command
|
|
707
|
+
del-node-modules # Alternative
|
|
708
|
+
\`\`\`
|
|
709
|
+
|
|
710
|
+
### Yarn Cache Cleaner
|
|
711
|
+
Clear yarn cache directories.
|
|
712
|
+
\`\`\`bash
|
|
713
|
+
del-yarncaches # Primary command
|
|
714
|
+
\`\`\`
|
|
715
|
+
|
|
716
|
+
### Gradle Build Cleaner
|
|
717
|
+
Delete gradle build folders.
|
|
718
|
+
\`\`\`bash
|
|
719
|
+
del-gradle
|
|
720
|
+
\`\`\`
|
|
721
|
+
|
|
722
|
+
### GitHub Actions Cache Cleaner
|
|
723
|
+
Remove old GitHub Actions caches, keep only latest.
|
|
724
|
+
\`\`\`bash
|
|
725
|
+
clear-gh-caches
|
|
726
|
+
\`\`\`
|
|
727
|
+
|
|
728
|
+
## Troubleshooting
|
|
729
|
+
|
|
730
|
+
### Submodule Installation Issues
|
|
731
|
+
If you encounter the following error:
|
|
732
|
+
\`\`\`log
|
|
733
|
+
fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it
|
|
734
|
+
\`\`\`
|
|
735
|
+
**Solution**: Delete \`.git/modules\` directory before running \`submodule-install\`.
|
|
736
|
+
|
|
737
|
+
#### Complete Submodule Setup Example
|
|
738
|
+
\`\`\`bash
|
|
739
|
+
echo "Initializing submodules..."
|
|
740
|
+
git submodule init
|
|
741
|
+
git submodule foreach "git submodule init"
|
|
742
|
+
|
|
743
|
+
echo "Syncing submodules..."
|
|
744
|
+
git submodule sync
|
|
745
|
+
git submodule foreach "git submodule sync"
|
|
746
|
+
|
|
747
|
+
echo "Updating submodules..."
|
|
748
|
+
npx --yes rimraf .git/modules
|
|
749
|
+
npx --yes binary-collections submodule-install
|
|
750
|
+
\`\`\`
|
|
751
|
+
|
|
752
|
+
## Development
|
|
753
|
+
|
|
754
|
+
The list of available binaries and utilities is auto-generated by the build script (\`build.mjs\`). All CLI tools and binaries are collected from the \`bin/\`, \`lib/\` folders.
|
|
755
|
+
|
|
756
|
+
To update the binary list:
|
|
757
|
+
\`\`\`bash
|
|
758
|
+
yarn run build
|
|
759
|
+
# or
|
|
760
|
+
node build.mjs
|
|
761
|
+
\`\`\`
|
|
762
|
+
|
|
763
|
+
## Contributing
|
|
764
|
+
|
|
765
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
766
|
+
|
|
767
|
+
## License
|
|
768
|
+
|
|
769
|
+
This project is licensed under the terms specified in the LICENSE file.
|
|
770
|
+
`;
|
|
771
|
+
|
|
772
|
+
const blob = new Blob([markdownContent], { type: 'text/markdown' });
|
|
773
|
+
const url = URL.createObjectURL(blob);
|
|
774
|
+
const a = document.createElement('a');
|
|
775
|
+
a.href = url;
|
|
776
|
+
a.download = 'README.md';
|
|
777
|
+
document.body.appendChild(a);
|
|
778
|
+
a.click();
|
|
779
|
+
document.body.removeChild(a);
|
|
780
|
+
URL.revokeObjectURL(url);
|
|
781
|
+
}
|
|
782
|
+
</script>
|
|
783
|
+
</body>
|
|
784
|
+
</html>
|