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
package/lib/free-chatgpt.js
CHANGED
|
@@ -14,18 +14,18 @@ const index_cjs_1 = require("./utils/index.cjs");
|
|
|
14
14
|
const argv = (0, index_cjs_1.getArgs)();
|
|
15
15
|
if (argv.help || argv.h) {
|
|
16
16
|
console.log();
|
|
17
|
-
console.log(
|
|
17
|
+
console.log('Usage: free-chatgpt.js [--question <text> | -q <text>] [--qfile <file> | -qf <file>] [--help | -h]');
|
|
18
18
|
console.log();
|
|
19
|
-
console.log(
|
|
19
|
+
console.log('Options:');
|
|
20
20
|
console.log(' --question, -q The question to ask ChatGPT (default: "Hello, ChatGPT!")');
|
|
21
|
-
console.log(
|
|
22
|
-
console.log(
|
|
21
|
+
console.log(' --qfile, -qf Path to a file containing the question text');
|
|
22
|
+
console.log(' --help, -h Show this help message');
|
|
23
23
|
console.log();
|
|
24
|
-
console.log(
|
|
25
|
-
console.log(
|
|
26
|
-
console.log(
|
|
27
|
-
console.log(
|
|
28
|
-
console.log(
|
|
24
|
+
console.log('Description:');
|
|
25
|
+
console.log(' Automates browser interaction with ChatGPT, including login, question submission, and response retrieval.');
|
|
26
|
+
console.log(' - Questions can be provided directly or loaded from a file.');
|
|
27
|
+
console.log(' - Cookies are saved to ./tmp/cookies for session persistence.');
|
|
28
|
+
console.log(' - Requires browser access to chat.openai.com and chatgpt.com (firewall must allow connection).');
|
|
29
29
|
console.log();
|
|
30
30
|
process.exit(0);
|
|
31
31
|
}
|
|
@@ -43,7 +43,7 @@ function main() {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
46
|
-
console.error(
|
|
46
|
+
console.error('Error running ChatGPT:', error);
|
|
47
47
|
process.exit(1);
|
|
48
48
|
}
|
|
49
49
|
});
|
package/lib/free-chatgpt.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
runChatGpt
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GAGABICI.mjs";
|
|
5
5
|
import {
|
|
6
6
|
require_utils
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6RK5UCTP.mjs";
|
|
8
8
|
import {
|
|
9
9
|
__toESM,
|
|
10
10
|
init_esm_shims
|
package/lib/git/user-config.cjs
CHANGED
|
@@ -74,9 +74,9 @@ var require_utils2 = __commonJS({
|
|
|
74
74
|
init_cjs_shims();
|
|
75
75
|
var fs = require("fs");
|
|
76
76
|
var path = require("upath");
|
|
77
|
-
var
|
|
77
|
+
var minimistLib = require("minimist");
|
|
78
|
+
var argv = minimistLib(process.argv.slice(2));
|
|
78
79
|
var { exec } = require("child_process");
|
|
79
|
-
var { URL: URL2 } = require("url");
|
|
80
80
|
var { promisify } = require("util");
|
|
81
81
|
var execAsync = promisify(exec);
|
|
82
82
|
async function parseGitRemotes() {
|
|
@@ -89,7 +89,7 @@ var require_utils2 = __commonJS({
|
|
|
89
89
|
if (name && url) {
|
|
90
90
|
const [repoUrl] = url.split(" ");
|
|
91
91
|
try {
|
|
92
|
-
const parsedUrl = new
|
|
92
|
+
const parsedUrl = new URL(repoUrl);
|
|
93
93
|
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
94
94
|
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
95
95
|
let repoPath = pathParts.join("/");
|
|
@@ -110,15 +110,10 @@ var require_utils2 = __commonJS({
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
113
|
-
function
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
113
|
+
function getArgs2(opts) {
|
|
114
|
+
if (opts) {
|
|
115
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
117
116
|
}
|
|
118
|
-
return fullPath;
|
|
119
|
-
}
|
|
120
|
-
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
121
|
-
function getArgs2() {
|
|
122
117
|
return argv;
|
|
123
118
|
}
|
|
124
119
|
module2.exports.getArgs = getArgs2;
|
|
@@ -143,7 +138,7 @@ var require_utils2 = __commonJS({
|
|
|
143
138
|
try {
|
|
144
139
|
fs.rmdirSync(fullPath);
|
|
145
140
|
console.log("deleted", fullPath);
|
|
146
|
-
} catch (
|
|
141
|
+
} catch (_e) {
|
|
147
142
|
try {
|
|
148
143
|
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
149
144
|
console.log("deleted", fullPath);
|
|
@@ -156,7 +151,7 @@ var require_utils2 = __commonJS({
|
|
|
156
151
|
try {
|
|
157
152
|
fs.unlinkSync(fullPath);
|
|
158
153
|
console.log("deleted", fullPath);
|
|
159
|
-
} catch (
|
|
154
|
+
} catch (_e) {
|
|
160
155
|
try {
|
|
161
156
|
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
162
157
|
console.log("deleted", fullPath);
|
|
@@ -245,7 +240,7 @@ init_cjs_shims();
|
|
|
245
240
|
var gch = require("git-command-helper");
|
|
246
241
|
var { runGitCommand, runGitCommandOutput } = require_utils();
|
|
247
242
|
var { getArgs } = require_utils2();
|
|
248
|
-
require("dotenv").config({ path: require("
|
|
243
|
+
require("dotenv").config({ path: require("upath").join(process.cwd(), ".env"), quiet: true });
|
|
249
244
|
function configureGitUser(cliUser = null, cliEmail = null, options = {}) {
|
|
250
245
|
console.log("\n=== Configuring Git User ===");
|
|
251
246
|
let username, email;
|
package/lib/git/user-config.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
require_user_config
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-MGPYPKIE.mjs";
|
|
5
5
|
import "../chunk-A3VUZEJK.mjs";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-6RK5UCTP.mjs";
|
|
7
7
|
import "../chunk-QQ4A6DLD.mjs";
|
|
8
8
|
export default require_user_config();
|
package/lib/git-diff-cli.cjs
CHANGED
|
@@ -37,12 +37,108 @@ var init_cjs_shims = __esm({
|
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
-
// src/
|
|
41
|
-
var
|
|
42
|
-
"src/
|
|
40
|
+
// src/utils/findEnvFiles.cjs
|
|
41
|
+
var require_findEnvFiles = __commonJS({
|
|
42
|
+
"src/utils/findEnvFiles.cjs"(exports2, module2) {
|
|
43
43
|
init_cjs_shims();
|
|
44
|
+
var fs3 = require("fs");
|
|
44
45
|
var path3 = require("path");
|
|
45
|
-
|
|
46
|
+
var glob = require("glob");
|
|
47
|
+
var DEFAULT_IGNORES = [
|
|
48
|
+
"**/node_modules/**",
|
|
49
|
+
"**/.git/**",
|
|
50
|
+
"**/.yarn/**",
|
|
51
|
+
"**/.pnpm/**",
|
|
52
|
+
"**/dist/**",
|
|
53
|
+
"**/build/**",
|
|
54
|
+
"**/coverage/**",
|
|
55
|
+
"**/vendor/**",
|
|
56
|
+
"**/tmp/**",
|
|
57
|
+
"**/.cache/**",
|
|
58
|
+
"**/assets/**",
|
|
59
|
+
"**/logs/**",
|
|
60
|
+
"**/output/**",
|
|
61
|
+
"**/public/**",
|
|
62
|
+
"**/static/**",
|
|
63
|
+
"**/temp/**",
|
|
64
|
+
"**/backup/**",
|
|
65
|
+
"**/backups/**",
|
|
66
|
+
"**/examples/**",
|
|
67
|
+
"**/docs/**",
|
|
68
|
+
"**/tests/**",
|
|
69
|
+
"**/__tests__/**",
|
|
70
|
+
"**/spec/**",
|
|
71
|
+
"**/__specs__/**",
|
|
72
|
+
"**/scripts/**",
|
|
73
|
+
"**/bin/**",
|
|
74
|
+
"**/hooks/**",
|
|
75
|
+
"**/config/**",
|
|
76
|
+
"**/configs/**",
|
|
77
|
+
"**/settings/**",
|
|
78
|
+
"**/.vscode/**",
|
|
79
|
+
"**/.idea/**"
|
|
80
|
+
];
|
|
81
|
+
function findEnvFiles(startDir = process.cwd(), filter) {
|
|
82
|
+
const found = /* @__PURE__ */ new Set();
|
|
83
|
+
function addFile(file) {
|
|
84
|
+
const normalized = path3.normalize(file);
|
|
85
|
+
if (typeof filter === "function" && !filter(normalized)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
found.add(normalized);
|
|
89
|
+
}
|
|
90
|
+
let current = path3.resolve(startDir);
|
|
91
|
+
while (true) {
|
|
92
|
+
const envPath = path3.join(current, ".env");
|
|
93
|
+
if (fs3.existsSync(envPath)) {
|
|
94
|
+
addFile(envPath);
|
|
95
|
+
}
|
|
96
|
+
const parent = path3.dirname(current);
|
|
97
|
+
if (parent === current) {
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
current = parent;
|
|
101
|
+
}
|
|
102
|
+
const files = glob.globSync("**/.env*", {
|
|
103
|
+
cwd: startDir,
|
|
104
|
+
absolute: true,
|
|
105
|
+
nodir: true,
|
|
106
|
+
ignore: DEFAULT_IGNORES
|
|
107
|
+
});
|
|
108
|
+
for (const file of files) {
|
|
109
|
+
addFile(file);
|
|
110
|
+
}
|
|
111
|
+
return [...found];
|
|
112
|
+
}
|
|
113
|
+
function findEnvWithToken(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
|
|
114
|
+
const envFiles = findEnvFiles(startDir);
|
|
115
|
+
return envFiles.find((file) => {
|
|
116
|
+
try {
|
|
117
|
+
const content = fs3.readFileSync(file, "utf-8");
|
|
118
|
+
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
119
|
+
return regex.test(content);
|
|
120
|
+
} catch (err) {
|
|
121
|
+
console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
module2.exports = {
|
|
127
|
+
DEFAULT_IGNORES,
|
|
128
|
+
findEnvFiles,
|
|
129
|
+
findEnvWithToken,
|
|
130
|
+
default: findEnvFiles
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// src/binary-collections/config.cjs
|
|
136
|
+
var require_config = __commonJS({
|
|
137
|
+
"src/binary-collections/config.cjs"(exports2, module2) {
|
|
138
|
+
init_cjs_shims();
|
|
139
|
+
var path3 = require("upath");
|
|
140
|
+
var { findEnvWithToken } = require_findEnvFiles();
|
|
141
|
+
require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
|
|
46
142
|
function getTempDir() {
|
|
47
143
|
return process.env.TEMP_DIR || path3.join(process.cwd(), "tmp");
|
|
48
144
|
}
|
|
@@ -64,9 +160,9 @@ var require_utils = __commonJS({
|
|
|
64
160
|
init_cjs_shims();
|
|
65
161
|
var fs3 = require("fs");
|
|
66
162
|
var path3 = require("upath");
|
|
67
|
-
var
|
|
163
|
+
var minimistLib = require("minimist");
|
|
164
|
+
var argv = minimistLib(process.argv.slice(2));
|
|
68
165
|
var { exec } = require("child_process");
|
|
69
|
-
var { URL: URL2 } = require("url");
|
|
70
166
|
var { promisify } = require("util");
|
|
71
167
|
var execAsync = promisify(exec);
|
|
72
168
|
async function parseGitRemotes() {
|
|
@@ -79,7 +175,7 @@ var require_utils = __commonJS({
|
|
|
79
175
|
if (name && url) {
|
|
80
176
|
const [repoUrl] = url.split(" ");
|
|
81
177
|
try {
|
|
82
|
-
const parsedUrl = new
|
|
178
|
+
const parsedUrl = new URL(repoUrl);
|
|
83
179
|
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
84
180
|
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
85
181
|
let repoPath = pathParts.join("/");
|
|
@@ -100,15 +196,10 @@ var require_utils = __commonJS({
|
|
|
100
196
|
}
|
|
101
197
|
}
|
|
102
198
|
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
103
|
-
function
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
199
|
+
function getArgs2(opts) {
|
|
200
|
+
if (opts) {
|
|
201
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
107
202
|
}
|
|
108
|
-
return fullPath;
|
|
109
|
-
}
|
|
110
|
-
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
111
|
-
function getArgs2() {
|
|
112
203
|
return argv;
|
|
113
204
|
}
|
|
114
205
|
module2.exports.getArgs = getArgs2;
|
|
@@ -133,7 +224,7 @@ var require_utils = __commonJS({
|
|
|
133
224
|
try {
|
|
134
225
|
fs3.rmdirSync(fullPath);
|
|
135
226
|
console.log("deleted", fullPath);
|
|
136
|
-
} catch (
|
|
227
|
+
} catch (_e) {
|
|
137
228
|
try {
|
|
138
229
|
fs3.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
139
230
|
console.log("deleted", fullPath);
|
|
@@ -146,7 +237,7 @@ var require_utils = __commonJS({
|
|
|
146
237
|
try {
|
|
147
238
|
fs3.unlinkSync(fullPath);
|
|
148
239
|
console.log("deleted", fullPath);
|
|
149
|
-
} catch (
|
|
240
|
+
} catch (_e) {
|
|
150
241
|
try {
|
|
151
242
|
fs3.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
152
243
|
console.log("deleted", fullPath);
|
|
@@ -235,11 +326,13 @@ init_cjs_shims();
|
|
|
235
326
|
|
|
236
327
|
// src/git-diff.js
|
|
237
328
|
init_cjs_shims();
|
|
329
|
+
var import_ansi_colors = __toESM(require("ansi-colors"), 1);
|
|
238
330
|
var import_child_process = require("child_process");
|
|
239
331
|
var import_fs_extra2 = __toESM(require("fs-extra"), 1);
|
|
332
|
+
var import_sbg_utility = require("sbg-utility");
|
|
240
333
|
var import_upath2 = __toESM(require("upath"), 1);
|
|
241
334
|
var import_url = require("url");
|
|
242
|
-
var
|
|
335
|
+
var import_config = __toESM(require_config(), 1);
|
|
243
336
|
|
|
244
337
|
// src/utils/chatgpt.js
|
|
245
338
|
init_cjs_shims();
|
|
@@ -358,7 +451,10 @@ async function writeQuestion(page, question) {
|
|
|
358
451
|
async function clickSubmitButton(page) {
|
|
359
452
|
console.log("Attempting to click the submit button...");
|
|
360
453
|
try {
|
|
361
|
-
const userMessageCountBefore = await page.$$eval(
|
|
454
|
+
const userMessageCountBefore = await page.$$eval(
|
|
455
|
+
'[data-message-author-role="user"]',
|
|
456
|
+
(elements) => elements.length
|
|
457
|
+
);
|
|
362
458
|
const waitForSubmit = async (timeout = 5e3) => {
|
|
363
459
|
try {
|
|
364
460
|
await page.waitForFunction(
|
|
@@ -374,18 +470,21 @@ async function clickSubmitButton(page) {
|
|
|
374
470
|
return false;
|
|
375
471
|
}
|
|
376
472
|
};
|
|
377
|
-
await page.waitForFunction(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
473
|
+
await page.waitForFunction(
|
|
474
|
+
() => {
|
|
475
|
+
const candidates = [
|
|
476
|
+
document.querySelector('[data-testid="fruitjuice-send-button"]'),
|
|
477
|
+
document.querySelector("#composer-submit-button"),
|
|
478
|
+
document.querySelector('[data-testid="send-button"]')
|
|
479
|
+
].filter(Boolean);
|
|
480
|
+
return candidates.some((button) => {
|
|
481
|
+
const isDisabled = button.disabled || button.getAttribute("aria-disabled") === "true";
|
|
482
|
+
const isVisible = button.offsetParent !== null;
|
|
483
|
+
return !isDisabled && isVisible;
|
|
484
|
+
});
|
|
485
|
+
},
|
|
486
|
+
{ timeout: 5e3 }
|
|
487
|
+
).catch(() => {
|
|
389
488
|
});
|
|
390
489
|
const buttonDetails = await page.evaluate(() => {
|
|
391
490
|
const selectors = [
|
|
@@ -751,22 +850,26 @@ async function runChatGpt(chatgptOptions = {}) {
|
|
|
751
850
|
var import_utils = __toESM(require_utils(), 1);
|
|
752
851
|
var __filename2 = (0, import_url.fileURLToPath)(importMetaUrl);
|
|
753
852
|
var __dirname = import_upath2.default.dirname(__filename2);
|
|
754
|
-
var
|
|
755
|
-
var
|
|
853
|
+
var args = (0, import_utils.getArgs)();
|
|
854
|
+
var positional = args._ || [];
|
|
855
|
+
var FILENAME = (0, import_sbg_utility.md5)((positional[0] || "default") + JSON.stringify(args));
|
|
856
|
+
var DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/${FILENAME}.txt`);
|
|
857
|
+
var GPT_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/gpt-${FILENAME}.txt`);
|
|
756
858
|
var CACHE_DIR = import_upath2.default.dirname(DIFF_OUTPUT);
|
|
757
859
|
var DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), DIFF_OUTPUT);
|
|
758
860
|
var GPT_DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), GPT_DIFF_OUTPUT);
|
|
759
|
-
|
|
760
|
-
import_fs_extra2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
761
|
-
}
|
|
861
|
+
import_fs_extra2.default.ensureDirSync(CACHE_DIR, { mode: 493 });
|
|
762
862
|
function showHelp() {
|
|
763
|
-
console.log("\u{
|
|
764
|
-
console.log("
|
|
765
|
-
console.log("
|
|
766
|
-
console.log("
|
|
767
|
-
console.log("
|
|
768
|
-
console.log("
|
|
769
|
-
console.log("
|
|
863
|
+
console.log("\u{1F4CB} Git Diff Helper");
|
|
864
|
+
console.log("Usage:");
|
|
865
|
+
console.log(" git-diff FILE Show staged diff of specified file");
|
|
866
|
+
console.log(" git-diff --staged-only Show staged diff of all files");
|
|
867
|
+
console.log(" git-diff -s | -S Same as --staged-only");
|
|
868
|
+
console.log(" git-diff --unstaged FILE Show unstaged diff of specified file");
|
|
869
|
+
console.log(" git-diff --unstaged Show unstaged diff of all files");
|
|
870
|
+
console.log(" git-diff -u Same as --unstaged");
|
|
871
|
+
console.log(" git-diff --ai Run ChatGPT automation for commit message");
|
|
872
|
+
console.log(" git-diff --help | -h Show this help message");
|
|
770
873
|
console.log("");
|
|
771
874
|
console.log(`\u{1F4BE} Output is saved to: ${DIFF_OUTPUT_RELATIVE}`);
|
|
772
875
|
console.log(`\u{1F916} GPT prompt is saved to: ${GPT_DIFF_OUTPUT_RELATIVE}`);
|
|
@@ -774,22 +877,22 @@ function showHelp() {
|
|
|
774
877
|
}
|
|
775
878
|
function runGitDiff(command, successMessage, errorMessage) {
|
|
776
879
|
try {
|
|
777
|
-
console.log(`\
|
|
880
|
+
console.log(`\u2139\uFE0F Running command: ${command}`);
|
|
778
881
|
const result = (0, import_child_process.execSync)(command, {
|
|
779
882
|
encoding: "utf8",
|
|
780
883
|
maxBuffer: 1024 * 1024 * 10
|
|
781
884
|
// 10MB buffer to handle large diffs
|
|
782
885
|
});
|
|
783
886
|
if (!result || result.trim() === "") {
|
|
784
|
-
console.log(`\u2139\uFE0F
|
|
785
|
-
|
|
887
|
+
console.log(`\u2139\uFE0F No changes found for the specified criteria`);
|
|
888
|
+
(0, import_sbg_utility.writefile)(DIFF_OUTPUT, "# No changes found\n");
|
|
786
889
|
console.log(`\u2705 Empty diff saved to "${DIFF_OUTPUT_RELATIVE}"`);
|
|
787
|
-
return;
|
|
890
|
+
return false;
|
|
788
891
|
}
|
|
789
|
-
|
|
790
|
-
|
|
892
|
+
(0, import_sbg_utility.writefile)(DIFF_OUTPUT, result);
|
|
893
|
+
(0, import_sbg_utility.writefile)(
|
|
791
894
|
GPT_DIFF_OUTPUT,
|
|
792
|
-
`Hello
|
|
895
|
+
`Hello!
|
|
793
896
|
Can you create a conventional commit message by diff content below:
|
|
794
897
|
|
|
795
898
|
\`\`\`${result}
|
|
@@ -800,45 +903,149 @@ Give me result as codeblock with language "text" only.
|
|
|
800
903
|
Thank you!`
|
|
801
904
|
);
|
|
802
905
|
console.log(`\u2705 ${successMessage}`);
|
|
803
|
-
console.log(`\u{1F4BE} GPT diff prompt saved to "${GPT_DIFF_OUTPUT_RELATIVE}"`);
|
|
906
|
+
console.log(`\u{1F4BE} GPT diff prompt saved to "${import_ansi_colors.default.green(GPT_DIFF_OUTPUT_RELATIVE)}"`);
|
|
907
|
+
return true;
|
|
804
908
|
} catch (error) {
|
|
805
909
|
console.error(`\u274C ${errorMessage}`);
|
|
806
|
-
console.error(`\
|
|
807
|
-
console.error(`\
|
|
910
|
+
console.error(`\u274C Command: ${command}`);
|
|
911
|
+
console.error(`\u274C Error: ${error.message}`);
|
|
808
912
|
if (error.message.includes("not a git repository")) {
|
|
809
|
-
console.error("\
|
|
913
|
+
console.error("\u274C Make sure you are in a git repository");
|
|
810
914
|
}
|
|
811
915
|
process.exit(1);
|
|
812
916
|
}
|
|
813
917
|
}
|
|
918
|
+
function getUntrackedDiff() {
|
|
919
|
+
try {
|
|
920
|
+
const untrackedStr = (0, import_child_process.execSync)("git ls-files --others --exclude-standard", {
|
|
921
|
+
encoding: "utf8",
|
|
922
|
+
maxBuffer: 1024 * 1024 * 10
|
|
923
|
+
}).trim();
|
|
924
|
+
if (!untrackedStr) return "";
|
|
925
|
+
const untrackedFiles = untrackedStr.split("\n").filter(function(f) {
|
|
926
|
+
return f;
|
|
927
|
+
});
|
|
928
|
+
if (untrackedFiles.length === 0) return "";
|
|
929
|
+
var result = "\n# Untracked files:\n";
|
|
930
|
+
for (var i = 0; i < untrackedFiles.length; i++) {
|
|
931
|
+
var file = untrackedFiles[i];
|
|
932
|
+
if (!import_fs_extra2.default.existsSync(file)) continue;
|
|
933
|
+
var stat = import_fs_extra2.default.statSync(file);
|
|
934
|
+
if (!stat.isFile()) continue;
|
|
935
|
+
var content;
|
|
936
|
+
try {
|
|
937
|
+
content = import_fs_extra2.default.readFileSync(file, "utf8");
|
|
938
|
+
} catch (_a) {
|
|
939
|
+
continue;
|
|
940
|
+
}
|
|
941
|
+
var lines = content.split("\n");
|
|
942
|
+
if (lines.length > 0 && lines[lines.length - 1] === "") {
|
|
943
|
+
lines.pop();
|
|
944
|
+
}
|
|
945
|
+
result += "diff --git a/" + file + " b/" + file + "\n";
|
|
946
|
+
result += "new file mode 100644\n";
|
|
947
|
+
result += "index 0000000..0000000\n";
|
|
948
|
+
result += "--- /dev/null\n";
|
|
949
|
+
result += "+++ b/" + file + "\n";
|
|
950
|
+
result += "@@ -0,0 +1," + (lines.length || 0) + " @@\n";
|
|
951
|
+
for (var j = 0; j < lines.length; j++) {
|
|
952
|
+
result += "+" + lines[j] + "\n";
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
return result;
|
|
956
|
+
} catch (_b) {
|
|
957
|
+
return "";
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
function fileHasChanges(file, mode) {
|
|
961
|
+
const command = mode === "staged" ? `git diff --cached --quiet -- "${file}"` : `git diff --quiet -- "${file}"`;
|
|
962
|
+
try {
|
|
963
|
+
(0, import_child_process.execSync)(command, { stdio: "ignore" });
|
|
964
|
+
return false;
|
|
965
|
+
} catch (error) {
|
|
966
|
+
if (error.status === 1) {
|
|
967
|
+
return true;
|
|
968
|
+
}
|
|
969
|
+
throw error;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
814
972
|
async function mainGitDiff() {
|
|
815
|
-
const args = (0, import_utils.getArgs)();
|
|
816
|
-
const positional = args._ || [];
|
|
817
973
|
if (args.help || args.h) {
|
|
818
974
|
showHelp();
|
|
819
975
|
}
|
|
976
|
+
const useUnstaged = args.unstaged || args.u;
|
|
977
|
+
const fileFromFlag = typeof args.unstaged === "string" ? args.unstaged : typeof args.u === "string" ? args.u : null;
|
|
978
|
+
let hasDiff = false;
|
|
820
979
|
if (args["staged-only"] || args.s || args.S) {
|
|
821
|
-
runGitDiff(
|
|
980
|
+
hasDiff = runGitDiff(
|
|
822
981
|
"git --no-pager diff --staged",
|
|
823
|
-
`Full staged diff saved to "${DIFF_OUTPUT_RELATIVE}"`,
|
|
982
|
+
`Full staged diff saved to "${import_ansi_colors.default.green(DIFF_OUTPUT_RELATIVE)}"`,
|
|
824
983
|
"Failed to save staged diff"
|
|
825
984
|
);
|
|
826
985
|
} else {
|
|
827
|
-
const file = positional[0];
|
|
986
|
+
const file = positional[0] || fileFromFlag;
|
|
828
987
|
if (!file) {
|
|
829
|
-
|
|
988
|
+
const fullDiffModeLabel = useUnstaged ? "unstaged" : "unstaged";
|
|
989
|
+
hasDiff = runGitDiff(
|
|
830
990
|
"git --no-pager diff",
|
|
831
|
-
`Full
|
|
991
|
+
`Full ${fullDiffModeLabel} diff saved to "${import_ansi_colors.default.green(DIFF_OUTPUT_RELATIVE)}"`,
|
|
832
992
|
"Failed to save all diff's"
|
|
833
993
|
);
|
|
994
|
+
const untrackedDiff = getUntrackedDiff();
|
|
995
|
+
if (untrackedDiff) {
|
|
996
|
+
const UNTRACKED_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/untracked-${FILENAME}.txt`);
|
|
997
|
+
const UNTRACKED_GPT_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/gpt-untracked-${FILENAME}.txt`);
|
|
998
|
+
const UNTRACKED_DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), UNTRACKED_DIFF_OUTPUT);
|
|
999
|
+
(0, import_sbg_utility.writefile)(UNTRACKED_DIFF_OUTPUT, untrackedDiff);
|
|
1000
|
+
(0, import_sbg_utility.writefile)(
|
|
1001
|
+
UNTRACKED_GPT_DIFF_OUTPUT,
|
|
1002
|
+
`Hello!
|
|
1003
|
+
Can you create a conventional commit message by diff content below:
|
|
1004
|
+
|
|
1005
|
+
\`\`\`${untrackedDiff}
|
|
1006
|
+
\`\`\`
|
|
1007
|
+
|
|
1008
|
+
Give me result as codeblock with language "text" only.
|
|
1009
|
+
|
|
1010
|
+
Thank you!`
|
|
1011
|
+
);
|
|
1012
|
+
console.log(`\u2705 Untracked file diff saved to "${import_ansi_colors.default.green(UNTRACKED_DIFF_OUTPUT_RELATIVE)}"`);
|
|
1013
|
+
console.log(
|
|
1014
|
+
`\u{1F4BE} AI diff prompt saved to "${import_ansi_colors.default.green(import_upath2.default.relative(process.cwd(), UNTRACKED_GPT_DIFF_OUTPUT))}"`
|
|
1015
|
+
);
|
|
1016
|
+
hasDiff = true;
|
|
1017
|
+
}
|
|
834
1018
|
} else {
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
1019
|
+
let fileDiffMode = useUnstaged ? "unstaged" : "staged";
|
|
1020
|
+
if (!useUnstaged && !fileHasChanges(file, "staged") && fileHasChanges(file, "unstaged")) {
|
|
1021
|
+
fileDiffMode = "unstaged";
|
|
1022
|
+
}
|
|
1023
|
+
hasDiff = runGitDiff(
|
|
1024
|
+
fileDiffMode === "unstaged" ? `git --no-pager diff -- "${file}"` : `git --no-pager diff --cached -- "${file}"`,
|
|
1025
|
+
`${fileDiffMode[0].toUpperCase() + fileDiffMode.slice(1)} diff of "${file}" saved to "${import_ansi_colors.default.green(
|
|
1026
|
+
DIFF_OUTPUT_RELATIVE
|
|
1027
|
+
)}"`,
|
|
1028
|
+
`Failed to generate ${fileDiffMode} diff for "${file}"`
|
|
839
1029
|
);
|
|
840
1030
|
}
|
|
841
1031
|
}
|
|
1032
|
+
if (hasDiff) {
|
|
1033
|
+
const opencodePrompt = [
|
|
1034
|
+
"",
|
|
1035
|
+
"\u{1F916} OpenCode Prompt Helper",
|
|
1036
|
+
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
|
1037
|
+
"",
|
|
1038
|
+
"\u{1F4C4} App Prompt:",
|
|
1039
|
+
` Generate a conventional commit message from diff file: ${DIFF_OUTPUT}`,
|
|
1040
|
+
"",
|
|
1041
|
+
"\u{1F4BB} CLI Command:",
|
|
1042
|
+
` opencode run "Generate a conventional commit message from diff file ${DIFF_OUTPUT}"`,
|
|
1043
|
+
""
|
|
1044
|
+
];
|
|
1045
|
+
const opencodePromptPath = (0, import_config.getTempPath)(`git-diff/opencode-${FILENAME}.txt`);
|
|
1046
|
+
(0, import_sbg_utility.writefile)(opencodePromptPath, opencodePrompt.join("\n"));
|
|
1047
|
+
console.log(`\u2705 OpenCode prompt saved to "${import_ansi_colors.default.green(import_upath2.default.relative(process.cwd(), opencodePromptPath))}"`);
|
|
1048
|
+
}
|
|
842
1049
|
if (args.ai) {
|
|
843
1050
|
try {
|
|
844
1051
|
await runChatGpt({ headless: true, questionFile: GPT_DIFF_OUTPUT });
|
|
@@ -847,7 +1054,7 @@ async function mainGitDiff() {
|
|
|
847
1054
|
console.error("\u{1F4A1} Try running with visible browser mode or check if Chrome is installed");
|
|
848
1055
|
}
|
|
849
1056
|
} else {
|
|
850
|
-
console.log("\u{1F4A1}
|
|
1057
|
+
console.log("\u{1F4A1} Use --ai flag to generate commit message with ChatGPT");
|
|
851
1058
|
}
|
|
852
1059
|
}
|
|
853
1060
|
|
package/lib/git-diff-cli.mjs
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
mainGitDiff
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-2MN4VPV2.mjs";
|
|
6
|
+
import "./chunk-X2B3X7D4.mjs";
|
|
7
|
+
import "./chunk-GAGABICI.mjs";
|
|
8
|
+
import "./chunk-H44UWUFY.mjs";
|
|
9
|
+
import "./chunk-6RK5UCTP.mjs";
|
|
9
10
|
import {
|
|
10
11
|
init_esm_shims
|
|
11
12
|
} from "./chunk-QQ4A6DLD.mjs";
|