From 157322c47a010e128a657699690a75ac78befee8 Mon Sep 17 00:00:00 2001 From: IZUMI-Zu <274620705z@gmail.com> Date: Sat, 14 Dec 2024 20:11:01 +0800 Subject: [PATCH] feat: display runtime version and commit hash for Expo Go --- .github/workflows/preview.yml | 9 +- .gitignore | 3 + SettingPage.js | 16 +- app.json | 10 +- locales/ar/data.json | 6 +- locales/de/data.json | 6 +- locales/en/data.json | 3 +- locales/es/data.json | 6 +- locales/fr/data.json | 6 +- locales/ja/data.json | 3 +- locales/ko/data.json | 6 +- locales/pt/data.json | 6 +- locales/ru/data.json | 6 +- locales/th/data.json | 6 +- locales/uk/data.json | 6 +- locales/zh/data.json | 3 +- package-lock.json | 332 ++++++++++++++++++---------------- package.json | 9 +- 18 files changed, 243 insertions(+), 199 deletions(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index add2c83..ba4754f 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -75,7 +75,8 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: "20" + cache: "npm" - name: Install dependencies run: npm install @@ -93,9 +94,11 @@ jobs: - name: Create preview id: preview uses: expo/expo-github-action/preview@v8 + env: + EXPO_PUBLIC_COMMIT_HASH: ${{ steps.pr-details.outputs.head_sha }} with: comment: false - qr-target: 'expo-go' + qr-target: "expo-go" github-token: ${{ secrets.GITHUB_TOKEN }} command: eas update --auto --branch pr-${{ needs.check_permissions.outputs.pr_head_ref }} @@ -104,7 +107,7 @@ jobs: id: find_comment with: issue-number: ${{ needs.check_permissions.outputs.pr_number }} - comment-author: 'github-actions[bot]' + comment-author: "github-actions[bot]" body-includes: Expo Preview - name: Create or Update Comment diff --git a/.gitignore b/.gitignore index a49931b..935dcc7 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ yarn-error.* .idea/ *.iml .vscode/ + +android/ +ios/ diff --git a/SettingPage.js b/SettingPage.js index bcb6e0a..ee3d86f 100644 --- a/SettingPage.js +++ b/SettingPage.js @@ -18,6 +18,7 @@ import {Avatar, Button, IconButton, List, Surface, Text, useTheme} from "react-n import {ActionSheetProvider} from "@expo/react-native-action-sheet"; import * as Application from "expo-application"; import {useTranslation} from "react-i18next"; +import Constants, {ExecutionEnvironment} from "expo-constants"; import CasdoorLoginPage, {CasdoorLogout} from "./CasdoorLoginPage"; import LoginMethodSelector from "./LoginMethodSelector"; @@ -32,6 +33,7 @@ const SettingPage = () => { const {userInfo, clearAll} = useStore(); const theme = useTheme(); const {t} = useTranslation(); + const {openActionSheet} = LoginMethodSelector({ onSelectMethod: (method) => { setLoginMethod(method); @@ -106,10 +108,22 @@ const SettingPage = () => { } /> + {process.env.EXPO_PUBLIC_COMMIT_HASH && ( + } + /> + )} + diff --git a/app.json b/app.json index dcee825..c157583 100644 --- a/app.json +++ b/app.json @@ -7,14 +7,16 @@ "icon": "./assets/icon.png", "userInterfaceStyle": "light", "scheme": "casdoor-app", + "sdkVersion": "52.0.0", + "runtimeVersion": { + "policy": "appVersion" + }, "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, - "assetBundlePatterns": [ - "**/*" - ], + "assetBundlePatterns": ["**/*"], "ios": { "supportsTablet": true, "bundleIdentifier": "org.casdoor.casdoorapp", @@ -26,7 +28,7 @@ "backgroundColor": "#ffffff" }, "package": "org.casdoor.casdoorapp", - "versionCode": 0 + "versionCode": 510011500 }, "web": { "favicon": "./assets/favicon.png" diff --git a/locales/ar/data.json b/locales/ar/data.json index e1683ad..0fb1a36 100644 --- a/locales/ar/data.json +++ b/locales/ar/data.json @@ -88,11 +88,11 @@ "Preferences": "التفضيلات", "Language": "اللغة", "About": "حول", - "Version": "الإصدار" + "Version": "الإصدار", + "Commit Hash": "رمز التعديل" }, "syncLogic": { "Sync failed": "فشل المزامنة", "Access token has expired, please login again": "انتهت صلاحية رمز الوصول، يرجى تسجيل الدخول مرة أخرى" } - } - \ No newline at end of file +} diff --git a/locales/de/data.json b/locales/de/data.json index 9d32c25..64effff 100644 --- a/locales/de/data.json +++ b/locales/de/data.json @@ -88,11 +88,11 @@ "Preferences": "Einstellungen", "Language": "Sprache", "About": "Über", - "Version": "Version" + "Version": "Version", + "Commit Hash": "Commit Hash" }, "syncLogic": { "Sync failed": "Synchronisierung fehlgeschlagen", "Access token has expired, please login again": "Das Zugriffstoken ist abgelaufen, bitte melden Sie sich erneut an" } - } - \ No newline at end of file +} diff --git a/locales/en/data.json b/locales/en/data.json index 551e4d5..acfdeda 100644 --- a/locales/en/data.json +++ b/locales/en/data.json @@ -88,7 +88,8 @@ "Preferences": "Preferences", "Language": "Language", "About": "About", - "Version": "Version" + "Version": "Version", + "Commit Hash": "Commit Hash" }, "syncLogic": { "Sync failed": "Sync failed", diff --git a/locales/es/data.json b/locales/es/data.json index d1c4150..bddfc35 100644 --- a/locales/es/data.json +++ b/locales/es/data.json @@ -88,11 +88,11 @@ "Preferences": "Preferencias", "Language": "Idioma", "About": "Acerca de", - "Version": "Versión" + "Version": "Versión", + "Commit Hash": "Hash de confirmación" }, "syncLogic": { "Sync failed": "Error de sincronización", "Access token has expired, please login again": "El token de acceso ha expirado, por favor inicie sesión nuevamente" } - } - \ No newline at end of file +} diff --git a/locales/fr/data.json b/locales/fr/data.json index b5c1033..b4cac8f 100644 --- a/locales/fr/data.json +++ b/locales/fr/data.json @@ -88,11 +88,11 @@ "Preferences": "Préférences", "Language": "Langue", "About": "À propos", - "Version": "Version" + "Version": "Version", + "Commit Hash": "Hash de commit" }, "syncLogic": { "Sync failed": "Échec de la synchronisation", "Access token has expired, please login again": "Le jeton d'accès a expiré, veuillez vous reconnecter" } - } - \ No newline at end of file +} diff --git a/locales/ja/data.json b/locales/ja/data.json index 61e75a1..8c49d4d 100644 --- a/locales/ja/data.json +++ b/locales/ja/data.json @@ -88,7 +88,8 @@ "Preferences": "設定", "Language": "言語", "About": "について", - "Version": "バージョン" + "Version": "バージョン", + "Commit Hash": "コミットハッシュ" }, "syncLogic": { "Sync failed": "同期に失敗しました", diff --git a/locales/ko/data.json b/locales/ko/data.json index 2223968..8e6b05e 100644 --- a/locales/ko/data.json +++ b/locales/ko/data.json @@ -88,11 +88,11 @@ "Preferences": "설정", "Language": "언어", "About": "정보", - "Version": "버전" + "Version": "버전", + "Commit Hash": "커밋 해시" }, "syncLogic": { "Sync failed": "동기화 실패", "Access token has expired, please login again": "액세스 토큰이 만료되었습니다. 다시 로그인해주세요" } - } - \ No newline at end of file +} diff --git a/locales/pt/data.json b/locales/pt/data.json index d578e0a..a364348 100644 --- a/locales/pt/data.json +++ b/locales/pt/data.json @@ -88,11 +88,11 @@ "Preferences": "Preferências", "Language": "Idioma", "About": "Sobre", - "Version": "Versão" + "Version": "Versão", + "Commit Hash": "Hash de Commit" }, "syncLogic": { "Sync failed": "Sincronização falhou", "Access token has expired, please login again": "O token de acesso expirou, por favor faça login novamente" } - } - \ No newline at end of file +} diff --git a/locales/ru/data.json b/locales/ru/data.json index 7540597..2c5dc1f 100644 --- a/locales/ru/data.json +++ b/locales/ru/data.json @@ -88,11 +88,11 @@ "Preferences": "Настройки", "Language": "Язык", "About": "О программе", - "Version": "Версия" + "Version": "Версия", + "Commit Hash": "Хэш коммита" }, "syncLogic": { "Sync failed": "Синхронизация не удалась", "Access token has expired, please login again": "Токен доступа истёк, пожалуйста, войдите снова" } - } - \ No newline at end of file +} diff --git a/locales/th/data.json b/locales/th/data.json index 1759f3a..977aa56 100644 --- a/locales/th/data.json +++ b/locales/th/data.json @@ -88,11 +88,11 @@ "Preferences": "การตั้งค่า", "Language": "ภาษา", "About": "เกี่ยวกับ", - "Version": "เวอร์ชัน" + "Version": "เวอร์ชัน", + "Commit Hash": "รหัสการตรวจสอบ" }, "syncLogic": { "Sync failed": "การซิงค์ล้มเหลว", "Access token has expired, please login again": "โทเค็นการเข้าถึงหมดอายุ กรุณาล็อกอินอีกครั้ง" } - } - \ No newline at end of file +} diff --git a/locales/uk/data.json b/locales/uk/data.json index a1b1340..132db1e 100644 --- a/locales/uk/data.json +++ b/locales/uk/data.json @@ -88,11 +88,11 @@ "Preferences": "Налаштування", "Language": "Мова", "About": "Про програму", - "Version": "Версія" + "Version": "Версія", + "Commit Hash": "Хеш коміта" }, "syncLogic": { "Sync failed": "Синхронізація не вдалася", "Access token has expired, please login again": "Токен доступу минув, будь ласка, увійдіть знову" } - } - \ No newline at end of file +} diff --git a/locales/zh/data.json b/locales/zh/data.json index 4df584c..8aa2152 100644 --- a/locales/zh/data.json +++ b/locales/zh/data.json @@ -88,7 +88,8 @@ "Preferences": "偏好设置", "Language": "语言", "About": "关于", - "Version": "版本" + "Version": "版本", + "Commit Hash": "提交哈希" }, "syncLogic": { "Sync failed": "同步失败", diff --git a/package-lock.json b/package-lock.json index a1ab2d9..d147e89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,13 +21,14 @@ "casdoor-react-native-sdk": "1.1.0", "drizzle-orm": "^0.37.0", "eslint-plugin-import": "^2.28.1", - "expo": "^52.0.17", + "expo": "~52.0.18", "expo-application": "~6.0.1", "expo-asset": "~11.0.1", "expo-camera": "~16.0.9", "expo-clipboard": "~7.0.0", + "expo-constants": "~17.0.3", "expo-crypto": "~14.0.1", - "expo-dev-client": "~5.0.5", + "expo-dev-client": "~5.0.6", "expo-document-picker": "~13.0.1", "expo-drizzle-studio-plugin": "^0.1.1", "expo-font": "~13.0.1", @@ -36,7 +37,7 @@ "expo-localization": "~16.0.0", "expo-sqlite": "~15.0.3", "expo-status-bar": "~2.0.0", - "expo-system-ui": "~4.0.5", + "expo-system-ui": "~4.0.6", "expo-updates": "~0.26.10", "hi-base32": "^0.5.1", "hotp-totp": "^1.0.6", @@ -47,7 +48,7 @@ "react-content-loader": "^7.0.2", "react-dom": "18.3.1", "react-i18next": "^15.1.1", - "react-native": "0.76.3", + "react-native": "0.76.5", "react-native-countdown-circle-timer": "^3.2.1", "react-native-gesture-handler": "~2.20.2", "react-native-notificated": "^0.1.6", @@ -76,9 +77,9 @@ } }, "node_modules/@0no-co/graphql.web": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.com/@0no-co/graphql.web/-/graphql.web-1.0.11.tgz", - "integrity": "sha512-xuSJ9WXwTmtngWkbdEoopMo6F8NLtjy84UNAMsAr5C3/2SgAL/dEU10TMqTIsipqPQ8HA/7WzeqQ9DEQxSvPPA==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.com/@0no-co/graphql.web/-/graphql.web-1.0.12.tgz", + "integrity": "sha512-BTDjjsV/zSPy5fqItwm+KWUfh9CSe9tTtR6rCB72ddtkAxdcHbi4Ir4r/L1Et4lyxmL+i7Rb3m9sjLLi9tYrzA==", "license": "MIT", "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" @@ -3162,9 +3163,9 @@ } }, "node_modules/@expo/cli": { - "version": "0.22.3", - "resolved": "https://registry.npmjs.com/@expo/cli/-/cli-0.22.3.tgz", - "integrity": "sha512-1HBtqInFDFHUJWzTJ1CJj5MR3JwvOiozmRUWF2kVQAeq/bKzSYM6We6B3XoZBM5XP6z6WtnrG87C7BjeW5E/cA==", + "version": "0.22.5", + "resolved": "https://registry.npmjs.com/@expo/cli/-/cli-0.22.5.tgz", + "integrity": "sha512-A2wYKtcBbEEyRUAyUeMDd356UROo1xaMl7ZaZC5tQOdIhvWKelRd4f3QCaI56D9B4EMWLg9pVuPVbAMz8zJ4+A==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.8", @@ -3180,11 +3181,11 @@ "@expo/osascript": "^2.0.31", "@expo/package-manager": "^1.5.0", "@expo/plist": "^0.2.0", - "@expo/prebuild-config": "^8.0.22", + "@expo/prebuild-config": "^8.0.23", "@expo/rudder-sdk-node": "^1.1.1", "@expo/spawn-async": "^1.7.2", "@expo/xcpretty": "^4.3.0", - "@react-native/dev-middleware": "0.76.3", + "@react-native/dev-middleware": "0.76.5", "@urql/core": "^5.0.6", "@urql/exchange-retry": "^1.3.0", "accepts": "^1.3.8", @@ -3941,9 +3942,9 @@ } }, "node_modules/@expo/metro-config": { - "version": "0.19.6", - "resolved": "https://registry.npmjs.com/@expo/metro-config/-/metro-config-0.19.6.tgz", - "integrity": "sha512-pRwZyOstsQa1+Ecss3wOqC28wjyjq9qxvJaQL3LH4G8Sef9x2PX+ySRApeQ01nl4ZN5nlyez6iVDF51tn/WhOw==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.com/@expo/metro-config/-/metro-config-0.19.7.tgz", + "integrity": "sha512-6Ti05d6AyvXstMpaRGh2EsdGSJzmOh9ju3gMmcjxckn/cimNL39qRQSrnqYc0R/DEZiRFL7N9mVE/0uG668ojw==", "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", @@ -4259,9 +4260,9 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "8.0.22", - "resolved": "https://registry.npmjs.com/@expo/prebuild-config/-/prebuild-config-8.0.22.tgz", - "integrity": "sha512-Kwlf3ymHH37W2nuNA9FzYgZvrImJScLA98939kapnOxfNGAPhmhEw26sfIGmBWAa8ymdL6p+HXQ3+b/xJ74bOg==", + "version": "8.0.23", + "resolved": "https://registry.npmjs.com/@expo/prebuild-config/-/prebuild-config-8.0.23.tgz", + "integrity": "sha512-Zf01kFiN2PISmLb0DhIAJh76v3J2oYUKSjiAtGZLOH0HUz59by/qdyU4mGHWdeyRdCCrLUA21Rct2MBykvRMsg==", "license": "MIT", "dependencies": { "@expo/config": "~10.0.4", @@ -4269,7 +4270,7 @@ "@expo/config-types": "^52.0.0", "@expo/image-utils": "^0.6.0", "@expo/json-file": "^9.0.0", - "@react-native/normalize-colors": "0.76.3", + "@react-native/normalize-colors": "0.76.5", "debug": "^4.3.1", "fs-extra": "^9.0.0", "resolve-from": "^5.0.0", @@ -4278,9 +4279,9 @@ } }, "node_modules/@expo/prebuild-config/node_modules/@react-native/normalize-colors": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.3.tgz", - "integrity": "sha512-Yrpmrh4IDEupUUM/dqVxhAN8QW1VEUR3Qrk2lzJC1jB2s46hDe0hrMP2vs12YJqlzshteOthjwXQlY0TgIzgbg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.5.tgz", + "integrity": "sha512-6QRLEok1r55gLqj+94mEWUENuU5A6wsr2OoXpyq/CgQ7THWowbHtru/kRGRr6o3AQXrVnZheR60JNgFcpNYIug==", "license": "MIT" }, "node_modules/@expo/prebuild-config/node_modules/fs-extra": { @@ -5205,30 +5206,30 @@ } }, "node_modules/@react-native/assets-registry": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/assets-registry/-/assets-registry-0.76.3.tgz", - "integrity": "sha512-7Fnc3lzCFFpnoyL1egua6d/qUp0KiIpeSLbfOMln4nI2g2BMzyFHdPjJnpLV2NehmS0omOOkrfRqK5u1F/MXzA==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/assets-registry/-/assets-registry-0.76.5.tgz", + "integrity": "sha512-MN5dasWo37MirVcKWuysRkRr4BjNc81SXwUtJYstwbn8oEkfnwR9DaqdDTo/hHOnTdhafffLIa2xOOHcjDIGEw==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.3.tgz", - "integrity": "sha512-mZ7jmIIg4bUnxCqY3yTOkoHvvzsDyrZgfnIKiTGm5QACrsIGa5eT3pMFpMm2OpxGXRDrTMsYdPXE2rCyDX52VQ==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.5.tgz", + "integrity": "sha512-xe7HSQGop4bnOLMaXt0aU+rIatMNEQbz242SDl8V9vx5oOTI0VbZV9yLy6yBc6poUlYbcboF20YVjoRsxX4yww==", "license": "MIT", "dependencies": { - "@react-native/codegen": "0.76.3" + "@react-native/codegen": "0.76.5" }, "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-preset": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/babel-preset/-/babel-preset-0.76.3.tgz", - "integrity": "sha512-zi2nPlQf9q2fmfPyzwWEj6DU96v8ziWtEfG7CTAX2PG/Vjfsr94vn/wWrCdhBVvLRQ6Kvd/MFAuDYpxmQwIiVQ==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/babel-preset/-/babel-preset-0.76.5.tgz", + "integrity": "sha512-1Nu5Um4EogOdppBLI4pfupkteTjWfmI0hqW8ezWTg7Bezw0FtBj8yS8UYVd3wTnDFT9A5mA2VNoNUqomJnvj2A==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", @@ -5272,7 +5273,7 @@ "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", - "@react-native/babel-plugin-codegen": "0.76.3", + "@react-native/babel-plugin-codegen": "0.76.5", "babel-plugin-syntax-hermes-parser": "^0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" @@ -5285,9 +5286,9 @@ } }, "node_modules/@react-native/codegen": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/codegen/-/codegen-0.76.3.tgz", - "integrity": "sha512-oJCH/jbYeGmFJql8/y76gqWCCd74pyug41yzYAjREso1Z7xL88JhDyKMvxEnfhSdMOZYVl479N80xFiXPy3ZYA==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/codegen/-/codegen-0.76.5.tgz", + "integrity": "sha512-FoZ9VRQ5MpgtDAnVo1rT9nNRfjnWpE40o1GeJSDlpUMttd36bVXvsDm8W/NhX8BKTWXSX+CPQJsRcvN1UPYGKg==", "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", @@ -5328,13 +5329,13 @@ } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.76.3.tgz", - "integrity": "sha512-vgsLixHS24jR0d0QqPykBWFaC+V8x9cM3cs4oYXw3W199jgBNGP9MWcUJLazD2vzrT/lUTVBVg0rBeB+4XR6fg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.76.5.tgz", + "integrity": "sha512-3MKMnlU0cZOWlMhz5UG6WqACJiWUrE3XwBEumzbMmZw3Iw3h+fIsn+7kLLE5EhzqLt0hg5Y4cgYFi4kOaNgq+g==", "license": "MIT", "dependencies": { - "@react-native/dev-middleware": "0.76.3", - "@react-native/metro-babel-transformer": "0.76.3", + "@react-native/dev-middleware": "0.76.5", + "@react-native/metro-babel-transformer": "0.76.5", "chalk": "^4.0.0", "execa": "^5.1.1", "invariant": "^2.2.4", @@ -5523,22 +5524,22 @@ } }, "node_modules/@react-native/debugger-frontend": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/debugger-frontend/-/debugger-frontend-0.76.3.tgz", - "integrity": "sha512-pMHQ3NpPB28RxXciSvm2yD+uDx3pkhzfuWkc7VFgOduyzPSIr0zotUiOJzsAtrj8++bPbOsAraCeQhCqoOTWQw==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/debugger-frontend/-/debugger-frontend-0.76.5.tgz", + "integrity": "sha512-5gtsLfBaSoa9WP8ToDb/8NnDBLZjv4sybQQj7rDKytKOdsXm3Pr2y4D7x7GQQtP1ZQRqzU0X0OZrhRz9xNnOqA==", "license": "BSD-3-Clause", "engines": { "node": ">=18" } }, "node_modules/@react-native/dev-middleware": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/dev-middleware/-/dev-middleware-0.76.3.tgz", - "integrity": "sha512-b+2IpW40z1/S5Jo5JKrWPmucYU/PzeGyGBZZ/SJvmRnBDaP3txb9yIqNZAII1EWsKNhedh8vyRO5PSuJ9Juqzw==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/dev-middleware/-/dev-middleware-0.76.5.tgz", + "integrity": "sha512-f8eimsxpkvMgJia7POKoUu9uqjGF6KgkxX4zqr/a6eoR1qdEAWUd6PonSAqtag3PAqvEaJpB99gLH2ZJI1nDGg==", "license": "MIT", "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.76.3", + "@react-native/debugger-frontend": "0.76.5", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -5578,31 +5579,31 @@ } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/gradle-plugin/-/gradle-plugin-0.76.3.tgz", - "integrity": "sha512-t0aYZ8ND7+yc+yIm6Yp52bInneYpki6RSIFZ9/LMUzgMKvEB62ptt/7sfho9QkKHCNxE1DJSWIqLIGi/iHHkyg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/gradle-plugin/-/gradle-plugin-0.76.5.tgz", + "integrity": "sha512-7KSyD0g0KhbngITduC8OABn0MAlJfwjIdze7nA4Oe1q3R7qmAv+wQzW+UEXvPah8m1WqFjYTkQwz/4mK3XrQGw==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/js-polyfills": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/js-polyfills/-/js-polyfills-0.76.3.tgz", - "integrity": "sha512-pubJFArMMrdZiytH+W95KngcSQs+LsxOBsVHkwgMnpBfRUxXPMK4fudtBwWvhnwN76Oe+WhxSq7vOS5XgoPhmw==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/js-polyfills/-/js-polyfills-0.76.5.tgz", + "integrity": "sha512-ggM8tcKTcaqyKQcXMIvcB0vVfqr9ZRhWVxWIdiFO1mPvJyS6n+a+lLGkgQAyO8pfH0R1qw6K9D0nqbbDo865WQ==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/metro-babel-transformer": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.3.tgz", - "integrity": "sha512-b2zQPXmW7avw/7zewc9nzMULPIAjsTwN03hskhxHUJH5pzUf7pIklB3FrgYPZrRhJgzHiNl3tOPu7vqiKzBYPg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz", + "integrity": "sha512-Cm9G5Sg5BDty3/MKa3vbCAJtT3YHhlEaPlQALLykju7qBS+pHZV9bE9hocfyyvc5N/osTIGWxG5YOfqTeMu1oQ==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.76.3", + "@react-native/babel-preset": "0.76.5", "hermes-parser": "0.23.1", "nullthrows": "^1.1.1" }, @@ -5620,9 +5621,9 @@ "license": "MIT" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/virtualized-lists/-/virtualized-lists-0.76.3.tgz", - "integrity": "sha512-wTGv9pVh3vAOWb29xFm+J9VRe9dUcUcb9FyaMLT/Hxa88W4wqa5ZMe1V9UvrrBiA1G5DKjv8/1ZcDsJhyugVKA==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/virtualized-lists/-/virtualized-lists-0.76.5.tgz", + "integrity": "sha512-M/fW1fTwxrHbcx0OiVOIxzG6rKC0j9cR9Csf80o77y1Xry0yrNPpAlf8D1ev3LvHsiAUiRNFlauoPtodrs2J1A==", "license": "MIT", "dependencies": { "invariant": "^2.2.4", @@ -6183,9 +6184,9 @@ } }, "node_modules/@urql/core": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.com/@urql/core/-/core-5.0.8.tgz", - "integrity": "sha512-1GOnUw7/a9bzkcM0+U8U5MmxW2A7FE5YquuEmcJzTtW5tIs2EoS4F2ITpuKBjRBbyRjZgO860nWFPo1m4JImGA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.com/@urql/core/-/core-5.1.0.tgz", + "integrity": "sha512-yC3sw8yqjbX45GbXxfiBY8GLYCiyW/hLBbQF9l3TJrv4ro00Y0ChkKaD9I2KntRxAVm9IYBqh0awX8fwWAe/Yw==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.5", @@ -6856,9 +6857,9 @@ } }, "node_modules/babel-preset-expo": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.com/babel-preset-expo/-/babel-preset-expo-12.0.3.tgz", - "integrity": "sha512-1695e8y3U/HjifKx33vcNnFMSUSXwPWwhFxRlL6NRx2TENN6gySH82gPOWgxcra6gi+EJgXx52xG3PcqTjwW6w==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.com/babel-preset-expo/-/babel-preset-expo-12.0.4.tgz", + "integrity": "sha512-SAzAwqpyjA+/OFrU95OOioj6oTeCv4+rRfrNmBTy5S/gJswrZKBSPJioFudIaJBy43W+BL7HA5AspBIF6tO/aA==", "license": "MIT", "dependencies": { "@babel/plugin-proposal-decorators": "^7.12.9", @@ -6867,7 +6868,7 @@ "@babel/plugin-transform-parameters": "^7.22.15", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", - "@react-native/babel-preset": "0.76.3", + "@react-native/babel-preset": "0.76.5", "babel-plugin-react-native-web": "~0.19.13", "react-refresh": "^0.14.2" }, @@ -7113,9 +7114,9 @@ "license": "MIT" }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.com/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -7442,6 +7443,15 @@ "node": ">=12" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.com/clone-deep/-/clone-deep-4.0.1.tgz", @@ -7567,17 +7577,17 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.com/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -7599,6 +7609,35 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.com/concat-map/-/concat-map-0.0.1.tgz", @@ -7951,15 +7990,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.com/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.com/define-data-property/-/define-data-property-1.1.4.tgz", @@ -9284,25 +9314,25 @@ } }, "node_modules/expo": { - "version": "52.0.17", - "resolved": "https://registry.npmjs.com/expo/-/expo-52.0.17.tgz", - "integrity": "sha512-f0WBD2T6p9r/a8v8MqkoWQq7TmbbAgPUg2zZtOp+kBrSCb3obHeNAsPDAUFzh+jEgug2qDVVkauBJa6ACe9AMg==", + "version": "52.0.18", + "resolved": "https://registry.npmjs.com/expo/-/expo-52.0.18.tgz", + "integrity": "sha512-z+qdUbH0d5JRknE3VrY0s5k+3j5JpsLx4vXRwV4To8Xm5uf3d642FQ2HbuPWFAAhtSKFQsxQAh3iuAUGAWDBhg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.22.3", + "@expo/cli": "0.22.5", "@expo/config": "~10.0.6", "@expo/config-plugins": "~9.0.12", "@expo/fingerprint": "0.11.3", - "@expo/metro-config": "0.19.6", + "@expo/metro-config": "0.19.7", "@expo/vector-icons": "^14.0.0", - "babel-preset-expo": "~12.0.3", + "babel-preset-expo": "~12.0.4", "expo-asset": "~11.0.1", "expo-constants": "~17.0.3", - "expo-file-system": "~18.0.4", + "expo-file-system": "~18.0.5", "expo-font": "~13.0.1", "expo-keep-awake": "~14.0.1", - "expo-modules-autolinking": "2.0.3", + "expo-modules-autolinking": "2.0.4", "expo-modules-core": "2.1.1", "fbemitter": "^3.0.0", "web-streams-polyfill": "^3.3.2", @@ -9414,13 +9444,13 @@ } }, "node_modules/expo-dev-client": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.com/expo-dev-client/-/expo-dev-client-5.0.5.tgz", - "integrity": "sha512-LfrJ/a1UVqU1LxQ2oaduKWx2F0/1wDsiUv4lic4a2ug9wazGSR+bZ88fRlnAbhdMBfuymUKBMyUA+X3WDqf/bw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.com/expo-dev-client/-/expo-dev-client-5.0.6.tgz", + "integrity": "sha512-UMrS21EQ5TMooQgLp+0YrH+UKpxvO+SzkrAdWyVTrjUJ1Qi1yQCbtcErXkYbAdLbItSF3H04fVvd0lzg0KL3Wg==", "license": "MIT", "dependencies": { - "expo-dev-launcher": "5.0.18", - "expo-dev-menu": "6.0.13", + "expo-dev-launcher": "5.0.19", + "expo-dev-menu": "6.0.14", "expo-dev-menu-interface": "1.9.2", "expo-manifests": "~0.15.0", "expo-updates-interface": "~1.0.0" @@ -9430,13 +9460,13 @@ } }, "node_modules/expo-dev-launcher": { - "version": "5.0.18", - "resolved": "https://registry.npmjs.com/expo-dev-launcher/-/expo-dev-launcher-5.0.18.tgz", - "integrity": "sha512-rPPTR0KoHHpYl0MOAxc3IUZ/cUge3CFgE3Qmk8ccpQDL/PmhodsPqTcV6fnyKf1xuTa6hT7qI6CHJtSZbx6xNA==", + "version": "5.0.19", + "resolved": "https://registry.npmjs.com/expo-dev-launcher/-/expo-dev-launcher-5.0.19.tgz", + "integrity": "sha512-3zlOxpWVuV1RDe8OKoejL7XhzidHvtg3iEw564dhXePH5J+Ha9Owkqqiz7A27iqQrENjU/XWBtOxHszj+OBk4Q==", "license": "MIT", "dependencies": { "ajv": "8.11.0", - "expo-dev-menu": "6.0.13", + "expo-dev-menu": "6.0.14", "expo-manifests": "~0.15.0", "resolve-from": "^5.0.0" }, @@ -9467,9 +9497,9 @@ "license": "MIT" }, "node_modules/expo-dev-menu": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.com/expo-dev-menu/-/expo-dev-menu-6.0.13.tgz", - "integrity": "sha512-wLzTqGY89boVMNEqoWgIzYc7G6aXEsvsQrEXg9S5jkKfVyRcNvL46ppKkdGQ8AKkLm/wFQ2XkCk7C5izhxIb6g==", + "version": "6.0.14", + "resolved": "https://registry.npmjs.com/expo-dev-menu/-/expo-dev-menu-6.0.14.tgz", + "integrity": "sha512-bG4NXm4epHSmZdWW9hZCS7dTcKO82CyVfYMbNSOw5o/FKO9cY/AgfSj6ERPE9zBqYEJJEJaoJ0mzv0d47/h23g==", "license": "MIT", "dependencies": { "expo-dev-menu-interface": "1.9.2" @@ -9515,9 +9545,9 @@ "license": "MIT" }, "node_modules/expo-file-system": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.com/expo-file-system/-/expo-file-system-18.0.4.tgz", - "integrity": "sha512-aAWEDwnu0XHOBYvQ9Q0+QIa+483vYJaC4IDsXyWQ73Rtsg273NZh5kYowY+cAocvoSmA99G6htrLBn11ax2bTQ==", + "version": "18.0.5", + "resolved": "https://registry.npmjs.com/expo-file-system/-/expo-file-system-18.0.5.tgz", + "integrity": "sha512-vm7gA+PB7j99hfvBBFMRiti8OeazFK3AZWtDmCi6WQCXDxngXkAJViXhkHyF3xwDKljzlP8+4BIGrKCzbfoObg==", "license": "MIT", "dependencies": { "web-streams-polyfill": "^3.3.2" @@ -9621,9 +9651,9 @@ } }, "node_modules/expo-modules-autolinking": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.com/expo-modules-autolinking/-/expo-modules-autolinking-2.0.3.tgz", - "integrity": "sha512-Q/ALJ54eS7Cr7cmbP+unEDTkHFQivQerWWrqZxuXOrSFYGCYU22+/xAZXaJOpZwseOVsP74zSkoRY/wBimVs7w==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.com/expo-modules-autolinking/-/expo-modules-autolinking-2.0.4.tgz", + "integrity": "sha512-e0p+19NhmD50U7s7BV7kWIypWmTNC9n/VlJKlXS05hM/zX7pe6JKmXyb+BFnXJq3SLBalLCUY0tu2gEUF3XeVg==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -9782,12 +9812,12 @@ "license": "MIT" }, "node_modules/expo-system-ui": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.com/expo-system-ui/-/expo-system-ui-4.0.5.tgz", - "integrity": "sha512-PQJIFMAMnt3LrWCCHqg82zW+hXytvtJdFiiIYE2UuP0kDvl346tazQupbtJsSxJp1OpxhuNVhpvKoWV72is3bg==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.com/expo-system-ui/-/expo-system-ui-4.0.6.tgz", + "integrity": "sha512-JWmw0aaNIB8YxA6bXgH6nClyledZaAG5VNzoRvmXT4+j3MY4waAHSSSdVV71bUgjchT/2KOAcibZ/EeosJONug==", "license": "MIT", "dependencies": { - "@react-native/normalize-colors": "0.76.3", + "@react-native/normalize-colors": "0.76.5", "debug": "^4.3.2" }, "peerDependencies": { @@ -9802,9 +9832,9 @@ } }, "node_modules/expo-system-ui/node_modules/@react-native/normalize-colors": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.3.tgz", - "integrity": "sha512-Yrpmrh4IDEupUUM/dqVxhAN8QW1VEUR3Qrk2lzJC1jB2s46hDe0hrMP2vs12YJqlzshteOthjwXQlY0TgIzgbg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.5.tgz", + "integrity": "sha512-6QRLEok1r55gLqj+94mEWUENuU5A6wsr2OoXpyq/CgQ7THWowbHtru/kRGRr6o3AQXrVnZheR60JNgFcpNYIug==", "license": "MIT" }, "node_modules/expo-updates": { @@ -13185,6 +13215,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.com/mime-db/-/mime-db-1.52.0.tgz", @@ -14633,19 +14675,19 @@ "license": "MIT" }, "node_modules/react-native": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/react-native/-/react-native-0.76.3.tgz", - "integrity": "sha512-0TUhgmlouRNf6yuDIIAdbQl0g1VsONgCMsLs7Et64hjj5VLMCA7np+4dMrZvGZ3wRNqzgeyT9oWJsUm49AcwSQ==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/react-native/-/react-native-0.76.5.tgz", + "integrity": "sha512-op2p2kB+lqMF1D7AdX4+wvaR0OPFbvWYs+VBE7bwsb99Cn9xISrLRLAgFflZedQsa5HvnOGrULhtnmItbIKVVw==", "license": "MIT", "dependencies": { "@jest/create-cache-key-function": "^29.6.3", - "@react-native/assets-registry": "0.76.3", - "@react-native/codegen": "0.76.3", - "@react-native/community-cli-plugin": "0.76.3", - "@react-native/gradle-plugin": "0.76.3", - "@react-native/js-polyfills": "0.76.3", - "@react-native/normalize-colors": "0.76.3", - "@react-native/virtualized-lists": "0.76.3", + "@react-native/assets-registry": "0.76.5", + "@react-native/codegen": "0.76.5", + "@react-native/community-cli-plugin": "0.76.5", + "@react-native/gradle-plugin": "0.76.5", + "@react-native/js-polyfills": "0.76.5", + "@react-native/normalize-colors": "0.76.5", + "@react-native/virtualized-lists": "0.76.5", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -14950,9 +14992,9 @@ } }, "node_modules/react-native/node_modules/@react-native/normalize-colors": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.3.tgz", - "integrity": "sha512-Yrpmrh4IDEupUUM/dqVxhAN8QW1VEUR3Qrk2lzJC1jB2s46hDe0hrMP2vs12YJqlzshteOthjwXQlY0TgIzgbg==", + "version": "0.76.5", + "resolved": "https://registry.npmjs.com/@react-native/normalize-colors/-/normalize-colors-0.76.5.tgz", + "integrity": "sha512-6QRLEok1r55gLqj+94mEWUENuU5A6wsr2OoXpyq/CgQ7THWowbHtru/kRGRr6o3AQXrVnZheR60JNgFcpNYIug==", "license": "MIT" }, "node_modules/react-native/node_modules/ansi-styles": { @@ -15634,18 +15676,6 @@ "node": ">= 0.8" } }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.com/on-finished/-/on-finished-2.4.1.tgz", @@ -15715,18 +15745,6 @@ "node": ">= 0.8" } }, - "node_modules/serve-static/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/serve-static/node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.com/on-finished/-/on-finished-2.4.1.tgz", diff --git a/package.json b/package.json index 26da4fa..a4d7843 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,14 @@ "casdoor-react-native-sdk": "1.1.0", "drizzle-orm": "^0.37.0", "eslint-plugin-import": "^2.28.1", - "expo": "^52.0.17", + "expo": "~52.0.18", "expo-application": "~6.0.1", "expo-asset": "~11.0.1", "expo-camera": "~16.0.9", "expo-clipboard": "~7.0.0", + "expo-constants": "~17.0.3", "expo-crypto": "~14.0.1", - "expo-dev-client": "~5.0.5", + "expo-dev-client": "~5.0.6", "expo-document-picker": "~13.0.1", "expo-drizzle-studio-plugin": "^0.1.1", "expo-font": "~13.0.1", @@ -38,7 +39,7 @@ "expo-localization": "~16.0.0", "expo-sqlite": "~15.0.3", "expo-status-bar": "~2.0.0", - "expo-system-ui": "~4.0.5", + "expo-system-ui": "~4.0.6", "expo-updates": "~0.26.10", "hi-base32": "^0.5.1", "hotp-totp": "^1.0.6", @@ -49,7 +50,7 @@ "react-content-loader": "^7.0.2", "react-dom": "18.3.1", "react-i18next": "^15.1.1", - "react-native": "0.76.3", + "react-native": "0.76.5", "react-native-countdown-circle-timer": "^3.2.1", "react-native-gesture-handler": "~2.20.2", "react-native-notificated": "^0.1.6",