@momo-kits/native-kits 0.156.1-test.10 → 0.156.1-test.11-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 (117) hide show
  1. package/build.gradle.kts +11 -0
  2. package/compose/build.gradle.kts +180 -0
  3. package/compose/build.gradle.kts.backup +180 -0
  4. package/compose/compose.podspec +54 -0
  5. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +113 -0
  6. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  7. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  8. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  9. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  10. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  11. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  12. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  13. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  14. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  15. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  16. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  17. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  18. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  19. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  20. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
  21. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +95 -0
  22. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
  23. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
  24. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +715 -0
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +83 -0
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +348 -0
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +447 -0
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +244 -0
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +234 -0
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +189 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +59 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +239 -0
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +119 -0
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +98 -0
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +163 -0
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +331 -0
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +497 -0
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +226 -0
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +274 -0
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +31 -0
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +42 -0
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
  106. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +152 -0
  107. package/gradle/libs.versions.toml +57 -0
  108. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  109. package/gradle/wrapper/gradle-wrapper.properties +8 -0
  110. package/gradle.properties +26 -0
  111. package/gradlew +252 -0
  112. package/gradlew.bat +94 -0
  113. package/local.properties +8 -0
  114. package/package.json +1 -1
  115. package/publish.sh +16 -9
  116. package/settings.gradle.kts +52 -0
  117. package/publish_beta.sh +0 -275
package/gradlew.bat ADDED
@@ -0,0 +1,94 @@
1
+ @rem
2
+ @rem Copyright 2015 the original author or authors.
3
+ @rem
4
+ @rem Licensed under the Apache License, Version 2.0 (the "License");
5
+ @rem you may not use this file except in compliance with the License.
6
+ @rem You may obtain a copy of the License at
7
+ @rem
8
+ @rem https://www.apache.org/licenses/LICENSE-2.0
9
+ @rem
10
+ @rem Unless required by applicable law or agreed to in writing, software
11
+ @rem distributed under the License is distributed on an "AS IS" BASIS,
12
+ @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ @rem See the License for the specific language governing permissions and
14
+ @rem limitations under the License.
15
+ @rem
16
+ @rem SPDX-License-Identifier: Apache-2.0
17
+ @rem
18
+
19
+ @if "%DEBUG%"=="" @echo off
20
+ @rem ##########################################################################
21
+ @rem
22
+ @rem Gradle startup script for Windows
23
+ @rem
24
+ @rem ##########################################################################
25
+
26
+ @rem Set local scope for the variables with windows NT shell
27
+ if "%OS%"=="Windows_NT" setlocal
28
+
29
+ set DIRNAME=%~dp0
30
+ if "%DIRNAME%"=="" set DIRNAME=.
31
+ @rem This is normally unused
32
+ set APP_BASE_NAME=%~n0
33
+ set APP_HOME=%DIRNAME%
34
+
35
+ @rem Resolve any "." and ".." in APP_HOME to make it shorter.
36
+ for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
37
+
38
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
39
+ set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
40
+
41
+ @rem Find java.exe
42
+ if defined JAVA_HOME goto findJavaFromJavaHome
43
+
44
+ set JAVA_EXE=java.exe
45
+ %JAVA_EXE% -version >NUL 2>&1
46
+ if %ERRORLEVEL% equ 0 goto execute
47
+
48
+ echo. 1>&2
49
+ echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50
+ echo. 1>&2
51
+ echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52
+ echo location of your Java installation. 1>&2
53
+
54
+ goto fail
55
+
56
+ :findJavaFromJavaHome
57
+ set JAVA_HOME=%JAVA_HOME:"=%
58
+ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
59
+
60
+ if exist "%JAVA_EXE%" goto execute
61
+
62
+ echo. 1>&2
63
+ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64
+ echo. 1>&2
65
+ echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66
+ echo location of your Java installation. 1>&2
67
+
68
+ goto fail
69
+
70
+ :execute
71
+ @rem Setup the command line
72
+
73
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74
+
75
+
76
+ @rem Execute Gradle
77
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
78
+
79
+ :end
80
+ @rem End local scope for the variables with windows NT shell
81
+ if %ERRORLEVEL% equ 0 goto mainEnd
82
+
83
+ :fail
84
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
85
+ rem the _cmd.exe /c_ return code!
86
+ set EXIT_CODE=%ERRORLEVEL%
87
+ if %EXIT_CODE% equ 0 set EXIT_CODE=1
88
+ if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
89
+ exit /b %EXIT_CODE%
90
+
91
+ :mainEnd
92
+ if "%OS%"=="Windows_NT" endlocal
93
+
94
+ :omega
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Mon Dec 22 10:07:29 ICT 2025
8
+ sdk.dir=/Users/phuc/Library/Android/sdk
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/native-kits",
3
- "version": "0.156.1-test.10",
3
+ "version": "0.156.1-test.11-debug",
4
4
  "private": false,
5
5
  "dependencies": {},
6
6
  "devDependencies": {},
package/publish.sh CHANGED
@@ -213,13 +213,9 @@ phase_publish_npm() {
213
213
 
214
214
  ./gradlew clean
215
215
 
216
- # First publish: normal version (compose/ is excluded via .npmignore)
217
- echo "📤 Publishing normal version (without compose)..."
218
- npm publish --tag $NPM_TAG --access=public
219
-
220
- echo "✅ Normal version published successfully!"
221
-
222
- # Second publish: debug version with compose kits included
216
+ # ============================================================
217
+ # FIRST PUBLISH: DEBUG VERSION (with compose kits included)
218
+ # ============================================================
223
219
  echo ""
224
220
  echo "🔧 Preparing debug version with compose kits..."
225
221
 
@@ -302,6 +298,8 @@ EOF
302
298
  echo "📤 Publishing debug version (with compose)..."
303
299
  npm publish --tag $NPM_TAG --access=public
304
300
 
301
+ echo "✅ Debug version published successfully!"
302
+
305
303
  # Restore .npmignore
306
304
  mv .npmignore.backup .npmignore
307
305
  echo "✅ .npmignore restored"
@@ -321,10 +319,19 @@ EOF
321
319
 
322
320
  echo "✅ package.json version restored"
323
321
 
322
+ # ============================================================
323
+ # SECOND PUBLISH: NORMAL VERSION (without compose)
324
+ # ============================================================
325
+ echo ""
326
+ echo "📤 Publishing normal version (without compose)..."
327
+ npm publish --tag $NPM_TAG --access=public
328
+
329
+ echo "✅ Normal version published successfully!"
330
+
324
331
  echo ""
325
332
  echo "✅ PHASE 2 COMPLETED"
326
- echo " 📦 Normal version: $VERSION (without compose)"
327
- echo " 🐛 Debug version: $DEBUG_VERSION (with compose)"
333
+ echo " 🐛 Debug version: $DEBUG_VERSION (with compose) - Published first"
334
+ echo " 📦 Normal version: $VERSION (without compose) - Published second"
328
335
  echo " 🏷️ NPM Tag: $NPM_TAG"
329
336
  echo ""
330
337
  }
@@ -0,0 +1,52 @@
1
+ import org.gradle.kotlin.dsl.maven
2
+
3
+ rootProject.name = "momo-native-kits"
4
+ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
5
+
6
+ pluginManagement {
7
+ repositories {
8
+ google {
9
+ mavenContent {
10
+ includeGroupAndSubgroups("androidx")
11
+ includeGroupAndSubgroups("com.android")
12
+ includeGroupAndSubgroups("com.google")
13
+ }
14
+ }
15
+ mavenCentral()
16
+ gradlePluginPortal()
17
+ maven {
18
+ url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
19
+ credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
20
+ }
21
+ maven {
22
+ url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
23
+ isAllowInsecureProtocol = true
24
+ }
25
+ }
26
+ }
27
+
28
+ dependencyResolutionManagement {
29
+ repositories {
30
+ google {
31
+ mavenContent {
32
+ includeGroupAndSubgroups("androidx")
33
+ includeGroupAndSubgroups("com.android")
34
+ includeGroupAndSubgroups("com.google")
35
+ }
36
+ }
37
+ mavenCentral()
38
+ maven {
39
+ url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
40
+ credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
41
+ }
42
+ maven {
43
+ url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
44
+ isAllowInsecureProtocol = true
45
+ }
46
+ }
47
+ }
48
+
49
+ include(":compose")
50
+
51
+ include(":sample:androidApp")
52
+ include(":sample:shared")
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