binary-collections 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binaries/binary-executor.cjs +89 -13
- package/binaries/clean-nodemodule.cjs +89 -13
- package/binaries/clean-nodemodules.cjs +89 -13
- package/binaries/dev.cjs +89 -13
- package/binaries/empty.cjs +89 -13
- package/binaries/git-reduce-size.cjs +89 -13
- package/binaries/javakill.cjs +89 -13
- package/binaries/kill-process.cjs +89 -13
- package/binaries/nodekill.cjs +89 -13
- package/binaries/prod.cjs +89 -13
- package/binaries/py.cjs +89 -13
- package/binaries/rmfind.cjs +89 -13
- package/binaries/rmx +15 -1
- package/binaries/rmx.cjs +89 -13
- package/binaries/rmx.cmd +12 -0
- package/binaries/submodule-token.cjs +89 -13
- package/binaries/test-cjs +9 -1
- package/binaries/test-cjs.cjs +89 -13
- package/binaries/test-cjs.cmd +16 -1
- package/binaries/test-esm +16 -0
- package/binaries/test-esm.cjs +254 -0
- package/binaries/test-esm.cmd +23 -0
- package/binaries/yarn-clean +1 -1
- package/binaries/yarn-clean.cjs +89 -13
- package/binaries/yarn-clean.cmd +1 -1
- package/binaries/yarn-clean.py +33 -15
- package/binaries/yc +131 -0
- package/binaries/yc.cjs +254 -0
- package/binaries/ycw +256 -0
- package/binaries/ycw.cjs +254 -0
- package/docs-src/binary-collections.md +34 -0
- package/docs-src/changelog.md +26 -0
- package/docs-src/clean-github-actions-caches.md +91 -2
- package/docs-src/copy-move-file.md +59 -0
- package/docs-src/del-gradle.md +17 -0
- package/docs-src/del-ps.md +28 -0
- package/docs-src/downloader.md +62 -0
- package/docs-src/env-helpers.md +29 -0
- package/docs-src/find-node-modules.md +17 -0
- package/docs-src/git-diff.md +33 -0
- package/docs-src/git-fix.md +34 -0
- package/docs-src/git-purge.md +17 -0
- package/docs-src/git-reduce-size.md +17 -0
- package/docs-src/git-undo.md +21 -0
- package/docs-src/kill-night-crows.md +26 -0
- package/docs-src/node-cache-cleaner.md +182 -0
- package/docs-src/node-executor.md +50 -0
- package/docs-src/node-package-packer.md +48 -0
- package/docs-src/npm-run-series.md +43 -0
- package/docs-src/package-resolutions-updater.md +22 -0
- package/docs-src/php-cs-fixer-staged.md +19 -0
- package/docs-src/print-directory-tree.md +35 -0
- package/docs-src/print-tarball-tree.md +55 -0
- package/docs-src/py.md +19 -0
- package/docs-src/remove-module.md +32 -0
- package/docs-src/rmfind-rmx.md +21 -0
- package/docs-src/rmpath.md +38 -0
- package/docs-src/run-by-checksum.md +87 -0
- package/docs-src/submodule-install.md +31 -0
- package/docs-src/submodule-remove.md +22 -0
- package/docs-src/submodule-token.md +17 -0
- package/docs-src/test-runners.md +21 -0
- package/docs-src/yarn-install.md +31 -0
- package/docs-src/yarn-reinstall.md +27 -0
- package/lib/binary-collections/config.cjs +126 -0
- package/lib/binary-collections/config.mjs +7 -0
- package/lib/binary-collections/executeScript.cjs +19 -0
- package/lib/binary-collections/executeScript.d.cts +12 -0
- package/lib/binary-collections/executeScript.mjs +6 -0
- package/lib/binary-collections/findScript.cjs +309 -0
- package/lib/binary-collections/findScript.d.cts +12 -0
- package/lib/binary-collections/findScript.mjs +7 -0
- package/lib/binary-collections/listScript.cjs +291 -0
- package/lib/binary-collections/listScript.d.cts +19 -0
- package/lib/binary-collections/listScript.mjs +7 -0
- package/lib/binary-collections.cjs +264 -157
- package/lib/binary-collections.mjs +26 -286
- package/lib/changelog.cjs +9 -14
- package/lib/changelog.mjs +2 -2
- package/lib/chunk-2MN4VPV2.mjs +246 -0
- package/lib/chunk-6C7KTYGZ.mjs +41 -0
- package/lib/{chunk-Z6JLYU2J.mjs → chunk-6RK5UCTP.mjs} +7 -12
- package/lib/chunk-CD3HF3LK.mjs +190 -0
- package/lib/chunk-FLYSZFLW.mjs +61 -0
- package/lib/{chunk-N436BNBK.mjs → chunk-GAGABICI.mjs} +19 -13
- package/lib/chunk-H44UWUFY.mjs +105 -0
- package/lib/chunk-KLKAIFKI.mjs +40 -0
- package/lib/chunk-LVSPEFU2.mjs +86 -0
- package/lib/{chunk-RWLXRTYP.mjs → chunk-MGPYPKIE.mjs} +2 -2
- package/lib/chunk-NGFK3EYW.mjs +28 -0
- package/lib/chunk-NQXUYO67.mjs +253 -0
- package/lib/chunk-NVEG3LEZ.mjs +143 -0
- package/lib/chunk-OBXLTXFJ.mjs +34 -0
- package/lib/chunk-OGXVGBRI.mjs +29 -0
- package/lib/chunk-OXV52GD5.mjs +62 -0
- package/lib/chunk-PXBMHE7O.mjs +35 -0
- package/lib/chunk-QD4T255Z.mjs +40 -0
- package/lib/chunk-QII2EKCS.mjs +26 -0
- package/lib/chunk-R5FJOR63.mjs +47 -0
- package/lib/chunk-RDGDLSPD.mjs +76 -0
- package/lib/chunk-RDN6HF5Z.mjs +79 -0
- package/lib/chunk-RJKTSUAX.mjs +123 -0
- package/lib/{chunk-XA3SNBPA.mjs → chunk-TBWXE7ST.mjs} +97 -38
- package/lib/chunk-UXCFNAR6.mjs +55 -0
- package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
- package/lib/chunk-WSHVPGNM.mjs +44 -0
- package/lib/{chunk-66PAU5PS.mjs → chunk-X2B3X7D4.mjs} +10 -6
- package/lib/clean-github-actions-caches-cli.cjs +507 -0
- package/lib/clean-github-actions-caches-cli.mjs +74 -0
- package/lib/clean-github-actions-caches.cjs +246 -106
- package/lib/clean-github-actions-caches.d.cts +53 -1
- package/lib/clean-github-actions-caches.mjs +5 -130
- package/lib/cross-env/command.cjs +63 -0
- package/lib/cross-env/command.d.ts +8 -0
- package/lib/cross-env/command.js +45 -0
- package/lib/{ps/isWin.mjs → cross-env/command.mjs} +4 -5
- package/lib/cross-env/index.cjs +178 -0
- package/lib/cross-env/index.d.ts +8 -0
- package/lib/cross-env/index.js +102 -0
- package/lib/cross-env/index.mjs +101 -0
- package/lib/cross-env/variable.cjs +60 -0
- package/lib/cross-env/variable.d.ts +7 -0
- package/lib/cross-env/variable.js +59 -0
- package/lib/cross-env/variable.mjs +9 -0
- package/lib/del-gradle.cjs +8 -13
- package/lib/del-gradle.js +8 -8
- package/lib/del-gradle.mjs +1 -1
- package/lib/del-node-modules.cjs +185 -3
- package/lib/del-node-modules.js +25 -25
- package/lib/del-node-modules.mjs +6 -3
- package/lib/{del-ps.cjs → del-ps-cli.cjs} +38 -43
- package/lib/del-ps-cli.d.mts +1 -0
- package/lib/del-ps-cli.mjs +44 -0
- package/lib/del-yarn-caches.cjs +8 -13
- package/lib/del-yarn-caches.js +2 -2
- package/lib/del-yarn-caches.mjs +1 -1
- package/lib/downloader-cli.cjs +256 -0
- package/lib/downloader-cli.d.cts +2 -0
- package/lib/downloader-cli.mjs +90 -0
- package/lib/file/copy-cli.cjs +273 -0
- package/lib/file/copy-cli.d.mts +1 -0
- package/lib/file/copy-cli.mjs +59 -0
- package/lib/file/copy.cjs +56 -0
- package/lib/file/copy.d.mts +1 -0
- package/lib/file/copy.mjs +8 -0
- package/lib/file/move-cli.cjs +272 -0
- package/lib/file/move-cli.d.mts +1 -0
- package/lib/file/move-cli.mjs +59 -0
- package/lib/file/move.cjs +55 -0
- package/lib/file/move.d.mts +1 -0
- package/lib/file/move.mjs +8 -0
- package/lib/find-node-modules-cli.cjs +1 -1
- package/lib/find-node-modules-cli.js +1 -1
- package/lib/find-node-modules-cli.mjs +1 -1
- package/lib/find-node-modules.cjs +1 -1
- package/lib/find-node-modules.mjs +1 -1
- package/lib/free-chatgpt.cjs +27 -26
- package/lib/free-chatgpt.js +10 -10
- package/lib/free-chatgpt.mjs +2 -2
- package/lib/git/user-config.cjs +9 -14
- package/lib/git/user-config.mjs +2 -2
- package/lib/git-diff-cli.cjs +273 -66
- package/lib/git-diff-cli.mjs +5 -4
- package/lib/git-diff.cjs +273 -66
- package/lib/git-diff.d.ts +2 -1
- package/lib/git-diff.js +153 -39
- package/lib/git-diff.mjs +5 -4
- package/lib/git-fix.cjs +9 -14
- package/lib/git-fix.mjs +2 -2
- package/lib/git-purge.cjs +9 -14
- package/lib/git-purge.mjs +2 -2
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.mjs +1 -1
- package/lib/kill-night-crows.cjs +7 -7
- package/lib/kill-night-crows.mjs +7 -7
- package/lib/node-cache-cleaner/npm.cjs +65 -0
- package/lib/node-cache-cleaner/npm.d.ts +2 -0
- package/lib/node-cache-cleaner/npm.js +41 -0
- package/lib/node-cache-cleaner/npm.mjs +10 -0
- package/lib/node-cache-cleaner/npx.cjs +89 -0
- package/lib/node-cache-cleaner/npx.d.ts +4 -0
- package/lib/node-cache-cleaner/npx.js +82 -0
- package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
- package/lib/node-cache-cleaner/yarn.cjs +73 -0
- package/lib/node-cache-cleaner/yarn.d.ts +2 -0
- package/lib/node-cache-cleaner/yarn.js +62 -0
- package/lib/node-cache-cleaner/yarn.mjs +10 -0
- package/lib/node-cache-cleaner-cli.cjs +365 -0
- package/lib/node-cache-cleaner-cli.d.ts +2 -0
- package/lib/node-cache-cleaner-cli.js +57 -0
- package/lib/node-cache-cleaner-cli.mjs +60 -0
- package/lib/node-executor.cjs +272 -0
- package/lib/node-executor.d.cts +2 -0
- package/lib/node-executor.mjs +106 -0
- package/lib/node-package-packer/build-readme.cjs +150 -0
- package/lib/node-package-packer/build-readme.d.mts +10 -0
- package/lib/node-package-packer/build-readme.mjs +10 -0
- package/lib/node-package-packer/build-tarball.cjs +495 -0
- package/lib/node-package-packer/build-tarball.d.mts +33 -0
- package/lib/node-package-packer/build-tarball.mjs +175 -0
- package/lib/node-package-packer-cli.cjs +525 -0
- package/lib/node-package-packer-cli.d.mts +1 -0
- package/lib/node-package-packer-cli.mjs +34 -0
- package/lib/npm-run-series.cjs +28 -40
- package/lib/npm-run-series.mjs +21 -7
- package/lib/package-resolutions-updater-cli.cjs +255 -173
- package/lib/package-resolutions-updater-cli.mjs +19 -40
- package/lib/package-resolutions-updater.cjs +244 -141
- package/lib/package-resolutions-updater.d.mts +54 -1
- package/lib/package-resolutions-updater.mjs +8 -5
- package/lib/php-cs-fixer-staged.cjs +1 -1
- package/lib/php-cs-fixer-staged.mjs +1 -1
- package/lib/print-directory-tree.cjs +18 -20
- package/lib/print-directory-tree.mjs +11 -8
- package/lib/print-tarball-tree.cjs +262 -0
- package/lib/print-tarball-tree.d.mts +1 -0
- package/lib/print-tarball-tree.mjs +68 -0
- package/lib/ps/connected-domain.js +10 -10
- package/lib/ps/index.cjs +11 -11
- package/lib/ps/index.mjs +180 -174
- package/lib/ps/table-parser.d.ts +3 -4
- package/lib/ps/table-parser.js +15 -22
- package/lib/remove-module.cjs +19 -24
- package/lib/remove-module.mjs +2 -2
- package/lib/rm-node-module-cli.cjs +389 -0
- package/lib/rm-node-module-cli.d.cts +1 -0
- package/lib/rm-node-module-cli.mjs +92 -0
- package/lib/rm-node-modules.cjs +127 -0
- package/lib/rm-node-modules.d.cts +35 -0
- package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
- package/lib/rmpath-cli.cjs +285 -0
- package/lib/rmpath-cli.d.mts +1 -0
- package/lib/rmpath-cli.mjs +23 -0
- package/lib/rmpath.cjs +6 -217
- package/lib/rmpath.mjs +5 -101
- package/lib/run-by-checksum/cache.cjs +69 -0
- package/lib/run-by-checksum/cache.d.ts +19 -0
- package/lib/run-by-checksum/cache.js +50 -0
- package/lib/run-by-checksum/cache.mjs +12 -0
- package/lib/run-by-checksum/hash.cjs +72 -0
- package/lib/run-by-checksum/hash.d.ts +14 -0
- package/lib/run-by-checksum/hash.js +85 -0
- package/lib/run-by-checksum/hash.mjs +10 -0
- package/lib/run-by-checksum/run.cjs +169 -0
- package/lib/run-by-checksum/run.d.ts +22 -0
- package/lib/run-by-checksum/run.js +93 -0
- package/lib/run-by-checksum/run.mjs +10 -0
- package/lib/run-by-checksum-cli.cjs +382 -0
- package/lib/run-by-checksum-cli.d.ts +2 -0
- package/lib/run-by-checksum-cli.js +43 -0
- package/lib/run-by-checksum-cli.mjs +56 -0
- package/lib/submodule-install.cjs +55 -47
- package/lib/submodule-install.mjs +48 -35
- package/lib/submodule-remove-cli.cjs +170 -4
- package/lib/submodule-remove-cli.js +5 -5
- package/lib/submodule-remove-cli.mjs +6 -4
- package/lib/utils/chatgpt.cjs +19 -13
- package/lib/utils/chatgpt.js +94 -94
- package/lib/utils/chatgpt.mjs +1 -1
- package/lib/utils/fetchResponse.cjs +24 -0
- package/lib/utils/fetchResponse.d.cts +25 -0
- package/lib/utils/fetchResponse.mjs +6 -0
- package/lib/utils/findEnvFiles.cjs +28 -46
- package/lib/utils/findEnvFiles.d.cts +19 -0
- package/lib/utils/findEnvFiles.mjs +3 -5
- package/lib/utils/findWorkspaceRoot.js +4 -4
- package/lib/utils/index.cjs +7 -12
- package/lib/utils/index.d.cts +2 -9
- package/lib/utils/index.mjs +1 -1
- package/lib/utils/isGithubTokenValid.js +7 -7
- package/lib/{ps/isWin.cjs → utils/isWindows.cjs} +12 -7
- package/lib/utils/isWindows.d.ts +5 -0
- package/lib/utils/isWindows.js +10 -0
- package/lib/utils/isWindows.mjs +10 -0
- package/lib/utils/runBash.cjs +53 -0
- package/lib/utils/runBash.d.cts +12 -0
- package/lib/utils/runBash.mjs +66 -0
- package/lib/yarn-per-branch-lock-installer.cjs +288 -0
- package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
- package/lib/yarn-per-branch-lock-installer.mjs +122 -0
- package/lib/yarn-reinstall.cjs +8 -13
- package/lib/yarn-reinstall.mjs +1 -1
- package/package.json +91 -57
- package/readme.html +784 -0
- package/readme.md +107 -219
- package/releases/readme.md +6 -3
- package/test/README.md +2 -2
- package/test-project/workspaces/workspace-a/readme.md +20 -0
- package/test-project/workspaces/workspace-a/release/readme.md +42 -0
- package/test-project/workspaces/workspace-a/test/readme.md +12 -0
- package/test-project/workspaces/workspace-b/readme.md +94 -0
- package/test-project/workspaces/workspace-b/requirements.txt +1 -0
- package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
- package/tmp/test-repo/README.md +2 -35
- package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
- package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
- package/lib/binary-collections-config.cjs +0 -15
- package/lib/chunk-2CBJCW7E.mjs +0 -81
- package/lib/chunk-4UHL4WVN.mjs +0 -136
- package/lib/chunk-6HHJRKFB.mjs +0 -59
- package/lib/chunk-6S4NXESK.mjs +0 -26
- package/lib/chunk-7XTEJHOE.mjs +0 -193
- package/lib/chunk-AJDD5DZM.mjs +0 -109
- package/lib/chunk-FCDQGYBF.mjs +0 -136
- package/lib/chunk-GEYA2USY.mjs +0 -207
- package/lib/chunk-GJTGHXRA.mjs +0 -356
- package/lib/chunk-ID2WBTE2.mjs +0 -80
- package/lib/chunk-JXFOHKDM.mjs +0 -239
- package/lib/chunk-NCXAP7AA.mjs +0 -31
- package/lib/chunk-PDSXF5HY.mjs +0 -187
- package/lib/chunk-TOIVAQF7.mjs +0 -136
- package/lib/chunk-V5SKYJUB.mjs +0 -136
- package/lib/chunk-WSRETQCA.mjs +0 -59
- package/lib/chunk-YYLIQQKF.mjs +0 -31
- package/lib/del-ps.js +0 -32
- package/lib/del-ps.mjs +0 -43
- package/lib/ps/index.d.cjs +0 -17
- package/lib/ps/index.d.ts +0 -2
- package/lib/ps/index.js +0 -254
- package/lib/ps/isWin.d.ts +0 -2
- package/lib/ps/isWin.js +0 -4
- package/lib/utils/findEnvFiles.d.ts +0 -8
- package/lib/utils/findEnvFiles.js +0 -121
- package/test/package.json +0 -20
- package/test-project/package.json +0 -16
- package/tmp/test-repo/package.json +0 -7
- package/tmp/typedoc/readme.md +0 -320
- /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
- /package/lib/{del-ps.d.ts → clean-github-actions-caches-cli.d.cts} +0 -0
|
@@ -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)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
+
var __esm = (fn, res) => function __init() {
|
|
3
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
4
|
+
};
|
|
5
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
6
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
// node_modules/tsup/assets/cjs_shims.js
|
|
10
|
+
var init_cjs_shims = __esm({
|
|
11
|
+
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// src/utils/findEnvFiles.cjs
|
|
16
|
+
var require_findEnvFiles = __commonJS({
|
|
17
|
+
"src/utils/findEnvFiles.cjs"(exports2, module2) {
|
|
18
|
+
init_cjs_shims();
|
|
19
|
+
var fs = require("fs");
|
|
20
|
+
var path2 = require("path");
|
|
21
|
+
var glob = require("glob");
|
|
22
|
+
var DEFAULT_IGNORES = [
|
|
23
|
+
"**/node_modules/**",
|
|
24
|
+
"**/.git/**",
|
|
25
|
+
"**/.yarn/**",
|
|
26
|
+
"**/.pnpm/**",
|
|
27
|
+
"**/dist/**",
|
|
28
|
+
"**/build/**",
|
|
29
|
+
"**/coverage/**",
|
|
30
|
+
"**/vendor/**",
|
|
31
|
+
"**/tmp/**",
|
|
32
|
+
"**/.cache/**",
|
|
33
|
+
"**/assets/**",
|
|
34
|
+
"**/logs/**",
|
|
35
|
+
"**/output/**",
|
|
36
|
+
"**/public/**",
|
|
37
|
+
"**/static/**",
|
|
38
|
+
"**/temp/**",
|
|
39
|
+
"**/backup/**",
|
|
40
|
+
"**/backups/**",
|
|
41
|
+
"**/examples/**",
|
|
42
|
+
"**/docs/**",
|
|
43
|
+
"**/tests/**",
|
|
44
|
+
"**/__tests__/**",
|
|
45
|
+
"**/spec/**",
|
|
46
|
+
"**/__specs__/**",
|
|
47
|
+
"**/scripts/**",
|
|
48
|
+
"**/bin/**",
|
|
49
|
+
"**/hooks/**",
|
|
50
|
+
"**/config/**",
|
|
51
|
+
"**/configs/**",
|
|
52
|
+
"**/settings/**",
|
|
53
|
+
"**/.vscode/**",
|
|
54
|
+
"**/.idea/**"
|
|
55
|
+
];
|
|
56
|
+
function findEnvFiles(startDir = process.cwd(), filter) {
|
|
57
|
+
const found = /* @__PURE__ */ new Set();
|
|
58
|
+
function addFile(file) {
|
|
59
|
+
const normalized = path2.normalize(file);
|
|
60
|
+
if (typeof filter === "function" && !filter(normalized)) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
found.add(normalized);
|
|
64
|
+
}
|
|
65
|
+
let current = path2.resolve(startDir);
|
|
66
|
+
while (true) {
|
|
67
|
+
const envPath = path2.join(current, ".env");
|
|
68
|
+
if (fs.existsSync(envPath)) {
|
|
69
|
+
addFile(envPath);
|
|
70
|
+
}
|
|
71
|
+
const parent = path2.dirname(current);
|
|
72
|
+
if (parent === current) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
current = parent;
|
|
76
|
+
}
|
|
77
|
+
const files = glob.globSync("**/.env*", {
|
|
78
|
+
cwd: startDir,
|
|
79
|
+
absolute: true,
|
|
80
|
+
nodir: true,
|
|
81
|
+
ignore: DEFAULT_IGNORES
|
|
82
|
+
});
|
|
83
|
+
for (const file of files) {
|
|
84
|
+
addFile(file);
|
|
85
|
+
}
|
|
86
|
+
return [...found];
|
|
87
|
+
}
|
|
88
|
+
function findEnvWithToken2(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
|
|
89
|
+
const envFiles = findEnvFiles(startDir);
|
|
90
|
+
return envFiles.find((file) => {
|
|
91
|
+
try {
|
|
92
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
93
|
+
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
94
|
+
return regex.test(content);
|
|
95
|
+
} catch (err) {
|
|
96
|
+
console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
module2.exports = {
|
|
102
|
+
DEFAULT_IGNORES,
|
|
103
|
+
findEnvFiles,
|
|
104
|
+
findEnvWithToken: findEnvWithToken2,
|
|
105
|
+
default: findEnvFiles
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// src/binary-collections/config.cjs
|
|
111
|
+
init_cjs_shims();
|
|
112
|
+
var path = require("upath");
|
|
113
|
+
var { findEnvWithToken } = require_findEnvFiles();
|
|
114
|
+
require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
|
|
115
|
+
function getTempDir() {
|
|
116
|
+
return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
|
|
117
|
+
}
|
|
118
|
+
function getTempPath(...segments) {
|
|
119
|
+
return path.join(getTempDir(), ...segments);
|
|
120
|
+
}
|
|
121
|
+
var TEMP_BASE_DIR = getTempDir();
|
|
122
|
+
module.exports = {
|
|
123
|
+
getTempDir,
|
|
124
|
+
getTempPath,
|
|
125
|
+
TEMP_BASE_DIR
|
|
126
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/binary-collections/executeScript.cjs
|
|
2
|
+
var { spawn } = require("child_process");
|
|
3
|
+
function executeScript(scriptPath, args) {
|
|
4
|
+
console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}
|
|
5
|
+
`);
|
|
6
|
+
const child = spawn("node", [scriptPath, ...args], {
|
|
7
|
+
stdio: "inherit",
|
|
8
|
+
shell: true
|
|
9
|
+
});
|
|
10
|
+
child.on("error", (error) => {
|
|
11
|
+
console.error(`\u274C Error executing script: ${error.message}`);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
});
|
|
14
|
+
child.on("close", (code) => {
|
|
15
|
+
process.exit(code);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
module.exports = executeScript;
|
|
19
|
+
module.exports.default = executeScript;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export = executeScript;
|
|
2
|
+
/**
|
|
3
|
+
* Executes a script file using Node.js with the provided arguments
|
|
4
|
+
* @function executeScript
|
|
5
|
+
* @param {string} scriptPath - The absolute path to the script file to execute
|
|
6
|
+
* @param {string[]} args - Array of arguments to pass to the script
|
|
7
|
+
* @returns {void} Exits the process when the script execution completes
|
|
8
|
+
*/
|
|
9
|
+
declare function executeScript(scriptPath: string, args: string[]): void;
|
|
10
|
+
declare namespace executeScript {
|
|
11
|
+
export { executeScript as default };
|
|
12
|
+
}
|