{
  "name": "dietinator",
  "version": "1.0.0",
  "main": "expo-router/entry",
  "dependencies": {
    "@expo/html-elements": "^0.10.1",
    "@expo/metro-runtime": "~56.0.19",
    "@expo/vector-icons": "^15.0.2",
    "@gluestack-ui/core": "^3.0.10",
    "@gluestack-ui/utils": "^3.0.11",
    "@react-native-community/netinfo": "^12.0.1",
    "buffer": "^6.0.3",
    "expo": "~56.0.6",
    "expo-camera": "~56.0.8",
    "expo-constants": "~56.0.16",
    "expo-document-picker": "~56.0.4",
    "expo-file-system": "~56.0.9",
    "expo-intent-launcher": "~56.0.4",
    "expo-linking": "~56.0.16",
    "expo-router": "~56.2.18",
    "expo-secure-store": "~56.0.4",
    "expo-sharing": "~56.0.24",
    "expo-splash-screen": "~56.0.14",
    "expo-sqlite": "~56.0.5",
    "expo-status-bar": "~56.0.4",
    "nativewind": "^4.2.6",
    "react": "19.2.3",
    "react-aria": "3.33.0",
    "react-dom": "19.2.3",
    "react-native": "0.85.3",
    "react-native-gesture-handler": "~2.31.2",
    "react-native-reanimated": "4.3.1",
    "react-native-safe-area-context": "~5.7.0",
    "react-native-screens": "~4.26.2",
    "react-native-svg": "^15.15.5",
    "react-native-web": "^0.21.2",
    "react-native-worklets": "0.8.3",
    "react-stately": "3.39.0",
    "tailwind-variants": "^0.1.20",
    "yazio": "^1.1.3"
  },
  "devDependencies": {
    "@playwright/mcp": "^0.0.79",
    "@playwright/test": "^1.62.1",
    "@react-native/jest-preset": "^0.86.2",
    "@testing-library/react-native": "^14.0.1",
    "@types/jest": "^29.5.14",
    "@types/react": "~19.2.2",
    "babel-plugin-module-resolver": "^5.0.3",
    "babel-preset-expo": "~56.0.13",
    "cross-env": "^10.1.0",
    "eslint": "^9.39.5",
    "eslint-config-expo": "~56.0.4",
    "globals": "^17.11.0",
    "husky": "^9.1.7",
    "jest": "^29.7.0",
    "jest-expo": "~56.0.5",
    "lighthouse": "^13.4.1",
    "lint-staged": "^17.3.0",
    "prettier": "^3.9.6",
    "prettier-plugin-tailwindcss": "^0.8.1",
    "puppeteer-core": "^25.7.0",
    "tailwindcss": "^3.4.17",
    "typescript": "~6.0.3"
  },
  "scripts": {
    "start": "node scripts/expo-cli.cjs start --port 9082",
    "dev": "node scripts/expo-cli.cjs start --port 9082",
    "android": "node scripts/expo-cli.cjs start --android --port 9082",
    "ios": "node scripts/expo-cli.cjs start --ios --port 9082",
    "web": "node scripts/expo-cli.cjs start --web --port 9082",
    "dev:web": "node scripts/expo-cli.cjs start --web --port 9082",
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "prepare": "husky",
    "test": "jest",
    "test:coverage": "jest --coverage --runInBand",
    "build:web": "node scripts/expo-cli.cjs export --platform web",
    "serve:web": "node scripts/serve-dist.mjs",
    "web:prod": "npm run build:web && npm run serve:web",
    "test:e2e": "npm run build:web && playwright test",
    "test:e2e:headed": "npm run build:web && playwright test --headed",
    "test:e2e:dev": "cross-env PW_E2E_DEV=1 playwright test",
    "test:e2e:yazio": "npm run build:web && playwright test e2e/yazio.spec.ts",
    "test:e2e:install": "playwright install chromium",
    "test:mcp": "node scripts/mcp-agent-check.mjs",
    "screenshots": "node scripts/capture-screenshots.mjs",
    "release": "node scripts/release.cjs"
  },
  "private": true,
  "engines": {
    "node": ">=20.19.4"
  },
  "jest": {
    "preset": "jest-expo",
    "testMatch": [
      "**/__tests__/**/*.test.(ts|tsx|js|jsx)"
    ],
    "coverageThreshold": {
      "global": {
        "statements": 75,
        "branches": 60,
        "functions": 70,
        "lines": 75
      }
    },
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/e2e/",
      "/dist/",
      "/android/"
    ]
  },
  "lint-staged": {
    "*.{ts,tsx,js,jsx,cjs,mjs}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,css,md,yml,yaml}": "prettier --write"
  },
  "allowScripts": {
    "unrs-resolver@1.12.2": true
  }
}
