Files
iNaturalistReactNative/package.json
Ken-ichi 3320aec7f6 Add icons to repo & use script to generate font (#518)
This uses an npm package to convert SVGs into an icon font, allowing us to
not step on each others' toes when adding new icons in branches and
simplifying the icon addition process. It also allows us to track changes to
the icons, and embed them directly as SVGs if we need to.

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-03-10 12:21:09 -08:00

182 lines
6.8 KiB
JSON

{
"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": "TZ=UTC 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",
"icons": "./scripts/update-icon-font.sh"
},
"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/bottom-tabs": "^6.5.6",
"@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",
"classnames": "^2.3.2",
"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-circular-progress-indicator": "^4.4.2",
"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-linear-gradient": "^2.6.2",
"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",
"<rootDir>/tests/jest.setup.js"
],
"setupFilesAfterEnv": [
"react-native-accessibility-engine",
"<rootDir>/tests/jest.post-setup.js",
"<rootDir>/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": "<rootDir>/tests/mocks/svgMock.js"
}
},
"husky": {
"hooks": {
"pre-commit": "npm run lint"
}
}
}