@sentry/react-native 4.11.0 → 5.0.0-alpha.10
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.
- package/CHANGELOG.md +114 -0
- package/RNSentry.podspec +20 -3
- package/android/build.gradle +19 -1
- package/android/src/main/java/io/sentry/react/{RNSentryModule.java → RNSentryModuleImpl.java} +15 -30
- package/android/src/main/java/io/sentry/react/RNSentryPackage.java +35 -19
- package/android/src/newarch/java/io/sentry/react/RNSentryModule.java +119 -0
- package/android/src/oldarch/java/io/sentry/react/RNSentryModule.java +119 -0
- package/dist/js/NativeRNSentry.d.ts +52 -0
- package/dist/js/NativeRNSentry.d.ts.map +1 -0
- package/dist/js/NativeRNSentry.js +4 -0
- package/dist/js/NativeRNSentry.js.map +1 -0
- package/dist/js/integrations/debugsymbolicator.d.ts +9 -0
- package/dist/js/integrations/debugsymbolicator.d.ts.map +1 -1
- package/dist/js/integrations/debugsymbolicator.js +0 -2
- package/dist/js/integrations/debugsymbolicator.js.map +1 -1
- package/dist/js/integrations/index.d.ts +1 -0
- package/dist/js/integrations/index.d.ts.map +1 -1
- package/dist/js/integrations/index.js +1 -0
- package/dist/js/integrations/index.js.map +1 -1
- package/dist/js/integrations/reactnativeinfo.d.ts +23 -0
- package/dist/js/integrations/reactnativeinfo.d.ts.map +1 -0
- package/dist/js/integrations/reactnativeinfo.js +43 -0
- package/dist/js/integrations/reactnativeinfo.js.map +1 -0
- package/dist/js/sdk.d.ts.map +1 -1
- package/dist/js/sdk.js +2 -5
- package/dist/js/sdk.js.map +1 -1
- package/dist/js/tracing/nativeframes.js.map +1 -1
- package/dist/js/tracing/reactnativetracing.d.ts +14 -5
- package/dist/js/tracing/reactnativetracing.d.ts.map +1 -1
- package/dist/js/tracing/reactnativetracing.js +9 -6
- package/dist/js/tracing/reactnativetracing.js.map +1 -1
- package/dist/js/tracing/utils.d.ts +1 -2
- package/dist/js/tracing/utils.d.ts.map +1 -1
- package/dist/js/tracing/utils.js +2 -10
- package/dist/js/tracing/utils.js.map +1 -1
- package/dist/js/utils/environment.d.ts +7 -0
- package/dist/js/utils/environment.d.ts.map +1 -0
- package/dist/js/utils/environment.js +14 -0
- package/dist/js/utils/environment.js.map +1 -0
- package/dist/js/utils/worldwide.d.ts +2 -0
- package/dist/js/utils/worldwide.d.ts.map +1 -1
- package/dist/js/utils/worldwide.js.map +1 -1
- package/dist/js/version.d.ts +1 -1
- package/dist/js/version.d.ts.map +1 -1
- package/dist/js/version.js +1 -1
- package/dist/js/version.js.map +1 -1
- package/dist/js/wrapper.d.ts +2 -2
- package/dist/js/wrapper.d.ts.map +1 -1
- package/dist/js/wrapper.js +5 -2
- package/dist/js/wrapper.js.map +1 -1
- package/ios/{RNSentry.m → RNSentry.mm} +15 -2
- package/package.json +18 -16
- package/react-native.config.js +3 -10
- package/sample-new-architecture/react-native.config.js +10 -0
- package/src/js/NativeRNSentry.ts +66 -0
- package/dist/js/definitions.d.ts +0 -57
- package/dist/js/definitions.d.ts.map +0 -1
- package/dist/js/definitions.js +0 -1
- package/dist/js/definitions.js.map +0 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@sentry/react-native",
|
|
3
3
|
"homepage": "https://github.com/getsentry/sentry-react-native",
|
|
4
4
|
"repository": "https://github.com/getsentry/sentry-react-native",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "5.0.0-alpha.10",
|
|
6
6
|
"description": "Official Sentry SDK for react-native",
|
|
7
7
|
"typings": "dist/js/index.d.ts",
|
|
8
8
|
"types": "dist/js/index.d.ts",
|
|
@@ -38,25 +38,25 @@
|
|
|
38
38
|
"When bumping make sure to update the version of react, i.e: https://github.com/facebook/react-native/blob/v0.56.0/package.json"
|
|
39
39
|
],
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"react": ">=
|
|
42
|
-
"react-native": ">=0.
|
|
41
|
+
"react": ">=17.0.0",
|
|
42
|
+
"react-native": ">=0.70.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@sentry/browser": "7.21.1",
|
|
46
|
-
"@sentry/cli": "
|
|
46
|
+
"@sentry/cli": "2.10.0",
|
|
47
47
|
"@sentry/core": "7.21.1",
|
|
48
48
|
"@sentry/hub": "7.21.1",
|
|
49
49
|
"@sentry/integrations": "7.21.1",
|
|
50
50
|
"@sentry/react": "7.21.1",
|
|
51
51
|
"@sentry/tracing": "7.21.1",
|
|
52
52
|
"@sentry/types": "7.21.1",
|
|
53
|
-
"@sentry/utils": "7.21.1"
|
|
54
|
-
"@sentry/wizard": "1.4.0"
|
|
53
|
+
"@sentry/utils": "7.21.1"
|
|
55
54
|
},
|
|
56
55
|
"devDependencies": {
|
|
57
56
|
"@sentry-internal/eslint-config-sdk": "7.21.1",
|
|
58
57
|
"@sentry-internal/eslint-plugin-sdk": "7.21.1",
|
|
59
58
|
"@sentry/typescript": "^5.20.1",
|
|
59
|
+
"@sentry/wizard": "2.2.0",
|
|
60
60
|
"@types/jest": "^26.0.15",
|
|
61
61
|
"@types/react": "^18.0.25",
|
|
62
62
|
"@types/react-native": "^0.70.6",
|
|
@@ -74,18 +74,12 @@
|
|
|
74
74
|
"typescript": "3.8.3"
|
|
75
75
|
},
|
|
76
76
|
"rnpm": {
|
|
77
|
-
"commands": {
|
|
78
|
-
"postlink": "node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android",
|
|
79
|
-
"postunlink": "node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android --uninstall"
|
|
80
|
-
},
|
|
77
|
+
"commands": {},
|
|
81
78
|
"android": {
|
|
82
|
-
"packageInstance": "new RNSentryPackage()"
|
|
79
|
+
"packageInstance": "new RNSentryPackage()",
|
|
80
|
+
"packageImportPath": "import io.sentry.react.RNSentryPackage;"
|
|
83
81
|
},
|
|
84
|
-
"ios": {
|
|
85
|
-
"sharedLibraries": [
|
|
86
|
-
"libz"
|
|
87
|
-
]
|
|
88
|
-
}
|
|
82
|
+
"ios": {}
|
|
89
83
|
},
|
|
90
84
|
"jest": {
|
|
91
85
|
"collectCoverage": true,
|
|
@@ -109,5 +103,13 @@
|
|
|
109
103
|
"testMatch": [
|
|
110
104
|
"**/*.test.(ts|tsx)"
|
|
111
105
|
]
|
|
106
|
+
},
|
|
107
|
+
"codegenConfig": {
|
|
108
|
+
"name": "RNSentrySpec",
|
|
109
|
+
"type": "modules",
|
|
110
|
+
"jsSrcsDir": "src",
|
|
111
|
+
"android": {
|
|
112
|
+
"javaPackageName": "io.sentry.react"
|
|
113
|
+
}
|
|
112
114
|
}
|
|
113
115
|
}
|
package/react-native.config.js
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
dependency: {
|
|
3
3
|
platforms: {
|
|
4
|
-
ios: {
|
|
5
|
-
sharedLibraries: ['libz']
|
|
6
|
-
},
|
|
4
|
+
ios: {},
|
|
7
5
|
android: {
|
|
8
|
-
packageInstance: 'new RNSentryPackage()'
|
|
6
|
+
packageInstance: 'new RNSentryPackage()',
|
|
7
|
+
packageImportPath: 'import io.sentry.react.RNSentryPackage;'
|
|
9
8
|
}
|
|
10
|
-
},
|
|
11
|
-
hooks: {
|
|
12
|
-
postlink:
|
|
13
|
-
'node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android',
|
|
14
|
-
postunlink:
|
|
15
|
-
'node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android --uninstall'
|
|
16
9
|
}
|
|
17
10
|
}
|
|
18
11
|
};
|
|
@@ -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');
|
package/dist/js/definitions.d.ts
DELETED
|
@@ -1,57 +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
|
-
export interface NativeScreenshot {
|
|
22
|
-
data: number[];
|
|
23
|
-
contentType: string;
|
|
24
|
-
filename: string;
|
|
25
|
-
}
|
|
26
|
-
interface SerializedObject {
|
|
27
|
-
[key: string]: string;
|
|
28
|
-
}
|
|
29
|
-
export interface SentryNativeBridgeModule {
|
|
30
|
-
addBreadcrumb(breadcrumb: Breadcrumb): void;
|
|
31
|
-
captureEnvelope(bytes: number[], options: {
|
|
32
|
-
store: boolean;
|
|
33
|
-
}): PromiseLike<boolean>;
|
|
34
|
-
captureScreenshot(): PromiseLike<NativeScreenshot[]>;
|
|
35
|
-
clearBreadcrumbs(): void;
|
|
36
|
-
crash(): void;
|
|
37
|
-
closeNativeSdk(): PromiseLike<void>;
|
|
38
|
-
disableNativeFramesTracking(): void;
|
|
39
|
-
enableNativeFramesTracking(): void;
|
|
40
|
-
fetchNativeRelease(): Promise<{
|
|
41
|
-
build: string;
|
|
42
|
-
id: string;
|
|
43
|
-
version: string;
|
|
44
|
-
}>;
|
|
45
|
-
fetchNativeSdkInfo(): PromiseLike<Package>;
|
|
46
|
-
fetchNativeDeviceContexts(): PromiseLike<NativeDeviceContextsResponse>;
|
|
47
|
-
fetchNativeAppStart(): PromiseLike<NativeAppStartResponse | null>;
|
|
48
|
-
fetchNativeFrames(): PromiseLike<NativeFramesResponse | null>;
|
|
49
|
-
initNativeSdk(options: ReactNativeOptions): Promise<boolean>;
|
|
50
|
-
setUser(defaultUserKeys: SerializedObject | null, otherUserKeys: SerializedObject | null): void;
|
|
51
|
-
setContext(key: string, value: SerializedObject | null): void;
|
|
52
|
-
setExtra(key: string, value: string): void;
|
|
53
|
-
setTag(key: string, value: string): void;
|
|
54
|
-
fetchModules(): PromiseLike<string | undefined | null>;
|
|
55
|
-
}
|
|
56
|
-
export {};
|
|
57
|
-
//# 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,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IAEvC,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,eAAe,CACb,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;KAChB,GACA,WAAW,CAAC,OAAO,CAAC,CAAC;IACxB,iBAAiB,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrD,gBAAgB,IAAI,IAAI,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,2BAA2B,IAAI,IAAI,CAAC;IACpC,0BAA0B,IAAI,IAAI,CAAC;IACnC,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,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;IACzC,YAAY,IAAI,WAAW,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;CACxD"}
|
package/dist/js/definitions.js
DELETED
|
@@ -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\nexport interface NativeScreenshot {\n data: number[];\n contentType: string;\n filename: string;\n}\n\ninterface SerializedObject {\n [key: string]: string;\n}\n\nexport interface SentryNativeBridgeModule {\n\n addBreadcrumb(breadcrumb: Breadcrumb): void;\n captureEnvelope(\n bytes: number[],\n options: {\n store: boolean,\n },\n ): PromiseLike<boolean>;\n captureScreenshot(): PromiseLike<NativeScreenshot[]>;\n clearBreadcrumbs(): void;\n crash(): void;\n closeNativeSdk(): PromiseLike<void>;\n disableNativeFramesTracking(): void;\n enableNativeFramesTracking(): 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 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 fetchModules(): PromiseLike<string | undefined | null>;\n}\n"]}
|