{
  "name": "v2hub",
  "version": "0.8.8",
  "description": "This project used React Native to build a V2EX mobile client application. The main goal was to build a React Native rapid development scaffold.",
  "main": "index.js",
  "private": false,
  "scripts": {
    "add:copyright": "curl -sSL https://raw.githubusercontent.com/funnyzak/batch-copyright-updater/main/addCopyright.js | node /dev/stdin src 'Leon' 'silenceace@gmail.com' '.tsx,.ts,.js' 0",
    "postinstall": "patch-package",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "pod": "pod-install",
    "lint:code": "eslint --max-warnings 100 . --ext .js,.jsx,.ts,.tsx",
    "lint:style": "prettier --check '**/*.{ts,js,jsx,tsx}'",
    "lint:style:fix": "prettier --write '**/*.{ts,js,jsx,tsx}'",
    "lint": "yarn lint:code && yarn lint:style",
    "lint:fix": "yarn lint:style:fix && yarn lint:code --fix",
    "prepare": "if [[ $NODE_ENV != \"production\" ]]; then husky install; fi && patch-package",
    "p": "plop",
    "upgrade": "react-native upgrade",
    "check-dependencies": "rnx-dep-check",
    "fix-dependencies": "rnx-dep-check --write",
    "npm:check": "npx npm-check-updates",
    "clean": "npx rimraf node_modules",
    "clean:cache": "npx rimraf node_modules/.cache",
    "debug": "open \"rndebugger://set-debugger-loc?host=localhost&port=8081\""
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:funnyzak/react-native-v2ex.git"
  },
  "keywords": [
    "react",
    "react-native",
    "v2ex",
    "react-native-v2ex",
    "js",
    "redux",
    "quick-start",
    "2022"
  ],
  "author": "Leon <silenceace@gmail.com>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/funnyzak/react-native-v2ex/issues"
  },
  "homepage": "https://v2hub.yycc.dev/",
  "dependencies": {
    "@bugsnag/react-native": "7.18.2",
    "@react-native-async-storage/async-storage": "^1.17.11",
    "@react-native-masked-view/masked-view": "^0.2.8",
    "@react-navigation/bottom-tabs": "^6.5.1",
    "@react-navigation/drawer": "^6.5.1",
    "@react-navigation/material-top-tabs": "^6.6.2",
    "@react-navigation/native": "^6.0.14",
    "@react-navigation/native-stack": "^6.9.8",
    "@redux-devtools/extension": "^3.2.2",
    "@types/react": "18.0.28",
    "dayjs": "^1.11.7",
    "i18n-js": "^3.8.0",
    "lodash": "^4.17.21",
    "react": "18.2.0",
    "react-native": "0.71.5",
    "react-native-actions-sheet": "^0.8.10",
    "react-native-device-info": "^10.7.0",
    "react-native-easy-toast": "2.3.0",
    "react-native-fast-image": "^8.6.3",
    "react-native-gesture-handler": "2.9.0",
    "react-native-linear-gradient": "^2.6.2",
    "react-native-localize": "^2.2.2",
    "react-native-pager-view": "^6.1.2",
    "react-native-reanimated": "2.14.4",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "^4.4.1",
    "react-native-screens": "^3.15.0",
    "react-native-skeleton-placeholder": "^5.2.4",
    "react-native-splash-screen": "^3.3.0",
    "react-native-svg": "13.6.0",
    "react-native-tab-view": "^3.3.4",
    "react-native-toast-message": "^2.1.5",
    "react-native-webview": "^11.25.0",
    "react-redux": "^8.0.5",
    "redux": "^4.2.1",
    "redux-persist": "^6.0.0",
    "redux-persist-transform-filter": "^0.0.22",
    "redux-thunk": "^2.4.2"
  },
  "devDependencies": {
    "@babel/core": "7.22.6",
    "@babel/plugin-proposal-export-namespace-from": "7.18.9",
    "@babel/preset-env": "7.22.6",
    "@babel/runtime": "7.20.6",
    "@react-native-community/eslint-config": "3.2.0",
    "@rnx-kit/dep-check": "1.14.0",
    "@tsconfig/react-native": "2.0.3",
    "@types/i18n-js": "3.8.3",
    "@types/jest": "29.4.0",
    "@types/lodash": "4.14.191",
    "@types/react-native": "0.70.8",
    "@types/react-test-renderer": "18.0.0",
    "@typescript-eslint/eslint-plugin": "5.54.0",
    "@typescript-eslint/parser": "5.46.1",
    "babel-jest": "29.4.3",
    "babel-plugin-module-resolver": "5.0.0",
    "deprecated-react-native-prop-types": "2.3.0",
    "eslint": "8.29.0",
    "eslint-config-prettier": "8.5.0",
    "eslint-plugin-ft-flow": "2.0.3",
    "eslint-plugin-jest": "27.2.1",
    "eslint-plugin-react": "7.32.2",
    "eslint-plugin-react-native": "4.0.0",
    "husky": "8.0.2",
    "jest": "29.5.0",
    "lint-staged": "13.1.0",
    "metro-react-native-babel-preset": "0.75.1",
    "npm-check-updates": "16.7.10",
    "patch-package": "6.5.1",
    "plop": "3.1.1",
    "pod-install": "0.1.38",
    "postinstall-postinstall": "2.1.0",
    "prettier": "2.8.0",
    "react-devtools": "4.27.2",
    "react-devtools-core": "4.27.2",
    "react-test-renderer": "18.2.0",
    "rimraf": "3.0.2",
    "typescript": "4.9.5"
  },
  "resolutions": {
    "@types/react": "^18"
  },
  "jest": {
    "preset": "react-native",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ]
  },
  "engines": {
    "node": ">= 16.0.0"
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx}": "eslint --cache --fix",
    "*.{js,tx,tsx,sass,less,css,md}": "prettier --write"
  }
}