Compare commits

..
Author SHA1 Message Date
Evan Bacon 754fb08327 Merge branch 'master' into @evanbacon/e2e-tests 2021-12-14 21:13:34 -07:00
Evan Bacon 7a7b88b735 fix packages 2021-12-14 16:40:29 -07:00
Evan Bacon 954cc4c189 Merge pull request #30 from giautm/giautm/fix-metro-bundle
chore: added start-metro script
2021-12-14 16:39:43 -07:00
Giau. Tran Minh dcf61a9b95 chore: update script 2021-12-15 05:11:22 +07:00
Giau. Tran Minh 4a7d707b20 chore: added start-metro script
I don't known why, but iOS release build still crashed on start. Look like it related to expo-updates module.

```
Application Specific Information:
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
CoreSimulator 776.4 - Device: iPhone 13 Pro (152AB63A-3F82-4D26-9AE3-36207700E62C) - Runtime: iOS 15.0 (19A339) - DeviceType: iPhone 13 Pro
terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'expo-updates is enabled, but no valid URL is configured under EXUpdatesURL. If you are making a release build for the first time, make sure you have run `expo publish` at least once.'
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
abort() called
```
2021-12-15 05:08:06 +07:00
Evan Bacon eedb489416 Publish @config-plugins/[email protected] 2021-12-14 11:40:03 -07:00
Evan Bacon 3091016389 Merge pull request #29 from expo/@evanbacon/react-native-google-cast/add-44-support
[react-native-google-cast] Add support for SDK 44 AppDelegate
2021-12-14 11:38:37 -07:00
Evan Bacon 4f9e566e4b Add support for SDK 44 AppDelegate 2021-12-13 22:14:37 -07:00
Evan Bacon 027a1fdb1e Merge pull request #22 from expo/@evanbacon/ffmpeg/create-package
Created @config-plugins/ffmpeg-kit-react-native
2021-12-01 18:10:47 -07:00
Evan Bacon ca6b70dc7a Merge branch 'master' into @evanbacon/ffmpeg/create-package 2021-12-01 18:03:41 -07:00
Evan Bacon b96cb784b9 Hide git build folders 2021-12-01 18:03:31 -07:00
Evan Bacon d44a0513a3 Merge branch 'master' into @evanbacon/ffmpeg/create-package 2021-12-01 18:01:30 -07:00
Evan Bacon f396c0eca2 Publish @config-plugins/[email protected] 2021-11-30 14:40:09 -07:00
Evan Bacon b72c445561 Merge pull request #23 from expo/@evanbacon/react-native-pdf/create
Created react-native-blob-util and react-native-pdf plugins
2021-11-30 13:55:34 -07:00
Evan Bacon b6d7a269c3 Merge branch 'master' into @evanbacon/react-native-pdf/create 2021-11-30 13:51:40 -07:00
Evan Bacon b1c48798a2 Create test.yml 2021-11-30 13:51:28 -07:00
Evan Bacon c0caaa117e Update test.yml 2021-11-30 13:50:09 -07:00
Evan Bacon 24b6abbf63 Merge branch 'master' into @evanbacon/ffmpeg/create-package 2021-11-30 13:49:18 -07:00
Evan Bacon b46f25e204 Merge pull request #25 from expo/@evanbacon/repo/add-jest-test-action
[repo] Add continuous jest test action
2021-11-30 13:48:49 -07:00
Evan Bacon 7d5e4a3083 Update test.yml 2021-11-30 13:37:07 -07:00
Evan Bacon 581dd45715 fix tests 2021-11-30 13:35:52 -07:00
Evan Bacon a7e4206ffa Merge branch 'master' into @evanbacon/repo/add-jest-test-action 2021-11-30 13:34:28 -07:00
Evan Bacon 05fe7bf107 Update package.json 2021-11-30 13:34:25 -07:00
Evan Bacon fa107895b6 Update detox.config.js 2021-11-29 17:18:39 -07:00
Evan Bacon d31b0273cf [WIP][NO-MERGE] 2021-11-29 17:01:02 -07:00
Evan Bacon cd9a188413 Revert "added i18n-js back"
This reverts commit 4c1607a2cf.
2021-11-29 16:59:17 -07:00
Evan Bacon 4c1607a2cf added i18n-js back
update tests

[WIP][NO-MERGE] Remove extra packages to speed up tests
2021-11-29 16:59:03 -07:00
Evan Bacon 3a7a22be0e Update test.yml 2021-11-29 16:37:38 -07:00
Evan Bacon 978448646d Update test.yml 2021-11-29 16:37:20 -07:00
Evan Bacon 3703b47b53 Merge pull request #24 from expo/@evanbacon/detox/improved-monorepo-support
[detox] improved monorepo support
2021-11-29 16:36:59 -07:00
Evan Bacon e370254d10 Add continuous jest test action 2021-11-29 16:35:26 -07:00
Evan Bacon 2f358c25e8 Try new monorepo imports 2021-11-29 16:30:21 -07:00
Evan Bacon 5caee7a24c Support monorepos in detox app build gradle proguard rules 2021-11-29 16:28:27 -07:00
Evan Bacon 3ac42ac2fa Support monorepos in detox maven gradle import 2021-11-29 16:19:48 -07:00
Evan Bacon d2eb511e1d Update e2e.yml 2021-11-29 14:38:53 -07:00
Evan Bacon f62a941bc6 Update e2e.yml 2021-11-29 14:38:30 -07:00
Evan Bacon d784d14486 Update app.json 2021-11-29 11:44:27 -07:00
Evan Bacon 7b0d0225f9 Update yarn.lock 2021-11-29 11:43:49 -07:00
Evan Bacon c1d25701ca Merge branch 'master' into @evanbacon/e2e-tests 2021-11-29 11:43:10 -07:00
Evan Bacon 529410be0f Created react-native-blob-util and react-native-pdf plugins 2021-11-26 18:39:41 -07:00
Evan Bacon 04ef242347 Added small demo 2021-11-26 17:16:51 -07:00
Evan Bacon fe00996dbd Added ffmpeg to example 2021-11-26 17:02:09 -07:00
Evan Bacon ba84473db8 Created ffmpeg-kit-react-native plugin 2021-11-26 16:56:33 -07:00
Evan Bacon 359cbb455d Update README.md 2021-11-23 20:23:56 -07:00
Evan Bacon 909db3c158 Merge pull request #21 from expo/@evanbacon/repo/bump-to-43
[repo] Bump to SDK 43
2021-11-23 15:51:11 -07:00
Evan Bacon 0aaf6d07d6 fix deps 2021-11-23 15:42:17 -07:00
Evan Bacon 81857f8938 Added CI updates 2021-11-23 15:37:03 -07:00
Evan Bacon dc86073608 Bump versions 2021-11-23 15:15:08 -07:00
Evan Bacon 8dd7006769 Bump detox 2021-11-23 15:13:33 -07:00
Evan Bacon f62f4f59ba wip 2021-11-23 14:51:51 -07:00
Evan Bacon 63257cfa20 bump 2021-11-23 14:40:53 -07:00
Evan Bacon b6b9ce09c1 ios running 2021-11-23 14:36:17 -07:00
Evan Bacon 4c3cd1413b Fixed fs errors 2021-11-23 14:22:55 -07:00
Evan Bacon 5833dd9ea3 Bump notices for Expo 43 2021-11-23 14:10:05 -07:00
Evan Bacon 49448a8974 Merge pull request #20 from expo/@evanbacon/expo/[email protected]
Bump to Expo SDK 43
2021-11-23 14:02:33 -07:00
Evan Bacon 780c27319d Updated to SDK 43 and iOS 15 2021-10-22 15:43:00 -06:00
Evan Bacon e3acf06968 expo upgrade 2021-10-22 15:02:50 -06:00
Evan Bacon 7cce4a464e Bump packages 2021-10-22 14:58:36 -06:00
Evan Bacon d214964657 Merge pull request #19 from expo/@evanbacon/react-native-webrtc/disable-bitcode
[react-native-webrtc] Add step to disable bitcode for release iOS builds
2021-10-22 14:40:07 -06:00
Evan Bacon 3cd73f32a2 Add step to disable bitcode for release iOS builds 2021-10-22 14:34:22 -06:00
Evan Bacon f96f9bdc73 Update README.md 2021-10-19 19:11:04 -06:00
Evan Bacon f0d957456e Publish @config-plugins/[email protected]
Publish @config-plugins/[email protected]
2021-08-04 14:34:44 -06:00
Evan Bacon c2a78787e8 Merge pull request #14 from expo/@evanbacon/react-native-dynamic-app-icon/updated-packages
Bump image utils and config plugins
2021-08-04 14:32:22 -06:00
Evan Bacon bd5710b412 Bump image utils and config plugins 2021-08-04 14:30:24 -06:00
Evan Bacon f15f5fc7ed Publish @config-plugins/[email protected] 2021-07-21 00:00:23 -06:00
Evan Bacon 2546094be7 Merge pull request #13 from expo/@evanbacon/ble-plx/added-peripheral-permission
[react-native-ble-plx] Added peripheral permission
2021-07-20 23:59:03 -06:00
Evan Bacon 38458d2c9f Added peripheral permission 2021-07-20 23:56:56 -06:00
Evan Bacon 619b2fb02c Merge pull request #10 from expo/@evanbacon/react-native-quick-actions/create
Created react-native-quick-action plugin
2021-07-12 23:40:15 -06:00
Evan Bacon 086d83e7d8 Update README.md 2021-07-10 20:34:07 -06:00
Evan Bacon 55890b2800 Created react-native-quick-action plugin 2021-07-10 20:27:41 -06:00
Evan Bacon c4f2a9f251 Bump plugins 2021-07-10 00:13:14 -06:00
Evan Bacon 5f55d19fef Merge pull request #8 from nandorojo/codespace-a342
Add `android-jsc-intl` plugin
2021-07-10 00:09:05 -06:00
Fernando Rojo 8d364ed99e fix: run expo prepare 2021-07-07 23:39:23 +00:00
Fernando Rojo b5246338cb docs: clarify readme 2021-07-07 23:36:59 +00:00
Fernando Rojo 68cf1c07b2 fix: remove createPluginOnce 2021-07-07 23:32:46 +00:00
Fernando Rojo d96c0b2888 docs: add android-jsc-intl example 2021-07-07 23:32:09 +00:00
Fernando Rojo eb6642c0e7 feat: Intl support for android via withAndroidJscIntl 2021-07-07 23:26:20 +00:00
Evan Bacon 5359120dbd Improved CI 2021-07-03 18:43:11 -06:00
Evan Bacon ed6b3a0ec0 Update detox.config.js 2021-07-03 18:30:03 -06:00
Evan Bacon efd3284272 remove webrtc and google chrome 2021-07-03 18:19:46 -06:00
Evan Bacon 46bc48726c Update App-e2e.ts 2021-07-03 18:00:57 -06:00
Evan Bacon ff47e492e4 Update App-e2e.ts 2021-07-03 17:40:47 -06:00
Evan Bacon be969274b9 Update app.json 2021-07-03 17:21:36 -06:00
Evan Bacon 359c1cfcb5 added missing resize mode 2021-07-03 17:15:17 -06:00
Evan Bacon 6c3fc5dff7 Update e2e.yml 2021-07-03 17:12:56 -06:00
Evan Bacon 98f8cbf78b Merge pull request #7 from expo/@evanbacon/fixed-md-lint
Fixed md lint workflow
2021-07-03 17:07:19 -06:00
Evan Bacon 99d3927680 Update e2e.yml 2021-07-03 17:06:40 -06:00
Evan Bacon 55482dae5f Create .ruby-version 2021-07-03 17:04:15 -06:00
Evan Bacon 39fddf135f Fixed md lint 2021-07-03 17:02:57 -06:00
Evan Bacon 395599abfa Added e2e tests 2021-07-03 16:59:15 -06:00
Evan Bacon b16ae58fd0 Removed mapbox code 2021-07-03 16:41:12 -06:00
Evan Bacon 46f05c1b63 Remove native code folders 2021-07-03 16:36:18 -06:00
Evan Bacon 147daea209 Update README.md 2021-07-03 16:33:59 -06:00
Evan Bacon 6360360d94 Update README.md 2021-07-01 14:48:32 -06:00
Evan Bacon 4bf0d2b079 Merge pull request #5 from EvanBacon/@evanbacon/scripts/generate-plugin
Created plugin generation script
2021-07-01 14:48:14 -06:00
Evan Bacon 217e5d4be3 Merge branch 'master' into @evanbacon/scripts/generate-plugin 2021-07-01 14:47:51 -06:00
Evan Bacon c1305a6acb Created plugin generation script 2021-07-01 14:45:55 -06:00
Evan Bacon ad82f2b8c8 Merge pull request #4 from EvanBacon/@evanbacon/ci/check-markdown
Added check markdown workflow
2021-07-01 14:14:32 -06:00
295 changed files with 6130 additions and 5045 deletions

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
packages/*/build/** -diff linguist-generated
packages/*/plugin/build/** -diff linguist-generated
packages/@*/*/build/** -diff linguist-generated
+155
View File
@@ -0,0 +1,155 @@
name: E2E Test
on:
workflow_dispatch: {}
push:
branches: [master]
paths:
- .github/workflows/ios.yml
- apps/app/**
- packages/**
- yarn.lock
pull_request:
paths:
- .github/workflows/ios.yml
- apps/app/**
- packages/**
- yarn.lock
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ios:
runs-on: macos-latest
steps:
- name: 👀 Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: 🍺 Install required tools
run: |
brew tap wix/brew
brew install applesimutils
brew install watchman
echo "$(pwd)/bin" >> $GITHUB_PATH
- name: 💎 Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: ♻️ Restore workspace node modules
uses: actions/cache@v2
id: node-modules-cache
with:
path: |
# See "workspaces" → "packages" in the root package.json for the source of truth of
# which node_modules are affected by the root yarn.lock
node_modules
apps/*/node_modules
packages/*/node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
- name: 🧶 Install node modules in root dir
run: yarn install --frozen-lockfile
- name: ♻️ Restore apps/app/ios/Pods from cache
uses: actions/cache@v2
id: pods-cache
with:
path: "apps/app/ios/Pods"
key: ${{ runner.os }}-app-pods-${{ hashFiles('apps/app/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-app-pods-
- run: yarn global add expo-cli
- name: 🔨 Prebuild
run: expo prebuild -p ios
working-directory: apps/app
- name: 🕵️ Debug CocoaPods lockfiles
run: git diff Podfile.lock Pods/Manifest.lock
working-directory: apps/app/ios
continue-on-error: true
- name: ⚛️ Display React Native config
run: yarn react-native config
working-directory: apps/app
- name: 🌳 Display pod environment
run: pod env
working-directory: apps/app/ios
- name: 🥥 Install pods in apps/app/ios
run: pod install
if: steps.pods-cache.outputs.cache-hit != 'true' || hashFiles('apps/app/ios/Podfile.lock') != hashFiles('apps/app/ios/Pods/Manifest.lock')
working-directory: apps/app/ios
- name: Clean Detox
run: yarn detox:clean
working-directory: apps/app
- name: Build iOS project for Detox
run: yarn build:ios-release
working-directory: apps/app
timeout-minutes: 30
- name: Run tests
run: yarn test:ios-release
working-directory: apps/app
- name: Store images of build failures
if: always()
uses: actions/upload-artifact@v2
with:
name: app-artifacts
path: apps/app/artifacts
android:
runs-on: macos-latest
steps:
- name: 👀 Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: 🍺 Install required tools
run: |
brew install watchman
echo "$(pwd)/bin" >> $GITHUB_PATH
- name: ♻️ Restore workspace node modules
uses: actions/cache@v2
id: node-modules-cache
with:
path: |
# See "workspaces" → "packages" in the root package.json for the source of truth of
# which node_modules are affected by the root yarn.lock
node_modules
apps/*/node_modules
packages/*/node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
- name: 🧶 Install node modules in root dir
run: yarn install --frozen-lockfile
- uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-v20210625-${{ hashFiles('android/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-v20210625
- run: yarn global add expo-cli
- name: 🔨 Prebuild
run: expo prebuild -p android
working-directory: apps/app
- name: ⚛️ Display React Native config
run: yarn react-native config
working-directory: apps/app
- name: Clean Detox
run: yarn detox:clean
working-directory: apps/app
- name: Build Android project for Detox
run: yarn build:android-release
working-directory: apps/app
timeout-minutes: 35
env:
GRADLE_OPTS: "-Dorg.gradle.internal.http.connectionTimeout=180000 -Dorg.gradle.internal.http.socketTimeout=180000 -Dorg.gradle.internal.network.retry.max.attempts=18 -Dorg.gradle.internal.network.retry.initial.backOff=2000"
- name: Run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
avd-name: app
script: yarn test:android-release
working-directory: ./apps/app
- name: Store images of build failures
if: always()
uses: actions/upload-artifact@v2
with:
name: app-artifacts
path: apps/app/artifacts
+20
View File
@@ -0,0 +1,20 @@
name: Check Markdown links
on:
workflow_dispatch: {}
push:
branches: [master]
paths:
- .github/workflows/lint-md.yml
- "**.md"
pull_request:
paths:
- .github/workflows/lint-md.yml
- "**.md"
jobs:
lint-md:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install
- run: npx remark --use validate-links . .github
+60
View File
@@ -0,0 +1,60 @@
name: Test Packages
on:
push:
branches: [master]
pull_request:
types: [opened, synchronize]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node: ["16", "17"]
name: Build with Node ${{ matrix.node }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
- run: yarn install --frozen-lockfile --check-files
- run: yarn lerna run prepare --stream
- uses: actions/cache@v2
with:
path: "*"
key: v2-${{ github.sha }}-${{ matrix.node }}
test:
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
node: ["16", "17"]
package: [
# Manually add packages here
detox,
ffmpeg-kit-react-native,
react-native-ble-plx,
react-native-blob-util,
react-native-google-cast,
react-native-pdf,
# react-native-quick-actions,
]
name: Test ${{ matrix.package }} on Node ${{ matrix.node }}
steps:
- uses: actions/cache@v2
with:
path: "*"
key: v2-${{ github.sha }}-${{ matrix.node }}
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
- name: Test ${{ matrix.package }}
run: cd packages/${{ matrix.package }} && yarn test
env:
CI: true
EXPO_DEBUG: true
+1
View File
@@ -0,0 +1 @@
2.7.0
+8 -1
View File
@@ -1,3 +1,10 @@
# Custom Expo Config Plugins
# Expo Config Plugins
A collection of custom WIP config plugins for Expo dev clients. Use at your own discretion.
## Creating a plugin
- Plugins can be generated by running `yarn gen`.
- Add plugins to the example in [`apps/app`](/apps/app/package.json) to test them.
- The example app should always stay in a state of regeneration.
+9 -4
View File
@@ -12,7 +12,13 @@ web-build/
# macOS
.DS_Store
# @generated expo-cli sync-2138f1e3e130677ea10ea873f6d498e3890e677b
/artifacts
/scripts/start.command
/ios
/android
# @generated expo-cli sync-e7dcf75f4e856f7b6f3239b3f3a7dd614ee755a8
# The following patterns were generated by expo-cli
# OSX
@@ -69,7 +75,6 @@ buck-out/
# Expo
.expo/
web-build/
dist/
# @end expo-cli
/artifacts
# @end expo-cli
+6 -3
View File
@@ -1,5 +1,8 @@
export { default } from './src/react-native-dynamic-app-icon/App';
// export { default } from './src/react-native-quick-actions/App';
// export { default } from './src/react-native-dynamic-app-icon/App';
// export { default } from './src/react-native-google-cast/App';
// export { default } from './src/detox/App';
export { default } from './src/detox/App';
// export { default } from './src/react-native-ble-plx/App';
// export { default } from './src/react-native-webrtc/App';
// export { default } from './src/react-native-webrtc/App';
// export { default } from './src/android-jsc-intl/App';
// export { default } from './src/ffmpeg-kit-react-native/App';
-55
View File
@@ -1,55 +0,0 @@
# To learn about Buck see [Docs](https://buckbuild.com/).
# To run your application with Buck:
# - install Buck
# - `npm start` - to start the packager
# - `cd android`
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
# - `buck install -r android/app` - compile, install and run application
#
load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
lib_deps = []
create_aar_targets(glob(["libs/*.aar"]))
create_jar_targets(glob(["libs/*.jar"]))
android_library(
name = "all-libs",
exported_deps = lib_deps,
)
android_library(
name = "app-code",
srcs = glob([
"src/main/java/**/*.java",
]),
deps = [
":all-libs",
":build_config",
":res",
],
)
android_build_config(
name = "build_config",
package = "com.bacon.app",
)
android_resource(
name = "res",
package = "com.bacon.app",
res = "src/main/res",
)
android_binary(
name = "app",
keystore = "//android/keystores:debug",
manifest = "src/main/AndroidManifest.xml",
package_type = "debug",
deps = [
":app-code",
],
)
-234
View File
@@ -1,234 +0,0 @@
apply plugin: "com.android.application"
// @generated begin safeExtGet - expo prebuild (DO NOT MODIFY) sync-be4acad6508a6820102c74ab393bd7ab1093e6c0
def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
// @generated end safeExtGet
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation. If none specified and
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
* // default. Can be overridden with ENTRY_FILE environment variable.
* entryFile: "index.android.js",
*
* // https://reactnative.dev/docs/performance#enable-the-ram-format
* bundleCommand: "ram-bundle",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
enableHermes: false
]
apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
apply from: "../../node_modules/react-native/react.gradle"
apply from: "../../node_modules/expo-constants/scripts/get-app-config-android.gradle"
apply from: "../../node_modules/expo-updates/scripts/create-manifest-android.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
/**
* The preferred build flavor of JavaScriptCore.
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
/**
* Whether to enable the Hermes VM.
*
* This should be set on project.ext.react and mirrored here. If it is not set
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
* and the benefits of using Hermes will therefore be sharply reduced.
*/
def enableHermes = project.ext.react.get("enableHermes", false);
android {
compileSdkVersion rootProject.ext.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
// detox-plugin-default-config
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
applicationId 'com.bacon.app'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0.0"
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
// Caution! In production, you need to generate your own keystore file.
// see https://reactnative.dev/docs/signed-apk-android.
signingConfig signingConfigs.debug
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
// Detox-specific additions to pro-guard
proguardFile "${rootProject.projectDir}/../node_modules/detox/android/detox/proguard-rules-app.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// https://developer.android.com/studio/build/configure-apk-splits.html
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
// @generated begin react-native-google-cast-dependencies - expo prebuild (DO NOT MODIFY) sync-3822a3c86222e7aca74039b551612aab7e75365d
implementation "com.google.android.gms:play-services-cast-framework:${safeExtGet('castFrameworkVersion', '+')}"
// @generated end react-native-google-cast-dependencies
androidTestImplementation('com.wix:detox:+')
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
}
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
}
addUnimodulesDependencies()
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
-19
View File
@@ -1,19 +0,0 @@
"""Helper definitions to glob .aar and .jar targets"""
def create_aar_targets(aarfiles):
for aarfile in aarfiles:
name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
lib_deps.append(":" + name)
android_prebuilt_aar(
name = name,
aar = aarfile,
)
def create_jar_targets(jarfiles):
for jarfile in jarfiles:
name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
lib_deps.append(":" + name)
prebuilt_jar(
name = name,
binary_jar = jarfile,
)
Binary file not shown.
-10
View File
@@ -1,10 +0,0 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
@@ -1,29 +0,0 @@
package com.bacon.app;
import com.wix.detox.Detox;
import com.wix.detox.config.DetoxConfig;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class DetoxTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
@Test
public void runDetoxTests() {
DetoxConfig detoxConfig = new DetoxConfig();
detoxConfig.idlePolicyConfig.masterTimeoutSec = 90;
detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60;
detoxConfig.rnContextLoadTimeoutSec = (com.bacon.app.BuildConfig.DEBUG ? 180 : 60);
Detox.runTests(mActivityRule, detoxConfig);
}
}
@@ -1,7 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>
@@ -1,69 +0,0 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.bacon.app;
import android.content.Context;
import com.facebook.flipper.android.AndroidFlipperClient;
import com.facebook.flipper.android.utils.FlipperUtils;
import com.facebook.flipper.core.FlipperClient;
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.network.NetworkingModule;
import okhttp3.OkHttpClient;
public class ReactNativeFlipper {
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
if (FlipperUtils.shouldEnableFlipper(context)) {
final FlipperClient client = AndroidFlipperClient.getInstance(context);
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
client.addPlugin(new ReactFlipperPlugin());
client.addPlugin(new DatabasesFlipperPlugin(context));
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
client.addPlugin(CrashReporterPlugin.getInstance());
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
NetworkingModule.setCustomClientBuilder(
new NetworkingModule.CustomClientBuilder() {
@Override
public void apply(OkHttpClient.Builder builder) {
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
}
});
client.addPlugin(networkFlipperPlugin);
client.start();
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
// Hence we run if after all native modules have been initialized
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
if (reactContext == null) {
reactInstanceManager.addReactInstanceEventListener(
new ReactInstanceManager.ReactInstanceEventListener() {
@Override
public void onReactContextInitialized(ReactContext reactContext) {
reactInstanceManager.removeReactInstanceEventListener(this);
reactContext.runOnNativeModulesQueueThread(
new Runnable() {
@Override
public void run() {
client.addPlugin(new FrescoFlipperPlugin());
}
});
}
});
} else {
client.addPlugin(new FrescoFlipperPlugin());
}
}
}
}
@@ -1,48 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.bacon.app">
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:networkSecurityConfig="@xml/network_security_config">
<meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="com.reactnative.googlecast.GoogleCastOptionsProvider"/>
<meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/>
<meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="41.0.0"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@bacon/app"/>
<service android:name="io.wazo.callkeep.RNCallKeepBackgroundMessagingService"/>
<service android:name="io.wazo.callkeep.VoiceConnectionService" android:label="Wazo" android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" android:foregroundServiceType="phoneCall">
<intent-filter>
<action android:name="android.telecom.ConnectionService"/>
</intent-filter>
</service>
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="com.bacon.app"/>
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
<activity android:name="com.reactnative.googlecast.RNGCExpandedControllerActivity"/>
</application>
</manifest>
@@ -1,58 +0,0 @@
package com.bacon.app;
import com.google.android.gms.cast.framework.CastContext;
import android.content.res.Configuration;
import android.content.Intent;
import android.os.Bundle;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import expo.modules.splashscreen.singletons.SplashScreen;
import expo.modules.splashscreen.SplashScreenImageResizeMode;
public class MainActivity extends ReactActivity {
// Added automatically by Expo Config
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Intent intent = new Intent("onConfigurationChanged");
intent.putExtra("newConfig", newConfig);
sendBroadcast(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
// @generated begin react-native-google-cast-onCreate - expo prebuild (DO NOT MODIFY) sync-db583defdeb0226930ad5278e6c069db65777d42
CastContext.getSharedInstance(this);
// @generated end react-native-google-cast-onCreate
// SplashScreen.show(...) has to be called after super.onCreate(...)
// Below line is handled by '@expo/configure-splash-screen' command and it's discouraged to modify it manually
SplashScreen.show(this, SplashScreenImageResizeMode.CONTAIN, ReactRootView.class, false);
}
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "main";
}
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegate(this, getMainComponentName()) {
@Override
protected ReactRootView createRootView() {
return new RNGestureHandlerEnabledRootView(MainActivity.this);
}
};
}
}
@@ -1,128 +0,0 @@
package com.bacon.app;
import android.app.Application;
import android.content.Context;
import android.net.Uri;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.bacon.app.generated.BasePackageList;
import org.unimodules.adapters.react.ReactAdapterPackage;
import org.unimodules.adapters.react.ModuleRegistryAdapter;
import org.unimodules.adapters.react.ReactModuleRegistryProvider;
import org.unimodules.core.interfaces.Package;
import org.unimodules.core.interfaces.SingletonModule;
import expo.modules.constants.ConstantsPackage;
import expo.modules.permissions.PermissionsPackage;
import expo.modules.filesystem.FileSystemPackage;
import expo.modules.updates.UpdatesController;
import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Nullable;
public class MainApplication extends Application implements ReactApplication {
private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider(
new BasePackageList().getPackageList()
);
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
@Override
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}
@Override
protected @Nullable String getJSBundleFile() {
if (BuildConfig.DEBUG) {
return super.getJSBundleFile();
} else {
return UpdatesController.getInstance().getLaunchAssetFile();
}
}
@Override
protected @Nullable String getBundleAssetName() {
if (BuildConfig.DEBUG) {
return super.getBundleAssetName();
} else {
return UpdatesController.getInstance().getBundleAssetName();
}
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
if (!BuildConfig.DEBUG) {
UpdatesController.initialize(this);
}
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
/**
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
*
* @param context
* @param reactInstanceManager
*/
private static void initializeFlipper(
Context context, ReactInstanceManager reactInstanceManager) {
if (BuildConfig.DEBUG) {
try {
/*
We use reflection here to pick up the class that initializes Flipper,
since Flipper library is not available in release mode
*/
Class<?> aClass = Class.forName("com.bacon.app.ReactNativeFlipper");
aClass
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
.invoke(null, context, reactInstanceManager);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
@@ -1,23 +0,0 @@
package com.bacon.app.generated;
import java.util.Arrays;
import java.util.List;
import org.unimodules.core.interfaces.Package;
public class BasePackageList {
public List<Package> getPackageList() {
return Arrays.<Package>asList(
new expo.modules.constants.ConstantsPackage(),
new expo.modules.updates.UpdatesPackage(),
new expo.modules.application.ApplicationPackage(),
new expo.modules.errorrecovery.ErrorRecoveryPackage(),
new expo.modules.filesystem.FileSystemPackage(),
new expo.modules.font.FontLoaderPackage(),
new expo.modules.imageloader.ImageLoaderPackage(),
new expo.modules.keepawake.KeepAwakePackage(),
new expo.modules.localization.LocalizationPackage(),
new expo.modules.permissions.PermissionsPackage(),
new expo.modules.splashscreen.SplashScreenPackage()
);
}
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file was created by '@expo/configure-splash-screen' and some of it's content shouldn't be modified by hand
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/splashscreen_background"/>
</layer-list>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/iconBackground"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/iconBackground"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
<color name="iconBackground">#FFFFFF</color>
<color name="splashscreen_background">#FFFFFF</color>
<color name="colorPrimary">#023c69</color>
</resources>
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
<string name="app_name">app</string>
</resources>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:textColor">#000000</item>
<item name="colorPrimary">@color/colorPrimary</item>
</style>
<style name="Theme.App.SplashScreen" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splashscreen</item>
</style>
</resources>
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.2.2</domain><domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
-45
View File
@@ -1,45 +0,0 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
// @generated begin react-native-google-cast-version - expo prebuild (DO NOT MODIFY) sync-db817f4a724fb91198c6371e63f6b1188e44e98d
castFrameworkVersion = "+"
// @generated end react-native-google-cast-version
kotlinVersion = "1.3.50"
buildToolsVersion = "29.0.3"
minSdkVersion = 21
compileSdkVersion = 30
targetSdkVersion = 30
}
repositories {
google()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath("com.android.tools.build:gradle:4.1.0")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
allprojects { repositories { maven { url "$rootDir/../node_modules/detox/Detox-android" } } }
-31
View File
@@ -1,31 +0,0 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.54.0
expo.jsEngine=jsc
android.enableDexingArtifactTransform.desugaring=false
Binary file not shown.
@@ -1,5 +0,0 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-183
View File
@@ -1,183 +0,0 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"
-103
View File
@@ -1,103 +0,0 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
-9
View File
@@ -1,9 +0,0 @@
rootProject.name = 'app'
apply from: '../node_modules/react-native-unimodules/gradle.groovy'
includeUnimodulesProjects()
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle");
applyNativeModulesSettingsGradle(settings)
include ':app'
+6
View File
@@ -0,0 +1,6 @@
module.exports = ({ config }) => {
if (!config.extra) config.extra = {};
// Expose CI env variables to the app
config.extra.CI = process.env.CI;
return config;
};
+2 -36
View File
@@ -4,7 +4,7 @@
"slug": "app",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"icon": "./assets/icons/winter.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
@@ -31,41 +31,7 @@
"favicon": "./assets/favicon.png"
},
"plugins": [
"@react-native-mapbox-gl/maps",
[
"@config-plugins/react-native-dynamic-app-icon",
[
"./assets/stickers/avocool.png",
"https://pbs.twimg.com/profile_images/1308332115919020032/jlqFOD33_400x400.jpg",
"https://s3.amazonaws.com/assets.materialup.com/users/pictures/000/361/144/preview/open-uri20180613-4-1yz52gq?1528892052"
]
],
"@config-plugins/detox",
"@config-plugins/react-native-google-cast",
"@config-plugins/react-native-ble-plx",
"@config-plugins/react-native-webrtc",
"@config-plugins/react-native-callkeep",
[
"@config-plugins/ios-stickers",
{
"name": "Stickers",
"icon": "./assets/imessage-icon.png",
"columns": 4,
"stickers": [
"./assets/stickers/annoyed.png",
"./assets/stickers/cuddle.png",
"./assets/stickers/crazy.png",
"./assets/stickers/cant.png",
"./assets/stickers/donno.png",
"./assets/stickers/cozzy.png",
"./assets/stickers/dork.png",
"./assets/stickers/focus.png",
"./assets/stickers/avocool.png",
"./assets/stickers/coder-girl.png",
"./assets/stickers/teapot.png"
]
}
]
"@config-plugins/detox"
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

+5 -5
View File
@@ -1,6 +1,6 @@
const iosName = "app";
const emulator = "Pixel_3a_API_30";
const simulator = "iPhone 11 Pro";
const emulator = process.env.CI ? "app" : "Pixel_3a_API_30";
const simulator = "iPhone 11";
const derivedDataPath = "ios/build";
const sdk = "iphonesimulator";
@@ -17,18 +17,18 @@ module.exports = {
"ios.release": {
type: "ios.app",
binaryPath: `${derivedDataPath}/Build/Products/Release-${sdk}/${iosName}.app`,
build: `export RCT_NO_LAUNCH_PACKAGER=true && xcodebuild -workspace ios/${iosName}.xcworkspace -scheme ${iosName} -configuration Release -sdk ${sdk} -derivedDataPath ${derivedDataPath} | npx excpretty ./`,
build: `./scripts/build-detox-ios.sh ${iosName} Release YES`,
},
"ios.debug": {
type: "ios.app",
binaryPath: `${derivedDataPath}/Build/Products/Debug-${sdk}/${iosName}.app`,
build: `xcodebuild -workspace ios/${iosName}.xcworkspace -scheme ${iosName} -configuration Debug -sdk ${sdk} -derivedDataPath ${derivedDataPath} | npx excpretty ./`,
build: `./scripts/start-metro.sh && ./scripts/build-detox-ios.sh ${iosName} Debug`,
},
"android.debug": {
type: "android.apk",
binaryPath: "android/app/build/outputs/apk/debug/app-debug.apk",
build:
"pushd android; ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug; popd",
"./scripts/start-metro.sh && pushd android; ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug; popd",
},
"android.release": {
type: "android.apk",
+7 -14
View File
@@ -1,4 +1,4 @@
import { by, device, element, expect } from "detox";
import { device } from "detox";
import * as path from "path";
import { createCapture } from "../lib";
@@ -6,7 +6,10 @@ import { createCapture } from "../lib";
const projectRoot = path.resolve(__dirname, "../../");
// https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html
const languages = ["en-US", "nl-NL", "zh-CN"];
const languages = [
"en-US",
// "nl-NL", "zh-CN"
];
for (const locale of languages) {
const { captureAsync, resetAppAsync } = createCapture({
@@ -21,18 +24,8 @@ for (const locale of languages) {
await device.reloadReactNative();
});
it("should have welcome screen", async () => {
await expect(element(by.id("welcome"))).toBeVisible();
await captureAsync();
});
xit("should show hello screen after tap", async () => {
await element(by.id("hello_button")).tap();
await captureAsync();
});
xit("should show world screen after tap", async () => {
await element(by.id("world_button")).tap();
it("should load app", async () => {
// await expect(element(by.id("welcome"))).toBeVisible();
await captureAsync();
});
});
+18 -8
View File
@@ -4,10 +4,19 @@ import * as path from "path";
import { setStatusBar } from "./setStatusBar";
export function getOutputDir(projectRoot: string, locale: string) {
return path.resolve(
projectRoot,
`meta/screenshots/${device.getPlatform()}/${locale}/`
);
const store = device.getPlatform() === "ios" ? "apple" : "google";
return path.resolve(projectRoot, `merch/${store}/preview/${locale}/`);
}
function resolveName(str: string) {
if (str && device.getPlatform() === "ios" && typeof str === "string") {
// Convert a name like: `E9EA2214-6B88-4223-9872-8232168088FB {"type":"iPhone 12 Pro Max"}`
// to `iPhone 12 Pro Max`
// Name is important for screenshot sorting
const match = str.match(/"type"\s?:\s?"(.*)"}/i)?.[1];
return match || str;
}
return str;
}
export async function takeScreenshotAsync({
@@ -27,8 +36,9 @@ export async function takeScreenshotAsync({
if (index == null) {
index = fs.readdirSync(outputDir).length;
}
const deviceName = resolveName(device.name);
const name = `APP_${device.name}_${index}`.toUpperCase();
const name = `APP_${deviceName}-${index}`;
const imgPath = path.resolve(outputDir, `${name}.png`);
const imagePath = await device.takeScreenshot(name);
await fs.promises.copyFile(imagePath, imgPath);
@@ -47,10 +57,10 @@ export function createCapture({
locale,
});
const clearAsync = () => {
const clearAsync = async () => {
// Clear old screen shots
const outputDir = getOutputDir(projectRoot, locale);
fs.rmdirSync(outputDir, { recursive: true });
await fs.promises.rmdir(outputDir, { recursive: true }).catch(() => null);
};
return {
@@ -58,7 +68,7 @@ export function createCapture({
clearAsync,
async resetAppAsync() {
// Clear old screen shots
await clearAsync();
// await clearAsync();
// configure status bars
setStatusBar();
+10 -1
View File
@@ -1,7 +1,16 @@
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import App from "./App";
import Constants from "expo-constants";
let App;
// Only use the Detox test in CI
if ((Constants.manifest.extra || {}).CI) {
App = require("./src/detox/App").default;
} else {
App = require("./App").default;
}
// import App from "./App";
// registerRootComponent calls AppRegistry.registerComponent('main', () => App);
// It also ensures that whether you load the app in Expo Go or in a native build,
-28
View File
@@ -1,28 +0,0 @@
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/react-native-unimodules/cocoapods.rb'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '11.0'
target 'app' do
use_unimodules!
config = use_native_modules!
# @generated begin pre_installer - expo prebuild (DO NOT MODIFY) sync-c8812095000d6054b846ce74840f0ffb540c2757
pre_install do |installer|
# @generated begin @react-native-mapbox-gl/maps-pre_installer - expo prebuild (DO NOT MODIFY) sync-5a7ed0a20d5aff2d61639bc5bb4fd5551233d57c
$RNMBGL.pre_install(installer)
# @generated end @react-native-mapbox-gl/maps-pre_installer
end
# @generated end pre_installer
use_react_native!(:path => config["reactNativePath"])
# Uncomment to opt-in to using Flipper
#
# if !ENV['CI']
# use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1')
# post_install do |installer|
# flipper_post_install(installer)
# end
# end
end
-674
View File
@@ -1,674 +0,0 @@
PODS:
- boost-for-react-native (1.63.0)
- DoubleConversion (1.1.6)
- EXApplication (3.1.2):
- UMCore
- EXConstants (10.1.3):
- UMConstantsInterface
- UMCore
- EXErrorRecovery (2.1.0):
- UMCore
- EXFileSystem (11.0.2):
- UMCore
- UMFileSystemInterface
- EXFont (9.1.0):
- UMCore
- UMFontInterface
- EXImageLoader (2.1.1):
- React-Core
- UMCore
- UMImageLoaderInterface
- EXKeepAwake (9.1.2):
- UMCore
- EXLocalization (10.1.0):
- UMCore
- EXPermissions (12.0.1):
- UMCore
- UMPermissionsInterface
- EXSplashScreen (0.10.2):
- React-Core
- UMCore
- EXStructuredHeaders (1.0.1):
- UMCore
- EXUpdates (0.5.5):
- EXStructuredHeaders
- React-Core
- UMCore
- FBLazyVector (0.63.4)
- FBReactNativeSpec (0.63.4):
- Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.4)
- RCTTypeSafety (= 0.63.4)
- React-Core (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- Folly (2020.01.13.00):
- boost-for-react-native
- DoubleConversion
- Folly/Default (= 2020.01.13.00)
- glog
- Folly/Default (2020.01.13.00):
- boost-for-react-native
- DoubleConversion
- glog
- glog (0.3.5)
- google-cast-sdk-no-bluetooth (4.6.1):
- google-cast-sdk-no-bluetooth/Core (= 4.6.1)
- Protobuf (~> 3.13)
- google-cast-sdk-no-bluetooth/Core (4.6.1):
- Protobuf (~> 3.13)
- Mapbox-iOS-SDK (5.9.0):
- MapboxMobileEvents (= 0.10.2)
- MapboxMobileEvents (0.10.2)
- MultiplatformBleAdapter (0.1.7)
- PromisesObjC (2.0.0)
- Protobuf (3.17.0)
- RCTRequired (0.63.4)
- RCTTypeSafety (0.63.4):
- FBLazyVector (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.4)
- React-Core (= 0.63.4)
- React (0.63.4):
- React-Core (= 0.63.4)
- React-Core/DevSupport (= 0.63.4)
- React-Core/RCTWebSocket (= 0.63.4)
- React-RCTActionSheet (= 0.63.4)
- React-RCTAnimation (= 0.63.4)
- React-RCTBlob (= 0.63.4)
- React-RCTImage (= 0.63.4)
- React-RCTLinking (= 0.63.4)
- React-RCTNetwork (= 0.63.4)
- React-RCTSettings (= 0.63.4)
- React-RCTText (= 0.63.4)
- React-RCTVibration (= 0.63.4)
- React-callinvoker (0.63.4)
- React-Core (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.4)
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/CoreModulesHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/Default (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/DevSupport (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.4)
- React-Core/RCTWebSocket (= 0.63.4)
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- React-jsinspector (= 0.63.4)
- Yoga
- React-Core/RCTActionSheetHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTAnimationHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTBlobHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTImageHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTLinkingHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTNetworkHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTSettingsHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTTextHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTVibrationHeaders (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-Core/RCTWebSocket (0.63.4):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.4)
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsiexecutor (= 0.63.4)
- Yoga
- React-CoreModules (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.4)
- React-Core/CoreModulesHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- React-RCTImage (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-cxxreact (0.63.4):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-callinvoker (= 0.63.4)
- React-jsinspector (= 0.63.4)
- React-jsi (0.63.4):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-jsi/Default (= 0.63.4)
- React-jsi/Default (0.63.4):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-jsiexecutor (0.63.4):
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- React-jsinspector (0.63.4)
- react-native-ble-plx (2.0.2):
- MultiplatformBleAdapter (= 0.1.7)
- React
- react-native-google-cast (4.1.2):
- React
- react-native-google-cast/NoBluetooth (= 4.1.2)
- react-native-google-cast/NoBluetooth (4.1.2):
- google-cast-sdk-no-bluetooth
- React
- react-native-google-cast/RNGoogleCast
- react-native-google-cast/RNGoogleCast (4.1.2):
- PromisesObjC
- React
- react-native-mapbox-gl (8.2.1):
- Mapbox-iOS-SDK (~> 5.9.0)
- React
- React-Core
- react-native-mapbox-gl/DynamicLibrary (= 8.2.1)
- react-native-mapbox-gl/StaticLibraryFixer (= 8.2.1)
- react-native-mapbox-gl/DynamicLibrary (8.2.1):
- Mapbox-iOS-SDK (~> 5.9.0)
- React
- React-Core
- react-native-mapbox-gl/StaticLibraryFixer (8.2.1):
- Mapbox-iOS-SDK (~> 5.9.0)
- React
- React-Core
- react-native-webrtc (1.89.3):
- React-Core
- React-RCTActionSheet (0.63.4):
- React-Core/RCTActionSheetHeaders (= 0.63.4)
- React-RCTAnimation (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.4)
- React-Core/RCTAnimationHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTBlob (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- React-Core/RCTBlobHeaders (= 0.63.4)
- React-Core/RCTWebSocket (= 0.63.4)
- React-jsi (= 0.63.4)
- React-RCTNetwork (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTImage (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.4)
- React-Core/RCTImageHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- React-RCTNetwork (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTLinking (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- React-Core/RCTLinkingHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTNetwork (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.4)
- React-Core/RCTNetworkHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTSettings (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.4)
- React-Core/RCTSettingsHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- React-RCTText (0.63.4):
- React-Core/RCTTextHeaders (= 0.63.4)
- React-RCTVibration (0.63.4):
- FBReactNativeSpec (= 0.63.4)
- Folly (= 2020.01.13.00)
- React-Core/RCTVibrationHeaders (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- ReactCommon/turbomodule/core (0.63.4):
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-callinvoker (= 0.63.4)
- React-Core (= 0.63.4)
- React-cxxreact (= 0.63.4)
- React-jsi (= 0.63.4)
- RNCallKeep (4.2.0):
- React
- RNDynamicAppIcon (1.1.0):
- React
- RNGestureHandler (1.10.3):
- React-Core
- RNReanimated (2.1.0):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
- Folly
- glog
- RCTRequired
- RCTTypeSafety
- React
- React-callinvoker
- React-Core
- React-Core/DevSupport
- React-Core/RCTWebSocket
- React-CoreModules
- React-cxxreact
- React-jsi
- React-jsiexecutor
- React-jsinspector
- React-RCTActionSheet
- React-RCTAnimation
- React-RCTBlob
- React-RCTImage
- React-RCTLinking
- React-RCTNetwork
- React-RCTSettings
- React-RCTText
- React-RCTVibration
- ReactCommon/turbomodule/core
- Yoga
- RNScreens (3.0.0):
- React-Core
- UMAppLoader (2.1.0)
- UMBarCodeScannerInterface (6.1.0):
- UMCore
- UMCameraInterface (6.1.0):
- UMCore
- UMConstantsInterface (6.1.0):
- UMCore
- UMCore (7.1.0)
- UMFaceDetectorInterface (6.1.0)
- UMFileSystemInterface (6.1.0)
- UMFontInterface (6.1.0)
- UMImageLoaderInterface (6.1.0)
- UMPermissionsInterface (6.1.0):
- UMCore
- UMReactNativeAdapter (6.2.2):
- React-Core
- UMCore
- UMFontInterface
- UMSensorsInterface (6.1.0):
- UMCore
- UMTaskManagerInterface (6.1.0):
- UMCore
- Yoga (1.14.0)
DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- EXApplication (from `../../../node_modules/expo-application/ios`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- EXErrorRecovery (from `../../../node_modules/expo-error-recovery/ios`)
- EXFileSystem (from `../../../node_modules/expo-file-system/ios`)
- EXFont (from `../../../node_modules/expo-font/ios`)
- EXImageLoader (from `../../../node_modules/expo-image-loader/ios`)
- EXKeepAwake (from `../../../node_modules/expo-keep-awake/ios`)
- EXLocalization (from `../../../node_modules/expo-localization/ios`)
- EXPermissions (from `../../../node_modules/expo-permissions/ios`)
- EXSplashScreen (from `../../../node_modules/expo-splash-screen/ios`)
- EXStructuredHeaders (from `../../../node_modules/expo-structured-headers/ios`)
- EXUpdates (from `../node_modules/expo-updates/ios`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Core (from `../node_modules/react-native/`)
- React-Core/DevSupport (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- react-native-ble-plx (from `../../../node_modules/react-native-ble-plx`)
- react-native-google-cast (from `../../../node_modules/react-native-google-cast/ios`)
- "react-native-mapbox-gl (from `../../../node_modules/@react-native-mapbox-gl/maps`)"
- react-native-webrtc (from `../../../node_modules/react-native-webrtc`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- RNCallKeep (from `../../../node_modules/react-native-callkeep`)
- RNDynamicAppIcon (from `../../../node_modules/react-native-dynamic-app-icon`)
- RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`)
- RNReanimated (from `../../../node_modules/react-native-reanimated`)
- RNScreens (from `../../../node_modules/react-native-screens`)
- UMAppLoader (from `../../../node_modules/unimodules-app-loader/ios`)
- UMBarCodeScannerInterface (from `../../../node_modules/unimodules-barcode-scanner-interface/ios`)
- UMCameraInterface (from `../../../node_modules/unimodules-camera-interface/ios`)
- UMConstantsInterface (from `../../../node_modules/unimodules-constants-interface/ios`)
- "UMCore (from `../../../node_modules/@unimodules/core/ios`)"
- UMFaceDetectorInterface (from `../../../node_modules/unimodules-face-detector-interface/ios`)
- UMFileSystemInterface (from `../../../node_modules/unimodules-file-system-interface/ios`)
- UMFontInterface (from `../../../node_modules/unimodules-font-interface/ios`)
- UMImageLoaderInterface (from `../../../node_modules/unimodules-image-loader-interface/ios`)
- UMPermissionsInterface (from `../../../node_modules/unimodules-permissions-interface/ios`)
- "UMReactNativeAdapter (from `../../../node_modules/@unimodules/react-native-adapter/ios`)"
- UMSensorsInterface (from `../../../node_modules/unimodules-sensors-interface/ios`)
- UMTaskManagerInterface (from `../../../node_modules/unimodules-task-manager-interface/ios`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
trunk:
- boost-for-react-native
- google-cast-sdk-no-bluetooth
- Mapbox-iOS-SDK
- MapboxMobileEvents
- MultiplatformBleAdapter
- PromisesObjC
- Protobuf
EXTERNAL SOURCES:
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
EXApplication:
inhibit_warnings: false
:path: "../../../node_modules/expo-application/ios"
EXConstants:
inhibit_warnings: false
:path: "../node_modules/expo-constants/ios"
EXErrorRecovery:
inhibit_warnings: false
:path: "../../../node_modules/expo-error-recovery/ios"
EXFileSystem:
inhibit_warnings: false
:path: "../../../node_modules/expo-file-system/ios"
EXFont:
inhibit_warnings: false
:path: "../../../node_modules/expo-font/ios"
EXImageLoader:
inhibit_warnings: false
:path: "../../../node_modules/expo-image-loader/ios"
EXKeepAwake:
inhibit_warnings: false
:path: "../../../node_modules/expo-keep-awake/ios"
EXLocalization:
inhibit_warnings: false
:path: "../../../node_modules/expo-localization/ios"
EXPermissions:
inhibit_warnings: false
:path: "../../../node_modules/expo-permissions/ios"
EXSplashScreen:
inhibit_warnings: false
:path: "../../../node_modules/expo-splash-screen/ios"
EXStructuredHeaders:
inhibit_warnings: false
:path: "../../../node_modules/expo-structured-headers/ios"
EXUpdates:
inhibit_warnings: false
:path: "../node_modules/expo-updates/ios"
FBLazyVector:
:path: "../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
:path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
RCTRequired:
:path: "../node_modules/react-native/Libraries/RCTRequired"
RCTTypeSafety:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Core:
:path: "../node_modules/react-native/"
React-CoreModules:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
:path: "../node_modules/react-native/ReactCommon/jsinspector"
react-native-ble-plx:
:path: "../../../node_modules/react-native-ble-plx"
react-native-google-cast:
:path: "../../../node_modules/react-native-google-cast/ios"
react-native-mapbox-gl:
:path: "../../../node_modules/@react-native-mapbox-gl/maps"
react-native-webrtc:
:path: "../../../node_modules/react-native-webrtc"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
:path: "../node_modules/react-native/Libraries/Image"
React-RCTLinking:
:path: "../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
:path: "../node_modules/react-native/Libraries/Network"
React-RCTSettings:
:path: "../node_modules/react-native/Libraries/Settings"
React-RCTText:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
RNCallKeep:
:path: "../../../node_modules/react-native-callkeep"
RNDynamicAppIcon:
:path: "../../../node_modules/react-native-dynamic-app-icon"
RNGestureHandler:
:path: "../../../node_modules/react-native-gesture-handler"
RNReanimated:
:path: "../../../node_modules/react-native-reanimated"
RNScreens:
:path: "../../../node_modules/react-native-screens"
UMAppLoader:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-app-loader/ios"
UMBarCodeScannerInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-barcode-scanner-interface/ios"
UMCameraInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-camera-interface/ios"
UMConstantsInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-constants-interface/ios"
UMCore:
inhibit_warnings: false
:path: "../../../node_modules/@unimodules/core/ios"
UMFaceDetectorInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-face-detector-interface/ios"
UMFileSystemInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-file-system-interface/ios"
UMFontInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-font-interface/ios"
UMImageLoaderInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-image-loader-interface/ios"
UMPermissionsInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-permissions-interface/ios"
UMReactNativeAdapter:
inhibit_warnings: false
:path: "../../../node_modules/@unimodules/react-native-adapter/ios"
UMSensorsInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-sensors-interface/ios"
UMTaskManagerInterface:
inhibit_warnings: false
:path: "../../../node_modules/unimodules-task-manager-interface/ios"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
DoubleConversion: cde416483dac037923206447da6e1454df403714
EXApplication: 4797b8b37f0b0470f587fdccf6407f44b50d18b5
EXConstants: c4dd28acc12039c999612507a5f935556f2c86ce
EXErrorRecovery: 720641265b8cf95e6cdeb1884ac38e794a352488
EXFileSystem: dcf2273f49431e5037347c733a2dc5d08e0d0a9e
EXFont: d6fb79f9863120f0d0b26b0c2d1453bc9511e9df
EXImageLoader: da941c9399e01ec28f2d5b270bdd21f2c8ca596c
EXKeepAwake: d4e4a3ed8c1c4fd940dd62fc5a8be2a190371fd4
EXLocalization: f139efe4a06be1041815879959346e3d437a6e93
EXPermissions: 8f8c1c05580c4e02d4ee2c8dd74bfe173ff6a723
EXSplashScreen: a9baaf4fa866003884c90ba049f18760d6a8ce39
EXStructuredHeaders: be834496a4d9fd0069cd12ec1cc57b31c6d3b256
EXUpdates: efe0e8c514dcff06a8fd0b63be6019a6365fb9c7
FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e
FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
google-cast-sdk-no-bluetooth: b3037c14fdf07a794326502e799beb0875ab2029
Mapbox-iOS-SDK: a5915700ec84bc1a7f8b3e746d474789e35b7956
MapboxMobileEvents: 2bc0ca2eedb627b73cf403258dce2b2fa98074a6
MultiplatformBleAdapter: 975cfb2a333b2c42b7a11628bd100ccb61872da2
PromisesObjC: 68159ce6952d93e17b2dfe273b8c40907db5ba58
Protobuf: 7327d4444215b5f18e560a97f879ff5503c4581c
RCTRequired: 082f10cd3f905d6c124597fd1c14f6f2655ff65e
RCTTypeSafety: 8c9c544ecbf20337d069e4ae7fd9a377aadf504b
React: b0a957a2c44da4113b0c4c9853d8387f8e64e615
React-callinvoker: c3f44dd3cb195b6aa46621fff95ded79d59043fe
React-Core: d3b2a1ac9a2c13c3bcde712d9281fc1c8a5b315b
React-CoreModules: 0581ff36cb797da0943d424f69e7098e43e9be60
React-cxxreact: c1480d4fda5720086c90df537ee7d285d4c57ac3
React-jsi: a0418934cf48f25b485631deb27c64dc40fb4c31
React-jsiexecutor: 93bd528844ad21dc07aab1c67cb10abae6df6949
React-jsinspector: 58aef7155bc9a9683f5b60b35eccea8722a4f53a
react-native-ble-plx: caac53ee98151ec81198239d591c203809a1ed6e
react-native-google-cast: 8538c321da08b2289d24c173cbdfb1bacf8d3be8
react-native-mapbox-gl: b79f2d7522556eeabd9fe5c4c94f8f6ce4412304
react-native-webrtc: 2e8095a43dd3d95ce796d9750280c0f48aadad3d
React-RCTActionSheet: 89a0ca9f4a06c1f93c26067af074ccdce0f40336
React-RCTAnimation: 1bde3ecc0c104c55df246eda516e0deb03c4e49b
React-RCTBlob: a97d378b527740cc667e03ebfa183a75231ab0f0
React-RCTImage: c1b1f2d3f43a4a528c8946d6092384b5c880d2f0
React-RCTLinking: 35ae4ab9dc0410d1fcbdce4d7623194a27214fb2
React-RCTNetwork: 29ec2696f8d8cfff7331fac83d3e893c95ef43ae
React-RCTSettings: 60f0691bba2074ef394f95d4c2265ec284e0a46a
React-RCTText: 5c51df3f08cb9dedc6e790161195d12bac06101c
React-RCTVibration: ae4f914cfe8de7d4de95ae1ea6cc8f6315d73d9d
ReactCommon: 73d79c7039f473b76db6ff7c6b159c478acbbb3b
RNCallKeep: 8cbaafb72c4a1738f4a6e70fdaf041a14083ce5b
RNDynamicAppIcon: f7eb12d6c2e6e957eead111dacdb93af318396ac
RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211
RNReanimated: 70f662b5232dd5d19ccff581e919a54ea73df51c
RNScreens: e8e8dd0588b5da0ab57dcca76ab9b2d8987757e0
UMAppLoader: fe2708bb0ac5cd70052bc207d06aa3b7e72b9e97
UMBarCodeScannerInterface: 79f92bea5f7af39b381a4c82298105ceb537408a
UMCameraInterface: 81ff46700da88435f17afedfc88915eaede7e6a6
UMConstantsInterface: bb94dd46039dcde276ed50225b29e22785e604bf
UMCore: 60b35f4d217461f7b54934b0c5be67442871f01f
UMFaceDetectorInterface: 791eec55ffca1171992976b7eceb73e69e391c58
UMFileSystemInterface: f72245e90ce78fa6427180ff0b0904ead13d8161
UMFontInterface: 5843cff7db85a42ba629aaac53d33091c35524d3
UMImageLoaderInterface: 9ddffeb644b3f45d4eb0c2f51a2fd95fd5c8d1a4
UMPermissionsInterface: 40b72935a7d12a3f60dc6b7bb99ce47908380cb1
UMReactNativeAdapter: 65ada852a648fcb6674acfbfe72ccb095f2f5b75
UMSensorsInterface: a5e9db661e5d9ae214762033d725989880ae6993
UMTaskManagerInterface: 203c11259d2699b5b3a4eda4adbc466f5cb5c561
Yoga: 4bd86afe9883422a7c4028c00e34790f560923d6
PODFILE CHECKSUM: 9a890b8596b09eb8ff8ca488a161ba9f1d3da249
COCOAPODS: 1.10.1
-31
View File
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.message-payload-provider</string>
<key>NSExtensionPrincipalClass</key>
<string>StickerBrowserViewController</string>
</dict>
<key>CFBundleDisplayName</key>
<string>Stickers</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
</dict>
</plist>
@@ -1,6 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
}
}
@@ -1,44 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"grid-size": "small"
},
"stickers": [
{
"filename": "annoyed.sticker"
},
{
"filename": "cuddle.sticker"
},
{
"filename": "crazy.sticker"
},
{
"filename": "cant.sticker"
},
{
"filename": "donno.sticker"
},
{
"filename": "cozzy.sticker"
},
{
"filename": "dork.sticker"
},
{
"filename": "focus.sticker"
},
{
"filename": "avocool.sticker"
},
{
"filename": "coder-girl.sticker"
},
{
"filename": "teapot.sticker"
}
]
}
@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

@@ -1,9 +0,0 @@
{
"info": {
"author": "expo",
"version": 1
},
"properties": {
"filename": "image.png"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Loaded 100 of 295 files, more files were not shown because too many files have changed in this diff. Show more