@momo-kits/native-kits 0.156.1-test.9-debug → 0.156.1-tracking.2-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.
Files changed (26) hide show
  1. package/PUBLISH_GUIDE.md +410 -184
  2. package/compose/build.gradle.kts +1 -1
  3. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +1 -0
  4. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +2 -3
  5. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +46 -7
  6. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +57 -1
  7. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +218 -0
  8. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme +32 -0
  9. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  10. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  11. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/WorkspaceSettings.xcsettings +16 -0
  12. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +6 -0
  13. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
  14. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +58 -0
  15. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Pods-Example.xcscheme +58 -0
  16. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImage.xcscheme +58 -0
  17. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +58 -0
  18. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SkeletonUI.xcscheme +58 -0
  19. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +58 -0
  20. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios.xcscheme +58 -0
  21. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +60 -0
  22. package/gradle.properties +1 -1
  23. package/local.properties +2 -2
  24. package/package.json +1 -1
  25. package/{publish_release.sh → publish.sh} +195 -128
  26. package/publish_beta.sh +0 -275
package/publish_beta.sh DELETED
@@ -1,275 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e # Exit on error
4
-
5
- # ============================================================================
6
- # PUBLISH BETA SCRIPT WITH MULTIPLE PHASES
7
- # ============================================================================
8
- # Usage:
9
- # sh publish_beta.sh # Run all phases
10
- # sh publish_beta.sh check # Phase 1: Check and update version
11
- # sh publish_beta.sh npm # Phase 2: Publish to NPM
12
- # sh publish_beta.sh maven # Phase 3: Publish to Maven
13
- # ============================================================================
14
-
15
- PHASE="${1:-all}"
16
-
17
- # ============================================================================
18
- # PHASE 1: CHECK AND UPDATE VERSION
19
- # ============================================================================
20
- phase_check_version() {
21
- echo ""
22
- echo "==============================================="
23
- echo "📋 PHASE 1: CHECK AND UPDATE VERSION"
24
- echo "==============================================="
25
-
26
- echo "🔍 Reading version from local package.json..."
27
-
28
- # Get the version from local package.json
29
- VERSION=$(node -p "require('./package.json').version")
30
-
31
- if [ -z "$VERSION" ]; then
32
- echo "❌ Error: Could not read version from package.json"
33
- exit 1
34
- fi
35
-
36
- echo "📦 Version from package.json: $VERSION"
37
-
38
- # Check if this version already exists on npm
39
- PACKAGE_NAME=$(node -p "require('./package.json').name")
40
- echo "🔎 Checking if version $VERSION already exists on npm for package $PACKAGE_NAME..."
41
-
42
- NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
43
-
44
- if [ -n "$NPM_VERSION_INFO" ]; then
45
- echo ""
46
- echo "❌ ERROR: Version $VERSION already exists on npm!"
47
- echo ""
48
- echo "Please update the version in package.json before publishing."
49
- echo "You can increment the version manually, for example:"
50
- echo " - Current: $VERSION"
51
- echo " - Suggested: Increment patch, minor, or major version"
52
- echo ""
53
- exit 1
54
- fi
55
-
56
- echo "✅ Version $VERSION does not exist on npm. Safe to publish."
57
-
58
- # Update gradle.properties with the same version
59
- echo "📝 Updating gradle.properties..."
60
- # Get current gradle version
61
- CURRENT_GRADLE_VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | tr -d '"')
62
-
63
- # Update version in gradle.properties using sed
64
- if [[ "$OSTYPE" == "darwin"* ]]; then
65
- # macOS
66
- sed -i '' "s/^version=.*/version=$VERSION/" gradle.properties
67
- else
68
- # Linux
69
- sed -i "s/^version=.*/version=$VERSION/" gradle.properties
70
- fi
71
-
72
- echo " Gradle version updated: $CURRENT_GRADLE_VERSION → $VERSION"
73
-
74
- export VERSION="$VERSION"
75
-
76
- echo "✅ Using version: $VERSION"
77
- echo "✅ PHASE 1 COMPLETED"
78
- echo ""
79
- }
80
-
81
- # ============================================================================
82
- # PHASE 2: PUBLISH TO NPM
83
- # ============================================================================
84
- phase_publish_npm() {
85
- echo ""
86
- echo "==============================================="
87
- echo "📦 PHASE 2: PUBLISH TO NPM"
88
- echo "==============================================="
89
-
90
- # Get version from package.json
91
- VERSION=$(node -p "require('./package.json').version")
92
- export VERSION="$VERSION"
93
-
94
- echo "📦 Publishing version: $VERSION"
95
-
96
- ./gradlew clean
97
-
98
- # First publish: normal version (compose/ is excluded via .npmignore)
99
- echo "📤 Publishing normal version (without compose)..."
100
- npm publish --tag beta --access=public
101
-
102
- echo "✅ Normal version published successfully!"
103
-
104
- # Second publish: debug version with compose kits included
105
- echo ""
106
- echo "🔧 Preparing debug version with compose kits..."
107
-
108
- # Create debug version
109
- DEBUG_VERSION="${VERSION}-debug"
110
- echo "📦 Debug version: $DEBUG_VERSION"
111
-
112
- # Update package.json version to debug version
113
- if [[ "$OSTYPE" == "darwin"* ]]; then
114
- # macOS
115
- sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
116
- else
117
- # Linux
118
- sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
119
- fi
120
-
121
- # Backup compose/build.gradle.kts
122
- echo "📦 Backing up compose/build.gradle.kts..."
123
- cp compose/build.gradle.kts compose/build.gradle.kts.backup
124
-
125
- # Comment out maven publish in compose/build.gradle.kts
126
- echo "💬 Commenting out maven publish in compose/build.gradle.kts..."
127
- if [[ "$OSTYPE" == "darwin"* ]]; then
128
- # macOS - Comment out imports
129
- sed -i '' 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
130
- sed -i '' 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
131
- # Comment out plugin
132
- sed -i '' 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
133
- # Comment out publishing block
134
- sed -i '' '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
135
- # Comment out entire mavenPublishing block (lines starting from mavenPublishing { to its closing })
136
- sed -i '' '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
137
- else
138
- # Linux - Comment out imports
139
- sed -i 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
140
- sed -i 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
141
- # Comment out plugin
142
- sed -i 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
143
- # Comment out publishing block
144
- sed -i '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
145
- # Comment out entire mavenPublishing block
146
- sed -i '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
147
- fi
148
-
149
- # Modify android configuration for debug version
150
- echo "🔧 Modifying android configuration for debug version..."
151
- if [[ "$OSTYPE" == "darwin"* ]]; then
152
- # macOS
153
- sed -i '' 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
154
- sed -i '' 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
155
- sed -i '' 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
156
- sed -i '' "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
157
- else
158
- # Linux
159
- sed -i 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
160
- sed -i 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
161
- sed -i 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
162
- sed -i "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
163
- fi
164
-
165
- # Backup .npmignore
166
- cp .npmignore .npmignore.backup
167
-
168
- # Create minimal .npmignore for debug version (only exclude build artifacts and IDE configs)
169
- cat > .npmignore << 'EOF'
170
- sample/
171
- build/
172
-
173
- .fleet
174
- .gradle
175
- .idea
176
- .kotlin
177
- .run
178
-
179
- .gitattributes
180
- .gitlab-ci.yml
181
- .npmignore.backup
182
- EOF
183
-
184
- echo "📤 Publishing debug version (with compose)..."
185
- npm publish --tag beta --access=public
186
-
187
- # Restore .npmignore
188
- mv .npmignore.backup .npmignore
189
- echo "✅ .npmignore restored"
190
-
191
- # Restore compose/build.gradle.kts
192
- mv compose/build.gradle.kts.backup compose/build.gradle.kts
193
- echo "✅ compose/build.gradle.kts restored"
194
-
195
- # Restore package.json version to original
196
- if [[ "$OSTYPE" == "darwin"* ]]; then
197
- # macOS
198
- sed -i '' "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
199
- else
200
- # Linux
201
- sed -i "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
202
- fi
203
-
204
- echo "✅ package.json version restored"
205
-
206
- echo ""
207
- echo "✅ PHASE 2 COMPLETED"
208
- echo " 📦 Normal version: $VERSION (without compose)"
209
- echo " 🐛 Debug version: $DEBUG_VERSION (with compose)"
210
- echo ""
211
- }
212
-
213
- # ============================================================================
214
- # PHASE 3: PUBLISH TO MAVEN
215
- # ============================================================================
216
- phase_publish_maven() {
217
- echo ""
218
- echo "==============================================="
219
- echo "🔧 PHASE 3: PUBLISH TO MAVEN"
220
- echo "==============================================="
221
-
222
- # Get version from package.json
223
- VERSION=$(node -p "require('./package.json').version")
224
- export VERSION="$VERSION"
225
-
226
- echo "📦 Publishing KMP artifacts to Maven (version ${VERSION})..."
227
-
228
- ./gradlew :compose:publishAllPublicationsToGitLabPackagesRepository
229
-
230
- echo "✅ Maven publishing completed successfully!"
231
- echo "✅ PHASE 3 COMPLETED"
232
- echo ""
233
- }
234
-
235
- # ============================================================================
236
- # MAIN EXECUTION
237
- # ============================================================================
238
-
239
- echo ""
240
- echo "🚀 PUBLISH BETA SCRIPT"
241
- echo "================================================="
242
-
243
- case "$PHASE" in
244
- "check")
245
- echo "Running PHASE 1 only: Check and update version"
246
- phase_check_version
247
- ;;
248
- "npm")
249
- echo "Running PHASE 2 only: Publish to NPM"
250
- phase_publish_npm
251
- ;;
252
- "maven")
253
- echo "Running PHASE 3 only: Publish to Maven"
254
- phase_publish_maven
255
- ;;
256
- "all")
257
- echo "Running ALL PHASES"
258
- phase_check_version
259
- phase_publish_npm
260
- phase_publish_maven
261
- echo ""
262
- echo "🎉 ALL PHASES COMPLETED SUCCESSFULLY!"
263
- echo "================================================="
264
- ;;
265
- *)
266
- echo "❌ Error: Invalid phase '$PHASE'"
267
- echo ""
268
- echo "Usage:"
269
- echo " sh publish_beta.sh # Run all phases"
270
- echo " sh publish_beta.sh check # Phase 1: Check and update version"
271
- echo " sh publish_beta.sh npm # Phase 2: Publish to NPM"
272
- echo " sh publish_beta.sh maven # Phase 3: Publish to Maven"
273
- exit 1
274
- ;;
275
- esac