diff --git a/example/src/plugins/ConsentManager.tsx b/example/src/plugins/ConsentManager.tsx index 204d35e1..9e4803da 100644 --- a/example/src/plugins/ConsentManager.tsx +++ b/example/src/plugins/ConsentManager.tsx @@ -4,7 +4,7 @@ import { SegmentEvent, } from '@segment/analytics-react-native'; -import type { SegmentClient } from '@segment/analytics-react-native/src/analytics'; +import type { SegmentClient } from '@segment/analytics-react-native'; import { Alert } from 'react-native'; diff --git a/packages/core/src/analytics.ts b/packages/core/src/analytics.ts index 39a05d92..fb75134a 100644 --- a/packages/core/src/analytics.ts +++ b/packages/core/src/analytics.ts @@ -42,9 +42,6 @@ import { import { getPluginsWithFlush, getPluginsWithReset } from './util'; import { getUUID } from './uuid'; -// Important! We need to polyfill Promise.allSettled because it's not supported in RN (https://github.com/facebook/react-native/issues/30236) -allSettled.shim(); - type OnContextLoadCallback = (type: UpdateType) => void | Promise; export class SegmentClient { @@ -469,7 +466,7 @@ export class SegmentClient { promises.push(plugin.flush()); }); - await Promise.allSettled(promises); + await allSettled(promises); return Promise.resolve(); } diff --git a/packages/core/src/info.ts b/packages/core/src/info.ts index 77be43e9..34b139e6 100644 --- a/packages/core/src/info.ts +++ b/packages/core/src/info.ts @@ -1,4 +1,4 @@ export const libraryInfo = { name: '@segment/analytics-react-native', - version: '2.4.0', + version: '2.5.0', }; diff --git a/packages/core/src/plugins/QueueFlushingPlugin.ts b/packages/core/src/plugins/QueueFlushingPlugin.ts index c55b56df..02124057 100644 --- a/packages/core/src/plugins/QueueFlushingPlugin.ts +++ b/packages/core/src/plugins/QueueFlushingPlugin.ts @@ -2,7 +2,7 @@ import { createStore, Store, Unsubscribe } from '@segment/sovran-react-native'; import type { SegmentClient } from '../analytics'; import { defaultConfig } from '../constants'; import { UtilityPlugin } from '../plugin'; -import { PluginType, type SegmentEvent } from '../types'; +import { PluginType, SegmentEvent } from '../types'; /** * This plugin manages a queue where all events get added to after timeline processing. diff --git a/packages/plugins/plugin-advertising-id/src/AdvertisingIdPlugin.ts b/packages/plugins/plugin-advertising-id/src/AdvertisingIdPlugin.ts index 2044facc..6d463990 100644 --- a/packages/plugins/plugin-advertising-id/src/AdvertisingIdPlugin.ts +++ b/packages/plugins/plugin-advertising-id/src/AdvertisingIdPlugin.ts @@ -1,6 +1,9 @@ //@ts-ignore -import { Plugin, PluginType } from '@segment/analytics-react-native'; -import type { SegmentClient } from '@segment/analytics-react-native/src/analytics'; +import { + Plugin, + PluginType, + SegmentClient, +} from '@segment/analytics-react-native'; import { NativeModules } from 'react-native'; export class AdvertisingIdPlugin extends Plugin { diff --git a/packages/plugins/plugin-facebook-app-events/src/FacebookAppEventsPlugin.ts b/packages/plugins/plugin-facebook-app-events/src/FacebookAppEventsPlugin.ts index 5f64e16c..ec96cacd 100644 --- a/packages/plugins/plugin-facebook-app-events/src/FacebookAppEventsPlugin.ts +++ b/packages/plugins/plugin-facebook-app-events/src/FacebookAppEventsPlugin.ts @@ -9,7 +9,7 @@ import { } from '@segment/analytics-react-native'; import track from './methods/track'; import screen from './methods/screen'; -import type { SegmentClient } from '@segment/analytics-react-native/src/analytics'; +import type { SegmentClient } from '@segment/analytics-react-native'; import { Settings } from 'react-native-fbsdk-next'; diff --git a/packages/plugins/plugin-firebase/src/methods/___tests__/identify.test.ts b/packages/plugins/plugin-firebase/src/methods/___tests__/identify.test.ts index adabddc3..a152374f 100644 --- a/packages/plugins/plugin-firebase/src/methods/___tests__/identify.test.ts +++ b/packages/plugins/plugin-firebase/src/methods/___tests__/identify.test.ts @@ -1,4 +1,4 @@ -import type { IdentifyEventType } from '@segment/analytics-react-native/src'; +import type { IdentifyEventType } from '@segment/analytics-react-native'; import identify from '../identify'; const mockSetUserId = jest.fn(); diff --git a/packages/plugins/plugin-firebase/src/methods/___tests__/screen.test.ts b/packages/plugins/plugin-firebase/src/methods/___tests__/screen.test.ts index 4ccff064..9fb0d5eb 100644 --- a/packages/plugins/plugin-firebase/src/methods/___tests__/screen.test.ts +++ b/packages/plugins/plugin-firebase/src/methods/___tests__/screen.test.ts @@ -1,4 +1,4 @@ -import type { ScreenEventType } from '@segment/analytics-react-native/src'; +import type { ScreenEventType } from '@segment/analytics-react-native'; import screen from '../screen'; const mockScreen = jest.fn(); diff --git a/packages/plugins/plugin-firebase/src/methods/screen.ts b/packages/plugins/plugin-firebase/src/methods/screen.ts index c57a69a7..26dc5c22 100644 --- a/packages/plugins/plugin-firebase/src/methods/screen.ts +++ b/packages/plugins/plugin-firebase/src/methods/screen.ts @@ -1,5 +1,5 @@ import firebaseAnalytics from '@react-native-firebase/analytics'; -import type { ScreenEventType } from '@segment/analytics-react-native/src'; +import type { ScreenEventType } from '@segment/analytics-react-native'; export default async (event: ScreenEventType) => { await firebaseAnalytics().logScreenView({ diff --git a/packages/plugins/plugin-idfa/src/IdfaPlugin.tsx b/packages/plugins/plugin-idfa/src/IdfaPlugin.tsx index 94e1a428..5b08f142 100644 --- a/packages/plugins/plugin-idfa/src/IdfaPlugin.tsx +++ b/packages/plugins/plugin-idfa/src/IdfaPlugin.tsx @@ -1,5 +1,8 @@ -import { Plugin, PluginType } from '@segment/analytics-react-native'; -import type { SegmentClient } from '../../../core/src/analytics'; +import { + Plugin, + PluginType, + SegmentClient, +} from '@segment/analytics-react-native'; import { IdfaEvents } from './IdfaEvents'; import type { IdfaData } from './types'; import { AnalyticsReactNativePluginIdfa } from './AnalyticsReactNativePluginIdfa'; diff --git a/packages/plugins/plugin-mixpanel/src/methods/alias.ts b/packages/plugins/plugin-mixpanel/src/methods/alias.ts index 9b131a66..6e502efe 100644 --- a/packages/plugins/plugin-mixpanel/src/methods/alias.ts +++ b/packages/plugins/plugin-mixpanel/src/methods/alias.ts @@ -1,6 +1,8 @@ import type { Mixpanel } from 'mixpanel-react-native'; -import type { AliasEventType } from '@segment/analytics-react-native'; -import type { SegmentClient } from '@segment/analytics-react-native/src/analytics'; +import type { + AliasEventType, + SegmentClient, +} from '@segment/analytics-react-native'; export default async ( event: AliasEventType,