@react-native-firebase/crashlytics 25.1.0 → 26.0.0

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 (66) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/RNFBCrashlytics.podspec +10 -6
  3. package/android/build.gradle +23 -0
  4. package/android/src/main/java/io/invertase/firebase/crashlytics/{ReactNativeFirebaseCrashlyticsModule.java → NativeRNFBTurboCrashlytics.java} +44 -39
  5. package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsPackage.java +1 -1
  6. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboCrashlyticsSpec.java +125 -0
  7. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/CMakeLists.txt +36 -0
  8. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/RNFBCrashlyticsTurboModules-generated.cpp +116 -0
  9. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/RNFBCrashlyticsTurboModules.h +31 -0
  10. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/react/renderer/components/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModulesJSI-generated.cpp +124 -0
  11. package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/react/renderer/components/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModulesJSI.h +320 -0
  12. package/app.plugin.js +1 -1
  13. package/dist/module/handlers.js +7 -24
  14. package/dist/module/handlers.js.map +1 -1
  15. package/dist/module/index.js +125 -8
  16. package/dist/module/index.js.map +1 -1
  17. package/dist/module/types/crashlytics.js +1 -40
  18. package/dist/module/types/crashlytics.js.map +1 -1
  19. package/dist/module/types/internal.js +4 -0
  20. package/dist/module/types/internal.js.map +1 -0
  21. package/dist/module/version.js +1 -1
  22. package/dist/typescript/lib/handlers.d.ts.map +1 -1
  23. package/dist/typescript/lib/index.d.ts +19 -4
  24. package/dist/typescript/lib/index.d.ts.map +1 -1
  25. package/dist/typescript/lib/types/crashlytics.d.ts +0 -21
  26. package/dist/typescript/lib/types/crashlytics.d.ts.map +1 -1
  27. package/dist/typescript/lib/types/internal.d.ts +44 -0
  28. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  29. package/dist/typescript/lib/version.d.ts +1 -1
  30. package/ios/RNFBCrashlytics/RNFBCrashlyticsModule.h +2 -3
  31. package/ios/RNFBCrashlytics/{RNFBCrashlyticsModule.m → RNFBCrashlyticsModule.mm} +64 -72
  32. package/ios/RNFBCrashlytics.xcodeproj/project.pbxproj +8 -8
  33. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  34. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  35. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  36. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  37. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  38. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  39. package/ios/generated/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModules-generated.mm +148 -0
  40. package/ios/generated/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModules.h +214 -0
  41. package/ios/generated/RNFBCrashlyticsTurboModulesJSI-generated.cpp +124 -0
  42. package/ios/generated/RNFBCrashlyticsTurboModulesJSI.h +320 -0
  43. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  44. package/lib/handlers.ts +7 -26
  45. package/lib/index.ts +209 -7
  46. package/lib/types/crashlytics.ts +0 -30
  47. package/lib/types/internal.ts +59 -0
  48. package/lib/version.ts +1 -1
  49. package/package.json +30 -5
  50. package/plugin/build/app.plugin.d.ts +2 -0
  51. package/plugin/build/app.plugin.js +6 -0
  52. package/plugin/src/app.plugin.ts +3 -0
  53. package/plugin/tsconfig.tsbuildinfo +1 -1
  54. package/react-native.config.js +3 -28
  55. package/specs/NativeRNFBTurboCrashlytics.ts +41 -0
  56. package/typedoc.json +2 -3
  57. package/dist/module/modular.js +0 -241
  58. package/dist/module/modular.js.map +0 -1
  59. package/dist/module/namespaced.js +0 -135
  60. package/dist/module/namespaced.js.map +0 -1
  61. package/dist/typescript/lib/modular.d.ts +0 -193
  62. package/dist/typescript/lib/modular.d.ts.map +0 -1
  63. package/dist/typescript/lib/namespaced.d.ts +0 -12
  64. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  65. package/lib/modular.ts +0 -249
  66. package/lib/namespaced.ts +0 -206
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+
18
+ import type { Crashlytics } from './crashlytics';
19
+
20
+ export interface NativeRNFBTurboCrashlytics {
21
+ isCrashlyticsCollectionEnabled: boolean;
22
+ isErrorGenerationOnJSCrashEnabled: boolean;
23
+ isCrashlyticsJavascriptExceptionHandlerChainingEnabled: boolean;
24
+ checkForUnsentReports(): Promise<boolean>;
25
+ crash(): void;
26
+ deleteUnsentReports(): Promise<void>;
27
+ didCrashOnPreviousExecution(): Promise<boolean>;
28
+ log(message: string): void;
29
+ setAttribute(name: string, value: string): Promise<null>;
30
+ setAttributes(object: { [key: string]: string }): Promise<null>;
31
+ setUserId(userId: string): Promise<null>;
32
+ recordError(errorObj: unknown): void;
33
+ sendUnsentReports(): void;
34
+ setCrashlyticsCollectionEnabled(enabled: boolean): Promise<null>;
35
+ logPromise(message: string): Promise<void>;
36
+ recordErrorPromise(errorObj: unknown): Promise<void>;
37
+ crashWithStackPromise(errorObj: unknown): Promise<void>;
38
+ }
39
+
40
+ declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
41
+ interface ReactNativeFirebaseNativeModules {
42
+ NativeRNFBTurboCrashlytics: NativeRNFBTurboCrashlytics;
43
+ }
44
+ }
45
+
46
+ export interface CrashlyticsInternal extends Crashlytics {
47
+ checkForUnsentReports(): Promise<boolean>;
48
+ crash(): void;
49
+ deleteUnsentReports(): Promise<void>;
50
+ didCrashOnPreviousExecution(): Promise<boolean>;
51
+ log(message: string): void;
52
+ recordError(error: Error, jsErrorName?: string): void;
53
+ sendUnsentReports(): void;
54
+ setUserId(userId: string): Promise<null>;
55
+ setAttribute(name: string, value: string): Promise<null>;
56
+ setAttributes(attributes: { [key: string]: string }): Promise<null>;
57
+ setCrashlyticsCollectionEnabled(enabled: boolean): Promise<null>;
58
+ readonly native: NativeRNFBTurboCrashlytics;
59
+ }
package/lib/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '25.1.0';
2
+ export const version = '26.0.0';
package/package.json CHANGED
@@ -1,17 +1,34 @@
1
1
  {
2
2
  "name": "@react-native-firebase/crashlytics",
3
- "version": "25.1.0",
3
+ "version": "26.0.0",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - Firebase Crashlytics is a lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. React Native Firebase provides automatic crash reporting for both native and JavaScript errors, including unhandled promise rejections.",
6
6
  "main": "./dist/module/index.js",
7
7
  "types": "./dist/typescript/lib/index.d.ts",
8
+ "codegenConfig": {
9
+ "name": "RNFBCrashlyticsTurboModules",
10
+ "type": "modules",
11
+ "jsSrcsDir": "specs",
12
+ "includesGeneratedCode": true,
13
+ "android": {
14
+ "javaPackageName": "io.invertase.firebase.crashlytics"
15
+ },
16
+ "ios": {
17
+ "modulesProvider": {
18
+ "NativeRNFBTurboCrashlytics": "RNFBCrashlyticsModule"
19
+ }
20
+ }
21
+ },
8
22
  "scripts": {
9
23
  "build": "genversion --esm --semi lib/version.ts",
10
24
  "build:clean": "rimraf android/build && rimraf ios/build",
11
25
  "build:plugin": "rimraf plugin/build && tsc --build plugin",
12
26
  "lint:plugin": "eslint plugin/src/*",
13
27
  "compile": "bob build",
14
- "prepare": "yarn run build && yarn run build:plugin && yarn compile"
28
+ "prepare": "yarn run build && yarn run build:plugin && yarn compile",
29
+ "codegen": "yarn android:codegen && yarn ios:codegen",
30
+ "android:codegen": "npx @react-native-community/cli codegen --platform android --outputPath=./android/src/main/java/io/invertase/firebase/crashlytics/generated",
31
+ "ios:codegen": "npx @react-native-community/cli codegen --platform ios --outputPath=./ios/generated"
15
32
  },
16
33
  "repository": {
17
34
  "type": "git",
@@ -30,13 +47,14 @@
30
47
  "crashlytics"
31
48
  ],
32
49
  "peerDependencies": {
33
- "@react-native-firebase/app": "25.1.0",
50
+ "@react-native-firebase/app": "26.0.0",
34
51
  "expo": ">=47.0.0"
35
52
  },
36
53
  "dependencies": {
37
54
  "stacktrace-js": "^2.0.2"
38
55
  },
39
56
  "devDependencies": {
57
+ "@react-native-firebase/app": "26.0.0",
40
58
  "expo": "^55.0.18",
41
59
  "react-native-builder-bob": "^0.41.0",
42
60
  "typescript": "^6.0.3"
@@ -56,7 +74,14 @@
56
74
  "types": "./dist/typescript/lib/index.d.ts",
57
75
  "default": "./dist/module/index.js"
58
76
  },
59
- "./app.plugin.js": "./app.plugin.js",
77
+ "./app.plugin": {
78
+ "types": "./plugin/build/app.plugin.d.ts",
79
+ "default": "./app.plugin.js"
80
+ },
81
+ "./app.plugin.js": {
82
+ "types": "./plugin/build/app.plugin.d.ts",
83
+ "default": "./app.plugin.js"
84
+ },
60
85
  "./package.json": "./package.json"
61
86
  },
62
87
  "react-native-builder-bob": {
@@ -77,5 +102,5 @@
77
102
  ]
78
103
  ]
79
104
  },
80
- "gitHead": "e0a565d8a73a9b103d140ffacfb8876b30d8bdc5"
105
+ "gitHead": "2a360acb2aebdd39dd40e31be386b30697270626"
81
106
  }
@@ -0,0 +1,2 @@
1
+ import plugin from './index';
2
+ export = plugin;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const index_1 = __importDefault(require("./index"));
6
+ module.exports = index_1.default;
@@ -0,0 +1,3 @@
1
+ import plugin from './index';
2
+
3
+ export = plugin;
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/android/applyPlugin.ts","./src/android/buildscriptDependency.ts","./src/android/constants.ts","./src/android/index.ts"],"version":"6.0.3"}
1
+ {"root":["./src/app.plugin.ts","./src/index.ts","./src/android/applyPlugin.ts","./src/android/buildscriptDependency.ts","./src/android/constants.ts","./src/android/index.ts"],"version":"6.0.3"}
@@ -1,34 +1,9 @@
1
- /*
2
- * Copyright (c) 2016-present Invertase Limited & Contributors
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this library except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
1
  module.exports = {
18
2
  dependency: {
19
3
  platforms: {
20
- ios: {
21
- scriptPhases: [
22
- {
23
- name: '[RNFB] Crashlytics Configuration',
24
- path: './ios_config.sh',
25
- execution_position: 'after_compile',
26
- input_files: [
27
- '${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}',
28
- '$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)',
29
- ],
30
- },
31
- ],
4
+ android: {
5
+ cmakeListsPath:
6
+ './src/main/java/io/invertase/firebase/crashlytics/generated/jni/CMakeLists.txt',
32
7
  },
33
8
  },
34
9
  },
@@ -0,0 +1,41 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export interface CrashlyticsStackFrame {
5
+ src: string;
6
+ line: number;
7
+ col: number;
8
+ fn: string;
9
+ file: string;
10
+ }
11
+
12
+ export interface JavaScriptErrorObject {
13
+ message: string;
14
+ isUnhandledRejection: boolean;
15
+ frames: ReadonlyArray<CrashlyticsStackFrame>;
16
+ }
17
+
18
+ export interface Spec extends TurboModule {
19
+ getConstants(): {
20
+ isCrashlyticsCollectionEnabled: boolean;
21
+ isErrorGenerationOnJSCrashEnabled: boolean;
22
+ isCrashlyticsJavascriptExceptionHandlerChainingEnabled: boolean;
23
+ };
24
+
25
+ checkForUnsentReports(): Promise<boolean>;
26
+ crash(): void;
27
+ crashWithStackPromise(jsErrorDict: JavaScriptErrorObject): Promise<void>;
28
+ deleteUnsentReports(): Promise<void>;
29
+ didCrashOnPreviousExecution(): Promise<boolean>;
30
+ log(message: string): void;
31
+ logPromise(message: string): Promise<void>;
32
+ sendUnsentReports(): void;
33
+ setAttribute(key: string, value: string): Promise<void>;
34
+ setAttributes(attributes: { [key: string]: string }): Promise<void>;
35
+ setUserId(userId: string): Promise<void>;
36
+ recordError(jsErrorDict: JavaScriptErrorObject): void;
37
+ recordErrorPromise(jsErrorDict: JavaScriptErrorObject): Promise<void>;
38
+ setCrashlyticsCollectionEnabled(enabled: boolean): Promise<void>;
39
+ }
40
+
41
+ export default TurboModuleRegistry.getEnforcing<Spec>('NativeRNFBTurboCrashlytics');
package/typedoc.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "$schema": "https://typedoc.org/schema.json",
3
- "entryPoints": ["lib/modular.ts", "lib/types/crashlytics.ts"],
4
- "tsconfig": "tsconfig.json",
5
- "intentionallyNotExported": ["_Statics"]
3
+ "entryPoints": ["lib/index.ts", "lib/types/crashlytics.ts"],
4
+ "tsconfig": "tsconfig.json"
6
5
  }
@@ -1,241 +0,0 @@
1
- "use strict";
2
-
3
- import { getApp } from '@react-native-firebase/app';
4
- import { MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/dist/module/common';
5
- /**
6
- * Returns Crashlytics instance.
7
- * #### Example
8
- * ```js
9
- * const crashlytics = getCrashlytics();
10
- * ```
11
- */
12
- export function getCrashlytics() {
13
- return getApp().crashlytics();
14
- }
15
-
16
- /**
17
- * Determines whether there are any unsent crash reports cached on the device. The callback only executes
18
- * if automatic data collection is disabled.
19
- *
20
- * #### Example
21
- *
22
- * ```js
23
- * async checkReports() {
24
- * // returns boolean value
25
- * const crashlytics = getCrashlytics();
26
- * const unsentReports = await checkForUnsentReports(crashlytics);
27
- * }
28
- *
29
- * checkReports();
30
- * ```
31
- * @param crashlytics A crashlytics instance.
32
- * @returns Promise that resolves to a boolean indicating if there are unsent reports.
33
- */
34
- export function checkForUnsentReports(crashlytics) {
35
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
36
- return crashlytics.checkForUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
37
- }
38
-
39
- /**
40
- * Deletes any unsent reports on the device. This method only applies if automatic data collection is
41
- * disabled.
42
- *
43
- * #### Example
44
- *
45
- * ```js
46
- * const crashlytics = getCrashlytics();
47
- * deleteUnsentReports(crashlytics);
48
- * ```
49
- * @param crashlytics A crashlytics instance.
50
- */
51
- export function deleteUnsentReports(crashlytics) {
52
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
53
- return crashlytics.deleteUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
54
- }
55
-
56
- /**
57
- * Returns a boolean value indicating whether the app crashed during the previous execution.
58
- *
59
- * #### Example
60
- *
61
- * ```js
62
- * async didCrashPreviously() {
63
- * // returns boolean value
64
- * const crashlytics = getCrashlytics();
65
- * const didCrash = await didCrashOnPreviousExecution(crashlytics);
66
- * }
67
- *
68
- * didCrashPreviously();
69
- * ```
70
- * @param crashlytics A crashlytics instance.
71
- * @returns Promise that resolves to a boolean indicating if the app crashed previously.
72
- */
73
- export function didCrashOnPreviousExecution(crashlytics) {
74
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
75
- return crashlytics.didCrashOnPreviousExecution.call(crashlytics, MODULAR_DEPRECATION_ARG);
76
- }
77
-
78
- /**
79
- * Cause your app to crash for testing purposes. This is a native crash and will not contain a javascript stack trace.
80
- * Note that crashes are intercepted by debuggers on iOS so no report will be seen under those conditions. Additionally
81
- * if it is a debug build you will need to ensure your firebase.json is configured to enable crashlytics even in debug mode.
82
- *
83
- * #### Example
84
- *
85
- * ```js
86
- * const crashlytics = getCrashlytics();
87
- * crash(crashlytics);
88
- * ```
89
- * @param crashlytics A crashlytics instance.
90
- */
91
- export function crash(crashlytics) {
92
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
93
- return crashlytics.crash.call(crashlytics, MODULAR_DEPRECATION_ARG);
94
- }
95
-
96
- /**
97
- * Log a message that will appear in any subsequent Crash or Non-fatal error reports.
98
- *
99
- * #### Example
100
- *
101
- * ```js
102
- * const crashlytics = getCrashlytics();
103
- * log(crashlytics, 'Testing a crash');
104
- * crash(crashlytics);
105
- * ```
106
- * @param crashlytics A crashlytics instance.
107
- * @param message The message to log.
108
- */
109
- export function log(crashlytics, message) {
110
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
111
- return crashlytics.log.call(crashlytics, message, MODULAR_DEPRECATION_ARG);
112
- }
113
-
114
- /**
115
- * Record a JavaScript Error.
116
- *
117
- * The JavaScript stack trace is converted into a mock native iOS or Android exception before submission.
118
- * The line numbers in the stack trace (if available) will be relative to the javascript bundle built by your packager,
119
- * after whatever transpilation or minimization steps happen. You will need to maintain sourcemaps to decode them if desired.
120
- *
121
- * #### Example
122
- *
123
- * ```js
124
- * const crashlytics = getCrashlytics();
125
- * recordError(
126
- * crashlytics,
127
- * new Error('An error was caught')
128
- * );
129
- * ```
130
- * @param crashlytics A crashlytics instance.
131
- * @param error Expects an instance of Error; e.g. classes that extend Error will also be supported.
132
- * @param jsErrorName Optional string containing Javascript error name
133
- */
134
- export function recordError(crashlytics, error, jsErrorName) {
135
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
136
- return crashlytics.recordError.call(crashlytics, error, jsErrorName, MODULAR_DEPRECATION_ARG);
137
- }
138
-
139
- /**
140
- * Enqueues any unsent reports on the device to upload to Crashlytics. This method only applies if
141
- * automatic data collection is disabled.
142
- *
143
- * #### Example
144
- *
145
- * ```js
146
- * const crashlytics = getCrashlytics();
147
- * sendUnsentReports(crashlytics);
148
- * ```
149
- * @param crashlytics A crashlytics instance.
150
- */
151
- export function sendUnsentReports(crashlytics) {
152
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
153
- return crashlytics.sendUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
154
- }
155
-
156
- /**
157
- * Specify a user identifier which will be visible in the Firebase Crashlytics console.
158
- *
159
- * It is recommended for privacy purposes that this value be a value that's meaningless to a third-party
160
- * observer; such as an arbitrary string that ties an end-user to a record in your system e.g. a database record id.
161
- *
162
- * #### Example
163
- *
164
- * ```js
165
- * const auth = getAuth();
166
- * const crashlytics = getCrashlytics();
167
- * // Custom user id
168
- * await setUserId(crashlytics, '123456789');
169
- * // Firebase auth uid
170
- * await setUserId(
171
- * crashlytics,
172
- * auth.currentUser.uid
173
- * );
174
- * ```
175
- * @param crashlytics A crashlytics instance.
176
- * @param userId An arbitrary string that ties an end-user to a record in your system e.g. a database record id.
177
- */
178
- export function setUserId(crashlytics, userId) {
179
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
180
- return crashlytics.setUserId.call(crashlytics, userId, MODULAR_DEPRECATION_ARG);
181
- }
182
-
183
- /**
184
- * Sets a string value to be associated with the given attribute name which will be visible in the Firebase Crashlytics console.
185
- *
186
- * #### Example
187
- *
188
- * ```js
189
- * const crashlytics = getCrashlytics();
190
- * await setAttribute(crashlytics, 'role', 'admin');
191
- * ```
192
- * @param crashlytics A crashlytics instance.
193
- * @param name The name of the attribute to set.
194
- * @param value A string value for the given attribute.
195
- */
196
- export function setAttribute(crashlytics, name, value) {
197
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
198
- return crashlytics.setAttribute.call(crashlytics, name, value, MODULAR_DEPRECATION_ARG);
199
- }
200
-
201
- /**
202
- * Like `setAttribute` but for multiple attributes.
203
- *
204
- * #### Example
205
- *
206
- * ```js
207
- * const crashlytics = getCrashlytics();
208
- * await setAttributes(crashlytics, {
209
- * role: 'admin',
210
- * followers: '13',
211
- * });
212
- * ```
213
- * @param crashlytics A crashlytics instance.
214
- * @param attributes An object of key/value attribute name and values.
215
- */
216
- export function setAttributes(crashlytics, attributes) {
217
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
218
- return crashlytics.setAttributes.call(crashlytics, attributes, MODULAR_DEPRECATION_ARG);
219
- }
220
-
221
- /**
222
- * Enable/disable Crashlytics reporting.
223
- *
224
- * Use this for opt-in first user data collection flows combined with `firebase.json` settings to disable auto collection.
225
- *
226
- * #### Example
227
- *
228
- * ```js
229
- * const crashlytics = getCrashlytics();
230
- * // Disable crash reporting
231
- * await setCrashlyticsCollectionEnabled(crashlytics, false);
232
- * ```
233
- * @param crashlytics A crashlytics instance.
234
- * @param enabled A boolean value representing whether to enable Crashlytics error collection.
235
- */
236
- export function setCrashlyticsCollectionEnabled(crashlytics, enabled) {
237
- return crashlytics.setCrashlyticsCollectionEnabled.call(crashlytics, enabled,
238
- // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
239
- MODULAR_DEPRECATION_ARG);
240
- }
241
- //# sourceMappingURL=modular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getApp","MODULAR_DEPRECATION_ARG","getCrashlytics","crashlytics","checkForUnsentReports","call","deleteUnsentReports","didCrashOnPreviousExecution","crash","log","message","recordError","error","jsErrorName","sendUnsentReports","setUserId","userId","setAttribute","name","value","setAttributes","attributes","setCrashlyticsCollectionEnabled","enabled"],"sourceRoot":"../../lib","sources":["modular.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,4BAA4B;AACnD,SAASC,uBAAuB,QAAQ,+CAA+C;AAGvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAAgB;EAC5C,OAAOF,MAAM,CAAC,CAAC,CAACG,WAAW,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACD,WAAwB,EAAoB;EAChF;EACA,OAAOA,WAAW,CAACC,qBAAqB,CAACC,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACrF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,mBAAmBA,CAACH,WAAwB,EAAiB;EAC3E;EACA,OAAOA,WAAW,CAACG,mBAAmB,CAACD,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,2BAA2BA,CAACJ,WAAwB,EAAoB;EACtF;EACA,OAAOA,WAAW,CAACI,2BAA2B,CAACF,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,KAAKA,CAACL,WAAwB,EAAQ;EACpD;EACA,OAAOA,WAAW,CAACK,KAAK,CAACH,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACrE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,GAAGA,CAACN,WAAwB,EAAEO,OAAe,EAAQ;EACnE;EACA,OAAOP,WAAW,CAACM,GAAG,CAACJ,IAAI,CAACF,WAAW,EAAEO,OAAO,EAAET,uBAAuB,CAAC;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,WAAWA,CAACR,WAAwB,EAAES,KAAY,EAAEC,WAAoB,EAAQ;EAC9F;EACA,OAAOV,WAAW,CAACQ,WAAW,CAACN,IAAI,CAACF,WAAW,EAAES,KAAK,EAAEC,WAAW,EAAEZ,uBAAuB,CAAC;AAC/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,iBAAiBA,CAACX,WAAwB,EAAQ;EAChE;EACA,OAAOA,WAAW,CAACW,iBAAiB,CAACT,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASc,SAASA,CAACZ,WAAwB,EAAEa,MAAc,EAAiB;EACjF;EACA,OAAOb,WAAW,CAACY,SAAS,CAACV,IAAI,CAACF,WAAW,EAAEa,MAAM,EAAEf,uBAAuB,CAAC;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASgB,YAAYA,CAACd,WAAwB,EAAEe,IAAY,EAAEC,KAAa,EAAiB;EACjG;EACA,OAAOhB,WAAW,CAACc,YAAY,CAACZ,IAAI,CAACF,WAAW,EAAEe,IAAI,EAAEC,KAAK,EAAElB,uBAAuB,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASmB,aAAaA,CAC3BjB,WAAwB,EACxBkB,UAAqC,EACtB;EACf;EACA,OAAOlB,WAAW,CAACiB,aAAa,CAACf,IAAI,CAACF,WAAW,EAAEkB,UAAU,EAAEpB,uBAAuB,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,+BAA+BA,CAC7CnB,WAAwB,EACxBoB,OAAgB,EACD;EACf,OAAOpB,WAAW,CAACmB,+BAA+B,CAACjB,IAAI,CACrDF,WAAW,EACXoB,OAAO;EACP;EACAtB,uBACF,CAAC;AACH","ignoreList":[]}
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- /* eslint-disable no-console */
4
- /*
5
- * Copyright (c) 2016-present Invertase Limited & Contributors
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this library except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- *
19
- */
20
-
21
- import { getApp } from '@react-native-firebase/app';
22
- import { isBoolean, isError, isObject, isString, isOther, MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/dist/module/common';
23
- import { createModuleNamespace, FirebaseModule, getFirebaseRoot } from '@react-native-firebase/app/dist/module/internal';
24
- import StackTrace from 'stacktrace-js';
25
- import { createNativeErrorObj, setGlobalErrorHandler, setOnUnhandledPromiseRejectionHandler } from "./handlers.js";
26
- import { version } from "./version.js";
27
- const statics = {};
28
- const namespace = 'crashlytics';
29
- const nativeModuleName = 'RNFBCrashlyticsModule';
30
- class FirebaseCrashlyticsModule extends FirebaseModule {
31
- constructor(app, config, customUrlOrRegion) {
32
- super(app, config, customUrlOrRegion);
33
- setGlobalErrorHandler(this.native);
34
- setOnUnhandledPromiseRejectionHandler(this.native);
35
- this._isCrashlyticsCollectionEnabled = this.native.isCrashlyticsCollectionEnabled;
36
- }
37
- get isCrashlyticsCollectionEnabled() {
38
- // Purposefully did not deprecate this as I think it should remain a property rather than a method.
39
- return this._isCrashlyticsCollectionEnabled;
40
- }
41
- checkForUnsentReports() {
42
- if (this.isCrashlyticsCollectionEnabled) {
43
- throw new Error("firebase.crashlytics().setCrashlyticsCollectionEnabled(*) has been set to 'true', all reports are automatically sent.");
44
- }
45
- return this.native.checkForUnsentReports();
46
- }
47
- crash() {
48
- this.native.crash();
49
- }
50
- async deleteUnsentReports() {
51
- await this.native.deleteUnsentReports();
52
- }
53
- didCrashOnPreviousExecution() {
54
- return this.native.didCrashOnPreviousExecution();
55
- }
56
- log(message) {
57
- this.native.log(`${message}`);
58
- }
59
- setAttribute(name, value) {
60
- if (!isString(name)) {
61
- throw new Error('firebase.crashlytics().setAttribute(*, _): The supplied property name must be a string.');
62
- }
63
- if (!isString(value)) {
64
- throw new Error('firebase.crashlytics().setAttribute(_, *): The supplied property value must be a string value.');
65
- }
66
- return this.native.setAttribute(name, value);
67
- }
68
- setAttributes(object) {
69
- if (!isObject(object)) {
70
- throw new Error('firebase.crashlytics().setAttributes(*): The supplied arg must be an object of key value strings.');
71
- }
72
- return this.native.setAttributes(object);
73
- }
74
- setUserId(userId) {
75
- if (!isString(userId)) {
76
- throw new Error('firebase.crashlytics().setUserId(*): The supplied userId must be a string value.');
77
- }
78
- return this.native.setUserId(userId);
79
- }
80
- recordError(error, jsErrorName) {
81
- if (isError(error)) {
82
- StackTrace.fromError(error, {
83
- offline: true
84
- }).then(stackFrames => {
85
- this.native.recordError(createNativeErrorObj(error, stackFrames, false, jsErrorName));
86
- });
87
- } else {
88
- console.warn('firebase.crashlytics().recordError(*) expects an instance of Error. Non Errors will be ignored.');
89
- }
90
- }
91
- sendUnsentReports() {
92
- if (this.isCrashlyticsCollectionEnabled) {
93
- this.native.sendUnsentReports();
94
- }
95
- }
96
- setCrashlyticsCollectionEnabled(enabled) {
97
- if (!isBoolean(enabled)) {
98
- throw new Error("firebase.crashlytics().setCrashlyticsCollectionEnabled(*) 'enabled' must be a boolean.");
99
- }
100
- this._isCrashlyticsCollectionEnabled = enabled;
101
- return this.native.setCrashlyticsCollectionEnabled(enabled);
102
- }
103
- }
104
-
105
- // import { SDK_VERSION } from '@react-native-firebase/crashlytics';
106
- export const SDK_VERSION = version;
107
- const crashlyticsNamespace = createModuleNamespace({
108
- statics,
109
- version,
110
- namespace,
111
- nativeModuleName,
112
- nativeEvents: false,
113
- hasMultiAppSupport: false,
114
- hasCustomUrlOrRegionSupport: false,
115
- ModuleClass: FirebaseCrashlyticsModule
116
- });
117
- // import crashlytics from '@react-native-firebase/crashlytics';
118
- // crashlytics().X(...);
119
- export default crashlyticsNamespace;
120
-
121
- // import crashlytics, { firebase } from '@react-native-firebase/crashlytics';
122
- // crashlytics().X(...);
123
- // firebase.crashlytics().X(...);
124
- export const firebase = getFirebaseRoot();
125
-
126
- // Register the interop module for non-native platforms.
127
- // Note: This package doesn't have a web fallback module like functions does
128
- // setReactNativeModule(nativeModuleName, fallBackModule);
129
-
130
- // This will throw with 'Default App Not initialized' if the default app is not configured.
131
- if (!isOther) {
132
- // @ts-ignore - Extra arg used by deprecation proxy to detect namespaced calls
133
- firebase.crashlytics.call(null, getApp(), MODULAR_DEPRECATION_ARG);
134
- }
135
- //# sourceMappingURL=namespaced.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getApp","isBoolean","isError","isObject","isString","isOther","MODULAR_DEPRECATION_ARG","createModuleNamespace","FirebaseModule","getFirebaseRoot","StackTrace","createNativeErrorObj","setGlobalErrorHandler","setOnUnhandledPromiseRejectionHandler","version","statics","namespace","nativeModuleName","FirebaseCrashlyticsModule","constructor","app","config","customUrlOrRegion","native","_isCrashlyticsCollectionEnabled","isCrashlyticsCollectionEnabled","checkForUnsentReports","Error","crash","deleteUnsentReports","didCrashOnPreviousExecution","log","message","setAttribute","name","value","setAttributes","object","setUserId","userId","recordError","error","jsErrorName","fromError","offline","then","stackFrames","console","warn","sendUnsentReports","setCrashlyticsCollectionEnabled","enabled","SDK_VERSION","crashlyticsNamespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","ModuleClass","firebase","crashlytics","call"],"sourceRoot":"../../lib","sources":["namespaced.ts"],"mappings":"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","ignoreList":[]}