diff --git a/.env.development b/.env.development index 265055a..0560a01 100644 --- a/.env.development +++ b/.env.development @@ -1 +1,2 @@ -BASE_URL=https://localhost:8443 \ No newline at end of file +NODE_ENV=development +BASE_URL=http://localhost:8080 \ No newline at end of file diff --git a/.env.production b/.env.production index 55de816..afe9e7e 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,3 @@ +NODE_ENV=production BASE_URL=https://bk5wiynzsi.execute-api.ap-southeast-1.amazonaws.com/api/ ENV=production \ No newline at end of file diff --git a/.gitignore b/.gitignore index 25d0ab1..5b2802f 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,44 @@ amplifytools.xcconfig .secret-* **.sample #amplify-do-not-edit-end + +# @generated expo-cli sync-b5df6a44d8735348b729920a7406b633cfb74d4c +# The following patterns were generated by expo-cli + +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ + +# Native +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo + +# @end expo-cli \ No newline at end of file diff --git a/App.tsx b/App.tsx index 75dcdcd..42c16d8 100644 --- a/App.tsx +++ b/App.tsx @@ -1,6 +1,3 @@ -import './gesture-handler'; - - import React, { useState } from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; diff --git a/android/app/build.gradle b/android/app/build.gradle index 86bc471..fc98602 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -110,6 +110,7 @@ android { shrinkResources (findProperty('android.enableShrinkResourcesInReleaseBuilds')?.toBoolean() ?: false) minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + crunchPngs (findProperty('android.enablePngCrunchInReleaseBuilds')?.toBoolean() ?: true) } } packagingOptions { diff --git a/android/app/src/main/java/com/safeqr/safeqr/MainActivity.kt b/android/app/src/main/java/com/safeqr/safeqr/MainActivity.kt index 2ad1d52..59587f3 100644 --- a/android/app/src/main/java/com/safeqr/safeqr/MainActivity.kt +++ b/android/app/src/main/java/com/safeqr/safeqr/MainActivity.kt @@ -1,6 +1,3 @@ -import android.os.Bundle; - - package com.safeqr.safeqr import android.os.Build diff --git a/android/gradle.properties b/android/gradle.properties index 41b173c..40220de 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -25,6 +25,9 @@ android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true +# Enable AAPT2 PNG crunching +android.enablePngCrunchInReleaseBuilds=true + # Use this property to specify which architecture you want to build. # You can also override it from the CLI using # ./gradlew -PreactNativeArchitectures=x86_64 diff --git a/api/qrCodeAPI.tsx b/api/qrCodeAPI.tsx index 2a19784..944c1a3 100644 --- a/api/qrCodeAPI.tsx +++ b/api/qrCodeAPI.tsx @@ -1,7 +1,7 @@ import axios from 'axios'; import Constants from 'expo-constants'; -//const { API_BASE_URL } = Constants.expoConfig.extra; -const API_BASE_URL = 'https://localhost:8443'; +const { API_BASE_URL } = Constants.expoConfig.extra; +//const API_BASE_URL = 'https://localhost:8443'; const API_URL_DETECT = "/v1/qrcodetypes/detect"; const API_URL_VERIFY_URL = "/v1/qrcodetypes/verifyURL" diff --git a/app.config.js b/app.config.js index b5ce77a..2b55058 100644 --- a/app.config.js +++ b/app.config.js @@ -1,5 +1,9 @@ import 'dotenv/config'; +console.log('Current NODE_ENV:', process.env.NODE_ENV); +console.log('Current BASE_URL:', process.env.BASE_URL); +console.log('Current ENVFILE:', process.env.ENVFILE); + export default ({ config }) => { return { ...config, diff --git a/index.js b/index.js new file mode 100644 index 0000000..1d6e981 --- /dev/null +++ b/index.js @@ -0,0 +1,8 @@ +import { registerRootComponent } from 'expo'; + +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, +// the environment is set up appropriately +registerRootComponent(App); diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5462d15..0736b8f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -13,7 +13,7 @@ PODS: - EXJSONUtils (0.13.1) - EXManifests (0.14.3): - ExpoModulesCore - - Expo (51.0.18): + - Expo (51.0.24): - ExpoModulesCore - expo-dev-client (4.0.19): - EXManifests @@ -224,13 +224,13 @@ PODS: - Yoga - ExpoAsset (10.0.10): - ExpoModulesCore - - ExpoCamera (15.0.13): + - ExpoCamera (15.0.14): - ExpoModulesCore - ZXingObjC/OneD - ZXingObjC/PDF417 - ExpoFileSystem (17.0.1): - ExpoModulesCore - - ExpoFont (12.0.7): + - ExpoFont (12.0.9): - ExpoModulesCore - ExpoImageManipulator (12.0.5): - EXImageLoader @@ -240,7 +240,7 @@ PODS: - ExpoModulesCore - ExpoKeepAwake (13.0.2): - ExpoModulesCore - - ExpoModulesCore (1.12.18): + - ExpoModulesCore (1.12.20): - DoubleConversion - glog - hermes-engine @@ -1217,9 +1217,9 @@ PODS: - React-Core - react-native-netinfo (11.3.1): - React-Core - - react-native-safe-area-context (4.10.8): + - react-native-safe-area-context (4.10.5): - React-Core - - react-native-webview (13.10.4): + - react-native-webview (13.8.6): - DoubleConversion - glog - hermes-engine @@ -1825,19 +1825,19 @@ SPEC CHECKSUMS: EXImageLoader: ab589d67d6c5f2c33572afea9917304418566334 EXJSONUtils: 30c17fd9cc364d722c0946a550dfbf1be92ef6a4 EXManifests: c1fab4c3237675e7b0299ea8df0bcb14baca4f42 - Expo: 56b642d0930789fc847dc7f424d2d599dfe59a5e + Expo: 798848eae1daf13363d69790986146b08d0cf92f expo-dev-client: bcca43a56437123873b32a36ea31568e4212c1ca expo-dev-launcher: ab76344f7a72c7b6bb255280a66202655ecf1965 expo-dev-menu: 9b9886b383163f14821e624f3eb51a2084491aa2 expo-dev-menu-interface: be32c09f1e03833050f0ee290dcc86b3ad0e73e4 ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875 - ExpoCamera: c5be8a28a769c4dee3a02e017e5b55415d9beb2c + ExpoCamera: a5d000b22cd7dfd2c5904ed960e549de42c96da0 ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51 - ExpoFont: 43b69559cef3d773db57c7ae7edd3cb0aa0dc610 + ExpoFont: e7f2275c10ca8573c991e007329ad6bf98086485 ExpoImageManipulator: aea99205c66043a00a0af90e345395637b9902fa ExpoImagePicker: 12a420923383ae38dccb069847218f27a3b87816 ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08 - ExpoModulesCore: 30e1ed4659356cb9a84e0e5ddf1d090d735973c1 + ExpoModulesCore: 5440e96a8ee014f4fd88e77264985fd0a65f5f8c ExpoSharing: 8db05dd85081219f75989a3db2c92fe5e9741033 EXUpdatesInterface: 996527fd7d1a5d271eb523258d603f8f92038f24 FBLazyVector: 7e977dd099937dc5458851233141583abba49ff2 @@ -1871,8 +1871,8 @@ SPEC CHECKSUMS: React-Mapbuffer: 9f68550e7c6839d01411ac8896aea5c868eff63a react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 react-native-netinfo: bdb108d340cdb41875c9ced535977cac6d2ff321 - react-native-safe-area-context: b7daa1a8df36095a032dff095a1ea8963cb48371 - react-native-webview: 596fb33d67a3cde5a74bf1f6b4c28d3543477fdd + react-native-safe-area-context: a240ad4b683349e48b1d51fed1611138d1bdad97 + react-native-webview: 05bae3a03a1e4f59568dfc05286c0ebf8954106c React-nativeconfig: fa5de9d8f4dbd5917358f8ad3ad1e08762f01dcb React-NativeModulesApple: 585d1b78e0597de364d259cb56007052d0bda5e5 React-perflogger: 7bb9ba49435ff66b666e7966ee10082508a203e8 diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png new file mode 100644 index 0000000..ae59862 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png new file mode 100644 index 0000000..ff9d541 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png new file mode 100644 index 0000000..ba79135 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png new file mode 100644 index 0000000..d2b59a9 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png new file mode 100644 index 0000000..597bdb4 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png new file mode 100644 index 0000000..2f0e2b6 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png new file mode 100644 index 0000000..ff9d541 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png new file mode 100644 index 0000000..3b83139 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png new file mode 100644 index 0000000..6cd063f Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png new file mode 100644 index 0000000..6cd063f Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png new file mode 100644 index 0000000..5239009 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png new file mode 100644 index 0000000..69908ae Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png new file mode 100644 index 0000000..04580c4 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png new file mode 100644 index 0000000..74e8e26 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png differ diff --git a/ios/SafeQR/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png new file mode 100644 index 0000000..2732229 Binary files /dev/null and b/ios/SafeQR/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png differ diff --git a/ios/SafeQR/SplashScreen.storyboard b/ios/SafeQR/SplashScreen.storyboard index ed03a52..d209ca6 100644 --- a/ios/SafeQR/SplashScreen.storyboard +++ b/ios/SafeQR/SplashScreen.storyboard @@ -22,15 +22,12 @@ + - - - - diff --git a/metro.config.js b/metro.config.js new file mode 100644 index 0000000..07c9fce --- /dev/null +++ b/metro.config.js @@ -0,0 +1,7 @@ +// Learn more https://docs.expo.io/guides/customizing-metro +const { getDefaultConfig } = require('expo/metro-config'); + +/** @type {import('expo/metro-config').MetroConfig} */ +const config = getDefaultConfig(__dirname); + +module.exports = config; diff --git a/package-lock.json b/package-lock.json index ebf015c..7265a1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,24 +23,24 @@ "aws-amplify": "^6.4.2", "axios": "^1.7.2", "dotenv": "^16.4.5", - "expo": "~51.0.17", - "expo-camera": "~15.0.13", + "expo": "~51.0.24", + "expo-camera": "~15.0.14", "expo-dev-client": "~4.0.19", "expo-image-manipulator": "^12.0.5", "expo-image-picker": "~15.0.7", "expo-sharing": "~12.0.1", "expo-status-bar": "~1.12.1", "react": "18.2.0", - "react-native": "^0.74.3", + "react-native": "0.74.3", "react-native-dotenv": "^3.4.11", - "react-native-gesture-handler": "^2.17.1", + "react-native-gesture-handler": "~2.16.1", "react-native-get-random-values": "^1.11.0", "react-native-qrcode-svg": "^6.3.1", - "react-native-reanimated": "^3.14.0", - "react-native-safe-area-context": "^4.10.4", + "react-native-reanimated": "~3.10.1", + "react-native-safe-area-context": "^4.10.5", "react-native-screens": "3.31.1", "react-native-svg": "15.2.0", - "react-native-webview": "^13.10.4", + "react-native-webview": "^13.8.6", "react-redux": "^9.1.2", "redux": "^5.0.1" }, @@ -3670,10 +3670,7 @@ "version": "2.0.17", "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", -<<<<<<< HEAD "license": "MIT", -======= ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "dependencies": { "@types/hammerjs": "^2.0.36" }, @@ -3698,15 +3695,15 @@ } }, "node_modules/@expo/cli": { - "version": "0.18.22", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.22.tgz", - "integrity": "sha512-s2VM+QvgjdDHIRskQj2ER6gKK3/rybiEA0snfKJZ7iXHN5sqiUzY7G/+i5wses842hsLQefCjwo/x6tzWNrF2A==", + "version": "0.18.26", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.26.tgz", + "integrity": "sha512-u9bTTXgcjaTloE9CHwxgrb8Me/Al4jiPykbVQpJydakH3GsIZfHy1zaLc7O39CoLjRz37WWi6Y5ZdgtQw9dCPQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "0.0.5", "@expo/config": "~9.0.0-beta.0", - "@expo/config-plugins": "~8.0.0-beta.0", + "@expo/config-plugins": "~8.0.8", "@expo/devcert": "^1.0.0", "@expo/env": "~0.3.0", "@expo/image-utils": "^0.5.0", @@ -3715,7 +3712,7 @@ "@expo/osascript": "^2.0.31", "@expo/package-manager": "^1.5.0", "@expo/plist": "^0.1.0", - "@expo/prebuild-config": "7.0.7", + "@expo/prebuild-config": "7.0.8", "@expo/rudder-sdk-node": "1.1.1", "@expo/spawn-async": "^1.7.2", "@expo/xcpretty": "^4.3.0", @@ -3844,9 +3841,9 @@ } }, "node_modules/@expo/cli/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -3878,13 +3875,13 @@ } }, "node_modules/@expo/config": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.1.tgz", - "integrity": "sha512-0tjaXBstTbXmD4z+UMFBkh2SZFwilizSQhW6DlaTMnPG5ezuw93zSFEWAuEC3YzkpVtNQTmYzxAYjxwh6seOGg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", + "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~8.0.0-beta.0", + "@expo/config-plugins": "~8.0.8", "@expo/config-types": "^51.0.0-unreleased", "@expo/json-file": "^8.3.0", "getenv": "^1.0.0", @@ -3897,9 +3894,9 @@ } }, "node_modules/@expo/config-plugins": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.7.tgz", - "integrity": "sha512-7xZCWTRA3SFjbLSCx4Rge8gvgaGbkduETrZx+l4r1hiUdFcG5BAt1CwcOYvTYrOy1nkvloIYJxeU/9AwADeevA==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.8.tgz", + "integrity": "sha512-Fvu6IO13EUw0R9WeqxUO37FkM62YJBNcZb9DyJAOgMz7Ez/vaKQGEjKt9cwT+Q6uirtCATMgaq6VWAW7YW8xXw==", "license": "MIT", "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -3999,9 +3996,9 @@ } }, "node_modules/@expo/config-plugins/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4305,9 +4302,9 @@ } }, "node_modules/@expo/image-utils/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4402,9 +4399,9 @@ } }, "node_modules/@expo/metro-config": { - "version": "0.18.8", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.8.tgz", - "integrity": "sha512-YGpTlVc1/6EPzPbt0LZt92Bwrpjngulup6uHSTRbwn/heMPfFaVv1Y4VE3GAUkx7/Qwu+dTVIV0Kys4pLOAIiw==", + "version": "0.18.10", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.10.tgz", + "integrity": "sha512-HTYQqKfV0JSuRp5aDvrPHezj5udXOWoXqHOjfTSnce2m13j6D0yYXTJNaKRhlgpPBrkg5DL7z1fL3zwDUpLM4w==", "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", @@ -4654,13 +4651,13 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.7.tgz", - "integrity": "sha512-yN7rSINZrBVu7VfFJk0G4U/cAEjCiiyPfXmXsToHVFxWtxn8jrxyyA1JfQH3xMHJs++sqpKR9yVRtb6ZgUNeJA==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.8.tgz", + "integrity": "sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==", "license": "MIT", "dependencies": { "@expo/config": "~9.0.0-beta.0", - "@expo/config-plugins": "~8.0.0-beta.0", + "@expo/config-plugins": "~8.0.8", "@expo/config-types": "^51.0.0-unreleased", "@expo/image-utils": "^0.5.0", "@expo/json-file": "^8.3.0", @@ -4703,9 +4700,9 @@ } }, "node_modules/@expo/prebuild-config/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -5237,9 +5234,9 @@ } }, "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -7344,10 +7341,7 @@ "version": "6.7.2", "resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.7.2.tgz", "integrity": "sha512-o4g2zgTZa2+oLd+8V33etrSM38KIqu8S/zCBTsdsHUoQyVE7JNRiv3Qgq/jMvEb8PZCqWmm7jHItcgzrBuwyOQ==", -<<<<<<< HEAD "license": "MIT", -======= ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "dependencies": { "@react-navigation/elements": "^1.3.31", "color": "^4.2.3", @@ -7367,10 +7361,7 @@ "version": "1.3.31", "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.31.tgz", "integrity": "sha512-bUzP4Awlljx5RKEExw8WYtif8EuQni2glDaieYROKTnaxsu9kEIA515sXQgUDZU4Ob12VoL7+z70uO3qrlfXcQ==", -<<<<<<< HEAD "license": "MIT", -======= ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "peerDependencies": { "@react-navigation/native": "^6.0.0", "react": "*", @@ -7416,6 +7407,7 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.4.1.tgz", "integrity": "sha512-upMEHOKMtuMu4c9gmoPlO/JqI6mDlSqwXg1aXKOTQLXAF8H5koOLRfrmi7AkdiE9A7lDXWUAZoGuD9O88cYvDQ==", + "license": "MIT", "dependencies": { "@react-navigation/elements": "^1.3.31", "color": "^4.2.3", @@ -8784,12 +8776,8 @@ "node_modules/@types/hammerjs": { "version": "2.0.45", "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz", -<<<<<<< HEAD "integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==", "license": "MIT" -======= - "integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==" ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", @@ -9743,9 +9731,9 @@ } }, "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", @@ -9775,9 +9763,9 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz", - "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -9790,21 +9778,15 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.1.tgz", - "integrity": "sha512-9/8QXrtbGeMB6LxwQd4x1tIMnsmUxMvIH/qWGsccz6bt9Uln3S+sgAaqfQNhbGA8ufzs2fHuP/yqapGgP9Hh2g==", - "license": "ISC", - "engines": { - "node": ">=18" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/cacache/node_modules/minimatch": { "version": "9.0.5", @@ -11205,24 +11187,24 @@ } }, "node_modules/expo": { - "version": "51.0.18", - "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.18.tgz", - "integrity": "sha512-QiaNq2XXjfDk009qbyBFd/5CNikcQ0ZucGlOB3ebNf3z9Q9wrfL1A9E4NqPh6sgm0VG486AYT9mNKwAfcOVCIA==", + "version": "51.0.24", + "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.24.tgz", + "integrity": "sha512-HoOuNIWXzS6Gxifcb0N+qRt5K6iR9YitQaWIVNB8elyupvQdyI566IMgMBiO45NgpO5es0sfFNNBasxBHLkbUw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.18.22", - "@expo/config": "9.0.1", - "@expo/config-plugins": "8.0.7", - "@expo/metro-config": "0.18.8", + "@expo/cli": "0.18.26", + "@expo/config": "9.0.3", + "@expo/config-plugins": "8.0.8", + "@expo/metro-config": "0.18.10", "@expo/vector-icons": "^14.0.0", "babel-preset-expo": "~11.0.12", "expo-asset": "~10.0.10", "expo-file-system": "~17.0.1", - "expo-font": "~12.0.7", + "expo-font": "~12.0.9", "expo-keep-awake": "~13.0.2", "expo-modules-autolinking": "1.11.1", - "expo-modules-core": "1.12.18", + "expo-modules-core": "1.12.20", "fbemitter": "^3.0.0", "whatwg-url-without-unicode": "8.0.0-3" }, @@ -11245,9 +11227,9 @@ } }, "node_modules/expo-camera": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-15.0.13.tgz", - "integrity": "sha512-EhGk1hkc0dgKqtQIw9SX31cl9t+ffDBfMCma+0qvSBnEkcfDQImrDDHSODknQrq6yNQDT9w3LqH5ZouG0m9pJQ==", + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-15.0.14.tgz", + "integrity": "sha512-O4uvVywGsQ3a89d0BX4lq6mDuGYGukx1PYY4QrC9zw1yzD2W9BVTl8lanFRPC5h4PRniekfeWUVH1a0jJmkLIw==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -11356,9 +11338,10 @@ } }, "node_modules/expo-font": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-12.0.7.tgz", - "integrity": "sha512-rbSdpjtT/A3M+u9xchR9tdD+5VGSxptUis7ngX5zfAVp3O5atOcPNSA82Jeo15HkrQE+w/upfFBOvi56lsGdsQ==", + "version": "12.0.9", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-12.0.9.tgz", + "integrity": "sha512-seTCyf0tbgkAnp3ZI9ZfK9QVtURQUgFnuj+GuJ5TSnN0XsOtVe1s2RxTvmMgkfuvfkzcjJ69gyRpsZS1cC8hjw==", + "license": "MIT", "dependencies": { "fontfaceobserver": "^2.1.0" }, @@ -11547,9 +11530,9 @@ } }, "node_modules/expo-modules-core": { - "version": "1.12.18", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.18.tgz", - "integrity": "sha512-YhIOJsMNjPvP0tmTbC1MRlxl5q7l21uQQDr1rlXEWHNmI2AEMW0gfr2wXrlB2Tz/oOIx8YqREsj3i0VsYXEaCA==", + "version": "1.12.20", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.20.tgz", + "integrity": "sha512-CCXjlgT8lDAufgt912P1W7TwD+KAylfIttc1Doh1a0hAfkdkUsDRmrgthnYrrxEo2ECVpbaB71Epp1bnZ1rRrA==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -11796,7 +11779,8 @@ "node_modules/fontfaceobserver": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", - "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==" + "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", + "license": "BSD-2-Clause" }, "node_modules/for-each": { "version": "0.3.3", @@ -12261,10 +12245,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", -<<<<<<< HEAD "license": "BSD-3-Clause", -======= ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "dependencies": { "react-is": "^16.7.0" } @@ -15707,9 +15688,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "funding": [ { "type": "opencollective", @@ -16344,24 +16325,15 @@ } }, "node_modules/react-native-gesture-handler": { -<<<<<<< HEAD "version": "2.16.2", "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.16.2.tgz", "integrity": "sha512-vGFlrDKlmyI+BT+FemqVxmvO7nqxU33cgXVsn6IKAFishvlG3oV2Ds67D5nPkHMea8T+s1IcuMm0bF8ntZtAyg==", "license": "MIT", -======= - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.17.1.tgz", - "integrity": "sha512-pWfniN6NuVKUq40KACuD3NCMe+bWNQCpD3cmxL6aLSCTwPKYmf7l4Lp0/E/almpjvxhybJZtFLU0w4tmxnIKaA==", ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", "invariant": "^2.2.4", -<<<<<<< HEAD "lodash": "^4.17.21", -======= ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "prop-types": "^15.7.2" }, "peerDependencies": { @@ -16396,16 +16368,10 @@ } }, "node_modules/react-native-reanimated": { -<<<<<<< HEAD "version": "3.10.1", "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz", "integrity": "sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w==", "license": "MIT", -======= - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.14.0.tgz", - "integrity": "sha512-TAxLtCfRyC/nOLeWoX/8MhdIF+Fi1e1NbLhIgEm5Kv9/gioAwSNaqLUYxjIClU1RaLwSTE8iaiHNVhTU4TS9DA==", ->>>>>>> 278f51e60650b96379aeb7a326d446d685b2a27f "dependencies": { "@babel/plugin-transform-arrow-functions": "^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0", @@ -16423,9 +16389,9 @@ } }, "node_modules/react-native-safe-area-context": { - "version": "4.10.8", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.10.8.tgz", - "integrity": "sha512-Jx1lovhvIdYygg0UsMCBUJN0Wvj9GlA5bbcBLzjZf93uJpNHzaiHC4hR280+sNVK1+/pMHEyEkXVHDZE5JWn0w==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.10.5.tgz", + "integrity": "sha512-Wyb0Nqw2XJ6oZxW/cK8k5q7/UAhg/wbEG6UVf89rQqecDZTDA5ic//P9J6VvJRVZerzGmxWQpVuM7f+PRYUM4g==", "license": "MIT", "peerDependencies": { "react": "*", @@ -16490,9 +16456,10 @@ } }, "node_modules/react-native-webview": { - "version": "13.10.4", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.10.4.tgz", - "integrity": "sha512-kRn70M7vyBS3IDaX2KqyF66ovUkrBS6LiHOgrEmRdZFO0i3hYY0wldEv1fJuKvgQIPMfo7GtGAjozFrk2vQdBw==", + "version": "13.8.6", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.8.6.tgz", + "integrity": "sha512-jtZ9OgB2AN6rhDwto6dNL3PtOtl/SI4VN93pZEPbMLvRjqHfxiUrilGllL5fKAXq5Ry5FJyfUi82A4Ii8olZ7A==", + "license": "MIT", "dependencies": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" diff --git a/package.json b/package.json index e577ddb..60b0c1f 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,15 @@ { "name": "safeqr", "version": "1.0.0", - "main": "expo/AppEntry.js", "scripts": { - "start": "expo start", - "android:dev": "ENVFILE=.env.development expo run:android", - "android:prod": "ENVFILE=.env.production expo run:android", - "ios:dev": "ENVFILE=.env.development expo run:ios", - "ios:prod": "ENVFILE=.env.production expo run:ios", - "web": "expo start --web" + "start": "expo start --dev-client", + "android:dev": "NODE_ENV=development ENVFILE=.env.development expo run:android", + "android:prod": "NODE_ENV=production ENVFILE=.env.production expo run:android", + "ios:dev": "NODE_ENV=development ENVFILE=.env.development expo run:ios", + "ios:prod": "NODE_ENV=production ENVFILE=.env.production expo run:ios", + "web": "expo start --web", + "android": "expo run:android", + "ios": "expo run:ios" }, "dependencies": { "@aws-amplify/auth": "^6.3.10", @@ -26,24 +27,24 @@ "aws-amplify": "^6.4.2", "axios": "^1.7.2", "dotenv": "^16.4.5", - "expo": "~51.0.17", - "expo-camera": "~15.0.13", + "expo": "~51.0.24", + "expo-camera": "~15.0.14", "expo-dev-client": "~4.0.19", "expo-image-manipulator": "^12.0.5", "expo-image-picker": "~15.0.7", "expo-sharing": "~12.0.1", "expo-status-bar": "~1.12.1", "react": "18.2.0", - "react-native": "^0.74.3", + "react-native": "0.74.3", "react-native-dotenv": "^3.4.11", - "react-native-gesture-handler": "^2.17.1", + "react-native-gesture-handler": "~2.16.1", "react-native-get-random-values": "^1.11.0", "react-native-qrcode-svg": "^6.3.1", - "react-native-reanimated": "^3.14.0", - "react-native-safe-area-context": "^4.10.4", + "react-native-reanimated": "~3.10.1", + "react-native-safe-area-context": "^4.10.5", "react-native-screens": "3.31.1", "react-native-svg": "15.2.0", - "react-native-webview": "^13.10.4", + "react-native-webview": "^13.8.6", "react-redux": "^9.1.2", "redux": "^5.0.1" },