From 8742bc77ef5107d307170b3f4d48f38f644479e1 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sun, 1 Feb 2026 14:20:47 +0200 Subject: [PATCH 1/9] Monorepo - lib to uilib-native --- packages/react-native-ui-lib/package.json | 2 +- .../scripts/build/build.js | 2 +- {lib => packages/uilib-native}/.npmignore | 0 .../uilib-native}/ReactNativeUiLib.podspec | 0 .../uilib-native}/android/build.gradle | 0 .../android/src/main/AndroidManifest.xml | 0 .../reactnativeuilib/UiLibPackageList.java | 0 .../dynamicfont/DynamicFontModule.java | 0 .../dynamicfont/DynamicFontPackage.java | 0 .../highlighterview/HighlightFrame.java | 0 .../HighlightViewTagParams.java | 0 .../highlighterview/HighlighterView.java | 0 .../HighlighterViewManager.java | 0 .../HighlighterViewPackage.java | 0 .../highlighterview/UiUtils.java | 0 .../keyboardinput/AppContextHolder.java | 0 .../keyboardinput/CustomKeyboardLayout.java | 0 .../keyboardinput/CustomKeyboardRootView.java | 0 .../CustomKeyboardRootViewManager.java | 0 .../CustomKeyboardRootViewShadow.java | 0 .../keyboardinput/KeyboardInputModule.java | 0 .../keyboardinput/KeyboardInputPackage.java | 0 .../keyboardinput/ReactContextHolder.java | 0 .../keyboardinput/ReactScreenMonitor.java | 0 .../ReactSoftKeyboardMonitor.java | 0 .../keyboardinput/utils/PredicateFunc.java | 0 .../keyboardinput/utils/RuntimeUtils.java | 0 .../keyboardinput/utils/ViewUtils.java | 0 .../reactnativeuilib/utils/LogForwarder.java | 0 .../src/main/res/layout/wheel_picker.xml | 0 .../android/src/main/res/values/colors.xml | 0 .../android/src/main/res/values/styles.xml | 0 .../components/DynamicFonts/FontDownloader.ts | 0 .../components/DynamicFonts/FontLoader.ts | 0 .../DynamicFonts/NoPermissionsAcquirer.ts | 0 .../PermissionsAcquirer.android.ts | 0 .../DynamicFonts/PermissionsAcquirer.ios.ts | 0 .../DynamicFonts/PermissionsAcquirer.web.ts | 0 .../components/DynamicFonts/RNFSPackage.ts | 0 .../components/DynamicFonts/index.ts | 0 .../HighlighterOverlayView/index.tsx | 0 .../HighlighterOverlayView/index.web.tsx | 0 .../CustomKeyboardView.android.tsx | 0 .../CustomKeyboardView.ios.tsx | 0 .../CustomKeyboardViewBase.tsx | 0 .../CustomKeyboardView/index.tsx | 0 .../CustomKeyboardView/index.web.tsx | 0 .../__tests__/EventEmitterManager.spec.js | 0 .../EventEmitterManager/index.ts | 0 .../__tests__/KeyboardRegistry.spec.js | 0 .../KeyboardRegistry/index.ts | 6 +++++- .../keyboardRegistry.api.json | 0 .../KeyboardUtils/index.ts | 0 .../TextInputKeyboardManager.android.ts | 0 .../TextInputKeyboardManager.ios.ts | 0 .../TextInputKeyboardManager/index.ts | 0 .../Keyboard/KeyboardAccessoryView/index.tsx | 0 .../keyboardAccessoryView.api.json | 0 .../KeyboardAwareInsetsView/index.tsx | 0 .../keyboardAwareInsetsView.api.json | 0 .../KeyboardTrackingView.android.tsx | 0 .../KeyboardTrackingView.ios.tsx | 0 .../Keyboard/KeyboardTrackingView/index.tsx | 0 .../KeyboardTrackingView/index.web.tsx | 0 .../keyboardTrackingView.api.json | 0 .../components/Keyboard/index.ts | 0 .../SafeArea/SafeAreaInsetsManager.ts | 0 .../SafeArea/SafeAreaSpacerView.tsx | 0 .../SafeArea/SafeAreaSpacerView.web.tsx | 0 .../__tests__/SafeAreaInsetsManager.spec.js | 0 .../components/SafeArea/index.tsx | 0 .../uilib-native}/components/index.ts | 0 .../project.pbxproj | 0 .../dynamicfont/DynamicFont.h | 0 .../dynamicfont/DynamicFont.m | 0 .../highlighterview/HighlighterView.h | 0 .../highlighterview/HighlighterView.m | 0 .../highlighterview/HighlighterViewManager.h | 0 .../highlighterview/HighlighterViewManager.m | 0 .../lninterpolation/Color+Interpolation.h | 0 .../lninterpolation/Color+Interpolation.m | 0 .../lninterpolation/LNAnimatorTemp.h | 0 .../lninterpolation/LNAnimatorTemp.m | 0 .../lninterpolation/LNInterpolable.h | 0 .../lninterpolation/LNInterpolable.m | 0 .../lninterpolation/LNInterpolation.h | 0 .../lninterpolation/NSValue+Interpolation.h | 0 .../lninterpolation/NSValue+Interpolation.mm | 0 .../RCTCustomInputControllerTemp.h | 0 .../RCTCustomInputControllerTemp.m | 0 .../RCTCustomKeyboardViewControllerTemp.h | 0 .../RCTCustomKeyboardViewControllerTemp.m | 0 .../KeyboardTrackingViewTempManager.h | 0 .../KeyboardTrackingViewTempManager.m | 0 .../ObservingInputAccessoryViewTemp.h | 0 .../ObservingInputAccessoryViewTemp.m | 0 .../UIResponder+FirstResponderTemp.h | 0 .../UIResponder+FirstResponderTemp.m | 0 .../safearea/SafeAreaManager.h | 0 .../safearea/SafeAreaManager.m | 0 .../safearea/SafeAreaSpacerShadowView.h | 0 .../safearea/SafeAreaSpacerShadowView.m | 0 .../safearea/SafeAreaSpacerView.h | 0 .../safearea/SafeAreaSpacerView.m | 0 .../safearea/SafeAreaSpacerViewLocalData.h | 0 .../safearea/SafeAreaSpacerViewLocalData.m | 0 .../safearea/SafeAreaSpacerViewManager.h | 0 .../safearea/SafeAreaSpacerViewManager.m | 0 {lib => packages/uilib-native}/package.json | 0 .../uilib-native}/react-native.config.js | 2 +- {lib => packages/uilib-native}/scripts/.npmrc | 0 .../uilib-native}/scripts/releaseNative.js | 0 .../specs/HighlighterViewNativeComponent.ts | 0 .../KeyboardTrackingViewNativeComponent.ts | 0 scripts/docs/buildDocs.js | 2 +- yarn.lock | 21 +++++++++---------- 116 files changed, 19 insertions(+), 16 deletions(-) rename {lib => packages/uilib-native}/.npmignore (100%) rename {lib => packages/uilib-native}/ReactNativeUiLib.podspec (100%) rename {lib => packages/uilib-native}/android/build.gradle (100%) rename {lib => packages/uilib-native}/android/src/main/AndroidManifest.xml (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java (100%) rename {lib => packages/uilib-native}/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java (100%) rename {lib => packages/uilib-native}/android/src/main/res/layout/wheel_picker.xml (100%) rename {lib => packages/uilib-native}/android/src/main/res/values/colors.xml (100%) rename {lib => packages/uilib-native}/android/src/main/res/values/styles.xml (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/FontDownloader.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/FontLoader.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/NoPermissionsAcquirer.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/PermissionsAcquirer.android.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/PermissionsAcquirer.ios.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/PermissionsAcquirer.web.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/RNFSPackage.ts (100%) rename {lib => packages/uilib-native}/components/DynamicFonts/index.ts (100%) rename {lib => packages/uilib-native}/components/HighlighterOverlayView/index.tsx (100%) rename {lib => packages/uilib-native}/components/HighlighterOverlayView/index.web.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/__tests__/EventEmitterManager.spec.js (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.ts (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/__tests__/KeyboardRegistry.spec.js (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts (94%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.ts (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.ts (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.ts (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.ts (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/index.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAwareInsetsView/index.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardTrackingView/index.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardTrackingView/index.web.tsx (100%) rename {lib => packages/uilib-native}/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json (100%) rename {lib => packages/uilib-native}/components/Keyboard/index.ts (100%) rename {lib => packages/uilib-native}/components/SafeArea/SafeAreaInsetsManager.ts (100%) rename {lib => packages/uilib-native}/components/SafeArea/SafeAreaSpacerView.tsx (100%) rename {lib => packages/uilib-native}/components/SafeArea/SafeAreaSpacerView.web.tsx (100%) rename {lib => packages/uilib-native}/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js (100%) rename {lib => packages/uilib-native}/components/SafeArea/index.tsx (100%) rename {lib => packages/uilib-native}/components/index.ts (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib.xcodeproj/project.pbxproj (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/dynamicfont/DynamicFont.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/dynamicfont/DynamicFont.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/highlighterview/HighlighterView.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/highlighterview/HighlighterView.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaManager.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaManager.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h (100%) rename {lib => packages/uilib-native}/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m (100%) rename {lib => packages/uilib-native}/package.json (100%) rename {lib => packages/uilib-native}/react-native.config.js (92%) rename {lib => packages/uilib-native}/scripts/.npmrc (100%) rename {lib => packages/uilib-native}/scripts/releaseNative.js (100%) rename {lib => packages/uilib-native}/specs/HighlighterViewNativeComponent.ts (100%) rename {lib => packages/uilib-native}/specs/KeyboardTrackingViewNativeComponent.ts (100%) diff --git a/packages/react-native-ui-lib/package.json b/packages/react-native-ui-lib/package.json index 462e5cb44c..dc7a6c295a 100644 --- a/packages/react-native-ui-lib/package.json +++ b/packages/react-native-ui-lib/package.json @@ -101,7 +101,7 @@ "setimmediate": "^1.0.5", "shell-utils": "^1.0.10", "typescript": "5.0.4", - "uilib-native": "^5.0.1" + "uilib-native": "workspace:*" }, "peerDependencies": { "react": ">=19.0.0", diff --git a/packages/react-native-ui-lib/scripts/build/build.js b/packages/react-native-ui-lib/scripts/build/build.js index 868281439c..b1cadca331 100644 --- a/packages/react-native-ui-lib/scripts/build/build.js +++ b/packages/react-native-ui-lib/scripts/build/build.js @@ -6,7 +6,7 @@ const BABEL_INDEX_EXPORTS_OPTIONS = `--config-file ./scripts/build/.babelrc.expo console.info('## Start RNUILib Build ##'); console.info('## Copy files from root ##'); -childProcess.execSync('cp -r ../../lib ./lib'); // TODO: pretty sure we don't need this - needs to be tested +childProcess.execSync('cp -r ../uilib-native ./lib'); // TODO: pretty sure we don't need this - needs to be tested childProcess.execSync('cp -r ../../scripts .'); childProcess.execSync('cp ../../README.md ./README.md'); childProcess.execSync('cp ../../LICENSE ./LICENSE'); diff --git a/lib/.npmignore b/packages/uilib-native/.npmignore similarity index 100% rename from lib/.npmignore rename to packages/uilib-native/.npmignore diff --git a/lib/ReactNativeUiLib.podspec b/packages/uilib-native/ReactNativeUiLib.podspec similarity index 100% rename from lib/ReactNativeUiLib.podspec rename to packages/uilib-native/ReactNativeUiLib.podspec diff --git a/lib/android/build.gradle b/packages/uilib-native/android/build.gradle similarity index 100% rename from lib/android/build.gradle rename to packages/uilib-native/android/build.gradle diff --git a/lib/android/src/main/AndroidManifest.xml b/packages/uilib-native/android/src/main/AndroidManifest.xml similarity index 100% rename from lib/android/src/main/AndroidManifest.xml rename to packages/uilib-native/android/src/main/AndroidManifest.xml diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java diff --git a/lib/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java b/packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java similarity index 100% rename from lib/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java rename to packages/uilib-native/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java diff --git a/lib/android/src/main/res/layout/wheel_picker.xml b/packages/uilib-native/android/src/main/res/layout/wheel_picker.xml similarity index 100% rename from lib/android/src/main/res/layout/wheel_picker.xml rename to packages/uilib-native/android/src/main/res/layout/wheel_picker.xml diff --git a/lib/android/src/main/res/values/colors.xml b/packages/uilib-native/android/src/main/res/values/colors.xml similarity index 100% rename from lib/android/src/main/res/values/colors.xml rename to packages/uilib-native/android/src/main/res/values/colors.xml diff --git a/lib/android/src/main/res/values/styles.xml b/packages/uilib-native/android/src/main/res/values/styles.xml similarity index 100% rename from lib/android/src/main/res/values/styles.xml rename to packages/uilib-native/android/src/main/res/values/styles.xml diff --git a/lib/components/DynamicFonts/FontDownloader.ts b/packages/uilib-native/components/DynamicFonts/FontDownloader.ts similarity index 100% rename from lib/components/DynamicFonts/FontDownloader.ts rename to packages/uilib-native/components/DynamicFonts/FontDownloader.ts diff --git a/lib/components/DynamicFonts/FontLoader.ts b/packages/uilib-native/components/DynamicFonts/FontLoader.ts similarity index 100% rename from lib/components/DynamicFonts/FontLoader.ts rename to packages/uilib-native/components/DynamicFonts/FontLoader.ts diff --git a/lib/components/DynamicFonts/NoPermissionsAcquirer.ts b/packages/uilib-native/components/DynamicFonts/NoPermissionsAcquirer.ts similarity index 100% rename from lib/components/DynamicFonts/NoPermissionsAcquirer.ts rename to packages/uilib-native/components/DynamicFonts/NoPermissionsAcquirer.ts diff --git a/lib/components/DynamicFonts/PermissionsAcquirer.android.ts b/packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.android.ts similarity index 100% rename from lib/components/DynamicFonts/PermissionsAcquirer.android.ts rename to packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.android.ts diff --git a/lib/components/DynamicFonts/PermissionsAcquirer.ios.ts b/packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.ios.ts similarity index 100% rename from lib/components/DynamicFonts/PermissionsAcquirer.ios.ts rename to packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.ios.ts diff --git a/lib/components/DynamicFonts/PermissionsAcquirer.web.ts b/packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.web.ts similarity index 100% rename from lib/components/DynamicFonts/PermissionsAcquirer.web.ts rename to packages/uilib-native/components/DynamicFonts/PermissionsAcquirer.web.ts diff --git a/lib/components/DynamicFonts/RNFSPackage.ts b/packages/uilib-native/components/DynamicFonts/RNFSPackage.ts similarity index 100% rename from lib/components/DynamicFonts/RNFSPackage.ts rename to packages/uilib-native/components/DynamicFonts/RNFSPackage.ts diff --git a/lib/components/DynamicFonts/index.ts b/packages/uilib-native/components/DynamicFonts/index.ts similarity index 100% rename from lib/components/DynamicFonts/index.ts rename to packages/uilib-native/components/DynamicFonts/index.ts diff --git a/lib/components/HighlighterOverlayView/index.tsx b/packages/uilib-native/components/HighlighterOverlayView/index.tsx similarity index 100% rename from lib/components/HighlighterOverlayView/index.tsx rename to packages/uilib-native/components/HighlighterOverlayView/index.tsx diff --git a/lib/components/HighlighterOverlayView/index.web.tsx b/packages/uilib-native/components/HighlighterOverlayView/index.web.tsx similarity index 100% rename from lib/components/HighlighterOverlayView/index.web.tsx rename to packages/uilib-native/components/HighlighterOverlayView/index.web.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/__tests__/EventEmitterManager.spec.js b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/__tests__/EventEmitterManager.spec.js similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/__tests__/EventEmitterManager.spec.js rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/__tests__/EventEmitterManager.spec.js diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.ts similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.ts diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/__tests__/KeyboardRegistry.spec.js b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/__tests__/KeyboardRegistry.spec.js similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/__tests__/KeyboardRegistry.spec.js rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/__tests__/KeyboardRegistry.spec.js diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts similarity index 94% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts index 4de878ac1b..ebba0a7081 100644 --- a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts +++ b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.ts @@ -32,6 +32,8 @@ export default class KeyboardRegistry { */ static registerKeyboard = (componentID: string, generator: Function, params = {}) => { if (!_.isFunction(generator)) { + // TODO: do we want to add a util for this? + // eslint-disable-next-line no-restricted-syntax console.error(`KeyboardRegistry.registerKeyboard: ${componentID} you must register a generator function`); return; } @@ -45,7 +47,9 @@ export default class KeyboardRegistry { */ static getKeyboard = (componentID: string) => { const res = KeyboardRegistry.registeredKeyboards[componentID]; - if (!res || !res.generator) { + if (!res?.generator) { + // TODO: do we want to add a util for this? + // eslint-disable-next-line no-restricted-syntax console.error(`KeyboardRegistry.getKeyboard: ${componentID} used but not yet registered`); return undefined; } diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json diff --git a/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.ts similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.ts diff --git a/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.ts similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.ts diff --git a/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.ts similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.ts diff --git a/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.ts b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.ts similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.ts rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.ts diff --git a/lib/components/Keyboard/KeyboardAccessoryView/index.tsx b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/index.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/index.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/index.tsx diff --git a/lib/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json b/packages/uilib-native/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json similarity index 100% rename from lib/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json rename to packages/uilib-native/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json diff --git a/lib/components/Keyboard/KeyboardAwareInsetsView/index.tsx b/packages/uilib-native/components/Keyboard/KeyboardAwareInsetsView/index.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardAwareInsetsView/index.tsx rename to packages/uilib-native/components/Keyboard/KeyboardAwareInsetsView/index.tsx diff --git a/lib/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json b/packages/uilib-native/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json similarity index 100% rename from lib/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json rename to packages/uilib-native/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json diff --git a/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.tsx b/packages/uilib-native/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.tsx rename to packages/uilib-native/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.tsx diff --git a/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.tsx b/packages/uilib-native/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.tsx rename to packages/uilib-native/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.tsx diff --git a/lib/components/Keyboard/KeyboardTrackingView/index.tsx b/packages/uilib-native/components/Keyboard/KeyboardTrackingView/index.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardTrackingView/index.tsx rename to packages/uilib-native/components/Keyboard/KeyboardTrackingView/index.tsx diff --git a/lib/components/Keyboard/KeyboardTrackingView/index.web.tsx b/packages/uilib-native/components/Keyboard/KeyboardTrackingView/index.web.tsx similarity index 100% rename from lib/components/Keyboard/KeyboardTrackingView/index.web.tsx rename to packages/uilib-native/components/Keyboard/KeyboardTrackingView/index.web.tsx diff --git a/lib/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json b/packages/uilib-native/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json similarity index 100% rename from lib/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json rename to packages/uilib-native/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json diff --git a/lib/components/Keyboard/index.ts b/packages/uilib-native/components/Keyboard/index.ts similarity index 100% rename from lib/components/Keyboard/index.ts rename to packages/uilib-native/components/Keyboard/index.ts diff --git a/lib/components/SafeArea/SafeAreaInsetsManager.ts b/packages/uilib-native/components/SafeArea/SafeAreaInsetsManager.ts similarity index 100% rename from lib/components/SafeArea/SafeAreaInsetsManager.ts rename to packages/uilib-native/components/SafeArea/SafeAreaInsetsManager.ts diff --git a/lib/components/SafeArea/SafeAreaSpacerView.tsx b/packages/uilib-native/components/SafeArea/SafeAreaSpacerView.tsx similarity index 100% rename from lib/components/SafeArea/SafeAreaSpacerView.tsx rename to packages/uilib-native/components/SafeArea/SafeAreaSpacerView.tsx diff --git a/lib/components/SafeArea/SafeAreaSpacerView.web.tsx b/packages/uilib-native/components/SafeArea/SafeAreaSpacerView.web.tsx similarity index 100% rename from lib/components/SafeArea/SafeAreaSpacerView.web.tsx rename to packages/uilib-native/components/SafeArea/SafeAreaSpacerView.web.tsx diff --git a/lib/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js b/packages/uilib-native/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js similarity index 100% rename from lib/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js rename to packages/uilib-native/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js diff --git a/lib/components/SafeArea/index.tsx b/packages/uilib-native/components/SafeArea/index.tsx similarity index 100% rename from lib/components/SafeArea/index.tsx rename to packages/uilib-native/components/SafeArea/index.tsx diff --git a/lib/components/index.ts b/packages/uilib-native/components/index.ts similarity index 100% rename from lib/components/index.ts rename to packages/uilib-native/components/index.ts diff --git a/lib/ios/reactnativeuilib.xcodeproj/project.pbxproj b/packages/uilib-native/ios/reactnativeuilib.xcodeproj/project.pbxproj similarity index 100% rename from lib/ios/reactnativeuilib.xcodeproj/project.pbxproj rename to packages/uilib-native/ios/reactnativeuilib.xcodeproj/project.pbxproj diff --git a/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.h b/packages/uilib-native/ios/reactnativeuilib/dynamicfont/DynamicFont.h similarity index 100% rename from lib/ios/reactnativeuilib/dynamicfont/DynamicFont.h rename to packages/uilib-native/ios/reactnativeuilib/dynamicfont/DynamicFont.h diff --git a/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.m b/packages/uilib-native/ios/reactnativeuilib/dynamicfont/DynamicFont.m similarity index 100% rename from lib/ios/reactnativeuilib/dynamicfont/DynamicFont.m rename to packages/uilib-native/ios/reactnativeuilib/dynamicfont/DynamicFont.m diff --git a/lib/ios/reactnativeuilib/highlighterview/HighlighterView.h b/packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterView.h similarity index 100% rename from lib/ios/reactnativeuilib/highlighterview/HighlighterView.h rename to packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterView.h diff --git a/lib/ios/reactnativeuilib/highlighterview/HighlighterView.m b/packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterView.m similarity index 100% rename from lib/ios/reactnativeuilib/highlighterview/HighlighterView.m rename to packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterView.m diff --git a/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h b/packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h similarity index 100% rename from lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h rename to packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h diff --git a/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m b/packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m similarity index 100% rename from lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m rename to packages/uilib-native/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm diff --git a/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m diff --git a/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h diff --git a/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m b/packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h diff --git a/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m b/packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m similarity index 100% rename from lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m rename to packages/uilib-native/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaManager.h b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaManager.h similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaManager.h rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaManager.h diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaManager.m b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaManager.m similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaManager.m rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaManager.m diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h diff --git a/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m b/packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m similarity index 100% rename from lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m rename to packages/uilib-native/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m diff --git a/lib/package.json b/packages/uilib-native/package.json similarity index 100% rename from lib/package.json rename to packages/uilib-native/package.json diff --git a/lib/react-native.config.js b/packages/uilib-native/react-native.config.js similarity index 92% rename from lib/react-native.config.js rename to packages/uilib-native/react-native.config.js index f8d9905656..955d9dea09 100644 --- a/lib/react-native.config.js +++ b/packages/uilib-native/react-native.config.js @@ -4,7 +4,7 @@ module.exports = { /* TODO: Once we upgrade to RN69 we should try using podspecPath again, for now I copied ReactNativeUiLib.podspec file to the root - it seems to work I copied it, because we need it for both the main uilib and the uilib-native package */ // ios: { - // podspecPath: './lib/ReactNativeUiLib.podspec' + // podspecPath: './uilib-native/ReactNativeUiLib.podspec' // }, android: { sourceDir: './android/', diff --git a/lib/scripts/.npmrc b/packages/uilib-native/scripts/.npmrc similarity index 100% rename from lib/scripts/.npmrc rename to packages/uilib-native/scripts/.npmrc diff --git a/lib/scripts/releaseNative.js b/packages/uilib-native/scripts/releaseNative.js similarity index 100% rename from lib/scripts/releaseNative.js rename to packages/uilib-native/scripts/releaseNative.js diff --git a/lib/specs/HighlighterViewNativeComponent.ts b/packages/uilib-native/specs/HighlighterViewNativeComponent.ts similarity index 100% rename from lib/specs/HighlighterViewNativeComponent.ts rename to packages/uilib-native/specs/HighlighterViewNativeComponent.ts diff --git a/lib/specs/KeyboardTrackingViewNativeComponent.ts b/packages/uilib-native/specs/KeyboardTrackingViewNativeComponent.ts similarity index 100% rename from lib/specs/KeyboardTrackingViewNativeComponent.ts rename to packages/uilib-native/specs/KeyboardTrackingViewNativeComponent.ts diff --git a/scripts/docs/buildDocs.js b/scripts/docs/buildDocs.js index 84c8271a0b..3e9481333e 100644 --- a/scripts/docs/buildDocs.js +++ b/scripts/docs/buildDocs.js @@ -1 +1 @@ -require('./buildDocsCommon').buildDocs('./packages/react-native-ui-lib/src ./lib/components'); +require('./buildDocsCommon').buildDocs('./packages/react-native-ui-lib/src ./packages/uilib-native/components'); diff --git a/yarn.lock b/yarn.lock index d3f833d7eb..5db2748a36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9302,7 +9302,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:15.8.1, prop-types@npm:15.x.x, prop-types@npm:^15.5.10, prop-types@npm:^15.8.1": +"prop-types@npm:15.8.1, prop-types@npm:15.x.x, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -9733,7 +9733,7 @@ __metadata: shell-utils: "npm:^1.0.10" tinycolor2: "npm:^1.4.2" typescript: "npm:5.0.4" - uilib-native: "npm:^5.0.1" + uilib-native: "workspace:*" url-parse: "npm:^1.2.0" wix-react-native-text-size: "npm:1.0.9" peerDependencies: @@ -11285,18 +11285,17 @@ __metadata: languageName: node linkType: hard -"uilib-native@npm:^5.0.1": - version: 5.0.1 - resolution: "uilib-native@npm:5.0.1" +"uilib-native@workspace:*, uilib-native@workspace:packages/uilib-native": + version: 0.0.0-use.local + resolution: "uilib-native@workspace:packages/uilib-native" dependencies: lodash: "npm:^4.17.21" - prop-types: "npm:^15.5.10" + shell-utils: "npm:^1.0.10" peerDependencies: - react: ">=18.3.1" - react-native: ">=0.77.3" - checksum: 10c0/234d02fd8dd5005c816b2a292d87d205b37e45885eccdf545ab80052ad6eb2761034af6acb58ae31468d66b59a4c869b25a670a5a2a784d26206c92e7f27025d - languageName: node - linkType: hard + react: ">=19.0.0" + react-native: ">=0.78.3" + languageName: unknown + linkType: soft "unbox-primitive@npm:^1.0.2": version: 1.0.2 From f2d81c3b886e34720132a05de145986e27deaa0c Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sun, 1 Feb 2026 15:04:43 +0200 Subject: [PATCH 2/9] Fix releaseNative script --- scripts/release/releaseNative.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release/releaseNative.sh b/scripts/release/releaseNative.sh index be2f5bbd5f..63174e6c32 100755 --- a/scripts/release/releaseNative.sh +++ b/scripts/release/releaseNative.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -pushd lib +pushd packages/uilib-native npm install npm run releaseNative popd From 3f00a78ad95406ab25d27de71cbe59aab5677b20 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sun, 1 Feb 2026 15:27:57 +0200 Subject: [PATCH 3/9] More build fixes --- packages/react-native-ui-lib/scripts/build/build.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-native-ui-lib/scripts/build/build.js b/packages/react-native-ui-lib/scripts/build/build.js index a652ddaa31..36334b87ed 100644 --- a/packages/react-native-ui-lib/scripts/build/build.js +++ b/packages/react-native-ui-lib/scripts/build/build.js @@ -1,7 +1,7 @@ const childProcess = require('child_process'); const fs = require('fs'); -const BABEL_OPTIONS = `--config-file ./scripts/build/.babelrc.json --extensions '.ts,.tsx' --ignore "src/**/*.d.ts,**/node_modules/**,lib/**/*.d.ts,../../lib/node_modules/**"`; +const BABEL_OPTIONS = `--config-file ./scripts/build/.babelrc.json --extensions '.ts,.tsx' --ignore "src/**/*.d.ts,**/node_modules/**,lib/**/*.d.ts,../uilib-native/node_modules/**"`; const BABEL_INDEX_EXPORTS_OPTIONS = `--config-file ./scripts/build/.babelrc.exports.js`; console.info('## Start RNUILib Build ##'); @@ -22,7 +22,7 @@ console.info('## Build lib (native component) files - convert TS to JS files ##' childProcess.execSync(`../../node_modules/.bin/babel lib --out-dir lib ${BABEL_OPTIONS}`); console.info('## in uilib-native - Build lib (native component) files - convert TS to JS files ##'); -childProcess.execSync(`../../node_modules/.bin/babel ../../lib --out-dir ../../lib ${BABEL_OPTIONS}`); +childProcess.execSync(`../../node_modules/.bin/babel ../uilib-native --out-dir ../uilib-native ${BABEL_OPTIONS}`); console.info('## Build main index file - for lazy load exports ##'); childProcess.execSync(`../../node_modules/.bin/babel ./src/index.js -o ./src/index.js ${BABEL_INDEX_EXPORTS_OPTIONS}`); From b4c9a7f6fdad3b8182978de29c8610ba4e706237 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sun, 1 Feb 2026 15:40:00 +0200 Subject: [PATCH 4/9] Try adding --workspace --- packages/react-native-ui-lib/scripts/release/release.js | 2 +- packages/uilib-native/scripts/releaseNative.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-native-ui-lib/scripts/release/release.js b/packages/react-native-ui-lib/scripts/release/release.js index f768e9356e..543401a224 100644 --- a/packages/react-native-ui-lib/scripts/release/release.js +++ b/packages/react-native-ui-lib/scripts/release/release.js @@ -90,7 +90,7 @@ function tryPublishAndTag(version) { function tagAndPublish(newVersion) { console.log(`trying to publish ${newVersion}...`); exec.execSync(`npm --no-git-tag-version version ${newVersion}`); - exec.execSync(`npm publish --tag ${VERSION_TAG}`); + exec.execSync(`npm publish --tag ${VERSION_TAG} --workspace react-native-ui-lib`); if (isRelease) { exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); } diff --git a/packages/uilib-native/scripts/releaseNative.js b/packages/uilib-native/scripts/releaseNative.js index e0110ccf82..f41b669071 100644 --- a/packages/uilib-native/scripts/releaseNative.js +++ b/packages/uilib-native/scripts/releaseNative.js @@ -62,7 +62,7 @@ function tagAndPublish(newVersion) { if (IS_SNAPSHOT) { exec.execSync(`npm --no-git-tag-version version ${newVersion}`); } - exec.execSync(`npm publish --tag ${VERSION_TAG}`); + exec.execSync(`npm publish --tag ${VERSION_TAG} --workspace uilib-native`); if (!IS_SNAPSHOT) { exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); } From b5fa8a91cfa7ac11bbee95c2d7e71c06594adb09 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Mon, 2 Feb 2026 09:17:28 +0200 Subject: [PATCH 5/9] Revert (Try adding --workspace) --- packages/react-native-ui-lib/scripts/release/release.js | 2 +- packages/uilib-native/scripts/releaseNative.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-native-ui-lib/scripts/release/release.js b/packages/react-native-ui-lib/scripts/release/release.js index 543401a224..f768e9356e 100644 --- a/packages/react-native-ui-lib/scripts/release/release.js +++ b/packages/react-native-ui-lib/scripts/release/release.js @@ -90,7 +90,7 @@ function tryPublishAndTag(version) { function tagAndPublish(newVersion) { console.log(`trying to publish ${newVersion}...`); exec.execSync(`npm --no-git-tag-version version ${newVersion}`); - exec.execSync(`npm publish --tag ${VERSION_TAG} --workspace react-native-ui-lib`); + exec.execSync(`npm publish --tag ${VERSION_TAG}`); if (isRelease) { exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); } diff --git a/packages/uilib-native/scripts/releaseNative.js b/packages/uilib-native/scripts/releaseNative.js index f41b669071..e0110ccf82 100644 --- a/packages/uilib-native/scripts/releaseNative.js +++ b/packages/uilib-native/scripts/releaseNative.js @@ -62,7 +62,7 @@ function tagAndPublish(newVersion) { if (IS_SNAPSHOT) { exec.execSync(`npm --no-git-tag-version version ${newVersion}`); } - exec.execSync(`npm publish --tag ${VERSION_TAG} --workspace uilib-native`); + exec.execSync(`npm publish --tag ${VERSION_TAG}`); if (!IS_SNAPSHOT) { exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); } From 71e490dd982a741b29bdfeee33f85b93d060d960 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sat, 7 Feb 2026 14:20:19 +0200 Subject: [PATCH 6/9] Unified release script for monorepo --- package.json | 4 +- packages/react-native-ui-lib/package.json | 2 +- .../scripts/release/release.js | 100 ------------ packages/uilib-native/package.json | 40 ++--- packages/uilib-native/scripts/.npmrc | 2 - .../uilib-native/scripts/releaseNative.js | 72 --------- .../scripts => scripts}/release/.npmrc | 0 scripts/release/release.js | 143 ++++++++++++++++++ scripts/release/releaseNative.sh | 6 - scripts/release/releaseUiLib.sh | 6 - scripts/release/releaseUtils.js | 109 +++++++++++++ 11 files changed, 275 insertions(+), 209 deletions(-) delete mode 100644 packages/react-native-ui-lib/scripts/release/release.js delete mode 100644 packages/uilib-native/scripts/.npmrc delete mode 100644 packages/uilib-native/scripts/releaseNative.js rename {packages/react-native-ui-lib/scripts => scripts}/release/.npmrc (100%) create mode 100644 scripts/release/release.js delete mode 100755 scripts/release/releaseNative.sh delete mode 100755 scripts/release/releaseUiLib.sh create mode 100644 scripts/release/releaseUtils.js diff --git a/package.json b/package.json index afa75f8de9..df53d55fc2 100644 --- a/package.json +++ b/package.json @@ -25,11 +25,11 @@ "docs:deploy": "./scripts/docs/deployDocs.sh", "docs:build": "node scripts/docs/buildDocs.js", "docs:start": "(cd docuilib && yarn start)", - "release": "./scripts/release/releaseUiLib.sh", + "release": "node ./scripts/release/release.js", "releaseDemo": "./scripts/release/releaseDemo.sh", "releaseDocs": "./scripts/release/releaseDocs.sh", "releaseEslint": "./scripts/release/releaseEslint.sh", - "releaseNative": "./scripts/release/releaseNative.sh" + "releaseNative": "" }, "workspaces": { "packages": [ diff --git a/packages/react-native-ui-lib/package.json b/packages/react-native-ui-lib/package.json index bedc21dfef..721aa390f4 100644 --- a/packages/react-native-ui-lib/package.json +++ b/packages/react-native-ui-lib/package.json @@ -25,7 +25,7 @@ "xcode": "xed ios", "build": "node scripts/build/build.js", "build:local": "./scripts/build/createLocalPackage.sh", - "release": "node ./scripts/release/release.js" + "release": "" }, "dependencies": { "babel-plugin-transform-inline-environment-variables": "^0.0.2", diff --git a/packages/react-native-ui-lib/scripts/release/release.js b/packages/react-native-ui-lib/scripts/release/release.js deleted file mode 100644 index f768e9356e..0000000000 --- a/packages/react-native-ui-lib/scripts/release/release.js +++ /dev/null @@ -1,100 +0,0 @@ -const exec = require('shell-utils').exec; -const cp = require('child_process'); -const semver = require('semver'); -const _ = require('lodash'); -const p = require('path'); - -// Workaround JS - -// Export buildkite variables for Release build -// We cast toString() because function returns 'object' -const isRelease = process.env.BUILDKITE_MESSAGE?.match?.(/^release$/i); -let VERSION; -if (isRelease) { - VERSION = cp.execSync(`buildkite-agent meta-data get version`).toString(); -} - -const VERSION_TAG = isRelease ? 'latest' : 'snapshot'; -const VERSION_INC = 'patch'; -function run() { - console.log('Release UI Lib'); - if (!validateEnv()) { - console.log('Not a valid environment to release in!'); - return; - } - - console.log('Valid environment - releasing...'); - setupGit(); - createNpmRc(); - versionTagAndPublish(); -} - -function validateEnv() { - if (!process.env.CI) { - throw new Error('releasing is only available from CI'); - } - return ( - process.env.BUILDKITE_BRANCH === 'master' || - process.env.BUILDKITE_BRANCH === 'release' || - process.env.BUILDKITE_MESSAGE === 'snapshot' - ); -} - -function setupGit() { - exec.execSyncSilent('git config --global push.default simple'); - exec.execSyncSilent(`git config --global user.email "${process.env.GIT_EMAIL}"`); - exec.execSyncSilent(`git config --global user.name "${process.env.GIT_USER}"`); - const remoteUrl = new RegExp('https?://(\\S+)').exec(exec.execSyncRead('git remote -v'))[1]; - exec.execSyncSilent(`git remote add deploy "https://${process.env.GIT_USER}:${process.env.GIT_TOKEN}@${remoteUrl}"`); - // exec.execSync(`git checkout ${ONLY_ON_BRANCH}`); -} - -function createNpmRc() { - exec.execSync('rm -f package-lock.json'); - const npmrcPath = p.resolve(`${__dirname}/.npmrc`); - exec.execSync(`cp -rf ${npmrcPath} ${process.env.HOME}/.npmrc`); -} - -function versionTagAndPublish() { - const currentPublished = findCurrentPublishedVersion(); - console.log(`current published version: ${currentPublished}`); - - const version = isRelease ? VERSION : `${currentPublished}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}`; - console.log(`Publishing version: ${version}`); - - tryPublishAndTag(version); -} - -function findCurrentPublishedVersion() { - return exec.execSyncRead(`npm view ${process.env.npm_package_name} dist-tags.latest`); -} - -function tryPublishAndTag(version) { - let theCandidate = version; - for (let retry = 0; retry < 5; retry++) { - try { - tagAndPublish(theCandidate); - console.log(`Released ${theCandidate}`); - return; - } catch (err) { - const alreadyPublished = _.includes(err.toString(), 'You cannot publish over the previously published version'); - if (!alreadyPublished) { - throw err; - } - console.log(`previously published. retrying with increased ${VERSION_INC}...`); - theCandidate = semver.inc(theCandidate, VERSION_INC); - } - } -} - -function tagAndPublish(newVersion) { - console.log(`trying to publish ${newVersion}...`); - exec.execSync(`npm --no-git-tag-version version ${newVersion}`); - exec.execSync(`npm publish --tag ${VERSION_TAG}`); - if (isRelease) { - exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); - } - exec.execSyncSilent(`git push deploy ${newVersion} || true`); -} - -run(); diff --git a/packages/uilib-native/package.json b/packages/uilib-native/package.json index 7950cc8bb5..22ed5229a6 100644 --- a/packages/uilib-native/package.json +++ b/packages/uilib-native/package.json @@ -1,22 +1,22 @@ { - "name": "uilib-native", - "version": "5.1.0", - "homepage": "https://github.com/wix/react-native-ui-lib", - "description": "uilib native components (separated from js components)", - "main": "components/index", - "scripts": { - "releaseNative": "node ./scripts/releaseNative.js" - }, - "author": "Ethan Sharabi ", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21" - }, - "devDependencies": { - "shell-utils": "^1.0.10" - }, - "peerDependencies": { - "react": ">=19.0.0", - "react-native": ">=0.78.3" - } + "name": "uilib-native", + "version": "5.1.0", + "homepage": "https://github.com/wix/react-native-ui-lib", + "description": "uilib native components (separated from js components)", + "main": "components/index", + "scripts": { + "releaseNative": "" + }, + "author": "Ethan Sharabi ", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + }, + "devDependencies": { + "shell-utils": "^1.0.10" + }, + "peerDependencies": { + "react": ">=19.0.0", + "react-native": ">=0.78.3" + } } diff --git a/packages/uilib-native/scripts/.npmrc b/packages/uilib-native/scripts/.npmrc deleted file mode 100644 index 1727810128..0000000000 --- a/packages/uilib-native/scripts/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -email=${NPM_EMAIL} -//registry.npmjs.org/:_authToken=${NPM_TOKEN} diff --git a/packages/uilib-native/scripts/releaseNative.js b/packages/uilib-native/scripts/releaseNative.js deleted file mode 100644 index e0110ccf82..0000000000 --- a/packages/uilib-native/scripts/releaseNative.js +++ /dev/null @@ -1,72 +0,0 @@ -const exec = require('shell-utils').exec; -const p = require('path'); - -// Export buildkite variables for Release build -// We cast toString() because function returns 'object' -const IS_SNAPSHOT = process.env.BUILDKITE_MESSAGE?.match(/^snapshot$/i); -const VERSION_TAG = IS_SNAPSHOT ? 'snapshot' : 'latest'; - -function run() { - if (!validateEnv()) { - console.log('Do not release native'); - return; - } - - console.log('Release native'); - const packageJsonVersion = require('../package.json').version; - const currentPublished = findCurrentPublishedVersion(); - const newVersion = IS_SNAPSHOT - ? `${packageJsonVersion}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}` - : packageJsonVersion; - - if (currentPublished !== packageJsonVersion) { - createNpmRc(); - versionTagAndPublish(currentPublished, newVersion); - } -} - -function validateEnv() { - if (!process.env.CI) { - throw new Error('releasing is only available from CI'); - } - return process.env.BUILDKITE_BRANCH === 'master' || process.env.BUILDKITE_MESSAGE === 'snapshot'; -} - -function createNpmRc() { - exec.execSync('rm -f package-lock.json'); - const npmrcPath = p.resolve(`${__dirname}/.npmrc`); - exec.execSync(`cp -rf ${npmrcPath} .`); -} - -function versionTagAndPublish(currentPublished, newVersion) { - console.log(`current published version: ${currentPublished}`); - console.log(`Publishing version: ${newVersion}`); - tryPublishAndTag(newVersion); -} - -function findCurrentPublishedVersion() { - return exec.execSyncRead(`npm view ${process.env.npm_package_name} dist-tags.latest`); -} - -function tryPublishAndTag(version) { - try { - tagAndPublish(version); - console.log(`Released ${version}`); - } catch (err) { - console.log(`Failed to release ${version}`, err); - } -} - -function tagAndPublish(newVersion) { - console.log(`trying to publish ${newVersion}...`); - if (IS_SNAPSHOT) { - exec.execSync(`npm --no-git-tag-version version ${newVersion}`); - } - exec.execSync(`npm publish --tag ${VERSION_TAG}`); - if (!IS_SNAPSHOT) { - exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`); - } - exec.execSyncSilent(`git push deploy ${newVersion} || true`); -} - -run(); diff --git a/packages/react-native-ui-lib/scripts/release/.npmrc b/scripts/release/.npmrc similarity index 100% rename from packages/react-native-ui-lib/scripts/release/.npmrc rename to scripts/release/.npmrc diff --git a/scripts/release/release.js b/scripts/release/release.js new file mode 100644 index 0000000000..d69e6d2cc9 --- /dev/null +++ b/scripts/release/release.js @@ -0,0 +1,143 @@ +/* eslint-disable no-restricted-syntax */ +const exec = require('shell-utils').exec; +const fs = require('fs'); +const path = require('path'); +const {logDebug, logGreen, logError} = require('../utils'); +const { + dryRun, + isRelease, + isSnapshot, + versionTag, + getPublishedVersion, + getPackageJsonVersion, + getShouldRelease, + getVersion, + setupGit, + createNpmRc +} = require('./releaseUtils'); + +if (!process.env.CI) { + logError('Releasing is only available from CI'); + if (dryRun) { + logDebug('Dry run - not exiting'); + } else { + process.exit(1); + } +} + +const PACKAGES = [ + { + name: 'uilib-native', + shouldUpdatePackageJson: !!isSnapshot, + releaseVersionStrategy: 'packageJsonVersion' + }, + { + name: 'react-native-ui-lib', + shouldUpdatePackageJson: true, + releaseVersionStrategy: 'buildKiteVersion', + workspaceDeps: ['uilib-native'] + } +]; + +logDebug('Checking if packages should be released...'); +PACKAGES.forEach(package => { + package.publishedVersion = getPublishedVersion(package.name); + package.packageJsonVersion = getPackageJsonVersion(package.name); + package.shouldRelease = getShouldRelease(package); +}); + +if (!PACKAGES.every(package => package.shouldRelease)) { + logGreen('No packages to release'); + if (dryRun) { + logDebug('Dry run - not exiting'); + } else { + process.exit(0); + } +} + +logDebug('Getting packages information...'); +PACKAGES.forEach(package => { + package.path = `packages/${package.name}`; + package.version = getVersion(package, dryRun); + if (package.workspaceDeps?.length > 0) { + package.workSpaceTempDeps = []; + package.workspaceDeps.forEach(dep => { + package.workSpaceTempDeps.push(PACKAGES.find(p => p.name === dep)?.publishedVersion); + }); + } +}); + +logDebug('Packages information:'); +logDebug(JSON.stringify(PACKAGES, null, 2)); + +setupGit(dryRun); +createNpmRc(dryRun); + +logGreen('Replacing all workspace:* dependencies with temporary versions...'); +for (const package of PACKAGES) { + if (package.workspaceDeps?.length > 0) { + package.workspaceDeps.forEach((dep, index) => { + const packageJsonPath = path.join(package.path, 'package.json'); + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); + logDebug(`${package.name} - ${dep}:${packageJson.devDependencies[dep]} -> ${package.workSpaceTempDeps[index]}`); + packageJson.devDependencies[dep] = package.workSpaceTempDeps[index]; + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 4) + '\n'); + }); + } +} + +const originalCwd = process.cwd(); +logDebug(`Starting release process with ${versionTag}`); +try { + for (const package of PACKAGES) { + logDebug(`Trying to release ${package.name} in ${package.path}`); + process.chdir(package.path); + // Update version in package.json + if (package.shouldUpdatePackageJson) { + if (dryRun) { + exec.execSync(`npm --no-git-tag-version --no-workspaces-update version ${package.version}`, true); + } else { + exec.execSync(`npm --no-git-tag-version version ${package.version}`, true); + } + logDebug(`Successfully updated version for ${package.name} to ${package.version}`); + } else { + logDebug(`Skipping version update for ${package.name}`); + } + if (!dryRun) { + // Publish to npm + exec.execSync(`npm publish --tag ${versionTag}`); + // Create git tag for releases (not snapshots) + if (isRelease) { + exec.execSync(`git tag -a ${package.version} -m "${package.version}"`); + exec.execSync(`git push deploy ${package.version}`); + // TODO: backup - exec.execSyncSilent(`git push deploy ${package.version} || true`); + } + logGreen(`Successfully released ${package.name}@${package.version}`); + } else { + logGreen(`Dry run - not releasing ${package.name}@${package.version}`); + } + process.chdir(originalCwd); + // Write package.version to all relevant workspaceDeps + PACKAGES.forEach(p => { + if (p.workspaceDeps?.length > 0) { + p.workspaceDeps.forEach(dep => { + const packageJsonPath = path.join(originalCwd, 'packages', p.name, 'package.json'); + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); + if (dep === package.name) { + const depPackageJsonPath = path.join(originalCwd, 'packages', dep, 'package.json'); + const depPackageJson = JSON.parse(fs.readFileSync(depPackageJsonPath, 'utf8')); + const oldVersion = packageJson.devDependencies[dep]; + const newVersion = depPackageJson.version; + logGreen(`Updating workspace dependency ${p.name} - ${dep}:${oldVersion} -> ${newVersion}`); + packageJson.devDependencies[dep] = newVersion; + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 4) + '\n'); + logGreen('Successfully updated workspace dependency'); + } + }); + } + }); + } +} catch (error) { + logError(`Failed to release all packages: ${error.message}`); + process.exit(1); +} diff --git a/scripts/release/releaseNative.sh b/scripts/release/releaseNative.sh deleted file mode 100755 index 63174e6c32..0000000000 --- a/scripts/release/releaseNative.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -pushd packages/uilib-native -npm install -npm run releaseNative -popd diff --git a/scripts/release/releaseUiLib.sh b/scripts/release/releaseUiLib.sh deleted file mode 100755 index aee5335dfb..0000000000 --- a/scripts/release/releaseUiLib.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -pushd packages/react-native-ui-lib -npm install -npm run release -popd diff --git a/scripts/release/releaseUtils.js b/scripts/release/releaseUtils.js new file mode 100644 index 0000000000..aa9ab755d7 --- /dev/null +++ b/scripts/release/releaseUtils.js @@ -0,0 +1,109 @@ +const exec = require('shell-utils').exec; +const semver = require('semver'); +const childProcess = require('child_process'); +const path = require('path'); +const {logDebug, logGreen} = require('../utils'); +const rootDir = path.resolve(__dirname, '../..'); + +let dryRun = + (process.argv?.find(arg => arg.toLowerCase().includes('-dry'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-dry-run'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-dryrun'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-d'))?.length ?? 0) > 0; + +const testRelease = + (process.argv?.find(arg => arg.toLowerCase().includes('-release'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-r'))?.length ?? 0) > 0; + +const testMaster = + (process.argv?.find(arg => arg.toLowerCase().includes('-master'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-m'))?.length ?? 0) > 0; + +const testSnapshot = + (process.argv?.find(arg => arg.toLowerCase().includes('-snapshot'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-snap'))?.length ?? 0) > 0 || + (process.argv?.find(arg => arg.toLowerCase().includes('-s'))?.length ?? 0) > 0 || + (!testMaster && !testRelease); + +if (testRelease || testMaster || testSnapshot) { + dryRun = true; +} + +const isMaster = dryRun ? testMaster : process.env.BUILDKITE_BRANCH === 'master'; +const isRelease = dryRun ? testRelease : process.env.BUILDKITE_MESSAGE?.match?.(/^release$/i); +const isSnapshot = dryRun ? testSnapshot : process.env.BUILDKITE_MESSAGE?.match?.(/^snapshot$/i); +const versionTag = isRelease ? 'latest' : 'snapshot'; + +logGreen(`Starting monorepo release process${dryRun ? ' (dry run' : ''}${isMaster ? ' for master' : ''}${isRelease ? ' for release' : ''}${isSnapshot ? ' for snapshot' : ''}${dryRun ? ')' : ''}`); + +function getPublishedVersion(packageName, tag = versionTag, silent = false) { + if (!silent) { + logDebug(`Getting published version for ${packageName} with tag ${tag}`); + } + return exec.execSyncRead(`npm view ${packageName} dist-tags.${tag}`, true); +} + +function getPackageJsonVersion(packageName) { + return require(path.join(rootDir, `packages/${packageName}/package.json`)).version; +} + +function getShouldRelease(package) { + return isMaster || isRelease ? semver.gt(package.packageJsonVersion, package.publishedVersion) : !!isSnapshot; +} + +function getVersion(package, dryRun) { + let releaseVersion; + switch (package.releaseVersionStrategy) { + case 'packageJsonVersion': + releaseVersion = package.packageJsonVersion; + break; + case 'buildKiteVersion': + releaseVersion = dryRun + ? `${semver.inc(package.packageJsonVersion, 'patch')}-dry-run` + : childProcess.execSync(`buildkite-agent meta-data get version`).toString(); + break; + } + const latestVersion = getPublishedVersion(package.name, 'latest', true); + const snapshotVersion = `${latestVersion}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}`; + return isRelease ? releaseVersion : snapshotVersion; +} + +function setupGit(dryRun) { + if (dryRun) { + logDebug('Dry run - not setting up git configuration'); + return; + } + logGreen('Setting up git configuration...'); + exec.execSyncSilent('git config --global push.default simple'); + exec.execSyncSilent(`git config --global user.email "${process.env.GIT_EMAIL}"`); + exec.execSyncSilent(`git config --global user.name "${process.env.GIT_USER}"`); + const remoteUrl = new RegExp('https?://(\\S+)').exec(exec.execSyncRead('git remote -v'))[1]; + exec.execSyncSilent(`git remote add deploy "https://${process.env.GIT_USER}:${process.env.GIT_TOKEN}@${remoteUrl}"`); + logGreen('Git configured'); +} + +function createNpmRc(dryRun) { + if (dryRun) { + logDebug('Dry run - not setting up npm configuration'); + return; + } + logGreen('Setting up npm configuration...'); + exec.execSync('rm -f package-lock.json'); + const npmrcPath = path.resolve(`${__dirname}/.npmrc`); + exec.execSync(`cp -rf ${npmrcPath} .`); + logGreen('npmrc configured'); +} + +module.exports = { + dryRun, + isMaster, + isRelease, + isSnapshot, + versionTag, + getPublishedVersion, + getPackageJsonVersion, + getShouldRelease, + getVersion, + setupGit, + createNpmRc +}; From e4c667d534737a4f0f2fcd3a15d3183a1ad9b02a Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sat, 7 Feb 2026 14:33:16 +0200 Subject: [PATCH 7/9] Fix dryRun always being true --- scripts/release/releaseUtils.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/release/releaseUtils.js b/scripts/release/releaseUtils.js index aa9ab755d7..20c9797220 100644 --- a/scripts/release/releaseUtils.js +++ b/scripts/release/releaseUtils.js @@ -19,16 +19,19 @@ const testMaster = (process.argv?.find(arg => arg.toLowerCase().includes('-master'))?.length ?? 0) > 0 || (process.argv?.find(arg => arg.toLowerCase().includes('-m'))?.length ?? 0) > 0; -const testSnapshot = +let testSnapshot = (process.argv?.find(arg => arg.toLowerCase().includes('-snapshot'))?.length ?? 0) > 0 || (process.argv?.find(arg => arg.toLowerCase().includes('-snap'))?.length ?? 0) > 0 || - (process.argv?.find(arg => arg.toLowerCase().includes('-s'))?.length ?? 0) > 0 || - (!testMaster && !testRelease); + (process.argv?.find(arg => arg.toLowerCase().includes('-s'))?.length ?? 0) > 0; if (testRelease || testMaster || testSnapshot) { dryRun = true; } +if (dryRun && !testMaster && !testRelease) { + testSnapshot = true; +} + const isMaster = dryRun ? testMaster : process.env.BUILDKITE_BRANCH === 'master'; const isRelease = dryRun ? testRelease : process.env.BUILDKITE_MESSAGE?.match?.(/^release$/i); const isSnapshot = dryRun ? testSnapshot : process.env.BUILDKITE_MESSAGE?.match?.(/^snapshot$/i); From ce81cc7e7d1f9c1a83f1ae45ed489591ab48909f Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Sat, 7 Feb 2026 16:34:25 +0200 Subject: [PATCH 8/9] buildKiteVersion is only for release --- scripts/release/release.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release/release.js b/scripts/release/release.js index d69e6d2cc9..dd49f24f66 100644 --- a/scripts/release/release.js +++ b/scripts/release/release.js @@ -34,7 +34,7 @@ const PACKAGES = [ { name: 'react-native-ui-lib', shouldUpdatePackageJson: true, - releaseVersionStrategy: 'buildKiteVersion', + releaseVersionStrategy: isRelease ? 'buildKiteVersion' : 'packageJsonVersion', workspaceDeps: ['uilib-native'] } ]; From 49d044bffaa73a6325a51d7f130684b07f447725 Mon Sep 17 00:00:00 2001 From: M-i-k-e-l Date: Mon, 23 Feb 2026 11:35:17 +0200 Subject: [PATCH 9/9] Delete packages/uilib-native/scripts/.npmrc --- packages/uilib-native/scripts/.npmrc | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 packages/uilib-native/scripts/.npmrc diff --git a/packages/uilib-native/scripts/.npmrc b/packages/uilib-native/scripts/.npmrc deleted file mode 100644 index 1727810128..0000000000 --- a/packages/uilib-native/scripts/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -email=${NPM_EMAIL} -//registry.npmjs.org/:_authToken=${NPM_TOKEN}