This is a review of the package.json file on the GAEN Mobile Github as of
Link: https://github.com/Path-Check/gaen-mobile/blob/develop/package.json
"dependencies": { "@bugsnag/react-native": "^7.3.4", "@react-native-community/async-storage": "^1.12.1", "@react-native-community/datetimepicker": "^3.0.8", "@react-native-community/masked-view": "^0.1.10", "@react-native-community/netinfo": "^5.9.4", "@react-native-community/push-notification-ios": "^1.4.0", "@react-native-community/segmented-control": "^2.1.2", "@react-navigation/bottom-tabs": "^5.5.2", "@react-navigation/native": "^5.7.3", "@react-navigation/stack": "5.1.1", "array-flat-polyfill": "^1.0.1", "dayjs": "^1.8.24", "i18next": "^19.3.3", "node-fetch": "^2.6.1", "prop-types": "^15.7.2", "react": "16.13.1", "react-i18next": "^11.4.0", "react-native": "0.63.4", "react-native-config": "^1.2.1", "react-native-flash-message": "^0.1.16", "react-native-gesture-handler": "^1.9.0", "react-native-keyboard-aware-scroll-view": "^0.9.3", "react-native-matomo-sdk": "^0.4.0", "react-native-permissions": "^2.2.2", "react-native-safe-area-context": "^3.1.9", "react-native-screens": "^2.16.1", "react-native-simple-crypto": "^0.2.15", "react-native-splash-screen": "^3.2.0", "react-native-static-safe-area-insets": "^2.1.1", "react-native-svg": "^12.0.3", "react-native-webview": "^11.2.0", "reanimated-bottom-sheet": "^1.0.0-alpha.19", "regression": "^2.0.1", "ts.data.json": "^1.5.0" }, "devDependencies": { "@babel/core": "^7.12.10", "@babel/runtime": "^7.10.2", "@jumpn/react-native-jetifier": "^0.1.4", "@react-native-community/eslint-config": "^1.1.0", "@testing-library/jest-native": "^3.3.0", "@testing-library/react-native": "^7.0.1", "@types/jest": "^26.0.19", "@types/react": "^16.9.35", "@types/react-native": "^0.63.20", "@types/react-navigation": "^3.4.0", "@types/react-test-renderer": "^16.9.2", "@types/regression": "^2.0.0", "@typescript-eslint/eslint-plugin": "^4.2.0", "@typescript-eslint/parser": "^4.2.0", "babel-jest": "^26.2.2", "bats": "^1.1.0", "eslint": "^7.1.0", "eslint-config-prettier": "^6.11.0", "eslint-import-resolver-typescript": "^2.3.0", "eslint-plugin-import": "^2.20.2", "eslint-plugin-jest": "^23.8.2", "eslint-plugin-json": "^2.1.1", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-react": "^7.21.0", "eslint-plugin-react-hooks": "^4.0.3", "fishery": "^1.0.1", "husky": "^4.2.3", "i18next-parser": "2.1.1", "jest": "^26.6.3", "lint-diff": "^1.2.1", "lint-staged": "^10.0.9", "logkitty": "^0.7.1", "metro-react-native-babel-preset": "^0.64.0", "prettier": "^2.2.1", "react-native-svg-transformer": "^0.14.3", "react-test-renderer": "^16.13.1", "typescript": "^4.0.3" }
Reaason for dependency component:
BugSnag - used for bug and error tracking within the GAEN mobile code and catching crashes and other hidden issues breaking the app
React Native Community:
Async Storage - Key/Value storage system for React Native. Being used for app specific data. This package is deprecated -
DateTimePicker - for selecting various dates in the application
PushNotificationiOS - used for sending native push notifications to iOS devices from the app
Segmented Control -
React Navigation
Native
Stack
DayJS - Parsing and date manipulation
i18Next
Developer Dependencies:
"@react-native-community/masked-view": "^0.1.10", No Idea "@react-native-community/netinfo": "^5.9.4", No idea "@react-native-community/segmented-control": "^2.1.2", Possible we aren't using "array-flat-polyfill": "^1.0.1", Possibly brought in to bring in the flatten function "i18next": "^19.3.3", Translations "node-fetch": "^2.6.1", Remove and see if it fails? Under testing "react-i18next": "^11.4.0", Translations "react-native-flash-message": "^0.1.16", Toasts/test further though - double check "react-native-gesture-handler": "^1.9.0", Check for imports "react-native-keyboard-aware-scroll-view": "^0.9.3", Inputs "react-native-matomo-sdk": "^0.4.0", Analytics "react-native-safe-area-context": "^3.1.9", use within bounds "react-native-screens": "^2.16.1", core function "react-native-simple-crypto": "^0.2.15", hashing to package keys "react-native-static-safe-area-insets": "^2.1.1", "react-native-webview": "^11.2.0", Possibly not being used...Tableau analtyics "reanimated-bottom-sheet": "^1.0.0-alpha.19", "regression": "^2.0.1", - No idea "ts.data.json": "^1.5.0" - Deserializing JSON responses }, "devDependencies": { "@babel/core": "^7.12.10", "@babel/runtime": "^7.10.2", "@jumpn/react-native-jetifier": "^0.1.4", "@react-native-community/eslint-config": "^1.1.0", "@testing-library/jest-native": "^3.3.0", "@testing-library/react-native": "^7.0.1", "@types/jest": "^26.0.19", "@types/react": "^16.9.35", "@types/react-native": "^0.63.20", "@types/react-navigation": "^3.4.0", "@types/react-test-renderer": "^16.9.2", "@types/regression": "^2.0.0", "@typescript-eslint/eslint-plugin": "^4.2.0", "@typescript-eslint/parser": "^4.2.0", "babel-jest": "^26.2.2", "bats": "^1.1.0", "eslint": "^7.1.0", "eslint-config-prettier": "^6.11.0", "eslint-import-resolver-typescript": "^2.3.0", "eslint-plugin-import": "^2.20.2", "eslint-plugin-jest": "^23.8.2", "eslint-plugin-json": "^2.1.1", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-react": "^7.21.0", "eslint-plugin-react-hooks": "^4.0.3", "fishery": "^1.0.1", "husky": "^4.2.3", "i18next-parser": "2.1.1", "jest": "^26.6.3", "lint-diff": "^1.2.1", "lint-staged": "^10.0.9", "logkitty": "^0.7.1", "metro-react-native-babel-preset": "^0.64.0", "prettier": "^2.2.1", "react-native-svg-transformer": "^0.14.3", "react-test-renderer": "^16.13.1", "typescript": "^4.0.3"