@bugfender/rn-bugfender 2.0.0 → 2.1.1

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 (109) hide show
  1. package/README.md +16 -1
  2. package/RnBugfender.podspec +15 -0
  3. package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
  4. package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/{7.1 → 7.4.2}/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/{7.1 → 7.4.2}/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/{7.1 → 7.4.2}/gc.properties +0 -0
  9. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  11. package/android/build.gradle +117 -40
  12. package/android/gradle.properties +5 -0
  13. package/android/src/main/java/com/{bugfender/react → bugfender.react}/RnBugfenderModule.java +2 -2
  14. package/android/src/main/java/com/{bugfender/react → bugfender.react}/RnBugfenderPackage.java +0 -0
  15. package/ios/{RnBugfender.m → RnBugfender.mm} +16 -4
  16. package/ios/RnBugfender.xcodeproj/project.pbxproj +4 -17
  17. package/lib/commonjs/bugfender.js +31 -35
  18. package/lib/commonjs/bugfender.js.map +1 -1
  19. package/lib/commonjs/index.js +2 -2
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/index.web.js +2 -2
  22. package/lib/commonjs/index.web.js.map +1 -1
  23. package/lib/commonjs/override-console-methods.js +9 -9
  24. package/lib/commonjs/override-console-methods.js.map +1 -1
  25. package/lib/commonjs/sdk-options.js +6 -34
  26. package/lib/commonjs/sdk-options.js.map +1 -1
  27. package/lib/commonjs/types/sdk-options.js +5 -4
  28. package/lib/commonjs/types/sdk-options.js.map +1 -1
  29. package/lib/commonjs/user-feedback.js.map +1 -1
  30. package/lib/module/bugfender.js +30 -31
  31. package/lib/module/bugfender.js.map +1 -1
  32. package/lib/module/index.js +1 -1
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/index.web.js +1 -1
  35. package/lib/module/index.web.js.map +1 -1
  36. package/lib/module/override-console-methods.js +9 -9
  37. package/lib/module/override-console-methods.js.map +1 -1
  38. package/lib/module/sdk-options.js +6 -34
  39. package/lib/module/sdk-options.js.map +1 -1
  40. package/lib/module/types/sdk-options.js +5 -4
  41. package/lib/module/types/sdk-options.js.map +1 -1
  42. package/lib/module/user-feedback.js.map +1 -1
  43. package/lib/typescript/bugfender.d.ts +5 -6
  44. package/lib/typescript/index.d.ts +1 -1
  45. package/lib/typescript/index.web.d.ts +1 -1
  46. package/lib/typescript/override-console-methods.d.ts +1 -2
  47. package/lib/typescript/sdk-options.d.ts +2 -12
  48. package/lib/typescript/types/sdk-options.d.ts +2 -0
  49. package/lib/typescript/user-feedback.d.ts +2 -15
  50. package/package.json +26 -22
  51. package/src/bugfender.ts +37 -34
  52. package/src/index.tsx +1 -1
  53. package/src/index.web.tsx +1 -1
  54. package/src/override-console-methods.ts +8 -9
  55. package/src/sdk-options.ts +7 -35
  56. package/src/types/sdk-options.ts +5 -2
  57. package/src/user-feedback.ts +3 -16
  58. package/android/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  59. package/android/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  60. package/android/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  61. package/android/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  62. package/android/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  63. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  64. package/android/.gradle/checksums/checksums.lock +0 -0
  65. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  66. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  67. package/android/.idea/compiler.xml +0 -6
  68. package/android/.idea/gradle.xml +0 -18
  69. package/android/.idea/jarRepositories.xml +0 -40
  70. package/android/.idea/misc.xml +0 -8
  71. package/android/.idea/runConfigurations.xml +0 -10
  72. package/android/.idea/uiDesigner.xml +0 -124
  73. package/android/.idea/vcs.xml +0 -6
  74. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  75. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  76. package/android/gradlew +0 -185
  77. package/android/gradlew.bat +0 -89
  78. package/ios/RnBugfender.xcodeproj/project.xcworkspace/xcuserdata/fj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  79. package/ios/RnBugfender.xcodeproj/xcuserdata/fj.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  80. package/lib/commonjs/print-to-console.js +0 -78
  81. package/lib/commonjs/print-to-console.js.map +0 -1
  82. package/lib/commonjs/string-formatter.js +0 -55
  83. package/lib/commonjs/string-formatter.js.map +0 -1
  84. package/lib/commonjs/types/device.js +0 -2
  85. package/lib/commonjs/types/device.js.map +0 -1
  86. package/lib/commonjs/types/log.js +0 -35
  87. package/lib/commonjs/types/log.js.map +0 -1
  88. package/lib/commonjs/utilities.js +0 -18
  89. package/lib/commonjs/utilities.js.map +0 -1
  90. package/lib/module/print-to-console.js +0 -67
  91. package/lib/module/print-to-console.js.map +0 -1
  92. package/lib/module/string-formatter.js +0 -45
  93. package/lib/module/string-formatter.js.map +0 -1
  94. package/lib/module/types/device.js +0 -2
  95. package/lib/module/types/device.js.map +0 -1
  96. package/lib/module/types/log.js +0 -24
  97. package/lib/module/types/log.js.map +0 -1
  98. package/lib/module/utilities.js +0 -11
  99. package/lib/module/utilities.js.map +0 -1
  100. package/lib/typescript/print-to-console.d.ts +0 -14
  101. package/lib/typescript/string-formatter.d.ts +0 -4
  102. package/lib/typescript/types/device.d.ts +0 -4
  103. package/lib/typescript/types/log.d.ts +0 -59
  104. package/lib/typescript/utilities.d.ts +0 -1
  105. package/src/print-to-console.ts +0 -67
  106. package/src/string-formatter.ts +0 -44
  107. package/src/types/device.ts +0 -4
  108. package/src/types/log.ts +0 -75
  109. package/src/utilities.ts +0 -8
package/README.md CHANGED
@@ -47,6 +47,20 @@ Download the latest release from [Github](https://github.com/bugfender/Bugfender
47
47
 
48
48
  * Make sure you have linked `SystemConfiguration.framework`, `Security.framework`, `MobileCoreServices.framework` and `libc++.tbd` as well.
49
49
 
50
+ ## Upgrading from version 1.x
51
+ After updating to version 2.x from version 1.x you should perform the following extra steps:
52
+ ### Android
53
+ Open `MainApplication` class inside `android/app/src/main/java/com.<your_app>/` folder and remove any references to `com.bugfender.react.RNBugfenderPackage`
54
+ ### iOS
55
+ Open `Podfile` inside `ios` folder and remove the following line:
56
+ ```
57
+ pod 'RNBugfender', :path => '../node_modules/@bugfender/rn-bugfender'
58
+ ```
59
+ and then execute the following command under `ios` folder:
60
+ ```
61
+ pod deintegrate && pod install
62
+ ```
63
+
50
64
  ## RNBugfender Usage
51
65
  ```typescript
52
66
  import { Bugfender, LogLevel } from '@bugfender/rn-bugfender';
@@ -61,6 +75,7 @@ Bugfender.init({
61
75
  // logUIEvents: true,
62
76
  // registerErrorHandler: true,
63
77
  // deviceName: 'Anonymous',
78
+ // maximumLocalStorageSize: 5 * 1024 * 1024, // Native specific
64
79
  // enableLogcatLogging: false, // Android specific
65
80
  // logBrowserEvents: true, // Web specific
66
81
  // build: '42', // Web specific
@@ -150,7 +165,7 @@ Bugfender.forceSendOnce();
150
165
  The changelog of the Bugfender Web SDK can be found in ReleaseNotes under the [react-native](https://bugfender.releasenotes.io/tag/react-native) tag. For all the Bugfender product changes please visit the general release notes.
151
166
 
152
167
  ### 2.x Breaking Changes
153
- The Web SDK API has changed in order be unified with [Bugfender Web SDK](https://www.npmjs.com/package/@bugfender/sdk):
168
+ The React Native SDK API has changed in order be unified with [Bugfender Web SDK](https://www.npmjs.com/package/@bugfender/sdk):
154
169
  * The following methods have been removed and replaced with init method attributes:
155
170
  * `setApiUrl`
156
171
  * `setBaseUrl`
@@ -1,6 +1,7 @@
1
1
  require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
4
5
 
5
6
  Pod::Spec.new do |s|
6
7
  s.name = "RnBugfender"
@@ -18,4 +19,18 @@ Pod::Spec.new do |s|
18
19
  s.dependency "React-Core"
19
20
  s.dependency 'BugfenderSDK', '~> 1.10.5'
20
21
 
22
+ # Don't install the dependencies when we run `pod install` in the old architecture.
23
+ if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
24
+ s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
25
+ s.pod_target_xcconfig = {
26
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
27
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
28
+ }
29
+
30
+ s.dependency "React-Codegen"
31
+ s.dependency "RCT-Folly"
32
+ s.dependency "RCTRequired"
33
+ s.dependency "RCTTypeSafety"
34
+ s.dependency "ReactCommon/turbomodule/core"
35
+ end
21
36
  end
File without changes
@@ -1,2 +1,2 @@
1
- #Fri Dec 10 18:55:52 CET 2021
2
- gradle.version=7.1
1
+ #Tue Sep 27 11:28:00 CEST 2022
2
+ gradle.version=7.4.2
@@ -1,61 +1,138 @@
1
1
  buildscript {
2
- if (project == rootProject) {
3
- repositories {
4
- google()
5
- mavenCentral()
6
- jcenter()
7
- }
2
+ repositories {
3
+ google()
4
+ mavenCentral()
5
+ }
8
6
 
9
- dependencies {
10
- classpath 'com.android.tools.build:gradle:3.5.3'
11
- }
12
- }
7
+ dependencies {
8
+ classpath 'com.android.tools.build:gradle:3.5.3'
9
+ }
10
+ }
11
+
12
+ def isNewArchitectureEnabled() {
13
+ return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
13
14
  }
14
15
 
15
16
  apply plugin: 'com.android.library'
16
17
 
17
- def safeExtGet(prop, fallback) {
18
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
18
+ if (isNewArchitectureEnabled()) {
19
+ apply plugin: 'com.facebook.react'
20
+ }
21
+
22
+ def getExtOrDefault(name) {
23
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['RnBugfender_' + name]
24
+ }
25
+
26
+ def getExtOrIntegerDefault(name) {
27
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['RnBugfender_' + name]).toInteger()
19
28
  }
20
29
 
21
30
  android {
22
- compileSdkVersion safeExtGet('RnBugfender_compileSdkVersion', 29)
23
- defaultConfig {
24
- minSdkVersion safeExtGet('RnBugfender_minSdkVersion', 16)
25
- targetSdkVersion safeExtGet('RnBugfender_targetSdkVersion', 29)
26
- versionCode 1
27
- versionName "1.0"
31
+ compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
28
32
 
33
+ defaultConfig {
34
+ minSdkVersion getExtOrIntegerDefault('minSdkVersion')
35
+ targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
36
+ buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
37
+ }
38
+ buildTypes {
39
+ release {
40
+ minifyEnabled false
29
41
  }
42
+ }
30
43
 
31
- buildTypes {
32
- release {
33
- minifyEnabled false
34
- }
35
- }
36
- lintOptions {
37
- disable 'GradleCompatible'
38
- }
39
- compileOptions {
40
- sourceCompatibility JavaVersion.VERSION_1_8
41
- targetCompatibility JavaVersion.VERSION_1_8
42
- }
44
+ lintOptions {
45
+ disable 'GradleCompatible'
46
+ }
47
+
48
+ compileOptions {
49
+ sourceCompatibility JavaVersion.VERSION_1_8
50
+ targetCompatibility JavaVersion.VERSION_1_8
51
+ }
43
52
  }
44
53
 
45
54
  repositories {
46
- mavenLocal()
55
+ mavenCentral()
56
+ google()
57
+
58
+ def found = false
59
+ def defaultDir = null
60
+ def androidSourcesName = 'React Native sources'
61
+
62
+ if (rootProject.ext.has('reactNativeAndroidRoot')) {
63
+ defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
64
+ } else {
65
+ defaultDir = new File(
66
+ projectDir,
67
+ '/../../../node_modules/react-native/android'
68
+ )
69
+ }
70
+
71
+ if (defaultDir.exists()) {
47
72
  maven {
48
- // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
49
- url("$rootDir/../node_modules/react-native/android")
73
+ url defaultDir.toString()
74
+ name androidSourcesName
50
75
  }
51
- google()
52
- mavenCentral()
53
- jcenter()
76
+
77
+ logger.info(":${project.name}:reactNativeAndroidRoot ${defaultDir.canonicalPath}")
78
+ found = true
79
+ } else {
80
+ def parentDir = rootProject.projectDir
81
+
82
+ 1.upto(5, {
83
+ if (found) return true
84
+ parentDir = parentDir.parentFile
85
+
86
+ def androidSourcesDir = new File(
87
+ parentDir,
88
+ 'node_modules/react-native'
89
+ )
90
+
91
+ def androidPrebuiltBinaryDir = new File(
92
+ parentDir,
93
+ 'node_modules/react-native/android'
94
+ )
95
+
96
+ if (androidPrebuiltBinaryDir.exists()) {
97
+ maven {
98
+ url androidPrebuiltBinaryDir.toString()
99
+ name androidSourcesName
100
+ }
101
+
102
+ logger.info(":${project.name}:reactNativeAndroidRoot ${androidPrebuiltBinaryDir.canonicalPath}")
103
+ found = true
104
+ } else if (androidSourcesDir.exists()) {
105
+ maven {
106
+ url androidSourcesDir.toString()
107
+ name androidSourcesName
108
+ }
109
+
110
+ logger.info(":${project.name}:reactNativeAndroidRoot ${androidSourcesDir.canonicalPath}")
111
+ found = true
112
+ }
113
+ })
114
+ }
115
+
116
+ if (!found) {
117
+ throw new GradleException(
118
+ "${project.name}: unable to locate React Native android sources. " +
119
+ "Ensure you have you installed React Native as a dependency in your project and try again."
120
+ )
121
+ }
54
122
  }
55
123
 
124
+
56
125
  dependencies {
57
- //noinspection GradleDynamicVersion
58
- implementation "com.facebook.react:react-native:+" // From node_modules
59
- //noinspection GradleDynamicVersion
60
- implementation 'com.bugfender.sdk:android:3.+'
126
+ //noinspection GradleDynamicVersion
127
+ implementation "com.facebook.react:react-native:+"
128
+ //noinspection GradleDynamicVersion
129
+ implementation 'com.bugfender.sdk:android:3.+'
130
+ }
131
+
132
+ if (isNewArchitectureEnabled()) {
133
+ react {
134
+ jsRootDir = file("../src/")
135
+ libraryName = "RnBugfender"
136
+ codegenJavaPackageName = "com.bugfenderrnbugfender"
137
+ }
61
138
  }
@@ -0,0 +1,5 @@
1
+ RnBugfender_kotlinVersion=1.7.0
2
+ RnBugfender_minSdkVersion=21
3
+ RnBugfender_targetSdkVersion=31
4
+ RnBugfender_compileSdkVersion=31
5
+ RnBugfender_ndkversion=21.4.7075529
@@ -60,8 +60,8 @@ public class RnBugfenderModule extends ReactContextBaseJavaModule implements Act
60
60
  }
61
61
 
62
62
  @ReactMethod
63
- public void setMaximumLocalStorageSize(Integer sizeInMB) {
64
- Bugfender.setMaximumLocalStorageSize(sizeInMB * 1024);
63
+ public void setMaximumLocalStorageSize(Integer sizeInBytes) {
64
+ Bugfender.setMaximumLocalStorageSize(sizeInBytes);
65
65
  }
66
66
 
67
67
  @ReactMethod
@@ -2,8 +2,11 @@
2
2
  #import <BugfenderSDK/BugfenderSDK.h>
3
3
  #import <React/RCTUtils.h>
4
4
 
5
- @implementation RnBugfender
5
+ #ifdef RCT_NEW_ARCH_ENABLED
6
+ #import "RNRnBugfenderSpec.h"
7
+ #endif
6
8
 
9
+ @implementation RnBugfender
7
10
  RCT_EXPORT_MODULE()
8
11
 
9
12
  RCT_EXPORT_METHOD(activateLogger:(NSString *)key)
@@ -135,7 +138,7 @@ RCT_EXPORT_METHOD(log:(int)lineNumber method:(NSString *)method file:(NSString *
135
138
  logLevel = BFLogLevelInfo;
136
139
  else if (rawLogLevel == 5)
137
140
  logLevel = BFLogLevelFatal;
138
-
141
+
139
142
  [Bugfender logWithLineNumber:lineNumber method:method file:file level:logLevel tag:tag message:message];
140
143
  }
141
144
 
@@ -174,10 +177,10 @@ RCT_EXPORT_METHOD(showUserFeedback:(NSString *)title hint:(NSString *)hint subje
174
177
  reject(0, @"Feedback not sent", nil);
175
178
  }
176
179
  }];
177
-
180
+
178
181
  UIViewController* vc = RCTPresentedViewController();
179
182
  [vc presentViewController:controller animated:YES completion:nil];
180
-
183
+
181
184
  /*
182
185
  * Another option might be using the window.
183
186
  * But this code might not work for complex native setup, for simple cases, might work
@@ -190,4 +193,13 @@ RCT_EXPORT_METHOD(showUserFeedback:(NSString *)title hint:(NSString *)hint subje
190
193
  return dispatch_get_main_queue();
191
194
  }
192
195
 
196
+ // Don't compile this code when we build for the old architecture.
197
+ #ifdef RCT_NEW_ARCH_ENABLED
198
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
199
+ (const facebook::react::ObjCTurboModule::InitParams &)params
200
+ {
201
+ return std::make_shared<facebook::react::NativeRnBugfenderSpecJSI>(params);
202
+ }
203
+ #endif
204
+
193
205
  @end
@@ -6,12 +6,6 @@
6
6
  objectVersion = 46;
7
7
  objects = {
8
8
 
9
- /* Begin PBXBuildFile section */
10
-
11
- 5E555C0D2413F4C50049A1A2 /* RnBugfender.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RnBugfender.m */; };
12
-
13
- /* End PBXBuildFile section */
14
-
15
9
  /* Begin PBXCopyFilesBuildPhase section */
16
10
  58B511D91A9E6C8500147676 /* CopyFiles */ = {
17
11
  isa = PBXCopyFilesBuildPhase;
@@ -26,10 +20,8 @@
26
20
 
27
21
  /* Begin PBXFileReference section */
28
22
  134814201AA4EA6300B7C361 /* libRnBugfender.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRnBugfender.a; sourceTree = BUILT_PRODUCTS_DIR; };
29
-
23
+ 2427F83828D894B6004EFC8A /* RnBugfender.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RnBugfender.mm; sourceTree = "<group>"; };
30
24
  B3E7B5881CC2AC0600A0062D /* RnBugfender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RnBugfender.h; sourceTree = "<group>"; };
31
- B3E7B5891CC2AC0600A0062D /* RnBugfender.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RnBugfender.m; sourceTree = "<group>"; };
32
-
33
25
  /* End PBXFileReference section */
34
26
 
35
27
  /* Begin PBXFrameworksBuildPhase section */
@@ -54,10 +46,8 @@
54
46
  58B511D21A9E6C8500147676 = {
55
47
  isa = PBXGroup;
56
48
  children = (
57
-
58
49
  B3E7B5881CC2AC0600A0062D /* RnBugfender.h */,
59
- B3E7B5891CC2AC0600A0062D /* RnBugfender.m */,
60
-
50
+ 2427F83828D894B6004EFC8A /* RnBugfender.mm */,
61
51
  134814211AA4EA7D00B7C361 /* Products */,
62
52
  );
63
53
  sourceTree = "<group>";
@@ -119,9 +109,6 @@
119
109
  isa = PBXSourcesBuildPhase;
120
110
  buildActionMask = 2147483647;
121
111
  files = (
122
-
123
- B3E7B58A1CC2AC0600A0062D /* RnBugfender.m in Sources */,
124
-
125
112
  );
126
113
  runOnlyForDeploymentPostprocessing = 0;
127
114
  };
@@ -156,6 +143,7 @@
156
143
  COPY_PHASE_STRIP = NO;
157
144
  ENABLE_STRICT_OBJC_MSGSEND = YES;
158
145
  ENABLE_TESTABILITY = YES;
146
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
159
147
  GCC_C_LANGUAGE_STANDARD = gnu99;
160
148
  GCC_DYNAMIC_NO_PIC = NO;
161
149
  GCC_NO_COMMON_BLOCKS = YES;
@@ -206,6 +194,7 @@
206
194
  COPY_PHASE_STRIP = YES;
207
195
  ENABLE_NS_ASSERTIONS = NO;
208
196
  ENABLE_STRICT_OBJC_MSGSEND = YES;
197
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
209
198
  GCC_C_LANGUAGE_STANDARD = gnu99;
210
199
  GCC_NO_COMMON_BLOCKS = YES;
211
200
  GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -234,7 +223,6 @@
234
223
  OTHER_LDFLAGS = "-ObjC";
235
224
  PRODUCT_NAME = RnBugfender;
236
225
  SKIP_INSTALL = YES;
237
-
238
226
  };
239
227
  name = Debug;
240
228
  };
@@ -251,7 +239,6 @@
251
239
  OTHER_LDFLAGS = "-ObjC";
252
240
  PRODUCT_NAME = RnBugfender;
253
241
  SKIP_INSTALL = YES;
254
-
255
242
  };
256
243
  name = Release;
257
244
  };
@@ -7,15 +7,9 @@ exports.RnBugfender = exports.BugfenderClass = void 0;
7
7
 
8
8
  var _reactNative = require("react-native");
9
9
 
10
- var _userFeedback = require("./user-feedback");
11
-
12
- var _stringFormatter = require("./string-formatter");
13
-
14
- var _log = require("./types/log");
10
+ var _common = require("@bugfender/common");
15
11
 
16
- var _overrideConsoleMethods = require("./override-console-methods");
17
-
18
- var _printToConsole = require("./print-to-console");
12
+ var _userFeedback = require("./user-feedback");
19
13
 
20
14
  var _sdkOptions = require("./sdk-options");
21
15
 
@@ -35,11 +29,9 @@ exports.RnBugfender = RnBugfender;
35
29
 
36
30
  class BugfenderClass {
37
31
  constructor() {
38
- _defineProperty(this, "stringFormatter", new _stringFormatter.StringFormatter());
39
-
40
- _defineProperty(this, "overrideConsoleMethods", new _overrideConsoleMethods.OverrideConsoleMethods(window));
32
+ _defineProperty(this, "overrideConsoleMethods", new (require('./override-console-methods').OverrideConsoleMethods)(window));
41
33
 
42
- _defineProperty(this, "printToConsole", new _printToConsole.PrintToConsole(global.console));
34
+ _defineProperty(this, "printToConsole", new _common.PrintToConsole(global.console));
43
35
 
44
36
  _defineProperty(this, "sdkOptions", new _sdkOptions.SDKOptions());
45
37
 
@@ -48,16 +40,11 @@ class BugfenderClass {
48
40
 
49
41
  async init(options) {
50
42
  if (!this.initialized) {
51
- var _validatedOptions$pri;
52
-
53
- const validatedOptions = this.sdkOptions.init(options); // Needs to be executed prior initialization
43
+ const validatedOptions = this.sdkOptions.init(options); // region before init
54
44
 
55
45
  if (typeof options.deviceName !== 'undefined') {
56
46
  RnBugfender.overrideDeviceName(options.deviceName);
57
- } // Library initialization
58
-
59
-
60
- _reactNative.Platform.OS === 'ios' ? RnBugfender.activateLogger(validatedOptions.appKey) : RnBugfender.init(validatedOptions.appKey, false);
47
+ }
61
48
 
62
49
  if (typeof validatedOptions.apiURL !== 'undefined') {
63
50
  RnBugfender.setApiUrl(validatedOptions.apiURL);
@@ -65,8 +52,19 @@ class BugfenderClass {
65
52
 
66
53
  if (typeof validatedOptions.baseURL !== 'undefined') {
67
54
  RnBugfender.setBaseUrl(validatedOptions.baseURL);
55
+ } // endregion before init
56
+ // region init
57
+
58
+
59
+ _reactNative.Platform.OS === 'ios' ? RnBugfender.activateLogger(validatedOptions.appKey) : RnBugfender.init(validatedOptions.appKey, validatedOptions.printToConsole ?? false);
60
+
61
+ if (validatedOptions.overrideConsoleMethods) {
62
+ this.overrideConsoleMethods.init();
68
63
  }
69
64
 
65
+ this.printToConsole.init(validatedOptions.printToConsole ?? true); // endregion init
66
+ // region after init
67
+
70
68
  if (validatedOptions.enableLogcatLogging) {
71
69
  RnBugfender.enableLogcatLogging();
72
70
  }
@@ -79,11 +77,8 @@ class BugfenderClass {
79
77
  RnBugfender.enableCrashReporting();
80
78
  }
81
79
 
82
- if (validatedOptions.overrideConsoleMethods) {
83
- this.overrideConsoleMethods.init(this.stringFormatter);
84
- }
80
+ RnBugfender.setMaximumLocalStorageSize(validatedOptions.maximumLocalStorageSize); // endregion after init
85
81
 
86
- this.printToConsole.init((_validatedOptions$pri = validatedOptions.printToConsole) !== null && _validatedOptions$pri !== void 0 ? _validatedOptions$pri : true);
87
82
  this.initialized = true;
88
83
  }
89
84
  }
@@ -125,10 +120,8 @@ class BugfenderClass {
125
120
 
126
121
  async getUserFeedback(options) {
127
122
  return new Promise(resolve => {
128
- var _options;
129
-
130
123
  options = { ...new _userFeedback.DefaultUserFeedbackOptions(),
131
- ...((_options = options) !== null && _options !== void 0 ? _options : {})
124
+ ...(options ?? {})
132
125
  };
133
126
  return RnBugfender.showUserFeedback(options.title, options.hint, options.subjectPlaceholder, options.feedbackPlaceholder, options.submitLabel, options.closeLabel).then(value => {
134
127
  resolve({
@@ -154,7 +147,7 @@ class BugfenderClass {
154
147
  }
155
148
 
156
149
  this.printToConsole.log(...parameters);
157
- let message = this.stringFormatter.format([...parameters]);
150
+ let message = (0, _common.format)([...parameters]);
158
151
  RnBugfender.debug('', message);
159
152
  }
160
153
  /**
@@ -169,7 +162,7 @@ class BugfenderClass {
169
162
  }
170
163
 
171
164
  this.printToConsole.warn(...parameters);
172
- let message = this.stringFormatter.format([...parameters]);
165
+ let message = (0, _common.format)([...parameters]);
173
166
  RnBugfender.warning('', message);
174
167
  }
175
168
  /**
@@ -184,7 +177,7 @@ class BugfenderClass {
184
177
  }
185
178
 
186
179
  this.printToConsole.error(...parameters);
187
- let message = this.stringFormatter.format([...parameters]);
180
+ let message = (0, _common.format)([...parameters]);
188
181
  RnBugfender.error('', message);
189
182
  }
190
183
  /**
@@ -199,7 +192,7 @@ class BugfenderClass {
199
192
  }
200
193
 
201
194
  this.printToConsole.trace(...parameters);
202
- let message = this.stringFormatter.format([...parameters]);
195
+ let message = (0, _common.format)([...parameters]);
203
196
  RnBugfender.trace('', message);
204
197
  }
205
198
  /**
@@ -214,7 +207,7 @@ class BugfenderClass {
214
207
  }
215
208
 
216
209
  this.printToConsole.info(...parameters);
217
- let message = this.stringFormatter.format([...parameters]);
210
+ let message = (0, _common.format)([...parameters]);
218
211
  RnBugfender.info('', message);
219
212
  }
220
213
  /**
@@ -229,7 +222,7 @@ class BugfenderClass {
229
222
  }
230
223
 
231
224
  this.printToConsole.error(...parameters);
232
- let message = this.stringFormatter.format([...parameters]);
225
+ let message = (0, _common.format)([...parameters]);
233
226
  RnBugfender.fatal('', message);
234
227
  }
235
228
  /**
@@ -251,10 +244,8 @@ class BugfenderClass {
251
244
 
252
245
 
253
246
  sendLog(log) {
254
- var _log$line, _log$method, _log$file, _log$level, _log$tag, _log$text;
255
-
256
247
  this.printToConsole.printLog(log);
257
- RnBugfender.log((_log$line = log.line) !== null && _log$line !== void 0 ? _log$line : 0, (_log$method = log.method) !== null && _log$method !== void 0 ? _log$method : '', (_log$file = log.file) !== null && _log$file !== void 0 ? _log$file : '', (_log$level = log.level) !== null && _log$level !== void 0 ? _log$level : _log.LogLevel.Debug, (_log$tag = log.tag) !== null && _log$tag !== void 0 ? _log$tag : '', (_log$text = log.text) !== null && _log$text !== void 0 ? _log$text : '');
248
+ RnBugfender.log(log.line ?? 0, log.method ?? '', log.file ?? '', log.level ?? _common.LogLevel.Debug, log.tag ?? '', log.text ?? '');
258
249
  }
259
250
  /**
260
251
  * Send an issue.
@@ -332,6 +323,11 @@ class BugfenderClass {
332
323
  RnBugfender.forceSendOnce();
333
324
  }
334
325
 
326
+ setForceEnabled(enabled) {
327
+ this.printToConsole.info(`Set force enabled set to ${enabled}`);
328
+ RnBugfender.setForceEnabled(enabled);
329
+ }
330
+
335
331
  }
336
332
 
337
333
  exports.BugfenderClass = BugfenderClass;