diff --git a/.github/workflows/test-isolated.yaml b/.github/workflows/test-isolated.yaml new file mode 100644 index 00000000..c0a074c0 --- /dev/null +++ b/.github/workflows/test-isolated.yaml @@ -0,0 +1,69 @@ +# Ensures packages and demos test correctly +name: Test Isolated Demos + +on: + push: + +jobs: + test: + name: Test Isolated Demos + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup NodeJS + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + + - uses: pnpm/action-setup@v2 + name: Install pnpm + with: + # Pnpm 9.4 introduces this https://github.com/pnpm/pnpm/pull/7633 + # which causes workspace:^1.2.0 to be converted to 1.2.0^1.2.0 + version: 9.3 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install + run: pnpm install + + - name: Build Packages + run: pnpm build:packages + + - name: Start Verdaccio + run: | + npm install -g verdaccio + nohup verdaccio -c verdaccio-config.yaml & + sleep 10 # Give Verdaccio some time to start + + - name: Prepare For Test Publish + run: npx tsx scripts/test-publish-helper.ts + + - name: Registry login + run: npx npm-cli-login -u test -p test -e test@example.com -r http://localhost:4873 + + - name: Config Temporary Registry + run: echo "@powersync:registry=http://localhost:4873" >> ~/.npmrc + + # No actual auth is ever supplied to this action. + # It should never be able to publish to NPMJS + - name: Test publish + run: pnpm -r publish --no-git-checks + + - name: Test Demos + run: npx tsx scripts/isolated-demo-test.ts diff --git a/demos/angular-supabase-todolist/.env.template b/demos/angular-supabase-todolist/.env.template new file mode 100644 index 00000000..a404483f --- /dev/null +++ b/demos/angular-supabase-todolist/.env.template @@ -0,0 +1,4 @@ +# See the local demo at https://github.com/powersync-ja/self-host-demo/tree/main/demos/supabase +WEBPACK_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321 +WEBPACK_PUBLIC_SUPABASE_ANON_KEY= +WEBPACK_PUBLIC_POWERSYNC_URL=http://localhost:8080 diff --git a/demos/angular-supabase-todolist/.gitignore b/demos/angular-supabase-todolist/.gitignore index 5b199d29..b22f5227 100644 --- a/demos/angular-supabase-todolist/.gitignore +++ b/demos/angular-supabase-todolist/.gitignore @@ -166,5 +166,3 @@ testem.log # System files .DS_Store Thumbs.db - -environment.ts diff --git a/demos/angular-supabase-todolist/README.md b/demos/angular-supabase-todolist/README.md index e67d34bb..bdd2b2e5 100644 --- a/demos/angular-supabase-todolist/README.md +++ b/demos/angular-supabase-todolist/README.md @@ -13,9 +13,11 @@ A step-by-step guide on Supabase<>PowerSync integration is available [here](http ## Quick Start 1. Run `pnpm install` -2. Run `pnpm watch` to build application and check for code changes -3. In a new terminal run `pnpm start` to start the server -4. Go to +2. Create a `.env` file by copying the template `cp .env.template .env` +3. Populate the `.env` file with PowerSync and Supabase details +4. Run `pnpm watch` to build application and check for code changes +5. In a new terminal run `pnpm start` to start the server +6. Go to **Note:** The Angular development server (`pnpm serve`) doesn't support service worker applications diff --git a/demos/angular-supabase-todolist/extra-webpack.config.js b/demos/angular-supabase-todolist/extra-webpack.config.js index 61170591..95fe11a1 100644 --- a/demos/angular-supabase-todolist/extra-webpack.config.js +++ b/demos/angular-supabase-todolist/extra-webpack.config.js @@ -1,8 +1,11 @@ const webpack = require('webpack'); const pkg = require('./package.json'); -const { inspect } = require('util'); const path = require('path'); +const dotenv = require('dotenv'); + +dotenv.config(); + module.exports = (config, options, targetOptions) => { delete config.optimization; return { @@ -11,7 +14,15 @@ module.exports = (config, options, targetOptions) => { rules: config.module.rules }, resolve: config.resolve, - plugins: config.plugins, + plugins: [ + ...config.plugins, + new webpack.DefinePlugin({ + // Embed environment variables starting with `WEBPACK_PUBLIC_` + 'process.env': JSON.stringify( + Object.fromEntries(Object.entries(process.env).filter(([key]) => key.startsWith('WEBPACK_PUBLIC_'))) + ) + }) + ], output: { filename: config.filename, path: config.path, diff --git a/demos/angular-supabase-todolist/package.json b/demos/angular-supabase-todolist/package.json index f5dda124..ae0fd108 100644 --- a/demos/angular-supabase-todolist/package.json +++ b/demos/angular-supabase-todolist/package.json @@ -7,6 +7,7 @@ "start": "http-server -p 8080 -c-1 dist/", "build": "ng build", "format": "prettier --write .", + "test:build": "pnpm build", "watch": "ng build --watch --configuration development" }, "private": true, @@ -20,8 +21,8 @@ "@angular/platform-browser-dynamic": "^18.1.1", "@angular/router": "^18.1.1", "@angular/service-worker": "^18.1.1", - "@powersync/web": "workspace:*", "@journeyapps/wa-sqlite": "^0.2.0", + "@powersync/web": "workspace:*", "@supabase/supabase-js": "^2.44.4", "rxjs": "~7.8.1", "tslib": "^2.6.3", @@ -32,6 +33,7 @@ "@angular-devkit/build-angular": "^18.1.1", "@angular/cli": "^18.1.1", "@angular/compiler-cli": "^18.1.1", + "dotenv": "^16.4.5", "http-server": "^14.1.1", "typescript": "~5.5.3" } diff --git a/demos/angular-supabase-todolist/src/app/supabase.service.ts b/demos/angular-supabase-todolist/src/app/supabase.service.ts index 28c20038..9c59931e 100644 --- a/demos/angular-supabase-todolist/src/app/supabase.service.ts +++ b/demos/angular-supabase-todolist/src/app/supabase.service.ts @@ -7,7 +7,7 @@ import { type SupabaseClient, type User } from '@supabase/supabase-js'; -import { environment } from '../../environment'; +import { environment } from '../environment'; import { type AbstractPowerSyncDatabase, type CrudEntry, UpdateType, PowerSyncBackendConnector } from '@powersync/web'; /// Postgres Response codes that we cannot recover from by retrying. diff --git a/demos/angular-supabase-todolist/src/env.d.ts b/demos/angular-supabase-todolist/src/env.d.ts new file mode 100644 index 00000000..d76227ed --- /dev/null +++ b/demos/angular-supabase-todolist/src/env.d.ts @@ -0,0 +1,8 @@ +declare namespace NodeJS { + // These are injected in the Webpack config + interface ProcessEnv { + WEBPACK_PUBLIC_SUPABASE_URL: string; + WEBPACK_PUBLIC_SUPABASE_ANON_KEY: string; + WEBPACK_PUBLIC_POWERSYNC_URL: string; + } +} diff --git a/demos/angular-supabase-todolist/src/environment.ts b/demos/angular-supabase-todolist/src/environment.ts new file mode 100644 index 00000000..d3793e8e --- /dev/null +++ b/demos/angular-supabase-todolist/src/environment.ts @@ -0,0 +1,5 @@ +export const environment = { + supabaseUrl: process.env.WEBPACK_PUBLIC_SUPABASE_URL, + supabaseKey: process.env.WEBPACK_PUBLIC_SUPABASE_ANON_KEY, + powersyncUrl: process.env.WEBPACK_PUBLIC_POWERSYNC_URL +}; diff --git a/demos/django-react-native-todolist/.env b/demos/django-react-native-todolist/.env new file mode 100644 index 00000000..ef25e2b9 --- /dev/null +++ b/demos/django-react-native-todolist/.env @@ -0,0 +1,3 @@ +# Replace the credentials below with your Supabase, PowerSync and Expo project details. +EXPO_PUBLIC_DJANGO_URL=http://localhost:6061 +EXPO_PUBLIC_POWERSYNC_URL=http://localhost:8080 diff --git a/demos/django-react-native-todolist/.gitignore b/demos/django-react-native-todolist/.gitignore index 4b4d4fbe..e5194546 100644 --- a/demos/django-react-native-todolist/.gitignore +++ b/demos/django-react-native-todolist/.gitignore @@ -3,9 +3,6 @@ # idea .idea -# Credentials -library/django/AppConfig.ts - # dependencies node_modules/ diff --git a/demos/django-react-native-todolist/README.md b/demos/django-react-native-todolist/README.md index fe033587..d47f3840 100644 --- a/demos/django-react-native-todolist/README.md +++ b/demos/django-react-native-todolist/README.md @@ -13,6 +13,8 @@ Install the dependencies, including the React Native SDK: pnpm install ``` +Update the `.env` file with PowerSync and Django details + Run on iOS ```sh diff --git a/demos/django-react-native-todolist/library/django/AppConfig.template.ts b/demos/django-react-native-todolist/library/django/AppConfig.template.ts deleted file mode 100644 index 9f4f47dc..00000000 --- a/demos/django-react-native-todolist/library/django/AppConfig.template.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const AppConfig = { - // These defaults are applicable when using local services - djangoUrl: 'http://localhost:6061', // This is base url to the Django project - powersyncUrl: 'http://localhost:8080' // This is the PowerSync instance url provided in the PowerSync dashboard -}; diff --git a/demos/django-react-native-todolist/library/django/AppConfig.ts b/demos/django-react-native-todolist/library/django/AppConfig.ts new file mode 100644 index 00000000..5408018d --- /dev/null +++ b/demos/django-react-native-todolist/library/django/AppConfig.ts @@ -0,0 +1,4 @@ +export const AppConfig = { + djangoUrl: process.env.EXPO_PUBLIC_DJANGO_URL, // This is base url to the Django project + powersyncUrl: process.env.EXPO_PUBLIC_POWERSYNC_URL // This is the PowerSync instance url provided in the PowerSync dashboard +}; diff --git a/demos/django-react-native-todolist/library/widgets/Drawer.tsx b/demos/django-react-native-todolist/library/widgets/Drawer.tsx index b6612851..183f61e5 100644 --- a/demos/django-react-native-todolist/library/widgets/Drawer.tsx +++ b/demos/django-react-native-todolist/library/widgets/Drawer.tsx @@ -4,13 +4,16 @@ import { createDrawerNavigator, DrawerNavigationOptions } from '@react-navigatio import { withLayoutContext } from 'expo-router'; import { HeaderWidget } from './HeaderWidget'; +import { EventMapBase, NavigationState } from '@react-navigation/native'; const DrawerNavigator = createDrawerNavigator().Navigator as React.ComponentType; -export const Drawer = withLayoutContext(DrawerNavigator, (options) => - _.chain(options) - .map((o) => ({ ...o, options: { ...o.options, header: () => } })) - .value() +export const Drawer = withLayoutContext( + DrawerNavigator, + (options) => + _.chain(options) + .map((o) => ({ ...o, options: { ...o.options, header: () => } })) + .value() ); export default Drawer; diff --git a/demos/django-react-native-todolist/process-env.d.ts b/demos/django-react-native-todolist/process-env.d.ts new file mode 100644 index 00000000..33ab1520 --- /dev/null +++ b/demos/django-react-native-todolist/process-env.d.ts @@ -0,0 +1,11 @@ +export {}; + +declare global { + namespace NodeJS { + interface ProcessEnv { + [key: string]: string | undefined; + EXPO_PUBLIC_DJANGO_URL: string; + EXPO_PUBLIC_POWERSYNC_URL: string; + } + } +} diff --git a/demos/django-react-native-todolist/tsconfig.test.json b/demos/django-react-native-todolist/tsconfig.test.json new file mode 100644 index 00000000..aafc0f94 --- /dev/null +++ b/demos/django-react-native-todolist/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./node_modules/expo/tsconfig.base.json", + "compilerOptions": { + "strict": true, + "composite": true + } +} diff --git a/demos/example-nextjs/package.json b/demos/example-nextjs/package.json index 878035b4..873b80a7 100644 --- a/demos/example-nextjs/package.json +++ b/demos/example-nextjs/package.json @@ -7,7 +7,8 @@ "clean": "rm -rf .next", "watch": "next dev", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "test:build": "pnpm build" }, "dependencies": { "@emotion/react": "^11.11.4", diff --git a/demos/example-vite/package.json b/demos/example-vite/package.json index 48757fe8..9a3afcf3 100644 --- a/demos/example-vite/package.json +++ b/demos/example-vite/package.json @@ -7,7 +7,8 @@ "dev": "vite", "build": "vite build", "preview": "vite preview", - "start": "pnpm build && pnpm preview" + "start": "pnpm build && pnpm preview", + "test:build": "pnpm build" }, "dependencies": { "@powersync/web": "workspace:*" diff --git a/demos/example-webpack/package.json b/demos/example-webpack/package.json index 75fbef90..1d65cb6e 100644 --- a/demos/example-webpack/package.json +++ b/demos/example-webpack/package.json @@ -5,7 +5,8 @@ "scripts": { "build": "webpack", "serve": "serve ./dist", - "start": "pnpm build && pnpm serve" + "start": "pnpm build && pnpm serve", + "test:build": "pnpm build" }, "dependencies": { "@powersync/web": "workspace:*" diff --git a/demos/react-multi-client/package.json b/demos/react-multi-client/package.json index 6b478caa..d01da29a 100644 --- a/demos/react-multi-client/package.json +++ b/demos/react-multi-client/package.json @@ -6,7 +6,8 @@ "dev": "vite", "build": "tsc -b && vite build", "preview": "vite preview", - "start": "pnpm build && pnpm preview" + "start": "pnpm build && pnpm preview", + "test:build": "pnpm build" }, "dependencies": { "@journeyapps/wa-sqlite": "~0.2.0", diff --git a/demos/vue-supabase-todolist/package.json b/demos/vue-supabase-todolist/package.json index db3895a7..29a264ac 100644 --- a/demos/vue-supabase-todolist/package.json +++ b/demos/vue-supabase-todolist/package.json @@ -7,7 +7,8 @@ "dev": "vue-tsc --noEmit --watch & vite dev", "build": "vue-tsc && vite build", "preview": "vite preview", - "type-check": "vue-tsc --noEmit" + "type-check": "vue-tsc --noEmit", + "test:build": "pnpm build" }, "dependencies": { "@powersync/web": "workspace:*", diff --git a/package.json b/package.json index 215d765f..53095122 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,9 @@ "node": ">=20.9.0" }, "devDependencies": { + "@actions/core": "^1.10.1", "@changesets/cli": "2.27.2", + "@pnpm/workspace.find-packages": "^4.0.2", "husky": "^9.0.11", "lint-staged": "^15.2.2", "prettier": "^3.2.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82089014..438d7ab5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,15 @@ importers: .: devDependencies: + '@actions/core': + specifier: ^1.10.1 + version: 1.10.1 '@changesets/cli': specifier: 2.27.2 version: 2.27.2 + '@pnpm/workspace.find-packages': + specifier: ^4.0.2 + version: 4.0.2(@pnpm/logger@5.0.0) husky: specifier: ^9.0.11 version: 9.1.1 @@ -81,6 +87,9 @@ importers: '@angular/compiler-cli': specifier: ^18.1.1 version: 18.1.1(@angular/compiler@18.1.1(@angular/core@18.1.1(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.4) + dotenv: + specifier: ^16.4.5 + version: 16.4.5 http-server: specifier: ^14.1.1 version: 14.1.1 @@ -125,25 +134,25 @@ importers: version: 2.44.4 expo: specifier: ~51.0.10 - version: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + version: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) expo-build-properties: specifier: ~0.12.1 - version: 0.12.3(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + version: 0.12.3(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-constants: specifier: ~16.0.2 - version: 16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + version: 16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-linking: specifier: ~6.3.1 - version: 6.3.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + version: 6.3.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-modules-autolinking: specifier: ^1.11.1 version: 1.11.1 expo-router: specifier: 3.5.15 - version: 3.5.15(@react-navigation/drawer@6.7.2(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.16.2(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(encoding@0.1.13)(expo-constants@16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-linking@6.3.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-modules-autolinking@1.11.1)(expo-status-bar@1.12.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)(typescript@5.5.4) + version: 3.5.15(@react-navigation/drawer@6.7.2(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.16.2(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(encoding@0.1.13)(expo-constants@16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-linking@6.3.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-modules-autolinking@1.11.1)(expo-status-bar@1.12.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)(typescript@5.5.4) expo-splash-screen: specifier: ~0.27.4 - version: 0.27.5(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + version: 0.27.5(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-status-bar: specifier: ~1.12.1 version: 1.12.1 @@ -1660,6 +1669,12 @@ packages: graphql: optional: true + '@actions/core@1.10.1': + resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==} + + '@actions/http-client@2.2.1': + resolution: {integrity: sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==} + '@algolia/autocomplete-core@1.9.3': resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} @@ -3525,6 +3540,10 @@ packages: resolution: {integrity: sha512-2eL3fESumExzMGsi2ibNrYWoycBrnJxlAF7GPUGR9qi65SMf8vW+2Eb9mfavydYzi173bDrluN4vf2vDAgxtHg==} hasBin: true + '@expo/cli@0.18.25': + resolution: {integrity: sha512-Kh0uZGCxwu58Pu7Jto9T/ABlBR7nkx8QC0Wv8pI3YtISyQZIKtbtNNeTPWYbVK1ddswKwtBUj+MNhKoDL49TLg==} + hasBin: true + '@expo/code-signing-certificates@0.0.5': resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} @@ -3587,6 +3606,9 @@ packages: '@expo/metro-config@0.18.3': resolution: {integrity: sha512-E4iW+VT/xHPPv+t68dViOsW7egtGIr+sRElcym0iGpC4goLz9WBux/xGzWgxvgvvHEWa21uSZQPM0jWla0OZXg==} + '@expo/metro-config@0.18.8': + resolution: {integrity: sha512-YGpTlVc1/6EPzPbt0LZt92Bwrpjngulup6uHSTRbwn/heMPfFaVv1Y4VE3GAUkx7/Qwu+dTVIV0Kys4pLOAIiw==} + '@expo/metro-runtime@3.2.1': resolution: {integrity: sha512-L7xNo5SmK+rcuXDm/+VBBImpA7FZsVB+m/rNr3fNl5or+1+yrZe99ViF7LZ8DOoVqAqcb4aCAXvGrP2JNYo1/Q==} peerDependencies: @@ -3646,6 +3668,11 @@ packages: peerDependencies: expo-modules-autolinking: '>=0.8.1' + '@expo/prebuild-config@7.0.8': + resolution: {integrity: sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==} + peerDependencies: + expo-modules-autolinking: '>=0.8.1' + '@expo/results@1.0.0': resolution: {integrity: sha512-qECzzXX5oJot3m2Gu9pfRDz50USdBieQVwYAzeAtQRUTD3PVeTK1tlRUoDcrK8PSruDLuVYdKkLebX4w/o55VA==} engines: {node: '>=10'} @@ -3690,6 +3717,10 @@ packages: resolution: {integrity: sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + '@floating-ui/core@1.6.5': resolution: {integrity: sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==} @@ -3728,6 +3759,10 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@gwhitney/detect-indent@7.0.1': + resolution: {integrity: sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==} + engines: {node: '>=12.20'} + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -4498,10 +4533,112 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pnpm/catalogs.config@0.1.0': + resolution: {integrity: sha512-OIqo9qF5qUl9Zlu7zV2aaX9PbtozRiFM6VPrn3PmIrNfYnCh3HyB/ojAp36oglz4+xVJ+mUqx4+aZmstN4ALpg==} + engines: {node: '>=18.12'} + + '@pnpm/catalogs.protocol-parser@0.1.0': + resolution: {integrity: sha512-T3WvT+IBHsoDwv8RBQo3b+SBnXTQMpHZ1Yo7tJWcImBzrkuc4eP7KYB/yGP240PNgyrvCTrnuImRX9MNZD5flg==} + engines: {node: '>=18.12'} + + '@pnpm/catalogs.resolver@0.1.0': + resolution: {integrity: sha512-3S0JXQx/M2DDJdFzcoJFLXjkmhGFjYkFnR66VS/B07xTaZmQpclPp2vKL7PRI7JSliiN3Vt0ksuzYWHV2Lzsjg==} + engines: {node: '>=18.12'} + + '@pnpm/catalogs.types@0.1.0': + resolution: {integrity: sha512-i52GQCj77GqebPBmmxxTcBRYch8eIdXGC+1REkv//272YNMt5bv5Okq0DvtE8A8RkPurGxFdYVXuqqrTdgBZEw==} + engines: {node: '>=18.12'} + + '@pnpm/cli-meta@6.0.4': + resolution: {integrity: sha512-EQfCfd1RztCJYd3G+zboaznGD0iRogF2oaCSw7IzNLiERNSJV9LPQ9np+CuD8IFZ5Hlooz6xPks5WAoilXyIpQ==} + engines: {node: '>=18.12'} + + '@pnpm/cli-utils@3.1.5': + resolution: {integrity: sha512-IGuL8CLLXo5x2JSPBzidt5XR2ZtkLNTeAUD/xXwJAFWi7Zcf3fzaeNdbCV1OEnY/KtW92UkJ6rpBJIHhKh22CQ==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} + '@pnpm/config.env-replace@3.0.0': + resolution: {integrity: sha512-tV71wOtu8ULW4Fv5c7MWph3Sfle1wkT2q83qF2Cx/0J5E2dpUsClO9evAouL4fbdmPonkXJbRYL5cGHKuqxr4w==} + engines: {node: '>=18.12'} + + '@pnpm/config@21.6.2': + resolution: {integrity: sha512-RYQUH7V3GMby3qcrf3JQAoANz4PCpk7YGPyJ8nW+XTXK48H1SQv9nDx8p9EehGydUbcwfVFE5Xx+xcsxQVBsog==} + engines: {node: '>=18.12'} + + '@pnpm/constants@8.0.0': + resolution: {integrity: sha512-yQosGUvYPpAjb1jOFcdbwekRjZRVxN6C0hHzfRCZrMKbxGjt/E0g0RcFlEDNVZ95tm4oMMcr7nEPa7H7LX3emw==} + engines: {node: '>=18.12'} + + '@pnpm/core-loggers@10.0.4': + resolution: {integrity: sha512-0sa1oq8OelHFs1qTCv0fUVPYpQwRjkAb3miaXTwhXCUsePAy6kZ4wrn/aZA4bnxj0pIcaQnrSTWKcRjdrkqu3Q==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + + '@pnpm/crypto.base32-hash@3.0.0': + resolution: {integrity: sha512-iGKP6rRKng5Tcad1+S+j3UoY5wVZN+z0ZgemlGp69jNgn6EaM4N0Q3mvnDNJ7UZFmL2ClXZZYLNuCk9pUYV3Xg==} + engines: {node: '>=18.12'} + + '@pnpm/dedupe.issues-renderer@2.0.0': + resolution: {integrity: sha512-UFKcCGUtL+2vbjXPCdw5H3Y/xj6iqVS86ChJSZj6GVODNR+gWO9j0HYMYVBFiQVOIm/7p86Rudyrm3cxmIEmWw==} + engines: {node: '>=18.12'} + + '@pnpm/dedupe.types@2.0.0': + resolution: {integrity: sha512-iCv/dc5dyXN/egiIu89qQn6yuLsQhiFjn0t1N+UKf4jSdMp59WFHjGh04jSsbxbGG91s6K9SQghOBW8BbZjinw==} + engines: {node: '>=18.12'} + + '@pnpm/default-reporter@13.1.8': + resolution: {integrity: sha512-U86rqtBJ9vWe0JNBUL0lzRPQpcEWr6Xhn90ak3DejQG8LMFwiwF5LhfKCH6H6ceVEpE1PZPNRVPMONKiMrkCMw==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + + '@pnpm/error@6.0.1': + resolution: {integrity: sha512-7yjO0RgmWYb4OKgcWC33yD4Z2CxE7Tm7vXX1SmS7GDifDT/bgZZhHeS2xq/+W6y9yhwIrRSA+7AlQL1NM2wIvw==} + engines: {node: '>=18.12'} + + '@pnpm/fetcher-base@16.0.4': + resolution: {integrity: sha512-Bm23z/5iusB8M8vpgNuG1jesWQ77cpUYKC3KeVkCdKUD2zaKxmVDfRAsTtRZH3XFFUZsSc78uVSpKP27dJklPA==} + engines: {node: '>=18.12'} + + '@pnpm/fs.find-packages@4.0.1': + resolution: {integrity: sha512-R4ivGsSWkF0tO1jIistCahyvIZx1Q9SUsAA3ibTVbZIb68EY4lnan4aEFkmNXpfGh3+uNWof6QRnfLLtlAqBrQ==} + engines: {node: '>=18.12'} + + '@pnpm/git-utils@2.0.0': + resolution: {integrity: sha512-k1rv4Zvno/5zJAqE/Mh9V0ehlm14NsYwpXTdaGMtyhkoHvlSckRfr23OIOIM7Q/TRX+LhqyJ2kep50SY2TsZ+g==} + engines: {node: '>=18.12'} + + '@pnpm/graceful-fs@4.0.0': + resolution: {integrity: sha512-933nhV2Prp51522poxX6Chvb7kEW3U3kzVWoqDU1+icB+QE7z/2qQ8wYHsBt4jm0Uil/sF67t77ugOr8bR63kg==} + engines: {node: '>=18.12'} + + '@pnpm/hooks.types@2.0.5': + resolution: {integrity: sha512-k1iQQRfXCCsRKvO2I3WYP/adsUK4MPsHRT8Fab4+gEi1kiGniHq/GA0Cp9ofv9d1AazyPMwx+Gz/2Ixr7rwlDQ==} + engines: {node: '>=18.12'} + + '@pnpm/lockfile-types@7.1.3': + resolution: {integrity: sha512-ifMGKjiBFweZiI9nRYw+N4oP42tDaxHGzla/fuEqn8rOLzITJKfD9G2KfF7u8ZfZyW9lHFL/FsN9t1+q6L+qyQ==} + engines: {node: '>=18.12'} + + '@pnpm/logger@5.0.0': + resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} + engines: {node: '>=12.17'} + + '@pnpm/manifest-utils@6.0.5': + resolution: {integrity: sha512-oSwtkorpfVYRshkUzO5NW/iDVHoD5SXHs+u/2aVSyvWdXByZewINy9JDoakTZH+ozjWFsdpoJqwK1V5wNq+L5w==} + engines: {node: '>=18.12'} + + '@pnpm/matcher@6.0.0': + resolution: {integrity: sha512-c2diPZzejRYnL6b00Ko70TnOlbsqydUOvAjOZ7THTs0ptXG/AARcwNp9YO5EXFq775TTmsSUBo99qisYF1ogNA==} + engines: {node: '>=18.12'} + '@pnpm/network.ca-file@1.0.2': resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} @@ -4510,6 +4647,76 @@ packages: resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} + '@pnpm/package-is-installable@9.0.5': + resolution: {integrity: sha512-wG5Qe69va19IzZxXssLDNDFRQDWuQxusOz4Xd1qfOl93S3Bkejy8E5Re8bg3/JzNu8T8fxZGLyrCdfc76eQgyg==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + + '@pnpm/parse-overrides@5.1.0': + resolution: {integrity: sha512-RlNgiDIFNNK/4eTHOa549LYz51YCMiQroJEiUwCCWpOJlwPj+bIlcwpp9aOYGvH+ESjGIE5A9vfFFA6ilMPWKA==} + engines: {node: '>=18.12'} + + '@pnpm/parse-wanted-dependency@6.0.0': + resolution: {integrity: sha512-01hKf1qHKREZDOwa5wRXk01P+xBGOeZf/idg17si8ji7UWpdWEQkrUVmGfv3sT04XoiwIb7kaRiKPQT7ooB4fA==} + engines: {node: '>=18.12'} + + '@pnpm/pnpmfile@6.0.7': + resolution: {integrity: sha512-QV87jE8szZQdiE0Wy8qUcrT6eJ0ZoVJQptJ23mqlQfOQv41LmIJ+bxv0WqripNWBKnoF8lEFY+lvmuTOiHyrgw==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + + '@pnpm/ramda@0.28.1': + resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==} + + '@pnpm/read-project-manifest@6.0.5': + resolution: {integrity: sha512-mzr8WeI+oAtueaRrUItpdx5Ipbt05KvwNdu5fCWtNVQ7usn3dvSLwHNkOORBXqj6tehZo0A7DCmvTa/TZwp7yg==} + engines: {node: '>=18.12'} + + '@pnpm/render-peer-issues@5.0.5': + resolution: {integrity: sha512-paYKzqr1Fsr+Gb+0ZkiMvwUZgq9NmQLhEjDh2FlyRWID6TZ60SXSrq7bMJ/f3JWlURoEZ009S1C/CIya4j0/Jg==} + engines: {node: '>=18.12'} + + '@pnpm/resolver-base@13.0.1': + resolution: {integrity: sha512-WXWHDtVFAmwyBSOLYkYF1bJujDQyG6JYZGsVsy+/dTPiaT8pzebL7p4fchC/8wpZroH7lxJ1lInSKIg7T904/g==} + engines: {node: '>=18.12'} + + '@pnpm/store-controller-types@18.1.3': + resolution: {integrity: sha512-3Akzy0mPaqE75IxoULTm3B9VILRy5bjIk4PSRC89JZBGbnpu+tM9spSpJgy1NCL7d8QhUBk2lQN7Gokep4BtsA==} + engines: {node: '>=18.12'} + + '@pnpm/text.comments-parser@3.0.0': + resolution: {integrity: sha512-BSGvYd59kPKVTUk1InekEp+TiPnJ8650/bQyiOUFSvqHi61YipcR+E4H2i3xTnk2e+GHdGbXvEtAZbQmyxb0/g==} + engines: {node: '>=18.12'} + + '@pnpm/types@11.1.0': + resolution: {integrity: sha512-wnlOhu7hjv9/qsf2cbK0YqpaV9c4LS69Utxd+r8hq/GWhyrOHcM1QOlfQb0Mzci0q4DDgB8VXT4dhBnEBL4c5g==} + engines: {node: '>=18.12'} + + '@pnpm/util.lex-comparator@3.0.0': + resolution: {integrity: sha512-ead+l3IiuVXwKDf/QJPX6G93cwhXki3yOVEA/VdAO7AhZ5vUuSBxHe6gQKEbB0QacJ4H5VsYxeM1xUgwjjOO/Q==} + engines: {node: '>=18.12'} + + '@pnpm/which@3.0.1': + resolution: {integrity: sha512-4ivtS12Oni9axgGefaq+gTPD+7N0VPCFdxFH8izCaWfnxLQblX3iVxba+25ZoagStlzUs8sQg8OMKlCVhyGWTw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + '@pnpm/workspace.find-packages@4.0.2': + resolution: {integrity: sha512-ufTRIKSNna1mrgsjA9OSXJ2ETWm+OdaqOiCaN1MIGfzgfqn0Mjp0C5wACQ8nTaCnTgwdCuYG/+Ky7cMNl9YY1g==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + + '@pnpm/workspace.read-manifest@2.2.0': + resolution: {integrity: sha512-8rWN1LjG8qCqR32UcDVBBaXfmQhl1Ye698KB1L+MlJTa/S568UyQOfINdC8eL5ba6vggoDp4opgUcY8FoEdNhQ==} + engines: {node: '>=18.12'} + + '@pnpm/write-project-manifest@6.0.4': + resolution: {integrity: sha512-y8xAGSqPK2lrpwKK/VHywfvFc0QFA43g3MFlDxyBIdjafOsTtNZ8lrmk6hVI6Qzyhv25xTzi6oCR9ENPGhg1YQ==} + engines: {node: '>=18.12'} + '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} @@ -4691,10 +4898,18 @@ packages: resolution: {integrity: sha512-RGQlVUegBRxAUF9c1ss1ssaHZh6CO+7awgtI9sDeU0PzDZY/40ImoPD5m0o0SI6nXoVzbPtcMGzU+VO590pRfA==} engines: {node: '>=18'} + '@react-native/debugger-frontend@0.74.85': + resolution: {integrity: sha512-gUIhhpsYLUTYWlWw4vGztyHaX/kNlgVspSvKe2XaPA7o3jYKUoNLc3Ov7u70u/MBWfKdcEffWq44eSe3j3s5JQ==} + engines: {node: '>=18'} + '@react-native/dev-middleware@0.74.83': resolution: {integrity: sha512-UH8iriqnf7N4Hpi20D7M2FdvSANwTVStwFCSD7VMU9agJX88Yk0D1T6Meh2RMhUu4kY2bv8sTkNRm7LmxvZqgA==} engines: {node: '>=18'} + '@react-native/dev-middleware@0.74.85': + resolution: {integrity: sha512-BRmgCK5vnMmHaKRO+h8PKJmHHH3E6JFuerrcfE3wG2eZ1bcSr+QTu8DAlpxsDWvJvHpCi8tRJGauxd+Ssj/c7w==} + engines: {node: '>=18'} + '@react-native/gradle-plugin@0.72.11': resolution: {integrity: sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==} @@ -6382,6 +6597,9 @@ packages: '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + '@types/ssri@7.1.5': + resolution: {integrity: sha512-odD/56S3B51liILSk5aXJlnYt99S6Rt9EFDDqGtJM26rKHApHcwyU/UoYHrzKkdkHMAIquGWCuHtQTbes+FRQw==} + '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -6771,6 +6989,11 @@ packages: resolution: {integrity: sha512-jmtJMA3/Jl4rMzo/DZ79s6g0CJ1AZcNAO6emTy/vHfIKAB/iiFY7PLs6KmbRTJ+F8GnK2eCLnjQfCCneRxXgzg==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} + '@zkochan/which@2.0.3': + resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==} + engines: {node: '>= 8'} + hasBin: true + '@zxing/text-encoding@0.9.0': resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} @@ -6891,6 +7114,9 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-diff@1.1.1: + resolution: {integrity: sha512-XnTdFDQzbEewrDx8epWXdw7oqHMvv315vEtfqDiEhhWghIf4++h26c3/FMz7iTLhNrnj56DNIXpbxHZq+3s6qw==} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -6911,6 +7137,10 @@ packages: engines: {'0': node >= 0.8.0} hasBin: true + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -6926,6 +7156,9 @@ packages: ansi-sequence-parser@1.1.1: resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + ansi-split@1.0.1: + resolution: {integrity: sha512-RRxQym4DFtDNmHIkW6aeFVvrXURb11lGAEPXNiryjCe8bK8RsANjzJ0M2aGOkvBYwP4Bl/xZ8ijtr6D3j1x/eg==} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -6972,6 +7205,9 @@ packages: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} + archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -7042,6 +7278,9 @@ packages: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} + as-table@1.0.55: + resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -7268,6 +7507,9 @@ packages: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + bole@5.0.14: + resolution: {integrity: sha512-IFDlSAH1GKiQEp4NUa2Eg8RplcV2oXOFCHD/nfNqVlRNf9RgNRdxtR2g3P+Cz57uP5jAGSrq2bGUqXLQeh/h4w==} + bonjour-service@1.2.1: resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} @@ -7277,6 +7519,10 @@ packages: boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + boxen@6.2.1: resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7289,6 +7535,9 @@ packages: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} + bplist-creator@0.0.7: + resolution: {integrity: sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==} + bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} @@ -7360,6 +7609,9 @@ packages: builtins@1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + builtins@5.1.0: + resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -7458,6 +7710,10 @@ packages: can-ndjson-stream@1.0.2: resolution: {integrity: sha512-//tM8wcTV42SyD1JGua7WMVftZEeTwapcHJTTe3vJwuVywXD01CJbdEkgwRYjy2evIByVJV21ZKBdSv5ygIw1w==} + can-write-to-dir@1.1.1: + resolution: {integrity: sha512-eOgiEWqjppB+3DN/5E82EQ8dTINus8d9GXMCbEsUnp2hcUIcXmBvzWmD3tXMk3CuBK0v+ddK9qw0EAF+JVRMjQ==} + engines: {node: '>=10.13'} + caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} @@ -7575,10 +7831,18 @@ packages: resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} engines: {node: '>=10'} + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} + cli-columns@4.0.0: + resolution: {integrity: sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ==} + engines: {node: '>= 10'} + cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -7603,6 +7867,10 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8230,6 +8498,9 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + data-uri-to-buffer@2.0.2: + resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} + data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} @@ -9150,6 +9421,9 @@ packages: expo-modules-core@1.12.13: resolution: {integrity: sha512-CpCe6HatZpFa3KwQ04t1FxZWGl96KpV/RH55PGSXLhGhNMQ2MXxK7g9xKuXUDM45hgeNlO3P7BhJJkyFfhe3TQ==} + expo-modules-core@1.12.19: + resolution: {integrity: sha512-fFsErN4oMsOdStUVYvyLpl6MX/wbD9yJSqy/Lu7ZRLIPzeKDfGS2jNl8RzryPznRpWmy49X8l40R4osRJLizhg==} + expo-router@3.5.15: resolution: {integrity: sha512-rJdxvePGaVtS5VbZG/EuzLppDLDXD/HSDX/c7EBKs2kjrVLsChq1ywmCM0kCZSlBWZIDQtTAjnk+zadTDZf1/g==} peerDependencies: @@ -9197,6 +9471,10 @@ packages: resolution: {integrity: sha512-gmw+XInE9Bpg/faVWwLRF6RXYfRKReJB9BhE+3M56irkt//4OQLmpyRzSvG7O0joCm13Acr8JOBgRRu9tKCb+g==} hasBin: true + expo@51.0.21: + resolution: {integrity: sha512-tCKJUw4U4F15FecFPwJTFnAwHZMmUD1Wm7FX0Z/Oj3Jr14MOkom8Lnt2OkBK6BtM91lz33EF9OhgqReX6kchLA==} + hasBin: true + exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} @@ -9257,6 +9535,9 @@ packages: fast-loops@1.1.4: resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.0.1: resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} @@ -9627,6 +9908,9 @@ packages: resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} engines: {node: '>=16'} + get-source@2.0.12: + resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} + get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} @@ -10161,6 +10445,9 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + individual@3.0.0: + resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -10185,6 +10472,10 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} + ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + ini@4.1.3: resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10984,6 +11275,10 @@ packages: resolution: {integrity: sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==} engines: {node: '>=4'} + load-json-file@6.2.0: + resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} + engines: {node: '>=8'} + load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -11296,6 +11591,10 @@ packages: resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==} engines: {node: '>=6'} + mem@8.1.1: + resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} + engines: {node: '>=10'} + memfs@3.5.3: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} @@ -11655,6 +11954,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -11874,6 +12177,11 @@ packages: resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} hasBin: true + ndjson@2.0.0: + resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==} + engines: {node: '>=10'} + hasBin: true + needle@3.3.1: resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} @@ -12035,6 +12343,9 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + normalize-registry-url@2.0.0: + resolution: {integrity: sha512-3e9FwDyRAhbxXw4slm4Tjv40u78yPwMc/WZkACpqNQOs5sM7wic853AeTLkMFEVhivZkclGYlse8iYsklz0Yvg==} + normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -12395,6 +12706,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} @@ -12432,6 +12747,10 @@ packages: password-prompt@1.1.3: resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} + path-absolute@1.0.1: + resolution: {integrity: sha512-gds5iRhSeOcDtj8gfWkRHLtZKTPsFVuh7utbjYtvnclw4XM+ffRzJrwqMhOD1PVqef7nBLmgsu1vIujjvAJrAw==} + engines: {node: '>=4'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -12466,6 +12785,9 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-name@1.0.0: + resolution: {integrity: sha512-/dcAb5vMXH0f51yvMuSUqFpxUcA8JelbRmE5mW/p4CUJxrNgK24IkstnV7ENtg2IDGBOu6izKTG6eilbnbNKWQ==} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -12473,6 +12795,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-temp@2.1.0: + resolution: {integrity: sha512-cMMJTAZlion/RWRRC48UbrDymEIt+/YSD/l8NqjneyDw2rDOBQcP5yRkMB4CYGn47KMhZvbblBP7Z79OsMw72w==} + engines: {node: '>=8.15'} + path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -12936,10 +13262,17 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + pretty-time@1.1.0: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + prism-react-renderer@2.3.1: resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} peerDependencies: @@ -13510,6 +13843,10 @@ packages: resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + read-ini-file@4.0.0: + resolution: {integrity: sha512-zz4qv/sKETv7nAkATqSJ9YMbKD8NXRPuA8d17VdYCuNYrVstB1S6UAMU6aytf5vRa9MESbZN7jLZdcmrOxz4gg==} + engines: {node: '>=14.6'} + read-pkg-up@2.0.0: resolution: {integrity: sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==} engines: {node: '>=4'} @@ -13530,6 +13867,10 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + read-yaml-file@2.1.0: + resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} + engines: {node: '>=10.13'} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -13554,6 +13895,10 @@ packages: readline@1.3.0: resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} + realpath-missing@1.1.0: + resolution: {integrity: sha512-wnWtnywepjg/eHIgWR97R7UuM5i+qHLA195qdN9UPKvcMqfn60+67S8sPPW3vDlSEfYHoFkKU8IvpCNty3zQvQ==} + engines: {node: '>=10'} + recast@0.21.5: resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} engines: {node: '>= 4'} @@ -13800,6 +14145,9 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfc4648@1.5.3: + resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==} + rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} @@ -13907,6 +14255,10 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-execa@0.1.2: + resolution: {integrity: sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==} + engines: {node: '>=12'} + safe-json-stringify@1.2.0: resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} @@ -14211,6 +14563,10 @@ packages: resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} engines: {node: '>=6'} + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -14261,6 +14617,10 @@ packages: resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} engines: {node: '>= 6.3.0'} + sort-keys@4.2.0: + resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} + engines: {node: '>=8'} + source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -14326,6 +14686,9 @@ packages: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} + split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -14365,6 +14728,9 @@ packages: resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} engines: {node: '>=6'} + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -14405,6 +14771,10 @@ packages: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -14471,6 +14841,13 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-comments-strings@1.2.0: + resolution: {integrity: sha512-zwF4bmnyEjZwRhaak9jUWNxc0DoeKBJ7lwSN/LEc8dQXZcUFG6auaaTQJokQWXopLdM3iTx01nQT8E4aL29DAQ==} + strip-comments@2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} @@ -14934,6 +15311,10 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + turbo-stream@2.2.0: resolution: {integrity: sha512-FKFg7A0To1VU4CH9YmSMON5QphK0BXjSoiC7D9yMh+mEEbXLUP9qJ4hEt1qcjKtzncs1OpcnjZO8NgrlVbZH+g==} @@ -15081,6 +15462,10 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + undici@6.19.2: resolution: {integrity: sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==} engines: {node: '>=18.17'} @@ -15350,6 +15735,10 @@ packages: validate-npm-package-name@3.0.0: resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -15936,6 +16325,10 @@ packages: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + write-yaml-file@5.0.0: + resolution: {integrity: sha512-FdNA4RyH1L43TlvGG8qOMIfcEczwA5ij+zLXUy3Z83CjxhLvcV7/Q/8pk22wnCgYw7PJhtK+7lhO+qqyT4NdvQ==} + engines: {node: '>=16.14'} + ws@6.2.3: resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} peerDependencies: @@ -16182,6 +16575,16 @@ snapshots: optionalDependencies: graphql: 16.8.1 + '@actions/core@1.10.1': + dependencies: + '@actions/http-client': 2.2.1 + uuid: 8.3.2 + + '@actions/http-client@2.2.1': + dependencies: + tunnel: 0.0.6 + undici: 5.28.4 + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0)': dependencies: '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) @@ -20192,6 +20595,92 @@ snapshots: - supports-color - utf-8-validate + '@expo/cli@0.18.25(encoding@0.1.13)(expo-modules-autolinking@1.11.1)': + dependencies: + '@babel/runtime': 7.24.8 + '@expo/code-signing-certificates': 0.0.5 + '@expo/config': 9.0.3 + '@expo/config-plugins': 8.0.8 + '@expo/devcert': 1.1.2 + '@expo/env': 0.3.0 + '@expo/image-utils': 0.5.1(encoding@0.1.13) + '@expo/json-file': 8.3.3 + '@expo/metro-config': 0.18.8 + '@expo/osascript': 2.1.3 + '@expo/package-manager': 1.5.2 + '@expo/plist': 0.1.3 + '@expo/prebuild-config': 7.0.8(encoding@0.1.13)(expo-modules-autolinking@1.11.1) + '@expo/rudder-sdk-node': 1.1.1(encoding@0.1.13) + '@expo/spawn-async': 1.7.2 + '@expo/xcpretty': 4.3.1 + '@react-native/dev-middleware': 0.74.85(encoding@0.1.13) + '@urql/core': 2.3.6(graphql@15.8.0) + '@urql/exchange-retry': 0.3.0(graphql@15.8.0) + accepts: 1.3.8 + arg: 5.0.2 + better-opn: 3.0.2 + bplist-creator: 0.0.7 + bplist-parser: 0.3.2 + cacache: 18.0.4 + chalk: 4.1.2 + ci-info: 3.9.0 + connect: 3.7.0 + debug: 4.3.5(supports-color@8.1.1) + env-editor: 0.4.2 + fast-glob: 3.3.2 + find-yarn-workspace-root: 2.0.0 + form-data: 3.0.1 + freeport-async: 2.0.0 + fs-extra: 8.1.0 + getenv: 1.0.0 + glob: 7.2.3 + graphql: 15.8.0 + graphql-tag: 2.12.6(graphql@15.8.0) + https-proxy-agent: 5.0.1 + internal-ip: 4.3.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + js-yaml: 3.14.1 + json-schema-deref-sync: 0.13.0 + lodash.debounce: 4.0.8 + md5hex: 1.0.0 + minimatch: 3.1.2 + node-fetch: 2.7.0(encoding@0.1.13) + node-forge: 1.3.1 + npm-package-arg: 7.0.0 + open: 8.4.2 + ora: 3.4.0 + picomatch: 3.0.1 + pretty-bytes: 5.6.0 + progress: 2.0.3 + prompts: 2.4.2 + qrcode-terminal: 0.11.0 + require-from-string: 2.0.2 + requireg: 0.2.2 + resolve: 1.22.8 + resolve-from: 5.0.0 + resolve.exports: 2.0.2 + semver: 7.6.3 + send: 0.18.0 + slugify: 1.6.6 + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + structured-headers: 0.4.1 + tar: 6.2.1 + temp-dir: 2.0.0 + tempy: 0.7.1 + terminal-link: 2.1.1 + text-table: 0.2.0 + url-join: 4.0.0 + wrap-ansi: 7.0.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - encoding + - expo-modules-autolinking + - supports-color + - utf-8-validate + '@expo/code-signing-certificates@0.0.5': dependencies: node-forge: 1.3.1 @@ -20442,6 +20931,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@expo/metro-config@0.18.8': + dependencies: + '@babel/core': 7.24.5 + '@babel/generator': 7.24.10 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 + '@expo/config': 9.0.3 + '@expo/env': 0.3.0 + '@expo/json-file': 8.3.3 + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + debug: 4.3.5(supports-color@8.1.1) + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + getenv: 1.0.0 + glob: 7.2.3 + jsc-safe-url: 0.2.4 + lightningcss: 1.19.0 + postcss: 8.4.39 + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color + '@expo/metro-runtime@3.2.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))': dependencies: react-native: 0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0) @@ -20612,6 +21124,24 @@ snapshots: - encoding - supports-color + '@expo/prebuild-config@7.0.8(encoding@0.1.13)(expo-modules-autolinking@1.11.1)': + dependencies: + '@expo/config': 9.0.3 + '@expo/config-plugins': 8.0.8 + '@expo/config-types': 51.0.2 + '@expo/image-utils': 0.5.1(encoding@0.1.13) + '@expo/json-file': 8.3.3 + '@react-native/normalize-colors': 0.74.85 + debug: 4.3.5(supports-color@8.1.1) + expo-modules-autolinking: 1.11.1 + fs-extra: 9.1.0 + resolve-from: 5.0.0 + semver: 7.6.3 + xml2js: 0.6.0 + transitivePeerDependencies: + - encoding + - supports-color + '@expo/results@1.0.0': {} '@expo/rudder-sdk-node@1.1.1(encoding@0.1.13)': @@ -20690,6 +21220,8 @@ snapshots: '@faker-js/faker@8.3.1': {} + '@fastify/busboy@2.1.1': {} + '@floating-ui/core@1.6.5': dependencies: '@floating-ui/utils': 0.2.5 @@ -20729,6 +21261,8 @@ snapshots: dependencies: graphql: 15.8.0 + '@gwhitney/detect-indent@7.0.1': {} + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -21906,8 +22440,166 @@ snapshots: '@pkgr/core@0.1.1': {} + '@pnpm/catalogs.config@0.1.0': + dependencies: + '@pnpm/error': 6.0.1 + + '@pnpm/catalogs.protocol-parser@0.1.0': {} + + '@pnpm/catalogs.resolver@0.1.0': + dependencies: + '@pnpm/catalogs.protocol-parser': 0.1.0 + '@pnpm/error': 6.0.1 + + '@pnpm/catalogs.types@0.1.0': {} + + '@pnpm/cli-meta@6.0.4': + dependencies: + '@pnpm/types': 11.1.0 + load-json-file: 6.2.0 + + '@pnpm/cli-utils@3.1.5(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/cli-meta': 6.0.4 + '@pnpm/config': 21.6.2(@pnpm/logger@5.0.0) + '@pnpm/default-reporter': 13.1.8(@pnpm/logger@5.0.0) + '@pnpm/error': 6.0.1 + '@pnpm/logger': 5.0.0 + '@pnpm/manifest-utils': 6.0.5(@pnpm/logger@5.0.0) + '@pnpm/package-is-installable': 9.0.5(@pnpm/logger@5.0.0) + '@pnpm/read-project-manifest': 6.0.5 + '@pnpm/types': 11.1.0 + chalk: 4.1.2 + load-json-file: 6.2.0 + '@pnpm/config.env-replace@1.1.0': {} + '@pnpm/config.env-replace@3.0.0': {} + + '@pnpm/config@21.6.2(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/catalogs.config': 0.1.0 + '@pnpm/catalogs.types': 0.1.0 + '@pnpm/config.env-replace': 3.0.0 + '@pnpm/constants': 8.0.0 + '@pnpm/error': 6.0.1 + '@pnpm/git-utils': 2.0.0 + '@pnpm/matcher': 6.0.0 + '@pnpm/npm-conf': 2.2.2 + '@pnpm/pnpmfile': 6.0.7(@pnpm/logger@5.0.0) + '@pnpm/read-project-manifest': 6.0.5 + '@pnpm/types': 11.1.0 + '@pnpm/workspace.read-manifest': 2.2.0 + better-path-resolve: 1.0.0 + camelcase: 6.3.0 + camelcase-keys: 6.2.2 + can-write-to-dir: 1.1.1 + is-subdir: 1.2.0 + is-windows: 1.0.2 + normalize-registry-url: 2.0.0 + path-absolute: 1.0.1 + path-name: 1.0.0 + ramda: '@pnpm/ramda@0.28.1' + read-ini-file: 4.0.0 + realpath-missing: 1.1.0 + which: '@pnpm/which@3.0.1' + transitivePeerDependencies: + - '@pnpm/logger' + + '@pnpm/constants@8.0.0': {} + + '@pnpm/core-loggers@10.0.4(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/logger': 5.0.0 + '@pnpm/types': 11.1.0 + + '@pnpm/crypto.base32-hash@3.0.0': + dependencies: + rfc4648: 1.5.3 + + '@pnpm/dedupe.issues-renderer@2.0.0': + dependencies: + '@pnpm/dedupe.types': 2.0.0 + archy: 1.0.0 + chalk: 4.1.2 + + '@pnpm/dedupe.types@2.0.0': {} + + '@pnpm/default-reporter@13.1.8(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/config': 21.6.2(@pnpm/logger@5.0.0) + '@pnpm/core-loggers': 10.0.4(@pnpm/logger@5.0.0) + '@pnpm/dedupe.issues-renderer': 2.0.0 + '@pnpm/dedupe.types': 2.0.0 + '@pnpm/error': 6.0.1 + '@pnpm/logger': 5.0.0 + '@pnpm/render-peer-issues': 5.0.5 + '@pnpm/types': 11.1.0 + ansi-diff: 1.1.1 + boxen: 5.1.2 + chalk: 4.1.2 + cli-truncate: 2.1.0 + normalize-path: 3.0.0 + pretty-bytes: 5.6.0 + pretty-ms: 7.0.1 + ramda: '@pnpm/ramda@0.28.1' + rxjs: 7.8.1 + semver: 7.6.3 + stacktracey: 2.1.8 + string-length: 4.0.2 + + '@pnpm/error@6.0.1': + dependencies: + '@pnpm/constants': 8.0.0 + + '@pnpm/fetcher-base@16.0.4': + dependencies: + '@pnpm/resolver-base': 13.0.1 + '@pnpm/types': 11.1.0 + '@types/ssri': 7.1.5 + + '@pnpm/fs.find-packages@4.0.1': + dependencies: + '@pnpm/read-project-manifest': 6.0.5 + '@pnpm/types': 11.1.0 + '@pnpm/util.lex-comparator': 3.0.0 + fast-glob: 3.3.2 + p-filter: 2.1.0 + + '@pnpm/git-utils@2.0.0': + dependencies: + execa: safe-execa@0.1.2 + + '@pnpm/graceful-fs@4.0.0': + dependencies: + graceful-fs: 4.2.11 + + '@pnpm/hooks.types@2.0.5': + dependencies: + '@pnpm/lockfile-types': 7.1.3 + '@pnpm/types': 11.1.0 + + '@pnpm/lockfile-types@7.1.3': + dependencies: + '@pnpm/types': 11.1.0 + + '@pnpm/logger@5.0.0': + dependencies: + bole: 5.0.14 + ndjson: 2.0.0 + + '@pnpm/manifest-utils@6.0.5(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/core-loggers': 10.0.4(@pnpm/logger@5.0.0) + '@pnpm/error': 6.0.1 + '@pnpm/types': 11.1.0 + transitivePeerDependencies: + - '@pnpm/logger' + + '@pnpm/matcher@6.0.0': + dependencies: + escape-string-regexp: 4.0.0 + '@pnpm/network.ca-file@1.0.2': dependencies: graceful-fs: 4.2.10 @@ -21918,6 +22610,115 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@pnpm/package-is-installable@9.0.5(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/core-loggers': 10.0.4(@pnpm/logger@5.0.0) + '@pnpm/error': 6.0.1 + '@pnpm/logger': 5.0.0 + '@pnpm/types': 11.1.0 + detect-libc: 2.0.3 + execa: safe-execa@0.1.2 + mem: 8.1.1 + semver: 7.6.3 + + '@pnpm/parse-overrides@5.1.0': + dependencies: + '@pnpm/catalogs.resolver': 0.1.0 + '@pnpm/catalogs.types': 0.1.0 + '@pnpm/error': 6.0.1 + '@pnpm/parse-wanted-dependency': 6.0.0 + + '@pnpm/parse-wanted-dependency@6.0.0': + dependencies: + validate-npm-package-name: 5.0.0 + + '@pnpm/pnpmfile@6.0.7(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/core-loggers': 10.0.4(@pnpm/logger@5.0.0) + '@pnpm/crypto.base32-hash': 3.0.0 + '@pnpm/error': 6.0.1 + '@pnpm/hooks.types': 2.0.5 + '@pnpm/lockfile-types': 7.1.3 + '@pnpm/logger': 5.0.0 + '@pnpm/store-controller-types': 18.1.3 + '@pnpm/types': 11.1.0 + chalk: 4.1.2 + path-absolute: 1.0.1 + + '@pnpm/ramda@0.28.1': {} + + '@pnpm/read-project-manifest@6.0.5': + dependencies: + '@gwhitney/detect-indent': 7.0.1 + '@pnpm/error': 6.0.1 + '@pnpm/graceful-fs': 4.0.0 + '@pnpm/text.comments-parser': 3.0.0 + '@pnpm/types': 11.1.0 + '@pnpm/write-project-manifest': 6.0.4 + fast-deep-equal: 3.1.3 + is-windows: 1.0.2 + json5: 2.2.3 + lodash.clonedeep: 4.5.0 + parse-json: 5.2.0 + read-yaml-file: 2.1.0 + sort-keys: 4.2.0 + strip-bom: 4.0.0 + + '@pnpm/render-peer-issues@5.0.5': + dependencies: + '@pnpm/error': 6.0.1 + '@pnpm/matcher': 6.0.0 + '@pnpm/parse-overrides': 5.1.0 + '@pnpm/types': 11.1.0 + archy: 1.0.0 + chalk: 4.1.2 + cli-columns: 4.0.0 + semver: 7.6.3 + + '@pnpm/resolver-base@13.0.1': + dependencies: + '@pnpm/types': 11.1.0 + + '@pnpm/store-controller-types@18.1.3': + dependencies: + '@pnpm/fetcher-base': 16.0.4 + '@pnpm/resolver-base': 13.0.1 + '@pnpm/types': 11.1.0 + + '@pnpm/text.comments-parser@3.0.0': + dependencies: + strip-comments-strings: 1.2.0 + + '@pnpm/types@11.1.0': {} + + '@pnpm/util.lex-comparator@3.0.0': {} + + '@pnpm/which@3.0.1': + dependencies: + isexe: 2.0.0 + + '@pnpm/workspace.find-packages@4.0.2(@pnpm/logger@5.0.0)': + dependencies: + '@pnpm/cli-utils': 3.1.5(@pnpm/logger@5.0.0) + '@pnpm/fs.find-packages': 4.0.1 + '@pnpm/logger': 5.0.0 + '@pnpm/types': 11.1.0 + '@pnpm/util.lex-comparator': 3.0.0 + + '@pnpm/workspace.read-manifest@2.2.0': + dependencies: + '@pnpm/constants': 8.0.0 + '@pnpm/error': 6.0.1 + read-yaml-file: 2.1.0 + + '@pnpm/write-project-manifest@6.0.4': + dependencies: + '@pnpm/text.comments-parser': 3.0.0 + '@pnpm/types': 11.1.0 + json5: 2.2.3 + write-file-atomic: 5.0.1 + write-yaml-file: 5.0.0 + '@polka/url@1.0.0-next.25': {} '@popperjs/core@2.11.8': {} @@ -22631,6 +23432,8 @@ snapshots: '@react-native/debugger-frontend@0.74.83': {} + '@react-native/debugger-frontend@0.74.85': {} + '@react-native/dev-middleware@0.74.83(encoding@0.1.13)': dependencies: '@isaacs/ttlcache': 1.4.1 @@ -22652,6 +23455,27 @@ snapshots: - supports-color - utf-8-validate + '@react-native/dev-middleware@0.74.85(encoding@0.1.13)': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.74.85 + '@rnx-kit/chromium-edge-launcher': 1.0.0 + chrome-launcher: 0.15.2 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.7.0(encoding@0.1.13) + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.15.0 + temp-dir: 2.0.0 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@react-native/gradle-plugin@0.72.11': {} '@react-native/gradle-plugin@0.74.83': {} @@ -24983,6 +25807,10 @@ snapshots: dependencies: '@types/node': 20.14.11 + '@types/ssri@7.1.5': + dependencies: + '@types/node': 20.14.11 + '@types/stack-utils@2.0.3': {} '@types/trusted-types@2.0.7': {} @@ -25533,6 +26361,10 @@ snapshots: '@zip.js/zip.js@2.7.47': {} + '@zkochan/which@2.0.3': + dependencies: + isexe: 2.0.0 + '@zxing/text-encoding@0.9.0': optional: true @@ -25678,6 +26510,10 @@ snapshots: ansi-colors@4.1.3: {} + ansi-diff@1.1.1: + dependencies: + ansi-split: 1.0.1 + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -25696,6 +26532,8 @@ snapshots: ansi-html-community@0.0.8: {} + ansi-regex@3.0.1: {} + ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} @@ -25704,6 +26542,10 @@ snapshots: ansi-sequence-parser@1.1.1: {} + ansi-split@1.0.1: + dependencies: + ansi-regex: 3.0.1 + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -25753,6 +26595,8 @@ snapshots: tar-stream: 3.1.7 zip-stream: 6.0.1 + archy@1.0.0: {} + are-we-there-yet@3.0.1: dependencies: delegates: 1.0.0 @@ -25851,6 +26695,10 @@ snapshots: arrify@1.0.1: {} + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + asap@2.0.6: {} asar@3.2.0: @@ -26235,6 +27083,11 @@ snapshots: transitivePeerDependencies: - supports-color + bole@5.0.14: + dependencies: + fast-safe-stringify: 2.1.1 + individual: 3.0.0 + bonjour-service@1.2.1: dependencies: fast-deep-equal: 3.1.3 @@ -26245,6 +27098,17 @@ snapshots: boolean@3.2.0: optional: true + boxen@5.1.2: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + boxen@6.2.1: dependencies: ansi-align: 3.0.1 @@ -26278,6 +27142,10 @@ snapshots: widest-line: 4.0.1 wrap-ansi: 8.1.0 + bplist-creator@0.0.7: + dependencies: + stream-buffers: 2.2.0 + bplist-creator@0.1.0: dependencies: stream-buffers: 2.2.0 @@ -26351,6 +27219,10 @@ snapshots: builtins@1.0.3: {} + builtins@5.1.0: + dependencies: + semver: 7.6.3 + bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -26479,6 +27351,10 @@ snapshots: dependencies: can-namespace: 1.0.0 + can-write-to-dir@1.1.1: + dependencies: + path-temp: 2.1.0 + caniuse-api@3.0.0: dependencies: browserslist: 4.23.2 @@ -26610,8 +27486,15 @@ snapshots: dependencies: escape-string-regexp: 4.0.0 + cli-boxes@2.2.1: {} + cli-boxes@3.0.0: {} + cli-columns@4.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -26636,6 +27519,11 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 @@ -27312,6 +28200,8 @@ snapshots: damerau-levenshtein@1.0.8: {} + data-uri-to-buffer@2.0.2: {} + data-uri-to-buffer@3.0.1: {} data-uri-to-buffer@4.0.1: {} @@ -28573,10 +29463,10 @@ snapshots: transitivePeerDependencies: - supports-color - expo-asset@10.0.10(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-asset@10.0.10(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) - expo-constants: 16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo-constants: 16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) invariant: 2.2.4 md5-file: 3.2.3 transitivePeerDependencies: @@ -28588,10 +29478,10 @@ snapshots: expo: 51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13) semver: 7.6.3 - expo-build-properties@0.12.3(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-build-properties@0.12.3(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: ajv: 8.17.1 - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) semver: 7.6.3 expo-camera@15.0.14(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13)): @@ -28607,11 +29497,11 @@ snapshots: transitivePeerDependencies: - supports-color - expo-constants@16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-constants@16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: '@expo/config': 9.0.3 '@expo/env': 0.3.0 - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) transitivePeerDependencies: - supports-color @@ -28656,18 +29546,18 @@ snapshots: dependencies: expo: 51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13) - expo-file-system@17.0.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-file-system@17.0.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) expo-font@12.0.9(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13)): dependencies: expo: 51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13) fontfaceobserver: 2.3.0 - expo-font@12.0.9(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-font@12.0.9(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) fontfaceobserver: 2.3.0 expo-json-utils@0.13.1: {} @@ -28676,9 +29566,9 @@ snapshots: dependencies: expo: 51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13) - expo-keep-awake@13.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-keep-awake@13.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) expo-linking@6.3.1(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13)): dependencies: @@ -28688,9 +29578,9 @@ snapshots: - expo - supports-color - expo-linking@6.3.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-linking@6.3.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: - expo-constants: 16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-constants: 16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) invariant: 2.2.4 transitivePeerDependencies: - expo @@ -28716,6 +29606,10 @@ snapshots: dependencies: invariant: 2.2.4 + expo-modules-core@1.12.19: + dependencies: + invariant: 2.2.4 + ? expo-router@3.5.15(@react-navigation/drawer@6.7.2(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.16.2(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.10.1(@babel/core@7.24.5)(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(encoding@0.1.13)(expo-constants@16.0.2(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13)))(expo-linking@6.3.1(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13)))(expo-modules-autolinking@1.11.1)(expo-status-bar@1.12.1)(expo@51.0.10(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(encoding@0.1.13))(react-native-reanimated@3.10.1(@babel/core@7.24.5)(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)(typescript@5.5.4) : dependencies: '@expo/metro-runtime': 3.2.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0)) @@ -28772,7 +29666,7 @@ snapshots: - supports-color - typescript - ? expo-router@3.5.15(@react-navigation/drawer@6.7.2(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.16.2(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(encoding@0.1.13)(expo-constants@16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-linking@6.3.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-modules-autolinking@1.11.1)(expo-status-bar@1.12.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)(typescript@5.5.4) + ? expo-router@3.5.15(@react-navigation/drawer@6.7.2(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-gesture-handler@2.16.2(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(encoding@0.1.13)(expo-constants@16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-linking@6.3.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)))(expo-modules-autolinking@1.11.1)(expo-status-bar@1.12.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13))(react-native-reanimated@3.10.1(@babel/core@7.24.7)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)(typescript@5.5.4) : dependencies: '@expo/metro-runtime': 3.2.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0)) '@expo/server': 0.4.4(typescript@5.5.4) @@ -28780,10 +29674,10 @@ snapshots: '@react-navigation/bottom-tabs': 6.5.20(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) '@react-navigation/native': 6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) '@react-navigation/native-stack': 6.9.26(@react-navigation/native@6.1.18(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-safe-area-context@4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native-screens@3.31.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) - expo-constants: 16.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) - expo-linking: 6.3.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) - expo-splash-screen: 0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo-constants: 16.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-linking: 6.3.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-splash-screen: 0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-status-bar: 1.12.1 react-native-helmet-async: 2.0.4(react@18.2.0) react-native-safe-area-context: 4.10.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) @@ -28813,10 +29707,10 @@ snapshots: - expo-modules-autolinking - supports-color - expo-splash-screen@0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-splash-screen@0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: '@expo/prebuild-config': 7.0.3(encoding@0.1.13)(expo-modules-autolinking@1.11.1) - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) transitivePeerDependencies: - encoding - expo-modules-autolinking @@ -28831,10 +29725,10 @@ snapshots: - expo-modules-autolinking - supports-color - expo-splash-screen@0.27.5(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): + expo-splash-screen@0.27.5(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)): dependencies: '@expo/prebuild-config': 7.0.6(encoding@0.1.13)(expo-modules-autolinking@1.11.1) - expo: 51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) + expo: 51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13) transitivePeerDependencies: - encoding - expo-modules-autolinking @@ -28871,21 +29765,21 @@ snapshots: - supports-color - utf-8-validate - expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13): + expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13): dependencies: '@babel/runtime': 7.24.8 - '@expo/cli': 0.18.15(encoding@0.1.13)(expo-modules-autolinking@1.11.1) - '@expo/config': 9.0.1 - '@expo/config-plugins': 8.0.4 - '@expo/metro-config': 0.18.3 + '@expo/cli': 0.18.25(encoding@0.1.13)(expo-modules-autolinking@1.11.1) + '@expo/config': 9.0.3 + '@expo/config-plugins': 8.0.8 + '@expo/metro-config': 0.18.8 '@expo/vector-icons': 14.0.2 babel-preset-expo: 11.0.12(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7)) - expo-asset: 10.0.10(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) - expo-file-system: 17.0.1(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) - expo-font: 12.0.9(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) - expo-keep-awake: 13.0.2(expo@51.0.10(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-asset: 10.0.10(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-file-system: 17.0.1(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-font: 12.0.9(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) + expo-keep-awake: 13.0.2(expo@51.0.21(@babel/core@7.24.7)(@babel/preset-env@7.24.8(@babel/core@7.24.7))(encoding@0.1.13)) expo-modules-autolinking: 1.11.1 - expo-modules-core: 1.12.13 + expo-modules-core: 1.12.19 fbemitter: 3.0.0(encoding@0.1.13) whatwg-url-without-unicode: 8.0.0-3 transitivePeerDependencies: @@ -28990,6 +29884,8 @@ snapshots: fast-loops@1.1.4: {} + fast-safe-stringify@2.1.1: {} + fast-uri@3.0.1: {} fast-url-parser@1.1.3: @@ -29426,6 +30322,11 @@ snapshots: get-port@7.1.0: {} + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + get-stream@4.1.0: dependencies: pump: 3.0.0 @@ -29452,7 +30353,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.4 + debug: 4.3.5(supports-color@8.1.1) fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -30153,6 +31054,8 @@ snapshots: indent-string@4.0.0: {} + individual@3.0.0: {} + infer-owner@1.0.4: {} infima@0.2.0-alpha.43: {} @@ -30170,6 +31073,8 @@ snapshots: ini@2.0.0: {} + ini@3.0.1: {} + ini@4.1.3: {} inline-style-parser@0.1.1: {} @@ -30738,8 +31643,7 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: - optional: true + json-stringify-safe@5.0.1: {} json5@1.0.2: dependencies: @@ -30992,6 +31896,13 @@ snapshots: pify: 2.3.0 strip-bom: 3.0.0 + load-json-file@6.2.0: + dependencies: + graceful-fs: 4.2.11 + parse-json: 5.2.0 + strip-bom: 4.0.0 + type-fest: 0.6.0 + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 @@ -31463,6 +32374,11 @@ snapshots: mimic-fn: 2.1.0 p-is-promise: 2.1.0 + mem@8.1.1: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 3.1.0 + memfs@3.5.3: dependencies: fs-monkey: 1.0.6 @@ -32272,6 +33188,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-fn@3.1.0: {} + mimic-fn@4.0.0: {} mimic-response@1.0.1: {} @@ -32496,6 +33414,14 @@ snapshots: ncp@2.0.0: optional: true + ndjson@2.0.0: + dependencies: + json-stringify-safe: 5.0.1 + minimist: 1.2.8 + readable-stream: 3.6.2 + split2: 3.2.2 + through2: 4.0.2 + needle@3.3.1: dependencies: iconv-lite: 0.6.3 @@ -32615,7 +33541,7 @@ snapshots: make-fetch-happen: 13.0.1 nopt: 7.2.1 proc-log: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 tar: 6.2.1 which: 4.0.0 transitivePeerDependencies: @@ -32666,13 +33592,15 @@ snapshots: normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} normalize-range@0.1.2: {} + normalize-registry-url@2.0.0: {} + normalize-url@6.1.0: {} normalize-url@8.0.1: {} @@ -33000,7 +33928,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5(supports-color@8.1.1) get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -33088,6 +34016,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@2.1.0: {} + parse-node-version@1.0.1: {} parse-numeric-range@1.3.0: {} @@ -33129,6 +34059,8 @@ snapshots: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 + path-absolute@1.0.1: {} + path-browserify@1.0.1: {} path-exists@3.0.0: {} @@ -33147,6 +34079,8 @@ snapshots: path-key@4.0.0: {} + path-name@1.0.0: {} + path-parse@1.0.7: {} path-scurry@1.11.1: @@ -33154,6 +34088,10 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-temp@2.1.0: + dependencies: + unique-string: 2.0.0 + path-to-regexp@0.1.7: {} path-to-regexp@1.8.0: @@ -33604,8 +34542,14 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@7.0.1: + dependencies: + parse-ms: 2.1.0 + pretty-time@1.1.0: {} + printable-characters@1.0.42: {} + prism-react-renderer@2.3.1(react@18.2.0): dependencies: '@types/prismjs': 1.26.4 @@ -33764,7 +34708,7 @@ snapshots: proxy-agent@6.3.0: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -33777,7 +34721,7 @@ snapshots: proxy-agent@6.3.1: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -34623,6 +35567,11 @@ snapshots: read-cmd-shim@4.0.0: {} + read-ini-file@4.0.0: + dependencies: + ini: 3.0.1 + strip-bom: 4.0.0 + read-pkg-up@2.0.0: dependencies: find-up: 2.1.0 @@ -34654,6 +35603,11 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + read-yaml-file@2.1.0: + dependencies: + js-yaml: 4.1.0 + strip-bom: 4.0.0 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -34690,6 +35644,8 @@ snapshots: readline@1.3.0: {} + realpath-missing@1.1.0: {} + recast@0.21.5: dependencies: ast-types: 0.15.2 @@ -34995,6 +35951,8 @@ snapshots: reusify@1.0.4: {} + rfc4648@1.5.3: {} + rfdc@1.4.1: {} rgb2hex@0.2.5: {} @@ -35130,6 +36088,12 @@ snapshots: safe-buffer@5.2.1: {} + safe-execa@0.1.2: + dependencies: + '@zkochan/which': 2.0.3 + execa: 5.1.1 + path-name: 1.0.0 + safe-json-stringify@1.2.0: optional: true @@ -35460,6 +36424,12 @@ snapshots: astral-regex: 1.0.0 is-fullwidth-code-point: 2.0.0 + slice-ansi@3.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -35525,6 +36495,10 @@ snapshots: sort-css-media-queries@2.2.0: {} + sort-keys@4.2.0: + dependencies: + is-plain-obj: 2.1.0 + source-map-js@1.2.0: {} source-map-loader@5.0.0(webpack@5.92.1(@swc/core@1.7.0)(esbuild@0.21.5)): @@ -35596,6 +36570,10 @@ snapshots: split-on-first@1.1.0: {} + split2@3.2.2: + dependencies: + readable-stream: 3.6.2 + split2@4.2.0: {} split@1.0.1: @@ -35628,6 +36606,11 @@ snapshots: dependencies: type-fest: 0.7.1 + stacktracey@2.1.8: + dependencies: + as-table: 1.0.55 + get-source: 2.0.12 + statuses@1.5.0: {} statuses@2.0.1: {} @@ -35660,6 +36643,11 @@ snapshots: string-argv@0.3.2: {} + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -35757,6 +36745,10 @@ snapshots: strip-bom@3.0.0: {} + strip-bom@4.0.0: {} + + strip-comments-strings@1.2.0: {} + strip-comments@2.0.1: {} strip-eof@1.0.0: {} @@ -36438,6 +37430,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 + tunnel@0.0.6: {} + turbo-stream@2.2.0: {} turndown@7.1.2: @@ -36573,6 +37567,10 @@ snapshots: undici-types@5.26.5: {} + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + undici@6.19.2: {} undici@6.19.4: {} @@ -36835,6 +37833,10 @@ snapshots: dependencies: builtins: 1.0.3 + validate-npm-package-name@5.0.0: + dependencies: + builtins: 5.1.0 + validate-npm-package-name@5.0.1: {} value-equal@1.0.1: {} @@ -37806,6 +38808,11 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 + write-yaml-file@5.0.0: + dependencies: + js-yaml: 4.1.0 + write-file-atomic: 5.0.1 + ws@6.2.3: dependencies: async-limiter: 1.0.1 diff --git a/scripts/isolated-demo-test.ts b/scripts/isolated-demo-test.ts new file mode 100644 index 00000000..dd639074 --- /dev/null +++ b/scripts/isolated-demo-test.ts @@ -0,0 +1,190 @@ +import * as core from '@actions/core'; +import { findWorkspacePackages } from '@pnpm/workspace.find-packages'; +import { execSync } from 'child_process'; +import * as fs from 'fs/promises'; +import os from 'os'; +import * as path from 'path'; + +/** + * There can sometimes be differences between running/building demos + * inside and outside of the monorepo. This script will copy each demo + * to a temporary project which has its dependencies installed and its + * `build` script executed. + */ + +enum TestState { + PASSED = 'passed', + FAILED = 'failed', + WARN = 'warn' +} + +type TestResult = { + state: TestState; + error?: string; +}; + +type DemoResult = { + name: string; + installResult: TestResult; + buildResult: TestResult; +}; + +const displayState = (state: TestState) => { + switch (state) { + case TestState.PASSED: + return `Pass ✅`; + case TestState.FAILED: + return `Fail ❌`; + case TestState.WARN: + return `Pass ⚠️`; + } +}; + +const demosDir = path.resolve('demos'); + +const tmpDir = path.resolve(os.tmpdir(), 'temp-demos'); + +// Ensure tmp directory exists +const ensureTmpDirExists = async () => { + try { + await fs.mkdir(tmpDir, { recursive: true }); + } catch (err) { + console.error(`Error creating tmp directory: ${err}`); + } +}; + +const workspacePackages = await findWorkspacePackages(path.resolve('.')); + +// Function to update dependencies in package.json +const updateDependencies = async (packageJsonPath: string) => { + const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8')); + + const updateDeps = async (deps: { [key: string]: string }) => { + for (const dep in deps) { + if (deps[dep].startsWith('workspace:')) { + const matchingPackage = workspacePackages.find((p) => p.manifest.name == dep); + deps[dep] = `^${matchingPackage!.manifest.version!}`; + } + } + }; + + if (packageJson.dependencies) { + await updateDeps(packageJson.dependencies); + } + + if (packageJson.devDependencies) { + await updateDeps(packageJson.devDependencies); + } + + await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf8'); +}; + +// Function to process each demo +const processDemo = async (demoName: string): Promise => { + const demoSrc = path.join(demosDir, demoName); + const demoDest = path.join(tmpDir, demoName); + + console.log(`Processing ${demoName}`); + + console.log(`Demo will be copied to: ${demoDest}`); + + // Copy demo to tmp directory (without node modules) + await fs.cp(demoSrc, demoDest, { recursive: true, filter: (source) => !source.includes('node_modules') }); + + // Update package.json + const packageJsonPath = path.join(demoDest, 'package.json'); + await updateDependencies(packageJsonPath); + + const result: DemoResult = { + name: demoName, + installResult: { + state: TestState.WARN + }, + buildResult: { + state: TestState.WARN + } + }; + + // Run pnpm install and pnpm build + try { + execSync('pnpm install', { cwd: demoDest, stdio: 'inherit' }); + result.installResult.state = TestState.PASSED; + } catch (ex) { + result.installResult.state = TestState.FAILED; + result.installResult.error = ex.message; + return result; + } + + const packageJSONPath = path.join(demoDest, 'package.json'); + const pkg = JSON.parse(await fs.readFile(packageJSONPath, 'utf-8')); + if (!pkg.scripts['test:build']) { + result.buildResult.state = TestState.WARN; + return result; + } + + try { + execSync('pnpm run test:build', { cwd: demoDest, stdio: 'inherit' }); + result.buildResult.state = TestState.PASSED; + } catch (ex) { + result.buildResult.state = TestState.FAILED; + result.buildResult.error = ex.message; + } + + return result; +}; + +// Main function to read demos directory and process each demo +const main = async () => { + const results: DemoResult[] = []; + + try { + await ensureTmpDirExists(); + + const demoNames = await fs.readdir(demosDir); + for (const demoName of demoNames) { + try { + results.push(await processDemo(demoName)); + } catch (ex) { + results.push({ + name: demoName, + installResult: { + state: TestState.FAILED, + error: ex.message + }, + buildResult: { + state: TestState.FAILED + } + }); + console.log(`::error file=${demoName},line=1,col=1::${ex}`); + } + } + } catch (err) { + console.error(`Error processing demos: ${err}`); + process.exit(1); + } + + const errored = !!results.find( + (r) => r.installResult.state == TestState.FAILED || r.buildResult.state == TestState.FAILED + ); + + await core.summary + .addHeading('Test Results') + .addTable([ + [ + { data: 'Demo', header: true }, + { data: 'Install', header: true }, + { data: 'Build', header: true } + ], + ...results.map((r) => [r.name, displayState(r.installResult.state), displayState(r.buildResult.state)]) + ]) + .write(); + + if (errored) { + console.error(`Some demos did not pass`); + process.exit(1); + } else { + console.log('All demos processed successfully.'); + } +}; + +main(); diff --git a/scripts/test-publish-helper.ts b/scripts/test-publish-helper.ts new file mode 100644 index 00000000..a5e2a3a2 --- /dev/null +++ b/scripts/test-publish-helper.ts @@ -0,0 +1,47 @@ +import * as fs from 'fs'; +import * as path from 'path'; + +/** + * This will remove any publishConfig registry entries + * in package.json files. + * This is needed for publishing to a temporary registry. + * CLI Overrides don't seem to actually be applied. + */ + +const packagesDir = path.resolve('packages'); + +/** + * Deletes publishConfig.registry if present + */ +const processPackageJson = (packageJsonPath: string) => { + // Read and parse package.json + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); + + // Remove the publishConfig.registry if it exists + if (packageJson.publishConfig && packageJson.publishConfig.registry) { + delete packageJson.publishConfig.registry; + } + + // Write the modified package.json back to the file system + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2)); +}; + +// Get all subdirectories in the packages directory +const packageDirs = fs.readdirSync(packagesDir).filter((file) => { + return fs.statSync(path.join(packagesDir, file)).isDirectory(); +}); + +// Process each package.json in the packages directory +const promises = packageDirs.map((dir) => { + const packageJsonPath = path.join(packagesDir, dir, 'package.json'); + return processPackageJson(packageJsonPath); +}); + +Promise.all(promises) + .then(() => { + console.log('All packages modified successfully.'); + }) + .catch((error) => { + console.error('Error modifying some packages:', error); + process.exit(1); + }); diff --git a/verdaccio-config.yaml b/verdaccio-config.yaml new file mode 100644 index 00000000..e5822611 --- /dev/null +++ b/verdaccio-config.yaml @@ -0,0 +1,10 @@ +storage: /tmp/storage +auth: + htpasswd: + file: /tmp/htpasswd +packages: + '@powersync/*': + access: $all + publish: $all + proxy: false +log: { type: stdout, format: pretty, level: http }