@snowplow/react-native-tracker 2.1.2 → 4.0.2-dev.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 (232) hide show
  1. package/LICENSE +29 -203
  2. package/README.md +59 -143
  3. package/dist/index.cjs.d.ts +499 -0
  4. package/dist/index.cjs.js +2656 -0
  5. package/dist/index.cjs.js.map +1 -0
  6. package/dist/index.cjs.min.d.ts +499 -0
  7. package/dist/index.cjs.min.js +63 -0
  8. package/dist/index.cjs.min.js.map +1 -0
  9. package/dist/index.module.d.ts +499 -0
  10. package/dist/index.module.js +250 -0
  11. package/dist/index.module.js.map +1 -0
  12. package/package.json +48 -158
  13. package/.editorconfig +0 -15
  14. package/.eslintignore +0 -6
  15. package/.gitattributes +0 -3
  16. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  17. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  18. package/.github/actions/setup/action.yml +0 -28
  19. package/.github/workflows/build.yml +0 -155
  20. package/.github/workflows/deploy.yml +0 -97
  21. package/.github/workflows/e2e-android.yml +0 -121
  22. package/.github/workflows/e2e-ios.yml +0 -95
  23. package/.github/workflows/snyk.yml +0 -21
  24. package/.gitignore +0 -70
  25. package/.npmignore +0 -60
  26. package/.nvmrc +0 -1
  27. package/.watchmanconfig +0 -1
  28. package/.yarnrc +0 -3
  29. package/CHANGELOG +0 -184
  30. package/CONTRIBUTING.md +0 -80
  31. package/android/build.gradle +0 -110
  32. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  33. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  34. package/android/gradle.properties +0 -5
  35. package/android/gradlew +0 -234
  36. package/android/gradlew.bat +0 -89
  37. package/android/src/main/AndroidManifest.xml +0 -3
  38. package/android/src/main/AndroidManifestNew.xml +0 -2
  39. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerModule.kt +0 -744
  40. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerPackage.kt +0 -17
  41. package/android/src/main/java/com/snowplow/reactnativetracker/util/ConfigUtil.kt +0 -274
  42. package/android/src/main/java/com/snowplow/reactnativetracker/util/EventUtil.kt +0 -233
  43. package/android/src/main/java/com/snowplow/reactnativetracker/util/TrackerVersion.kt +0 -5
  44. package/babel.config.js +0 -3
  45. package/example/.watchmanconfig +0 -1
  46. package/example/Gemfile +0 -6
  47. package/example/android/app/build.gradle +0 -129
  48. package/example/android/app/debug.keystore +0 -0
  49. package/example/android/app/proguard-rules.pro +0 -10
  50. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTest.java +0 -36
  51. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTestAppJUnitRunner.java +0 -21
  52. package/example/android/app/src/debug/AndroidManifest.xml +0 -13
  53. package/example/android/app/src/debug/java/com/reactnativetrackerexample/ReactNativeFlipper.java +0 -75
  54. package/example/android/app/src/main/AndroidManifest.xml +0 -26
  55. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainActivity.java +0 -32
  56. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainApplication.java +0 -62
  57. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -36
  58. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  59. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  60. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  61. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  62. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  63. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  64. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  65. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  66. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  67. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  68. package/example/android/app/src/main/res/values/strings.xml +0 -3
  69. package/example/android/app/src/main/res/values/styles.xml +0 -9
  70. package/example/android/app/src/release/java/com/reactnativetrackerexample/ReactNativeFlipper.java +0 -20
  71. package/example/android/build.gradle +0 -31
  72. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  73. package/example/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  74. package/example/android/gradle.properties +0 -44
  75. package/example/android/gradlew +0 -244
  76. package/example/android/gradlew.bat +0 -92
  77. package/example/android/settings.gradle +0 -4
  78. package/example/app.json +0 -4
  79. package/example/babel.config.js +0 -17
  80. package/example/detox.config.js +0 -92
  81. package/example/e2e/config.json +0 -10
  82. package/example/e2e/emitEvents.e2e.detox.js +0 -95
  83. package/example/e2e/environment.js +0 -23
  84. package/example/e2e/helpers/microCommands.js +0 -140
  85. package/example/e2e/helpers/microHelpers.js +0 -333
  86. package/example/e2e/helpers/microHelpers.test.js +0 -295
  87. package/example/e2e/helpers/schemas.js +0 -49
  88. package/example/e2e/jest.config.js +0 -16
  89. package/example/e2e/setup.js +0 -4
  90. package/example/e2e/testEvents.micro.test.js +0 -287
  91. package/example/index.js +0 -5
  92. package/example/ios/.xcode.env +0 -11
  93. package/example/ios/Podfile +0 -62
  94. package/example/ios/Podfile.lock +0 -730
  95. package/example/ios/ReactNativeTrackerExample/AppDelegate.h +0 -6
  96. package/example/ios/ReactNativeTrackerExample/AppDelegate.mm +0 -26
  97. package/example/ios/ReactNativeTrackerExample/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  98. package/example/ios/ReactNativeTrackerExample/Images.xcassets/Contents.json +0 -6
  99. package/example/ios/ReactNativeTrackerExample/Info.plist +0 -55
  100. package/example/ios/ReactNativeTrackerExample/LaunchScreen.storyboard +0 -47
  101. package/example/ios/ReactNativeTrackerExample/PrivacyInfo.xcprivacy +0 -37
  102. package/example/ios/ReactNativeTrackerExample/main.m +0 -10
  103. package/example/ios/ReactNativeTrackerExample-Bridging-Header.h +0 -3
  104. package/example/ios/ReactNativeTrackerExample.xcodeproj/project.pbxproj +0 -739
  105. package/example/ios/ReactNativeTrackerExample.xcodeproj/xcshareddata/xcschemes/ReactNativeTrackerExample.xcscheme +0 -88
  106. package/example/ios/ReactNativeTrackerExample.xcworkspace/contents.xcworkspacedata +0 -10
  107. package/example/ios/ReactNativeTrackerExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  108. package/example/ios/ReactNativeTrackerExampleTests/Info.plist +0 -24
  109. package/example/ios/ReactNativeTrackerExampleTests/ReactNativeTrackerExampleTests.m +0 -66
  110. package/example/metro.config.js +0 -45
  111. package/example/package.json +0 -54
  112. package/example/react-native.config.js +0 -10
  113. package/example/src/App.js +0 -566
  114. package/example/tsconfig.json +0 -5
  115. package/example/yarn.lock +0 -7703
  116. package/ios/ReactNativeTracker-Bridging-Header.h +0 -2
  117. package/ios/ReactNativeTracker.mm +0 -171
  118. package/ios/ReactNativeTracker.swift +0 -822
  119. package/ios/ReactNativeTracker.xcodeproj/project.pbxproj +0 -301
  120. package/ios/Util/ConfigUtils.swift +0 -209
  121. package/ios/Util/TrackerVersion.swift +0 -3
  122. package/ios/Util/Utilities.swift +0 -37
  123. package/lefthook.yml +0 -11
  124. package/lib/commonjs/api.js +0 -490
  125. package/lib/commonjs/api.js.map +0 -1
  126. package/lib/commonjs/configurations.js +0 -196
  127. package/lib/commonjs/configurations.js.map +0 -1
  128. package/lib/commonjs/constants.js +0 -77
  129. package/lib/commonjs/constants.js.map +0 -1
  130. package/lib/commonjs/events.js +0 -277
  131. package/lib/commonjs/events.js.map +0 -1
  132. package/lib/commonjs/index.js +0 -132
  133. package/lib/commonjs/index.js.map +0 -1
  134. package/lib/commonjs/jsCore.js +0 -427
  135. package/lib/commonjs/jsCore.js.map +0 -1
  136. package/lib/commonjs/native.js +0 -16
  137. package/lib/commonjs/native.js.map +0 -1
  138. package/lib/commonjs/subject.js +0 -235
  139. package/lib/commonjs/subject.js.map +0 -1
  140. package/lib/commonjs/tracker.js +0 -248
  141. package/lib/commonjs/tracker.js.map +0 -1
  142. package/lib/commonjs/types.js +0 -2
  143. package/lib/commonjs/types.js.map +0 -1
  144. package/lib/commonjs/utils.js +0 -72
  145. package/lib/commonjs/utils.js.map +0 -1
  146. package/lib/commonjs/webViewInterface.js +0 -66
  147. package/lib/commonjs/webViewInterface.js.map +0 -1
  148. package/lib/module/api.js +0 -452
  149. package/lib/module/api.js.map +0 -1
  150. package/lib/module/configurations.js +0 -184
  151. package/lib/module/configurations.js.map +0 -1
  152. package/lib/module/constants.js +0 -72
  153. package/lib/module/constants.js.map +0 -1
  154. package/lib/module/events.js +0 -259
  155. package/lib/module/events.js.map +0 -1
  156. package/lib/module/index.js +0 -120
  157. package/lib/module/index.js.map +0 -1
  158. package/lib/module/jsCore.js +0 -424
  159. package/lib/module/jsCore.js.map +0 -1
  160. package/lib/module/native.js +0 -12
  161. package/lib/module/native.js.map +0 -1
  162. package/lib/module/subject.js +0 -222
  163. package/lib/module/subject.js.map +0 -1
  164. package/lib/module/tracker.js +0 -234
  165. package/lib/module/tracker.js.map +0 -1
  166. package/lib/module/types.js +0 -2
  167. package/lib/module/types.js.map +0 -1
  168. package/lib/module/utils.js +0 -66
  169. package/lib/module/utils.js.map +0 -1
  170. package/lib/module/webViewInterface.js +0 -62
  171. package/lib/module/webViewInterface.js.map +0 -1
  172. package/lib/typescript/__tests__/api.test.d.ts +0 -2
  173. package/lib/typescript/__tests__/api.test.d.ts.map +0 -1
  174. package/lib/typescript/__tests__/configurations.test.d.ts +0 -2
  175. package/lib/typescript/__tests__/configurations.test.d.ts.map +0 -1
  176. package/lib/typescript/__tests__/events.test.d.ts +0 -2
  177. package/lib/typescript/__tests__/events.test.d.ts.map +0 -1
  178. package/lib/typescript/__tests__/index.test.d.ts +0 -2
  179. package/lib/typescript/__tests__/index.test.d.ts.map +0 -1
  180. package/lib/typescript/__tests__/jsCore.test.d.ts +0 -2
  181. package/lib/typescript/__tests__/jsCore.test.d.ts.map +0 -1
  182. package/lib/typescript/__tests__/utils.test.d.ts +0 -2
  183. package/lib/typescript/__tests__/utils.test.d.ts.map +0 -1
  184. package/lib/typescript/api.d.ts +0 -240
  185. package/lib/typescript/api.d.ts.map +0 -1
  186. package/lib/typescript/configurations.d.ts +0 -73
  187. package/lib/typescript/configurations.d.ts.map +0 -1
  188. package/lib/typescript/constants.d.ts +0 -64
  189. package/lib/typescript/constants.d.ts.map +0 -1
  190. package/lib/typescript/events.d.ts +0 -115
  191. package/lib/typescript/events.d.ts.map +0 -1
  192. package/lib/typescript/index.d.ts +0 -27
  193. package/lib/typescript/index.d.ts.map +0 -1
  194. package/lib/typescript/jsCore.d.ts +0 -152
  195. package/lib/typescript/jsCore.d.ts.map +0 -1
  196. package/lib/typescript/native.d.ts +0 -4
  197. package/lib/typescript/native.d.ts.map +0 -1
  198. package/lib/typescript/subject.d.ts +0 -91
  199. package/lib/typescript/subject.d.ts.map +0 -1
  200. package/lib/typescript/tracker.d.ts +0 -111
  201. package/lib/typescript/tracker.d.ts.map +0 -1
  202. package/lib/typescript/types.d.ts +0 -981
  203. package/lib/typescript/types.d.ts.map +0 -1
  204. package/lib/typescript/utils.d.ts +0 -35
  205. package/lib/typescript/utils.d.ts.map +0 -1
  206. package/lib/typescript/webViewInterface.d.ts +0 -15
  207. package/lib/typescript/webViewInterface.d.ts.map +0 -1
  208. package/scripts/bootstrap.js +0 -29
  209. package/snowplow-react-native-tracker.podspec +0 -42
  210. package/src/__mocks__/react-native.js +0 -7
  211. package/src/__tests__/api.test.ts +0 -21
  212. package/src/__tests__/configurations.test.ts +0 -608
  213. package/src/__tests__/events.test.ts +0 -736
  214. package/src/__tests__/index.test.ts +0 -14
  215. package/src/__tests__/jsCore.test.ts +0 -199
  216. package/src/__tests__/utils.test.ts +0 -10
  217. package/src/api.ts +0 -556
  218. package/src/configurations.ts +0 -325
  219. package/src/constants.ts +0 -97
  220. package/src/events.ts +0 -355
  221. package/src/index.ts +0 -184
  222. package/src/jsCore.ts +0 -603
  223. package/src/native.ts +0 -21
  224. package/src/subject.ts +0 -302
  225. package/src/tracker.ts +0 -377
  226. package/src/types.ts +0 -1162
  227. package/src/utils.ts +0 -65
  228. package/src/webViewInterface.ts +0 -92
  229. package/tsconfig.build.json +0 -5
  230. package/tsconfig.json +0 -28
  231. package/turbo.json +0 -34
  232. package/yarn.lock +0 -9398
@@ -1,28 +0,0 @@
1
- name: Setup
2
- description: Setup Node.js and install dependencies
3
-
4
- runs:
5
- using: composite
6
- steps:
7
- - name: Setup Node.js
8
- uses: actions/setup-node@v3
9
- with:
10
- node-version-file: .nvmrc
11
-
12
- - name: Cache dependencies
13
- id: yarn-cache
14
- uses: actions/cache@v3
15
- with:
16
- path: |
17
- **/node_modules
18
- key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/package.json') }}
19
- restore-keys: |
20
- ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
21
- ${{ runner.os }}-yarn-
22
-
23
- - name: Install dependencies
24
- if: steps.yarn-cache.outputs.cache-hit != 'true'
25
- run: |
26
- yarn install --cwd example --frozen-lockfile
27
- yarn install --frozen-lockfile
28
- shell: bash
@@ -1,155 +0,0 @@
1
- name: Build
2
-
3
- on:
4
- push:
5
- tags:
6
- - '*.*.*'
7
- pull_request:
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Checkout
14
- uses: actions/checkout@v4
15
-
16
- - name: Setup
17
- uses: ./.github/actions/setup
18
-
19
- - name: Lint files
20
- run: yarn lint
21
-
22
- - name: Typecheck files
23
- run: yarn typecheck
24
-
25
- test:
26
- runs-on: ubuntu-latest
27
- steps:
28
- - name: Checkout
29
- uses: actions/checkout@v4
30
-
31
- - name: Setup
32
- uses: ./.github/actions/setup
33
-
34
- - name: Run unit tests
35
- run: yarn test --maxWorkers=2 --coverage
36
-
37
- build-library:
38
- runs-on: ubuntu-latest
39
- steps:
40
- - name: Checkout
41
- uses: actions/checkout@v4
42
-
43
- - name: Setup
44
- uses: ./.github/actions/setup
45
-
46
- - name: Build package
47
- run: yarn prepack
48
-
49
- build-android:
50
- runs-on: ubuntu-latest
51
- env:
52
- TURBO_CACHE_DIR: .turbo/android
53
- steps:
54
- - name: Checkout
55
- uses: actions/checkout@v4
56
-
57
- - name: Setup
58
- uses: ./.github/actions/setup
59
-
60
- - name: Cache turborepo for Android
61
- uses: actions/cache@v3
62
- with:
63
- path: ${{ env.TURBO_CACHE_DIR }}
64
- key: ${{ runner.os }}-turborepo-android-${{ hashFiles('**/yarn.lock') }}
65
- restore-keys: |
66
- ${{ runner.os }}-turborepo-android-
67
-
68
- - name: Check turborepo cache for Android
69
- run: |
70
- TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
71
-
72
- if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
73
- echo "turbo_cache_hit=1" >> $GITHUB_ENV
74
- fi
75
-
76
- - name: Install JDK
77
- if: env.turbo_cache_hit != 1
78
- uses: actions/setup-java@v3
79
- with:
80
- distribution: 'zulu'
81
- java-version: '11'
82
-
83
- - name: Finalize Android SDK
84
- if: env.turbo_cache_hit != 1
85
- run: |
86
- /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
87
-
88
- - name: Cache Gradle
89
- if: env.turbo_cache_hit != 1
90
- uses: actions/cache@v3
91
- with:
92
- path: |
93
- ~/.gradle/wrapper
94
- ~/.gradle/caches
95
- key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
96
- restore-keys: |
97
- ${{ runner.os }}-gradle-
98
-
99
- - name: Build example for Android
100
- run: |
101
- yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
102
-
103
- build-ios:
104
- runs-on: macos-latest
105
- env:
106
- TURBO_CACHE_DIR: .turbo/ios
107
- steps:
108
- - name: Checkout
109
- uses: actions/checkout@v4
110
-
111
- - name: setup-cocoapods
112
- uses: maxim-lobanov/setup-cocoapods@v1
113
- with:
114
- version: 1.15.2
115
-
116
- - name: Setup
117
- uses: ./.github/actions/setup
118
-
119
- - name: Cache turborepo for iOS
120
- uses: actions/cache@v3
121
- with:
122
- path: ${{ env.TURBO_CACHE_DIR }}
123
- key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('**/yarn.lock') }}
124
- restore-keys: |
125
- ${{ runner.os }}-turborepo-ios-
126
-
127
- - name: Check turborepo cache for iOS
128
- run: |
129
- TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
130
-
131
- if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
132
- echo "turbo_cache_hit=1" >> $GITHUB_ENV
133
- fi
134
-
135
- - name: Cache cocoapods
136
- if: env.turbo_cache_hit != 1
137
- id: cocoapods-cache
138
- uses: actions/cache@v3
139
- with:
140
- path: |
141
- **/ios/Pods
142
- key: ${{ runner.os }}-cocoapods-${{ hashFiles('example/ios/Podfile.lock') }}
143
- restore-keys: |
144
- ${{ runner.os }}-cocoapods-
145
-
146
- - name: Install cocoapods
147
- if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true'
148
- run: |
149
- yarn example pods
150
- env:
151
- NO_FLIPPER: 1
152
-
153
- - name: Build example for iOS
154
- run: |
155
- yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
@@ -1,97 +0,0 @@
1
- name: Deploy
2
-
3
- on:
4
- push:
5
- tags:
6
- - '[0-9]+.[0-9]+.[0-9]+*'
7
-
8
- jobs:
9
-
10
- version_check:
11
- runs-on: ubuntu-latest
12
- outputs:
13
- v_tracker: ${{ steps.version.outputs.RN_TRACKER_VERSION}}
14
-
15
- steps:
16
- - name: Checkout code
17
- uses: actions/checkout@v4
18
-
19
- - name: Get tag and tracker versions
20
- id: version
21
- env:
22
- IOS_VER_FILEPATH: 'ios/Util/TrackerVersion.swift'
23
- ANDR_VER_FILEPATH: 'android/src/main/java/com/snowplow/reactnativetracker/util/TrackerVersion.kt'
24
- JS_VER_FILEPATH: 'src/jsCore.ts'
25
- run: |
26
- echo "TAG_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
27
- echo "RN_TRACKER_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
28
- echo "RN_IOS_TRACKER_VERSION=$(cat "${IOS_VER_FILEPATH}" | sed -n -e 's/^.*kRNTrackerVersion = "rn-\(.*\)"/\1/p')" >> $GITHUB_OUTPUT
29
- echo "RN_ANDROID_TRACKER_VERSION=$(cat "${ANDR_VER_FILEPATH}" | sed -n -e 's/^.*RN_TRACKER_VERSION = "rn-\(.*\)"/\1/p')" >> $GITHUB_OUTPUT
30
- echo "RN_JS_TRACKER_VERSION=$(cat "${JS_VER_FILEPATH}" | sed -n -e 's/^.*trackerVersion = '\''rn-\(.*\)'\'';/\1/p')" >> $GITHUB_OUTPUT
31
-
32
- - name: Fail if version mismatch
33
- run: |
34
- if [ "${{ steps.version.outputs.TAG_VERSION }}" != "${{ steps.version.outputs.RN_TRACKER_VERSION }}" ] ; then
35
- echo "Tag version (${{ steps.version.outputs.TAG_VERSION }}) doesn't match version in project (${{ steps.version.outputs.RN_TRACKER_VERSION }})"
36
- exit 1
37
- fi
38
- if [ "${{ steps.version.outputs.TAG_VERSION }}" != "${{ steps.version.outputs.RN_IOS_TRACKER_VERSION }}" ] ; then
39
- echo "Tag version (${{ steps.version.outputs.TAG_VERSION }}) doesn't match version in project(ios) (${{ steps.version.outputs.RN_IOS_TRACKER_VERSION }})"
40
- exit 1
41
- fi
42
- if [ "${{ steps.version.outputs.TAG_VERSION }}" != "${{ steps.version.outputs.RN_ANDROID_TRACKER_VERSION }}" ] ; then
43
- echo "Tag version (${{ steps.version.outputs.TAG_VERSION }}) doesn't match version in project(android) (${{ steps.version.outputs.RN_ANDROID_TRACKER_VERSION }})"
44
- exit 1
45
- fi
46
- if [ "${{ steps.version.outputs.TAG_VERSION }}" != "${{ steps.version.outputs.RN_JS_TRACKER_VERSION }}" ] ; then
47
- echo "Tag version (${{ steps.version.outputs.TAG_VERSION }}) doesn't match version in project(js) (${{ steps.version.outputs.RN_JS_TRACKER_VERSION }})"
48
- exit 1
49
- fi
50
-
51
- publish_npm:
52
- needs: ["version_check"]
53
- runs-on: ubuntu-latest
54
-
55
- steps:
56
- - name: Checkout
57
- uses: actions/checkout@v4
58
-
59
- - name: Setup
60
- uses: ./.github/actions/setup
61
-
62
- - name: Run unit tests
63
- run: yarn test
64
-
65
- - name: Build dist files
66
- run: |
67
- yarn
68
- yarn prepack
69
-
70
- - name: NPM Publish
71
- run: |
72
- echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc
73
- if [[ "${{ needs.version_check.outputs.v_tracker }}" = *-* ]] ; then
74
- yarn publish --access public --tag next
75
- else
76
- yarn publish --access public
77
- fi
78
- env:
79
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
80
-
81
- release:
82
- needs: ["publish_npm", "version_check"]
83
- runs-on: ubuntu-latest
84
-
85
- steps:
86
- - name: Checkout code
87
- uses: actions/checkout@v2
88
-
89
- - name: Release
90
- uses: softprops/action-gh-release@v0.1.7
91
- env:
92
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93
- with:
94
- tag_name: ${{ github.event.workflow_run.head_branch }}
95
- name: Version ${{ needs.version_check.outputs.v_tracker }}
96
- draft: false
97
- prerelease: ${{ contains(needs.version_check.outputs.v_tracker, '-') }}
@@ -1,121 +0,0 @@
1
- name: e2e-android
2
-
3
- on:
4
- pull_request:
5
-
6
- jobs:
7
- e2e:
8
- runs-on: macos-12
9
- timeout-minutes: 60
10
- env:
11
- TURBO_CACHE_DIR: .turbo/android-e2e
12
-
13
- steps:
14
- - name: Checkout
15
- uses: actions/checkout@v4
16
-
17
- - name: Setup
18
- uses: ./.github/actions/setup
19
-
20
- - name: Cache turborepo for Android
21
- uses: actions/cache@v3
22
- with:
23
- path: ${{ env.TURBO_CACHE_DIR }}
24
- key: ${{ runner.os }}-turborepo-e2e-android-${{ hashFiles('**/yarn.lock') }}
25
- restore-keys: |
26
- ${{ runner.os }}-turborepo-e2e-android-
27
-
28
- - name: Check turborepo cache for Android
29
- run: |
30
- TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
31
-
32
- if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
33
- echo "turbo_cache_hit=1" >> $GITHUB_ENV
34
- fi
35
-
36
- - name: Install JDK
37
- if: env.turbo_cache_hit != 1
38
- uses: actions/setup-java@v3
39
- with:
40
- distribution: 'zulu'
41
- java-version: '11'
42
-
43
- - name: Finalize Android SDK
44
- if: env.turbo_cache_hit != 1
45
- run: |
46
- /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
47
-
48
- - name: Cache Gradle
49
- if: env.turbo_cache_hit != 1
50
- uses: actions/cache@v3
51
- with:
52
- path: |
53
- ~/.gradle/wrapper
54
- ~/.gradle/caches
55
- key: ${{ runner.os }}-gradle-e2e-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
56
- restore-keys: |
57
- ${{ runner.os }}-gradle-e2e-
58
-
59
- # -- Micro --
60
- - name: Cache Micro
61
- id: cache-micro
62
- uses: actions/cache@v3
63
- with:
64
- path: micro.jar
65
- key: ${{ runner.os }}-micro
66
-
67
- - name: Get micro
68
- if: steps.cache-micro.outputs.cache-hit != 'true'
69
- run: curl -o micro.jar -L https://github.com/snowplow-incubator/snowplow-micro/releases/download/micro-1.7.2/snowplow-micro-1.7.2.jar
70
-
71
- - name: Run Micro in background
72
- run: java -jar micro.jar &
73
-
74
- - name: Wait on Micro endpoint
75
- timeout-minutes: 2
76
- run: while ! nc -z '0.0.0.0' 9090; do sleep 1; done
77
-
78
- - name: Prepare example for Micro
79
- working-directory: example/src
80
- run: perl -i -pe "s/^.*collectorEndpoint =\K.*/ \'http:\/\/10.0.2.2:9090\'\;/" App.js
81
-
82
- # -- Emulator --
83
- - name: Get AOSP system image and create Android virtual device
84
- run: |
85
- echo 'y' | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "system-images;android-28;default;x86_64"
86
- echo 'no' | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/avdmanager create avd --force --name Pixel_API_28_AOSP -d pixel --package "system-images;android-28;default;x86_64"
87
-
88
- - name: Start Android emulator
89
- timeout-minutes: 10
90
- run: |
91
- echo "Starting emulator.."
92
- nohup $ANDROID_HOME/emulator/emulator -avd Pixel_API_28_AOSP -no-audio -no-snapshot -no-window &
93
- $ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done; input keyevent 82'
94
- $ANDROID_HOME/platform-tools/adb devices
95
- echo "Emulator started!"
96
-
97
- # -- Test --
98
- - name: Detox Jest android
99
- id: dj
100
- run: |
101
- yarn turbo run e2e:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
102
-
103
- - name: Log events if Detox-Jest failed
104
- id: eventlog
105
- if: ${{ failure() && steps.dj.outcome == 'failure' }}
106
- run: |
107
- echo "{ \"all\": $(curl -s -o - 'http://0.0.0.0:9090/micro/all'), \
108
- \"bad\": $(curl -s -o - 'http://0.0.0.0:9090/micro/bad'), \
109
- \"good\": $(curl -s -o - 'http://0.0.0.0:9090/micro/good') }"\
110
- | jq '.' > android-events-micro.json
111
-
112
- - name: Upload events artifact if Detox-Jest failed
113
- if: ${{ failure() && steps.dj.outcome == 'failure' && steps.eventlog.outcome == 'success' }}
114
- uses: actions/upload-artifact@v4
115
- with:
116
- name: android-events-artifact
117
- path: android-events-micro.json
118
-
119
- # -- Cleanup --
120
- - name: Stop gradle daemon
121
- run: gradle --stop
@@ -1,95 +0,0 @@
1
- name: e2e-ios
2
-
3
- on:
4
- pull_request:
5
-
6
- jobs:
7
- e2e:
8
- runs-on: macos-12
9
- timeout-minutes: 60
10
- env:
11
- TURBO_CACHE_DIR: .turbo/ios-e2e
12
-
13
- steps:
14
- - name: Checkout
15
- uses: actions/checkout@v2
16
-
17
- - name: setup-cocoapods
18
- uses: maxim-lobanov/setup-cocoapods@v1
19
- with:
20
- version: 1.15.2
21
-
22
- - name: Setup
23
- uses: ./.github/actions/setup
24
-
25
- - name: Cache turborepo for iOS
26
- uses: actions/cache@v3
27
- with:
28
- path: ${{ env.TURBO_CACHE_DIR }}
29
- key: ${{ runner.os }}-turborepo-e2e-ios-${{ hashFiles('**/yarn.lock') }}
30
- restore-keys: |
31
- ${{ runner.os }}-turborepo-e2e-ios-
32
-
33
- - name: Check turborepo cache for iOS
34
- run: |
35
- TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
36
-
37
- if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
38
- echo "turbo_cache_hit=1" >> $GITHUB_ENV
39
- fi
40
-
41
- # -- Micro --
42
- - name: Cache Micro
43
- id: cache-micro
44
- uses: actions/cache@v3
45
- with:
46
- path: micro.jar
47
- key: ${{ runner.os }}-micro
48
-
49
- - name: Get micro
50
- if: steps.cache-micro.outputs.cache-hit != 'true'
51
- run: curl -o micro.jar -L https://github.com/snowplow-incubator/snowplow-micro/releases/download/micro-1.7.2/snowplow-micro-1.7.2.jar
52
-
53
- - name: Run Micro in background
54
- run: java -jar micro.jar &
55
-
56
- - name: Wait on Micro endpoint
57
- timeout-minutes: 2
58
- run: while ! nc -z '0.0.0.0' 9090; do sleep 1; done
59
-
60
- - name: Prepare example for Micro
61
- working-directory: example/src
62
- run: perl -i -pe "s/^.*collectorEndpoint =\K.*/ \'http:\/\/0.0.0.0:9090\'\;/" App.js
63
-
64
- # -- Simulator --
65
- - name: Install applesimutils
66
- run: |
67
- brew tap wix/brew
68
- brew install applesimutils
69
-
70
- # -- Bootstrap --
71
- - name: Bootstrap project
72
- run: |
73
- yarn turbo run bootstrap --cache-dir="${{ env.TURBO_CACHE_DIR }}"
74
-
75
- # -- Test --
76
- - name: Detox Jest ios
77
- id: dj
78
- run: |
79
- yarn turbo run e2e:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
80
-
81
- - name: Log events if Detox-Jest failed
82
- id: eventlog
83
- if: ${{ failure() && steps.dj.outcome == 'failure' }}
84
- run: |
85
- echo "{ \"all\": $(curl -s -o - 'http://0.0.0.0:9090/micro/all'), \
86
- \"bad\": $(curl -s -o - 'http://0.0.0.0:9090/micro/bad'), \
87
- \"good\": $(curl -s -o - 'http://0.0.0.0:9090/micro/good') }"\
88
- | jq '.' > ios-events-micro.json
89
-
90
- - name: Upload events artifact if Detox-Jest failed
91
- if: ${{ failure() && steps.dj.outcome == 'failure' && steps.eventlog.outcome == 'success' }}
92
- uses: actions/upload-artifact@v4
93
- with:
94
- name: ios-events-artifact
95
- path: ios-events-micro.json
@@ -1,21 +0,0 @@
1
-
2
- name: Snyk
3
-
4
- on:
5
- push:
6
- branches: [ master ]
7
-
8
- jobs:
9
- security:
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - uses: actions/checkout@v4
14
-
15
- - name: Run Snyk to check for vulnerabilities
16
- uses: snyk/actions/node@master
17
- with:
18
- command: monitor
19
- args: --project-name=@snowplow/react-native-tracker
20
- env:
21
- SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
package/.gitignore DELETED
@@ -1,70 +0,0 @@
1
- # OSX
2
- #
3
- .DS_Store
4
-
5
- # XDE
6
- .expo/
7
-
8
- # VSCode
9
- .vscode/
10
- jsconfig.json
11
-
12
- # Xcode
13
- #
14
- build/
15
- *.pbxuser
16
- !default.pbxuser
17
- *.mode1v3
18
- !default.mode1v3
19
- *.mode2v3
20
- !default.mode2v3
21
- *.perspectivev3
22
- !default.perspectivev3
23
- xcuserdata
24
- *.xccheckout
25
- *.moved-aside
26
- DerivedData
27
- *.hmap
28
- *.ipa
29
- *.xcuserstate
30
- project.xcworkspace
31
-
32
- # Android/IJ
33
- #
34
- .classpath
35
- .cxx
36
- .gradle
37
- .idea
38
- .project
39
- .settings
40
- local.properties
41
- android.iml
42
-
43
- # Cocoapods
44
- #
45
- example/ios/Pods
46
-
47
- # Ruby
48
- example/vendor/
49
-
50
- # node.js
51
- #
52
- node_modules/
53
- npm-debug.log
54
- yarn-debug.log
55
- yarn-error.log
56
-
57
- # BUCK
58
- buck-out/
59
- \.buckd/
60
- android/app/libs
61
- android/keystores/debug.keystore
62
-
63
- # Expo
64
- .expo/
65
-
66
- # Turborepo
67
- .turbo/
68
-
69
- # generated by bob
70
- lib/
package/.npmignore DELETED
@@ -1,60 +0,0 @@
1
- # Demo app
2
- #
3
- example/
4
-
5
- # Local testing workflow
6
- #
7
- .scripts/
8
- tmp/
9
-
10
- # OSX
11
- #
12
- .DS_Store
13
-
14
- # node.js
15
- #
16
- node_modules/
17
- npm-debug.log
18
- yarn-error.log
19
-
20
-
21
- # Xcode
22
- #
23
- build/
24
- *.pbxuser
25
- !default.pbxuser
26
- *.mode1v3
27
- !default.mode1v3
28
- *.mode2v3
29
- !default.mode2v3
30
- *.perspectivev3
31
- !default.perspectivev3
32
- xcuserdata
33
- *.xccheckout
34
- *.moved-aside
35
- DerivedData
36
- *.hmap
37
- *.ipa
38
- *.xcuserstate
39
- *.xcworkspace/
40
-
41
- # CocoaPods
42
- /ios/Pods/
43
-
44
-
45
- # Android/IntelliJ
46
- #
47
- build/
48
- .idea
49
- .gradle
50
- local.properties
51
- *.iml
52
- android/.project
53
- android/.settings/org.eclipse.buildship.core.prefs
54
- example/android/.settings/org.eclipse.buildship.core.prefs
55
- example/android/.project
56
-
57
- # BUCK
58
- buck-out/
59
- \.buckd/
60
- *.keystore
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- v18
package/.watchmanconfig DELETED
@@ -1 +0,0 @@
1
- {}
package/.yarnrc DELETED
@@ -1,3 +0,0 @@
1
- # Override Yarn command so we can automatically setup the repo on running `yarn`
2
-
3
- yarn-path "scripts/bootstrap.js"