@ksw8954/git-ai-commit 1.0.11 → 1.1.0
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/CHANGELOG.md +9 -0
- package/Makefile +50 -1
- package/dist/commands/completion.d.ts +10 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +250 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/git.d.ts +5 -1
- package/dist/commands/git.d.ts.map +1 -1
- package/dist/commands/git.js +45 -3
- package/dist/commands/git.js.map +1 -1
- package/dist/commands/tag.d.ts +1 -1
- package/dist/commands/tag.d.ts.map +1 -1
- package/dist/commands/tag.js +83 -49
- package/dist/commands/tag.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/tag.d.ts.map +1 -1
- package/dist/prompts/tag.js +48 -21
- package/dist/prompts/tag.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/tagCommand.test.ts +43 -18
- package/src/commands/completion.ts +251 -0
- package/src/commands/git.ts +45 -3
- package/src/commands/tag.ts +90 -50
- package/src/index.ts +3 -0
- package/src/prompts/tag.ts +50 -21
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.0 - 2026-01-06
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
- Add `completion` command for bash/zsh shell auto-completion
|
|
7
|
+
- Add `make install-completion` and `make uninstall-completion` targets
|
|
8
|
+
|
|
9
|
+
### Improvements
|
|
10
|
+
- Change tag message format to GitHub Release style (title + categorized notes)
|
|
11
|
+
|
|
3
12
|
## 1.0.11 - 2025-12-29
|
|
4
13
|
- Default to `max_completion_tokens` and retry with `max_tokens` if unsupported.
|
|
5
14
|
- Remove `temperature` from API requests to rely on model defaults.
|
package/Makefile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.PHONY: install build dev lint test typecheck clean uninstall link unlink version publish install-package
|
|
1
|
+
.PHONY: install build dev lint test typecheck clean uninstall link unlink version publish install-package install-completion uninstall-completion
|
|
2
2
|
|
|
3
3
|
install: ## Install dependencies and build the project
|
|
4
4
|
npm install
|
|
@@ -42,3 +42,52 @@ publish: build ## Publish the package to npm (ensure you're logged in)
|
|
|
42
42
|
|
|
43
43
|
install-package: ## Install this package globally via npm
|
|
44
44
|
npm i -g @ksw8954/git-ai-commit
|
|
45
|
+
|
|
46
|
+
install-completion: ## Install shell completion for current shell (bash/zsh)
|
|
47
|
+
@CURRENT_SHELL=$$(basename "$$SHELL"); \
|
|
48
|
+
if [ "$$CURRENT_SHELL" = "zsh" ]; then \
|
|
49
|
+
RCFILE="$$HOME/.zshrc"; \
|
|
50
|
+
COMPLETION_LINE='eval "$$(git-ai-commit completion zsh)"'; \
|
|
51
|
+
elif [ "$$CURRENT_SHELL" = "bash" ]; then \
|
|
52
|
+
if [ -f "$$HOME/.bash_profile" ]; then \
|
|
53
|
+
RCFILE="$$HOME/.bash_profile"; \
|
|
54
|
+
else \
|
|
55
|
+
RCFILE="$$HOME/.bashrc"; \
|
|
56
|
+
fi; \
|
|
57
|
+
COMPLETION_LINE='eval "$$(git-ai-commit completion bash)"'; \
|
|
58
|
+
else \
|
|
59
|
+
echo "Unsupported shell: $$CURRENT_SHELL (only bash and zsh are supported)"; \
|
|
60
|
+
exit 1; \
|
|
61
|
+
fi; \
|
|
62
|
+
if grep -q "git-ai-commit completion" "$$RCFILE" 2>/dev/null; then \
|
|
63
|
+
echo "Completion already installed in $$RCFILE"; \
|
|
64
|
+
else \
|
|
65
|
+
echo "" >> "$$RCFILE"; \
|
|
66
|
+
echo "# git-ai-commit shell completion" >> "$$RCFILE"; \
|
|
67
|
+
echo "$$COMPLETION_LINE" >> "$$RCFILE"; \
|
|
68
|
+
echo "Completion installed in $$RCFILE"; \
|
|
69
|
+
echo "Run 'source $$RCFILE' or restart your shell to enable"; \
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
uninstall-completion: ## Remove shell completion from current shell config
|
|
73
|
+
@CURRENT_SHELL=$$(basename "$$SHELL"); \
|
|
74
|
+
if [ "$$CURRENT_SHELL" = "zsh" ]; then \
|
|
75
|
+
RCFILE="$$HOME/.zshrc"; \
|
|
76
|
+
elif [ "$$CURRENT_SHELL" = "bash" ]; then \
|
|
77
|
+
if [ -f "$$HOME/.bash_profile" ]; then \
|
|
78
|
+
RCFILE="$$HOME/.bash_profile"; \
|
|
79
|
+
else \
|
|
80
|
+
RCFILE="$$HOME/.bashrc"; \
|
|
81
|
+
fi; \
|
|
82
|
+
else \
|
|
83
|
+
echo "Unsupported shell: $$CURRENT_SHELL"; \
|
|
84
|
+
exit 1; \
|
|
85
|
+
fi; \
|
|
86
|
+
if grep -q "git-ai-commit completion" "$$RCFILE" 2>/dev/null; then \
|
|
87
|
+
sed -i.bak '/# git-ai-commit shell completion/d' "$$RCFILE"; \
|
|
88
|
+
sed -i.bak '/git-ai-commit completion/d' "$$RCFILE"; \
|
|
89
|
+
rm -f "$$RCFILE.bak"; \
|
|
90
|
+
echo "Completion removed from $$RCFILE"; \
|
|
91
|
+
else \
|
|
92
|
+
echo "No completion found in $$RCFILE"; \
|
|
93
|
+
fi
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare class CompletionCommand {
|
|
3
|
+
private program;
|
|
4
|
+
constructor();
|
|
5
|
+
private handleCompletion;
|
|
6
|
+
private generateBashCompletion;
|
|
7
|
+
private generateZshCompletion;
|
|
8
|
+
getCommand(): Command;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAU;;IASzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,sBAAsB;IAsG9B,OAAO,CAAC,qBAAqB;IAuH7B,UAAU,IAAI,OAAO;CAGtB"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompletionCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
class CompletionCommand {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.program = new commander_1.Command('completion')
|
|
8
|
+
.description('Generate shell completion scripts')
|
|
9
|
+
.argument('<shell>', 'Shell type (bash or zsh)')
|
|
10
|
+
.action(this.handleCompletion.bind(this));
|
|
11
|
+
}
|
|
12
|
+
handleCompletion(shell) {
|
|
13
|
+
const normalized = shell.toLowerCase().trim();
|
|
14
|
+
if (normalized === 'bash') {
|
|
15
|
+
console.log(this.generateBashCompletion());
|
|
16
|
+
}
|
|
17
|
+
else if (normalized === 'zsh') {
|
|
18
|
+
console.log(this.generateZshCompletion());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.error(`Unsupported shell: ${shell}`);
|
|
22
|
+
console.error('Supported shells: bash, zsh');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
generateBashCompletion() {
|
|
27
|
+
return `# git-ai-commit bash completion
|
|
28
|
+
# Add to ~/.bashrc or ~/.bash_profile:
|
|
29
|
+
# eval "$(git-ai-commit completion bash)"
|
|
30
|
+
|
|
31
|
+
_git_ai_commit() {
|
|
32
|
+
local cur prev words cword
|
|
33
|
+
_init_completion || return
|
|
34
|
+
|
|
35
|
+
local commands="commit config pr tag history completion"
|
|
36
|
+
|
|
37
|
+
# Global options
|
|
38
|
+
local global_opts="-v --version -h --help"
|
|
39
|
+
|
|
40
|
+
# Command-specific options
|
|
41
|
+
local commit_opts="-k --api-key -b --base-url --model -m --message-only -p --push --prompt --no-verify"
|
|
42
|
+
local config_opts="-s --show -l --language --auto-push --no-auto-push -k --api-key -b --base-url -m --model --mode"
|
|
43
|
+
local pr_opts="--base --compare -k --api-key -b --base-url --model"
|
|
44
|
+
local tag_opts="-k --api-key --base-url -m --model --message -t --base-tag --prompt"
|
|
45
|
+
local history_opts="-l --limit --json --clear"
|
|
46
|
+
local completion_opts=""
|
|
47
|
+
|
|
48
|
+
case "\${cword}" in
|
|
49
|
+
1)
|
|
50
|
+
COMPREPLY=( \$(compgen -W "\${commands} \${global_opts}" -- "\${cur}") )
|
|
51
|
+
return
|
|
52
|
+
;;
|
|
53
|
+
esac
|
|
54
|
+
|
|
55
|
+
local cmd="\${words[1]}"
|
|
56
|
+
|
|
57
|
+
case "\${cmd}" in
|
|
58
|
+
commit)
|
|
59
|
+
case "\${prev}" in
|
|
60
|
+
-k|--api-key|-b|--base-url|--model|--prompt)
|
|
61
|
+
return
|
|
62
|
+
;;
|
|
63
|
+
esac
|
|
64
|
+
COMPREPLY=( \$(compgen -W "\${commit_opts}" -- "\${cur}") )
|
|
65
|
+
;;
|
|
66
|
+
config)
|
|
67
|
+
case "\${prev}" in
|
|
68
|
+
-l|--language)
|
|
69
|
+
COMPREPLY=( \$(compgen -W "ko en" -- "\${cur}") )
|
|
70
|
+
return
|
|
71
|
+
;;
|
|
72
|
+
--mode)
|
|
73
|
+
COMPREPLY=( \$(compgen -W "custom openai" -- "\${cur}") )
|
|
74
|
+
return
|
|
75
|
+
;;
|
|
76
|
+
-k|--api-key|-b|--base-url|-m|--model)
|
|
77
|
+
return
|
|
78
|
+
;;
|
|
79
|
+
esac
|
|
80
|
+
COMPREPLY=( \$(compgen -W "\${config_opts}" -- "\${cur}") )
|
|
81
|
+
;;
|
|
82
|
+
pr)
|
|
83
|
+
case "\${prev}" in
|
|
84
|
+
--base|--compare)
|
|
85
|
+
# Complete with git branches
|
|
86
|
+
local branches=\$(git branch --format='%(refname:short)' 2>/dev/null)
|
|
87
|
+
COMPREPLY=( \$(compgen -W "\${branches}" -- "\${cur}") )
|
|
88
|
+
return
|
|
89
|
+
;;
|
|
90
|
+
-k|--api-key|-b|--base-url|--model)
|
|
91
|
+
return
|
|
92
|
+
;;
|
|
93
|
+
esac
|
|
94
|
+
COMPREPLY=( \$(compgen -W "\${pr_opts}" -- "\${cur}") )
|
|
95
|
+
;;
|
|
96
|
+
tag)
|
|
97
|
+
case "\${prev}" in
|
|
98
|
+
-t|--base-tag)
|
|
99
|
+
# Complete with git tags
|
|
100
|
+
local tags=\$(git tag 2>/dev/null)
|
|
101
|
+
COMPREPLY=( \$(compgen -W "\${tags}" -- "\${cur}") )
|
|
102
|
+
return
|
|
103
|
+
;;
|
|
104
|
+
-k|--api-key|--base-url|-m|--model|--message|--prompt)
|
|
105
|
+
return
|
|
106
|
+
;;
|
|
107
|
+
esac
|
|
108
|
+
COMPREPLY=( \$(compgen -W "\${tag_opts}" -- "\${cur}") )
|
|
109
|
+
;;
|
|
110
|
+
history)
|
|
111
|
+
case "\${prev}" in
|
|
112
|
+
-l|--limit)
|
|
113
|
+
return
|
|
114
|
+
;;
|
|
115
|
+
esac
|
|
116
|
+
COMPREPLY=( \$(compgen -W "\${history_opts}" -- "\${cur}") )
|
|
117
|
+
;;
|
|
118
|
+
completion)
|
|
119
|
+
COMPREPLY=( \$(compgen -W "bash zsh" -- "\${cur}") )
|
|
120
|
+
;;
|
|
121
|
+
esac
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
complete -F _git_ai_commit git-ai-commit
|
|
125
|
+
`;
|
|
126
|
+
}
|
|
127
|
+
generateZshCompletion() {
|
|
128
|
+
return `#compdef git-ai-commit
|
|
129
|
+
# git-ai-commit zsh completion
|
|
130
|
+
# Add to ~/.zshrc:
|
|
131
|
+
# eval "$(git-ai-commit completion zsh)"
|
|
132
|
+
# Or save to a file in your $fpath (e.g., ~/.zsh/completions/_git-ai-commit)
|
|
133
|
+
|
|
134
|
+
_git-ai-commit() {
|
|
135
|
+
local -a commands
|
|
136
|
+
commands=(
|
|
137
|
+
'commit:Generate AI-powered commit message'
|
|
138
|
+
'config:Manage git-ai-commit configuration'
|
|
139
|
+
'pr:Generate a pull request title and summary'
|
|
140
|
+
'tag:Create an annotated git tag with AI-generated notes'
|
|
141
|
+
'history:Manage git-ai-commit command history'
|
|
142
|
+
'completion:Generate shell completion scripts'
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
_arguments -C \\
|
|
146
|
+
'-v[output the version number]' \\
|
|
147
|
+
'--version[output the version number]' \\
|
|
148
|
+
'-h[display help]' \\
|
|
149
|
+
'--help[display help]' \\
|
|
150
|
+
'1: :->command' \\
|
|
151
|
+
'*:: :->args'
|
|
152
|
+
|
|
153
|
+
case \$state in
|
|
154
|
+
command)
|
|
155
|
+
_describe -t commands 'git-ai-commit commands' commands
|
|
156
|
+
;;
|
|
157
|
+
args)
|
|
158
|
+
case \$words[1] in
|
|
159
|
+
commit)
|
|
160
|
+
_arguments \\
|
|
161
|
+
'-k[OpenAI API key]:key:' \\
|
|
162
|
+
'--api-key[OpenAI API key]:key:' \\
|
|
163
|
+
'-b[Custom API base URL]:url:' \\
|
|
164
|
+
'--base-url[Custom API base URL]:url:' \\
|
|
165
|
+
'--model[Model to use]:model:' \\
|
|
166
|
+
'-m[Output only the generated commit message]' \\
|
|
167
|
+
'--message-only[Output only the generated commit message]' \\
|
|
168
|
+
'-p[Push after creating the commit]' \\
|
|
169
|
+
'--push[Push after creating the commit]' \\
|
|
170
|
+
'--prompt[Additional AI prompt instructions]:text:' \\
|
|
171
|
+
'--no-verify[Skip pre-commit hooks]'
|
|
172
|
+
;;
|
|
173
|
+
config)
|
|
174
|
+
_arguments \\
|
|
175
|
+
'-s[Show current configuration]' \\
|
|
176
|
+
'--show[Show current configuration]' \\
|
|
177
|
+
'-l[Set default language]:language:(ko en)' \\
|
|
178
|
+
'--language[Set default language]:language:(ko en)' \\
|
|
179
|
+
'--auto-push[Enable automatic git push]' \\
|
|
180
|
+
'--no-auto-push[Disable automatic git push]' \\
|
|
181
|
+
'-k[Persist API key]:key:' \\
|
|
182
|
+
'--api-key[Persist API key]:key:' \\
|
|
183
|
+
'-b[Persist API base URL]:url:' \\
|
|
184
|
+
'--base-url[Persist API base URL]:url:' \\
|
|
185
|
+
'-m[Persist default AI model]:model:' \\
|
|
186
|
+
'--model[Persist default AI model]:model:' \\
|
|
187
|
+
'--mode[Persist AI mode]:mode:(custom openai)'
|
|
188
|
+
;;
|
|
189
|
+
pr)
|
|
190
|
+
_arguments \\
|
|
191
|
+
'--base[Base branch to diff against]:branch:__git_branch_names' \\
|
|
192
|
+
'--compare[Compare branch to describe]:branch:__git_branch_names' \\
|
|
193
|
+
'-k[Override API key]:key:' \\
|
|
194
|
+
'--api-key[Override API key]:key:' \\
|
|
195
|
+
'-b[Override API base URL]:url:' \\
|
|
196
|
+
'--base-url[Override API base URL]:url:' \\
|
|
197
|
+
'--model[Override AI model]:model:'
|
|
198
|
+
;;
|
|
199
|
+
tag)
|
|
200
|
+
_arguments \\
|
|
201
|
+
'1:tag name:' \\
|
|
202
|
+
'-k[OpenAI API key]:key:' \\
|
|
203
|
+
'--api-key[OpenAI API key]:key:' \\
|
|
204
|
+
'--base-url[Custom API base URL]:url:' \\
|
|
205
|
+
'-m[Model to use]:model:' \\
|
|
206
|
+
'--model[Model to use]:model:' \\
|
|
207
|
+
'--message[Tag message to use directly]:message:' \\
|
|
208
|
+
'-t[Existing tag to diff against]:tag:__git_tags' \\
|
|
209
|
+
'--base-tag[Existing tag to diff against]:tag:__git_tags' \\
|
|
210
|
+
'--prompt[Additional AI prompt instructions]:text:'
|
|
211
|
+
;;
|
|
212
|
+
history)
|
|
213
|
+
_arguments \\
|
|
214
|
+
'-l[Limit number of entries]:number:' \\
|
|
215
|
+
'--limit[Limit number of entries]:number:' \\
|
|
216
|
+
'--json[Output in JSON format]' \\
|
|
217
|
+
'--clear[Clear all stored history]'
|
|
218
|
+
;;
|
|
219
|
+
completion)
|
|
220
|
+
_arguments \\
|
|
221
|
+
'1:shell:(bash zsh)'
|
|
222
|
+
;;
|
|
223
|
+
esac
|
|
224
|
+
;;
|
|
225
|
+
esac
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
# Helper function to complete git branches
|
|
229
|
+
__git_branch_names() {
|
|
230
|
+
local -a branches
|
|
231
|
+
branches=(\${(f)"\$(git branch --format='%(refname:short)' 2>/dev/null)"})
|
|
232
|
+
_describe -t branches 'branches' branches
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
# Helper function to complete git tags
|
|
236
|
+
__git_tags() {
|
|
237
|
+
local -a tags
|
|
238
|
+
tags=(\${(f)"\$(git tag 2>/dev/null)"})
|
|
239
|
+
_describe -t tags 'tags' tags
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
_git-ai-commit "\$@"
|
|
243
|
+
`;
|
|
244
|
+
}
|
|
245
|
+
getCommand() {
|
|
246
|
+
return this.program;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.CompletionCommand = CompletionCommand;
|
|
250
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,MAAa,iBAAiB;IAG5B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAO,CAAC,YAAY,CAAC;aACrC,WAAW,CAAC,mCAAmC,CAAC;aAChD,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;aAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGV,CAAC;IACA,CAAC;IAEO,qBAAqB;QAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHV,CAAC;IACA,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAxPD,8CAwPC"}
|
package/dist/commands/git.d.ts
CHANGED
|
@@ -26,6 +26,10 @@ export declare class GitService {
|
|
|
26
26
|
static remoteTagExists(tagName: string): Promise<boolean>;
|
|
27
27
|
static deleteLocalTag(tagName: string): Promise<boolean>;
|
|
28
28
|
static deleteRemoteTag(tagName: string): Promise<boolean>;
|
|
29
|
-
static forcePushTag(tagName: string): Promise<boolean>;
|
|
29
|
+
static forcePushTag(tagName: string, remote?: string): Promise<boolean>;
|
|
30
|
+
static getRemotes(): Promise<string[]>;
|
|
31
|
+
static pushTagToRemote(tagName: string, remote: string): Promise<boolean>;
|
|
32
|
+
static deleteRemoteTagFrom(tagName: string, remote: string): Promise<boolean>;
|
|
33
|
+
static remoteTagExistsOn(tagName: string, remote: string): Promise<boolean>;
|
|
30
34
|
}
|
|
31
35
|
//# sourceMappingURL=git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AA+EA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,UAAU;WACR,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;WA6BvC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;WA+BpE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAU/C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;WAUxB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAU1C,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;WAwBrC,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;WAmC5D,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUtE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAS5C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WASlD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUjD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUlD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AA+EA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,UAAU;WACR,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;WA6BvC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;WA+BpE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAU/C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;WAUxB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAU1C,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;WAwBrC,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;WAmC5D,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUtE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAS5C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WASlD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUjD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUlD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC;WAUlE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;WAa/B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUlE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAUtE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQlF"}
|
package/dist/commands/git.js
CHANGED
|
@@ -253,13 +253,55 @@ class GitService {
|
|
|
253
253
|
return false;
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
-
static async forcePushTag(tagName) {
|
|
256
|
+
static async forcePushTag(tagName, remote = 'origin') {
|
|
257
257
|
try {
|
|
258
|
-
await execFileAsync('git', ['push',
|
|
258
|
+
await execFileAsync('git', ['push', remote, tagName, '--force']);
|
|
259
259
|
return true;
|
|
260
260
|
}
|
|
261
261
|
catch (error) {
|
|
262
|
-
console.error(
|
|
262
|
+
console.error(`Failed to force push tag to ${remote}:`, error instanceof Error ? error.message : error);
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
static async getRemotes() {
|
|
267
|
+
try {
|
|
268
|
+
const { stdout } = await execAsync('git remote');
|
|
269
|
+
const remotes = stdout
|
|
270
|
+
.split('\n')
|
|
271
|
+
.map(line => line.trim())
|
|
272
|
+
.filter(line => line.length > 0);
|
|
273
|
+
return remotes;
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return [];
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
static async pushTagToRemote(tagName, remote) {
|
|
280
|
+
try {
|
|
281
|
+
await execFileAsync('git', ['push', remote, tagName]);
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
console.error(`Failed to push tag to ${remote}:`, error instanceof Error ? error.message : error);
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
static async deleteRemoteTagFrom(tagName, remote) {
|
|
290
|
+
try {
|
|
291
|
+
await execFileAsync('git', ['push', remote, '--delete', tagName]);
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
console.error(`Failed to delete tag from ${remote}:`, error instanceof Error ? error.message : error);
|
|
296
|
+
return false;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
static async remoteTagExistsOn(tagName, remote) {
|
|
300
|
+
try {
|
|
301
|
+
const { stdout } = await execAsync(`git ls-remote --tags ${remote} refs/tags/${tagName}`);
|
|
302
|
+
return stdout.trim().length > 0;
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
263
305
|
return false;
|
|
264
306
|
}
|
|
265
307
|
}
|
package/dist/commands/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/tag.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/commands/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAU;;IAiBzB,OAAO,CAAC,eAAe;YAoBT,SAAS;YA+
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/commands/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAU;;IAiBzB,OAAO,CAAC,eAAe;YAoBT,SAAS;YAwPT,oBAAoB;YA+CpB,gBAAgB;YAgBhB,gBAAgB;YAgBhB,sBAAsB;YAgBtB,gBAAgB;IAgB9B,UAAU,IAAI,OAAO;CAGtB"}
|
package/dist/commands/tag.js
CHANGED
|
@@ -196,54 +196,63 @@ class TagCommand {
|
|
|
196
196
|
return;
|
|
197
197
|
}
|
|
198
198
|
console.log(`✅ Tag ${trimmedName} created successfully!`);
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
199
|
+
// Get available remotes
|
|
200
|
+
const remotes = await git_1.GitService.getRemotes();
|
|
201
|
+
if (remotes.length === 0) {
|
|
202
|
+
console.log('No remotes configured. Skipping push.');
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
const selectedRemotes = await this.selectRemotesForPush(trimmedName, remotes);
|
|
206
|
+
if (selectedRemotes && selectedRemotes.length > 0) {
|
|
207
|
+
// If tag was replaced or remote tag still exists, use force push
|
|
208
|
+
const needsForcePush = wasTagReplaced || remoteTagExists;
|
|
209
|
+
if (needsForcePush) {
|
|
210
|
+
console.log(`\n⚠️ Tag ${trimmedName} may exist on remote. Force push is required.`);
|
|
211
|
+
const shouldForcePush = await this.confirmForcePush(trimmedName);
|
|
212
|
+
if (!shouldForcePush) {
|
|
213
|
+
console.log('Tag push cancelled by user.');
|
|
214
|
+
await log_1.LogService.append({
|
|
215
|
+
command: 'tag',
|
|
216
|
+
args: { name: trimmedName, ...options, apiKey: options.apiKey ? '***' : undefined },
|
|
217
|
+
status: 'cancelled',
|
|
218
|
+
details: 'user declined force push'
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
for (const remote of selectedRemotes) {
|
|
223
|
+
console.log(`Force pushing tag ${trimmedName} to ${remote}...`);
|
|
224
|
+
const pushSuccess = await git_1.GitService.forcePushTag(trimmedName, remote);
|
|
225
|
+
if (pushSuccess) {
|
|
226
|
+
console.log(`✅ Tag ${trimmedName} force pushed to ${remote} successfully!`);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
console.error(`❌ Failed to force push tag to ${remote}`);
|
|
230
|
+
await log_1.LogService.append({
|
|
231
|
+
command: 'tag',
|
|
232
|
+
args: { name: trimmedName, ...options, apiKey: options.apiKey ? '***' : undefined },
|
|
233
|
+
status: 'failure',
|
|
234
|
+
details: `tag force push to ${remote} failed`
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
237
238
|
}
|
|
238
239
|
else {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
240
|
+
for (const remote of selectedRemotes) {
|
|
241
|
+
console.log(`Pushing tag ${trimmedName} to ${remote}...`);
|
|
242
|
+
const pushSuccess = await git_1.GitService.pushTagToRemote(trimmedName, remote);
|
|
243
|
+
if (pushSuccess) {
|
|
244
|
+
console.log(`✅ Tag ${trimmedName} pushed to ${remote} successfully!`);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
console.error(`❌ Failed to push tag to ${remote}`);
|
|
248
|
+
await log_1.LogService.append({
|
|
249
|
+
command: 'tag',
|
|
250
|
+
args: { name: trimmedName, ...options, apiKey: options.apiKey ? '***' : undefined },
|
|
251
|
+
status: 'failure',
|
|
252
|
+
details: `tag push to ${remote} failed`
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
247
256
|
}
|
|
248
257
|
}
|
|
249
258
|
}
|
|
@@ -253,17 +262,42 @@ class TagCommand {
|
|
|
253
262
|
status: 'success'
|
|
254
263
|
});
|
|
255
264
|
}
|
|
256
|
-
async
|
|
265
|
+
async selectRemotesForPush(tagName, remotes) {
|
|
257
266
|
const rl = readline_1.default.createInterface({
|
|
258
267
|
input: process.stdin,
|
|
259
268
|
output: process.stdout
|
|
260
269
|
});
|
|
270
|
+
console.log('\nAvailable remotes:');
|
|
271
|
+
remotes.forEach((remote, index) => {
|
|
272
|
+
console.log(` ${index + 1}. ${remote}`);
|
|
273
|
+
});
|
|
274
|
+
console.log(` all. Push to all remotes`);
|
|
275
|
+
console.log(` n. Skip push`);
|
|
261
276
|
const answer = await new Promise(resolve => {
|
|
262
|
-
rl.question(
|
|
277
|
+
rl.question(`\nSelect remote(s) to push tag ${tagName} (e.g., 1 or 1,2 or all or n): `, resolve);
|
|
263
278
|
});
|
|
264
279
|
rl.close();
|
|
265
280
|
const normalized = answer.trim().toLowerCase();
|
|
266
|
-
|
|
281
|
+
if (normalized === 'n' || normalized === 'no' || normalized === '') {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
if (normalized === 'all') {
|
|
285
|
+
return remotes;
|
|
286
|
+
}
|
|
287
|
+
const selections = normalized.split(',').map(s => s.trim());
|
|
288
|
+
const selectedRemotes = [];
|
|
289
|
+
for (const sel of selections) {
|
|
290
|
+
const index = parseInt(sel, 10);
|
|
291
|
+
if (isNaN(index) || index < 1 || index > remotes.length) {
|
|
292
|
+
console.log(`Invalid selection: ${sel}`);
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
const remote = remotes[index - 1];
|
|
296
|
+
if (!selectedRemotes.includes(remote)) {
|
|
297
|
+
selectedRemotes.push(remote);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return selectedRemotes.length > 0 ? selectedRemotes : null;
|
|
267
301
|
}
|
|
268
302
|
async confirmTagCreate(tagName) {
|
|
269
303
|
const rl = readline_1.default.createInterface({
|