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": {