From 2777d8cbfc1cdc88e95f7240790d709a5f67044a Mon Sep 17 00:00:00 2001 From: Fran Aguilera Date: Mon, 15 Sep 2025 14:30:03 +0200 Subject: [PATCH 1/2] Adding react native version fields --- packages/react-native/src/index.tsx | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/react-native/src/index.tsx b/packages/react-native/src/index.tsx index 435e8b6..474a95e 100644 --- a/packages/react-native/src/index.tsx +++ b/packages/react-native/src/index.tsx @@ -46,8 +46,34 @@ export function init( ): void { api_url = options?.url ?? 'api.bitdrift.io'; api_key = key; + + BdReactNative.init(key, sessionStrategy, options ?? {}); - return BdReactNative.init(key, sessionStrategy, options ?? {}); + addGlobalFields(); +} + +function addGlobalFields() { + const safeGet = (getter: () => string) => { + try { + return getter(); + } catch { + return 'unknown'; + } + }; + + const reactNativeVersion = safeGet( + () => require('react-native/package.json').version + ); + addField('react_native_version', reactNativeVersion); + + const sdkVersion = safeGet(() => require('../package.json').version); + addField('bitdrift_react_native_sdk_version', sdkVersion); + + const platform = safeGet(() => { + const { Platform } = require('react-native'); + return Platform.OS; + }); + addField('platform', platform); } export function trace(message: string, fields?: SerializableLogFields): void { From afee199859cb3c416ad7d3a73849c9b1fae8665d Mon Sep 17 00:00:00 2001 From: Fran Aguilera Date: Mon, 15 Sep 2025 15:53:41 +0200 Subject: [PATCH 2/2] PR feedback - Add resolveJsonModule --- packages/react-native/src/index.tsx | 26 +++++--------------------- tsconfig.base.json | 1 + 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/packages/react-native/src/index.tsx b/packages/react-native/src/index.tsx index 474a95e..6faaea9 100644 --- a/packages/react-native/src/index.tsx +++ b/packages/react-native/src/index.tsx @@ -8,6 +8,8 @@ import { } from './log'; import { InitOptions, SessionStrategy, CrashReportingOptions } from './NativeBdReactNative'; import NativeBdReactNative from './NativeBdReactNative'; +import reactNativePackageJson from 'react-native/package.json'; +import packageJson from '../package.json'; export { SessionStrategy, CrashReportingOptions } from './NativeBdReactNative'; let api_url: string; @@ -53,27 +55,9 @@ export function init( } function addGlobalFields() { - const safeGet = (getter: () => string) => { - try { - return getter(); - } catch { - return 'unknown'; - } - }; - - const reactNativeVersion = safeGet( - () => require('react-native/package.json').version - ); - addField('react_native_version', reactNativeVersion); - - const sdkVersion = safeGet(() => require('../package.json').version); - addField('bitdrift_react_native_sdk_version', sdkVersion); - - const platform = safeGet(() => { - const { Platform } = require('react-native'); - return Platform.OS; - }); - addField('platform', platform); + addField('react_native_version', reactNativePackageJson.version); + addField('bitdrift_react_native_sdk_version', packageJson.version); + addField('platform', Platform.OS); } export function trace(message: string, fields?: SerializableLogFields): void { diff --git a/tsconfig.base.json b/tsconfig.base.json index 7e9b8f1..32e8d7e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -6,6 +6,7 @@ "sourceMap": true, "declaration": false, "moduleResolution": "node", + "resolveJsonModule": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true,