@sentry/react-native 5.0.0-alpha.1 → 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 +346 -1
- package/README.md +6 -0
- package/RNSentry.podspec +21 -4
- package/android/build.gradle +20 -2
- package/android/src/main/java/io/sentry/react/{RNSentryModule.java → RNSentryModuleImpl.java} +174 -114
- 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/client.d.ts +17 -4
- package/dist/js/client.d.ts.map +1 -1
- package/dist/js/client.js +90 -16
- package/dist/js/client.js.map +1 -1
- package/dist/js/index.d.ts +3 -3
- package/dist/js/index.d.ts.map +1 -1
- package/dist/js/index.js +2 -2
- package/dist/js/index.js.map +1 -1
- 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 +2 -0
- package/dist/js/integrations/index.d.ts.map +1 -1
- package/dist/js/integrations/index.js +2 -0
- package/dist/js/integrations/index.js.map +1 -1
- package/dist/js/integrations/modulesloader.d.ts +17 -0
- package/dist/js/integrations/modulesloader.d.ts.map +1 -0
- package/dist/js/integrations/modulesloader.js +33 -0
- package/dist/js/integrations/modulesloader.js.map +1 -0
- package/dist/js/integrations/reactnativeerrorhandlers.d.ts.map +1 -1
- package/dist/js/integrations/reactnativeerrorhandlers.js +6 -4
- package/dist/js/integrations/reactnativeerrorhandlers.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/integrations/screenshot.d.ts +23 -0
- package/dist/js/integrations/screenshot.d.ts.map +1 -0
- package/dist/js/integrations/screenshot.js +39 -0
- package/dist/js/integrations/screenshot.js.map +1 -0
- package/dist/js/integrations/sdkinfo.d.ts +4 -1
- package/dist/js/integrations/sdkinfo.d.ts.map +1 -1
- package/dist/js/integrations/sdkinfo.js +13 -7
- package/dist/js/integrations/sdkinfo.js.map +1 -1
- package/dist/js/measurements.js +1 -1
- package/dist/js/measurements.js.map +1 -1
- package/dist/js/misc.d.ts +9 -0
- package/dist/js/misc.d.ts.map +1 -0
- package/dist/js/misc.js +17 -0
- package/dist/js/misc.js.map +1 -0
- package/dist/js/options.d.ts +45 -8
- package/dist/js/options.d.ts.map +1 -1
- package/dist/js/options.js.map +1 -1
- package/dist/js/scope.d.ts +10 -2
- package/dist/js/scope.d.ts.map +1 -1
- package/dist/js/scope.js +13 -1
- package/dist/js/scope.js.map +1 -1
- package/dist/js/sdk.d.ts +25 -0
- package/dist/js/sdk.d.ts.map +1 -1
- package/dist/js/sdk.js +85 -27
- package/dist/js/sdk.js.map +1 -1
- package/dist/js/tools/ModulesCollector.d.ts +17 -0
- package/dist/js/tools/ModulesCollector.d.ts.map +1 -0
- package/dist/js/tools/ModulesCollector.js +109 -0
- package/dist/js/tools/ModulesCollector.js.map +1 -0
- package/dist/js/tools/collectModules.d.ts +2 -0
- package/dist/js/tools/collectModules.d.ts.map +1 -0
- package/dist/js/tools/collectModules.js +11 -0
- package/dist/js/tools/collectModules.js.map +1 -0
- package/dist/js/touchevents.d.ts +4 -0
- package/dist/js/touchevents.d.ts.map +1 -1
- package/dist/js/touchevents.js.map +1 -1
- package/dist/js/tracing/nativeframes.js.map +1 -1
- package/dist/js/tracing/reactnativenavigation.d.ts +9 -0
- package/dist/js/tracing/reactnativenavigation.d.ts.map +1 -1
- package/dist/js/tracing/reactnativenavigation.js +20 -12
- package/dist/js/tracing/reactnativenavigation.js.map +1 -1
- package/dist/js/tracing/reactnativetracing.d.ts +15 -6
- package/dist/js/tracing/reactnativetracing.d.ts.map +1 -1
- package/dist/js/tracing/reactnativetracing.js +16 -9
- package/dist/js/tracing/reactnativetracing.js.map +1 -1
- package/dist/js/tracing/reactnavigation.d.ts +7 -1
- package/dist/js/tracing/reactnavigation.d.ts.map +1 -1
- package/dist/js/tracing/reactnavigation.js +31 -23
- package/dist/js/tracing/reactnavigation.js.map +1 -1
- package/dist/js/tracing/reactnavigationv4.d.ts +9 -9
- package/dist/js/tracing/reactnavigationv4.d.ts.map +1 -1
- package/dist/js/tracing/reactnavigationv4.js +27 -15
- package/dist/js/tracing/reactnavigationv4.js.map +1 -1
- package/dist/js/tracing/routingInstrumentation.d.ts +1 -1
- package/dist/js/tracing/routingInstrumentation.d.ts.map +1 -1
- package/dist/js/tracing/routingInstrumentation.js.map +1 -1
- package/dist/js/tracing/utils.d.ts +4 -3
- package/dist/js/tracing/utils.d.ts.map +1 -1
- package/dist/js/tracing/utils.js +7 -10
- package/dist/js/tracing/utils.js.map +1 -1
- package/dist/js/transports/TextEncoder.d.ts +3 -0
- package/dist/js/transports/TextEncoder.d.ts.map +1 -0
- package/dist/js/transports/TextEncoder.js +12 -0
- package/dist/js/transports/TextEncoder.js.map +1 -0
- package/dist/js/transports/native.d.ts +6 -1
- package/dist/js/transports/native.d.ts.map +1 -1
- package/dist/js/transports/native.js +6 -4
- package/dist/js/transports/native.js.map +1 -1
- package/dist/js/user.d.ts +6 -0
- package/dist/js/user.d.ts.map +1 -0
- package/dist/js/user.js +1 -0
- package/dist/js/user.js.map +1 -0
- package/dist/js/utils/envelope.d.ts +12 -0
- package/dist/js/utils/envelope.d.ts.map +1 -0
- package/dist/js/utils/envelope.js +21 -0
- package/dist/js/utils/envelope.js.map +1 -0
- 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/outcome.d.ts +6 -0
- package/dist/js/utils/outcome.d.ts.map +1 -0
- package/dist/js/utils/outcome.js +19 -0
- package/dist/js/utils/outcome.js.map +1 -0
- package/dist/js/utils/safe.d.ts +18 -0
- package/dist/js/utils/safe.d.ts.map +1 -0
- package/dist/js/utils/safe.js +46 -0
- package/dist/js/utils/safe.js.map +1 -0
- package/dist/js/utils/worldwide.d.ts +13 -0
- package/dist/js/utils/worldwide.d.ts.map +1 -0
- package/dist/js/utils/worldwide.js +4 -0
- package/dist/js/utils/worldwide.js.map +1 -0
- package/dist/js/vendor/buffer/index.d.ts +2 -0
- package/dist/js/vendor/buffer/index.d.ts.map +1 -0
- package/dist/js/vendor/buffer/index.js +2 -0
- package/dist/js/vendor/buffer/index.js.map +1 -0
- package/dist/js/vendor/buffer/utf8ToBytes.d.ts +10 -0
- package/dist/js/vendor/buffer/utf8ToBytes.d.ts.map +1 -0
- package/dist/js/vendor/buffer/utf8ToBytes.js +82 -0
- package/dist/js/vendor/buffer/utf8ToBytes.js.map +1 -0
- package/dist/js/vendor/index.d.ts +2 -0
- package/dist/js/vendor/index.d.ts.map +1 -0
- package/dist/js/vendor/index.js +2 -0
- package/dist/js/vendor/index.js.map +1 -0
- package/dist/js/version.d.ts +2 -1
- package/dist/js/version.d.ts.map +1 -1
- package/dist/js/version.js +2 -1
- package/dist/js/version.js.map +1 -1
- package/dist/js/wrapper.d.ts +13 -4
- package/dist/js/wrapper.d.ts.map +1 -1
- package/dist/js/wrapper.js +126 -71
- package/dist/js/wrapper.js.map +1 -1
- package/ios/{RNSentry.m → RNSentry.mm} +98 -57
- package/package.json +31 -25
- package/sample-new-architecture/react-native.config.js +10 -0
- package/scripts/collect-modules.sh +43 -0
- package/sentry.gradle +57 -6
- package/src/js/NativeRNSentry.ts +66 -0
- package/dist/js/definitions.d.ts +0 -52
- 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.0.0-alpha.
|
|
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",
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"main": "dist/js/index.js",
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "
|
|
15
|
-
"build:
|
|
14
|
+
"build": "yarn build:sdk && yarn build:tools",
|
|
15
|
+
"build:sdk": "tsc -p tsconfig.build.json",
|
|
16
|
+
"build:sdk:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput",
|
|
17
|
+
"build:tools": "tsc -p tsconfig.build.tools.json",
|
|
16
18
|
"clean": "rimraf dist coverage",
|
|
17
19
|
"test": "jest",
|
|
18
20
|
"lint": "eslint .",
|
|
@@ -36,36 +38,36 @@
|
|
|
36
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"
|
|
37
39
|
],
|
|
38
40
|
"peerDependencies": {
|
|
39
|
-
"react": ">=
|
|
40
|
-
"react-native": ">=0.
|
|
41
|
+
"react": ">=17.0.0",
|
|
42
|
+
"react-native": ">=0.70.0"
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
43
|
-
"@sentry/browser": "7.
|
|
44
|
-
"@sentry/cli": "
|
|
45
|
-
"@sentry/core": "7.
|
|
46
|
-
"@sentry/hub": "7.
|
|
47
|
-
"@sentry/integrations": "7.
|
|
48
|
-
"@sentry/react": "7.
|
|
49
|
-
"@sentry/tracing": "7.
|
|
50
|
-
"@sentry/types": "7.
|
|
51
|
-
"@sentry/utils": "7.
|
|
52
|
-
"@sentry/wizard": "2.0.0"
|
|
45
|
+
"@sentry/browser": "7.21.1",
|
|
46
|
+
"@sentry/cli": "2.10.0",
|
|
47
|
+
"@sentry/core": "7.21.1",
|
|
48
|
+
"@sentry/hub": "7.21.1",
|
|
49
|
+
"@sentry/integrations": "7.21.1",
|
|
50
|
+
"@sentry/react": "7.21.1",
|
|
51
|
+
"@sentry/tracing": "7.21.1",
|
|
52
|
+
"@sentry/types": "7.21.1",
|
|
53
|
+
"@sentry/utils": "7.21.1"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
55
|
-
"@sentry-internal/eslint-config-sdk": "7.
|
|
56
|
-
"@sentry-internal/eslint-plugin-sdk": "7.
|
|
56
|
+
"@sentry-internal/eslint-config-sdk": "7.21.1",
|
|
57
|
+
"@sentry-internal/eslint-plugin-sdk": "7.21.1",
|
|
57
58
|
"@sentry/typescript": "^5.20.1",
|
|
59
|
+
"@sentry/wizard": "2.2.0",
|
|
58
60
|
"@types/jest": "^26.0.15",
|
|
59
|
-
"@types/react": "^
|
|
60
|
-
"@types/react-native": "^0.
|
|
61
|
+
"@types/react": "^18.0.25",
|
|
62
|
+
"@types/react-native": "^0.70.6",
|
|
61
63
|
"babel-jest": "^26.1.0",
|
|
62
64
|
"eslint": "^7.6.0",
|
|
63
65
|
"eslint-plugin-react": "^7.20.6",
|
|
64
66
|
"eslint-plugin-react-native": "^3.8.1",
|
|
65
67
|
"jest": "^24.9.0",
|
|
66
68
|
"prettier": "^2.0.5",
|
|
67
|
-
"react": "
|
|
68
|
-
"react-native": "
|
|
69
|
+
"react": "^18.2.0",
|
|
70
|
+
"react-native": "^0.70.5",
|
|
69
71
|
"replace-in-file": "^6.0.0",
|
|
70
72
|
"rimraf": "^3.0.0",
|
|
71
73
|
"ts-jest": "^24.3.0",
|
|
@@ -82,10 +84,6 @@
|
|
|
82
84
|
"jest": {
|
|
83
85
|
"collectCoverage": true,
|
|
84
86
|
"preset": "react-native",
|
|
85
|
-
"transform": {
|
|
86
|
-
"^.+\\.(tsx)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js",
|
|
87
|
-
"^.+\\.(ts|tsx)$": "ts-jest"
|
|
88
|
-
},
|
|
89
87
|
"globals": {
|
|
90
88
|
"__DEV__": true,
|
|
91
89
|
"ts-jest": {
|
|
@@ -105,5 +103,13 @@
|
|
|
105
103
|
"testMatch": [
|
|
106
104
|
"**/*.test.(ts|tsx)"
|
|
107
105
|
]
|
|
106
|
+
},
|
|
107
|
+
"codegenConfig": {
|
|
108
|
+
"name": "RNSentrySpec",
|
|
109
|
+
"type": "modules",
|
|
110
|
+
"jsSrcsDir": "src",
|
|
111
|
+
"android": {
|
|
112
|
+
"javaPackageName": "io.sentry.react"
|
|
113
|
+
}
|
|
108
114
|
}
|
|
109
115
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Print commands before executing them (useful for troubleshooting)
|
|
4
|
+
set -x
|
|
5
|
+
|
|
6
|
+
if [[ "$CONFIGURATION" = *Debug* ]]; then
|
|
7
|
+
echo "Debug build. Modules are not collected."
|
|
8
|
+
exit 0
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
if [[ -z "$CONFIGURATION_BUILD_DIR" ]]; then
|
|
12
|
+
echo "Missing env CONFIGURATION_BUILD_DIR" 1>&2
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
if [[ -z "$UNLOCALIZED_RESOURCES_FOLDER_PATH" ]]; then
|
|
17
|
+
echo "Missing env UNLOCALIZED_RESOURCES_FOLDER_PATH" 1>&2
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
if [[ -z "$DERIVED_FILE_DIR" ]]; then
|
|
22
|
+
echo "Missing env DERIVED_FILE_DIR" 1>&2
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
nodePath="node"
|
|
27
|
+
thisFilePath=$(dirname $0)
|
|
28
|
+
collectModulesScript="$thisFilePath/../dist/js/tools/collectModules.js"
|
|
29
|
+
|
|
30
|
+
destination="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH"
|
|
31
|
+
modulesOutput="$destination/modules.json"
|
|
32
|
+
if [[ -z "$SOURCE_MAP_PATH" ]]; then
|
|
33
|
+
sourceMap="$DERIVED_FILE_DIR/main.jsbundle.map"
|
|
34
|
+
else
|
|
35
|
+
sourceMap="$SOURCE_MAP_PATH"
|
|
36
|
+
fi
|
|
37
|
+
if [[ -z "$MODULES_PATHS" ]]; then
|
|
38
|
+
modulesPaths="$PWD/../node_modules"
|
|
39
|
+
else
|
|
40
|
+
modulesPaths="$MODULES_PATHS"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
$nodePath "$collectModulesScript" "$sourceMap" "$modulesOutput" "$modulesPaths"
|
package/sentry.gradle
CHANGED
|
@@ -41,6 +41,8 @@ gradle.projectsEvaluated {
|
|
|
41
41
|
def bundleOutput
|
|
42
42
|
def props = bundleTask.getProperties()
|
|
43
43
|
def reactRoot = props.get("workingDir")
|
|
44
|
+
def modulesOutput = "$reactRoot/android/app/src/main/assets/modules.json"
|
|
45
|
+
def modulesTask = null
|
|
44
46
|
|
|
45
47
|
(shouldCleanUp, bundleOutput, sourcemapOutput) = forceSourceMapOutputFromBundleTask(bundleTask)
|
|
46
48
|
|
|
@@ -60,6 +62,7 @@ gradle.projectsEvaluated {
|
|
|
60
62
|
def previousCliTask = null
|
|
61
63
|
|
|
62
64
|
def nameCleanup = "${bundleTask.name}_SentryUploadCleanUp"
|
|
65
|
+
def nameModulesCleanup = "${bundleTask.name}_SentryCollectModulesCleanUp"
|
|
63
66
|
// Upload the source map several times if necessary: once for each release and versionCode.
|
|
64
67
|
currentVariants.each { key, currentVariant ->
|
|
65
68
|
variant = currentVariant[0]
|
|
@@ -68,18 +71,18 @@ gradle.projectsEvaluated {
|
|
|
68
71
|
|
|
69
72
|
try {
|
|
70
73
|
if (versionCode instanceof String) {
|
|
71
|
-
versionCode = Integer.parseInt(versionCode)
|
|
74
|
+
versionCode = Integer.parseInt(versionCode)
|
|
75
|
+
versionCode = Math.abs(versionCode)
|
|
72
76
|
}
|
|
73
77
|
} catch (NumberFormatException e) {
|
|
74
|
-
project.logger.info("versionCode: '$versionCode' isn't an Integer,
|
|
78
|
+
project.logger.info("versionCode: '$versionCode' isn't an Integer, using the plain value.")
|
|
75
79
|
}
|
|
76
80
|
|
|
77
|
-
def absVersionCode = Math.abs(versionCode)
|
|
78
|
-
|
|
79
81
|
// The Sentry server distinguishes source maps by release (`--release` in the command
|
|
80
82
|
// below) and distribution identifier (`--dist` below). Give the task a unique name
|
|
81
83
|
// based on where we're uploading to.
|
|
82
|
-
def nameCliTask = "${bundleTask.name}_SentryUpload_${releaseName}_${
|
|
84
|
+
def nameCliTask = "${bundleTask.name}_SentryUpload_${releaseName}_${versionCode}"
|
|
85
|
+
def nameModulesTask = "${bundleTask.name}_SentryCollectModules_${releaseName}_${versionCode}"
|
|
83
86
|
|
|
84
87
|
// If several outputs have the same releaseName and versionCode, we'd do the exact same
|
|
85
88
|
// upload for each of them. No need to repeat.
|
|
@@ -154,6 +157,34 @@ gradle.projectsEvaluated {
|
|
|
154
157
|
enabled true
|
|
155
158
|
}
|
|
156
159
|
|
|
160
|
+
modulesTask = tasks.create(nameModulesTask, Exec) {
|
|
161
|
+
description = "collect javascript modules from bundle source map"
|
|
162
|
+
group = 'sentry.io'
|
|
163
|
+
|
|
164
|
+
workingDir reactRoot
|
|
165
|
+
|
|
166
|
+
def collectModulesScript = config.collectModulesScript
|
|
167
|
+
? file(config.collectModulesScript).getAbsolutePath()
|
|
168
|
+
: "$reactRoot/node_modules/@sentry/react-native/dist/js/tools/collectModules.js"
|
|
169
|
+
def modulesPaths = config.modulesPaths
|
|
170
|
+
? config.modulesPaths.join(',')
|
|
171
|
+
: "$reactRoot/node_modules"
|
|
172
|
+
def args = ["node",
|
|
173
|
+
collectModulesScript,
|
|
174
|
+
sourcemapOutput,
|
|
175
|
+
modulesOutput,
|
|
176
|
+
modulesPaths
|
|
177
|
+
]
|
|
178
|
+
|
|
179
|
+
project.logger.info("Sentry-CollectModules arguments: ${args}")
|
|
180
|
+
commandLine(*args)
|
|
181
|
+
|
|
182
|
+
def skip = config.skipCollectModules
|
|
183
|
+
? config.skipCollectModules == true
|
|
184
|
+
: false
|
|
185
|
+
enabled !skip
|
|
186
|
+
}
|
|
187
|
+
|
|
157
188
|
// chain the upload tasks so they run sequentially in order to run
|
|
158
189
|
// the cliCleanUpTask after the final upload task is run
|
|
159
190
|
if (previousCliTask != null) {
|
|
@@ -162,6 +193,25 @@ gradle.projectsEvaluated {
|
|
|
162
193
|
bundleTask.finalizedBy cliTask
|
|
163
194
|
}
|
|
164
195
|
previousCliTask = cliTask
|
|
196
|
+
cliTask.finalizedBy modulesTask
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
def modulesCleanUpTask = tasks.create(name: nameModulesCleanup, type: Delete) {
|
|
200
|
+
description = "clean up collected modules generated file"
|
|
201
|
+
group = 'sentry.io'
|
|
202
|
+
|
|
203
|
+
delete modulesOutput
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
def variantTaskName = variant.replaceAll("[\\s\\-()]", "") // variant is dev-release beta-release etc.
|
|
207
|
+
// task.name could be packageDev-debugRelease but in that case currentVariants == null
|
|
208
|
+
// because of the regex in `extractCurrentVariants` and this code doesn't run
|
|
209
|
+
def packageTasks = tasks.findAll {
|
|
210
|
+
task -> "package${variantTaskName}".equalsIgnoreCase(task.name) && task.enabled
|
|
211
|
+
}
|
|
212
|
+
packageTasks.each { packageTask ->
|
|
213
|
+
packageTask.dependsOn modulesTask
|
|
214
|
+
packageTask.finalizedBy modulesCleanUpTask
|
|
165
215
|
}
|
|
166
216
|
|
|
167
217
|
/** Delete sourcemap files */
|
|
@@ -170,7 +220,8 @@ gradle.projectsEvaluated {
|
|
|
170
220
|
group = 'sentry.io'
|
|
171
221
|
|
|
172
222
|
delete sourcemapOutput
|
|
173
|
-
delete "$buildDir/intermediates/assets/release/index.android.bundle.map"
|
|
223
|
+
delete "$buildDir/intermediates/assets/release/index.android.bundle.map"
|
|
224
|
+
// react native default bundle dir
|
|
174
225
|
}
|
|
175
226
|
|
|
176
227
|
// register clean task extension
|
|
@@ -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,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"}
|
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\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"]}
|