mixpanel-react-native 3.0.2 → 3.0.4

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 (124) hide show
  1. package/.github/workflows/node.js.yml +10 -3
  2. package/CHANGELOG.md +30 -0
  3. package/MixpanelReactNative.podspec +1 -1
  4. package/README.md +28 -3
  5. package/Samples/MixpanelExpo/package.json +1 -1
  6. package/Samples/MixpanelExpo/yarn.lock +7052 -0
  7. package/Samples/SimpleMixpanel/{App.js → App.tsx} +8 -8
  8. package/Samples/SimpleMixpanel/Gemfile +9 -0
  9. package/Samples/SimpleMixpanel/README.md +79 -0
  10. package/Samples/SimpleMixpanel/__tests__/{App-test.js → App.test.tsx} +3 -0
  11. package/Samples/SimpleMixpanel/android/app/build.gradle +58 -162
  12. package/Samples/SimpleMixpanel/android/app/src/debug/AndroidManifest.xml +1 -5
  13. package/Samples/SimpleMixpanel/android/app/src/main/AndroidManifest.xml +4 -4
  14. package/Samples/SimpleMixpanel/android/app/src/main/java/com/simplemixpanel/MainActivity.kt +22 -0
  15. package/Samples/SimpleMixpanel/android/app/src/main/java/com/simplemixpanel/MainApplication.kt +43 -0
  16. package/Samples/SimpleMixpanel/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  17. package/Samples/SimpleMixpanel/android/app/src/main/res/values/styles.xml +1 -1
  18. package/Samples/SimpleMixpanel/android/build.gradle +11 -28
  19. package/Samples/SimpleMixpanel/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  20. package/Samples/SimpleMixpanel/android/gradle/wrapper/gradle-wrapper.properties +3 -1
  21. package/Samples/SimpleMixpanel/android/gradle.properties +17 -4
  22. package/Samples/SimpleMixpanel/android/gradlew +173 -109
  23. package/Samples/SimpleMixpanel/android/gradlew.bat +92 -89
  24. package/Samples/SimpleMixpanel/android/settings.gradle +1 -0
  25. package/Samples/SimpleMixpanel/app.json +1 -1
  26. package/Samples/SimpleMixpanel/babel.config.js +1 -1
  27. package/Samples/SimpleMixpanel/ios/.xcode.env +11 -0
  28. package/Samples/SimpleMixpanel/ios/Podfile +24 -13
  29. package/Samples/SimpleMixpanel/ios/Podfile.lock +1414 -0
  30. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/AppDelegate.h +2 -4
  31. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/AppDelegate.mm +31 -0
  32. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/Images.xcassets/AppIcon.appiconset/Contents.json +30 -15
  33. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/Info.plist +8 -11
  34. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/PrivacyInfo.xcprivacy +38 -0
  35. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/main.m +2 -1
  36. package/Samples/SimpleMixpanel/ios/SimpleMixpanel.xcodeproj/project.pbxproj +130 -114
  37. package/Samples/SimpleMixpanel/ios/SimpleMixpanelTests/SimpleMixpanelTests.m +14 -13
  38. package/Samples/SimpleMixpanel/jest.config.js +3 -0
  39. package/Samples/SimpleMixpanel/metro.config.js +7 -13
  40. package/Samples/SimpleMixpanel/package.json +23 -15
  41. package/Samples/SimpleMixpanel/tsconfig.json +3 -0
  42. package/Samples/SimpleMixpanel/yarn.lock +6814 -0
  43. package/__tests__/jest_setup.js +3 -3
  44. package/android/build.gradle +1 -1
  45. package/docs/Mixpanel.html +33 -33
  46. package/docs/MixpanelGroup.html +7 -7
  47. package/docs/People.html +12 -12
  48. package/docs/index.html +26 -3
  49. package/docs/index.js.html +8 -18
  50. package/index.d.ts +10 -2
  51. package/index.js +7 -17
  52. package/javascript/mixpanel-main.js +1 -1
  53. package/javascript/mixpanel-network.js +2 -2
  54. package/javascript/mixpanel-persistent.js +0 -2
  55. package/package.json +1 -1
  56. package/Samples/ContextAPIMixpanel/android/.project +0 -28
  57. package/Samples/MixpanelDemo/android/.project +0 -28
  58. package/Samples/SimpleMixpanel/.buckconfig +0 -6
  59. package/Samples/SimpleMixpanel/.editorconfig +0 -3
  60. package/Samples/SimpleMixpanel/.eslintrc.js +0 -4
  61. package/Samples/SimpleMixpanel/.flowconfig +0 -66
  62. package/Samples/SimpleMixpanel/.gitattributes +0 -3
  63. package/Samples/SimpleMixpanel/.prettierrc.js +0 -7
  64. package/Samples/SimpleMixpanel/.watchmanconfig +0 -1
  65. package/Samples/SimpleMixpanel/android/.project +0 -28
  66. package/Samples/SimpleMixpanel/android/app/BUCK +0 -55
  67. package/Samples/SimpleMixpanel/android/app/build_defs.bzl +0 -19
  68. package/Samples/SimpleMixpanel/android/app/src/debug/java/com/simplemixpanel/ReactNativeFlipper.java +0 -72
  69. package/Samples/SimpleMixpanel/android/app/src/main/java/com/simplemixpanel/MainActivity.java +0 -15
  70. package/Samples/SimpleMixpanel/android/app/src/main/java/com/simplemixpanel/MainApplication.java +0 -80
  71. package/Samples/SimpleMixpanel/ios/File.swift +0 -8
  72. package/Samples/SimpleMixpanel/ios/SimpleMixpanel/AppDelegate.m +0 -62
  73. package/Samples/SimpleMixpanel/ios/SimpleMixpanel-Bridging-Header.h +0 -4
  74. package/Samples/SimpleMixpanel/ios/SimpleMixpanel.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  75. package/android/bin/.gradle/5.5/executionHistory/executionHistory.lock +0 -0
  76. package/android/bin/.gradle/5.5/fileChanges/last-build.bin +0 -0
  77. package/android/bin/.gradle/5.5/fileHashes/fileHashes.bin +0 -0
  78. package/android/bin/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  79. package/android/bin/.gradle/5.5/gc.properties +0 -0
  80. package/android/bin/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  81. package/android/bin/.gradle/buildOutputCleanup/cache.properties +0 -2
  82. package/android/bin/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  83. package/android/bin/.gradle/vcs-1/gc.properties +0 -0
  84. package/android/bin/.idea/caches/build_file_checksums.ser +0 -0
  85. package/android/bin/.idea/compiler.xml +0 -6
  86. package/android/bin/.idea/gradle.xml +0 -21
  87. package/android/bin/.idea/jarRepositories.xml +0 -30
  88. package/android/bin/.idea/libraries/Gradle__com_android_support_appcompat_v7_23_0_1_aar.xml +0 -16
  89. package/android/bin/.idea/libraries/Gradle__com_android_support_recyclerview_v7_23_0_1_aar.xml +0 -13
  90. package/android/bin/.idea/libraries/Gradle__com_android_support_support_annotations_23_0_1.xml +0 -11
  91. package/android/bin/.idea/libraries/Gradle__com_android_support_support_v4_23_0_1_aar.xml +0 -17
  92. package/android/bin/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +0 -13
  93. package/android/bin/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +0 -13
  94. package/android/bin/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +0 -13
  95. package/android/bin/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +0 -13
  96. package/android/bin/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +0 -13
  97. package/android/bin/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +0 -17
  98. package/android/bin/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0.xml +0 -11
  99. package/android/bin/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0.xml +0 -11
  100. package/android/bin/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3.xml +0 -11
  101. package/android/bin/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0.xml +0 -11
  102. package/android/bin/.idea/libraries/Gradle__com_mixpanel_android_mixpanel_android_6_0_0_beta1_aar.xml +0 -16
  103. package/android/bin/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0.xml +0 -11
  104. package/android/bin/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4.xml +0 -11
  105. package/android/bin/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0.xml +0 -11
  106. package/android/bin/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0.xml +0 -11
  107. package/android/bin/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml +0 -11
  108. package/android/bin/.idea/libraries/Gradle__commons_cli_commons_cli_1_2.xml +0 -11
  109. package/android/bin/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +0 -11
  110. package/android/bin/.idea/misc.xml +0 -9
  111. package/android/bin/.idea/modules.xml +0 -8
  112. package/android/bin/.idea/vcs.xml +0 -6
  113. package/android/bin/.idea/workspace.xml +0 -57
  114. package/android/bin/.project +0 -34
  115. package/android/bin/.settings/org.eclipse.buildship.core.prefs +0 -13
  116. package/android/bin/build.gradle +0 -45
  117. package/android/bin/gradle/wrapper/gradle-wrapper.jar +0 -0
  118. package/android/bin/gradle/wrapper/gradle-wrapper.properties +0 -6
  119. package/android/bin/gradlew +0 -172
  120. package/android/bin/gradlew.bat +0 -84
  121. package/android/bin/local.properties +0 -8
  122. package/android/bin/src/main/AndroidManifest.xml +0 -2
  123. package/logs/.b11bf985d66a037ca5688a574653f3bf76a28dfa-audit.json +0 -29
  124. package/logs/.c366df74eeb671df60a57a2075ae40a3dae2af25-audit.json +0 -29
@@ -40,7 +40,13 @@ jobs:
40
40
  uses: actions/setup-node@v2
41
41
  with:
42
42
  node-version: ${{ matrix.node-version }}
43
+ - uses: actions/setup-java@v4
44
+ with:
45
+ distribution: "temurin" # See 'Supported distributions' for available options
46
+ java-version: "17"
43
47
  - run: npm install
48
+ - run: npm install -g react-native-cli
49
+ - run: npm i react-native-gradle-plugin
44
50
  - name: Test Integration - Install dependencies
45
51
  working-directory: ./Samples/SimpleMixpanel
46
52
  run: yarn install
@@ -59,7 +65,7 @@ jobs:
59
65
  profile: Nexus 6
60
66
  arch: x86_64
61
67
  working-directory: ./Samples/SimpleMixpanel
62
- script: yarn android
68
+ script: react-native run-android
63
69
 
64
70
  test_ios:
65
71
  runs-on: macos-latest
@@ -75,12 +81,13 @@ jobs:
75
81
  with:
76
82
  node-version: ${{ matrix.node-version }}
77
83
  - run: npm install
84
+ - run: npm install -g react-native-cli
78
85
  - name: Test Integration - Install dependencies
79
86
  working-directory: ./Samples/SimpleMixpanel
80
- run: yarn install
87
+ run: npm install
81
88
  - name: Setup iOS
82
89
  working-directory: ./Samples/SimpleMixpanel/ios
83
90
  run: pod install --repo-update
84
91
  - name: Test iOS
85
92
  working-directory: ./Samples/SimpleMixpanel
86
- run: yarn ios
93
+ run: react-native run-ios
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  #
2
2
 
3
+ ## [v3.0.4](https://github.com/mixpanel/mixpanel-react-native/tree/v3.0.4) (2024-05-13)
4
+
5
+ ### Fixes
6
+
7
+ - Improvement for supporting the custom storage [\#251](https://github.com/mixpanel/mixpanel-react-native/pull/251)
8
+ - Avoid CORS errors [\#250](https://github.com/mixpanel/mixpanel-react-native/pull/250)
9
+
10
+ #
11
+
12
+ ## [v3.0.3](https://github.com/mixpanel/mixpanel-react-native/tree/v3.0.3) (2024-05-10)
13
+
14
+ ### Enhancements
15
+
16
+ - bump iOS to 4.2.7 [\#249](https://github.com/mixpanel/mixpanel-react-native/pull/249)
17
+ - Require only the used subset of `AsnycStorage` as custom storage [\#246](https://github.com/mixpanel/mixpanel-react-native/pull/246)
18
+ - Fix CI issues for both iOS and Android and update the sample app [\#241](https://github.com/mixpanel/mixpanel-react-native/pull/241)
19
+ - Version bump Android SDK to 7.5.2 [\#237](https://github.com/mixpanel/mixpanel-react-native/pull/237)
20
+
21
+ ### Fixes
22
+
23
+ - fix: fix adapter storage jest setup [\#244](https://github.com/mixpanel/mixpanel-react-native/pull/244)
24
+ - fix storage adapter info being logged on every app launch [\#239](https://github.com/mixpanel/mixpanel-react-native/pull/239)
25
+ - Added null check for empty constants object incase of web [\#238](https://github.com/mixpanel/mixpanel-react-native/pull/238)
26
+
27
+ #
28
+
3
29
  ## [v3.0.2](https://github.com/mixpanel/mixpanel-react-native/tree/v3.0.2) (2024-04-16)
4
30
 
5
31
  ### Fixes
@@ -406,3 +432,7 @@ This major release removes all remaining calls to Mixpanel's `/decide` API endpo
406
432
 
407
433
 
408
434
 
435
+
436
+
437
+
438
+
@@ -19,5 +19,5 @@ Pod::Spec.new do |s|
19
19
  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
20
20
 
21
21
  s.dependency "React-Core"
22
- s.dependency "Mixpanel-swift", '4.2.5'
22
+ s.dependency "Mixpanel-swift", '4.2.7'
23
23
  end
package/README.md CHANGED
@@ -100,12 +100,37 @@ const SampleApp = () => {
100
100
  export default SampleApp;
101
101
 
102
102
  ```
103
- ### Expo and React Native for Web support
104
- Starting from version 3.0.0, we have introduced support for Expo, React Native for Web, and other platforms utilizing React Native that do not support iOS and Android directly. To enable this feature, initialize Mixpanel with an additional parameter, `useNative`, set to false(```const mixpanel = new Mixpanel(
103
+ ### Expo and React Native for Web support (3.0.2 and above)
104
+ Starting from version 3.0.2, we have introduced support for Expo, React Native for Web, and other platforms utilizing React Native that do not support iOS and Android directly.
105
+ To enable this feature,
106
+ <br>Step 1:
107
+ ```
108
+ npm install @react-native-async-storage/async-storage
109
+ ```
110
+ When JavaScript mode is enabled, Mixpanel utilizes [AsyncStorage](https://react-native-async-storage.github.io/async-storage/) to persist data. If you prefer not to use it, or if AsyncStorage is unavailable in your target environment, you can import or define a different storage class. However, it must follow a subset (see: [`MixpanelAsyncStorage`](index.d.ts)) of the same interface as [AsyncStorage](https://react-native-async-storage.github.io/async-storage/) The following example demonstrates how to use a custom storage solution:
111
+
112
+ ```
113
+ // Optional: if you do not want to use the default AsyncStorage
114
+ const MyAsyncStorage = require("@my-org/<library-path>/AsyncStorage");
115
+ const trackAutomaticEvents = false;
116
+ const useNative = false;
117
+ const mixpanel = new Mixpanel('YOUR_TOKEN', trackAutomaticEvents, useNative, MyAsyncStorage);
118
+ mixpanel.init();
119
+ ```
120
+
121
+ <br>Step 2:
122
+ Initialize Mixpanel with an additional parameter, `useNative`, set to false.
123
+ ```
124
+ const trackAutomaticEvents = false;
125
+ const useNative = false;
126
+ const mixpanel = new Mixpanel(
105
127
  "YOUR_MIXPANEL_TOKEN",
106
128
  trackAutomaticEvents,
107
129
  useNative
108
- );```). This will activate JavaScript mode. Please note that this functionality is currently in beta testing. For further details and installation guidelines, refer to the release notes available at Mixpanel React Native [v3.0.0-beta.1](https://github.com/mixpanel/mixpanel-react-native/releases/tag/v3.0.0-beta.1).
130
+ );
131
+ ```
132
+ This will activate JavaScript mode.
133
+
109
134
 
110
135
  👋 👋 Tell us about the Mixpanel developer experience! [https://www.mixpanel.com/devnps](https://www.mixpanel.com/devnps) 👍 👎
111
136
 
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "expo": "~50.0.8",
13
13
  "expo-status-bar": "~1.11.1",
14
- "mixpanel-react-native": "github:mixpanel/mixpanel-react-native#3.0.0.beta",
14
+ "mixpanel-react-native": "github:mixpanel/mixpanel-react-native#master",
15
15
  "react": "18.2.0",
16
16
  "react-native": "0.73.4",
17
17
  "react-native-web": "~0.19.6",