@zjex/git-workflow 0.2.7 → 0.2.9

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/dist/index.js CHANGED
@@ -1963,7 +1963,7 @@ process.on("SIGTERM", () => {
1963
1963
  console.log("");
1964
1964
  process.exit(0);
1965
1965
  });
1966
- var version = true ? "0.2.7" : "0.0.0-dev";
1966
+ var version = true ? "0.2.9" : "0.0.0-dev";
1967
1967
  async function mainMenu() {
1968
1968
  await checkForUpdates(version, "@zjex/git-workflow");
1969
1969
  console.log(
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@zjex/git-workflow",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "šŸš€ ęžē®€ēš„ Git 巄作流 CLI å·„å…·ļ¼Œč®©åˆ†ę”Æē®”ē†å’Œē‰ˆęœ¬å‘åøƒå˜å¾—č½»ę¾ę„‰åæ«",
5
5
  "type": "module",
6
6
  "bin": {
7
- "git-flow": "./dist/index.js",
8
- "gw": "./dist/index.js"
7
+ "git-flow": "dist/index.js",
8
+ "gw": "dist/index.js"
9
9
  },
10
10
  "publishConfig": {
11
11
  "access": "public"
@@ -52,4 +52,4 @@
52
52
  "tsx": "^4.21.0",
53
53
  "typescript": "^5.9.3"
54
54
  }
55
- }
55
+ }
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+
3
+ import boxen from "boxen";
4
+
5
+ const version = process.argv[2];
6
+
7
+ if (!version) {
8
+ console.error("čÆ·ęä¾›ē‰ˆęœ¬å·");
9
+ process.exit(1);
10
+ }
11
+
12
+ const message = [
13
+ "\x1b[1mšŸŽ‰ å‘åøƒęˆåŠŸļ¼\x1b[0m",
14
+ "",
15
+ `\x1b[36mē‰ˆęœ¬:\x1b[0m \x1b[1mv${version}\x1b[0m`,
16
+ ].join("\n");
17
+
18
+ console.log("");
19
+ console.log(
20
+ boxen(message, {
21
+ padding: { top: 1, bottom: 1, left: 8, right: 8 },
22
+ margin: { top: 0, bottom: 1, left: 0, right: 0 },
23
+ borderStyle: "round",
24
+ borderColor: "green",
25
+ align: "center",
26
+ })
27
+ );
28
+
29
+ console.log(
30
+ "\x1b[2m šŸ”— \x1b[0m\x1b[36mGitHub:\x1b[0m \x1b[2m\x1b[4mhttps://github.com/iamzjt-front-end/git-workflow/releases/tag/v" +
31
+ version +
32
+ "\x1b[0m"
33
+ );
34
+ console.log(
35
+ "\x1b[2m šŸ“¦ \x1b[0m\x1b[36mnpm:\x1b[0m \x1b[2m\x1b[4mhttps://www.npmjs.com/package/@zjex/git-workflow\x1b[0m"
36
+ );
37
+ console.log("");
@@ -7,67 +7,115 @@ RED='\033[0;31m'
7
7
  GREEN='\033[0;32m'
8
8
  YELLOW='\033[1;33m'
9
9
  CYAN='\033[0;36m'
10
+ BLUE='\033[0;34m'
11
+ DIM='\033[2m'
12
+ BOLD='\033[1m'
10
13
  NC='\033[0m' # No Color
11
14
 
12
15
  # ę‰“å°åø¦é¢œč‰²ēš„ę¶ˆęÆ
13
16
  print_info() {
14
- echo -e "${CYAN}ℹ ${1}${NC}"
15
- }
16
-
17
- print_success() {
18
- echo -e "${GREEN}āœ” ${1}${NC}"
17
+ echo -e "${CYAN}${1}${NC}"
19
18
  }
20
19
 
21
20
  print_error() {
22
21
  echo -e "${RED}āœ– ${1}${NC}"
23
22
  }
24
23
 
25
- print_step() {
26
- echo -e "${CYAN}ā–¶ ${1}${NC}"
24
+ print_dim() {
25
+ echo -e "${DIM} ${1}${NC}"
26
+ }
27
+
28
+ # ę‰§č”Œę­„éŖ¤ļ¼ˆåø¦å®Œęˆę ‡č®°ļ¼ŒęŠ˜å č¾“å‡ŗļ¼‰
29
+ run_step() {
30
+ local step_num=$1
31
+ local step_name=$2
32
+ local command=$3
33
+
34
+ echo -ne "${BLUE}[${step_num}/${TOTAL_STEPS}]${NC} ${step_name}... "
35
+
36
+ # ę‰§č”Œå‘½ä»¤å¹¶ę•čŽ·č¾“å‡ŗ
37
+ if output=$(eval "$command" 2>&1); then
38
+ echo -e "${GREEN}āœ…${NC}"
39
+ return 0
40
+ else
41
+ echo -e "${RED}āŒ${NC}"
42
+ echo ""
43
+ echo -e "${RED}é”™čÆÆčÆ¦ęƒ…:${NC}"
44
+ echo "$output"
45
+ return 1
46
+ fi
27
47
  }
28
48
 
29
- # ę£€ęŸ„ę˜Æå¦åœØ git 仓库中
30
- if ! git rev-parse --git-dir > /dev/null 2>&1; then
49
+ # ę‰§č”Œę­„éŖ¤ļ¼ˆę˜¾ē¤ŗč¾“å‡ŗļ¼Œē”ØäŗŽäŗ¤äŗ’å¼å‘½ä»¤ļ¼‰
50
+ run_step_interactive() {
51
+ local step_num=$1
52
+ local step_name=$2
53
+ local command=$3
54
+
55
+ echo -e "${BLUE}[${step_num}/${TOTAL_STEPS}]${NC} ${step_name}..."
56
+ echo ""
57
+
58
+ if eval "$command"; then
59
+ echo ""
60
+ return 0
61
+ else
62
+ echo -e "${RED} āŒ 失蓄${NC}"
63
+ return 1
64
+ fi
65
+ }
66
+
67
+ # 总歄骤数
68
+ TOTAL_STEPS=11
69
+
70
+ echo ""
71
+ echo -e "${BOLD}šŸš€ å¼€å§‹å‘åøƒęµēØ‹${NC}"
72
+ echo ""
73
+
74
+
75
+ # [1] ę£€ęŸ„ę˜Æå¦åœØ git 仓库中
76
+ if ! run_step "1" "ę£€ęŸ„ Git 仓库" "git rev-parse --git-dir"; then
31
77
  print_error "å½“å‰ē›®å½•äøę˜Æ git 仓库"
32
78
  exit 1
33
79
  fi
34
80
 
35
- # ę£€ęŸ„ę˜Æå¦ęœ‰ęœŖęäŗ¤ēš„ę›“ę”¹ļ¼ˆå‘åøƒå‰ēš„č„å·„ä½œåŒŗļ¼‰
81
+ # [2] ę£€ęŸ„ę˜Æå¦ęœ‰ęœŖęäŗ¤ēš„ę›“ę”¹
82
+ echo -ne "${BLUE}[2/${TOTAL_STEPS}]${NC} ę£€ęŸ„å·„ä½œåŒŗēŠ¶ę€... "
36
83
  if [[ -n $(git status --porcelain) ]]; then
84
+ echo -e "${RED}āŒ${NC}"
37
85
  echo ""
38
86
  print_error "ę£€ęµ‹åˆ°ęœŖęäŗ¤ēš„ę›“ę”¹ļ¼ŒčÆ·å…ˆęäŗ¤åŽå†å‘åøƒ"
39
87
  echo ""
40
88
  git status --short
41
89
  echo ""
42
- print_info "ęē¤ŗ: åÆä»„ä½æē”Ø 'gw c' ꈖ 'git add . && git commit' ęäŗ¤ę›“ę”¹"
90
+ print_info "šŸ’” ęē¤ŗ: åÆä»„ä½æē”Ø 'gw c' ęäŗ¤ę›“ę”¹"
43
91
  exit 1
92
+ else
93
+ echo -e "${GREEN}āœ…${NC}"
44
94
  fi
45
95
 
46
- # ę£€ęŸ„ npm ē™»å½•ēŠ¶ę€
47
- print_step "ę£€ęŸ„ npm ē™»å½•ēŠ¶ę€..."
96
+ # [3] ę£€ęŸ„ npm ē™»å½•ēŠ¶ę€
97
+ echo -ne "${BLUE}[3/${TOTAL_STEPS}]${NC} ę£€ęŸ„ npm ē™»å½•ēŠ¶ę€... "
48
98
  if ! npm whoami &> /dev/null; then
99
+ echo -e "${RED}āŒ${NC}"
49
100
  print_error "ęœŖē™»å½• npmļ¼ŒčÆ·å…ˆę‰§č”Œ: npm login"
50
101
  exit 1
51
102
  fi
52
103
  NPM_USER=$(npm whoami)
53
- print_success "已登录 npm (ē”Øęˆ·: ${NPM_USER})"
104
+ echo -e "${GREEN}āœ…${NC} ${DIM}(${NPM_USER})${NC}"
54
105
 
55
106
  # čŽ·å–å½“å‰åˆ†ę”Æ
56
107
  CURRENT_BRANCH=$(git branch --show-current)
57
- print_info "å½“å‰åˆ†ę”Æ: ${CURRENT_BRANCH}"
58
108
 
59
- # ę‹‰å–ęœ€ę–°ä»£ē 
60
- print_step "ę‹‰å–ęœ€ę–°ä»£ē ..."
61
- git pull origin "$CURRENT_BRANCH"
62
- print_success "代码已曓新"
109
+ # [4] ę‹‰å–ęœ€ę–°ä»£ē 
110
+ if ! run_step "4" "ę‹‰å–ęœ€ę–°ä»£ē " "git pull origin '$CURRENT_BRANCH'"; then
111
+ exit 1
112
+ fi
63
113
 
64
114
  # čŽ·å–å½“å‰ē‰ˆęœ¬
65
115
  CURRENT_VERSION=$(node -p "require('./package.json').version")
66
- print_info "å½“å‰ē‰ˆęœ¬: ${CURRENT_VERSION}"
67
116
 
68
- # äŗ¤äŗ’å¼é€‰ę‹©ē‰ˆęœ¬å·
69
- print_step "é€‰ę‹©ę–°ē‰ˆęœ¬å·..."
70
- npm run version
117
+ # [5] äŗ¤äŗ’å¼é€‰ę‹©ē‰ˆęœ¬å·
118
+ run_step_interactive "5" "é€‰ę‹©ę–°ē‰ˆęœ¬å·" "npm run version"
71
119
 
72
120
  # čŽ·å–ę–°ē‰ˆęœ¬
73
121
  NEW_VERSION=$(node -p "require('./package.json').version")
@@ -77,44 +125,59 @@ if [[ "$NEW_VERSION" == "$CURRENT_VERSION" ]]; then
77
125
  exit 0
78
126
  fi
79
127
 
80
- print_success "ē‰ˆęœ¬å·å·²ę›“ę–°: ${CURRENT_VERSION} → ${NEW_VERSION}"
128
+ # ę˜¾ē¤ŗē‰ˆęœ¬å‡ēŗ§äæ”ęÆ
129
+ echo -e "${GREEN} āœ…${NC} ${DIM}(${CURRENT_VERSION} → ${NEW_VERSION})${NC}"
81
130
 
82
- # ęž„å»ŗé”¹ē›®
83
- print_step "ęž„å»ŗé”¹ē›®..."
84
- npm run build
85
- print_success "ęž„å»ŗå®Œęˆ"
131
+ # [6] ęž„å»ŗé”¹ē›®
132
+ if ! run_step "6" "ęž„å»ŗé”¹ē›®" "npm run build"; then
133
+ exit 1
134
+ fi
86
135
 
87
- # ē”Ÿęˆ changelog
88
- print_step "ē”Ÿęˆ CHANGELOG..."
89
- npm run changelog
90
- print_success "CHANGELOG 已曓新"
136
+ # [7] ē”Ÿęˆ changelog
137
+ if ! run_step "7" "ē”Ÿęˆ CHANGELOG" "npm run changelog"; then
138
+ exit 1
139
+ fi
91
140
 
92
- # ęäŗ¤ē‰ˆęœ¬ę›“ę–°å’Œ changelog
93
- print_step "ęäŗ¤ē‰ˆęœ¬ę›“ę–°..."
94
- git add package.json CHANGELOG.md
95
- git commit -m "šŸ”– chore(release): å‘åøƒ v${NEW_VERSION}"
96
- print_success "ē‰ˆęœ¬ę›“ę–°å·²ęäŗ¤"
141
+ # [8] ęäŗ¤ē‰ˆęœ¬ę›“ę–°å’Œ changelog
142
+ echo -ne "${BLUE}[8/${TOTAL_STEPS}]${NC} ęäŗ¤ē‰ˆęœ¬ę›“ę–°... "
143
+ if output=$(git add package.json CHANGELOG.md && git commit -m "šŸ”– chore(release): å‘åøƒ v${NEW_VERSION}" 2>&1); then
144
+ echo -e "${GREEN}āœ…${NC} ${DIM}(šŸ”– chore(release): å‘åøƒ v${NEW_VERSION})${NC}"
145
+ else
146
+ echo -e "${RED}āŒ${NC}"
147
+ echo ""
148
+ echo -e "${RED}é”™čÆÆčÆ¦ęƒ…:${NC}"
149
+ echo "$output"
150
+ exit 1
151
+ fi
97
152
 
98
- # åˆ›å»ŗ tag
99
- print_step "åˆ›å»ŗ tag: v${NEW_VERSION}..."
100
- git tag -a "v${NEW_VERSION}" -m "Release v${NEW_VERSION}"
101
- print_success "Tag å·²åˆ›å»ŗ"
153
+ # [9] åˆ›å»ŗ tag
154
+ echo -ne "${BLUE}[9/${TOTAL_STEPS}]${NC} åˆ›å»ŗ Git Tag... "
155
+ if output=$(git tag -a "v${NEW_VERSION}" -m "Release v${NEW_VERSION}" 2>&1); then
156
+ echo -e "${GREEN}āœ…${NC} ${DIM}(v${NEW_VERSION})${NC}"
157
+ else
158
+ echo -e "${RED}āŒ${NC}"
159
+ echo ""
160
+ echo -e "${RED}é”™čÆÆčÆ¦ęƒ…:${NC}"
161
+ echo "$output"
162
+ exit 1
163
+ fi
102
164
 
103
- # ęŽØé€åˆ°čæœēØ‹
104
- print_step "ęŽØé€åˆ°čæœēØ‹ä»“åŗ“..."
105
- git push origin "$CURRENT_BRANCH"
106
- git push origin "v${NEW_VERSION}"
107
- print_success "å·²ęŽØé€åˆ°čæœēØ‹"
165
+ # [10] ęŽØé€åˆ°čæœēØ‹
166
+ echo -ne "${BLUE}[10/${TOTAL_STEPS}]${NC} ęŽØé€åˆ°čæœēØ‹ä»“åŗ“... "
167
+ if output=$(git push origin "$CURRENT_BRANCH" && git push origin "v${NEW_VERSION}" 2>&1); then
168
+ echo -e "${GREEN}āœ…${NC} ${DIM}(${CURRENT_BRANCH}, v${NEW_VERSION})${NC}"
169
+ else
170
+ echo -e "${RED}āŒ${NC}"
171
+ echo ""
172
+ echo -e "${RED}é”™čÆÆčÆ¦ęƒ…:${NC}"
173
+ echo "$output"
174
+ exit 1
175
+ fi
108
176
 
109
- # å‘åøƒåˆ° npm
110
- print_step "å‘åøƒåˆ° npm..."
111
- npm publish
112
- print_success "å·²å‘åøƒåˆ° npm"
177
+ # [11] å‘åøƒåˆ° npm
178
+ if ! run_step "11" "å‘åøƒåˆ° npm" "npm publish"; then
179
+ exit 1
180
+ fi
113
181
 
114
- echo ""
115
- print_success "šŸŽ‰ å‘åøƒęˆåŠŸļ¼"
116
- echo ""
117
- echo "ē‰ˆęœ¬: v${NEW_VERSION}"
118
- echo "GitHub: https://github.com/iamzjt-front-end/git-workflow/releases/tag/v${NEW_VERSION}"
119
- echo "npm: https://www.npmjs.com/package/@zjex/git-workflow/v/${NEW_VERSION}"
120
- echo ""
182
+ # ęˆåŠŸę€»ē»“
183
+ node scripts/publish-success.js "${NEW_VERSION}"
package/test-box.sh ADDED
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ GREEN='\033[0;32m'
4
+ CYAN='\033[0;36m'
5
+ BOLD='\033[1m'
6
+ NC='\033[0m'
7
+
8
+ NEW_VERSION="0.2.8"
9
+
10
+ echo ""
11
+ echo -e "${GREEN}╭──────────────────────────────╮${NC}"
12
+ echo -e "${GREEN}│ │${NC}"
13
+ echo -e "${GREEN}│${NC} ${BOLD}šŸŽ‰ å‘åøƒęˆåŠŸļ¼${NC} ${GREEN}│${NC}"
14
+ echo -e "${GREEN}│ │${NC}"
15
+ echo -e "${GREEN}│${NC} ${CYAN}ē‰ˆęœ¬:${NC} ${BOLD}v${NEW_VERSION}${NC} ${GREEN}│${NC}"
16
+ echo -e "${GREEN}│ │${NC}"
17
+ echo -e "${GREEN}╰──────────────────────────────╯${NC}"
18
+ echo ""
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+
3
+ BLUE='\033[0;34m'
4
+ GREEN='\033[0;32m'
5
+ CYAN='\033[0;36m'
6
+ DIM='\033[2m'
7
+ BOLD='\033[1m'
8
+ NC='\033[0m'
9
+
10
+ TOTAL_STEPS=11
11
+ NEW_VERSION="0.2.8"
12
+ CURRENT_BRANCH="main"
13
+
14
+ echo ""
15
+ echo -e "${BOLD}šŸš€ å¼€å§‹å‘åøƒęµēØ‹${NC}"
16
+ echo ""
17
+
18
+ echo -e "${BLUE}[1/${TOTAL_STEPS}]${NC} ę£€ęŸ„ Git 仓库... ${GREEN}āœ…${NC}"
19
+ echo -e "${BLUE}[2/${TOTAL_STEPS}]${NC} ę£€ęŸ„å·„ä½œåŒŗēŠ¶ę€... ${GREEN}āœ…${NC}"
20
+ echo -e "${BLUE}[3/${TOTAL_STEPS}]${NC} ę£€ęŸ„ npm ē™»å½•ēŠ¶ę€... ${GREEN}āœ…${NC} ${DIM}(zjex)${NC}"
21
+ echo -e "${BLUE}[4/${TOTAL_STEPS}]${NC} ę‹‰å–ęœ€ę–°ä»£ē ... ${GREEN}āœ…${NC}"
22
+ echo -e "${BLUE}[5/${TOTAL_STEPS}]${NC} é€‰ę‹©ę–°ē‰ˆęœ¬å·... ${GREEN}āœ…${NC} ${DIM}(0.2.7 → 0.2.8)${NC}"
23
+ echo -e "${BLUE}[6/${TOTAL_STEPS}]${NC} ęž„å»ŗé”¹ē›®... ${GREEN}āœ…${NC}"
24
+ echo -e "${BLUE}[7/${TOTAL_STEPS}]${NC} ē”Ÿęˆ CHANGELOG... ${GREEN}āœ…${NC}"
25
+ echo -e "${BLUE}[8/${TOTAL_STEPS}]${NC} ęäŗ¤ē‰ˆęœ¬ę›“ę–°... ${GREEN}āœ…${NC} ${DIM}(šŸ”– chore(release): å‘åøƒ v${NEW_VERSION})${NC}"
26
+ echo -e "${BLUE}[9/${TOTAL_STEPS}]${NC} åˆ›å»ŗ Git Tag... ${GREEN}āœ…${NC} ${DIM}(v${NEW_VERSION})${NC}"
27
+ echo -e "${BLUE}[10/${TOTAL_STEPS}]${NC} ęŽØé€åˆ°čæœēØ‹ä»“åŗ“... ${GREEN}āœ…${NC} ${DIM}(${CURRENT_BRANCH}, v${NEW_VERSION})${NC}"
28
+ echo -e "${BLUE}[11/${TOTAL_STEPS}]${NC} å‘åøƒåˆ° npm... ${GREEN}āœ…${NC}"
29
+
30
+ node scripts/publish-success.js "${NEW_VERSION}"