@dynatrace/react-native-plugin 2.279.4 → 2.283.2

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 (88) hide show
  1. package/README.md +17 -7
  2. package/android/build.gradle +40 -6
  3. package/android/src/main/java/com/dynatrace/android/agent/{DynatraceRNBridge.java → DynatraceRNBridgeImpl.java} +15 -45
  4. package/android/src/main/java/com/dynatrace/android/agent/DynatraceReactPackage.java +31 -13
  5. package/android/src/new/java/com/dynatrace/android/agent/DynatraceRNBridge.java +187 -0
  6. package/android/src/old/java/com/dynatrace/android/agent/DynatraceRNBridge.java +189 -0
  7. package/files/plugin.gradle +1 -1
  8. package/ios/DynatraceRNBridge.h +9 -1
  9. package/ios/DynatraceRNBridge.m +15 -0
  10. package/ios/lib/Dynatrace.xcframework/Info.plist +16 -8
  11. package/ios/lib/Dynatrace.xcframework/_CodeSignature/CodeDirectory +0 -0
  12. package/ios/lib/Dynatrace.xcframework/_CodeSignature/CodeRequirements +0 -0
  13. package/ios/lib/Dynatrace.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  14. package/ios/lib/Dynatrace.xcframework/_CodeSignature/CodeResources +1058 -0
  15. package/ios/lib/Dynatrace.xcframework/_CodeSignature/CodeSignature +0 -0
  16. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  17. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace-Swift.h +106 -59
  18. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  19. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  20. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  21. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
  22. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -2
  23. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  24. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.swiftinterface +3 -2
  25. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/PrivacyInfo.xcprivacy +100 -0
  26. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  27. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace-Swift.h +212 -118
  28. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  29. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  30. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  31. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  32. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
  33. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -2
  34. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  35. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -2
  36. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
  37. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -2
  38. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  39. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -2
  40. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/PrivacyInfo.xcprivacy +100 -0
  41. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +40 -29
  42. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  43. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace-Swift.h +106 -59
  44. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  45. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  46. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  47. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos.private.swiftinterface +3 -2
  48. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos.swiftdoc +0 -0
  49. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos.swiftinterface +3 -2
  50. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/PrivacyInfo.xcprivacy +100 -0
  51. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  52. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace-Swift.h +212 -118
  53. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  54. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  55. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  56. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  57. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.private.swiftinterface +3 -2
  58. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.swiftdoc +0 -0
  59. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.swiftinterface +3 -2
  60. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.private.swiftinterface +3 -2
  61. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc +0 -0
  62. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface +3 -2
  63. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/PrivacyInfo.xcprivacy +100 -0
  64. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +36 -25
  65. package/lib/instrumentor/DynatraceInstrumentation.js +1 -1
  66. package/lib/instrumentor/base/Dynatrace.js +23 -23
  67. package/lib/instrumentor/base/DynatraceAction.js +7 -7
  68. package/lib/instrumentor/base/DynatraceBridge.js +4 -1
  69. package/lib/instrumentor/base/DynatraceInternal.js +2 -2
  70. package/lib/instrumentor/base/DynatraceRootAction.js +1 -1
  71. package/lib/instrumentor/base/ElementHelper.js +6 -3
  72. package/lib/instrumentor/base/Picker.js +40 -31
  73. package/lib/instrumentor/base/RefreshControl.js +29 -17
  74. package/lib/instrumentor/base/Switch.js +57 -0
  75. package/lib/instrumentor/base/Touchable.js +12 -12
  76. package/lib/instrumentor/base/interface/IDynatraceProperties.js +7 -0
  77. package/lib/instrumentor/base/interface/NativeDynatraceBridge.js +4 -0
  78. package/lib/instrumentor/base/model/DataCollectionLevel.js +21 -5
  79. package/lib/instrumentor/base/model/Platform.js +5 -2
  80. package/lib/instrumentor/model/Types.js +1 -0
  81. package/lib/react-native/Switch.InstrInfo.js +12 -0
  82. package/lib/react-native/Switch.js +15 -0
  83. package/lib/react-native/index.js +3 -1
  84. package/lib/react-native.js +2 -0
  85. package/package.json +175 -1
  86. package/react-native-dynatrace.podspec +25 -0
  87. package/src/lib/instrumentor/base/interface/NativeDynatraceBridge.ts +90 -0
  88. package/lib/instrumentor/base/interface/IDynatraceBridge.js +0 -2
@@ -2,4 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DynatraceNative = void 0;
4
4
  const react_native_1 = require("react-native");
5
- exports.DynatraceNative = react_native_1.NativeModules.DynatraceBridge !== undefined ? react_native_1.NativeModules.DynatraceBridge : {};
5
+ const isTurboModuleEnabled = globalThis.__turboModuleProxy != null;
6
+ exports.DynatraceNative = isTurboModuleEnabled
7
+ ? react_native_1.TurboModuleRegistry.get('DynatraceBridge') !== undefined ? react_native_1.TurboModuleRegistry.get('DynatraceBridge') : {}
8
+ : react_native_1.NativeModules.DynatraceBridge !== undefined ? react_native_1.NativeModules.DynatraceBridge : {};
@@ -8,10 +8,10 @@ exports.DynatraceInternal = {
8
8
  reportErrorFromHandler: (isFatal, errorName, reason, stacktrace, isCustomErrorHandlerSet, platform) => {
9
9
  Logger_1.Logger.logDebug(`Dynatrace reportErrorStacktrace(${isFatal}, ${errorName}, ${reason}, ${stacktrace})`);
10
10
  if (isFatal) {
11
- DynatraceBridge_1.DynatraceNative.reportCrash(errorName, reason, stacktrace, true, __DEV__ || isCustomErrorHandlerSet, platform);
11
+ DynatraceBridge_1.DynatraceNative.reportCrash(errorName, reason, stacktrace, true, __DEV__ || isCustomErrorHandlerSet, platform === null || platform === void 0 ? void 0 : platform.toString());
12
12
  }
13
13
  else {
14
- DynatraceBridge_1.DynatraceNative.reportError(errorName, '-', reason, stacktrace, platform);
14
+ DynatraceBridge_1.DynatraceNative.reportError(errorName, '-', reason, stacktrace, platform === null || platform === void 0 ? void 0 : platform.toString());
15
15
  }
16
16
  },
17
17
  getCounter: () => counter++,
@@ -26,7 +26,7 @@ class DynatraceRootAction extends DynatraceAction_1.DynatraceAction {
26
26
  }
27
27
  if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(name)) {
28
28
  Logger_1.Logger.logDebug(`DynatraceRootAction enterAction(${name})`);
29
- DynatraceBridge_1.DynatraceNative.enterManualActionWithParent(name, childKey, this.key, platform);
29
+ DynatraceBridge_1.DynatraceNative.enterManualActionWithParent(name, childKey, this.key, platform === null || platform === void 0 ? void 0 : platform.toString());
30
30
  return new DynatraceAction_1.DynatraceAction(childKey, name, true);
31
31
  }
32
32
  else {
@@ -8,6 +8,7 @@ const Picker_1 = require("./Picker");
8
8
  const Touchable_1 = require("./Touchable");
9
9
  const Dynatrace_1 = require("./Dynatrace");
10
10
  const RefreshControl_1 = require("./RefreshControl");
11
+ const Switch_1 = require("./Switch");
11
12
  const instrumentCreateElement = (reactModule) => {
12
13
  if (reactModule != null && reactModule.createElement != null) {
13
14
  const reactCreateElement = reactModule.createElement;
@@ -32,7 +33,10 @@ exports.instrumentCreateElement = instrumentCreateElement;
32
33
  const modifyElement = (type, props, ...children) => {
33
34
  if (props != null) {
34
35
  if (type._dtInfo.type === Types_1.Types.RefreshControl && props.onRefresh != null) {
35
- (0, RefreshControl_1.RefreshControlHelper)(Dynatrace_1.Dynatrace, Logger_1.Logger).attachOnRefresh(props);
36
+ (0, RefreshControl_1.RefreshControlHelper)(Dynatrace_1.Dynatrace).attachOnRefresh(props);
37
+ }
38
+ else if (type._dtInfo.type === Types_1.Types.Switch && props.onValueChange != null) {
39
+ (0, Switch_1.SwitchHelper)(Dynatrace_1.Dynatrace).attachOnValueChange(props);
36
40
  }
37
41
  else if (type._dtInfo.type === Types_1.Types.Button ||
38
42
  type._dtInfo.type === Types_1.Types.Text ||
@@ -46,8 +50,7 @@ const modifyElement = (type, props, ...children) => {
46
50
  }
47
51
  }
48
52
  else if (props.onValueChange != null && type._dtInfo.type === Types_1.Types.Picker) {
49
- props.onValueChange = (0, Picker_1.PickerHelper)(Dynatrace_1.Dynatrace, Logger_1.Logger)
50
- .attachToOnValueChange(props.onValueChange, props.children);
53
+ (0, Picker_1.PickerHelper)(Dynatrace_1.Dynatrace).attachOnValueChange(props);
51
54
  }
52
55
  }
53
56
  };
@@ -1,40 +1,49 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.PickerHelper = void 0;
13
- const PickerHelper = (Dynatrace, Logger) => ({
14
- attachToOnValueChange(onValueChange, children) {
15
- return (itemValue, itemNumber) => __awaiter(this, void 0, void 0, function* () {
16
- const value = this.getPickerItemValue(children, itemNumber, itemValue);
17
- if (value !== undefined) {
18
- const action = Dynatrace.enterAutoAction(`Picked Value: ${value}`);
19
- if (onValueChange !== undefined) {
20
- yield onValueChange(itemValue, itemNumber);
21
- }
22
- if (action != null) {
23
- action.leaveAction();
4
+ const IDynatraceProperties_1 = require("./interface/IDynatraceProperties");
5
+ const PickerHelper = (Dynatrace) => ({
6
+ attachOnValueChange: (pickerProps) => {
7
+ if ((0, IDynatraceProperties_1.isDynatraceIgnored)(pickerProps)) {
8
+ return;
9
+ }
10
+ const origOnValueChange = pickerProps.onValueChange;
11
+ const nameOfAction = _findActionName(pickerProps);
12
+ if (origOnValueChange != null) {
13
+ pickerProps.onValueChange = (itemValue, itemNumber) => {
14
+ const value = _getPickerItemValue(itemNumber, itemValue, pickerProps.children);
15
+ if (value !== undefined) {
16
+ const finalNameOfAction = nameOfAction == null ?
17
+ `Picked Value: ${value}` : `Picker ${nameOfAction} Picked Value: ${value}`;
18
+ const action = Dynatrace.enterAutoAction(finalNameOfAction);
19
+ try {
20
+ origOnValueChange(itemValue, itemNumber);
21
+ }
22
+ finally {
23
+ action.leaveAction();
24
+ }
24
25
  }
25
- }
26
- });
27
- },
28
- getPickerItemValue: (children, index, value) => {
29
- if (children != null && index >= 0) {
30
- if (children != null &&
31
- children.length >= index &&
32
- isPickerItemProps(children[index].props)) {
33
- return children[index].props.label;
34
- }
26
+ };
35
27
  }
36
- return value;
37
28
  },
38
29
  });
39
30
  exports.PickerHelper = PickerHelper;
40
31
  const isPickerItemProps = (props) => props.label !== undefined;
32
+ const _findActionName = (pickerProps) => {
33
+ if ((0, IDynatraceProperties_1.isDynatraceNaming)(pickerProps)) {
34
+ return pickerProps.dtActionName;
35
+ }
36
+ else if (pickerProps.accessibilityLabel != null) {
37
+ return pickerProps.accessibilityLabel;
38
+ }
39
+ return null;
40
+ };
41
+ const _getPickerItemValue = (index, value, children) => {
42
+ if (children != null
43
+ && index >= 0
44
+ && children.length > index
45
+ && isPickerItemProps(children[index].props)) {
46
+ return children[index].props.label;
47
+ }
48
+ return value;
49
+ };
@@ -1,25 +1,37 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RefreshControlHelper = void 0;
13
- const RefreshControlHelper = (Dynatrace, Logger) => ({
4
+ const IDynatraceProperties_1 = require("./interface/IDynatraceProperties");
5
+ const RefreshControlHelper = (Dynatrace) => ({
14
6
  attachOnRefresh: (refreshControlProps) => {
7
+ if ((0, IDynatraceProperties_1.isDynatraceIgnored)(refreshControlProps)) {
8
+ return;
9
+ }
15
10
  const origOnRefresh = refreshControlProps.onRefresh;
16
- refreshControlProps.onRefresh = () => __awaiter(void 0, void 0, void 0, function* () {
17
- const action = Dynatrace.enterAutoAction('Swipe to Refesh');
18
- if (origOnRefresh != null) {
19
- yield origOnRefresh();
20
- }
21
- action.leaveAction();
22
- });
11
+ const nameOfAction = _findActionName(refreshControlProps);
12
+ if (origOnRefresh != null) {
13
+ refreshControlProps.onRefresh = () => {
14
+ const finalNameOfAction = nameOfAction == null ? 'Swipe to Refesh' : `Swipe to Refesh ${nameOfAction}`;
15
+ const action = Dynatrace.enterAutoAction(finalNameOfAction);
16
+ try {
17
+ if (origOnRefresh != null) {
18
+ origOnRefresh();
19
+ }
20
+ }
21
+ finally {
22
+ action.leaveAction();
23
+ }
24
+ };
25
+ }
23
26
  },
24
27
  });
25
28
  exports.RefreshControlHelper = RefreshControlHelper;
29
+ const _findActionName = (refreshControlProps) => {
30
+ if ((0, IDynatraceProperties_1.isDynatraceNaming)(refreshControlProps)) {
31
+ return refreshControlProps.dtActionName;
32
+ }
33
+ else if (refreshControlProps.accessibilityLabel != null) {
34
+ return refreshControlProps.accessibilityLabel;
35
+ }
36
+ return null;
37
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwitchHelper = void 0;
4
+ const IDynatraceProperties_1 = require("./interface/IDynatraceProperties");
5
+ const SwitchHelper = (Dynatrace) => ({
6
+ attachOnValueChange: (switchProps) => {
7
+ if ((0, IDynatraceProperties_1.isDynatraceIgnored)(switchProps)) {
8
+ return;
9
+ }
10
+ const origOnValueChange = switchProps.onValueChange;
11
+ const nameOfAction = _findActionName(switchProps);
12
+ if (origOnValueChange != null) {
13
+ switchProps.onValueChange = (value) => {
14
+ let finalNameOfAction;
15
+ if (nameOfAction == null) {
16
+ finalNameOfAction = `Touch on Switch to ${value}`;
17
+ }
18
+ else {
19
+ finalNameOfAction = `Touch on Switch ${nameOfAction} to ${value}`;
20
+ }
21
+ const action = Dynatrace.enterAutoAction(finalNameOfAction);
22
+ let isSyncError = true;
23
+ try {
24
+ const returnValue = origOnValueChange(value);
25
+ if (_isPromise(returnValue)) {
26
+ isSyncError = false;
27
+ return returnValue.finally(() => {
28
+ action.leaveAction();
29
+ });
30
+ }
31
+ else {
32
+ action.leaveAction();
33
+ }
34
+ isSyncError = false;
35
+ }
36
+ finally {
37
+ if (isSyncError) {
38
+ action.leaveAction();
39
+ }
40
+ }
41
+ };
42
+ }
43
+ },
44
+ });
45
+ exports.SwitchHelper = SwitchHelper;
46
+ const _findActionName = (switchProps) => {
47
+ if ((0, IDynatraceProperties_1.isDynatraceNaming)(switchProps)) {
48
+ return switchProps.dtActionName;
49
+ }
50
+ else if (switchProps.accessibilityLabel != null) {
51
+ return switchProps.accessibilityLabel;
52
+ }
53
+ return null;
54
+ };
55
+ const _isPromise = (object) => object != null
56
+ && typeof object.then === 'function'
57
+ && typeof object.catch === 'function';
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TouchableHelper = void 0;
4
4
  const ConfigurationHandler_1 = require("./configuration/ConfigurationHandler");
5
+ const IDynatraceProperties_1 = require("./interface/IDynatraceProperties");
5
6
  const TouchableHelper = (Dynatrace, Logger) => ({
6
7
  attachOnPress(longPress, props, children) {
7
8
  const origFunction = longPress && this._isLongPress(props)
@@ -29,25 +30,22 @@ const TouchableHelper = (Dynatrace, Logger) => ({
29
30
  }
30
31
  const action = Dynatrace.enterAutoAction(`Touch on ${finalNameOfAction}`);
31
32
  if (origFunction != null) {
32
- let isError = true;
33
+ let isSyncError = true;
33
34
  try {
34
- const promise = origFunction(event);
35
- if (promise != null && typeof promise.then === 'function'
36
- && typeof promise.catch === 'function') {
37
- promise.then(() => {
38
- action.leaveAction();
39
- });
40
- promise.catch(() => {
35
+ const returnValue = origFunction(event);
36
+ if (_isPromise(returnValue)) {
37
+ isSyncError = false;
38
+ return returnValue.finally(() => {
41
39
  action.leaveAction();
42
40
  });
43
41
  }
44
42
  else {
45
43
  action.leaveAction();
46
44
  }
47
- isError = false;
45
+ isSyncError = false;
48
46
  }
49
47
  finally {
50
- if (isError) {
48
+ if (isSyncError) {
51
49
  action.leaveAction();
52
50
  }
53
51
  }
@@ -59,7 +57,7 @@ const TouchableHelper = (Dynatrace, Logger) => ({
59
57
  };
60
58
  },
61
59
  _findActionName(props, children) {
62
- if (this._isDynatraceProperties(props)) {
60
+ if ((0, IDynatraceProperties_1.isDynatraceNaming)(props)) {
63
61
  return props.dtActionName;
64
62
  }
65
63
  else if (this._isPropsButton(props) && props.title != null) {
@@ -138,6 +136,8 @@ const TouchableHelper = (Dynatrace, Logger) => ({
138
136
  }
139
137
  },
140
138
  _isReactElement: (node) => node != null && node.props != null,
141
- _isDynatraceProperties: (properties) => properties.dtActionName !== undefined,
142
139
  });
143
140
  exports.TouchableHelper = TouchableHelper;
141
+ const _isPromise = (object) => object != null
142
+ && typeof object.then === 'function'
143
+ && typeof object.catch === 'function';
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDynatraceIgnored = exports.isDynatraceNaming = void 0;
4
+ const isDynatraceNaming = (properties) => properties.dtActionName !== undefined;
5
+ exports.isDynatraceNaming = isDynatraceNaming;
6
+ const isDynatraceIgnored = (properties) => properties.dtActionIgnore !== undefined
7
+ && properties.dtActionIgnore === true
8
+ || properties.dtActionIgnore === 'true';
9
+ exports.isDynatraceIgnored = isDynatraceIgnored;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_native_1 = require("react-native");
4
+ exports.default = react_native_1.TurboModuleRegistry.getEnforcing('DynatraceBridge');
@@ -1,11 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataCollectionLevel = void 0;
3
+ exports.StringToDataCollectionLevel = exports.DataCollectionLevel = void 0;
4
4
  const DynatraceBridge_1 = require("../DynatraceBridge");
5
+ const { DATA_COLLECTION_OFF, DATA_COLLECTION_PERFORMANCE, DATA_COLLECTION_USERBEHAVIOR, } = !!DynatraceBridge_1.DynatraceNative.getConstants
6
+ ? DynatraceBridge_1.DynatraceNative.getConstants()
7
+ : DynatraceBridge_1.DynatraceNative;
5
8
  var DataCollectionLevel;
6
9
  (function (DataCollectionLevel) {
7
- DataCollectionLevel[DataCollectionLevel["Off"] = DynatraceBridge_1.DynatraceNative.DATA_COLLECTION_OFF] = "Off";
8
- DataCollectionLevel[DataCollectionLevel["Performance"] = DynatraceBridge_1.DynatraceNative.DATA_COLLECTION_PERFORMANCE] = "Performance";
9
- DataCollectionLevel[DataCollectionLevel["User"] = DynatraceBridge_1.DynatraceNative.DATA_COLLECTION_USERBEHAVIOR] = "User";
10
- DataCollectionLevel[DataCollectionLevel["UserBehavior"] = DynatraceBridge_1.DynatraceNative.DATA_COLLECTION_USERBEHAVIOR] = "UserBehavior";
10
+ DataCollectionLevel[DataCollectionLevel["Off"] = DATA_COLLECTION_OFF] = "Off";
11
+ DataCollectionLevel[DataCollectionLevel["Performance"] = DATA_COLLECTION_PERFORMANCE] = "Performance";
12
+ DataCollectionLevel[DataCollectionLevel["User"] = DATA_COLLECTION_USERBEHAVIOR] = "User";
13
+ DataCollectionLevel[DataCollectionLevel["UserBehavior"] = DATA_COLLECTION_USERBEHAVIOR] = "UserBehavior";
11
14
  })(DataCollectionLevel = exports.DataCollectionLevel || (exports.DataCollectionLevel = {}));
15
+ const StringToDataCollectionLevel = (level) => {
16
+ if (level === DATA_COLLECTION_OFF) {
17
+ return DataCollectionLevel.Off;
18
+ }
19
+ if (level === DATA_COLLECTION_PERFORMANCE) {
20
+ return DataCollectionLevel.Performance;
21
+ }
22
+ if (level === DATA_COLLECTION_USERBEHAVIOR) {
23
+ return DataCollectionLevel.UserBehavior;
24
+ }
25
+ return DataCollectionLevel.UserBehavior;
26
+ };
27
+ exports.StringToDataCollectionLevel = StringToDataCollectionLevel;
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Platform = void 0;
4
4
  const DynatraceBridge_1 = require("../DynatraceBridge");
5
+ const { PLATFORM_ANDROID, PLATFORM_IOS, } = !!DynatraceBridge_1.DynatraceNative.getConstants
6
+ ? DynatraceBridge_1.DynatraceNative.getConstants()
7
+ : DynatraceBridge_1.DynatraceNative;
5
8
  var Platform;
6
9
  (function (Platform) {
7
- Platform[Platform["Android"] = DynatraceBridge_1.DynatraceNative.PLATFORM_ANDROID] = "Android";
8
- Platform[Platform["Ios"] = DynatraceBridge_1.DynatraceNative.PLATFORM_IOS] = "Ios";
10
+ Platform[Platform["Android"] = PLATFORM_ANDROID] = "Android";
11
+ Platform[Platform["Ios"] = PLATFORM_IOS] = "Ios";
9
12
  })(Platform = exports.Platform || (exports.Platform = {}));
@@ -19,6 +19,7 @@ var Types;
19
19
  Types[Types["TouchableWithoutFeedbackGestureHandler"] = 13] = "TouchableWithoutFeedbackGestureHandler";
20
20
  Types[Types["RectButtonGestureHandler"] = 14] = "RectButtonGestureHandler";
21
21
  Types[Types["RefreshControl"] = 15] = "RefreshControl";
22
+ Types[Types["Switch"] = 16] = "Switch";
22
23
  })(Types = exports.Types || (exports.Types = {}));
23
24
  const isTypeReactNativeTouchable = (type) => type === Types.TouchableHighlight
24
25
  || type === Types.TouchableNativeFeedback
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.instrumentationInfo = void 0;
4
+ exports.instrumentationInfo = [];
5
+ exports.instrumentationInfo.push({
6
+ old: { module: 'react-native', reference: 'Switch' },
7
+ new: {
8
+ module: '@dynatrace/react-native-plugin/lib/react-native/',
9
+ reference: 'Switch',
10
+ defaultImport: '@dynatrace/react-native-plugin/lib/react-native',
11
+ },
12
+ });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Switch = void 0;
5
+ const ReactNative = require("react-native");
6
+ const Types_1 = require("../instrumentor/model/Types");
7
+ if (typeof ReactNative.Switch === 'object') {
8
+ exports.Switch = Object.assign({ _dtInfo: { type: Types_1.Types.Switch } }, ReactNative.Switch);
9
+ }
10
+ else {
11
+ exports.Switch = (_a = class Switch extends ReactNative.Switch {
12
+ },
13
+ _a._dtInfo = { type: Types_1.Types.Switch },
14
+ _a);
15
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pressable = exports.Text = exports.Button = exports.TouchableWithoutFeedback = exports.TouchableOpacity = exports.TouchableNativeFeedback = exports.TouchableHighlight = exports.RefreshControl = void 0;
3
+ exports.Switch = exports.Pressable = exports.Text = exports.Button = exports.TouchableWithoutFeedback = exports.TouchableOpacity = exports.TouchableNativeFeedback = exports.TouchableHighlight = exports.RefreshControl = void 0;
4
4
  var RefreshControl_1 = require("./RefreshControl");
5
5
  Object.defineProperty(exports, "RefreshControl", { enumerable: true, get: function () { return RefreshControl_1.RefreshControl; } });
6
6
  var Touchables_1 = require("./Touchables");
@@ -11,3 +11,5 @@ Object.defineProperty(exports, "TouchableWithoutFeedback", { enumerable: true, g
11
11
  Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Touchables_1.Button; } });
12
12
  Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return Touchables_1.Text; } });
13
13
  Object.defineProperty(exports, "Pressable", { enumerable: true, get: function () { return Touchables_1.Pressable; } });
14
+ var Switch_1 = require("./Switch");
15
+ Object.defineProperty(exports, "Switch", { enumerable: true, get: function () { return Switch_1.Switch; } });
@@ -4,6 +4,7 @@ require("proxy-polyfill");
4
4
  const reactNative = require("react-native");
5
5
  const Touchables_1 = require("./react-native/Touchables");
6
6
  const RefreshControl_1 = require("./react-native/RefreshControl");
7
+ const Switch_1 = require("./react-native/Switch");
7
8
  const dynatraceInstrument = {
8
9
  TouchableHighlight: Touchables_1.TouchableHighlight,
9
10
  TouchableNativeFeedback: Touchables_1.TouchableNativeFeedback,
@@ -13,6 +14,7 @@ const dynatraceInstrument = {
13
14
  RefreshControl: RefreshControl_1.RefreshControl,
14
15
  Text: Touchables_1.Text,
15
16
  Pressable: Touchables_1.Pressable,
17
+ Switch: Switch_1.Switch,
16
18
  };
17
19
  const dynatraceProxy = new Proxy(reactNative, {
18
20
  get: (target, property) => {
package/package.json CHANGED
@@ -1 +1,175 @@
1
- {"name":"@dynatrace/react-native-plugin","version":"2.279.4","description":"This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.","main":"index.js","types":"typings/react-native-dynatrace.d.ts","bin":{"instrumentDynatrace":"scripts/Instrument.js","configDynatrace":"scripts/CheckConfig.js"},"keywords":["react-native","dynatrace","mobile","android","ios","performance","monitoring"],"rnpm":{"plugin":"./command/command.js"},"scripts":{"uninstall":"node ./scripts/Uninstall.js","test":"jest --runInBand","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand","tsc":"tsc","tsc:prod":"tsc -p tsconfig.release.json","lint":"eslint --cache src/**/*.ts --ignore-pattern .gitignore","lint:spec":"eslint --cache tests/**/*.ts --cache-file tests/.eslintcache --ignore-pattern .gitignore --fix"},"jest":{"preset":"react-native","moduleDirectories":["node_modules"],"unmockedModulePathPatterns":["node_modules"],"modulePathIgnorePatterns":["<rootDir>/src","<rootDir>/tests/commandTestTmp","node_modules/react-native/local-cli"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"testPathIgnorePatterns":["<rootDir>/src","<rootDir>/tests/commandTestTmp"],"transformIgnorePatterns":["node_modules/(?!(@react-native|react-native)/)"],"setupFiles":["<rootDir>/tests/setup/setup.js"],"testResultsProcessor":"jest-junit","testRegex":["(/__tests__/.*|(\\.|/)(Test|spec))\\.[jt]sx?$"]},"jest-junit":{"suiteName":"jest tests","outputDirectory":".","outputName":"junit.xml","uniqueOutputName":"true","ancestorSeparator":" › ","usePathForSuiteName":"true"},"author":"Dynatrace","license":"SEE LICENSE IN LICENSE.md","dependencies":{"@babel/runtime":"^7.23.6","jscodeshift":"^0.15.1","plist":"^3.1.0","proxy-polyfill":"^0.3.2","semver":"^7.5.4"},"homepage":"https://www.dynatrace.com/","peerDependencies":{"@babel/parser":">=7.4.4","@react-native-picker/picker":">=1.0.0","react":">=16.8.0","react-native":">=0.59.0"},"devDependencies":{"@babel/cli":"^7.22.9","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.8.3","@babel/plugin-proposal-optional-chaining":"^7.8.3","@babel/plugin-transform-flow-strip-types":"^7.8.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.4.4","@babel/preset-react":"^7.8.3","@testing-library/react-native":"^7.0.2","@types/jest":"^26.0.19","@types/jscodeshift":"^0.11.6","@types/libxmljs":"^0.18.3","@types/node":"^18.17.12","@types/plist":"^3.0.2","@types/react-native":"^0.63.32","@types/semver":"^7.5.0","@types/shelljs":"^0.8.8","@types/uglify-js":"^3.17.1","@typescript-eslint/eslint-plugin":"^5.16.0","@typescript-eslint/parser":"^5.16.0","compressing":"^1.5.1","eslint":"^8.45.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jsdoc":"^39.1.0","eslint-plugin-prefer-arrow":"^1.2.3","eslint-plugin-unicorn":"^42.0.0","jest":"24.9.0","jest-each":"^28.1.3","jest-junit":"^14.0.0","jest-mock":"^28.1.3","npm-check-updates":"^16.10.12","prettier":"^2.6.1","shelljs":"^0.8.5","ts-jest":"24.3.0","ts-mockito":"^2.6.1","typescript":"^4.7.4","uglify-js":"^3.17.4","react-native":"0.71.3","react":"18.2.0","react-test-renderer":"18.2.0"},"files":["command/command.js","command/util/*","command/interface/*","android/build.gradle","android/src/main/**/*","ios/**/*","files/*","lib/instrumentor/base/*.js","lib/instrumentor/base/model/*.js","lib/instrumentor/base/configuration/*.js","lib/instrumentor/base/configuration/interface/*.js","lib/instrumentor/base/interface/*.js","lib/instrumentor/base/util/*.js","lib/instrumentor/model/*.js","lib/instrumentor/parser/*.js","lib/instrumentor/DynatraceInstrumentation.js","lib/*.js","lib/community/*.js","lib/community/gesture-handler/*.js","lib/react-navigation/*.js","lib/react-native/*.js","lib/react/*.js","lib/metro/*.js","lib/util/*.js","react-native.config.js","react-native-dynatrace.js","react-native-dynatrace.podspec","README.md","LICENSE.md","scripts/*","scripts/api/*","scripts/core/*","scripts/api/model/*","scripts/util/*","typings/*","package.json","jsx-runtime.js"]}
1
+ {
2
+ "name": "@dynatrace/react-native-plugin",
3
+ "version": "2.283.2",
4
+ "description": "This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.",
5
+ "main": "index.js",
6
+ "types": "typings/react-native-dynatrace.d.ts",
7
+ "bin": {
8
+ "instrumentDynatrace": "scripts/Instrument.js",
9
+ "configDynatrace": "scripts/CheckConfig.js"
10
+ },
11
+ "keywords": [
12
+ "react-native",
13
+ "dynatrace",
14
+ "mobile",
15
+ "android",
16
+ "ios",
17
+ "performance",
18
+ "monitoring"
19
+ ],
20
+ "rnpm": {
21
+ "plugin": "./command/command.js"
22
+ },
23
+ "scripts": {
24
+ "uninstall": "node ./scripts/Uninstall.js",
25
+ "test": "jest --runInBand",
26
+ "test:debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand",
27
+ "tsc": "tsc",
28
+ "tsc:prod": "tsc -p tsconfig.release.json",
29
+ "lint": "eslint --cache src/**/*.ts --ignore-pattern .gitignore",
30
+ "lint:spec": "eslint --cache tests/**/*.ts --cache-file tests/.eslintcache --ignore-pattern .gitignore --fix"
31
+ },
32
+ "jest": {
33
+ "preset": "react-native",
34
+ "moduleDirectories": [
35
+ "node_modules"
36
+ ],
37
+ "unmockedModulePathPatterns": [
38
+ "node_modules"
39
+ ],
40
+ "modulePathIgnorePatterns": [
41
+ "<rootDir>/src",
42
+ "<rootDir>/tests/commandTestTmp",
43
+ "node_modules/react-native/local-cli"
44
+ ],
45
+ "transform": {
46
+ "^.+\\.(ts|tsx)$": "ts-jest"
47
+ },
48
+ "testPathIgnorePatterns": [
49
+ "<rootDir>/src",
50
+ "<rootDir>/tests/commandTestTmp"
51
+ ],
52
+ "transformIgnorePatterns": [
53
+ "node_modules/(?!(@react-native|react-native)/)"
54
+ ],
55
+ "setupFiles": [
56
+ "<rootDir>/tests/setup/setup.js"
57
+ ],
58
+ "testResultsProcessor": "jest-junit",
59
+ "testRegex": [
60
+ "(/__tests__/.*|(\\.|/)(Test|spec))\\.[jt]sx?$"
61
+ ]
62
+ },
63
+ "jest-junit": {
64
+ "suiteName": "jest tests",
65
+ "outputDirectory": ".",
66
+ "outputName": "junit.xml",
67
+ "uniqueOutputName": "true",
68
+ "ancestorSeparator": " › ",
69
+ "usePathForSuiteName": "true"
70
+ },
71
+ "author": "Dynatrace",
72
+ "license": "SEE LICENSE IN LICENSE.md",
73
+ "dependencies": {
74
+ "@babel/runtime": "^7.23.9",
75
+ "jscodeshift": "^0.15.1",
76
+ "plist": "^3.1.0",
77
+ "proxy-polyfill": "^0.3.2",
78
+ "semver": "^7.5.4"
79
+ },
80
+ "homepage": "https://www.dynatrace.com/",
81
+ "peerDependencies": {
82
+ "@babel/parser": ">=7.4.4",
83
+ "@react-native-picker/picker": ">=1.0.0",
84
+ "react": ">=16.11.0",
85
+ "react-native": ">=0.62.0"
86
+ },
87
+ "devDependencies": {
88
+ "@babel/cli": "^7.22.9",
89
+ "@babel/plugin-proposal-class-properties": "^7.8.3",
90
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
91
+ "@babel/plugin-proposal-optional-chaining": "^7.8.3",
92
+ "@babel/plugin-transform-flow-strip-types": "^7.8.3",
93
+ "@babel/plugin-transform-runtime": "^7.12.1",
94
+ "@babel/preset-env": "^7.4.4",
95
+ "@babel/preset-react": "^7.8.3",
96
+ "@testing-library/react-native": "^7.0.2",
97
+ "@types/jest": "^29.5.1",
98
+ "@types/jscodeshift": "^0.11.6",
99
+ "@types/libxmljs": "^0.18.3",
100
+ "@types/node": "^18.17.12",
101
+ "@types/plist": "^3.0.2",
102
+ "@types/react-native": "^0.63.32",
103
+ "@types/semver": "^7.5.0",
104
+ "@types/shelljs": "^0.8.8",
105
+ "@types/uglify-js": "^3.17.1",
106
+ "@typescript-eslint/eslint-plugin": "^5.16.0",
107
+ "@typescript-eslint/parser": "^5.16.0",
108
+ "compressing": "^1.5.1",
109
+ "eslint": "^8.45.0",
110
+ "eslint-config-prettier": "^8.5.0",
111
+ "eslint-plugin-import": "^2.26.0",
112
+ "eslint-plugin-jsdoc": "^39.1.0",
113
+ "eslint-plugin-prefer-arrow": "^1.2.3",
114
+ "eslint-plugin-unicorn": "^42.0.0",
115
+ "jest": "^28.1.3",
116
+ "jest-each": "^28.1.3",
117
+ "jest-junit": "^14.0.0",
118
+ "jest-mock": "^28.1.3",
119
+ "npm-check-updates": "^16.10.12",
120
+ "prettier": "^2.6.1",
121
+ "shelljs": "^0.8.5",
122
+ "ts-jest": "^28.0.7",
123
+ "ts-mockito": "^2.6.1",
124
+ "typescript": "^4.7.4",
125
+ "uglify-js": "^3.17.4"
126
+ },
127
+ "files": [
128
+ "command/command.js",
129
+ "command/util/*",
130
+ "command/interface/*",
131
+ "android/build.gradle",
132
+ "android/src/**/*",
133
+ "ios/**/*",
134
+ "files/*",
135
+ "lib/instrumentor/base/*.js",
136
+ "lib/instrumentor/base/model/*.js",
137
+ "lib/instrumentor/base/configuration/*.js",
138
+ "lib/instrumentor/base/configuration/interface/*.js",
139
+ "lib/instrumentor/base/interface/*.js",
140
+ "lib/instrumentor/base/util/*.js",
141
+ "lib/instrumentor/model/*.js",
142
+ "lib/instrumentor/parser/*.js",
143
+ "lib/instrumentor/DynatraceInstrumentation.js",
144
+ "lib/*.js",
145
+ "lib/community/*.js",
146
+ "lib/community/gesture-handler/*.js",
147
+ "lib/react-navigation/*.js",
148
+ "lib/react-native/*.js",
149
+ "lib/react/*.js",
150
+ "lib/metro/*.js",
151
+ "lib/util/*.js",
152
+ "react-native.config.js",
153
+ "react-native-dynatrace.js",
154
+ "react-native-dynatrace.podspec",
155
+ "README.md",
156
+ "LICENSE.md",
157
+ "scripts/*",
158
+ "scripts/api/*",
159
+ "scripts/core/*",
160
+ "scripts/api/model/*",
161
+ "scripts/util/*",
162
+ "typings/*",
163
+ "package.json",
164
+ "jsx-runtime.js",
165
+ "src/lib/instrumentor/base/interface/NativeDynatraceBridge.ts"
166
+ ],
167
+ "codegenConfig": {
168
+ "name": "DynatraceBridgeSpec",
169
+ "type": "modules",
170
+ "jsSrcsDir": "src",
171
+ "android": {
172
+ "javaPackageName": "com.dynatrace.android.agent"
173
+ }
174
+ }
175
+ }