This is a review of the package.json file on the GAEN Mobile Github as of
...
Code Block |
---|
"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
MaskedView
NetInfo
PushNotificationiOS - used for sending native push notifications to iOS devices from the app
Segmented Control -
React Navigation
Bottom Tabs
Native
Stack
Array Flat Polyfill -
DayJS - Parsing and date manipulation
i18Next
NodeFetch
PropTypes
React i18Next
React Native
React Native Config
React Native Flash Message
React Native Gesture Handline
React Native Keyboard Aware Scroll
Matomo SDK
Permissions
Safe Area Context
Screens
Simple Crypto
Splash Screen
Static Safe Area Insets
SVG
Webview
Reanimated Bottom Sheet
TS Data JSON
Developer Dependencies:
Code Block |
---|
"@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" |