{ "name": "inaturalistreactnative", "version": "0.1.1", "private": true, "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", "clean-start": "npx react-native clean-project-auto && npx pod-install && npm start", "test": "jest", "lint": "npm run lint:eslint && npm run lint:flow", "lint:eslint": "eslint . --fix --quiet", "lint:flow": "flow check", "postinstall": "husky install", "translate": "node src/i18n/i18ncli.js build", "e2e:build:android": "npx detox build --configuration android.release", "e2e:build:ios": "npx detox build --configuration ios.release", "e2e:build": "npm run e2e:build:ios && npm run e2e:build:android", "e2e:test:android": "npx detox test --configuration android.release", "e2e:test:ios": "npx detox test --configuration ios.release", "e2e:test": "npm run e2e:test:ios && npm run e2e:test:android", "e2e": "npm run e2e:build && npm run e2e:test " }, "dependencies": { "@babel/eslint-parser": "^7.18.2", "@babel/preset-react": "^7.18.6", "@bam.tech/react-native-image-resizer": "3.0.0", "@gorhom/bottom-sheet": "^4.4.5", "@react-native-async-storage/async-storage": "^1.17.10", "@react-native-camera-roll/camera-roll": ">=5.0.4", "@react-native-community/checkbox": "^0.5.12", "@react-native-community/datetimepicker": "^6.5.3", "@react-native-community/geolocation": "^3.0.5", "@react-native-community/netinfo": "^9.3.6", "@react-native-picker/picker": "^2.4.8", "@react-navigation/drawer": "^6.3.1", "@react-navigation/elements": "^1.3.1", "@react-navigation/native": "^6.0.8", "@react-navigation/native-stack": "^6.5.2", "@react-spring/native": "^9.5.5", "@realm/react": "^0.4.0", "@sayem314/react-native-keep-awake": "^1.1.0", "@tanstack/react-query": "^4.2.1", "apisauce": "^2.1.2", "axios": "^0.25.0", "babel-plugin-transform-inline-environment-variables": "^0.4.3", "date-fns": "^2.28.0", "date-fns-tz": "^1.3.7", "fbjs": "^3.0.4", "i18next": "^21.6.14", "i18next-fluent": "^2.0.0", "i18next-resources-to-backend": "^1.0.0", "inaturalistjs": "github:inaturalist/inaturalistjs", "intl-pluralrules": "^1.3.1", "linkify-html": "^4.0.2", "linkifyjs": "^4.0.2", "lodash": "^4.17.21", "markdown-it": "^13.0.1", "metro-config": "^0.74.1", "nativewind": "^2.0.11", "radio-buttons-react-native": "^1.0.4", "react": "18.1.0", "react-dom": "18.1.0", "react-i18next": "^11.16.1", "react-native": "0.70.4", "react-native-audio-recorder-player": "^3.5.1", "react-native-config": "^1.4.11", "react-native-device-info": "^8.7.1", "react-native-dropdown-picker": "^5.3.0", "react-native-exception-handler": "^2.10.10", "react-native-exif-reader": "github:inaturalist/react-native-exif-reader", "react-native-fs": "^2.19.0", "react-native-geocoder-reborn": "^0.9.0", "react-native-gesture-handler": "^2.8.0", "react-native-image-pan-zoom": "^2.1.12", "react-native-image-picker": "^4.7.3", "react-native-jwt-io": "^1.0.3", "react-native-keyboard-aware-scroll-view": "^0.9.5", "react-native-localize": "^2.2.1", "react-native-logs": "^5.0.1", "react-native-mail": "github:chirag04/react-native-mail", "react-native-maps": "^0.31.1", "react-native-modal": "^13.0.1", "react-native-modal-datetime-picker": "^14.0.0", "react-native-network-logger": "^1.12.0", "react-native-orientation-locker": "^1.5.0", "react-native-paper": "^5.0.0-rc.9", "react-native-permissions": "^3.6.1", "react-native-picker-select": "^8.0.4", "react-native-reanimated": "^2.12.0", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "^4.2.2", "react-native-screens": "^3.18.2", "react-native-sensitive-info": "^6.0.0-alpha.9", "react-native-svg": "^12.3.0", "react-native-svg-transformer": "^1.0.0", "react-native-uuid": "^2.0.1", "react-native-vector-icons": "^9.1.0", "react-native-vision-camera": "^2.15.2", "react-native-webview": "^11.23.1", "react-spring": "^8.0.27", "react-tinder-card": "^1.6.1", "realm": "^11.0.0", "sanitize-html": "^2.7.3", "use-debounce": "^7.0.1" }, "devDependencies": { "@babel/core": "^7.12.9", "@babel/runtime": "^7.12.5", "@tanstack/eslint-plugin-query": "^4.20.8", "@testing-library/jest-native": "^5.4.1", "@testing-library/react-native": "^10.0.0", "babel-jest": "^26.6.3", "babel-plugin-module-resolver": "^4.1.0", "detox": "^19.13.0", "eslint": "^7.32.0", "eslint-config-airbnb": "^19.0.4", "eslint-import-resolver-babel-module": "^5.3.1", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-flowtype": "^7.0.0", "eslint-plugin-i18next": "^6.0.0-2", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jest": "^26.1.3", "eslint-plugin-jsx-a11y": "^6.6.0", "eslint-plugin-module-resolver": "^1.5.0", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-native": "^4.0.0", "eslint-plugin-react-native-a11y": "^3.3.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-testing-library": "^5.10.0", "factoria": "^3.2.2", "faker": "^5.5.3", "flow-bin": "^0.182.0", "fluent_conv": "^3.1.0", "glob": "^7.2.0", "husky": "^7.0.4", "jest": "^26.6.3", "jest-circus": "^26.6.3", "metro-react-native-babel-preset": "^0.66.2", "nock": "^13.2.2", "react-native-accessibility-engine": "^3.2.0", "react-native-clean-project": "^4.0.1", "react-native-codegen": "^0.0.7", "react-native-config-node": "^0.0.3", "react-test-renderer": "18.1.0", "tailwindcss": "^3.1.8", "yargs": "^17.3.1" }, "jest": { "preset": "react-native", "setupFiles": [ "./node_modules/react-native-gesture-handler/jestSetup.js", "/tests/jest.setup.js" ], "setupFilesAfterEnv": [ "react-native-accessibility-engine", "/tests/jest.post-setup.js", "/tests/realm.setup.js" ], "transformIgnorePatterns": [ "node_modules/(?!(jest-)?@react-native|react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base||(?!react-native-redash))" ], "automock": false, "resetMocks": false, "verbose": true, "moduleNameMapper": { "\\.svg": "/tests/mocks/svgMock.js" } }, "husky": { "hooks": { "pre-commit": "npm run lint" } } }