1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

feat: fix

This commit is contained in:
steven 2023-03-31 21:35:25 +08:00
parent ca4f363e6d
commit c57802e2d2
18 changed files with 2140 additions and 2281 deletions

View File

@ -1,218 +1,59 @@
name: Testing E2E Android
on:
workflow_dispatch:
inputs:
clearCaches:
description: "Clear workflow caches where possible"
required: false
type: string
pull_request:
branches:
- '**'
paths-ignore:
- 'docs/**'
- 'website/**'
- '.spellcheck.dict.txt'
# - '**/*.md'
push:
branches:
- master
paths-ignore:
- 'docs/**'
- 'website/**'
- '.spellcheck.dict.txt'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
name: e2e-android
on: push
jobs:
android:
name: Android
runs-on: macos-12
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
# Refactor to make these dynamic with a low/high bracket only on schedule, not push
# For now this is just the fastest combo (api/arch/target/snapshot-warm-time) based on testing
api-level: [30]
arch: [x86_64]
target: [google_apis]
first-boot-delay: [600]
# This is useful for benchmarking, do 0, 1, 2, etc (up to 256 max job-per-matrix limit) for averages
iteration: [0]
e2e-android:
runs-on: macos-latest
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
EMULATOR_COMMAND: "-avd TestingAVD -noaudio -gpu swiftshader_indirect -camera-back none -no-snapshot -no-window -no-boot-anim -nojni -memory 2048 -timezone 'Europe/London' -cores 2"
EMULATOR_EXECUTABLE: qemu-system-x86_64-headless
DETOX_CONFIGURATION: android.emu.debug
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Checkout repository
uses: actions/checkout@v3
# Set up tool versions
- uses: actions/setup-node@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: yarn
node-version-file: .nvmrc
- name: Configure JDK 1.11
- name: Install Yarn dependencies
run: yarn --frozen-lockfile --prefer-offline
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: gradle
distribution: temurin
java-version: 17
# Set path variables needed for caches
- name: Set workflow variables
id: workflow-variables
run: |
echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT
echo "yarn-cache-dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
echo "tempdir=$TMPDIR" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Yarn Cache
id: yarn-cache
with:
path: ${{ steps.workflow-variables.outputs.yarn-cache-dir }}
key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-v1
- name: Yarn Install
uses: nick-invision/retry@v2
with:
timeout_minutes: 10
retry_wait_seconds: 60
max_attempts: 3
command: DETOX_DISABLE_POSTINSTALL=1 yarn --no-audit --prefer-offline
- name: Cache pushy Emulator
- name: Cache Detox build
id: cache-detox-build
uses: actions/cache@v3
with:
path: ~/.cache/pushy/emulators
key: pushy-emulators-v1-${{ github.run_id }}
restore-keys: pushy-emulators-v1
- name: Start pushy Emulator
run: yarn tests:emulator:start-ci
- uses: actions/cache@v3
name: Gradle Cache
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-v1-${{ hashFiles('**/*.gradle*') }}
restore-keys: ${{ runner.os }}-gradle-v1
# This appears to be 'Cache Size: ~1230 MB (1290026823 B)' based on watching action logs
# Repo limit is 10GB; branch caches are independent; branches may read default branch cache.
# We don't want branches to evict master branch snapshot, so save on master, read-only all else
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1-${{ github.event.inputs.clearCaches }}
path: android/app/build
key: ${{ runner.os }}-detox-build
restore-keys: |
avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1
${{ runner.os }}-detox-build
- name: Clear Caches Optionally
if: "${{ github.event.inputs.clearCaches != '' }}"
shell: bash
run: |
du -sk ~/.gradle
du -sk ~/.android
rm -fr ~/.gradle
rm -fr ~/.android
du -sk ~/.gradle || echo ~/.gradle is gone
du -sk ~/.android || echo ~/.android is gone
- name: Detox build
run: yarn detox build --configuration ${{ env.DETOX_CONFIGURATION }}
- name: Build Android App
uses: nick-invision/retry@v2
with:
timeout_minutes: 25
retry_wait_seconds: 60
max_attempts: 3
command: yarn build:android-release
- name: Get device name
id: device
run: node -e "console.log('AVD_NAME=' + require('./.detoxrc').devices.emulator.device.avdName)" >> $GITHUB_OUTPUT
- name: Metro Bundler Cache
uses: actions/cache@v3
with:
path: ${{ steps.workflow-variables.outputs.metro-cache }}
key: ${{ runner.os }}-metro-v1-${{ github.run_id }}
restore-keys: ${{ runner.os }}-metro-v1
- name: AVD Boot and Snapshot Creation
# Only generate a snapshot with a cache miss
# Comment the if out to generate snapshots on branch for performance testing
if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
- name: Detox test
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
avd-name: TestingAVD
force-avd-creation: false
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
sdcard-path-or-size: 100M
disable-animations: true
# Give the emulator a little time to run and do first boot stuff before taking snapshot
script: |
$ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-snapshot-log.txt
$ANDROID_HOME/platform-tools/adb logcat --clear
echo "Generated AVD snapshot for caching."
api-level: 31
arch: x86_64
avd-name: ${{ steps.device.outputs.AVD_NAME }}
script: yarn detox test --configuration ${{ env.DETOX_CONFIGURATION }} --headless --record-logs all
# This step is separate so pure install time may be calculated as a step
- name: Emulator Snapshot After Firstboot Warmup
# Only generate a snapshot for saving with a cache miss
# Switch the if statements via comment if generating snapshots for performance testing
# if: matrix.first-boot-delay != '0'
if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
env:
FIRST_BOOT_DELAY: ${{ matrix.first-boot-delay }}
uses: reactivecircus/android-emulator-runner@v2
- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3
with:
api-level: ${{ matrix.api-level }}
avd-name: TestingAVD
force-avd-creation: false
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
sdcard-path-or-size: 100M
disable-animations: true
# Give the emulator a little time to run and do first boot stuff before taking snapshot
# The zygote restart makes sure zygote has correct heap size as a workaround for android emulator init bug
script: |
$ANDROID_HOME/platform-tools/adb shell su root "setprop ctl.restart zygote"
sleep $FIRST_BOOT_DELAY
$ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-warmup-log.txt
$ANDROID_HOME/platform-tools/adb logcat --clear
echo "First boot warmup completed."
- name: Test Tapper
# Run this outside the emulator runner so the emulator runner does not wait on it for cleanup
run: |
nohup sh -c "until false; do $ANDROID_HOME/platform-tools/adb shell input tap 100 800; sleep 0.2; done" &
shell: bash
- name: Detox Tests
uses: reactivecircus/android-emulator-runner@v2
timeout-minutes: 60
with:
api-level: ${{ matrix.api-level }}
avd-name: TestingAVD
force-avd-creation: false
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
sdcard-path-or-size: 100M
disable-animations: true
# Detox uses Espresso to choreograph steps in reaction to UI events, so we need to send a stream of taps.
script: |
$ANDROID_HOME/platform-tools/adb devices
nohup sh -c "$ANDROID_HOME/platform-tools/adb logcat '*:D' > adb-log.txt" &
sudo yarn test:android-release
name: detox-artifacts
path: artifacts

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":{"path":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":108,"column":2}}},"fnMap":{},"branchMap":{"0":{"loc":{"start":{"line":4,"column":11},"end":{"line":4,"column":47}},"type":"cond-expr","locations":[{"start":{"line":4,"column":28},"end":{"line":4,"column":35}},{"start":{"line":4,"column":38},"end":{"line":4,"column":47}}],"line":4},"1":{"loc":{"start":{"line":9,"column":18},"end":{"line":9,"column":48}},"type":"cond-expr","locations":[{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},{"start":{"line":9,"column":39},"end":{"line":9,"column":48}}],"line":9},"2":{"loc":{"start":{"line":15,"column":11},"end":{"line":15,"column":49}},"type":"cond-expr","locations":[{"start":{"line":15,"column":28},"end":{"line":15,"column":37}},{"start":{"line":15,"column":40},"end":{"line":15,"column":49}}],"line":15},"3":{"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":56}},"type":"cond-expr","locations":[{"start":{"line":16,"column":35},"end":{"line":16,"column":44}},{"start":{"line":16,"column":47},"end":{"line":16,"column":56}}],"line":16},"4":{"loc":{"start":{"line":57,"column":15},"end":{"line":57,"column":49}},"type":"cond-expr","locations":[{"start":{"line":57,"column":32},"end":{"line":57,"column":37}},{"start":{"line":57,"column":40},"end":{"line":57,"column":49}}],"line":57}},"s":{"0":1},"f":{},"b":{"0":[0,1],"1":[0,1],"2":[0,1],"3":[0,1],"4":[0,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"15012f7c1e880b295a4405f1f24fb4c7f92b5a37","contentHash":"54a5f7f2998fe55bc235e057d2ad9c72f0af3a0f4dc8e055145cd02b6f313000"}}
{"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":{"path":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":110,"column":2}}},"fnMap":{},"branchMap":{"0":{"loc":{"start":{"line":4,"column":11},"end":{"line":4,"column":47}},"type":"cond-expr","locations":[{"start":{"line":4,"column":28},"end":{"line":4,"column":35}},{"start":{"line":4,"column":38},"end":{"line":4,"column":47}}],"line":4},"1":{"loc":{"start":{"line":9,"column":18},"end":{"line":9,"column":48}},"type":"cond-expr","locations":[{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},{"start":{"line":9,"column":39},"end":{"line":9,"column":48}}],"line":9},"2":{"loc":{"start":{"line":15,"column":11},"end":{"line":15,"column":49}},"type":"cond-expr","locations":[{"start":{"line":15,"column":28},"end":{"line":15,"column":37}},{"start":{"line":15,"column":40},"end":{"line":15,"column":49}}],"line":15},"3":{"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":56}},"type":"cond-expr","locations":[{"start":{"line":16,"column":35},"end":{"line":16,"column":44}},{"start":{"line":16,"column":47},"end":{"line":16,"column":56}}],"line":16},"4":{"loc":{"start":{"line":58,"column":15},"end":{"line":58,"column":49}},"type":"cond-expr","locations":[{"start":{"line":58,"column":32},"end":{"line":58,"column":37}},{"start":{"line":58,"column":40},"end":{"line":58,"column":49}}],"line":58}},"s":{"0":1},"f":{},"b":{"0":[0,1],"1":[0,1],"2":[0,1],"3":[0,1],"4":[0,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"58bedfd3138217937b7d396abd7b0c5826481f79","contentHash":"522b38643de93a23c72e2d1e6fe4f7c043965dd9f6c9c9782d17180545d4bfd3"}}

View File

@ -0,0 +1 @@
{"parent":"f45cbde3-af32-4880-b276-321a181077f9","pid":95187,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/jest","--config","e2e/jest.config.js","e2e"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248198332,"ppid":95181,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6.json","externalId":"","uuid":"19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6","files":["/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/e2e/globalSetup.ts"]}

View File

@ -1 +0,0 @@
{"parent":"60df4119-cdb5-42e8-b18d-1824b91df493","pid":80718,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680173770091,"ppid":80717,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/567d30c0-af7c-4538-9e48-28df65ccd884.json","externalId":"","uuid":"567d30c0-af7c-4538-9e48-28df65ccd884","files":["/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js"]}

View File

@ -1 +0,0 @@
{"parent":null,"pid":80717,"argv":["/usr/local/bin/node","/opt/homebrew/bin/yarn","detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680173769754,"ppid":80716,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/60df4119-cdb5-42e8-b18d-1824b91df493.json","externalId":"","uuid":"60df4119-cdb5-42e8-b18d-1824b91df493","files":[]}

View File

@ -1 +0,0 @@
{"parent":"567d30c0-af7c-4538-9e48-28df65ccd884","pid":80721,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/jest","--config","e2e/jest.config.js","e2e"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680173770580,"ppid":80718,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/bde696d3-4a44-487f-8de9-212c3afe82bf.json","externalId":"","uuid":"bde696d3-4a44-487f-8de9-212c3afe82bf","files":[]}

View File

@ -0,0 +1 @@
{"parent":null,"pid":95180,"argv":["/usr/local/bin/node","/opt/homebrew/bin/yarn","detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248197419,"ppid":95177,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/d981de3a-162c-4c70-80a9-84bb168e00d7.json","externalId":"","uuid":"d981de3a-162c-4c70-80a9-84bb168e00d7","files":[]}

View File

@ -0,0 +1 @@
{"parent":"d981de3a-162c-4c70-80a9-84bb168e00d7","pid":95181,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248197907,"ppid":95180,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/f45cbde3-af32-4880-b276-321a181077f9.json","externalId":"","uuid":"f45cbde3-af32-4880-b276-321a181077f9","files":["/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js"]}

View File

@ -1 +1 @@
{"processes":{"567d30c0-af7c-4538-9e48-28df65ccd884":{"parent":"60df4119-cdb5-42e8-b18d-1824b91df493","children":[]},"60df4119-cdb5-42e8-b18d-1824b91df493":{"parent":null,"children":["567d30c0-af7c-4538-9e48-28df65ccd884"]}},"files":{"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":["567d30c0-af7c-4538-9e48-28df65ccd884"]},"externalIds":{}}
{"processes":{"19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6":{"parent":"f45cbde3-af32-4880-b276-321a181077f9","children":[]},"d981de3a-162c-4c70-80a9-84bb168e00d7":{"parent":null,"children":["f45cbde3-af32-4880-b276-321a181077f9"]},"f45cbde3-af32-4880-b276-321a181077f9":{"parent":"d981de3a-162c-4c70-80a9-84bb168e00d7","children":["19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6"]}},"files":{"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/e2e/globalSetup.ts":["19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6"],"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":["f45cbde3-af32-4880-b276-321a181077f9"]},"externalIds":{}}

View File

@ -37,8 +37,8 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=true
newArchEnabled=false
# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
hermesEnabled=true
hermesEnabled=true

View File

@ -1,100 +1,78 @@
/** @type {Detox.DetoxConfig} */
module.exports = {
logger: {
level: process.env.CI ? 'debug' : undefined,
},
testRunner: {
args: {
$0: 'jest',
config: 'e2e/jest.config.js',
maxWorkers: process.env.CI ? 2 : undefined,
_: ['e2e'],
},
},
artifacts: {
plugins: {
log: process.env.CI ? 'failing' : undefined,
screenshot: process.env.CI ? 'failing' : undefined,
jest: {
setupTimeout: 120000,
},
},
apps: {
'ios.debug': {
type: 'ios.app',
binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/testHotUpdate.app',
build:
'xcodebuild -workspace ios/testHotUpdate.xcworkspace -scheme testHotUpdate -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build',
},
'ios.release': {
type: 'ios.app',
binaryPath:
'ios/build/Build/Products/Release-iphonesimulator/testHotUpdate.app',
build:
'export RCT_NO_LAUNCH_PACKAGER=true && xcodebuild -workspace ios/testHotUpdate.xcworkspace -UseNewBuildSystem=NO -scheme testHotUpdate -configuration Release -sdk iphonesimulator -derivedDataPath ios/build -quiet',
'xcodebuild -workspace ios/testHotUpdate.xcworkspace -scheme testHotUpdate -configuration Release -sdk iphonesimulator -derivedDataPath ios/build',
},
"ios.debug": {
"type": "ios.app",
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/testHotUpdate.app",
"build": "xcodebuild -workspace ios/testHotUpdate.xcworkspace -UseNewBuildSystem=NO -scheme testHotUpdate -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"start": "scripts/start-rn.sh ios",
},
"android.debug": {
"type": "android.apk",
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android ; ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug ; cd -",
"start": "scripts/start-rn.sh android",
'android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/debug/app-debug.apk',
build:
'cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug',
reversePorts: [8081],
},
'android.release': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/release/app-release.apk',
build:
'cd android ; ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release ; cd -',
'cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release',
},
},
devices: {
simulator: {
type: 'ios.simulator',
headless: Boolean(process.env.CI),
device: {
type: 'iPhone 14',
},
},
attached: {
type: 'android.attached',
device: {
adbName: '.*',
},
},
emulator: {
type: 'android.emulator',
headless: Boolean(process.env.CI),
gpuMode: process.env.CI ? 'off' : undefined,
device: {
avdName: 'TestingAVD',
avdName: 'Pixel_3a_API_33_arm64-v8a',
},
utilBinaryPaths: ['./cache/test-butler-app.apk'],
},
'genymotion.emulator.uuid': {
type: 'android.genycloud',
device: {
recipeUUID: 'a50a71d6-da90-4c67-bdfa-5b602b0bbd15',
},
utilBinaryPaths: ['./cache/test-butler-app.apk'],
},
'genymotion.emulator.name': {
type: 'android.genycloud',
device: {
recipeName: 'TestingAVD',
},
utilBinaryPaths: ['./cache/test-butler-app.apk'],
},
},
configurations: {
'ios.sim.release': {
device: 'simulator',
app: 'ios.release',
},
'ios.sim.debug': {
device: 'simulator',
app: 'ios.debug',
},
'ios.manual': {
type: 'ios.manual',
behavior: {
launchApp: 'manual',
},
artifacts: false,
session: {
autoStart: true,
server: 'ws://localhost:8099',
sessionId: 'com.wix.demo.react.native',
},
'ios.sim.release': {
device: 'simulator',
app: 'ios.release',
},
'android.att.debug': {
device: 'attached',
app: 'android.debug',
},
'android.att.release': {
device: 'attached',
app: 'android.release',
},
'android.emu.debug': {
device: 'emulator',

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
1680145629
1680264885

View File

@ -14,8 +14,8 @@
"test:ios-release": "cd Example/testHotUpdate && SIMCTL_CHILD_GULGeneratedClassDisposeDisabled=1 ./node_modules/.bin/nyc yarn detox test --configuration ios.sim.release",
"build:android-debug": "cd Example/testHotUpdate && yarn && detox build --configuration android.emu.debug",
"build:android-release": "cd Example/testHotUpdate && yarn && detox build --configuration android.emu.release",
"test:android-release": "export ANDROID_SDK_ROOT=/Users/runner/Library/Android/sdk && cd Example/testHotUpdate && ./node_modules/.bin/nyc yarn detox test --configuration android.emu.release",
"test:android-debug": "export ANDROID_SDK_ROOT=/Users/runner/Library/Android/sdk && cd Example/testHotUpdate && detox test --configuration android.emu.debug",
"test:android-release": "export ANDROID_SDK_ROOT=/Users/arvinh/Library/Android/sdk && cd Example/testHotUpdate && ./node_modules/.bin/nyc yarn detox test --configuration android.emu.release",
"test:android-debug": "cd Example/testHotUpdate && detox test --configuration android.emu.debug",
"e2e:ios": "npm run build:ios-release && npm run test:ios-release",
"e2e:android": "npm run build:android-release && npm run test:android-release",
"tests:emulator:prepare": "cd .github/workflows/scripts/functions && yarn && yarn build",

246
yarn.lock
View File

@ -20,56 +20,56 @@
call-me-maybe "^1.0.1"
js-yaml "^4.1.0"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
dependencies:
"@babel/highlight" "^7.18.6"
"@babel/compat-data@^7.20.5":
version "7.21.0"
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298"
integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==
"@babel/compat-data@^7.21.4":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f"
integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==
"@babel/core@^7.11.6", "@babel/core@^7.12.3":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e"
integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659"
integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.21.3"
"@babel/helper-compilation-targets" "^7.20.7"
"@babel/code-frame" "^7.21.4"
"@babel/generator" "^7.21.4"
"@babel/helper-compilation-targets" "^7.21.4"
"@babel/helper-module-transforms" "^7.21.2"
"@babel/helpers" "^7.21.0"
"@babel/parser" "^7.21.3"
"@babel/parser" "^7.21.4"
"@babel/template" "^7.20.7"
"@babel/traverse" "^7.21.3"
"@babel/types" "^7.21.3"
"@babel/traverse" "^7.21.4"
"@babel/types" "^7.21.4"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.2"
semver "^6.3.0"
"@babel/generator@^7.21.3", "@babel/generator@^7.7.2":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce"
integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==
"@babel/generator@^7.21.4", "@babel/generator@^7.7.2":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc"
integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==
dependencies:
"@babel/types" "^7.21.3"
"@babel/types" "^7.21.4"
"@jridgewell/gen-mapping" "^0.3.2"
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
"@babel/helper-compilation-targets@^7.20.7":
version "7.20.7"
resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
"@babel/helper-compilation-targets@^7.21.4":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656"
integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==
dependencies:
"@babel/compat-data" "^7.20.5"
"@babel/helper-validator-option" "^7.18.6"
"@babel/compat-data" "^7.21.4"
"@babel/helper-validator-option" "^7.21.0"
browserslist "^4.21.3"
lru-cache "^5.1.1"
semver "^6.3.0"
@ -95,11 +95,11 @@
"@babel/types" "^7.18.6"
"@babel/helper-module-imports@^7.18.6":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==
dependencies:
"@babel/types" "^7.18.6"
"@babel/types" "^7.21.4"
"@babel/helper-module-transforms@^7.21.2":
version "7.21.2"
@ -115,7 +115,7 @@
"@babel/traverse" "^7.21.2"
"@babel/types" "^7.21.2"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0":
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0":
version "7.20.2"
resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
@ -144,7 +144,7 @@
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
"@babel/helper-validator-option@^7.18.6":
"@babel/helper-validator-option@^7.21.0":
version "7.21.0"
resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
@ -167,10 +167,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3"
integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
@ -208,11 +208,11 @@
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-jsx@^7.7.2":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2"
integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
@ -264,11 +264,11 @@
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript@^7.7.2":
version "7.20.0"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7"
integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8"
integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/template@^7.20.7", "@babel/template@^7.3.3":
version "7.20.7"
@ -279,26 +279,26 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67"
integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==
"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.2":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36"
integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.21.3"
"@babel/code-frame" "^7.21.4"
"@babel/generator" "^7.21.4"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.21.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/parser" "^7.21.3"
"@babel/types" "^7.21.3"
"@babel/parser" "^7.21.4"
"@babel/types" "^7.21.4"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05"
integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==
"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
version "7.21.4"
resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4"
integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==
dependencies:
"@babel/helper-string-parser" "^7.19.4"
"@babel/helper-validator-identifier" "^7.19.1"
@ -374,17 +374,17 @@
p-defer "^3.0.0"
"@grpc/grpc-js@~1.8.0":
version "1.8.12"
resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.12.tgz#bc0120859e8b153db764b473cc019ddf6bb2b414"
integrity sha512-MbUMvpVvakeKhdYux6gbSIPJaFMLNSY8jw4PqLI+FFztGrQRrYYAnHlR94+ncBQQewkpXQaW449m3tpH/B/ZnQ==
version "1.8.13"
resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.13.tgz#e775685962909b76f8d4b813833c3d123867165b"
integrity sha512-iY3jsdfbc0ARoCLFvbvUB8optgyb0r1XLPb142u+QtgBcKJYkCIFt3Fd/881KqjLYWjsBJF57N3b8Eop9NDfUA==
dependencies:
"@grpc/proto-loader" "^0.7.0"
"@types/node" ">=12.12.47"
"@grpc/proto-loader@^0.7.0":
version "0.7.5"
resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.5.tgz#ee9e7488fa585dc6b0f7fe88cd39723a3e64c906"
integrity sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg==
version "0.7.6"
resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.6.tgz#b71fdf92b184af184b668c4e9395a5ddc23d61de"
integrity sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==
dependencies:
"@types/long" "^4.0.1"
lodash.camelcase "^4.3.0"
@ -863,9 +863,9 @@
"@types/istanbul-lib-report" "*"
"@types/jest@^29.2.1":
version "29.4.4"
resolved "https://registry.npmjs.org/@types/jest/-/jest-29.4.4.tgz#ba257bd7b1876dec9e0b4fb82fa60eec5505e5f1"
integrity sha512-qezb65VIH7X1wobSnd6Lvdve7PXSyQRa3dljTkhTtDhi603RvHQCshSlJcuyMLHJpeHgY3NKwvDJWxMOOHxGDQ==
version "29.5.0"
resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz#337b90bbcfe42158f39c2fb5619ad044bbb518ac"
integrity sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==
dependencies:
expect "^29.0.0"
pretty-format "^29.0.0"
@ -904,9 +904,9 @@
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":
version "18.15.3"
resolved "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014"
integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==
version "18.15.11"
resolved "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
"@types/prettier@^2.1.5":
version "2.7.2"
@ -937,9 +937,9 @@
integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
"@types/yargs@^17.0.8":
version "17.0.22"
resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a"
integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==
version "17.0.24"
resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
dependencies:
"@types/yargs-parser" "*"
@ -1567,9 +1567,9 @@ camelcase@^6.0.0, camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001449:
version "1.0.30001466"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz#c1e6197c540392e09709ecaa9e3e403428c53375"
integrity sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==
version "1.0.30001473"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz#3859898b3cab65fc8905bb923df36ad35058153c"
integrity sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==
cardinal@^2.1.1:
version "2.1.1"
@ -2081,9 +2081,9 @@ deep-is@^0.1.3, deep-is@~0.1.3:
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
deepmerge@^4.2.2:
version "4.3.0"
resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b"
integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==
version "4.3.1"
resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
defaults@^1.0.3:
version "1.0.4"
@ -2128,9 +2128,9 @@ detect-newline@^3.0.0:
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
detox@^20.5.0:
version "20.5.0"
resolved "https://registry.npmjs.org/detox/-/detox-20.5.0.tgz#70f1aa7ed4a2b652b5787a806e680fafaab2fcb3"
integrity sha512-iFDqU5UZ5f1usgRowyiauO83ffMqvN7qFdF5+TVJelfcHTIVHRbZwI/D4MjtAnpuowljfwBhN0tYhTSEOMjCmg==
version "20.6.0"
resolved "https://registry.npmjs.org/detox/-/detox-20.6.0.tgz#9aef5d7d17c5a0e8a96592570a510881ac59c249"
integrity sha512-89YxptnkvyQazN2I8EDRkH8tWqiOvqsGXZCZwUKP5lsulBSTJka7SS5Fd8AnQGUd5vPs+tTqO+zb0FgCRcV/Tg==
dependencies:
ajv "^8.6.3"
bunyan "^1.8.12"
@ -2229,9 +2229,9 @@ ee-first@1.1.1:
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.4.284:
version "1.4.330"
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz#4740378db7160d7210afb29800c74048cdf10a99"
integrity sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==
version "1.4.347"
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.347.tgz#4b72564912c3456c6704d4250918aa6a105d5dc3"
integrity sha512-LNi3+/9nV0vT6Bz1OsSoZ/w7IgNuWdefZ7mjKNjZxyRlI/ag6uMXxsxAy5Etvuixq3Q26exw2fc4bNYvYQqXSw==
emittery@^0.13.1:
version "0.13.1"
@ -2326,19 +2326,19 @@ escodegen@^1.13.0, escodegen@^1.8.1:
optionalDependencies:
source-map "~0.6.1"
eslint-visitor-keys@^3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint-visitor-keys@^3.4.0:
version "3.4.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc"
integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
espree@^9.0.0:
version "9.5.0"
resolved "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113"
integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==
version "9.5.1"
resolved "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4"
integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==
dependencies:
acorn "^8.8.0"
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
eslint-visitor-keys "^3.4.0"
esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
version "4.0.1"
@ -2600,9 +2600,9 @@ find-up@^4.0.0, find-up@^4.1.0:
path-exists "^4.0.0"
firebase-tools@^11.24.1:
version "11.24.1"
resolved "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.24.1.tgz#bc0f23f75f6950f8e68326692502dbee883f04ff"
integrity sha512-X9p15dZLaR3jbMKvtQgj364khq9EEeC3+PXK0Bo8lwe0XasFmq3d5XsD7XS+a5iziCC7sqzhIiuiUfn5yjYgAg==
version "11.25.2"
resolved "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.25.2.tgz#608c50df2a84bc03985f258243125880f3142368"
integrity sha512-rKMLosFFlbrBsia11eN8EN6GL3+eOxtq75dbkMOMTUrsckAYgz+JTSoLL+WLksh+eG1aklEtE4K5n1lbmTGzRg==
dependencies:
"@google-cloud/pubsub" "^3.0.1"
abort-controller "^3.0.0"
@ -2642,6 +2642,7 @@ firebase-tools@^11.24.1:
node-fetch "^2.6.7"
open "^6.3.0"
ora "^5.4.1"
p-limit "^3.0.1"
portfinder "^1.0.32"
progress "^2.0.3"
proxy-agent "^5.0.0"
@ -3026,11 +3027,16 @@ google-p12-pem@^4.0.0:
dependencies:
node-forge "^1.3.1"
graceful-fs@4.2.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
graceful-fs@4.2.10:
version "4.2.10"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
gtoken@^5.0.4:
version "5.3.2"
resolved "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz#deb7dc876abe002178e0515e383382ea9446d58f"
@ -4319,9 +4325,9 @@ marked-terminal@^5.1.1:
supports-hyperlinks "^2.2.0"
marked@^4.0.10, marked@^4.0.14:
version "4.2.12"
resolved "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5"
integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==
version "4.3.0"
resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
mdurl@^1.0.1:
version "1.0.1"
@ -4544,9 +4550,9 @@ nan@^2.14.0, nan@^2.17.0:
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
nanoid@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25"
integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==
version "3.3.6"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
natural-compare@^1.4.0:
version "1.4.0"
@ -4779,7 +4785,7 @@ p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
p-limit@^3.1.0:
p-limit@^3.0.1, p-limit@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
@ -5014,7 +5020,7 @@ protobufjs-cli@1.1.1:
tmp "^0.2.1"
uglify-js "^3.7.7"
protobufjs@7.2.2, protobufjs@^7.0.0:
protobufjs@7.2.2:
version "7.2.2"
resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz#2af401d8c547b9476fb37ffc65782cf302342ca3"
integrity sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==
@ -5032,6 +5038,24 @@ protobufjs@7.2.2, protobufjs@^7.0.0:
"@types/node" ">=13.7.0"
long "^5.0.0"
protobufjs@^7.0.0:
version "7.2.3"
resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz#01af019e40d9c6133c49acbb3ff9e30f4f0f70b2"
integrity sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==
dependencies:
"@protobufjs/aspromise" "^1.1.2"
"@protobufjs/base64" "^1.1.2"
"@protobufjs/codegen" "^2.0.4"
"@protobufjs/eventemitter" "^1.1.0"
"@protobufjs/fetch" "^1.1.0"
"@protobufjs/float" "^1.0.2"
"@protobufjs/inquire" "^1.1.0"
"@protobufjs/path" "^1.1.2"
"@protobufjs/pool" "^1.1.0"
"@protobufjs/utf8" "^1.1.0"
"@types/node" ">=13.7.0"
long "^5.0.0"
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
@ -5290,9 +5314,9 @@ resolve-from@^5.0.0:
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
resolve.exports@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.1.tgz#cee884cd4e3f355660e501fa3276b27d7ffe5a20"
integrity sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw==
version "2.0.2"
resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800"
integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==
resolve@^1.20.0:
version "1.22.1"
@ -5391,9 +5415,9 @@ safe-json-stringify@~1:
integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==
safe-stable-stringify@^2.3.1:
version "2.4.2"
resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa"
integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==
version "2.4.3"
resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886"
integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"