{
  "name": "rn-starter-template",
  "version": "1.0.0",
  "description": "Production-ready React Native 0.85.3 starter template. New Architecture enabled. TypeScript strict mode. Auth, navigation, API client, MMKV storage, TanStack Query, Zustand, React Hook Form + Zod.",
  "author": "Takeshi Tanaka",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/takeo-AAA/rn-starter-template.git"
  },
  "homepage": "https://github.com/takeo-AAA/rn-starter-template#readme",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "lint": "eslint src --ext .ts,.tsx",
    "lint:fix": "eslint src --ext .ts,.tsx --fix",
    "type-check": "tsc --noEmit",
    "format": "prettier --write \"src/**/*.{ts,tsx}\"",
    "format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
    "test": "jest",
    "test:watch": "jest --watch",
    "validate": "npm run type-check && npm run lint && npm run format:check"
  },
  "dependencies": {
    "@hookform/resolvers": "^5.2.2",
    "@react-native-community/netinfo": "^11.4.1",
    "@react-navigation/bottom-tabs": "7.16.1",
    "@react-navigation/native": "7.2.4",
    "@react-navigation/native-stack": "^7.3.21",
    "@react-navigation/stack": "7.9.2",
    "@tanstack/react-query": "5.100.10",
    "axios": "1.16.1",
    "react": "19.2.3",
    "react-hook-form": "7.76.0",
    "react-native": "0.85.3",
    "react-native-gesture-handler": "^2.24.0",
    "react-native-mmkv": "4.3.1",
    "react-native-nitro-modules": "0.35.6",
    "react-native-safe-area-context": "^5.5.2",
    "react-native-screens": "^4.11.1",
    "zod": "4.4.3",
    "zustand": "5.0.13"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@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.85.3",
    "@react-native/eslint-config": "0.85.3",
    "@react-native/jest-preset": "0.85.3",
    "@react-native/metro-config": "0.85.3",
    "@react-native/typescript-config": "0.85.3",
    "@types/jest": "^29.5.13",
    "@types/react": "^19.2.0",
    "@types/react-test-renderer": "^19.1.0",
    "babel-plugin-module-resolver": "^5.0.2",
    "eslint": "^8.19.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-import-resolver-babel-module": "^5.3.2",
    "eslint-import-resolver-typescript": "^3.7.0",
    "eslint-plugin-import": "^2.31.0",
    "jest": "^29.6.3",
    "prettier": "^3.5.3",
    "react-test-renderer": "19.2.3",
    "typescript": "^5.8.3"
  },
  "engines": {
    "node": ">= 22.11.0"
  },
  "jest": {
    "preset": "@react-native/jest-preset",
    "setupFiles": [
      "react-native-gesture-handler/jestSetup"
    ],
    "moduleNameMapper": {
      "react-native-mmkv": "<rootDir>/__mocks__/react-native-mmkv.js"
    },
    "transformIgnorePatterns": [
      "node_modules/(?!((jest-)?react-native|@react-native(-community)?|@react-navigation|react-native-gesture-handler|react-native-safe-area-context|react-native-screens|react-native-nitro-modules|@tanstack|zustand)/)"
    ]
  }
}
