binary-collections 2.0.12 → 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.
Files changed (231) hide show
  1. package/binaries/binary-executor.cjs +89 -13
  2. package/binaries/clean-nodemodule.cjs +89 -13
  3. package/binaries/clean-nodemodules.cjs +89 -13
  4. package/binaries/dev.cjs +89 -13
  5. package/binaries/empty.cjs +89 -13
  6. package/binaries/git-reduce-size.cjs +89 -13
  7. package/binaries/javakill.cjs +89 -13
  8. package/binaries/kill-process.cjs +89 -13
  9. package/binaries/nodekill.cjs +89 -13
  10. package/binaries/prod.cjs +89 -13
  11. package/binaries/py.cjs +89 -13
  12. package/binaries/rmfind.cjs +89 -13
  13. package/binaries/rmx.cjs +89 -13
  14. package/binaries/submodule-token.cjs +89 -13
  15. package/binaries/test-cjs.cjs +89 -13
  16. package/binaries/test-esm.cjs +89 -13
  17. package/binaries/yarn-clean.cjs +89 -13
  18. package/binaries/yc +22 -1
  19. package/binaries/yc.cjs +89 -13
  20. package/binaries/ycw +256 -0
  21. package/binaries/ycw.cjs +254 -0
  22. package/docs-src/binary-collections.md +34 -0
  23. package/docs-src/changelog.md +26 -0
  24. package/docs-src/clean-github-actions-caches.md +115 -0
  25. package/docs-src/copy-move-file.md +59 -0
  26. package/docs-src/del-gradle.md +17 -0
  27. package/docs-src/del-ps.md +28 -0
  28. package/docs-src/downloader.md +62 -0
  29. package/docs-src/env-helpers.md +29 -0
  30. package/docs-src/find-node-modules.md +17 -0
  31. package/docs-src/free-chatgpt.md +26 -0
  32. package/docs-src/git-diff.md +33 -0
  33. package/docs-src/git-fix.md +34 -0
  34. package/docs-src/git-purge.md +17 -0
  35. package/docs-src/git-reduce-size.md +17 -0
  36. package/docs-src/git-undo.md +21 -0
  37. package/docs-src/kill-night-crows.md +26 -0
  38. package/docs-src/node-cache-cleaner.md +182 -0
  39. package/docs-src/node-executor.md +50 -0
  40. package/docs-src/node-package-packer.md +48 -0
  41. package/docs-src/npm-run-series.md +43 -0
  42. package/docs-src/package-resolutions-updater.md +22 -0
  43. package/docs-src/php-cs-fixer-staged.md +19 -0
  44. package/docs-src/print-directory-tree.md +35 -0
  45. package/docs-src/print-tarball-tree.md +55 -0
  46. package/docs-src/py.md +19 -0
  47. package/docs-src/remove-module.md +32 -0
  48. package/docs-src/rmfind-rmx.md +21 -0
  49. package/docs-src/rmpath.md +38 -0
  50. package/docs-src/run-by-checksum.md +87 -0
  51. package/docs-src/submodule-install.md +31 -0
  52. package/docs-src/submodule-remove.md +22 -0
  53. package/docs-src/submodule-token.md +17 -0
  54. package/docs-src/test-runners.md +21 -0
  55. package/docs-src/yarn-install.md +31 -0
  56. package/docs-src/yarn-reinstall.md +27 -0
  57. package/lib/binary-collections/config.cjs +1 -1
  58. package/lib/binary-collections/config.mjs +1 -1
  59. package/lib/binary-collections/findScript.cjs +35 -10
  60. package/lib/binary-collections/findScript.mjs +2 -2
  61. package/lib/binary-collections/listScript.cjs +35 -10
  62. package/lib/binary-collections/listScript.mjs +2 -2
  63. package/lib/binary-collections.cjs +45 -25
  64. package/lib/binary-collections.mjs +11 -11
  65. package/lib/changelog.cjs +7 -12
  66. package/lib/changelog.mjs +2 -2
  67. package/lib/{chunk-SPTECFE5.mjs → chunk-2MN4VPV2.mjs} +86 -20
  68. package/lib/{chunk-V2IBPCEV.mjs → chunk-6C7KTYGZ.mjs} +3 -1
  69. package/lib/{chunk-5RTXZVCW.mjs → chunk-6RK5UCTP.mjs} +5 -10
  70. package/lib/{chunk-FB2WKVJD.mjs → chunk-CD3HF3LK.mjs} +67 -35
  71. package/lib/{chunk-6PU7BAHB.mjs → chunk-FLYSZFLW.mjs} +1 -1
  72. package/lib/chunk-KLKAIFKI.mjs +40 -0
  73. package/lib/chunk-LVSPEFU2.mjs +86 -0
  74. package/lib/{chunk-2LSRSEXF.mjs → chunk-MGPYPKIE.mjs} +2 -2
  75. package/lib/{chunk-ZOWVMII3.mjs → chunk-NQXUYO67.mjs} +35 -10
  76. package/lib/{chunk-C6D2TTYU.mjs → chunk-OBXLTXFJ.mjs} +4 -2
  77. package/lib/chunk-QD4T255Z.mjs +40 -0
  78. package/lib/{chunk-XPJGCDOD.mjs → chunk-QII2EKCS.mjs} +14 -2
  79. package/lib/chunk-RDGDLSPD.mjs +76 -0
  80. package/lib/{chunk-NCZPTKDV.mjs → chunk-RDN6HF5Z.mjs} +1 -1
  81. package/lib/chunk-RJKTSUAX.mjs +123 -0
  82. package/lib/{chunk-66KDU4TX.mjs → chunk-TBWXE7ST.mjs} +36 -61
  83. package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
  84. package/lib/chunk-WSHVPGNM.mjs +44 -0
  85. package/lib/{chunk-G5UUEWUO.mjs → chunk-X2B3X7D4.mjs} +1 -1
  86. package/lib/clean-github-actions-caches-cli.cjs +255 -213
  87. package/lib/clean-github-actions-caches-cli.mjs +25 -7
  88. package/lib/clean-github-actions-caches.cjs +231 -35
  89. package/lib/clean-github-actions-caches.d.cts +39 -1
  90. package/lib/clean-github-actions-caches.mjs +2 -1
  91. package/lib/cross-env/command.cjs +2 -2
  92. package/lib/cross-env/command.js +2 -2
  93. package/lib/cross-env/command.mjs +2 -2
  94. package/lib/cross-env/index.cjs +2 -2
  95. package/lib/cross-env/index.mjs +3 -3
  96. package/lib/cross-env/variable.mjs +2 -2
  97. package/lib/del-gradle.cjs +6 -11
  98. package/lib/del-gradle.mjs +1 -1
  99. package/lib/del-node-modules.cjs +185 -3
  100. package/lib/del-node-modules.js +3 -3
  101. package/lib/del-node-modules.mjs +6 -3
  102. package/lib/{del-ps.cjs → del-ps-cli.cjs} +36 -41
  103. package/lib/del-ps-cli.mjs +44 -0
  104. package/lib/del-yarn-caches.cjs +6 -11
  105. package/lib/del-yarn-caches.mjs +1 -1
  106. package/lib/downloader-cli.cjs +256 -0
  107. package/lib/downloader-cli.d.cts +2 -0
  108. package/lib/downloader-cli.mjs +90 -0
  109. package/lib/file/copy-cli.cjs +183 -2
  110. package/lib/file/copy-cli.mjs +6 -2
  111. package/lib/file/move-cli.cjs +183 -2
  112. package/lib/file/move-cli.mjs +6 -2
  113. package/lib/find-node-modules-cli.cjs +1 -1
  114. package/lib/find-node-modules-cli.mjs +1 -1
  115. package/lib/find-node-modules.cjs +1 -1
  116. package/lib/find-node-modules.mjs +1 -1
  117. package/lib/free-chatgpt.cjs +6 -11
  118. package/lib/free-chatgpt.mjs +1 -1
  119. package/lib/git/user-config.cjs +7 -12
  120. package/lib/git/user-config.mjs +2 -2
  121. package/lib/git-diff-cli.cjs +91 -30
  122. package/lib/git-diff-cli.mjs +3 -3
  123. package/lib/git-diff.cjs +91 -30
  124. package/lib/git-diff.js +85 -28
  125. package/lib/git-diff.mjs +3 -3
  126. package/lib/git-fix.cjs +7 -12
  127. package/lib/git-fix.mjs +2 -2
  128. package/lib/git-purge.cjs +7 -12
  129. package/lib/git-purge.mjs +2 -2
  130. package/lib/index.cjs +1 -1
  131. package/lib/index.mjs +1 -1
  132. package/lib/node-cache-cleaner-cli.cjs +185 -2
  133. package/lib/node-cache-cleaner-cli.js +2 -5
  134. package/lib/node-cache-cleaner-cli.mjs +8 -4
  135. package/lib/node-executor.cjs +183 -2
  136. package/lib/node-executor.mjs +5 -2
  137. package/lib/node-package-packer/build-readme.cjs +150 -0
  138. package/lib/node-package-packer/build-readme.d.mts +10 -0
  139. package/lib/node-package-packer/build-readme.mjs +10 -0
  140. package/lib/node-package-packer/build-tarball.cjs +495 -0
  141. package/lib/node-package-packer/build-tarball.d.mts +33 -0
  142. package/lib/node-package-packer/build-tarball.mjs +175 -0
  143. package/lib/node-package-packer-cli.cjs +525 -0
  144. package/lib/node-package-packer-cli.d.mts +1 -0
  145. package/lib/node-package-packer-cli.mjs +34 -0
  146. package/lib/npm-run-series.cjs +7 -12
  147. package/lib/npm-run-series.mjs +2 -2
  148. package/lib/package-resolutions-updater-cli.cjs +73 -76
  149. package/lib/package-resolutions-updater-cli.mjs +4 -3
  150. package/lib/package-resolutions-updater.cjs +71 -74
  151. package/lib/package-resolutions-updater.d.mts +34 -0
  152. package/lib/package-resolutions-updater.mjs +3 -2
  153. package/lib/php-cs-fixer-staged.cjs +1 -1
  154. package/lib/php-cs-fixer-staged.mjs +1 -1
  155. package/lib/print-directory-tree.cjs +16 -18
  156. package/lib/print-directory-tree.mjs +11 -8
  157. package/lib/print-tarball-tree.cjs +262 -0
  158. package/lib/print-tarball-tree.d.mts +1 -0
  159. package/lib/print-tarball-tree.mjs +68 -0
  160. package/lib/ps/index.cjs +10 -10
  161. package/lib/ps/index.mjs +4 -4
  162. package/lib/ps/table-parser.d.ts +3 -4
  163. package/lib/ps/table-parser.js +9 -16
  164. package/lib/remove-module.cjs +17 -22
  165. package/lib/remove-module.mjs +2 -2
  166. package/lib/rm-node-module-cli.cjs +171 -4
  167. package/lib/rm-node-module-cli.mjs +7 -4
  168. package/lib/rmpath-cli.cjs +285 -0
  169. package/lib/rmpath-cli.d.mts +1 -0
  170. package/lib/rmpath-cli.mjs +23 -0
  171. package/lib/rmpath.cjs +6 -217
  172. package/lib/rmpath.mjs +5 -101
  173. package/lib/run-by-checksum/cache.cjs +69 -0
  174. package/lib/run-by-checksum/cache.d.ts +19 -0
  175. package/lib/run-by-checksum/cache.js +50 -0
  176. package/lib/run-by-checksum/cache.mjs +12 -0
  177. package/lib/run-by-checksum/hash.cjs +72 -0
  178. package/lib/run-by-checksum/hash.d.ts +14 -0
  179. package/lib/run-by-checksum/hash.js +85 -0
  180. package/lib/{ps/isWin.mjs → run-by-checksum/hash.mjs} +5 -5
  181. package/lib/run-by-checksum/run.cjs +169 -0
  182. package/lib/run-by-checksum/run.d.ts +22 -0
  183. package/lib/run-by-checksum/run.js +93 -0
  184. package/lib/run-by-checksum/run.mjs +10 -0
  185. package/lib/run-by-checksum-cli.cjs +382 -0
  186. package/lib/run-by-checksum-cli.d.ts +2 -0
  187. package/lib/run-by-checksum-cli.js +43 -0
  188. package/lib/run-by-checksum-cli.mjs +56 -0
  189. package/lib/submodule-install.cjs +8 -13
  190. package/lib/submodule-install.mjs +3 -3
  191. package/lib/submodule-remove-cli.cjs +169 -2
  192. package/lib/submodule-remove-cli.js +2 -2
  193. package/lib/submodule-remove-cli.mjs +5 -2
  194. package/lib/utils/fetchResponse.cjs +24 -0
  195. package/lib/utils/fetchResponse.d.cts +25 -0
  196. package/lib/utils/fetchResponse.mjs +6 -0
  197. package/lib/utils/index.cjs +5 -10
  198. package/lib/utils/index.d.cts +2 -9
  199. package/lib/utils/index.mjs +1 -1
  200. package/lib/utils/isWindows.mjs +3 -1
  201. package/lib/utils/runBash.cjs +1 -1
  202. package/lib/utils/runBash.mjs +1 -1
  203. package/lib/yarn-per-branch-lock-installer.cjs +202 -11
  204. package/lib/yarn-per-branch-lock-installer.mjs +24 -11
  205. package/lib/yarn-reinstall.cjs +6 -11
  206. package/lib/yarn-reinstall.mjs +1 -1
  207. package/package.json +35 -10
  208. package/readme.html +2 -2
  209. package/readme.md +5 -5
  210. package/releases/readme.md +6 -3
  211. package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
  212. package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
  213. package/.opencode/package.json +0 -5
  214. package/lib/chunk-6S4NXESK.mjs +0 -26
  215. package/lib/del-ps.js +0 -32
  216. package/lib/del-ps.mjs +0 -43
  217. package/lib/ps/isWin.cjs +0 -26
  218. package/lib/ps/isWin.d.ts +0 -2
  219. package/lib/ps/isWin.js +0 -4
  220. package/test/package.json +0 -20
  221. package/test-project/package.json +0 -22
  222. package/test-project/workspaces/workspace-a/package.json +0 -135
  223. package/test-project/workspaces/workspace-a/test/demo/package.json +0 -25
  224. package/test-project/workspaces/workspace-b/package.json +0 -139
  225. package/test-project/workspaces/workspace-b/test/sample-project/package.json +0 -7
  226. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +0 -96
  227. package/tmp/rm-node-modules-test-project/package.json +0 -17
  228. package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +0 -16
  229. package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +0 -16
  230. package/tmp/test-repo/package.json +0 -17
  231. /package/lib/{del-ps.d.ts → del-ps-cli.d.mts} +0 -0
@@ -0,0 +1,38 @@
1
+ # Remove Path (rmpath)
2
+
3
+ Fast huge folder deleter using a parallel alphabet-based deletion strategy. Deletes files or folders quickly by breaking down deletions alphabetically, falling back to standard `fs.rmSync` for the top-level target.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ rmpath <file-or-folder-path>
9
+ ```
10
+
11
+ ### Aliases
12
+
13
+ This command is available under the following alias:
14
+
15
+ - `rmpath` (default)
16
+
17
+ ### Behavior
18
+
19
+ - **Files**: The specified file is deleted directly.
20
+ - **Folders**: Subentries starting with each letter (a–z, A–Z) are resolved and deleted in parallel patterns. Vowel combinations are also covered for thorough matching.
21
+ - **Fallback**: After alphabet-based deletion, `fs.rmSync` is called on the original target path to clean up any remaining entries.
22
+
23
+ ### Examples
24
+
25
+ ```bash
26
+ # Delete a single file
27
+ rmpath large-file.tmp
28
+
29
+ # Delete a large directory (e.g., node_modules)
30
+ rmpath ./node_modules
31
+
32
+ # Delete a directory using an absolute path
33
+ rmpath C:\temp\huge-folder
34
+ ```
35
+
36
+ ## Source
37
+
38
+ See [`src/rmpath-cli.mjs`](../src/rmpath-cli.mjs) (CLI entry point) and [`src/rmpath.mjs`](../src/rmpath.mjs) (core logic).
@@ -0,0 +1,87 @@
1
+ # Run by Checksum
2
+
3
+ Run a command only when the checksum of matched files changes. Computes SHA-256 hashes of all matching files, stores them in a cache under `tmp/.checksum/`, and compares on subsequent runs to determine if the command should execute again.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ run-by-checksum -p "<glob>" -e "<command>"
9
+ ```
10
+
11
+ ### Aliases
12
+
13
+ This command is available under several aliases (all invoke the same CLI):
14
+
15
+ - `run-by-checksum` (default)
16
+ - `run-checksum`
17
+ - `run-c`
18
+
19
+ ### Options
20
+
21
+ | Flag | Type | Description |
22
+ | :--- | :--- | :--- |
23
+ | `-p`, `--pattern` | `string[]` | Glob pattern(s) to include (can be repeated) |
24
+ | `-i`, `--ignore` | `string[]` | Glob pattern(s) to exclude (can be repeated) |
25
+ | `-e`, `--exec` | `string` | Command to execute when checksum changes |
26
+ | `-c`, `--cwd` | `string` | Working directory for glob scanning and spawn (default: `INIT_CWD` or current directory) |
27
+ | `-h`, `--help` | `boolean` | Show help message |
28
+
29
+ ### Examples
30
+
31
+ Run a build script when any `.js` or `.ts` file changes:
32
+
33
+ ```bash
34
+ run-by-checksum -p "src/**/*.js" -p "src/**/*.ts" -e "npm run build"
35
+ ```
36
+
37
+ Ignore node_modules and run tests when source files change:
38
+
39
+ ```bash
40
+ run-by-checksum -p "src/**/*.js" -i "**/node_modules/**" -e "npm test"
41
+ ```
42
+
43
+ Override the working directory (both glob scanning and spawned command run relative to the given directory):
44
+
45
+ ```bash
46
+ run-by-checksum -p "*.js" -e "npm test" --cwd /path/to/project
47
+ ```
48
+
49
+ ### How it works
50
+
51
+ 1. **Scan**: All files matching the given glob patterns are collected.
52
+ 2. **Hash**: SHA-256 checksums are computed for each matched file's content and combined into a single hash.
53
+ 3. **Compare**: The combined hash is compared against a previously cached hash stored in `tmp/.checksum/<md5-key>.json`.
54
+ 4. **Execute**: If the hash differs (files have changed), the specified command is executed.
55
+ 5. **Cache**: Only if the command exits successfully (exit code 0) is the new checksum persisted to the cache. On failure, the old checksum is retained so the command will re-run on the next invocation.
56
+ 6. **Skip**: If the hash matches (no changes), the command is skipped.
57
+
58
+ ### Programmatic API
59
+
60
+ The core logic can also be imported directly:
61
+
62
+ ```js
63
+ import { runChecksum } from './src/run-by-checksum/run.js';
64
+
65
+ await runChecksum({
66
+ patterns: ['src/**/*.js'],
67
+ ignore: ['**/node_modules/**'],
68
+ exec: 'npm run build',
69
+ cwd: process.cwd(),
70
+ dryRun: false // set to true to detect changes without executing
71
+ });
72
+ ```
73
+
74
+ The function returns:
75
+
76
+ ```ts
77
+ {
78
+ changed: boolean, // whether files changed since last run
79
+ cacheFile: string, // path to the cache file
80
+ files: string[], // list of matched files
81
+ skipped?: boolean // only present when dryRun=true and changes detected
82
+ }
83
+ ```
84
+
85
+ ## Source
86
+
87
+ See [`src/run-by-checksum-cli.js`](../src/run-by-checksum-cli.js) (CLI) and [`src/run-by-checksum/`](../src/run-by-checksum/) (core logic).
@@ -0,0 +1,31 @@
1
+ ## Submodule Install
2
+
3
+ Installs and updates git submodules recursively, applying access tokens for private repos.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-install [options] [repo-path]
9
+ ```
10
+
11
+ ### Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `--cwd <path>` | Set working directory |
16
+ | `-h, --help` | Show help message |
17
+
18
+ ### Description
19
+
20
+ - Installs and updates git submodules recursively
21
+ - Applies access tokens (`GITHUB_TOKEN` or `ACCESS_TOKEN` from `.env`) for private repositories
22
+ - Prevents infinite recursion loops by tracking visited submodules
23
+
24
+ ### Environment Setup
25
+
26
+ 1. Add `GITHUB_TOKEN` or `ACCESS_TOKEN` to your `.env` file
27
+ 2. Ensure your tokens have access to the required repositories
28
+
29
+ ### Source
30
+
31
+ See [`src/submodule-install.cjs`](../src/submodule-install.cjs)
@@ -0,0 +1,22 @@
1
+ ## Submodule Remove
2
+
3
+ Completely removes a git submodule from the repository.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-remove <submodule-path>
9
+ ```
10
+
11
+ ### Description
12
+
13
+ Performs a complete removal of a git submodule:
14
+ - De-initializes the submodule (`git submodule deinit`)
15
+ - Removes the submodule from `.gitmodules`
16
+ - Removes the submodule from `.git/config`
17
+ - Removes the submodule directory
18
+ - Commits the changes
19
+
20
+ ### Source
21
+
22
+ See [`src/submodule-remove.cjs`](../src/submodule-remove.cjs) & [`src/submodule-remove-cli.js`](../src/submodule-remove-cli.js)
@@ -0,0 +1,17 @@
1
+ ## Submodule Token Manager
2
+
3
+ Removes access tokens from git submodule URLs.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-token
9
+ ```
10
+
11
+ ### Description
12
+
13
+ Scans submodule URLs in `.gitmodules` and removes any embedded access tokens, leaving clean HTTPS URLs.
14
+
15
+ ### Source
16
+
17
+ See [`bin/submodule-token`](../bin/submodule-token)
@@ -0,0 +1,21 @@
1
+ ## Jest Test Runners
2
+
3
+ Run Jest tests for CommonJS or ESM modules.
4
+
5
+ ### Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `test-cjs` | Run Jest for CommonJS tests |
10
+ | `test-esm` | Run Jest for ESM tests (with `--experimental-vm-modules`) |
11
+
12
+ ### Usage
13
+
14
+ ```bash
15
+ test-cjs [jest-options...]
16
+ test-esm [jest-options...]
17
+ ```
18
+
19
+ ### Source
20
+
21
+ See [`bin/test-cjs`](../bin/test-cjs) & [`bin/test-esm`](../bin/test-esm)
@@ -0,0 +1,31 @@
1
+ ## Per-Branch Yarn Lock Installer
2
+
3
+ Manages per-branch `yarn.lock` files — saves and restores branch-specific lockfiles.
4
+
5
+ ### Aliases
6
+
7
+ - `yarn-install` (default)
8
+ - `y-install`
9
+ - `yarn-per-branch-lock-installer`
10
+
11
+ ### Usage
12
+
13
+ ```bash
14
+ yarn-install [packages...]
15
+ ```
16
+
17
+ ### Options
18
+
19
+ | Option | Description |
20
+ |--------|-------------|
21
+ | `-h, --help` | Show help message |
22
+
23
+ ### Description
24
+
25
+ - Saves the current `yarn.lock` to a branch-specific file before switching branches
26
+ - Restores the branch-specific `yarn.lock` when returning to a branch
27
+ - Runs `yarn install` or `yarn up` to sync dependencies
28
+
29
+ ### Source
30
+
31
+ See [`src/yarn-per-branch-lock-installer.cjs`](../src/yarn-per-branch-lock-installer.cjs)
@@ -0,0 +1,27 @@
1
+ ## Yarn Package Reinstaller
2
+
3
+ Reinstalls a yarn package by removing and re-adding it.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
9
+ ```
10
+
11
+ ### Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `--dev`, `-D` | Add as dev dependency |
16
+ | `--peer`, `-P` | Add as peer dependency |
17
+ | `--optional`, `-O` | Add as optional dependency |
18
+
19
+ ### Description
20
+
21
+ - Checks if the package is currently installed before removing
22
+ - Runs `yarn remove <packageName>` then `yarn add <packageName> [flags]`
23
+ - Skips removal if the package is not installed
24
+
25
+ ### Source
26
+
27
+ See [`src/yarn-reinstall.cjs`](../src/yarn-reinstall.cjs)
@@ -109,7 +109,7 @@ var require_findEnvFiles = __commonJS({
109
109
 
110
110
  // src/binary-collections/config.cjs
111
111
  init_cjs_shims();
112
- var path = require("path");
112
+ var path = require("upath");
113
113
  var { findEnvWithToken } = require_findEnvFiles();
114
114
  require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
115
115
  function getTempDir() {
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_config
4
- } from "../chunk-G5UUEWUO.mjs";
4
+ } from "../chunk-X2B3X7D4.mjs";
5
5
  import "../chunk-H44UWUFY.mjs";
6
6
  import "../chunk-QQ4A6DLD.mjs";
7
7
  export default require_config();
@@ -8,7 +8,7 @@ var require_package = __commonJS({
8
8
  "package.json"(exports2, module2) {
9
9
  module2.exports = {
10
10
  name: "binary-collections",
11
- version: "2.0.12",
11
+ version: "2.0.13",
12
12
  description: "Utility to clean any programming caches and more",
13
13
  keywords: [
14
14
  "cache",
@@ -44,19 +44,19 @@ var require_package = __commonJS({
44
44
  files: [
45
45
  "binaries",
46
46
  "lib",
47
- "package.json",
47
+ "docs-src",
48
48
  "readme.md",
49
49
  ".puppeterrc.cjs",
50
50
  "requirements.txt"
51
51
  ],
52
52
  scripts: {
53
53
  build: "tsc -b tsconfig.build.json && npm run build-tsup && npm run build-exports",
54
- "build-exports": "node -r ts-node/register -r dotenv/config build.exports.mjs",
54
+ "build-exports": "node -r ts-node/register -r dotenv/config build.mjs",
55
55
  "build-packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
56
56
  "build-rollup": "rollup -c rollup.config.js",
57
57
  "build-tsup": "node build.tsup.js",
58
58
  clean: "rimraf lib tmp/dist binaries",
59
- pack: "node packer.cjs --yarn --filename=bin",
59
+ pack: "node package.cjs --yarn --filename=bin",
60
60
  prepare: "husky",
61
61
  "puppeteer:browser": "npx -y puppeteer browsers install chrome",
62
62
  test: "test-cjs",
@@ -76,6 +76,7 @@ var require_package = __commonJS({
76
76
  "ansi-colors": "^4.1.3",
77
77
  axios: "^1.16.1",
78
78
  "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
79
+ "crypto-js": "^4.2.0",
79
80
  dotenv: "^17.4.2",
80
81
  "fs-extra": "^11.3.5",
81
82
  "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
@@ -87,9 +88,12 @@ var require_package = __commonJS({
87
88
  "puppeteer-extra": "^3.3.6",
88
89
  "puppeteer-extra-plugin-stealth": "^2.11.2",
89
90
  "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
91
+ "tar-stream": "^3.2.0",
90
92
  upath: "^3.0.7",
93
+ which: "^7.0.0",
91
94
  yaml: "^2.9.0",
92
- yarn: "^1.22.22"
95
+ yarn: "^1.22.22",
96
+ zlib: "^1.0.5"
93
97
  },
94
98
  devDependencies: {
95
99
  "@babel/core": "^7.29.0",
@@ -103,12 +107,15 @@ var require_package = __commonJS({
103
107
  "@rollup/plugin-node-resolve": "^16.0.3",
104
108
  "@types/babel__core": "^7",
105
109
  "@types/babel__preset-env": "^7",
110
+ "@types/crypto-js": "^4",
106
111
  "@types/fs-extra": "^11",
107
112
  "@types/jest": "^30.0.0",
108
113
  "@types/minimist": "^1",
109
114
  "@types/mocha": "^10.0.10",
110
115
  "@types/node": "^25.9.1",
111
116
  "@types/ps-node": "^0",
117
+ "@types/tar-stream": "^3",
118
+ "@types/which": "^3.0.4",
112
119
  "babel-jest": "^30.4.1",
113
120
  "browser-sync": "^3.0.4",
114
121
  "cross-env": "^10.1.0",
@@ -136,13 +143,16 @@ var require_package = __commonJS({
136
143
  resolutions: {
137
144
  "@types/through2": "https://github.com/dimaslanjaka/nodejs-package-types/raw/refs/heads/through2/release/types-through2.tgz",
138
145
  "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
139
- "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
146
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/dd8c8ef596083f367c592f97a2439f9fc8ab33b2/release/git-command-helper.tgz",
140
147
  "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
141
- "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/69ca996fdeaac42c93dd590124996eff58b5d6c2/release/dimaslanjaka-eslint-base-config.tgz"
148
+ "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/9741b4feac89f303ea585e3ecac2b0e768434135/release/dimaslanjaka-eslint-base-config.tgz"
142
149
  },
143
150
  bin: {
144
151
  "binary-collections": "lib/binary-collections.cjs",
145
152
  "binary-executor": "binaries/binary-executor.cjs",
153
+ "build-package": "lib/node-package-packer-cli.cjs",
154
+ "build-package-tarball": "lib/node-package-packer-cli.cjs",
155
+ "build-tarball": "lib/node-package-packer-cli.cjs",
146
156
  changelog: "lib/changelog.cjs",
147
157
  chatgpt: "lib/free-chatgpt.cjs",
148
158
  "clean-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
@@ -157,14 +167,19 @@ var require_package = __commonJS({
157
167
  "del-gradle": "lib/del-gradle.cjs",
158
168
  "del-node-modules": "lib/del-node-modules.cjs",
159
169
  "del-nodemodules": "lib/del-node-modules.cjs",
160
- "del-ps": "lib/del-ps.cjs",
170
+ "del-ps": "lib/del-ps-cli.cjs",
161
171
  "del-yarn-caches": "lib/del-yarn-caches.cjs",
162
172
  "del-yarncaches": "lib/del-yarn-caches.cjs",
163
173
  dev: "binaries/dev.cjs",
164
174
  "dir-tree": "lib/print-directory-tree.cjs",
175
+ download: "lib/downloader-cli.cjs",
176
+ "download-file": "lib/downloader-cli.cjs",
177
+ downloader: "lib/downloader-cli.cjs",
165
178
  empty: "binaries/empty.cjs",
166
179
  "exec-node": "lib/node-executor.cjs",
167
180
  "execute-node": "lib/node-executor.cjs",
181
+ "fetch-file": "lib/downloader-cli.cjs",
182
+ "file-downloader": "lib/downloader-cli.cjs",
168
183
  "find-node-modules": "lib/find-node-modules-cli.cjs",
169
184
  "free-chatgpt": "lib/free-chatgpt.cjs",
170
185
  "git-diff": "lib/git-diff-cli.cjs",
@@ -183,14 +198,18 @@ var require_package = __commonJS({
183
198
  "node-exec": "lib/node-executor.cjs",
184
199
  "node-executor": "lib/node-executor.cjs",
185
200
  "node-move": "lib/file/move-cli.cjs",
201
+ "node-package-packer": "lib/node-package-packer-cli.cjs",
186
202
  nodekill: "binaries/nodekill.cjs",
187
203
  "npm-run-series": "lib/npm-run-series.cjs",
188
204
  nrs: "lib/npm-run-series.cjs",
205
+ "pack-node-package": "lib/node-package-packer-cli.cjs",
206
+ "pack-tarball": "lib/node-package-packer-cli.cjs",
189
207
  "package-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
190
208
  "php-cs-fixer-staged": "lib/php-cs-fixer-staged.cjs",
191
209
  "pkg-res-updater": "lib/package-resolutions-updater-cli.cjs",
192
210
  "pkg-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
193
211
  "print-directory-tree": "lib/print-directory-tree.cjs",
212
+ "print-tarball-tree": "lib/print-tarball-tree.cjs",
194
213
  "print-tree": "lib/print-directory-tree.cjs",
195
214
  prod: "binaries/prod.cjs",
196
215
  py: "binaries/py.cjs",
@@ -200,13 +219,18 @@ var require_package = __commonJS({
200
219
  "rm-node-module": "lib/rm-node-module-cli.cjs",
201
220
  "rm-node-modules": "lib/rm-node-module-cli.cjs",
202
221
  rmfind: "binaries/rmfind.cjs",
203
- rmpath: "lib/rmpath.cjs",
222
+ rmpath: "lib/rmpath-cli.cjs",
204
223
  rmx: "binaries/rmx.cjs",
224
+ "run-by-checksum": "lib/run-by-checksum-cli.cjs",
225
+ "run-c": "lib/run-by-checksum-cli.cjs",
226
+ "run-checksum": "lib/run-by-checksum-cli.cjs",
205
227
  "run-s": "lib/npm-run-series.cjs",
206
228
  "run-series": "lib/npm-run-series.cjs",
207
229
  "submodule-install": "lib/submodule-install.cjs",
208
230
  "submodule-remove": "lib/submodule-remove-cli.cjs",
209
231
  "submodule-token": "binaries/submodule-token.cjs",
232
+ "tarball-packer": "lib/node-package-packer-cli.cjs",
233
+ "tarball-tree": "lib/print-tarball-tree.cjs",
210
234
  "test-cjs": "binaries/test-cjs.cjs",
211
235
  "test-esm": "binaries/test-esm.cjs",
212
236
  "undo-commit": "lib/git/undo-commit.cjs",
@@ -217,7 +241,8 @@ var require_package = __commonJS({
217
241
  "yarn-install": "lib/yarn-per-branch-lock-installer.cjs",
218
242
  "yarn-per-branch-lock-installer": "lib/yarn-per-branch-lock-installer.cjs",
219
243
  "yarn-reinstall": "lib/yarn-reinstall.cjs",
220
- yc: "binaries/yc.cjs"
244
+ yc: "binaries/yc.cjs",
245
+ ycw: "binaries/ycw.cjs"
221
246
  }
222
247
  };
223
248
  }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_findScript
4
- } from "../chunk-NCZPTKDV.mjs";
5
- import "../chunk-ZOWVMII3.mjs";
4
+ } from "../chunk-RDN6HF5Z.mjs";
5
+ import "../chunk-NQXUYO67.mjs";
6
6
  import "../chunk-QQ4A6DLD.mjs";
7
7
  export default require_findScript();
@@ -8,7 +8,7 @@ var require_package = __commonJS({
8
8
  "package.json"(exports2, module2) {
9
9
  module2.exports = {
10
10
  name: "binary-collections",
11
- version: "2.0.12",
11
+ version: "2.0.13",
12
12
  description: "Utility to clean any programming caches and more",
13
13
  keywords: [
14
14
  "cache",
@@ -44,19 +44,19 @@ var require_package = __commonJS({
44
44
  files: [
45
45
  "binaries",
46
46
  "lib",
47
- "package.json",
47
+ "docs-src",
48
48
  "readme.md",
49
49
  ".puppeterrc.cjs",
50
50
  "requirements.txt"
51
51
  ],
52
52
  scripts: {
53
53
  build: "tsc -b tsconfig.build.json && npm run build-tsup && npm run build-exports",
54
- "build-exports": "node -r ts-node/register -r dotenv/config build.exports.mjs",
54
+ "build-exports": "node -r ts-node/register -r dotenv/config build.mjs",
55
55
  "build-packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
56
56
  "build-rollup": "rollup -c rollup.config.js",
57
57
  "build-tsup": "node build.tsup.js",
58
58
  clean: "rimraf lib tmp/dist binaries",
59
- pack: "node packer.cjs --yarn --filename=bin",
59
+ pack: "node package.cjs --yarn --filename=bin",
60
60
  prepare: "husky",
61
61
  "puppeteer:browser": "npx -y puppeteer browsers install chrome",
62
62
  test: "test-cjs",
@@ -76,6 +76,7 @@ var require_package = __commonJS({
76
76
  "ansi-colors": "^4.1.3",
77
77
  axios: "^1.16.1",
78
78
  "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
79
+ "crypto-js": "^4.2.0",
79
80
  dotenv: "^17.4.2",
80
81
  "fs-extra": "^11.3.5",
81
82
  "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
@@ -87,9 +88,12 @@ var require_package = __commonJS({
87
88
  "puppeteer-extra": "^3.3.6",
88
89
  "puppeteer-extra-plugin-stealth": "^2.11.2",
89
90
  "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
91
+ "tar-stream": "^3.2.0",
90
92
  upath: "^3.0.7",
93
+ which: "^7.0.0",
91
94
  yaml: "^2.9.0",
92
- yarn: "^1.22.22"
95
+ yarn: "^1.22.22",
96
+ zlib: "^1.0.5"
93
97
  },
94
98
  devDependencies: {
95
99
  "@babel/core": "^7.29.0",
@@ -103,12 +107,15 @@ var require_package = __commonJS({
103
107
  "@rollup/plugin-node-resolve": "^16.0.3",
104
108
  "@types/babel__core": "^7",
105
109
  "@types/babel__preset-env": "^7",
110
+ "@types/crypto-js": "^4",
106
111
  "@types/fs-extra": "^11",
107
112
  "@types/jest": "^30.0.0",
108
113
  "@types/minimist": "^1",
109
114
  "@types/mocha": "^10.0.10",
110
115
  "@types/node": "^25.9.1",
111
116
  "@types/ps-node": "^0",
117
+ "@types/tar-stream": "^3",
118
+ "@types/which": "^3.0.4",
112
119
  "babel-jest": "^30.4.1",
113
120
  "browser-sync": "^3.0.4",
114
121
  "cross-env": "^10.1.0",
@@ -136,13 +143,16 @@ var require_package = __commonJS({
136
143
  resolutions: {
137
144
  "@types/through2": "https://github.com/dimaslanjaka/nodejs-package-types/raw/refs/heads/through2/release/types-through2.tgz",
138
145
  "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
139
- "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
146
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/dd8c8ef596083f367c592f97a2439f9fc8ab33b2/release/git-command-helper.tgz",
140
147
  "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
141
- "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/69ca996fdeaac42c93dd590124996eff58b5d6c2/release/dimaslanjaka-eslint-base-config.tgz"
148
+ "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/9741b4feac89f303ea585e3ecac2b0e768434135/release/dimaslanjaka-eslint-base-config.tgz"
142
149
  },
143
150
  bin: {
144
151
  "binary-collections": "lib/binary-collections.cjs",
145
152
  "binary-executor": "binaries/binary-executor.cjs",
153
+ "build-package": "lib/node-package-packer-cli.cjs",
154
+ "build-package-tarball": "lib/node-package-packer-cli.cjs",
155
+ "build-tarball": "lib/node-package-packer-cli.cjs",
146
156
  changelog: "lib/changelog.cjs",
147
157
  chatgpt: "lib/free-chatgpt.cjs",
148
158
  "clean-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
@@ -157,14 +167,19 @@ var require_package = __commonJS({
157
167
  "del-gradle": "lib/del-gradle.cjs",
158
168
  "del-node-modules": "lib/del-node-modules.cjs",
159
169
  "del-nodemodules": "lib/del-node-modules.cjs",
160
- "del-ps": "lib/del-ps.cjs",
170
+ "del-ps": "lib/del-ps-cli.cjs",
161
171
  "del-yarn-caches": "lib/del-yarn-caches.cjs",
162
172
  "del-yarncaches": "lib/del-yarn-caches.cjs",
163
173
  dev: "binaries/dev.cjs",
164
174
  "dir-tree": "lib/print-directory-tree.cjs",
175
+ download: "lib/downloader-cli.cjs",
176
+ "download-file": "lib/downloader-cli.cjs",
177
+ downloader: "lib/downloader-cli.cjs",
165
178
  empty: "binaries/empty.cjs",
166
179
  "exec-node": "lib/node-executor.cjs",
167
180
  "execute-node": "lib/node-executor.cjs",
181
+ "fetch-file": "lib/downloader-cli.cjs",
182
+ "file-downloader": "lib/downloader-cli.cjs",
168
183
  "find-node-modules": "lib/find-node-modules-cli.cjs",
169
184
  "free-chatgpt": "lib/free-chatgpt.cjs",
170
185
  "git-diff": "lib/git-diff-cli.cjs",
@@ -183,14 +198,18 @@ var require_package = __commonJS({
183
198
  "node-exec": "lib/node-executor.cjs",
184
199
  "node-executor": "lib/node-executor.cjs",
185
200
  "node-move": "lib/file/move-cli.cjs",
201
+ "node-package-packer": "lib/node-package-packer-cli.cjs",
186
202
  nodekill: "binaries/nodekill.cjs",
187
203
  "npm-run-series": "lib/npm-run-series.cjs",
188
204
  nrs: "lib/npm-run-series.cjs",
205
+ "pack-node-package": "lib/node-package-packer-cli.cjs",
206
+ "pack-tarball": "lib/node-package-packer-cli.cjs",
189
207
  "package-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
190
208
  "php-cs-fixer-staged": "lib/php-cs-fixer-staged.cjs",
191
209
  "pkg-res-updater": "lib/package-resolutions-updater-cli.cjs",
192
210
  "pkg-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
193
211
  "print-directory-tree": "lib/print-directory-tree.cjs",
212
+ "print-tarball-tree": "lib/print-tarball-tree.cjs",
194
213
  "print-tree": "lib/print-directory-tree.cjs",
195
214
  prod: "binaries/prod.cjs",
196
215
  py: "binaries/py.cjs",
@@ -200,13 +219,18 @@ var require_package = __commonJS({
200
219
  "rm-node-module": "lib/rm-node-module-cli.cjs",
201
220
  "rm-node-modules": "lib/rm-node-module-cli.cjs",
202
221
  rmfind: "binaries/rmfind.cjs",
203
- rmpath: "lib/rmpath.cjs",
222
+ rmpath: "lib/rmpath-cli.cjs",
204
223
  rmx: "binaries/rmx.cjs",
224
+ "run-by-checksum": "lib/run-by-checksum-cli.cjs",
225
+ "run-c": "lib/run-by-checksum-cli.cjs",
226
+ "run-checksum": "lib/run-by-checksum-cli.cjs",
205
227
  "run-s": "lib/npm-run-series.cjs",
206
228
  "run-series": "lib/npm-run-series.cjs",
207
229
  "submodule-install": "lib/submodule-install.cjs",
208
230
  "submodule-remove": "lib/submodule-remove-cli.cjs",
209
231
  "submodule-token": "binaries/submodule-token.cjs",
232
+ "tarball-packer": "lib/node-package-packer-cli.cjs",
233
+ "tarball-tree": "lib/print-tarball-tree.cjs",
210
234
  "test-cjs": "binaries/test-cjs.cjs",
211
235
  "test-esm": "binaries/test-esm.cjs",
212
236
  "undo-commit": "lib/git/undo-commit.cjs",
@@ -217,7 +241,8 @@ var require_package = __commonJS({
217
241
  "yarn-install": "lib/yarn-per-branch-lock-installer.cjs",
218
242
  "yarn-per-branch-lock-installer": "lib/yarn-per-branch-lock-installer.cjs",
219
243
  "yarn-reinstall": "lib/yarn-reinstall.cjs",
220
- yc: "binaries/yc.cjs"
244
+ yc: "binaries/yc.cjs",
245
+ ycw: "binaries/ycw.cjs"
221
246
  }
222
247
  };
223
248
  }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_listScript
4
- } from "../chunk-6PU7BAHB.mjs";
5
- import "../chunk-ZOWVMII3.mjs";
4
+ } from "../chunk-FLYSZFLW.mjs";
5
+ import "../chunk-NQXUYO67.mjs";
6
6
  import "../chunk-QQ4A6DLD.mjs";
7
7
  export default require_listScript();