@sentry/react-native 5.0.0-alpha.1 → 5.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +403 -4
  2. package/README.md +6 -0
  3. package/RNSentry.podspec +22 -5
  4. package/android/build.gradle +20 -2
  5. package/android/src/main/java/io/sentry/react/{RNSentryModule.java → RNSentryModuleImpl.java} +174 -114
  6. package/android/src/main/java/io/sentry/react/RNSentryPackage.java +35 -19
  7. package/android/src/newarch/java/io/sentry/react/RNSentryModule.java +119 -0
  8. package/android/src/oldarch/java/io/sentry/react/RNSentryModule.java +119 -0
  9. package/dist/js/NativeRNSentry.d.ts +52 -0
  10. package/dist/js/NativeRNSentry.d.ts.map +1 -0
  11. package/dist/js/NativeRNSentry.js +4 -0
  12. package/dist/js/NativeRNSentry.js.map +1 -0
  13. package/dist/js/client.d.ts +18 -6
  14. package/dist/js/client.d.ts.map +1 -1
  15. package/dist/js/client.js +96 -37
  16. package/dist/js/client.js.map +1 -1
  17. package/dist/js/index.d.ts +4 -3
  18. package/dist/js/index.d.ts.map +1 -1
  19. package/dist/js/index.js +3 -2
  20. package/dist/js/index.js.map +1 -1
  21. package/dist/js/integrations/debugsymbolicator.d.ts +9 -0
  22. package/dist/js/integrations/debugsymbolicator.d.ts.map +1 -1
  23. package/dist/js/integrations/debugsymbolicator.js +0 -2
  24. package/dist/js/integrations/debugsymbolicator.js.map +1 -1
  25. package/dist/js/integrations/index.d.ts +2 -0
  26. package/dist/js/integrations/index.d.ts.map +1 -1
  27. package/dist/js/integrations/index.js +2 -0
  28. package/dist/js/integrations/index.js.map +1 -1
  29. package/dist/js/integrations/modulesloader.d.ts +17 -0
  30. package/dist/js/integrations/modulesloader.d.ts.map +1 -0
  31. package/dist/js/integrations/modulesloader.js +39 -0
  32. package/dist/js/integrations/modulesloader.js.map +1 -0
  33. package/dist/js/integrations/reactnativeerrorhandlers.d.ts.map +1 -1
  34. package/dist/js/integrations/reactnativeerrorhandlers.js +10 -7
  35. package/dist/js/integrations/reactnativeerrorhandlers.js.map +1 -1
  36. package/dist/js/integrations/reactnativeinfo.d.ts +23 -0
  37. package/dist/js/integrations/reactnativeinfo.d.ts.map +1 -0
  38. package/dist/js/integrations/reactnativeinfo.js +43 -0
  39. package/dist/js/integrations/reactnativeinfo.js.map +1 -0
  40. package/dist/js/integrations/screenshot.d.ts +23 -0
  41. package/dist/js/integrations/screenshot.d.ts.map +1 -0
  42. package/dist/js/integrations/screenshot.js +39 -0
  43. package/dist/js/integrations/screenshot.js.map +1 -0
  44. package/dist/js/integrations/sdkinfo.d.ts +4 -1
  45. package/dist/js/integrations/sdkinfo.d.ts.map +1 -1
  46. package/dist/js/integrations/sdkinfo.js +13 -7
  47. package/dist/js/integrations/sdkinfo.js.map +1 -1
  48. package/dist/js/measurements.d.ts +4 -0
  49. package/dist/js/measurements.d.ts.map +1 -1
  50. package/dist/js/measurements.js +12 -1
  51. package/dist/js/measurements.js.map +1 -1
  52. package/dist/js/misc.d.ts +9 -0
  53. package/dist/js/misc.d.ts.map +1 -0
  54. package/dist/js/misc.js +17 -0
  55. package/dist/js/misc.js.map +1 -0
  56. package/dist/js/options.d.ts +45 -9
  57. package/dist/js/options.d.ts.map +1 -1
  58. package/dist/js/options.js.map +1 -1
  59. package/dist/js/scope.d.ts +10 -2
  60. package/dist/js/scope.d.ts.map +1 -1
  61. package/dist/js/scope.js +13 -1
  62. package/dist/js/scope.js.map +1 -1
  63. package/dist/js/sdk.d.ts +25 -0
  64. package/dist/js/sdk.d.ts.map +1 -1
  65. package/dist/js/sdk.js +86 -27
  66. package/dist/js/sdk.js.map +1 -1
  67. package/dist/js/tools/ModulesCollector.d.ts +17 -0
  68. package/dist/js/tools/ModulesCollector.d.ts.map +1 -0
  69. package/dist/js/tools/ModulesCollector.js +109 -0
  70. package/dist/js/tools/ModulesCollector.js.map +1 -0
  71. package/dist/js/tools/collectModules.d.ts +2 -0
  72. package/dist/js/tools/collectModules.d.ts.map +1 -0
  73. package/dist/js/tools/collectModules.js +11 -0
  74. package/dist/js/tools/collectModules.js.map +1 -0
  75. package/dist/js/touchevents.d.ts +8 -0
  76. package/dist/js/touchevents.d.ts.map +1 -1
  77. package/dist/js/touchevents.js +10 -5
  78. package/dist/js/touchevents.js.map +1 -1
  79. package/dist/js/tracing/nativeframes.js.map +1 -1
  80. package/dist/js/tracing/reactnativenavigation.d.ts +9 -0
  81. package/dist/js/tracing/reactnativenavigation.d.ts.map +1 -1
  82. package/dist/js/tracing/reactnativenavigation.js +20 -12
  83. package/dist/js/tracing/reactnativenavigation.js.map +1 -1
  84. package/dist/js/tracing/reactnativetracing.d.ts +15 -6
  85. package/dist/js/tracing/reactnativetracing.d.ts.map +1 -1
  86. package/dist/js/tracing/reactnativetracing.js +16 -9
  87. package/dist/js/tracing/reactnativetracing.js.map +1 -1
  88. package/dist/js/tracing/reactnavigation.d.ts +7 -1
  89. package/dist/js/tracing/reactnavigation.d.ts.map +1 -1
  90. package/dist/js/tracing/reactnavigation.js +31 -23
  91. package/dist/js/tracing/reactnavigation.js.map +1 -1
  92. package/dist/js/tracing/reactnavigationv4.d.ts +9 -9
  93. package/dist/js/tracing/reactnavigationv4.d.ts.map +1 -1
  94. package/dist/js/tracing/reactnavigationv4.js +27 -15
  95. package/dist/js/tracing/reactnavigationv4.js.map +1 -1
  96. package/dist/js/tracing/routingInstrumentation.d.ts +1 -1
  97. package/dist/js/tracing/routingInstrumentation.d.ts.map +1 -1
  98. package/dist/js/tracing/routingInstrumentation.js.map +1 -1
  99. package/dist/js/tracing/utils.d.ts +4 -3
  100. package/dist/js/tracing/utils.d.ts.map +1 -1
  101. package/dist/js/tracing/utils.js +7 -10
  102. package/dist/js/tracing/utils.js.map +1 -1
  103. package/dist/js/transports/TextEncoder.d.ts +3 -0
  104. package/dist/js/transports/TextEncoder.d.ts.map +1 -0
  105. package/dist/js/transports/TextEncoder.js +12 -0
  106. package/dist/js/transports/TextEncoder.js.map +1 -0
  107. package/dist/js/transports/native.d.ts +10 -1
  108. package/dist/js/transports/native.d.ts.map +1 -1
  109. package/dist/js/transports/native.js +15 -4
  110. package/dist/js/transports/native.js.map +1 -1
  111. package/dist/js/user.d.ts +6 -0
  112. package/dist/js/user.d.ts.map +1 -0
  113. package/dist/js/user.js +1 -0
  114. package/dist/js/user.js.map +1 -0
  115. package/dist/js/utils/envelope.d.ts +12 -0
  116. package/dist/js/utils/envelope.d.ts.map +1 -0
  117. package/dist/js/utils/envelope.js +21 -0
  118. package/dist/js/utils/envelope.js.map +1 -0
  119. package/dist/js/utils/environment.d.ts +7 -0
  120. package/dist/js/utils/environment.d.ts.map +1 -0
  121. package/dist/js/utils/environment.js +14 -0
  122. package/dist/js/utils/environment.js.map +1 -0
  123. package/dist/js/utils/ignorerequirecyclelogs.d.ts +6 -0
  124. package/dist/js/utils/ignorerequirecyclelogs.d.ts.map +1 -0
  125. package/dist/js/utils/ignorerequirecyclelogs.js +15 -0
  126. package/dist/js/utils/ignorerequirecyclelogs.js.map +1 -0
  127. package/dist/js/utils/outcome.d.ts +6 -0
  128. package/dist/js/utils/outcome.d.ts.map +1 -0
  129. package/dist/js/utils/outcome.js +19 -0
  130. package/dist/js/utils/outcome.js.map +1 -0
  131. package/dist/js/utils/safe.d.ts +18 -0
  132. package/dist/js/utils/safe.d.ts.map +1 -0
  133. package/dist/js/utils/safe.js +46 -0
  134. package/dist/js/utils/safe.js.map +1 -0
  135. package/dist/js/utils/worldwide.d.ts +13 -0
  136. package/dist/js/utils/worldwide.d.ts.map +1 -0
  137. package/dist/js/utils/worldwide.js +4 -0
  138. package/dist/js/utils/worldwide.js.map +1 -0
  139. package/dist/js/vendor/buffer/index.d.ts +2 -0
  140. package/dist/js/vendor/buffer/index.d.ts.map +1 -0
  141. package/dist/js/vendor/buffer/index.js +2 -0
  142. package/dist/js/vendor/buffer/index.js.map +1 -0
  143. package/dist/js/vendor/buffer/utf8ToBytes.d.ts +10 -0
  144. package/dist/js/vendor/buffer/utf8ToBytes.d.ts.map +1 -0
  145. package/dist/js/vendor/buffer/utf8ToBytes.js +82 -0
  146. package/dist/js/vendor/buffer/utf8ToBytes.js.map +1 -0
  147. package/dist/js/vendor/index.d.ts +2 -0
  148. package/dist/js/vendor/index.d.ts.map +1 -0
  149. package/dist/js/vendor/index.js +2 -0
  150. package/dist/js/vendor/index.js.map +1 -0
  151. package/dist/js/version.d.ts +2 -1
  152. package/dist/js/version.d.ts.map +1 -1
  153. package/dist/js/version.js +2 -1
  154. package/dist/js/version.js.map +1 -1
  155. package/dist/js/wrapper.d.ts +13 -4
  156. package/dist/js/wrapper.d.ts.map +1 -1
  157. package/dist/js/wrapper.js +129 -71
  158. package/dist/js/wrapper.js.map +1 -1
  159. package/ios/{RNSentry.m → RNSentry.mm} +98 -57
  160. package/package.json +32 -26
  161. package/sample-new-architecture/react-native.config.js +10 -0
  162. package/scripts/collect-modules.sh +43 -0
  163. package/sentry.gradle +57 -6
  164. package/src/js/NativeRNSentry.ts +66 -0
  165. package/dist/js/definitions.d.ts +0 -52
  166. package/dist/js/definitions.d.ts.map +0 -1
  167. package/dist/js/definitions.js +0 -1
  168. package/dist/js/definitions.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { Package } from '@sentry/types';
2
+ import { TurboModule, TurboModuleRegistry } from 'react-native';
3
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
4
+
5
+ // There has to be only one interface and it has to be named `Spec`
6
+ // Only extra allowed definitions are types (probably codegen bug)
7
+ export interface Spec extends TurboModule {
8
+ addBreadcrumb(breadcrumb: UnsafeObject): void;
9
+ captureEnvelope(
10
+ bytes: number[],
11
+ options: {
12
+ store: boolean,
13
+ },
14
+ ): Promise<boolean>;
15
+ captureScreenshot(): Promise<NativeScreenshot[]>;
16
+ clearBreadcrumbs(): void;
17
+ crash(): void;
18
+ closeNativeSdk(): Promise<void>;
19
+ disableNativeFramesTracking(): void;
20
+ fetchNativeRelease(): Promise<NativeReleaseResponse>;
21
+ fetchNativeSdkInfo(): Promise<Package>;
22
+ fetchNativeDeviceContexts(): Promise<NativeDeviceContextsResponse>;
23
+ fetchNativeAppStart(): Promise<NativeAppStartResponse | null>;
24
+ fetchNativeFrames(): Promise<NativeFramesResponse | null>;
25
+ initNativeSdk(options: UnsafeObject): Promise<boolean>;
26
+ setUser(
27
+ defaultUserKeys: UnsafeObject | null,
28
+ otherUserKeys: UnsafeObject | null
29
+ ): void;
30
+ setContext(key: string, value: UnsafeObject | null): void;
31
+ setExtra(key: string, value: string): void;
32
+ setTag(key: string, value: string): void;
33
+ enableNativeFramesTracking(): void;
34
+ fetchModules(): Promise<string | undefined | null>;
35
+ }
36
+
37
+ export type NativeAppStartResponse = {
38
+ isColdStart: boolean;
39
+ appStartTime: number;
40
+ didFetchAppStart: boolean;
41
+ };
42
+
43
+ export type NativeFramesResponse = {
44
+ totalFrames: number;
45
+ slowFrames: number;
46
+ frozenFrames: number;
47
+ };
48
+
49
+ export type NativeReleaseResponse = {
50
+ build: string;
51
+ id: string;
52
+ version: string;
53
+ };
54
+
55
+ export type NativeDeviceContextsResponse = {
56
+ [key: string]: Record<string, unknown>;
57
+ };
58
+
59
+ export type NativeScreenshot = {
60
+ data: number[];
61
+ contentType: string;
62
+ filename: string;
63
+ }
64
+
65
+ // The export must be here to pass codegen even if not used
66
+ export default TurboModuleRegistry.getEnforcing<Spec>('RNSentry');
@@ -1,52 +0,0 @@
1
- import { Breadcrumb, Package } from '@sentry/types';
2
- import { ReactNativeOptions } from './options';
3
- export declare type NativeAppStartResponse = {
4
- isColdStart: boolean;
5
- appStartTime: number;
6
- didFetchAppStart: boolean;
7
- };
8
- export declare type NativeFramesResponse = {
9
- totalFrames: number;
10
- slowFrames: number;
11
- frozenFrames: number;
12
- };
13
- export declare type NativeReleaseResponse = {
14
- build: string;
15
- id: string;
16
- version: string;
17
- };
18
- export declare type NativeDeviceContextsResponse = {
19
- [key: string]: Record<string, unknown>;
20
- };
21
- interface SerializedObject {
22
- [key: string]: string;
23
- }
24
- export interface SentryNativeBridgeModule {
25
- nativeClientAvailable: boolean;
26
- addBreadcrumb(breadcrumb: Breadcrumb): void;
27
- captureEnvelope(payload: string | {
28
- header: Record<string, unknown>;
29
- payload: Record<string, unknown>;
30
- }): PromiseLike<boolean>;
31
- clearBreadcrumbs(): void;
32
- crash(): void;
33
- closeNativeSdk(): PromiseLike<void>;
34
- disableNativeFramesTracking(): void;
35
- fetchNativeRelease(): Promise<{
36
- build: string;
37
- id: string;
38
- version: string;
39
- }>;
40
- fetchNativeSdkInfo(): PromiseLike<Package>;
41
- fetchNativeDeviceContexts(): PromiseLike<NativeDeviceContextsResponse>;
42
- fetchNativeAppStart(): PromiseLike<NativeAppStartResponse | null>;
43
- fetchNativeFrames(): PromiseLike<NativeFramesResponse | null>;
44
- getStringBytesLength(str: string): Promise<number>;
45
- initNativeSdk(options: ReactNativeOptions): Promise<boolean>;
46
- setUser(defaultUserKeys: SerializedObject | null, otherUserKeys: SerializedObject | null): void;
47
- setContext(key: string, value: SerializedObject | null): void;
48
- setExtra(key: string, value: string): void;
49
- setTag(key: string, value: string): void;
50
- }
51
- export {};
52
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/js/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,oBAAY,sBAAsB,GAAG;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAAC;AAEF,UAAU,gBAAgB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAE/B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,eAAe,CACb,OAAO,EACH,MAAM,GACN;QACE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,GACJ,WAAW,CAAC,OAAO,CAAC,CAAC;IACxB,gBAAgB,IAAI,IAAI,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,2BAA2B,IAAI,IAAI,CAAC;IACpC,kBAAkB,IAAI,OAAO,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,kBAAkB,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,yBAAyB,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACvE,mBAAmB,IAAI,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAClE,iBAAiB,IAAI,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC9D,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,CACL,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,aAAa,EAAE,gBAAgB,GAAG,IAAI,GACrC,IAAI,CAAC;IACR,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/js/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import { Breadcrumb, Package } from '@sentry/types';\n\nimport { ReactNativeOptions } from './options';\n\nexport type NativeAppStartResponse = {\n isColdStart: boolean;\n appStartTime: number;\n didFetchAppStart: boolean;\n};\n\nexport type NativeFramesResponse = {\n totalFrames: number;\n slowFrames: number;\n frozenFrames: number;\n};\n\nexport type NativeReleaseResponse = {\n build: string;\n id: string;\n version: string;\n};\n\nexport type NativeDeviceContextsResponse = {\n [key: string]: Record<string, unknown>;\n};\n\ninterface SerializedObject {\n [key: string]: string;\n}\n\nexport interface SentryNativeBridgeModule {\n nativeClientAvailable: boolean;\n\n addBreadcrumb(breadcrumb: Breadcrumb): void;\n captureEnvelope(\n payload:\n | string\n | {\n header: Record<string, unknown>;\n payload: Record<string, unknown>;\n }\n ): PromiseLike<boolean>;\n clearBreadcrumbs(): void;\n crash(): void;\n closeNativeSdk(): PromiseLike<void>;\n disableNativeFramesTracking(): void;\n fetchNativeRelease(): Promise<{\n build: string;\n id: string;\n version: string;\n }>;\n fetchNativeSdkInfo(): PromiseLike<Package>;\n fetchNativeDeviceContexts(): PromiseLike<NativeDeviceContextsResponse>;\n fetchNativeAppStart(): PromiseLike<NativeAppStartResponse | null>;\n fetchNativeFrames(): PromiseLike<NativeFramesResponse | null>;\n getStringBytesLength(str: string): Promise<number>;\n initNativeSdk(options: ReactNativeOptions): Promise<boolean>;\n setUser(\n defaultUserKeys: SerializedObject | null,\n otherUserKeys: SerializedObject | null\n ): void;\n setContext(key: string, value: SerializedObject | null): void;\n setExtra(key: string, value: string): void;\n setTag(key: string, value: string): void;\n}\n"]}