Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "new.expensify",
  "version": "9.5.36-0",
  "author": "Expensify, Inc.",
  "homepage": "https://new.expensify.com",
  "description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
  "license": "MIT",
  "private": true,
  "workspaces": [
    "server/victory-chart-renderer"
  ],
  "scripts": {
    "i-standalone": "STANDALONE_NEW_DOT=true npm i",
    "install-standalone": "STANDALONE_NEW_DOT=true npm install",
    "configure-mapbox": "./scripts/setup-mapbox-sdk-walkthrough.sh",
    "setupNewDotWebForEmulators": "./scripts/setup-newdot-web-emulators.sh",
    "startAndroidEmulator": "./scripts/start-android.sh",
    "postinstall": "./scripts/postInstall.sh",
    "clean": "./scripts/clean.sh",
    "clean-standalone": "STANDALONE_NEW_DOT=true ./scripts/clean.sh",
    "android": "./scripts/set-pusher-suffix.sh && ./scripts/run-build.sh --android",
    "android-standalone": "./scripts/set-pusher-suffix.sh && STANDALONE_NEW_DOT=true ./scripts/run-build.sh --android",
    "ios": "./scripts/set-pusher-suffix.sh && ./scripts/run-build.sh --ios",
    "ios-standalone": "./scripts/set-pusher-suffix.sh && STANDALONE_NEW_DOT=true ./scripts/run-build.sh --ios",
    "pod-install": "./scripts/pod-install.sh",
    "pod-install-standalone": "STANDALONE_NEW_DOT=true ./scripts/pod-install.sh",
    "ipad": "concurrently \"./scripts/run-build.sh --ipad\"",
    "ipad-standalone": "concurrently \"STANDALONE_NEW_DOT=true ./scripts/run-build.sh --ipad\"",
    "ipad-sm": "concurrently \"./scripts/run-build.sh --ipad-sm\"",
    "ipad-sm-standalone": "concurrently \"STANDALONE_NEW_DOT=true ./scripts/run-build.sh --ipad-sm\"",
    "start": "npx rock start",
    "web": "./scripts/set-pusher-suffix.sh && bun scripts/startWeb.ts",
    "web-proxy": "bun web/proxy.ts",
    "web-server": "node ./node_modules/.bin/rsbuild dev --open --config config/rsbuild/rsbuild.config.ts",
    "build": "ENV=production bun ./node_modules/.bin/rsbuild build --config config/rsbuild/rsbuild.config.ts && bun ./scripts/combine-web-sourcemaps.ts",
    "build-staging": "ENV=staging bun ./node_modules/.bin/rsbuild build --config config/rsbuild/rsbuild.config.ts && bun ./scripts/combine-web-sourcemaps.ts",
    "build-adhoc": "ENV=adhoc bun ./node_modules/.bin/rsbuild build --config config/rsbuild/rsbuild.config.ts && bun ./scripts/combine-web-sourcemaps.ts",
    "benchmark-app-startup": "bun scripts/benchmarkAppStartup.ts",
    "bootstrap-device": "bun scripts/bootstrapForDevice.ts",
    "createDocsRoutes": "bun .github/scripts/createDocsRoutes.ts",
    "generateAllowedUrls": "bun .github/scripts/generateAllowedUrls.ts",
    "detectRedirectCycle": "bun .github/scripts/detectRedirectCycle.ts",
    "ios-build": "bundle exec fastlane ios build_unsigned",
    "ios-hybrid-build": "bundle exec fastlane ios build_unsigned_hybrid",
    "android-build": "bundle exec fastlane android build_local",
    "android-hybrid-build": "bundle exec fastlane android build_local_hybrid",
    "test": "TZ=utc NODE_OPTIONS=\"--experimental-vm-modules --max_old_space_size=8192\" jest",
    "test:verbose": "TZ=utc NODE_OPTIONS=\"--experimental-vm-modules --max_old_space_size=4096\" JEST_VERBOSE=true jest",
    "test:debug": "TZ=utc NODE_OPTIONS='--inspect-brk --experimental-vm-modules' jest --runInBand",
    "perf-test": "NODE_OPTIONS=--experimental-vm-modules npx reassure",
    "perf-local": "NODE_OPTIONS=--experimental-vm-modules npx reassure --testMatch '<rootDir>/tests/perf-local/**/*.perf-local.ts'",
    "typecheck": "bun scripts/typecheck.ts",
    "lint": "bun scripts/lint/index.ts",
    "lint-changed": "./scripts/lintChanged.sh",
    "lint-watch": "onchange '**/*.{js,jsx,ts,tsx,mjs,cjs}' -- bun scripts/lint/index.ts {{changed}}",
    "lint-report": "bun scripts/lint-report.ts",
    "knip": "KNIP=true knip --include dependencies --exclude unlisted --no-exit-code --reporter compact",
    "knip:full": "KNIP=true knip --reporter compact",
    "knip:json": "KNIP=true knip --reporter json --no-exit-code",
    "knip-changed": "./scripts/knip-changed.sh",
    "shellcheck": "./scripts/shellCheck.sh",
    "spell": "cspell --color **/*",
    "spell-changed": "./scripts/spellChanged.sh",
    "fmt": "oxfmt --write .",
    "fmt-watch": "onchange \"**/*.{js,mjs,ts,tsx,yml,yaml}\" -- oxfmt --write {{changed}}",
    "print-version": "echo $npm_package_version",
    "storybook": "storybook dev -p 6006",
    "storybook-build": "ENV=production storybook build -o dist/docs",
    "storybook-build-staging": "ENV=staging storybook build -o dist/docs",
    "gh-actions-build": "bun .github/scripts/buildActions.ts",
    "analyze-packages": "ANALYZE_BUNDLE=true ENV=production bun ./node_modules/.bin/rsbuild build --config config/rsbuild/rsbuild.config.ts",
    "symbolicate:android": "npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map",
    "symbolicate:ios": "npx metro-symbolicate main.jsbundle.map",
    "combine-web-sourcemaps": "bun scripts/combine-web-sourcemaps.ts",
    "gh-actions-unused-styles": "bun scripts/findUnusedStyles.ts",
    "setup-https": "mkcert -install && mkcert -cert-file config/rsbuild/certificate.pem -key-file config/rsbuild/key.pem dev.new.expensify.com localhost 127.0.0.1",
    "react-compiler-compliance-check": "bun scripts/react-compiler-compliance-check.ts",
    "generate-search-parser": "peggy --format es -o src/libs/SearchParser/searchParser.js src/libs/SearchParser/searchParser.peggy src/libs/SearchParser/baseRules.peggy",
    "generate-autocomplete-parser": "peggy --format es -o src/libs/SearchParser/autocompleteParser.js src/libs/SearchParser/autocompleteParser.peggy src/libs/SearchParser/baseRules.peggy && ./scripts/parser-workletization.sh src/libs/SearchParser/autocompleteParser.js",
    "web:dist": "concurrently \"npm:web-proxy\" \"http-server ./dist --cors --port 8080 -P http://localhost:9000\"",
    "octokit": "bun scripts/octokit.ts && cd scripts && bun repl",
    "compress-svg": "bun scripts/compressSvg-cli.ts --dir assets/images && bun scripts/compressSvg-cli.ts --dir docs/assets/images",
    "server:vcr:dev": "npm run dev -w @expensify/victory-chart-renderer --",
    "server:vcr:test": "npm run test -w @expensify/victory-chart-renderer --",
    "test:bun": "TZ=utc bun test --parallel --preload ./scripts/stubReactNative.js --preload ./tests/tooling/setup.ts ./server ./tests/tooling ./.claude/skills",
    "eval:proposal-police": "bun test --path-ignore-patterns='**/__never__/**' ./evals/proposalPolice/",
    "server:vcr:build:linux": "npm run build:linux -w @expensify/victory-chart-renderer --",
    "server:vcr:build:linux-arm": "npm run build:linux-arm -w @expensify/victory-chart-renderer --",
    "server:vcr:build:macos": "npm run build:macos -w @expensify/victory-chart-renderer --"
  },
  "dependencies": {
    "@babel/runtime": "^7.25.0",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@expensify/nitro-utils": "file:./modules/ExpensifyNitroUtils",
    "@expensify/react-native-background-task": "file:./modules/background-task",
    "@expensify/react-native-hybrid-app": "file:./modules/hybrid-app",
    "@expensify/react-native-live-markdown": "0.1.371",
    "@expensify/react-native-wallet": "0.1.41",
    "@formatjs/intl-listformat": "^7.5.7",
    "@formatjs/intl-locale": "^4.0.0",
    "@formatjs/intl-numberformat": "^8.10.3",
    "@formatjs/intl-pluralrules": "^5.2.14",
    "@fullstory/browser": "^2.0.6",
    "@fullstory/react-native": "^1.10.2",
    "@gorhom/portal": "^1.0.14",
    "@invertase/react-native-apple-authentication": "^2.5.0",
    "@legendapp/list": "^3.7.2",
    "@lottiefiles/dotlottie-react": "0.13.5",
    "@onfido/react-native-sdk": "15.1.0",
    "@pusher/pusher-websocket-react-native": "^1.3.1",
    "@react-native-camera-roll/camera-roll": "7.4.0",
    "@react-native-clipboard/clipboard": "^1.16.3",
    "@react-native-community/netinfo": "11.4.1",
    "@react-native-documents/picker": "^10.1.3",
    "@react-native-firebase/analytics": "^22.2.1",
    "@react-native-firebase/app": "^22.2.1",
    "@react-native-google-signin/google-signin": "^10.0.1",
    "@react-native-picker/picker": "2.11.3",
    "@react-navigation/bottom-tabs": "7.19.2",
    "@react-navigation/core": "7.22.1",
    "@react-navigation/material-top-tabs": "7.7.2",
    "@react-navigation/native": "7.4.1",
    "@react-navigation/native-stack": "7.19.2",
    "@react-navigation/stack": "7.11.2",
    "@react-ng/bounds-observer": "^0.2.1",
    "@rnmapbox/maps": "10.3.10",
    "@sbaiahmed1/react-native-biometrics": "0.15.0",
    "@sentry/core": "10.76.2",
    "@sentry/react-native": "8.32.0",
    "@shopify/flash-list": "2.3.2",
    "@shopify/react-native-skia": "^2.11.2",
    "@ua/react-native-airship": "26.7.0",
    "array.prototype.tosorted": "^1.1.4",
    "awesome-phonenumber": "6.11.0",
    "canvas-size": "^1.2.6",
    "canvaskit-wasm": "0.41.0",
    "d3-scale": "^4.0.2",
    "date-fns": "^4.1.0",
    "date-fns-tz": "^3.2.0",
    "dom-serializer": "^0.2.2",
    "domhandler": "^5.0.3",
    "expensify-common": "2.0.224",
    "expo": "57.0.8",
    "expo-asset": "57.0.7",
    "expo-audio": "57.0.3",
    "expo-font": "57.0.1",
    "expo-image": "57.0.1",
    "expo-image-manipulator": "57.0.6",
    "expo-location": "57.0.6",
    "expo-modules-core": "57.0.15",
    "expo-store-review": "57.0.1",
    "expo-task-manager": "57.0.6",
    "expo-video": "57.0.2",
    "expo-web-browser": "57.0.2",
    "fast-equals": "^5.2.2",
    "focus-trap-react": "^11.0.3",
    "group-ib-fp": "file:modules/group-ib-fp",
    "heic-to": "^1.1.14",
    "howler": "^2.2.4",
    "html-entities": "2.5.3",
    "htmlparser2": "10.0.0",
    "idb-keyval": "^6.2.1",
    "json5": "2.2.2",
    "lodash-es": "4.18.1",
    "lottie-react-native": "7.3.8",
    "mapbox-gl": "^3.24.0",
    "metro-transform-plugins": "0.84.5",
    "mime-db": "1.52.0",
    "modern-screenshot": "4.7.0",
    "onfido-sdk-ui": "14.53.1",
    "pako": "^2.1.0",
    "process": "^0.11.10",
    "pusher-js": "8.3.0",
    "react": "19.2.3",
    "react-collapse": "^5.1.0",
    "react-content-loader": "^7.0.0",
    "react-dom": "19.2.3",
    "react-error-boundary": "^4.0.11",
    "react-fast-pdf": "^1.0.34",
    "react-is": "^18.3.1",
    "react-map-gl": "^8.1.1",
    "react-native": "0.86.0",
    "react-native-advanced-input-mask": "1.4.6",
    "react-native-app-logs": "0.3.1",
    "react-native-blob-util": "0.24.12",
    "react-native-collapsible": "^1.6.2",
    "react-native-config": "1.5.3",
    "react-native-device-info": "10.3.1",
    "react-native-draggable-flatlist": "^4.0.3",
    "react-native-fs": "^2.20.0",
    "react-native-gesture-handler": "3.3.0",
    "react-native-google-places-autocomplete": "2.6.4",
    "react-native-haptic-feedback": "^2.3.3",
    "react-native-image-picker": "^7.1.2",
    "react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#8a1c3b7359977462cdd4e63b09ea45afbd3d77c7",
    "react-native-key-command": "1.0.14",
    "react-native-keyboard-controller": "1.22.4",
    "react-native-localize": "^3.5.4",
    "react-native-nitro-fetch": "1.6.2",
    "react-native-nitro-image": "0.15.2",
    "react-native-nitro-modules": "0.37.1",
    "react-native-nitro-sqlite": "10.2.0",
    "react-native-onyx": "3.0.122",
    "react-native-pager-view": "9.0.4",
    "react-native-pdf": "7.0.2",
    "react-native-permissions": "^5.4.0",
    "react-native-picker-select": "github:Expensify/react-native-picker-select#69d750a89aaba48392fb8b6f92a3d79f53b99c41",
    "react-native-plaid-link-sdk": "12.5.3",
    "react-native-qrcode-svg": "6.3.21",
    "react-native-quick-base64": "^3.0.1",
    "react-native-quick-crypto": "^1.1.6",
    "react-native-reanimated": "4.7.0",
    "react-native-render-html": "6.3.1",
    "react-native-safe-area-context": "5.9.1",
    "react-native-screens": "4.28.0",
    "react-native-share": "11.0.2",
    "react-native-svg": "15.15.5",
    "react-native-tab-view": "^4.3.0",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-view-shot": "5.1.0",
    "react-native-vision-camera": "5.2.3",
    "react-native-web": "0.21.4",
    "react-native-webview": "16.0.0",
    "react-native-worklets": "0.13.0",
    "react-plaid-link": "3.3.2",
    "react-web-config": "^1.0.0",
    "react-webcam": "^7.1.1",
    "scheduler": "0.27.0",
    "victory-native": "^42.0.1",
    "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
  },
  "devDependencies": {
    "@aaroon/workbox-rspack-plugin": "^1.0.1",
    "@actions/core": "3.0.1",
    "@actions/github": "9.1.1",
    "@appduct/react-native": "^0.16.0",
    "@appduct/web": "^0.16.0",
    "@babel/core": "^7.25.2",
    "@babel/parser": "^7.22.16",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/plugin-proposal-private-methods": "^7.18.6",
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
    "@babel/plugin-transform-dynamic-import": "^7.29.7",
    "@babel/plugin-transform-export-namespace-from": "^7.27.1",
    "@babel/plugin-transform-modules-commonjs": "^7.29.7",
    "@callstack/reassure-compare": "^1.0.0-rc.4",
    "@callstack/repack": "5.4.1",
    "@callstack/repack-plugin-expo-modules": "5.4.1",
    "@callstack/repack-plugin-reanimated": "5.4.1",
    "@dword-design/eslint-plugin-import-alias": "^5.0.0",
    "@fullstory/babel-plugin-annotate-react": "^2.4.0",
    "@fullstory/babel-plugin-react-native": "^1.7.1",
    "@googleapis/androidpublisher": "^37.0.0",
    "@jest/globals": "^29.7.0",
    "@jridgewell/remapping": "^2.3.5",
    "@ngneat/falso": "^7.1.1",
    "@octokit/core": "^7.0.6",
    "@octokit/plugin-paginate-rest": "^14.0.0",
    "@octokit/plugin-rest-endpoint-methods": "^17.0.0",
    "@octokit/plugin-throttling": "^11.0.0",
    "@octokit/request-error": "^7.0.0",
    "@octokit/webhooks-types": "^7.6.1",
    "@react-native-community/cli": "20.1.0",
    "@react-native-community/cli-platform-android": "20.1.0",
    "@react-native-community/cli-platform-ios": "20.1.0",
    "@react-native/babel-preset": "0.86.0",
    "@react-navigation/devtools": "7.1.15",
    "@rock-js/platform-android": "0.13.4",
    "@rock-js/platform-ios": "0.13.4",
    "@rock-js/plugin-repack": "0.13.4",
    "@rock-js/provider-s3": "0.13.4",
    "@rsbuild/core": "^2.1.4",
    "@rsbuild/plugin-svgr": "^2.0.5",
    "@rsdoctor/rspack-plugin": "^1.5.17",
    "@rspack/core": "^2.1.2",
    "@rspack/plugin-react-refresh": "^2.0.2",
    "@sentry/browser-utils": "10.76.2",
    "@sentry/cli": "3.3.0",
    "@sentry/webpack-plugin": "5.2.0",
    "@storybook/addon-a11y": "10.6.2",
    "@storybook/addon-docs": "10.6.2",
    "@storybook/cli": "10.6.2",
    "@storybook/react": "10.6.2",
    "@swc/helpers": "~0.5.15",
    "@testing-library/dom": "10.4.2",
    "@testing-library/react-native": "13.2.0",
    "@types/base-64": "^1.0.2",
    "@types/bun": "^1.4.3",
    "@types/canvas-size": "^1.2.2",
    "@types/concurrently": "^7.0.3",
    "@types/d3-scale": "^4.0.9",
    "@types/geojson": "^7946.0.16",
    "@types/howler": "^2.2.12",
    "@types/jest": "^29.5.14",
    "@types/js-yaml": "^4.0.5",
    "@types/lodash-es": "4.17.12",
    "@types/mapbox-gl": "^2.7.13",
    "@types/mime-db": "^1.43.5",
    "@types/node": "^26.6.5",
    "@types/pako": "^2.0.3",
    "@types/pusher-js": "^5.1.0",
    "@types/react": "19.2.3",
    "@types/react-collapse": "^5.0.1",
    "@types/react-dom": "19.2.3",
    "@types/react-is": "^18.3.0",
    "@types/react-native-web": "0.19.2",
    "@types/react-test-renderer": "^19.1.0",
    "@types/semver": "^7.5.4",
    "@types/setimmediate": "^1.0.2",
    "@typescript/typescript6": "^6.0.2",
    "@vitest/mocker": "4.0.16",
    "@welldone-software/why-did-you-render": "7.0.1",
    "babel-jest": "29.7.0",
    "babel-plugin-istanbul": "^6.1.1",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "babel-preset-expo": "^57.0.3",
    "bun": "^1.4.4",
    "concurrently": "^9.2.4",
    "cspell": "9.4.0",
    "csv-parse": "^5.5.5",
    "csv-writer": "^1.6.0",
    "diff-so-fancy": "^1.3.0",
    "dotenv": "^16.0.3",
    "esbuild": "^0.28.1",
    "eslint": "^9.36.0",
    "eslint-config-expensify": "4.0.20",
    "eslint-plugin-jsdoc": "^60.7.0",
    "eslint-plugin-lodash": "^7.4.0",
    "eslint-plugin-react-native-a11y": "^3.3.0",
    "eslint-plugin-storybook": "10.6.2",
    "eslint-plugin-testing-library": "^7.11.0",
    "eslint-plugin-you-dont-need-lodash-underscore": "^6.14.0",
    "glob": "^10.4.5",
    "hermes-parser": "0.36.1",
    "http-server": "^14.1.1",
    "jest": "29.7.0",
    "jest-circus": "29.7.0",
    "jest-cli": "29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-expo": "57.0.2",
    "jest-transformer-svg": "^2.0.1",
    "knip": "^6.34.0",
    "lefthook": "2.1.9",
    "memfs": "^4.6.0",
    "metro-symbolicate": "0.84.5",
    "nitrogen": "0.37.1",
    "onchange": "^7.1.0",
    "openai": "^7.0.0",
    "oxc-transform-react": "0.156.0",
    "oxfmt": "^0.55.0",
    "oxlint": "1.92.0",
    "oxlint-tsgolint": "7.0.2005",
    "patch-package": "^8.1.0-canary.1",
    "peggy": "^4.0.3",
    "portfinder": "^1.0.34",
    "react-native-clean-project": "^4.0.0-alpha4.0",
    "react-refresh": "^0.14.2",
    "react-test-renderer": "19.2.3",
    "reassure": "^1.0.0",
    "rock": "0.13.4",
    "semver": "7.5.2",
    "setimmediate": "^1.0.5",
    "shellcheck": "^1.1.0",
    "source-map": "^0.7.4",
    "storybook": "10.6.2",
    "storybook-react-rsbuild": "^3.3.4",
    "svgo": "^4.1.0",
    "type-fest": "4.35.0",
    "typescript": "^7.0.2",
    "typescript-eslint": "8.58.1",
    "wait-port": "^0.2.9",
    "workbox-core": "7.4.0",
    "workbox-expiration": "7.4.0",
    "workbox-precaching": "7.4.0",
    "workbox-routing": "7.4.0",
    "workbox-strategies": "7.4.0"
  },
  "overrides": {
    "typescript": "$typescript",
    "awesome-phonenumber": "$awesome-phonenumber",
    "@typescript-eslint/eslint-plugin": "8.58.1",
    "@typescript-eslint/parser": "8.58.1",
    "@typescript-eslint/typescript-estree": "8.61.0",
    "@typescript-eslint/type-utils": "8.58.1",
    "@typescript-eslint/utils": "8.61.0",
    "@typescript-eslint/project-service": "8.61.0",
    "@typescript-eslint/tsconfig-utils": "8.61.0",
    "mapbox-gl": "^3.24.0",
    "braces": "3.0.3",
    "yargs": "17.7.2",
    "yargs-parser": "21.1.1",
    "ws": "8.21.3",
    "micromatch": "4.0.8",
    "json5": "2.2.2",
    "loader-utils": "2.0.4",
    "follow-redirects": "1.15.6",
    "fast-xml-parser": "5.11.1",
    "express": "4.20.0",
    "elliptic": "6.5.7",
    "fast-json-patch": "3.1.1",
    "image-size": "2.0.4",
    "hermes-compiler": "250829098.0.14",
    "webpack": "^5.108.4",
    "esbuild": "^0.28.1",
    "@blakeembrey/template": "1.2.0",
    "body-parser": "1.20.3",
    "path-to-regexp": "0.1.10",
    "send": "0.19.0",
    "regexpu-core": "6.4.0",
    "serialize-javascript": "7.1.2",
    "adm-zip": "0.6.1",
    "tinypool": "2.1.2",
    "react": "19.2.3",
    "react-dom": "19.2.3",
    "eslint-config-expensify": {
      "typescript-eslint": "8.58.1",
      "@typescript-eslint/eslint-plugin": "8.58.1",
      "@typescript-eslint/parser": "8.58.1"
    },
    "eslint-plugin-react-native-a11y": {
      "eslint": "^9.36.0"
    },
    "node-abi": "^3.78.0",
    "pdfjs-dist": "5.5.207",
    "lightningcss": "1.30.1",
    "zod": "4.6.7",
    "@fullstory/react-native": {
      "expo": "57.0.8"
    },
    "@react-native-firebase/app": {
      "expo": "57.0.8"
    },
    "@react-native-google-signin/google-signin": {
      "expo": "57.0.8"
    },
    "@rnmapbox/maps": {
      "expo": "57.0.8"
    },
    "@sentry/react-native": {
      "expo": "57.0.8"
    },
    "expo-modules-core": {
      "react-native-worklets": "0.13.0"
    }
  },
  "expo": {
    "autolinking": {
      "exclude": [
        "expo-file-system",
        "@react-native-google-signin/google-signin",
        "expo-keep-awake"
      ],
      "android": {
        "buildFromSource": [
          "expo-location",
          "expo-task-manager",
          "unimodules-app-loader"
        ]
      }
    }
  },
  "nitroSQLite": {
    "threadSafe": true,
    "performanceMode": true
  },
  "engines": {
    "bun": "1.4.4",
    "node": "26.12.1",
    "npm": "11.20.0"
  }
}