From ed1e6df744fa5beb744cbd175300e10a1a258619 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Thu, 20 Aug 2026 18:11:57 +0200 Subject: [PATCH] fix: Mark react-native-nitro-modules peer dependency as optional Semver ranges never match pre-releases, so a required peer of "*" does not match e.g. 0.37.0-beta.0. Package managers then install a second, stable copy of Nitro next to the pre-release, and the native/JS version guard throws "Nitro was installed twice" at runtime. Marking the peer optional leaves the consuming app in full control of the installed Nitro version. --- bun.lock | 7 +++++-- packages/react-native-mmkv/package.json | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bun.lock b/bun.lock index d46d0bd9..3dcdb763 100644 --- a/bun.lock +++ b/bun.lock @@ -17,7 +17,7 @@ }, "example": { "name": "mmkv-example", - "version": "4.3.1", + "version": "4.3.2", "dependencies": { "@react-native/new-app-screen": "0.85.3", "http-proxy": "^1.18.1", @@ -58,7 +58,7 @@ }, "packages/react-native-mmkv": { "name": "react-native-mmkv", - "version": "4.3.1", + "version": "4.3.2", "devDependencies": { "@react-native/eslint-config": "0.85.3", "@react-native/jest-preset": "0.85.3", @@ -79,6 +79,9 @@ "react-native": "*", "react-native-nitro-modules": "*", }, + "optionalPeers": [ + "react-native-nitro-modules", + ], }, }, "packages": { diff --git a/packages/react-native-mmkv/package.json b/packages/react-native-mmkv/package.json index 324dfb75..007d89f8 100644 --- a/packages/react-native-mmkv/package.json +++ b/packages/react-native-mmkv/package.json @@ -78,6 +78,11 @@ "react-native": "*", "react-native-nitro-modules": "*" }, + "peerDependenciesMeta": { + "react-native-nitro-modules": { + "optional": true + } + }, "eslintConfig": { "root": true, "extends": [