@momo-kits/native-kits 0.156.1-test.15 → 0.156.1-test.20-debug
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/PUBLISH_GUIDE.md +255 -386
- package/build.gradle.kts +11 -0
- package/compose/build.gradle.kts +180 -0
- package/compose/build.gradle.kts.backup +180 -0
- package/compose/compose.podspec +54 -0
- package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +113 -0
- package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
- package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +95 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +715 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +83 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +348 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +447 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +244 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +234 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +189 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +59 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +239 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +119 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +99 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +166 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +333 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +552 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +226 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +274 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +31 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +219 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +42 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
- package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +152 -0
- package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme +32 -0
- package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/WorkspaceSettings.xcsettings +16 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +6 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Pods-Example.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImage.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SkeletonUI.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios.xcscheme +58 -0
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +60 -0
- package/gradle/libs.versions.toml +57 -0
- package/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/gradle/wrapper/gradle-wrapper.properties +8 -0
- package/gradle.properties +26 -0
- package/gradlew +252 -0
- package/gradlew.bat +94 -0
- package/local.properties +8 -0
- package/package.json +1 -1
- package/publish.sh +156 -151
- package/settings.gradle.kts +52 -0
package/PUBLISH_GUIDE.md
CHANGED
|
@@ -8,13 +8,13 @@ Tài liệu này hướng dẫn cách sử dụng script publish cho `@momo-kits
|
|
|
8
8
|
|
|
9
9
|
Dự án sử dụng **`publish.sh`** - một script thống nhất hỗ trợ 2 modes:
|
|
10
10
|
|
|
11
|
-
- **`beta`**: Publish phiên bản beta
|
|
11
|
+
- **`beta`**: Publish phiên bản beta cho testing
|
|
12
12
|
- **`release`**: Publish phiên bản release chính thức
|
|
13
13
|
|
|
14
14
|
Script có 3 phases riêng biệt:
|
|
15
15
|
1. **Check Version**: Kiểm tra và chuẩn bị version
|
|
16
|
-
2. **Publish
|
|
17
|
-
3. **Publish
|
|
16
|
+
2. **Publish NPM**: Publish lên NPM registry
|
|
17
|
+
3. **Publish Maven**: Publish lên GitLab Maven repository
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -46,11 +46,11 @@ sh publish.sh beta
|
|
|
46
46
|
# Phase 1: Check version
|
|
47
47
|
sh publish.sh beta check
|
|
48
48
|
|
|
49
|
-
# Phase 2: Publish
|
|
50
|
-
sh publish.sh beta maven
|
|
51
|
-
|
|
52
|
-
# Phase 3: Publish NPM
|
|
49
|
+
# Phase 2: Publish NPM
|
|
53
50
|
sh publish.sh beta npm
|
|
51
|
+
|
|
52
|
+
# Phase 3: Publish Maven
|
|
53
|
+
sh publish.sh beta maven
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
#### **Quy Trình Beta Publishing**
|
|
@@ -72,210 +72,92 @@ sh publish.sh beta npm
|
|
|
72
72
|
sh publish.sh beta
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
## 📦 Version Types (Beta Mode)
|
|
78
|
-
|
|
79
|
-
Beta mode hỗ trợ 2 loại version:
|
|
80
|
-
|
|
81
|
-
### **1. Specific Version (Tag: alpha)**
|
|
82
|
-
|
|
83
|
-
**Định nghĩa:** Version có suffix KHÔNG phải "beta"
|
|
84
|
-
|
|
85
|
-
**Ví dụ:**
|
|
86
|
-
- `0.156.2-test.1`
|
|
87
|
-
- `0.156.2-alpha.1`
|
|
88
|
-
- `0.156.2-rc.1`
|
|
89
|
-
|
|
90
|
-
**Behavior:**
|
|
91
|
-
- NPM tag: `alpha`
|
|
92
|
-
- Check existence: ❌ **FAIL** nếu version đã tồn tại
|
|
93
|
-
- Không auto-increment
|
|
94
|
-
- Developer phải tự quản lý version
|
|
95
|
-
|
|
96
|
-
**Use case:** Testing specific features, hotfix testing
|
|
97
|
-
|
|
98
|
-
### **2. Normal Version (Tag: beta)**
|
|
99
|
-
|
|
100
|
-
**Định nghĩa:** Version có suffix "beta" HOẶC không có suffix
|
|
101
|
-
|
|
102
|
-
**Ví dụ:**
|
|
103
|
-
- `0.156.2` (no suffix)
|
|
104
|
-
- `0.156.2-beta.1`
|
|
105
|
-
- `0.156.2-beta.5`
|
|
106
|
-
|
|
107
|
-
**Behavior:**
|
|
108
|
-
- NPM tag: `beta`
|
|
109
|
-
- Auto-format: `0.156.2` → `0.156.2-beta.1`
|
|
110
|
-
- Auto-increment nếu tồn tại: `.beta.1` → `.beta.2` → `.beta.3`...
|
|
111
|
-
|
|
112
|
-
**Use case:** Regular beta testing, continuous development
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## 🔍 Version Detection Examples
|
|
117
|
-
|
|
118
|
-
### **Example 1: Specific Version**
|
|
75
|
+
#### **Ví Dụ Beta Publishing**
|
|
119
76
|
|
|
120
77
|
```bash
|
|
121
|
-
#
|
|
122
|
-
|
|
123
|
-
"version": "0.156.2
|
|
124
|
-
}
|
|
78
|
+
# 1. Kiểm tra version
|
|
79
|
+
$ cat package.json | grep version
|
|
80
|
+
"version": "0.156.2"
|
|
125
81
|
|
|
126
|
-
#
|
|
82
|
+
# 2. Test check version
|
|
127
83
|
$ sh publish.sh beta check
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
84
|
+
📦 Version from package.json: 0.156.2
|
|
85
|
+
🔎 Checking if version 0.156.2 already exists on npm...
|
|
86
|
+
✅ Version 0.156.2 does not exist on npm. Safe to publish.
|
|
87
|
+
✅ PHASE 1 COMPLETED
|
|
88
|
+
|
|
89
|
+
# 3. Publish
|
|
90
|
+
$ sh publish.sh beta
|
|
91
|
+
🚀 PUBLISH SCRIPT - MODE: BETA
|
|
92
|
+
Running ALL PHASES
|
|
93
|
+
[... Phase 1: Check version ...]
|
|
94
|
+
[... Phase 2: Publish NPM ...]
|
|
95
|
+
🐛 Debug version: 0.156.2-debug (with compose) - Published first
|
|
96
|
+
📦 Normal version: 0.156.2 (without compose) - Published second
|
|
97
|
+
🏷️ NPM Tag: beta
|
|
98
|
+
[... Phase 3: Publish Maven ...]
|
|
99
|
+
🎉 ALL PHASES COMPLETED SUCCESSFULLY!
|
|
134
100
|
```
|
|
135
101
|
|
|
136
|
-
|
|
137
|
-
- `@momo-kits/native-kits@0.156.2-test.1` (tag: **alpha**)
|
|
138
|
-
- `@momo-kits/native-kits@0.156.2-test.1-debug` (tag: **alpha**)
|
|
139
|
-
|
|
140
|
-
### **Example 2: Normal Version (No Suffix)**
|
|
102
|
+
#### **⚠️ Nếu Version Đã Tồn Tại**
|
|
141
103
|
|
|
142
104
|
```bash
|
|
143
|
-
# package.json
|
|
144
|
-
{
|
|
145
|
-
"version": "0.156.2"
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
# Run
|
|
149
105
|
$ sh publish.sh beta check
|
|
106
|
+
❌ ERROR: Version 0.156.1 already exists on npm!
|
|
150
107
|
|
|
151
|
-
|
|
152
|
-
🏷️ Detected: NORMAL version (tag: beta)
|
|
153
|
-
🔄 Adding beta suffix: 0.156.2 → 0.156.2-beta.1
|
|
154
|
-
🔎 Checking version 0.156.2-beta.1 on npm...
|
|
155
|
-
✅ Version 0.156.2-beta.1 does not exist on npm. Using this version.
|
|
156
|
-
✅ NPM tag: beta
|
|
108
|
+
Please update the version in package.json before publishing.
|
|
157
109
|
```
|
|
158
110
|
|
|
159
|
-
**
|
|
160
|
-
- `@momo-kits/native-kits@0.156.2-beta.1` (tag: **beta**)
|
|
161
|
-
- `@momo-kits/native-kits@0.156.2-beta.1-debug` (tag: **beta**)
|
|
162
|
-
|
|
163
|
-
### **Example 3: Normal Version (With Beta Suffix)**
|
|
164
|
-
|
|
111
|
+
**Giải pháp:** Tăng version trong `package.json`:
|
|
165
112
|
```bash
|
|
166
|
-
#
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
# Giả sử npm đã có: beta.1, beta.2
|
|
172
|
-
|
|
173
|
-
# Run
|
|
174
|
-
$ sh publish.sh beta check
|
|
113
|
+
# Mở và edit file
|
|
114
|
+
vim package.json
|
|
115
|
+
# hoặc
|
|
116
|
+
code package.json
|
|
175
117
|
|
|
176
|
-
#
|
|
177
|
-
🏷️ Detected: NORMAL version (tag: beta)
|
|
178
|
-
🔎 Checking version 0.156.2-beta.1 on npm...
|
|
179
|
-
⚠️ Version 0.156.2-beta.1 already exists on npm. Auto-incrementing...
|
|
180
|
-
Version incremented: 0.156.2-beta.1 → 0.156.2-beta.2
|
|
181
|
-
⚠️ Version 0.156.2-beta.2 already exists on npm. Auto-incrementing...
|
|
182
|
-
Version incremented: 0.156.2-beta.2 → 0.156.2-beta.3
|
|
183
|
-
✅ Version 0.156.2-beta.3 does not exist on npm. Using this version.
|
|
184
|
-
✅ NPM tag: beta
|
|
118
|
+
# Thay đổi: "version": "0.156.1" → "0.156.2"
|
|
185
119
|
```
|
|
186
120
|
|
|
187
|
-
|
|
188
|
-
- `@momo-kits/native-kits@0.156.2-beta.3` (tag: **beta**)
|
|
189
|
-
- `@momo-kits/native-kits@0.156.2-beta.3-debug` (tag: **beta**)
|
|
121
|
+
### 🟢 Publish Release Từ Local
|
|
190
122
|
|
|
191
|
-
|
|
123
|
+
#### **Cách 1: Publish tất cả phases (Khuyến nghị)**
|
|
192
124
|
|
|
193
125
|
```bash
|
|
194
|
-
|
|
195
|
-
{
|
|
196
|
-
"version": "0.156.2-test.1"
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
# Version đã tồn tại trên npm
|
|
200
|
-
|
|
201
|
-
# Run
|
|
202
|
-
$ sh publish.sh beta check
|
|
203
|
-
|
|
204
|
-
# Output
|
|
205
|
-
🏷️ Detected: SPECIFIC version (tag: alpha)
|
|
206
|
-
🔎 Checking if specific version 0.156.2-test.1 exists on npm...
|
|
207
|
-
|
|
208
|
-
❌ ERROR: Specific version 0.156.2-test.1 already exists on npm!
|
|
209
|
-
|
|
210
|
-
Please update the version in package.json before publishing.
|
|
211
|
-
# Exit code: 1
|
|
126
|
+
sh publish.sh release
|
|
212
127
|
```
|
|
213
128
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
## 🟢 Publish Release Từ Local
|
|
217
|
-
|
|
218
|
-
### **Đặc Điểm Quan Trọng**
|
|
219
|
-
|
|
220
|
-
⚠️ **Release mode KHÔNG đọc version từ `package.json`**
|
|
221
|
-
|
|
222
|
-
✅ **Release mode đọc version từ `npm@latest`**
|
|
223
|
-
|
|
224
|
-
### **Cách Publish**
|
|
129
|
+
#### **Cách 2: Chạy từng phase riêng**
|
|
225
130
|
|
|
226
131
|
```bash
|
|
227
|
-
#
|
|
228
|
-
sh publish.sh release
|
|
229
|
-
|
|
230
|
-
# Hoặc từng phase
|
|
132
|
+
# Phase 1: Check version
|
|
231
133
|
sh publish.sh release check
|
|
232
|
-
|
|
134
|
+
|
|
135
|
+
# Phase 2: Publish NPM
|
|
233
136
|
sh publish.sh release npm
|
|
234
|
-
```
|
|
235
137
|
|
|
236
|
-
|
|
138
|
+
# Phase 3: Publish Maven
|
|
139
|
+
sh publish.sh release maven
|
|
140
|
+
```
|
|
237
141
|
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
npm view @momo-kits/native-kits@latest version
|
|
241
|
-
# Output: 0.156.2
|
|
242
|
-
```
|
|
142
|
+
#### **Quy Trình Release Publishing**
|
|
243
143
|
|
|
244
|
-
|
|
245
|
-
```
|
|
246
|
-
|
|
144
|
+
1. **Version trong `package.json` có thể là bất kỳ format nào:**
|
|
145
|
+
```json
|
|
146
|
+
{
|
|
147
|
+
"version": "0.156.1-test.5"
|
|
148
|
+
}
|
|
247
149
|
```
|
|
248
150
|
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
0.156.4 exists? → 0.156.5
|
|
253
|
-
...
|
|
151
|
+
2. **Chạy publish:**
|
|
152
|
+
```bash
|
|
153
|
+
sh publish.sh release
|
|
254
154
|
```
|
|
255
155
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
$ sh publish.sh release check
|
|
264
|
-
|
|
265
|
-
# Output
|
|
266
|
-
🔍 Reading latest version from npm@latest (NOT from package.json)...
|
|
267
|
-
📦 Current @latest version on npm: 0.156.2
|
|
268
|
-
🔼 Auto-incremented version: 0.156.2 → 0.156.3
|
|
269
|
-
🔎 Checking if version 0.156.3 exists on npm...
|
|
270
|
-
✅ Version 0.156.3 does not exist on npm. Using this version.
|
|
271
|
-
📝 Updated package.json: 0.156.2-beta.5 → 0.156.3
|
|
272
|
-
✅ Using version: 0.156.3
|
|
273
|
-
✅ NPM tag: latest
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
**Kết quả trên NPM:**
|
|
277
|
-
- `@momo-kits/native-kits@0.156.3` (tag: **latest**)
|
|
278
|
-
- `@momo-kits/native-kits@0.156.3-debug` (tag: **latest**)
|
|
156
|
+
3. **Script sẽ tự động:**
|
|
157
|
+
- Convert sang format beta: `0.156.1-test.5` → `0.156.1-beta.1`
|
|
158
|
+
- Check version trên npm
|
|
159
|
+
- Auto-increment nếu đã tồn tại: `0.156.1-beta.1` → `0.156.1-beta.2`
|
|
160
|
+
- Publish với tag `latest`
|
|
279
161
|
|
|
280
162
|
---
|
|
281
163
|
|
|
@@ -283,19 +165,18 @@ $ sh publish.sh release check
|
|
|
283
165
|
|
|
284
166
|
### 🔵 Beta Publishing (GitLab CI)
|
|
285
167
|
|
|
286
|
-
**Trigger:** Commit message chứa `[ci build]`
|
|
168
|
+
**Trigger:** Commit message chứa `[ci build]`
|
|
287
169
|
|
|
288
170
|
```bash
|
|
289
|
-
git checkout develop
|
|
290
171
|
git add .
|
|
291
172
|
git commit -m "feat: add new feature [ci build]"
|
|
292
173
|
git push
|
|
293
174
|
```
|
|
294
175
|
|
|
295
176
|
**Pipeline sẽ chạy 3 stages:**
|
|
296
|
-
1. `beta_check_version`
|
|
297
|
-
2. `
|
|
298
|
-
3. `
|
|
177
|
+
1. `beta_check_version`
|
|
178
|
+
2. `beta_publish_npm`
|
|
179
|
+
3. `beta_publish_maven`
|
|
299
180
|
|
|
300
181
|
### 🟢 Release Publishing (GitLab CI)
|
|
301
182
|
|
|
@@ -308,9 +189,9 @@ git push origin main
|
|
|
308
189
|
```
|
|
309
190
|
|
|
310
191
|
**Pipeline sẽ chạy 3 stages:**
|
|
311
|
-
1. `release_check_version`
|
|
312
|
-
2. `
|
|
313
|
-
3. `
|
|
192
|
+
1. `release_check_version`
|
|
193
|
+
2. `release_publish_npm`
|
|
194
|
+
3. `release_publish_maven`
|
|
314
195
|
|
|
315
196
|
---
|
|
316
197
|
|
|
@@ -319,100 +200,123 @@ git push origin main
|
|
|
319
200
|
| Tiêu chí | Beta Mode | Release Mode |
|
|
320
201
|
|----------|-----------|--------------|
|
|
321
202
|
| **Script** | `sh publish.sh beta` | `sh publish.sh release` |
|
|
322
|
-
| **Trigger CI** | Commit có `[ci build]`
|
|
323
|
-
| **
|
|
324
|
-
| **Version
|
|
325
|
-
| **NPM Tag** | `
|
|
326
|
-
| **
|
|
327
|
-
| **Phase Order** | Check → Maven → NPM | Check → Maven → NPM |
|
|
203
|
+
| **Trigger CI** | Commit có `[ci build]` | Push vào `main` |
|
|
204
|
+
| **Version Check** | **Fail** nếu tồn tại | **Auto-increment** |
|
|
205
|
+
| **Format Version** | Giữ nguyên | Convert → `-beta.*` |
|
|
206
|
+
| **NPM Tag** | `beta` | `latest` |
|
|
207
|
+
| **Publish Order** | Debug first → Normal | Debug first → Normal |
|
|
328
208
|
|
|
329
209
|
---
|
|
330
210
|
|
|
331
|
-
##
|
|
211
|
+
## 🔍 Chi Tiết Các Phases
|
|
212
|
+
|
|
213
|
+
### **Phase 1: Check Version**
|
|
332
214
|
|
|
333
|
-
|
|
215
|
+
**Beta Mode:**
|
|
216
|
+
- Đọc version từ `package.json`
|
|
217
|
+
- Check version trên npm
|
|
218
|
+
- ❌ **FAIL** nếu version đã tồn tại
|
|
219
|
+
- Update `gradle.properties`
|
|
334
220
|
|
|
335
|
-
**
|
|
221
|
+
**Release Mode:**
|
|
222
|
+
- Đọc version từ `package.json`
|
|
223
|
+
- Convert sang format `-beta.*` nếu cần
|
|
224
|
+
- Check version trên npm
|
|
225
|
+
- ✅ **Auto-increment** nếu đã tồn tại
|
|
226
|
+
- Update `gradle.properties`
|
|
336
227
|
|
|
337
|
-
**
|
|
338
|
-
```bash
|
|
339
|
-
npm install @momo-kits/native-kits@alpha
|
|
340
|
-
npm install @momo-kits/native-kits@0.156.2-test.1
|
|
341
|
-
```
|
|
228
|
+
### **Phase 2: Publish NPM**
|
|
342
229
|
|
|
343
|
-
**
|
|
230
|
+
**Thứ tự publish (cả Beta và Release):**
|
|
344
231
|
|
|
345
|
-
|
|
232
|
+
1. **Debug version** (với compose) - Published FIRST
|
|
233
|
+
- Version: `X.Y.Z-debug`
|
|
234
|
+
- Bao gồm thư mục `compose/`
|
|
235
|
+
- Dành cho development/testing
|
|
346
236
|
|
|
347
|
-
**
|
|
237
|
+
2. **Normal version** (không compose) - Published SECOND
|
|
238
|
+
- Version: `X.Y.Z`
|
|
239
|
+
- Không bao gồm `compose/`
|
|
240
|
+
- Dành cho React Native apps
|
|
348
241
|
|
|
349
|
-
**
|
|
350
|
-
```bash
|
|
351
|
-
npm install @momo-kits/native-kits@beta
|
|
352
|
-
npm install @momo-kits/native-kits@0.156.2-beta.1
|
|
353
|
-
```
|
|
242
|
+
### **Phase 3: Publish Maven**
|
|
354
243
|
|
|
355
|
-
|
|
244
|
+
- Publish Kotlin Multiplatform artifacts
|
|
245
|
+
- Lên GitLab Packages Repository
|
|
246
|
+
- Dành cho `compose` module
|
|
356
247
|
|
|
357
|
-
|
|
248
|
+
---
|
|
358
249
|
|
|
359
|
-
|
|
250
|
+
## 📝 Ví Dụ Chi Tiết
|
|
360
251
|
|
|
361
|
-
**
|
|
362
|
-
```bash
|
|
363
|
-
npm install @momo-kits/native-kits@latest
|
|
364
|
-
npm install @momo-kits/native-kits
|
|
365
|
-
npm install @momo-kits/native-kits@0.156.3
|
|
366
|
-
```
|
|
252
|
+
### **Ví dụ 1: Beta - Version chưa tồn tại**
|
|
367
253
|
|
|
368
|
-
|
|
254
|
+
```bash
|
|
255
|
+
$ sh publish.sh beta
|
|
369
256
|
|
|
370
|
-
|
|
257
|
+
📦 Version from package.json: 0.156.2
|
|
258
|
+
🔎 Checking if version 0.156.2 already exists on npm...
|
|
259
|
+
✅ Version 0.156.2 does not exist on npm. Safe to publish.
|
|
371
260
|
|
|
372
|
-
|
|
261
|
+
# Phase 2
|
|
262
|
+
🐛 Debug version: 0.156.2-debug (with compose) - Published first
|
|
263
|
+
📦 Normal version: 0.156.2 (without compose) - Published second
|
|
264
|
+
🏷️ NPM Tag: beta
|
|
265
|
+
```
|
|
373
266
|
|
|
374
|
-
|
|
267
|
+
**Kết quả trên NPM:**
|
|
268
|
+
- `@momo-kits/native-kits@0.156.2-debug` (tag: beta)
|
|
269
|
+
- `@momo-kits/native-kits@0.156.2` (tag: beta)
|
|
375
270
|
|
|
376
|
-
**Beta
|
|
377
|
-
1. Đọc version từ `package.json`
|
|
378
|
-
2. Phát hiện version type (specific vs normal)
|
|
379
|
-
3. Set NPM tag (alpha vs beta)
|
|
380
|
-
4. Format version:
|
|
381
|
-
- Specific: Check existence, fail if exists
|
|
382
|
-
- Normal: Add beta suffix, auto-increment if exists
|
|
383
|
-
5. Update `gradle.properties`
|
|
271
|
+
### **Ví dụ 2: Beta - Version đã tồn tại (FAIL)**
|
|
384
272
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
2. Increment patch version
|
|
388
|
-
3. Check existence, auto-increment if exists
|
|
389
|
-
4. Update `package.json` và `gradle.properties`
|
|
390
|
-
5. Set NPM tag = `latest`
|
|
273
|
+
```bash
|
|
274
|
+
$ sh publish.sh beta check
|
|
391
275
|
|
|
392
|
-
|
|
276
|
+
📦 Version from package.json: 0.156.1
|
|
277
|
+
🔎 Checking if version 0.156.1 already exists on npm...
|
|
393
278
|
|
|
394
|
-
|
|
279
|
+
❌ ERROR: Version 0.156.1 already exists on npm!
|
|
395
280
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
- Dành cho `compose` module
|
|
281
|
+
Please update the version in package.json before publishing.
|
|
282
|
+
# Exit code: 1
|
|
283
|
+
```
|
|
400
284
|
|
|
401
|
-
### **
|
|
285
|
+
### **Ví dụ 3: Release - Auto-convert và increment**
|
|
402
286
|
|
|
403
|
-
|
|
287
|
+
```bash
|
|
288
|
+
$ sh publish.sh release
|
|
289
|
+
|
|
290
|
+
📦 Version from package.json: 0.156.1-test.5
|
|
291
|
+
🔄 Converting to beta format: 0.156.1-test.5 → 0.156.1-beta.1
|
|
292
|
+
✅ Version updated to beta format: 0.156.1-beta.1
|
|
293
|
+
🔎 Checking if version 0.156.1-beta.1 already exists on npm...
|
|
294
|
+
⚠️ Version 0.156.1-beta.1 already exists on npm. Auto-incrementing...
|
|
295
|
+
Version incremented: 0.156.1-beta.1 → 0.156.1-beta.2
|
|
296
|
+
🔄 Checking version 0.156.1-beta.2 on npm...
|
|
297
|
+
✅ Version 0.156.1-beta.2 does not exist on npm. Using this version.
|
|
298
|
+
```
|
|
404
299
|
|
|
405
|
-
**
|
|
300
|
+
**Kết quả trên NPM:**
|
|
301
|
+
- `@momo-kits/native-kits@0.156.1-beta.2-debug` (tag: latest)
|
|
302
|
+
- `@momo-kits/native-kits@0.156.1-beta.2` (tag: latest)
|
|
406
303
|
|
|
407
|
-
|
|
408
|
-
- Version: `X.Y.Z-debug`
|
|
409
|
-
- Bao gồm thư mục `compose/`
|
|
410
|
-
- Tag: `alpha` / `beta` / `latest`
|
|
304
|
+
### **Ví dụ 4: Release - Multiple increments**
|
|
411
305
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
306
|
+
```bash
|
|
307
|
+
$ sh publish.sh release
|
|
308
|
+
|
|
309
|
+
📦 Version from package.json: 0.156.1-beta.5
|
|
310
|
+
|
|
311
|
+
# Giả sử NPM đã có: beta.5, beta.6, beta.7
|
|
312
|
+
⚠️ Version 0.156.1-beta.5 already exists on npm...
|
|
313
|
+
Version incremented: 0.156.1-beta.5 → 0.156.1-beta.6
|
|
314
|
+
⚠️ Version 0.156.1-beta.6 already exists on npm...
|
|
315
|
+
Version incremented: 0.156.1-beta.6 → 0.156.1-beta.7
|
|
316
|
+
⚠️ Version 0.156.1-beta.7 already exists on npm...
|
|
317
|
+
Version incremented: 0.156.1-beta.7 → 0.156.1-beta.8
|
|
318
|
+
✅ Version 0.156.1-beta.8 does not exist on npm. Using this version.
|
|
319
|
+
```
|
|
416
320
|
|
|
417
321
|
---
|
|
418
322
|
|
|
@@ -424,22 +328,20 @@ npm install @momo-kits/native-kits@0.156.3
|
|
|
424
328
|
┌──────────────────────────────────────────────────┐
|
|
425
329
|
│ 1. Develop Feature │
|
|
426
330
|
│ - Code changes │
|
|
427
|
-
│ - Update version in package.json
|
|
331
|
+
│ - Update version in package.json │
|
|
428
332
|
└─────────────────┬────────────────────────────────┘
|
|
429
333
|
↓
|
|
430
334
|
┌──────────────────────────────────────────────────┐
|
|
431
335
|
│ 2. Beta Testing │
|
|
432
336
|
│ Local: sh publish.sh beta │
|
|
433
337
|
│ CI: git commit -m "feat: xxx [ci build]" │
|
|
434
|
-
│ Tag: alpha (specific) or beta (normal) │
|
|
435
338
|
└─────────────────┬────────────────────────────────┘
|
|
436
339
|
↓
|
|
437
340
|
┌──────────────────────────────────────────────────┐
|
|
438
341
|
│ 3. Team Testing │
|
|
439
342
|
│ npm install @momo-kits/native-kits@beta │
|
|
440
|
-
│ npm install @momo-kits/native-kits@alpha │
|
|
441
343
|
└─────────────────┬────────────────────────────────┘
|
|
442
|
-
|
|
344
|
+
↓
|
|
443
345
|
┌──────┴──────┐
|
|
444
346
|
│ Approved? │
|
|
445
347
|
└──────┬───────┘
|
|
@@ -449,7 +351,6 @@ npm install @momo-kits/native-kits@0.156.3
|
|
|
449
351
|
│ 4. Release Production │
|
|
450
352
|
│ Local: sh publish.sh release │
|
|
451
353
|
│ CI: merge to main │
|
|
452
|
-
│ Reads from npm@latest, auto-increment │
|
|
453
354
|
└─────────────────┬────────────────────────────────┘
|
|
454
355
|
↓
|
|
455
356
|
┌──────────────────────────────────────────────────┐
|
|
@@ -462,38 +363,31 @@ npm install @momo-kits/native-kits@0.156.3
|
|
|
462
363
|
|
|
463
364
|
## ⚠️ Lưu Ý Quan Trọng
|
|
464
365
|
|
|
465
|
-
### 1.
|
|
466
|
-
|
|
467
|
-
**Beta Mode:**
|
|
468
|
-
- Specific version: Phải unique, fail nếu tồn tại
|
|
469
|
-
- Normal version: Auto-increment, không cần lo
|
|
470
|
-
- Version trong `package.json` được sử dụng
|
|
471
|
-
|
|
472
|
-
**Release Mode:**
|
|
473
|
-
- ⚠️ **KHÔNG đọc từ `package.json`**
|
|
474
|
-
- ✅ **Đọc từ `npm@latest`**
|
|
475
|
-
- Auto-increment patch version
|
|
476
|
-
- `package.json` được UPDATE với version mới
|
|
366
|
+
### 1. Publishing Order
|
|
477
367
|
|
|
478
|
-
|
|
368
|
+
**NPM publish theo thứ tự:**
|
|
369
|
+
1. ✅ Debug version (`X.Y.Z-debug`) - FIRST
|
|
370
|
+
2. ✅ Normal version (`X.Y.Z`) - SECOND
|
|
479
371
|
|
|
480
|
-
**
|
|
481
|
-
```bash
|
|
482
|
-
npm install @momo-kits/native-kits@alpha # Specific versions
|
|
483
|
-
npm install @momo-kits/native-kits@beta # Normal beta versions
|
|
484
|
-
npm install @momo-kits/native-kits@latest # Release versions
|
|
485
|
-
```
|
|
372
|
+
**Lý do:** Đảm bảo debug version luôn available trước
|
|
486
373
|
|
|
487
|
-
###
|
|
374
|
+
### 2. Version Format
|
|
488
375
|
|
|
489
|
-
**
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
376
|
+
**Beta Mode:**
|
|
377
|
+
- Giữ nguyên format trong `package.json`
|
|
378
|
+
- Fail nếu đã tồn tại trên npm
|
|
379
|
+
- ⚠️ Developer phải tự quản lý version
|
|
493
380
|
|
|
494
|
-
**
|
|
381
|
+
**Release Mode:**
|
|
382
|
+
- Auto-convert sang `-beta.*` format:
|
|
383
|
+
- `0.156.1-test.5` → `0.156.1-beta.1`
|
|
384
|
+
- `0.156.1-alpha.2` → `0.156.1-beta.1`
|
|
385
|
+
- `0.156.1-rc.3` → `0.156.1-beta.1`
|
|
386
|
+
- Auto-increment nếu tồn tại:
|
|
387
|
+
- Beta: `-beta.5` → `-beta.6`
|
|
388
|
+
- Regular: `1.0.0` → `1.0.1`
|
|
495
389
|
|
|
496
|
-
###
|
|
390
|
+
### 3. File Modifications
|
|
497
391
|
|
|
498
392
|
Script tạm thời modify các file (restore sau publish):
|
|
499
393
|
- `package.json` (version)
|
|
@@ -501,74 +395,93 @@ Script tạm thời modify các file (restore sau publish):
|
|
|
501
395
|
- `.npmignore` (cho debug version)
|
|
502
396
|
- `compose/build.gradle.kts` (cho debug version)
|
|
503
397
|
|
|
398
|
+
### 4. NPM Permissions
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
# Check account hiện tại
|
|
402
|
+
npm whoami
|
|
403
|
+
|
|
404
|
+
# Login nếu cần
|
|
405
|
+
npm login
|
|
406
|
+
|
|
407
|
+
# Verify permissions
|
|
408
|
+
npm access ls-packages @momo-kits
|
|
409
|
+
```
|
|
410
|
+
|
|
504
411
|
---
|
|
505
412
|
|
|
506
413
|
## 🐛 Troubleshooting
|
|
507
414
|
|
|
508
|
-
### Lỗi: "
|
|
415
|
+
### Lỗi: "Could not read version from package.json"
|
|
416
|
+
|
|
417
|
+
**Nguyên nhân:** File `package.json` không hợp lệ
|
|
418
|
+
|
|
419
|
+
**Giải pháp:**
|
|
420
|
+
```bash
|
|
421
|
+
# Kiểm tra syntax
|
|
422
|
+
cat package.json | jq .
|
|
423
|
+
|
|
424
|
+
# Kiểm tra version field
|
|
425
|
+
cat package.json | grep version
|
|
426
|
+
```
|
|
509
427
|
|
|
510
|
-
|
|
428
|
+
### Lỗi: "Version already exists on npm" (Beta)
|
|
429
|
+
|
|
430
|
+
**Nguyên nhân:** Version đã được publish
|
|
511
431
|
|
|
512
432
|
**Giải pháp:**
|
|
513
433
|
```bash
|
|
514
434
|
# Option 1: Tăng version thủ công
|
|
515
435
|
vim package.json
|
|
516
|
-
# "version": "0.156.
|
|
436
|
+
# "version": "0.156.1" → "0.156.2"
|
|
517
437
|
|
|
518
|
-
# Option 2:
|
|
519
|
-
|
|
520
|
-
# "version": "0.156.2-test.1" → "0.156.2"
|
|
521
|
-
# Script sẽ auto-format thành 0.156.2-beta.1
|
|
438
|
+
# Option 2: Sử dụng release mode (auto-increment)
|
|
439
|
+
sh publish.sh release
|
|
522
440
|
```
|
|
523
441
|
|
|
524
|
-
### Lỗi: "
|
|
442
|
+
### Lỗi: "Permission denied"
|
|
525
443
|
|
|
526
|
-
**Nguyên nhân:**
|
|
444
|
+
**Nguyên nhân:** Không có quyền publish package
|
|
527
445
|
|
|
528
446
|
**Giải pháp:**
|
|
529
447
|
```bash
|
|
530
|
-
# Kiểm tra
|
|
531
|
-
npm
|
|
448
|
+
# 1. Kiểm tra account
|
|
449
|
+
npm whoami
|
|
532
450
|
|
|
533
|
-
#
|
|
534
|
-
|
|
535
|
-
```
|
|
451
|
+
# 2. Login với account có quyền
|
|
452
|
+
npm login
|
|
536
453
|
|
|
537
|
-
|
|
454
|
+
# 3. Liên hệ admin để cấp quyền
|
|
455
|
+
```
|
|
538
456
|
|
|
539
|
-
|
|
540
|
-
- ✅ Commit message có `[ci build]`
|
|
541
|
-
- ✅ Branch KHÔNG phải `main`
|
|
542
|
-
- ✅ Branch KHÔNG match `engine/w*`
|
|
457
|
+
### Script không chạy trên GitLab CI
|
|
543
458
|
|
|
544
|
-
|
|
459
|
+
**Beta không trigger:**
|
|
460
|
+
- ✅ Check commit message có `[ci build]`
|
|
461
|
+
- ✅ Check branch không match `engine/w*`
|
|
545
462
|
|
|
546
|
-
**
|
|
547
|
-
- ✅
|
|
548
|
-
- ✅ GitLab CI settings
|
|
463
|
+
**Release không trigger:**
|
|
464
|
+
- ✅ Check đang push vào `main` branch
|
|
465
|
+
- ✅ Check GitLab CI settings
|
|
549
466
|
|
|
550
467
|
---
|
|
551
468
|
|
|
552
469
|
## 📦 Sử Dụng Packages
|
|
553
470
|
|
|
554
|
-
### Cài Đặt Beta
|
|
471
|
+
### Cài Đặt Beta Version
|
|
555
472
|
|
|
556
473
|
```bash
|
|
557
|
-
# Latest
|
|
558
|
-
npm install @momo-kits/native-kits@alpha
|
|
559
|
-
|
|
560
|
-
# Latest beta (normal versions)
|
|
474
|
+
# Latest beta
|
|
561
475
|
npm install @momo-kits/native-kits@beta
|
|
562
476
|
|
|
563
|
-
# Specific version
|
|
564
|
-
npm install @momo-kits/native-kits@0.156.2
|
|
565
|
-
npm install @momo-kits/native-kits@0.156.2-test.1
|
|
477
|
+
# Specific beta version
|
|
478
|
+
npm install @momo-kits/native-kits@0.156.2
|
|
566
479
|
|
|
567
480
|
# Debug version (with compose)
|
|
568
|
-
npm install @momo-kits/native-kits@0.156.2-
|
|
481
|
+
npm install @momo-kits/native-kits@0.156.2-debug
|
|
569
482
|
```
|
|
570
483
|
|
|
571
|
-
### Cài Đặt Release
|
|
484
|
+
### Cài Đặt Release Version
|
|
572
485
|
|
|
573
486
|
```bash
|
|
574
487
|
# Latest release
|
|
@@ -577,41 +490,28 @@ npm install @momo-kits/native-kits@latest
|
|
|
577
490
|
npm install @momo-kits/native-kits
|
|
578
491
|
|
|
579
492
|
# Specific release version
|
|
580
|
-
npm install @momo-kits/native-kits@0.156.
|
|
493
|
+
npm install @momo-kits/native-kits@0.156.1-beta.2
|
|
581
494
|
```
|
|
582
495
|
|
|
583
496
|
---
|
|
584
497
|
|
|
585
498
|
## 🎓 Best Practices
|
|
586
499
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
- Dùng cho testing features cụ thể
|
|
591
|
-
- Phải unique, không duplicate
|
|
592
|
-
- Ví dụ: `0.156.2-hotfix.1`, `0.156.2-experiment.1`
|
|
500
|
+
1. **Development:**
|
|
501
|
+
- Luôn test với beta trước khi release
|
|
502
|
+
- Dùng version có ý nghĩa (semantic versioning)
|
|
593
503
|
|
|
594
|
-
**
|
|
595
|
-
-
|
|
596
|
-
-
|
|
597
|
-
- Ví dụ: `0.156.2`, `0.156.2-beta.1`
|
|
504
|
+
2. **Beta Testing:**
|
|
505
|
+
- Update version mỗi lần publish beta
|
|
506
|
+
- Kiểm tra version trước khi commit
|
|
598
507
|
|
|
599
|
-
|
|
508
|
+
3. **Release:**
|
|
509
|
+
- Chỉ release từ nhánh `main`
|
|
510
|
+
- Đảm bảo tất cả tests pass
|
|
600
511
|
|
|
601
|
-
|
|
602
|
-
-
|
|
603
|
-
-
|
|
604
|
-
|
|
605
|
-
### 3. Version Naming
|
|
606
|
-
|
|
607
|
-
**Good:**
|
|
608
|
-
- `0.156.2-test.1` (specific, clear purpose)
|
|
609
|
-
- `0.156.2-beta.1` (normal, standard format)
|
|
610
|
-
- `0.156.2` (normal, will auto-format)
|
|
611
|
-
|
|
612
|
-
**Avoid:**
|
|
613
|
-
- `0.156.2-beta-test.1` (confusing)
|
|
614
|
-
- `0.156.2-v1` (unclear)
|
|
512
|
+
4. **Version Management:**
|
|
513
|
+
- Beta: Tự quản lý version, tăng thủ công
|
|
514
|
+
- Release: Để script auto-increment
|
|
615
515
|
|
|
616
516
|
---
|
|
617
517
|
|
|
@@ -624,52 +524,21 @@ Nếu có vấn đề, liên hệ team hoặc tạo issue trên GitLab.
|
|
|
624
524
|
## 🔗 Quick Reference
|
|
625
525
|
|
|
626
526
|
```bash
|
|
627
|
-
# Beta - Local
|
|
628
|
-
|
|
629
|
-
sh publish.sh beta
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
sh publish.sh release
|
|
637
|
-
|
|
638
|
-
# Individual phases
|
|
639
|
-
sh publish.sh beta check # Phase 1
|
|
640
|
-
sh publish.sh beta maven # Phase 2
|
|
641
|
-
sh publish.sh beta npm # Phase 3
|
|
527
|
+
# Beta - Local
|
|
528
|
+
sh publish.sh beta # All phases
|
|
529
|
+
sh publish.sh beta check # Check only
|
|
530
|
+
sh publish.sh beta npm # NPM only
|
|
531
|
+
sh publish.sh beta maven # Maven only
|
|
532
|
+
|
|
533
|
+
# Release - Local
|
|
534
|
+
sh publish.sh release # All phases
|
|
535
|
+
sh publish.sh release check # Check only
|
|
536
|
+
sh publish.sh release npm # NPM only
|
|
537
|
+
sh publish.sh release maven # Maven only
|
|
642
538
|
|
|
643
539
|
# Beta - CI
|
|
644
|
-
git commit -m "feat: xxx [ci build]" # Trigger beta
|
|
540
|
+
git commit -m "feat: xxx [ci build]" # Trigger beta
|
|
645
541
|
|
|
646
542
|
# Release - CI
|
|
647
543
|
git push origin main # Trigger release
|
|
648
544
|
```
|
|
649
|
-
|
|
650
|
-
---
|
|
651
|
-
|
|
652
|
-
## 📋 Version Type Decision Tree
|
|
653
|
-
|
|
654
|
-
```
|
|
655
|
-
Start: Publish Beta
|
|
656
|
-
↓
|
|
657
|
-
Check version in package.json
|
|
658
|
-
↓
|
|
659
|
-
Has suffix? (contains "-")
|
|
660
|
-
├─ No → Normal Version
|
|
661
|
-
│ ├─ Auto-add: 0.156.2 → 0.156.2-beta.1
|
|
662
|
-
│ ├─ Tag: beta
|
|
663
|
-
│ └─ Auto-increment if exists
|
|
664
|
-
│
|
|
665
|
-
└─ Yes → Check suffix type
|
|
666
|
-
├─ Contains "beta" → Normal Version
|
|
667
|
-
│ ├─ Keep format: 0.156.2-beta.1
|
|
668
|
-
│ ├─ Tag: beta
|
|
669
|
-
│ └─ Auto-increment if exists
|
|
670
|
-
│
|
|
671
|
-
└─ Other suffix → Specific Version
|
|
672
|
-
├─ Keep format: 0.156.2-test.1
|
|
673
|
-
├─ Tag: alpha
|
|
674
|
-
└─ FAIL if exists
|
|
675
|
-
```
|