@snowplow/react-native-tracker 2.1.2 → 4.0.2-dev.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.
- package/LICENSE +29 -203
- package/README.md +59 -143
- package/dist/commonjs/event_store.js +150 -0
- package/dist/commonjs/event_store.js.map +1 -0
- package/dist/commonjs/events.js +42 -0
- package/dist/commonjs/events.js.map +1 -0
- package/dist/commonjs/index.js +29 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/subject.js +82 -0
- package/dist/commonjs/subject.js.map +1 -0
- package/dist/commonjs/tracker.js +77 -0
- package/dist/commonjs/tracker.js.map +1 -0
- package/dist/commonjs/types.js +223 -0
- package/dist/commonjs/types.js.map +1 -0
- package/dist/module/event_store.js +145 -0
- package/dist/module/event_store.js.map +1 -0
- package/dist/module/events.js +38 -0
- package/dist/module/events.js.map +1 -0
- package/dist/module/index.js +7 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/subject.js +78 -0
- package/dist/module/subject.js.map +1 -0
- package/dist/module/tracker.js +74 -0
- package/dist/module/tracker.js.map +1 -0
- package/dist/module/types.js +73 -0
- package/dist/module/types.js.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/commonjs/src/event_store.d.ts +4 -0
- package/dist/typescript/commonjs/src/event_store.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/events.d.ts +10 -0
- package/dist/typescript/commonjs/src/events.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/index.d.ts +4 -0
- package/dist/typescript/commonjs/src/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/subject.d.ts +19 -0
- package/dist/typescript/commonjs/src/subject.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/tracker.d.ts +9 -0
- package/dist/typescript/commonjs/src/tracker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/types.d.ts +452 -0
- package/dist/typescript/commonjs/src/types.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/dist/typescript/module/src/event_store.d.ts +4 -0
- package/dist/typescript/module/src/event_store.d.ts.map +1 -0
- package/dist/typescript/module/src/events.d.ts +10 -0
- package/dist/typescript/module/src/events.d.ts.map +1 -0
- package/dist/typescript/module/src/index.d.ts +4 -0
- package/dist/typescript/module/src/index.d.ts.map +1 -0
- package/dist/typescript/module/src/subject.d.ts +19 -0
- package/dist/typescript/module/src/subject.d.ts.map +1 -0
- package/dist/typescript/module/src/tracker.d.ts +9 -0
- package/dist/typescript/module/src/tracker.d.ts.map +1 -0
- package/dist/typescript/module/src/types.d.ts +452 -0
- package/dist/typescript/module/src/types.d.ts.map +1 -0
- package/package.json +75 -147
- package/.editorconfig +0 -15
- package/.eslintignore +0 -6
- package/.gitattributes +0 -3
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/actions/setup/action.yml +0 -28
- package/.github/workflows/build.yml +0 -155
- package/.github/workflows/deploy.yml +0 -97
- package/.github/workflows/e2e-android.yml +0 -121
- package/.github/workflows/e2e-ios.yml +0 -95
- package/.github/workflows/snyk.yml +0 -21
- package/.gitignore +0 -70
- package/.npmignore +0 -60
- package/.nvmrc +0 -1
- package/.watchmanconfig +0 -1
- package/.yarnrc +0 -3
- package/CHANGELOG +0 -184
- package/CONTRIBUTING.md +0 -80
- package/android/build.gradle +0 -110
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/android/gradle.properties +0 -5
- package/android/gradlew +0 -234
- package/android/gradlew.bat +0 -89
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerModule.kt +0 -744
- package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerPackage.kt +0 -17
- package/android/src/main/java/com/snowplow/reactnativetracker/util/ConfigUtil.kt +0 -274
- package/android/src/main/java/com/snowplow/reactnativetracker/util/EventUtil.kt +0 -233
- package/android/src/main/java/com/snowplow/reactnativetracker/util/TrackerVersion.kt +0 -5
- package/babel.config.js +0 -3
- package/example/.watchmanconfig +0 -1
- package/example/Gemfile +0 -6
- package/example/android/app/build.gradle +0 -129
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/proguard-rules.pro +0 -10
- package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTest.java +0 -36
- package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTestAppJUnitRunner.java +0 -21
- package/example/android/app/src/debug/AndroidManifest.xml +0 -13
- package/example/android/app/src/debug/java/com/reactnativetrackerexample/ReactNativeFlipper.java +0 -75
- package/example/android/app/src/main/AndroidManifest.xml +0 -26
- package/example/android/app/src/main/java/com/reactnativetrackerexample/MainActivity.java +0 -32
- package/example/android/app/src/main/java/com/reactnativetrackerexample/MainApplication.java +0 -62
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -36
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/values/strings.xml +0 -3
- package/example/android/app/src/main/res/values/styles.xml +0 -9
- package/example/android/app/src/release/java/com/reactnativetrackerexample/ReactNativeFlipper.java +0 -20
- package/example/android/build.gradle +0 -31
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/example/android/gradle.properties +0 -44
- package/example/android/gradlew +0 -244
- package/example/android/gradlew.bat +0 -92
- package/example/android/settings.gradle +0 -4
- package/example/app.json +0 -4
- package/example/babel.config.js +0 -17
- package/example/detox.config.js +0 -92
- package/example/e2e/config.json +0 -10
- package/example/e2e/emitEvents.e2e.detox.js +0 -95
- package/example/e2e/environment.js +0 -23
- package/example/e2e/helpers/microCommands.js +0 -140
- package/example/e2e/helpers/microHelpers.js +0 -333
- package/example/e2e/helpers/microHelpers.test.js +0 -295
- package/example/e2e/helpers/schemas.js +0 -49
- package/example/e2e/jest.config.js +0 -16
- package/example/e2e/setup.js +0 -4
- package/example/e2e/testEvents.micro.test.js +0 -287
- package/example/index.js +0 -5
- package/example/ios/.xcode.env +0 -11
- package/example/ios/Podfile +0 -62
- package/example/ios/Podfile.lock +0 -730
- package/example/ios/ReactNativeTrackerExample/AppDelegate.h +0 -6
- package/example/ios/ReactNativeTrackerExample/AppDelegate.mm +0 -26
- package/example/ios/ReactNativeTrackerExample/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
- package/example/ios/ReactNativeTrackerExample/Images.xcassets/Contents.json +0 -6
- package/example/ios/ReactNativeTrackerExample/Info.plist +0 -55
- package/example/ios/ReactNativeTrackerExample/LaunchScreen.storyboard +0 -47
- package/example/ios/ReactNativeTrackerExample/PrivacyInfo.xcprivacy +0 -37
- package/example/ios/ReactNativeTrackerExample/main.m +0 -10
- package/example/ios/ReactNativeTrackerExample-Bridging-Header.h +0 -3
- package/example/ios/ReactNativeTrackerExample.xcodeproj/project.pbxproj +0 -739
- package/example/ios/ReactNativeTrackerExample.xcodeproj/xcshareddata/xcschemes/ReactNativeTrackerExample.xcscheme +0 -88
- package/example/ios/ReactNativeTrackerExample.xcworkspace/contents.xcworkspacedata +0 -10
- package/example/ios/ReactNativeTrackerExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/example/ios/ReactNativeTrackerExampleTests/Info.plist +0 -24
- package/example/ios/ReactNativeTrackerExampleTests/ReactNativeTrackerExampleTests.m +0 -66
- package/example/metro.config.js +0 -45
- package/example/package.json +0 -54
- package/example/react-native.config.js +0 -10
- package/example/src/App.js +0 -566
- package/example/tsconfig.json +0 -5
- package/example/yarn.lock +0 -7703
- package/ios/ReactNativeTracker-Bridging-Header.h +0 -2
- package/ios/ReactNativeTracker.mm +0 -171
- package/ios/ReactNativeTracker.swift +0 -822
- package/ios/ReactNativeTracker.xcodeproj/project.pbxproj +0 -301
- package/ios/Util/ConfigUtils.swift +0 -209
- package/ios/Util/TrackerVersion.swift +0 -3
- package/ios/Util/Utilities.swift +0 -37
- package/lefthook.yml +0 -11
- package/lib/commonjs/api.js +0 -490
- package/lib/commonjs/api.js.map +0 -1
- package/lib/commonjs/configurations.js +0 -196
- package/lib/commonjs/configurations.js.map +0 -1
- package/lib/commonjs/constants.js +0 -77
- package/lib/commonjs/constants.js.map +0 -1
- package/lib/commonjs/events.js +0 -277
- package/lib/commonjs/events.js.map +0 -1
- package/lib/commonjs/index.js +0 -132
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/jsCore.js +0 -427
- package/lib/commonjs/jsCore.js.map +0 -1
- package/lib/commonjs/native.js +0 -16
- package/lib/commonjs/native.js.map +0 -1
- package/lib/commonjs/subject.js +0 -235
- package/lib/commonjs/subject.js.map +0 -1
- package/lib/commonjs/tracker.js +0 -248
- package/lib/commonjs/tracker.js.map +0 -1
- package/lib/commonjs/types.js +0 -2
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils.js +0 -72
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/commonjs/webViewInterface.js +0 -66
- package/lib/commonjs/webViewInterface.js.map +0 -1
- package/lib/module/api.js +0 -452
- package/lib/module/api.js.map +0 -1
- package/lib/module/configurations.js +0 -184
- package/lib/module/configurations.js.map +0 -1
- package/lib/module/constants.js +0 -72
- package/lib/module/constants.js.map +0 -1
- package/lib/module/events.js +0 -259
- package/lib/module/events.js.map +0 -1
- package/lib/module/index.js +0 -120
- package/lib/module/index.js.map +0 -1
- package/lib/module/jsCore.js +0 -424
- package/lib/module/jsCore.js.map +0 -1
- package/lib/module/native.js +0 -12
- package/lib/module/native.js.map +0 -1
- package/lib/module/subject.js +0 -222
- package/lib/module/subject.js.map +0 -1
- package/lib/module/tracker.js +0 -234
- package/lib/module/tracker.js.map +0 -1
- package/lib/module/types.js +0 -2
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils.js +0 -66
- package/lib/module/utils.js.map +0 -1
- package/lib/module/webViewInterface.js +0 -62
- package/lib/module/webViewInterface.js.map +0 -1
- package/lib/typescript/__tests__/api.test.d.ts +0 -2
- package/lib/typescript/__tests__/api.test.d.ts.map +0 -1
- package/lib/typescript/__tests__/configurations.test.d.ts +0 -2
- package/lib/typescript/__tests__/configurations.test.d.ts.map +0 -1
- package/lib/typescript/__tests__/events.test.d.ts +0 -2
- package/lib/typescript/__tests__/events.test.d.ts.map +0 -1
- package/lib/typescript/__tests__/index.test.d.ts +0 -2
- package/lib/typescript/__tests__/index.test.d.ts.map +0 -1
- package/lib/typescript/__tests__/jsCore.test.d.ts +0 -2
- package/lib/typescript/__tests__/jsCore.test.d.ts.map +0 -1
- package/lib/typescript/__tests__/utils.test.d.ts +0 -2
- package/lib/typescript/__tests__/utils.test.d.ts.map +0 -1
- package/lib/typescript/api.d.ts +0 -240
- package/lib/typescript/api.d.ts.map +0 -1
- package/lib/typescript/configurations.d.ts +0 -73
- package/lib/typescript/configurations.d.ts.map +0 -1
- package/lib/typescript/constants.d.ts +0 -64
- package/lib/typescript/constants.d.ts.map +0 -1
- package/lib/typescript/events.d.ts +0 -115
- package/lib/typescript/events.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -27
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/jsCore.d.ts +0 -152
- package/lib/typescript/jsCore.d.ts.map +0 -1
- package/lib/typescript/native.d.ts +0 -4
- package/lib/typescript/native.d.ts.map +0 -1
- package/lib/typescript/subject.d.ts +0 -91
- package/lib/typescript/subject.d.ts.map +0 -1
- package/lib/typescript/tracker.d.ts +0 -111
- package/lib/typescript/tracker.d.ts.map +0 -1
- package/lib/typescript/types.d.ts +0 -981
- package/lib/typescript/types.d.ts.map +0 -1
- package/lib/typescript/utils.d.ts +0 -35
- package/lib/typescript/utils.d.ts.map +0 -1
- package/lib/typescript/webViewInterface.d.ts +0 -15
- package/lib/typescript/webViewInterface.d.ts.map +0 -1
- package/scripts/bootstrap.js +0 -29
- package/snowplow-react-native-tracker.podspec +0 -42
- package/src/__mocks__/react-native.js +0 -7
- package/src/__tests__/api.test.ts +0 -21
- package/src/__tests__/configurations.test.ts +0 -608
- package/src/__tests__/events.test.ts +0 -736
- package/src/__tests__/index.test.ts +0 -14
- package/src/__tests__/jsCore.test.ts +0 -199
- package/src/__tests__/utils.test.ts +0 -10
- package/src/api.ts +0 -556
- package/src/configurations.ts +0 -325
- package/src/constants.ts +0 -97
- package/src/events.ts +0 -355
- package/src/index.ts +0 -184
- package/src/jsCore.ts +0 -603
- package/src/native.ts +0 -21
- package/src/subject.ts +0 -302
- package/src/tracker.ts +0 -377
- package/src/types.ts +0 -1162
- package/src/utils.ts +0 -65
- package/src/webViewInterface.ts +0 -92
- package/tsconfig.build.json +0 -5
- package/tsconfig.json +0 -28
- package/turbo.json +0 -34
- package/yarn.lock +0 -9398
|
@@ -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
package/CHANGELOG
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
Version 2.1.2 (2024-10-31)
|
|
2
|
-
--------------------------
|
|
3
|
-
Fix crash on iOS on React Native new architecture (#212)
|
|
4
|
-
|
|
5
|
-
Version 2.1.1 (2024-07-03)
|
|
6
|
-
--------------------------
|
|
7
|
-
Update tracker and example app dependencies
|
|
8
|
-
|
|
9
|
-
Version 2.1.0 (2024-02-21)
|
|
10
|
-
--------------------------
|
|
11
|
-
Upgrade to mobile trackers version 6 and add screen engagement tracking (close #90)
|
|
12
|
-
Fix SelfDescribing extension type (close #204)
|
|
13
|
-
Update JavaScript tracker core version to 3.21.0
|
|
14
|
-
Fix running deploy action only on new tags
|
|
15
|
-
Update cocoapods version
|
|
16
|
-
Lock yarn version to 1.22.19
|
|
17
|
-
Update copyright headers
|
|
18
|
-
|
|
19
|
-
Version 2.0.0 (2023-09-29)
|
|
20
|
-
--------------------------
|
|
21
|
-
Upgrade project structure and update native trackers to version 5 (#199)
|
|
22
|
-
Disable automatic screen view tracking in the iOS and Android tracker by default (#198)
|
|
23
|
-
Fix buffer option in emitter configuration on Android to set correct value for large setting (#197)
|
|
24
|
-
|
|
25
|
-
Version 1.4.0 (2022-02-04)
|
|
26
|
-
--------------------------
|
|
27
|
-
Add JavaScript tracker core to be used in Expo managed workflow when native trackers are not available (#188)
|
|
28
|
-
Bump Snowplow native tracker dependency to 4.1 (#186)
|
|
29
|
-
Update year in copyright headers to 2023 (#187)
|
|
30
|
-
|
|
31
|
-
Version 1.3.0 (2022-10-03)
|
|
32
|
-
--------------------------
|
|
33
|
-
Upgrade Snowplow mobile trackers to v4 (#167)
|
|
34
|
-
Add anonymous tracking features (#168)
|
|
35
|
-
Add interface to subscribe for events tracked in Web views (#169)
|
|
36
|
-
Add option to add custom headers (#165)
|
|
37
|
-
Enable setting custom path for POST requests (#178)
|
|
38
|
-
Upgrade internal and demo app dependencies (#172)
|
|
39
|
-
Remove circular imports of demo app dependencies when running in demo apps (#174)
|
|
40
|
-
|
|
41
|
-
Version 1.2.1 (2022-04-12)
|
|
42
|
-
--------------------------
|
|
43
|
-
Fix import of non-published NSDictionary helpers from SnowplowTracker on iOS (#161)
|
|
44
|
-
|
|
45
|
-
Version 1.2.0 (2022-03-25)
|
|
46
|
-
--------------------------
|
|
47
|
-
Add support for React Native for tvOS (#154)
|
|
48
|
-
Bump min RN version supported to v0.65+ (#153)
|
|
49
|
-
Add generic type for SelfDescribing event data (#156)
|
|
50
|
-
|
|
51
|
-
Version 1.1.0 (2022-02-07)
|
|
52
|
-
--------------------------
|
|
53
|
-
Update mobile tracker dependencies to v3 (#141)
|
|
54
|
-
Add deep link and message notification events (#142)
|
|
55
|
-
Update demo app to show accessing tracker instance from platform native code (#136)
|
|
56
|
-
Fix compilation error for iOS build on ARM macs (#140)
|
|
57
|
-
Fix check for byteLimitGet when reading emitter configuration (#138)
|
|
58
|
-
Fix check for Android version in GitHub Actions (#134)
|
|
59
|
-
Update year in all copyright notices (#148)
|
|
60
|
-
Update dependencies (#150)
|
|
61
|
-
|
|
62
|
-
Version 1.0.0 (2021-08-09)
|
|
63
|
-
--------------------------
|
|
64
|
-
Fix action-gh-release to specific commit (#133)
|
|
65
|
-
Update devDependencies (#132)
|
|
66
|
-
Publish sourcemaps (#131)
|
|
67
|
-
Lint DemoApp separately (#130)
|
|
68
|
-
Get Session Context Data (#53)
|
|
69
|
-
Update version in podspec (#110)
|
|
70
|
-
Set amended v_tracker indicating react-native (#18)
|
|
71
|
-
Add global contexts (#104)
|
|
72
|
-
Upgrade iOS Tracker and Android Tracker to v2 (#113)
|
|
73
|
-
Add test suite (#60)
|
|
74
|
-
|
|
75
|
-
Version 0.2.0 (2021-06-21)
|
|
76
|
-
--------------------------
|
|
77
|
-
Bump dependencies in DemoApp (#114)
|
|
78
|
-
Port to TypeScript (#115)
|
|
79
|
-
Handle asyncronous issues internally (#78)
|
|
80
|
-
Use ESLint (#126)
|
|
81
|
-
Add homepage and repository in package.json (#125)
|
|
82
|
-
Remove unused files (#124)
|
|
83
|
-
|
|
84
|
-
Version 0.1.7 (2021-05-24)
|
|
85
|
-
--------------------------
|
|
86
|
-
Remove waitForEventStore method and upgrade Android tracker (#92)
|
|
87
|
-
Automate deploy process (#61)
|
|
88
|
-
Fix null transitionType resulting in screen view event failing validation for ios (#122)
|
|
89
|
-
Fix Xcode 12.5 build breaks (#119)
|
|
90
|
-
Fix typo in CHANGELOG (#116)
|
|
91
|
-
Remove JCenter and add MavenCentral (#121)
|
|
92
|
-
Update build.gradle to match rootProject extra properties (#120)
|
|
93
|
-
Fix assembleAndroidTest builds (#118)
|
|
94
|
-
|
|
95
|
-
Version 0.1.6 (2021-04-06)
|
|
96
|
-
--------------------------
|
|
97
|
-
Bump iOS Tracker to 1.7.0 (#111)
|
|
98
|
-
|
|
99
|
-
Version 0.1.5 (2021-03-22)
|
|
100
|
-
--------------------------
|
|
101
|
-
Update DemoApp versions (#106)
|
|
102
|
-
Loosen peer dependency requirements (#105)
|
|
103
|
-
|
|
104
|
-
Note: v0.1.4 was skipped due to an error in publishing process.
|
|
105
|
-
---------------------------------------------------------------
|
|
106
|
-
|
|
107
|
-
Version 0.1.3 (2021-02-12)
|
|
108
|
-
--------------------------
|
|
109
|
-
Fix Xcode 12 compatibility (#102)
|
|
110
|
-
|
|
111
|
-
Version 0.1.2 (2021-01-15)
|
|
112
|
-
--------------------------
|
|
113
|
-
Upgrade obj-c tracker to 1.6.2 (#98)
|
|
114
|
-
|
|
115
|
-
Version 0.1.1 (2020-09-03)
|
|
116
|
-
--------------------------
|
|
117
|
-
Fix Android tracker version to 1.5.x (#91)
|
|
118
|
-
|
|
119
|
-
Version 0.1.0 (2020-07-10)
|
|
120
|
-
--------------------------
|
|
121
|
-
Add issue templates (#89)
|
|
122
|
-
Add CONTRIBUTING.md (#80)
|
|
123
|
-
Use recommended config as defaults (#86)
|
|
124
|
-
Fix iOS null comparison warnings (#85)
|
|
125
|
-
Return after promise rejection on Android (#84)
|
|
126
|
-
Update arguments and var names for consistency (#83)
|
|
127
|
-
Update DemoApp (#82)
|
|
128
|
-
Use fast fail on iOS (#87)
|
|
129
|
-
Update README (#77)
|
|
130
|
-
Dynamically use latest minor version of native tracker (#19)
|
|
131
|
-
Cleanup code formatting (#75)
|
|
132
|
-
Add Snyk Github Action (#71)
|
|
133
|
-
Add license (#62)
|
|
134
|
-
Handle setSubjectData values appropriately (#70)
|
|
135
|
-
Return promise on intialize() (#66)
|
|
136
|
-
Remove deprecated options (#69)
|
|
137
|
-
Expand testing scripts (#72)
|
|
138
|
-
Refactor method instrumentation (#58)
|
|
139
|
-
Fix compile warnings caused by unsafe comparison (#73)
|
|
140
|
-
Fix double self calls (#74)
|
|
141
|
-
Remove screen_id workaround (#57)
|
|
142
|
-
|
|
143
|
-
Version 0.1.0-alpha.17 (2020-05-04)
|
|
144
|
-
-----------------------------------
|
|
145
|
-
Use yarn everywhere for testing (#55)
|
|
146
|
-
Update ios tracker version to 1.3.0 (#54)
|
|
147
|
-
|
|
148
|
-
Version 0.1.0-alpha.16 (2020-04-16)
|
|
149
|
-
-----------------------------------
|
|
150
|
-
Update .npmignore and .gitignore (#51)
|
|
151
|
-
Update README (#50)
|
|
152
|
-
Update Demo App (#48)
|
|
153
|
-
Add trackPageView (#33)
|
|
154
|
-
Add script for clean build (#47)
|
|
155
|
-
Add setSubjectData method (#46)
|
|
156
|
-
Update android tracker version (#45)
|
|
157
|
-
Add Standard Settings (#34)
|
|
158
|
-
|
|
159
|
-
Version 0.1.0-alpha.15 (2020-02-06)
|
|
160
|
-
-----------------------------------
|
|
161
|
-
Cleanup Repo (#29)
|
|
162
|
-
Update DemoApp (#21)
|
|
163
|
-
Update ios Tracker dependency to remove mandatory dynamic build (#22)
|
|
164
|
-
|
|
165
|
-
Version 0.1.0-alpha.14 (2019-10-22)
|
|
166
|
-
----------------------------------
|
|
167
|
-
Update iOS to incorporate patch release (#23)
|
|
168
|
-
|
|
169
|
-
Version 0.1.0-alpha.13 (2019-10-14)
|
|
170
|
-
-----------------------------------
|
|
171
|
-
Make optional StructEvent parameters nullable for iOS (#12)
|
|
172
|
-
Add ScreenViews (#14)
|
|
173
|
-
Fix bug in android getContexts (#16)
|
|
174
|
-
Add mobile context (#13)
|
|
175
|
-
Update README.md (#5)
|
|
176
|
-
Fix path in Android package export (#8)
|
|
177
|
-
Fix high severity vulnerabilities in DemoApp (#7)
|
|
178
|
-
Bump DemoApp react-native version (#6)
|
|
179
|
-
Fix import in Demo Application (#3)
|
|
180
|
-
Fix Android Numeric type bug (#4)
|
|
181
|
-
|
|
182
|
-
Version 0.1.0-alpha.9 (2019-08-08)
|
|
183
|
-
----------------------------------
|
|
184
|
-
Initial Release
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Contributing
|
|
2
|
-
|
|
3
|
-
The Snowplow React Native Tracker is maintained by the Engineering team at Snowplow Analytics. We welcome suggestions for improvements and bug fixes to all Snowplow Trackers.
|
|
4
|
-
|
|
5
|
-
We are extremely grateful for all contributions we receive, whether that is reporting an issue or a change to the code which can be made in the form of a pull request.
|
|
6
|
-
|
|
7
|
-
For support requests, please use our community support Discourse forum: https://discourse.snowplowanalytics.com/.
|
|
8
|
-
|
|
9
|
-
## Setting up an Environment
|
|
10
|
-
|
|
11
|
-
Instructions on how to build and run tests are available in the [README.md](README.md). The README will also list any requirements that you will need to install first before being able to build and run the tests.
|
|
12
|
-
|
|
13
|
-
You should ensure you are comfortable building and testing the existing release before adding new functionality or fixing issues.
|
|
14
|
-
|
|
15
|
-
## Issues
|
|
16
|
-
|
|
17
|
-
### Creating an issue
|
|
18
|
-
|
|
19
|
-
The project contains an issue template which should help guiding you through the process. However, please keep in mind that support requests should go to our Discourse forum: https://discourse.snowplowanalytics.com/ and not GitHub issues.
|
|
20
|
-
|
|
21
|
-
It's also a good idea to log an issue before starting to work on a pull request to discuss it with the maintainers. A pull request is just one solution to a problem and it is often a good idea to talk about the problem with the maintainers first.
|
|
22
|
-
|
|
23
|
-
### Working on an issue
|
|
24
|
-
|
|
25
|
-
If you see an issue you would like to work on, please let us know in the issue! That will help us in terms of scheduling and
|
|
26
|
-
not doubling the amount of work.
|
|
27
|
-
|
|
28
|
-
If you don't know where to start contributing, you can look at
|
|
29
|
-
[the issues labeled `good first issue`](https://github.com/snowplow-incubator/snowplow-react-native-tracker/labels/good%20first%20issue).
|
|
30
|
-
|
|
31
|
-
## Pull requests
|
|
32
|
-
|
|
33
|
-
These are a few guidelines to keep in mind when opening pull requests.
|
|
34
|
-
|
|
35
|
-
### Guidelines
|
|
36
|
-
|
|
37
|
-
Please supply a good PR description. These are very helpful and help the maintainers to understand _why_ the change has been made, not just _what_ changes have been made.
|
|
38
|
-
|
|
39
|
-
Please try and keep your PR to a single feature of fix. This might mean breaking up a feature into multiple PRs but this makes it easier for the maintainers to review and also reduces the risk in each change.
|
|
40
|
-
|
|
41
|
-
Please review your own PR as you would do it you were a reviewer first. This is a great way to spot any mistakes you made when writing the change. Additionally, ensure your code compiles and all tests pass.
|
|
42
|
-
|
|
43
|
-
### Commit hygiene
|
|
44
|
-
|
|
45
|
-
We keep a strict 1-to-1 correspondance between commits and issues, as such our commit messages are formatted in the following
|
|
46
|
-
fashion:
|
|
47
|
-
|
|
48
|
-
`Issue Description (closes #1234)`
|
|
49
|
-
|
|
50
|
-
for example:
|
|
51
|
-
|
|
52
|
-
`Fix Issue with Tracker (closes #1234)`
|
|
53
|
-
|
|
54
|
-
### Writing tests
|
|
55
|
-
|
|
56
|
-
Whenever necessary, it's good practice to add the corresponding tests to whichever feature you are working on.
|
|
57
|
-
Any non-trivial PR must have tests and will not be accepted without them.
|
|
58
|
-
|
|
59
|
-
### Feedback cycle
|
|
60
|
-
|
|
61
|
-
Reviews should happen fairly quickly during weekdays.
|
|
62
|
-
If you feel your pull request has been forgotten, please ping one or more maintainers in the pull request.
|
|
63
|
-
|
|
64
|
-
### Getting your pull request merged
|
|
65
|
-
|
|
66
|
-
If your pull request is fairly chunky, there might be a non-trivial delay between the moment the pull request is approved and the moment it gets merged. This is because your pull request will have been scheduled for a specific milestone which might or might not be actively worked on by a maintainer at the moment.
|
|
67
|
-
|
|
68
|
-
### Contributor license agreement
|
|
69
|
-
|
|
70
|
-
We require outside contributors to sign a Contributor license agreement (or CLA) before we can merge their pull requests.
|
|
71
|
-
You can find more information on the topic in [the dedicated wiki page](https://docs.snowplow.io/docs/contributing/contributor-license-agreement/).
|
|
72
|
-
The @snowplowcla bot will guide you through the process.
|
|
73
|
-
|
|
74
|
-
## Getting in touch
|
|
75
|
-
|
|
76
|
-
### Community support requests
|
|
77
|
-
|
|
78
|
-
Please do not log an issue if you are asking for support, all of our community support requests go through our Discourse forum: https://discourse.snowplowanalytics.com/.
|
|
79
|
-
|
|
80
|
-
Posting your problem there ensures more people will see it and you should get support faster than creating a new issue on GitHub. Please do create a new issue on GitHub if you think you've found a bug though!
|