From 648bc739f1454eb0237f5b3a79fc529b269d0004 Mon Sep 17 00:00:00 2001 From: rahulfancode Date: Mon, 17 Nov 2025 11:41:53 +0530 Subject: [PATCH 1/3] fix(home-page): compataibile with old architecture --- README.md | 42 ++++++++++++- .../main/java/com/blurview/BlurViewManager.kt | 22 ++----- .../com/blurview/BlurViewManagerInterface.kt | 12 ++++ .../java/com/blurview/TargetViewManager.kt | 14 +---- .../blurview/TargetViewManagerInterface.kt | 10 +++ example/README.md | 27 ++++++++ example/android/gradle.properties | 5 +- example/ios/Podfile | 5 +- example/metro.config.js | 61 +++++++++++++++++-- ios/BlurView.h | 15 ++++- ios/BlurView.mm | 28 ++++++++- ios/BlurViewManager.mm | 9 ++- package.json | 3 +- src/fabrics/BlurViewNativeComponent.ts | 34 +++++++++-- src/fabrics/TargetViewNativeComponent.ts | 51 ++++++++++++++-- 15 files changed, 280 insertions(+), 58 deletions(-) create mode 100644 android/src/main/java/com/blurview/BlurViewManagerInterface.kt create mode 100644 android/src/main/java/com/blurview/TargetViewManagerInterface.kt diff --git a/README.md b/README.md index 67d627d..5a7f52e 100755 --- a/README.md +++ b/README.md @@ -9,8 +9,12 @@ A simple blur view in react native based in [`@react-native-community/blur`](htt

-> [!WARNING] -> This package supports **only** [new architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). +> [!NOTE] +> This package supports **both** React Native architectures: +> - ✅ **New Architecture** (Fabric) - React Native 0.68+ +> - ✅ **Old Architecture** (Paper) - React Native 0.60+ +> +> The library automatically detects and adapts to your project's architecture. No configuration needed!

+ BlurView + +``` + +For detailed information about architecture compatibility, see [ARCHITECTURE_COMPATIBILITY.md](./ARCHITECTURE_COMPATIBILITY.md). + +### Supported Versions + +| Architecture | React Native Version | Status | +|--------------|---------------------|--------| +| Old (Paper) | 0.60 - 0.75+ | ✅ Supported | +| New (Fabric) | 0.68 - 0.79+ | ✅ Supported | + ## Expo -In Expo, you need to convert to a [custom development build](https://docs.expo.dev/develop/development-builds/introduction/) or use [prebuild](https://docs.expo.dev/workflow/continuous-native-generation/). You can use also React Native without Expo. +In Expo, you need to convert to a [custom development build](https://docs.expo.dev/develop/development-builds/introduction/) or use [prebuild](https://docs.expo.dev/workflow/continuous-native-generation/). Works with both old and new architecture. You can also use React Native without Expo. ## TypeScript Support diff --git a/android/src/main/java/com/blurview/BlurViewManager.kt b/android/src/main/java/com/blurview/BlurViewManager.kt index 598ca76..8ad0a17 100755 --- a/android/src/main/java/com/blurview/BlurViewManager.kt +++ b/android/src/main/java/com/blurview/BlurViewManager.kt @@ -3,19 +3,10 @@ package com.blurview import com.facebook.react.module.annotations.ReactModule import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.ViewGroupManager -import com.facebook.react.uimanager.ViewManagerDelegate import com.facebook.react.uimanager.annotations.ReactProp -import com.facebook.react.viewmanagers.BlurViewManagerInterface -import com.facebook.react.viewmanagers.BlurViewManagerDelegate @ReactModule(name = BlurViewManager.NAME) -class BlurViewManager : ViewGroupManager(), - BlurViewManagerInterface { - private val mDelegate: ViewManagerDelegate = BlurViewManagerDelegate(this) - - override fun getDelegate(): ViewManagerDelegate { - return mDelegate - } +class BlurViewManager : ViewGroupManager() { override fun getName(): String { return NAME @@ -29,21 +20,18 @@ class BlurViewManager : ViewGroupManager(), const val NAME = "BlurView" } - @Override @ReactProp(name = "overlayColor") - override fun setOverlayColor(view: BlurView?, overlarColor: String?) { - view?.setOverlayColor(overlarColor ?: "light") + fun setOverlayColor(view: BlurView?, overlayColor: String?) { + view?.setOverlayColor(overlayColor ?: "light") } - @Override @ReactProp(name = "blurRadius", defaultFloat = 10f) - override fun setBlurRadius(view: BlurView?, radius: Float) { + fun setBlurRadius(view: BlurView?, radius: Float) { view?.setRadius(radius) } - @Override @ReactProp(name = "targetId") - override fun setTargetId(view: BlurView?, targetId: String?) { + fun setTargetId(view: BlurView?, targetId: String?) { view?.setTargetId(targetId) } } diff --git a/android/src/main/java/com/blurview/BlurViewManagerInterface.kt b/android/src/main/java/com/blurview/BlurViewManagerInterface.kt new file mode 100644 index 0000000..226ebc5 --- /dev/null +++ b/android/src/main/java/com/blurview/BlurViewManagerInterface.kt @@ -0,0 +1,12 @@ +package com.blurview + +/** + * Interface for backward compatibility with old architecture. + * This provides the same contract as the Fabric-generated interface. + */ +interface BlurViewManagerInterface { + fun setOverlayColor(view: T?, overlayColor: String?) + fun setBlurRadius(view: T?, radius: Float) + fun setTargetId(view: T?, targetId: String?) +} + diff --git a/android/src/main/java/com/blurview/TargetViewManager.kt b/android/src/main/java/com/blurview/TargetViewManager.kt index 30ac0f2..7d0a318 100644 --- a/android/src/main/java/com/blurview/TargetViewManager.kt +++ b/android/src/main/java/com/blurview/TargetViewManager.kt @@ -3,19 +3,10 @@ package com.blurview import com.facebook.react.module.annotations.ReactModule import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.ViewGroupManager -import com.facebook.react.uimanager.ViewManagerDelegate import com.facebook.react.uimanager.annotations.ReactProp -import com.facebook.react.viewmanagers.TargetViewManagerInterface -import com.facebook.react.viewmanagers.TargetViewManagerDelegate @ReactModule(name = TargetViewManager.NAME) -class TargetViewManager : ViewGroupManager(), - TargetViewManagerInterface { - private val mDelegate: ViewManagerDelegate = TargetViewManagerDelegate(this) - - override fun getDelegate(): ViewManagerDelegate { - return mDelegate - } +class TargetViewManager : ViewGroupManager() { public override fun createViewInstance(context: ThemedReactContext): TargetView { return TargetView(context) @@ -29,9 +20,8 @@ class TargetViewManager : ViewGroupManager(), const val NAME = "TargetView" } - @Override @ReactProp(name = "id") - override fun setId(view: TargetView?, id: String?) { + fun setId(view: TargetView?, id: String?) { view?.setId(id) } } diff --git a/android/src/main/java/com/blurview/TargetViewManagerInterface.kt b/android/src/main/java/com/blurview/TargetViewManagerInterface.kt new file mode 100644 index 0000000..9d1c6c2 --- /dev/null +++ b/android/src/main/java/com/blurview/TargetViewManagerInterface.kt @@ -0,0 +1,10 @@ +package com.blurview + +/** + * Interface for backward compatibility with old architecture. + * This provides the same contract as the Fabric-generated interface. + */ +interface TargetViewManagerInterface { + fun setId(view: T?, id: String?) +} + diff --git a/example/README.md b/example/README.md index 3e2c3f8..2450ac8 100755 --- a/example/README.md +++ b/example/README.md @@ -4,6 +4,33 @@ This is a new [**React Native**](https://reactnative.dev) project, bootstrapped > **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding. +## Architecture Support + +This example app demonstrates the blur view library working with **React Native's New Architecture (Fabric)** enabled. + +The library also supports the **Old Architecture (Paper)**. To test with old architecture: + +**iOS**: In `ios/Podfile`, change: +```ruby +ENV['RCT_NEW_ARCH_ENABLED'] = '0' # or comment out the line +``` + +**Android**: In `android/gradle.properties`, change: +```properties +newArchEnabled=false # or remove the line +``` + +Then clean and rebuild: +```bash +# iOS +cd ios && rm -rf Pods Podfile.lock build && bundle exec pod install && cd .. + +# Android +cd android && ./gradlew clean && cd .. +``` + +The app will work identically with both architectures! 🎉 + ## Step 1: Start Metro First, you will need to run **Metro**, the JavaScript build tool for React Native. diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 5e24e3a..9cc31cc 100755 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -32,7 +32,10 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 # your application. You should enable this flag either if you want # to write custom TurboModules/Fabric components OR use libraries that # are providing them. -newArchEnabled=true +# +# The blur view library supports BOTH old and new architecture. +# Set to true for new architecture, false for old architecture. +newArchEnabled=false # Use this property to enable or disable the Hermes JS engine. # If set to false, you will be using JSC instead. diff --git a/example/ios/Podfile b/example/ios/Podfile index 011d4ba..2d655e5 100755 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,4 +1,7 @@ -ENV['RCT_NEW_ARCH_ENABLED'] = '1' +# Enable or disable React Native's New Architecture (Fabric) +# The blur view library supports BOTH old and new architecture +# Set to '1' for new architecture, '0' or comment out for old architecture +# ENV['RCT_NEW_ARCH_ENABLED'] = '1' # Disabled - using old architecture # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command('node', ['-p', diff --git a/example/metro.config.js b/example/metro.config.js index 78deb88..c8154a3 100755 --- a/example/metro.config.js +++ b/example/metro.config.js @@ -1,8 +1,8 @@ const path = require('path'); -const { getDefaultConfig } = require('@react-native/metro-config'); -const { getConfig } = require('react-native-builder-bob/metro-config'); +const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); const root = path.resolve(__dirname, '..'); +const pak = require('../package.json'); /** * Metro configuration @@ -10,7 +10,56 @@ const root = path.resolve(__dirname, '..'); * * @type {import('metro-config').MetroConfig} */ -module.exports = getConfig(getDefaultConfig(__dirname), { - root, - project: __dirname, -}); +const config = { + projectRoot: __dirname, + watchFolders: [root], + + // We need to make sure that only one version is loaded for peerDependencies + // So we block them at the root, and alias them to the versions in example's node_modules + resolver: { + blacklistRE: new RegExp( + `^${escape(path.join(root, 'node_modules'))}\\/.*$` + ), + + extraNodeModules: { + // Redirect the library package to the parent source + [pak.name]: path.join(root, 'src'), + // Redirect react-native from parent to example + 'react-native': path.resolve(__dirname, 'node_modules/react-native'), + 'react': path.resolve(__dirname, 'node_modules/react'), + }, + + // Tell Metro to resolve the library package from the parent directory + nodeModulesPaths: [ + path.resolve(__dirname, 'node_modules'), + path.resolve(root, 'node_modules'), + ], + + // Resolve source files instead of built files + resolveRequest: (context, moduleName, platform) => { + if (moduleName === pak.name) { + return { + filePath: path.join(root, 'src', 'index.ts'), + type: 'sourceFile', + }; + } + // Fallback to default resolution + return context.resolveRequest(context, moduleName, platform); + }, + }, + + transformer: { + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: true, + }, + }), + }, +}; + +function escape(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +} + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/ios/BlurView.h b/ios/BlurView.h index 477846a..8fe3cbf 100755 --- a/ios/BlurView.h +++ b/ios/BlurView.h @@ -1,14 +1,25 @@ -#import #import - #import "BlurViewEffect.h" +// Check if Fabric (new architecture) is available +#ifdef RCT_NEW_ARCH_ENABLED +#import +#else +#import +#endif + #ifndef BlurViewNativeComponent_h #define BlurViewNativeComponent_h NS_ASSUME_NONNULL_BEGIN +#ifdef RCT_NEW_ARCH_ENABLED +// New architecture: inherit from RCTViewComponentView @interface BlurView : RCTViewComponentView +#else +// Old architecture: inherit from UIView +@interface BlurView : UIView +#endif @property(nonatomic, copy, nullable) NSString *overlayColor; @property(nonatomic, copy, nullable) NSNumber *blurRadius; diff --git a/ios/BlurView.mm b/ios/BlurView.mm index 210e0de..c67c8f2 100755 --- a/ios/BlurView.mm +++ b/ios/BlurView.mm @@ -1,33 +1,40 @@ #import "BlurView.h" #import "BlurViewEffect.h" +#ifdef RCT_NEW_ARCH_ENABLED #import #import #import #import - #import "RCTFabricComponentsPlugins.h" using namespace facebook::react; @interface BlurView () - @end +#else +@interface BlurView () +@end +#endif @implementation BlurView { UIView * _view; } +#ifdef RCT_NEW_ARCH_ENABLED + (ComponentDescriptorProvider)componentDescriptorProvider { return concreteComponentDescriptorProvider(); } +#endif - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { +#ifdef RCT_NEW_ARCH_ENABLED static const auto defaultProps = std::make_shared(); _props = defaultProps; +#endif self.clipsToBounds = YES; self.overlayColor = @"light"; @@ -45,6 +52,7 @@ - (instancetype)initWithFrame:(CGRect)frame return self; } +#ifdef RCT_NEW_ARCH_ENABLED - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps { const auto &oldViewProps = *std::static_pointer_cast(_props); @@ -62,6 +70,7 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const & [super updateProps:props oldProps:oldProps]; } +#endif - (UIBlurEffectStyle)blurEffectStyle { @@ -108,6 +117,7 @@ - (void)updateBlurEffect self.blurEffectView.effect = blurEffect; } +#ifdef RCT_NEW_ARCH_ENABLED - (void)mountChildComponentView:(UIView *)childComponentView index:(NSInteger)index { NSInteger adjustedIndex = index + 2; @@ -118,6 +128,18 @@ - (void)unmountChildComponentView:(UIView *)childCompo { [childComponentView removeFromSuperview]; } +#else +- (void)insertReactSubview:(UIView *)subview atIndex:(NSInteger)atIndex +{ + NSInteger adjustedIndex = atIndex + 1; + [self insertSubview:subview atIndex:adjustedIndex]; +} + +- (void)removeReactSubview:(UIView *)subview +{ + [subview removeFromSuperview]; +} +#endif - (void)layoutSubviews { @@ -148,10 +170,12 @@ - (void)dealloc } } +#ifdef RCT_NEW_ARCH_ENABLED Class BlurViewCls(void) { return BlurView.class; } +#endif - (void)setOverlayColor:(NSString *)overlayColor { diff --git a/ios/BlurViewManager.mm b/ios/BlurViewManager.mm index 3e21d7e..d34e74c 100644 --- a/ios/BlurViewManager.mm +++ b/ios/BlurViewManager.mm @@ -1,7 +1,9 @@ +#ifdef RCT_NEW_ARCH_ENABLED +// New architecture is handled by BlurView.mm Fabric component +#else +// Old architecture - use RCTViewManager #import #import -#import "RCTBridge.h" - #import "BlurView.h" @interface BlurViewManager : RCTViewManager @@ -17,6 +19,7 @@ - (UIView *)view } RCT_EXPORT_VIEW_PROPERTY(overlayColor, NSString); -RCT_EXPORT_VIEW_PROPERTY(radius, NSNumber); +RCT_EXPORT_VIEW_PROPERTY(blurRadius, NSNumber); @end +#endif diff --git a/package.json b/package.json index a061e94..e5636f1 100755 --- a/package.json +++ b/package.json @@ -151,7 +151,8 @@ "componentProvider": { "BlurView": "BlurView" } - } + }, + "excludePlatformsForPackage": [] }, "create-react-native-library": { "languages": "kotlin-objc", diff --git a/src/fabrics/BlurViewNativeComponent.ts b/src/fabrics/BlurViewNativeComponent.ts index bb97645..191d279 100644 --- a/src/fabrics/BlurViewNativeComponent.ts +++ b/src/fabrics/BlurViewNativeComponent.ts @@ -1,11 +1,35 @@ -import type { ViewProps } from 'react-native'; -import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; -import type { Float } from 'react-native/Libraries/Types/CodegenTypes'; +import type { HostComponent, ViewProps } from 'react-native'; +import { requireNativeComponent } from 'react-native'; +// Type definition compatible with both architectures export interface NativeProps extends ViewProps { targetId: string; overlayColor: string; - blurRadius: Float; + blurRadius: number; } -export default codegenNativeComponent('BlurView'); +// Use old architecture (Paper) as default +// This works with both old and new architecture React Native +// The native layer handles architecture detection automatically +const BlurViewNativeComponent: HostComponent = + requireNativeComponent('BlurView'); + +/* + * NEW ARCHITECTURE (Fabric) - Commented out + * Uncomment this section if you want to use Fabric components explicitly + * +// eslint-disable-next-line @typescript-eslint/no-var-requires +try { + // @ts-ignore - Runtime module resolution + const codegenNativeComponent = require('react-native/Libraries/Utilities/codegenNativeComponent') + .default; + BlurViewNativeComponent = codegenNativeComponent('BlurView'); +} catch (e) { + // Fallback to old architecture + // @ts-ignore - Runtime module resolution + const { requireNativeComponent } = require('react-native'); + BlurViewNativeComponent = requireNativeComponent('BlurView'); +} +*/ + +export default BlurViewNativeComponent; diff --git a/src/fabrics/TargetViewNativeComponent.ts b/src/fabrics/TargetViewNativeComponent.ts index 7d9cf60..0dce16b 100644 --- a/src/fabrics/TargetViewNativeComponent.ts +++ b/src/fabrics/TargetViewNativeComponent.ts @@ -1,10 +1,51 @@ -import type { ViewProps } from 'react-native'; -import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; +import type { HostComponent, ViewProps } from 'react-native'; +import { requireNativeComponent, Platform, View } from 'react-native'; export interface NativeProps extends ViewProps { id: string; } -export default codegenNativeComponent('TargetView', { - excludedPlatforms: ['iOS'], -}); +// Use old architecture (Paper) as default +// This works with both old and new architecture React Native +// The native layer handles architecture detection automatically + +// On iOS, we don't need a native component - just use a regular View +// On Android, use the native TargetView component +const TargetViewNativeComponent: HostComponent = + Platform.OS === 'ios' + ? (View as any) + : requireNativeComponent('TargetView'); + +/* + * NEW ARCHITECTURE (Fabric) - Commented out + * Uncomment this section if you want to use Fabric components explicitly + * +// eslint-disable-next-line @typescript-eslint/no-var-requires +try { + // @ts-ignore - Runtime module resolution + const codegenNativeComponent = require('react-native/Libraries/Utilities/codegenNativeComponent') + .default; + TargetViewNativeComponent = codegenNativeComponent( + 'TargetView', + { + excludedPlatforms: ['iOS'], + } + ); +} catch (e) { + // Fallback to old architecture + // @ts-ignore - Runtime module resolution + const { requireNativeComponent, Platform } = require('react-native'); + + // On iOS, we don't need the native component + if (Platform.OS === 'ios') { + // @ts-ignore - Runtime module resolution + const { View } = require('react-native'); + TargetViewNativeComponent = View as any; + } else { + TargetViewNativeComponent = + requireNativeComponent('TargetView'); + } +} +*/ + +export default TargetViewNativeComponent; From 1bcf9649f77e4fe061b21113d0814e966c0e765f Mon Sep 17 00:00:00 2001 From: rahulfancode Date: Mon, 17 Nov 2025 13:13:46 +0530 Subject: [PATCH 2/3] fix(bob): bob version issue fixed --- package.json | 2 +- yarn.lock | 622 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 600 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index e5636f1..634dcb1 100755 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "prettier": "^3.0.3", "react": "19.0.0", "react-native": "0.79.2", - "react-native-builder-bob": "^0.40.10", + "react-native-builder-bob": "^0.30.3", "turbo": "^1.10.7", "typescript": "^5.2.2" }, diff --git a/yarn.lock b/yarn.lock index 384f0a6..3ccc634 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,19 +15,26 @@ __metadata: languageName: node linkType: hard -"@ark/schema@npm:0.46.0": - version: 0.46.0 - resolution: "@ark/schema@npm:0.46.0" +"@ark/schema@npm:0.54.0": + version: 0.54.0 + resolution: "@ark/schema@npm:0.54.0" dependencies: - "@ark/util": 0.46.0 - checksum: a4e7bc0e1c23009c7702ada7cfcbb1638af76f9721c43f96432844ec8616da6fc8121057fb87b0b80142558cf5c3e6141f40443cf43dd026ada8fd4acd635565 + "@ark/util": 0.54.0 + checksum: e77bcb66774d0cb1a648d5b7ba5885358de3c12d6dcbec3b8f6861e92ee330d9cb8732f61afef7c88a1fd8e227eb8dec62d56e2040859cef13c0f023536830f4 languageName: node linkType: hard -"@ark/util@npm:0.46.0": - version: 0.46.0 - resolution: "@ark/util@npm:0.46.0" - checksum: 0c0ceeb10aa0806860f7a7922586a05cda2945f7f598b414b4ebf268a6b45b00f9a854d6afd6b59df58c733e90d00b230194dd6a180a3a23d0eb64612be1b0e0 +"@ark/util@npm:0.53.0": + version: 0.53.0 + resolution: "@ark/util@npm:0.53.0" + checksum: 16d1a7393d310078083b333022dacfe2575cce8133b7348b566f20021605710aa93ffadc2d8c1a499f0e5ac533e610f204e77564db3bf82b1b5799f29988b27d + languageName: node + linkType: hard + +"@ark/util@npm:0.54.0": + version: 0.54.0 + resolution: "@ark/util@npm:0.54.0" + checksum: 76f648b2eb42c0bf7c45d8792f4459bd560067681d26fc55e887ef26d8a04a5b4e548d38be36c9f09d21a76a3838836e6342be04f26b0b91943724782b10503c languageName: node linkType: hard @@ -72,6 +79,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.20.0": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" + dependencies: + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.28.5 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-module-transforms": ^7.28.3 + "@babel/helpers": ^7.28.4 + "@babel/parser": ^7.28.5 + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.28.5 + "@babel/types": ^7.28.5 + "@jridgewell/remapping": ^2.3.5 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: 1ee35b20448f73e9d531091ad4f9e8198dc8f0cebb783263fbff1807342209882ddcaf419be04111326b6f0e494222f7055d71da316c437a6a784d230c11ab9f + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.25.1": version: 7.28.0 resolution: "@babel/eslint-parser@npm:7.28.0" @@ -86,6 +116,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" + dependencies: + "@babel/parser": ^7.28.5 + "@babel/types": ^7.28.5 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 + jsesc: ^3.0.2 + checksum: 3e86fa0197bb33394a85a73dbbca92bb1b3f250a30294c7e327359c0978ad90f36f3d71c7f2965a3fc349cfa82becc8f87e7421c75796c8bc48dd9010dd866d1 + languageName: node + linkType: hard + "@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2": version: 7.28.3 resolution: "@babel/generator@npm:7.28.3" @@ -272,6 +315,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 5a251a6848e9712aea0338f659a1a3bd334d26219d5511164544ca8ec20774f098c3a6661e9da65a0d085c745c00bb62c8fada38a62f08fa1f8053bc0aeb57e4 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-option@npm:7.27.1" @@ -300,6 +350,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.4 + checksum: a8706219e0bd60c18bbb8e010aa122e9b14e7e7e67c21cc101e6f1b5e79dcb9a18d674f655997f85daaf421aa138cf284710bb04371a2255a0a3137f097430b4 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3": version: 7.28.3 resolution: "@babel/parser@npm:7.28.3" @@ -311,6 +371,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.20.0, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" + dependencies: + "@babel/types": ^7.28.5 + bin: + parser: ./bin/babel-parser.js + checksum: 5c2456e3f26c70d4a3ce1a220b529a91a2df26c54a2894fd0dea2342699ea1067ffdda9f0715eeab61da46ff546fd5661bc70be6d8d11977cbe21f5f0478819a + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" @@ -836,7 +907,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.26.5": +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.26.5, @babel/plugin-transform-flow-strip-types@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: @@ -1439,6 +1510,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/preset-flow@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-option": ^7.27.1 + "@babel/plugin-transform-flow-strip-types": ^7.27.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f3f25b390debf72a6ff0170a2d5198aea344ba96f05eaca0bae2c7072119706fd46321604d89646bda1842527cfc6eab8828a983ec90149218d2120b9cd26596 + languageName: node + linkType: hard + "@babel/preset-modules@npm:0.1.6-no-external-plugins": version: 0.1.6-no-external-plugins resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" @@ -1490,7 +1574,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.0.0, @babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -1516,6 +1600,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" + dependencies: + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.28.5 + "@babel/helper-globals": ^7.28.0 + "@babel/parser": ^7.28.5 + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.5 + debug: ^4.3.1 + checksum: e028ee9654f44be7c2a2df268455cee72d5c424c9ae536785f8f7c8680356f7b977c77ad76909d07eeed09ff1e125ce01cf783011f66b56c838791a85fa6af04 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.28.2 resolution: "@babel/types@npm:7.28.2" @@ -1526,6 +1625,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.20.0, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" + dependencies: + "@babel/helper-string-parser": ^7.27.1 + "@babel/helper-validator-identifier": ^7.28.5 + checksum: 5bc266af9e55ff92f9ddf33d83a42c9de1a87f9579d0ed62ef94a741a081692dd410a4fbbab18d514b83e135083ff05bc0e37003834801c9514b9d8ad748070d + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1774,7 +1883,7 @@ __metadata: prettier: ^3.0.3 react: 19.0.0 react-native: 0.79.2 - react-native-builder-bob: ^0.40.10 + react-native-builder-bob: ^0.30.3 turbo: ^1.10.7 typescript: ^5.2.2 peerDependencies: @@ -2278,6 +2387,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: 4a66a7397c3dc9c6b5c14a0024b1f98c5e1d90a0dbc1e5955b5038f2db339904df2a0ee8a66559fafb4fc23ff33700a2639fd40bbdd2e9e82b58b3bdf83738e3 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -4317,13 +4436,23 @@ __metadata: languageName: node linkType: hard +"arkregex@npm:0.0.2": + version: 0.0.2 + resolution: "arkregex@npm:0.0.2" + dependencies: + "@ark/util": 0.53.0 + checksum: 5b6780b885398a89352f4278a6afb7d4d93820839fb00bfe5eb92a90fd282810750a4f00b025a1924b56654357e70ca5c5ec2ced01302d0e76c011704c4bb596 + languageName: node + linkType: hard + "arktype@npm:^2.1.15": - version: 2.1.20 - resolution: "arktype@npm:2.1.20" + version: 2.1.26 + resolution: "arktype@npm:2.1.26" dependencies: - "@ark/schema": 0.46.0 - "@ark/util": 0.46.0 - checksum: 5c02dda98606b83b35bbc66934259e3f30c4b4486c32e470e199da533c0af568951502173d7d7a5e64a2e53667eb36d10d772ce46c0bff204fab759430614c9b + "@ark/schema": 0.54.0 + "@ark/util": 0.54.0 + arkregex: 0.0.2 + checksum: 5862069b85cf0ac2f3f5436fe880c04fbd62a8fd840505bccb8e2042952a708f8d56959bd7c5dfc7915588453e40dbd48fbf466a52f1635a99038f17ccbeecf1 languageName: node linkType: hard @@ -4519,6 +4648,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-module-resolver@npm:^5.0.2": + version: 5.0.2 + resolution: "babel-plugin-module-resolver@npm:5.0.2" + dependencies: + find-babel-config: ^2.1.1 + glob: ^9.3.3 + pkg-up: ^3.1.0 + reselect: ^4.1.7 + resolve: ^1.22.8 + checksum: f1d198acbbbd0b76c9c0c4aacbf9f1ef90f8d36b3d5209d9e7a75cadee2113a73711550ebddeb9464d143b71df19adc75e165dff99ada2614d7ea333affe3b5a + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.14": version: 0.4.14 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" @@ -5771,6 +5913,13 @@ __metadata: languageName: node linkType: hard +"denodeify@npm:^1.2.1": + version: 1.2.1 + resolution: "denodeify@npm:1.2.1" + checksum: a85c8f7fce5626e311edd897c27ad571b29393c4a739dc29baee48328e09edd82364ff697272dd612462c67e48b4766389642b5bdfaea0dc114b7c6a276c0eae + languageName: node + linkType: hard + "depd@npm:2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" @@ -6678,6 +6827,24 @@ __metadata: languageName: node linkType: hard +"find-babel-config@npm:^2.1.1": + version: 2.1.2 + resolution: "find-babel-config@npm:2.1.2" + dependencies: + json5: ^2.2.3 + checksum: 268f29cb38ee086b0f953c89f762dcea30b5b0e14abee2b39516410c00b49baa6821f598bd50346c93584e5625c5740f5c8b7e34993f568787a068f84dacc8c2 + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -7064,6 +7231,18 @@ __metadata: languageName: node linkType: hard +"glob@npm:^9.3.3": + version: 9.3.5 + resolution: "glob@npm:9.3.5" + dependencies: + fs.realpath: ^1.0.0 + minimatch: ^8.0.2 + minipass: ^4.2.4 + path-scurry: ^1.6.1 + checksum: 94b093adbc591bc36b582f77927d1fb0dbf3ccc231828512b017601408be98d1fe798fc8c0b19c6f2d1a7660339c3502ce698de475e9d938ccbb69b47b647c84 + languageName: node + linkType: hard + "global-dirs@npm:^0.1.1": version: 0.1.1 resolution: "global-dirs@npm:0.1.1" @@ -7234,6 +7413,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.23.1": + version: 0.23.1 + resolution: "hermes-estree@npm:0.23.1" + checksum: 0f63edc365099304f4cd8e91a3666a4fb5a2a47baee751dc120df9201640112865944cae93617f554af71be9827e96547f9989f4972d6964ecc121527295fec6 + languageName: node + linkType: hard + "hermes-estree@npm:0.25.1": version: 0.25.1 resolution: "hermes-estree@npm:0.25.1" @@ -7255,6 +7441,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.23.1": + version: 0.23.1 + resolution: "hermes-parser@npm:0.23.1" + dependencies: + hermes-estree: 0.23.1 + checksum: a08008928aea9ea9a2cab2c0fac3cffa21f7869ab3fabb68e5add0fe057737a0c352d7a446426f7956172ccc8f2d4a215b4fc20d1d08354fc8dc16772c248fce + languageName: node + linkType: hard + "hermes-parser@npm:0.25.1": version: 0.25.1 resolution: "hermes-parser@npm:0.25.1" @@ -7706,7 +7901,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -8570,7 +8765,7 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^29.7.0": +"jest-validate@npm:^29.6.3, jest-validate@npm:^29.7.0": version: 29.7.0 resolution: "jest-validate@npm:29.7.0" dependencies: @@ -8600,7 +8795,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.7.0": +"jest-worker@npm:^29.6.3, jest-worker@npm:^29.7.0": version: 29.7.0 resolution: "jest-worker@npm:29.7.0" dependencies: @@ -9045,6 +9240,16 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -9429,6 +9634,18 @@ __metadata: languageName: node linkType: hard +"metro-babel-transformer@npm:0.80.12": + version: 0.80.12 + resolution: "metro-babel-transformer@npm:0.80.12" + dependencies: + "@babel/core": ^7.20.0 + flow-enums-runtime: ^0.0.6 + hermes-parser: 0.23.1 + nullthrows: ^1.1.1 + checksum: 1ea8bce0c169f3d8bf46f56da126ca52f4c8ba5ca9ffeaca987c34d269b0a3e2a54d0544bd44bfa5d0322e37f0171a52d2a2160defcbcd91ec1fd96f62b0eece + languageName: node + linkType: hard + "metro-babel-transformer@npm:0.82.5": version: 0.82.5 resolution: "metro-babel-transformer@npm:0.82.5" @@ -9441,6 +9658,15 @@ __metadata: languageName: node linkType: hard +"metro-cache-key@npm:0.80.12": + version: 0.80.12 + resolution: "metro-cache-key@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: 7a06601180604361339d19eb833d61b79cc188a4e6ebe73188cc10fbf3a33e711d74c81d1d19a14b6581bd9dfeebe1b253684360682d033ab55909c9995b6a18 + languageName: node + linkType: hard + "metro-cache-key@npm:0.82.5": version: 0.82.5 resolution: "metro-cache-key@npm:0.82.5" @@ -9450,6 +9676,17 @@ __metadata: languageName: node linkType: hard +"metro-cache@npm:0.80.12": + version: 0.80.12 + resolution: "metro-cache@npm:0.80.12" + dependencies: + exponential-backoff: ^3.1.1 + flow-enums-runtime: ^0.0.6 + metro-core: 0.80.12 + checksum: 724e33fdda6a3568572c36a3f2d3465ad1b5f3e8ded5ec116b98e0038826187ebdadd05f77e91ddc17fa71ff4dd91281793a940e7b619cac36044ed868abc01d + languageName: node + linkType: hard + "metro-cache@npm:0.82.5": version: 0.82.5 resolution: "metro-cache@npm:0.82.5" @@ -9462,6 +9699,22 @@ __metadata: languageName: node linkType: hard +"metro-config@npm:0.80.12, metro-config@npm:^0.80.9": + version: 0.80.12 + resolution: "metro-config@npm:0.80.12" + dependencies: + connect: ^3.6.5 + cosmiconfig: ^5.0.5 + flow-enums-runtime: ^0.0.6 + jest-validate: ^29.6.3 + metro: 0.80.12 + metro-cache: 0.80.12 + metro-core: 0.80.12 + metro-runtime: 0.80.12 + checksum: 49496d2bc875fbb8c89639979753377888f5ce779742a4ef487d812e7c5f3f6c87dd6ae129727f614d2fe3210f7fde08041055d29772b8c86c018e2ef08e7785 + languageName: node + linkType: hard + "metro-config@npm:0.82.5, metro-config@npm:^0.82.0": version: 0.82.5 resolution: "metro-config@npm:0.82.5" @@ -9478,6 +9731,17 @@ __metadata: languageName: node linkType: hard +"metro-core@npm:0.80.12": + version: 0.80.12 + resolution: "metro-core@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + lodash.throttle: ^4.1.1 + metro-resolver: 0.80.12 + checksum: 319f3965fa76fc08987cbd0228024bdbb0eaad7406e384e48929674188f1066cbc7a233053615ebd84b3ce1bbae28f59c114885fd0a0c179a580319ed69f717e + languageName: node + linkType: hard + "metro-core@npm:0.82.5, metro-core@npm:^0.82.0": version: 0.82.5 resolution: "metro-core@npm:0.82.5" @@ -9489,6 +9753,29 @@ __metadata: languageName: node linkType: hard +"metro-file-map@npm:0.80.12": + version: 0.80.12 + resolution: "metro-file-map@npm:0.80.12" + dependencies: + anymatch: ^3.0.3 + debug: ^2.2.0 + fb-watchman: ^2.0.0 + flow-enums-runtime: ^0.0.6 + fsevents: ^2.3.2 + graceful-fs: ^4.2.4 + invariant: ^2.2.4 + jest-worker: ^29.6.3 + micromatch: ^4.0.4 + node-abort-controller: ^3.1.1 + nullthrows: ^1.1.1 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 5e6eafcfafe55fd8a9a6e5613394a20ed2a0ad433a394dcb830f017b8fc9d82ddcd715391e36abe5e98c651c074b99a806d3b04d76f2cadb225f9f5b1c92daef + languageName: node + linkType: hard + "metro-file-map@npm:0.82.5": version: 0.82.5 resolution: "metro-file-map@npm:0.82.5" @@ -9506,6 +9793,16 @@ __metadata: languageName: node linkType: hard +"metro-minify-terser@npm:0.80.12": + version: 0.80.12 + resolution: "metro-minify-terser@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + terser: ^5.15.0 + checksum: ff527b3f04c5814db139e55ceb7689aaaf0af5c7fbb0eb5d4a6f22044932dfb10bd385d388fa7b352acd03a2d078edaf43a6b5cd11cbc87a7c5502a34fc12735 + languageName: node + linkType: hard + "metro-minify-terser@npm:0.82.5": version: 0.82.5 resolution: "metro-minify-terser@npm:0.82.5" @@ -9516,6 +9813,15 @@ __metadata: languageName: node linkType: hard +"metro-resolver@npm:0.80.12": + version: 0.80.12 + resolution: "metro-resolver@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: a520030a65afab2f3282604ef6dec802051899a356910606b8ffbc5b82a722008d9d416c8ba3d9ef9527912206586b713733b776803a6b76adac72bcb31870cd + languageName: node + linkType: hard + "metro-resolver@npm:0.82.5": version: 0.82.5 resolution: "metro-resolver@npm:0.82.5" @@ -9525,6 +9831,16 @@ __metadata: languageName: node linkType: hard +"metro-runtime@npm:0.80.12": + version: 0.80.12 + resolution: "metro-runtime@npm:0.80.12" + dependencies: + "@babel/runtime": ^7.25.0 + flow-enums-runtime: ^0.0.6 + checksum: 11a6d36c7dcf9d221f7de6989556f45d4d64cd1cdd225ec96273b584138b4aa77b7afdc9e9a9488d1dc9a3d90f8e94bb68ab149079cc6ebdb8f8f8b03462cb4f + languageName: node + linkType: hard + "metro-runtime@npm:0.82.5, metro-runtime@npm:^0.82.0": version: 0.82.5 resolution: "metro-runtime@npm:0.82.5" @@ -9535,6 +9851,23 @@ __metadata: languageName: node linkType: hard +"metro-source-map@npm:0.80.12": + version: 0.80.12 + resolution: "metro-source-map@npm:0.80.12" + dependencies: + "@babel/traverse": ^7.20.0 + "@babel/types": ^7.20.0 + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + metro-symbolicate: 0.80.12 + nullthrows: ^1.1.1 + ob1: 0.80.12 + source-map: ^0.5.6 + vlq: ^1.0.0 + checksum: 39575bff8666abd0944ec71e01a0c0eacbeab48277528608e894ffa6691c4267c389ee51ad86d5cd8e96f13782b66e1f693a3c60786bb201268678232dce6130 + languageName: node + linkType: hard + "metro-source-map@npm:0.82.5, metro-source-map@npm:^0.82.0": version: 0.82.5 resolution: "metro-source-map@npm:0.82.5" @@ -9553,6 +9886,23 @@ __metadata: languageName: node linkType: hard +"metro-symbolicate@npm:0.80.12": + version: 0.80.12 + resolution: "metro-symbolicate@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + metro-source-map: 0.80.12 + nullthrows: ^1.1.1 + source-map: ^0.5.6 + through2: ^2.0.1 + vlq: ^1.0.0 + bin: + metro-symbolicate: src/index.js + checksum: b775e4613deec421f6287918d0055c50bb2a38fe3f72581eb70b9441e4497c9c7413c2929c579b24fb76893737b6d5af83a5f6cd8c032e2a83957091f82ec5de + languageName: node + linkType: hard + "metro-symbolicate@npm:0.82.5": version: 0.82.5 resolution: "metro-symbolicate@npm:0.82.5" @@ -9569,6 +9919,20 @@ __metadata: languageName: node linkType: hard +"metro-transform-plugins@npm:0.80.12": + version: 0.80.12 + resolution: "metro-transform-plugins@npm:0.80.12" + dependencies: + "@babel/core": ^7.20.0 + "@babel/generator": ^7.20.0 + "@babel/template": ^7.0.0 + "@babel/traverse": ^7.20.0 + flow-enums-runtime: ^0.0.6 + nullthrows: ^1.1.1 + checksum: 85c99c367d6c0b9721af744fc980372329c6d37711177660e2d5e2dbe5e92e2cd853604eb8a513ad824eafbed84663472fa304cbbe2036957ee8688b72c2324c + languageName: node + linkType: hard + "metro-transform-plugins@npm:0.82.5": version: 0.82.5 resolution: "metro-transform-plugins@npm:0.82.5" @@ -9583,6 +9947,27 @@ __metadata: languageName: node linkType: hard +"metro-transform-worker@npm:0.80.12": + version: 0.80.12 + resolution: "metro-transform-worker@npm:0.80.12" + dependencies: + "@babel/core": ^7.20.0 + "@babel/generator": ^7.20.0 + "@babel/parser": ^7.20.0 + "@babel/types": ^7.20.0 + flow-enums-runtime: ^0.0.6 + metro: 0.80.12 + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-minify-terser: 0.80.12 + metro-source-map: 0.80.12 + metro-transform-plugins: 0.80.12 + nullthrows: ^1.1.1 + checksum: 90684b1f1163bfc84b11bfc01082a38de2a5dd9f7bcabc524bc84f1faff32222954f686a60bc0f464d3e46e86c4c01435111e2ed0e9767a5efbfaf205f55245e + languageName: node + linkType: hard + "metro-transform-worker@npm:0.82.5": version: 0.82.5 resolution: "metro-transform-worker@npm:0.82.5" @@ -9604,6 +9989,58 @@ __metadata: languageName: node linkType: hard +"metro@npm:0.80.12": + version: 0.80.12 + resolution: "metro@npm:0.80.12" + dependencies: + "@babel/code-frame": ^7.0.0 + "@babel/core": ^7.20.0 + "@babel/generator": ^7.20.0 + "@babel/parser": ^7.20.0 + "@babel/template": ^7.0.0 + "@babel/traverse": ^7.20.0 + "@babel/types": ^7.20.0 + accepts: ^1.3.7 + chalk: ^4.0.0 + ci-info: ^2.0.0 + connect: ^3.6.5 + debug: ^2.2.0 + denodeify: ^1.2.1 + error-stack-parser: ^2.0.6 + flow-enums-runtime: ^0.0.6 + graceful-fs: ^4.2.4 + hermes-parser: 0.23.1 + image-size: ^1.0.2 + invariant: ^2.2.4 + jest-worker: ^29.6.3 + jsc-safe-url: ^0.2.2 + lodash.throttle: ^4.1.1 + metro-babel-transformer: 0.80.12 + metro-cache: 0.80.12 + metro-cache-key: 0.80.12 + metro-config: 0.80.12 + metro-core: 0.80.12 + metro-file-map: 0.80.12 + metro-resolver: 0.80.12 + metro-runtime: 0.80.12 + metro-source-map: 0.80.12 + metro-symbolicate: 0.80.12 + metro-transform-plugins: 0.80.12 + metro-transform-worker: 0.80.12 + mime-types: ^2.1.27 + nullthrows: ^1.1.1 + serialize-error: ^2.1.0 + source-map: ^0.5.6 + strip-ansi: ^6.0.0 + throat: ^5.0.0 + ws: ^7.5.10 + yargs: ^17.6.2 + bin: + metro: src/cli.js + checksum: 8016f7448e6e0947bd38633c01c3daad47b5a29d4a7294ebe922fa3c505430f78861d85965ecfc6f41d9b209e2663cac0f23c99a80a3f941a19de564203fcdb8 + languageName: node + linkType: hard + "metro@npm:0.82.5, metro@npm:^0.82.0": version: 0.82.5 resolution: "metro@npm:0.82.5" @@ -9744,6 +10181,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^8.0.2": + version: 8.0.4 + resolution: "minimatch@npm:8.0.4" + dependencies: + brace-expansion: ^2.0.1 + checksum: 2e46cffb86bacbc524ad45a6426f338920c529dd13f3a732cc2cf7618988ee1aae88df4ca28983285aca9e0f45222019ac2d14ebd17c1edadd2ee12221ab801a + languageName: node + linkType: hard + "minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -9880,6 +10326,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^4.2.4": + version: 4.2.8 + resolution: "minipass@npm:4.2.8" + checksum: 7f4914d5295a9a30807cae5227a37a926e6d910c03f315930fde52332cf0575dfbc20295318f91f0baf0e6bb11a6f668e30cde8027dea7a11b9d159867a3c830 + languageName: node + linkType: hard + "minipass@npm:^5.0.0": version: 5.0.0 resolution: "minipass@npm:5.0.0" @@ -10017,6 +10470,13 @@ __metadata: languageName: node linkType: hard +"node-abort-controller@npm:^3.1.1": + version: 3.1.1 + resolution: "node-abort-controller@npm:3.1.1" + checksum: 2c340916af9710328b11c0828223fc65ba320e0d082214a211311bf64c2891028e42ef276b9799188c4ada9e6e1c54cf7a0b7c05dd9d59fcdc8cd633304c8047 + languageName: node + linkType: hard + "node-gyp@npm:^9.0.0, node-gyp@npm:^9.4.1": version: 9.4.1 resolution: "node-gyp@npm:9.4.1" @@ -10400,6 +10860,15 @@ __metadata: languageName: node linkType: hard +"ob1@npm:0.80.12": + version: 0.80.12 + resolution: "ob1@npm:0.80.12" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: c78af51d6ecf47ba5198bc7eb27d0456a287589533f1445e6d595e2d067f6f8038da02a98e5faa4a6c3d0c04f77c570bc9b29c652fec55518884c40c73212f17 + languageName: node + linkType: hard + "ob1@npm:0.82.5": version: 0.82.5 resolution: "ob1@npm:0.82.5" @@ -10600,7 +11069,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.2.0": +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -10627,6 +11096,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -10790,6 +11268,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -10832,7 +11317,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.1": +"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -10886,6 +11371,15 @@ __metadata: languageName: node linkType: hard +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: ^3.0.0 + checksum: 5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -11240,6 +11734,38 @@ __metadata: languageName: unknown linkType: soft +"react-native-builder-bob@npm:^0.30.3": + version: 0.30.3 + resolution: "react-native-builder-bob@npm:0.30.3" + dependencies: + "@babel/core": ^7.25.2 + "@babel/plugin-transform-strict-mode": ^7.24.7 + "@babel/preset-env": ^7.25.2 + "@babel/preset-flow": ^7.24.7 + "@babel/preset-react": ^7.24.7 + "@babel/preset-typescript": ^7.24.7 + babel-plugin-module-resolver: ^5.0.2 + browserslist: ^4.20.4 + cosmiconfig: ^9.0.0 + cross-spawn: ^7.0.3 + dedent: ^0.7.0 + del: ^6.1.1 + escape-string-regexp: ^4.0.0 + fs-extra: ^10.1.0 + glob: ^8.0.3 + is-git-dirty: ^2.0.1 + json5: ^2.2.1 + kleur: ^4.1.4 + metro-config: ^0.80.9 + prompts: ^2.4.2 + which: ^2.0.2 + yargs: ^17.5.1 + bin: + bob: bin/bob + checksum: 32b2159559a08310656b6b2f5f591a6aeeb9595f0f2d0e8dff7602af6aa62f59ae7206b023789de0a08f231d747c9bcab19e3efc874fad124b38e40c61f1ec90 + languageName: node + linkType: hard + "react-native-builder-bob@npm:^0.40.10": version: 0.40.13 resolution: "react-native-builder-bob@npm:0.40.13" @@ -11561,7 +12087,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.0": +"readable-stream@npm:^2.0.0, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -11711,6 +12237,13 @@ __metadata: languageName: node linkType: hard +"reselect@npm:^4.1.7": + version: 4.1.8 + resolution: "reselect@npm:4.1.8" + checksum: a4ac87cedab198769a29be92bc221c32da76cfdad6911eda67b4d3e7136dca86208c3b210e31632eae31ebd2cded18596f0dd230d3ccc9e978df22f233b5583e + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -11770,6 +12303,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.22.8": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" + dependencies: + is-core-module: ^2.16.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 6d5baa2156b95a65ac431e7642e21106584e9f4194da50871cae8bc1bbd2b53bb7cee573c92543d83bb999620b224a087f62379d800ed1ccb189da6df5d78d50 + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.5": version: 2.0.0-next.5 resolution: "resolve@npm:2.0.0-next.5" @@ -11796,6 +12342,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.22.8#~builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#~builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: ^2.16.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 1462da84ac3410d7c2e12e4f5f25c1423d8a174c3b4245c43eafea85e7bbe6af3eb7ec10a4850b5e518e8531608604742b8cbd761e1acd7ad1035108b7c98013 + languageName: node + linkType: hard + "resolve@patch:resolve@^2.0.0-next.5#~builtin": version: 2.0.0-next.5 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" @@ -12761,6 +13320,16 @@ __metadata: languageName: node linkType: hard +"through2@npm:^2.0.1": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + "through2@npm:^4.0.0": version: 4.0.2 resolution: "through2@npm:4.0.2" @@ -13648,6 +14217,13 @@ __metadata: languageName: node linkType: hard +"xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3" From 7b6dd7f26db32f532fb022e4e033fa1b34af3daa Mon Sep 17 00:00:00 2001 From: rahulfancode Date: Mon, 17 Nov 2025 18:11:11 +0530 Subject: [PATCH 3/3] fix(bob): fixed package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 634dcb1..854aa5d 100755 --- a/package.json +++ b/package.json @@ -161,7 +161,7 @@ }, "react-native": { "android": { - "sourceDir": "../android", + "sourceDir": "./android", "packageImportPath": "import com.blurview.BlurViewPackage;" }, "ios": {