Dependencies and scripts
Dependencies
This repository relies on dependencies which are needed in day-to-day development.
Every dependency is provided with types or in case if there are no types it implements in Types.
The versions are updating manually and regularly with new releases.
Build primarily with
- React Native
0.74.1
- React Native Navigation
7.39.2
- Redux Toolkit
2.2.3
- TypeScript
5.4.5
Includes next components:
- Date time picker
8.0.0
- Localization
2.3.2
- Orientation locker
1.7.0
- Permissions
4.1.5
- Config
1.5.1
- Image crop picker
0.41.0
- Reanimated carousel
3.5.1
- Vector icons
10.1.0
- SF Symbols
1.2.1
- In-app review
4.3.3
- Size matters
0.4.2
- Mask input
1.2.3
- DayJS
1.11.11
- Net info
11.3.1
- Share
10.2.0
- Reanimated
3.10.0
- Menu
1.0.2
Testing made with:
Code quality covered with:
- ESLint
8.57.0
- ESLint Config React Strong
2.4.0
- Husky
9.0.11
- Prettier
3.2.5
- Lint staged
15.2.2
And many other day-to-day useful dependencies.
Scripts
Most of the needed scripts are here to help with your development process without using terminal:
React Native specific
start
- starts Metro bundlerstart-reset-cache
- starts Metro bundler with resetting cache
Project openers
open:xcode
- opens Xcode with workspace projectopen:android-studio
- opens Android Studio with Android project
Android specific
android:run
- compiles and runs your application on Android devices or emulators WITHOUT starting Metroandroid:run+start
- compiles and runs your application on Android devices or emulators AND if successful starts Metroandroid:build-release-bundle-nix
- builds Android release bundle on Linux/macOSandroid:build-release-apk-nix
- builds Android release APK on Linux/macOSandroid:clean-nix
- cleans Android builds on Linux/macOSandroid:build-release-bundle-win
- builds Android release bundle on Windowsandroid:build-release-apk-win
- builds Android release APK on Windowsandroid:clean-win
- cleans Android builds on Windowsandroid:bundle
- builds Android bundle with sourcemaps to visualize its contentandroid:bundle-visualizer
- visualizes contents of Android bundle (total, components, packages size)
iOS specific
ios:run
- compiles and runs your application on iOS devices or emulators WITHOUT starting Metroios:bundle-visualizer
- visualizes contents of iOS bundle (total, components, packages size)ios:bundle-install
- installsvendor
bundleios:bundle-pod-install
- install podsios:bundle-pod-install-repo-update
- install pods and updates repoios:bundle-check-pods-updates
- checks outdated pods
The rest of the actions are done in XCode by opening the project's workspace.
Environment specific
environment:development-nix
- sets development environment on Linux/macOSenvironment:test-nix
- sets test environment on Linux/macOSenvironment:staging-nix
- sets staging environment on Linux/macOSenvironment:production-nix
- sets production environment on Linux/macOSenvironment:development-win
- sets development environment on Windowsenvironment:test-win
- sets test environment on Windowsenvironment:staging-win
- sets staging environment on Windowsenvironment:production-win
- sets production environment on Windows
Version specific
version:major
- updates major version of iOS, Android and package.jsonversion:minor
- updates minor version of iOS, Android and package.jsonversion:patch
- updates patch version of iOS, Android and package.json
Test specific
ts
- checks TypeScript files for errorstests
- runs Jest teststests:watch
- runs Jest tests with watcher enabledtests:coverage
- creates HTML and console representation of Jest test coverage percentagee2e:build-android-debug
- builds Android debug build for Detox testse2e:build-android-release
- builds Android release build for Detox testse2e:android-debug
- runs Detox tests on Android device or emulator of debug builde2e:android-release
- runs Detox tests on Android device or emulator of release builde2e:build-ios-debug
- builds iOS debug build for Detox testse2e:build-ios-release
- builds iOS release build for Detox testse2e:ios-debug
- runs Detox tests on iOS device or emulator of debug builde2e:ios-release
- runs Detox tests on iOS device or emulator of release buildeslint:run
- runs ESLint on JSX, TSX and TS files to check for rules error and warningseslint:fix
- runs ESLint on JSX, TSX and TS files and tries to automatically fix errors and warnings
Utility specific
postinstall
- usespatch-package
to apply changes made withpatch-package
afternpm install
, check Patches for morepostversion
- utilizesreact-native-version
to increment version of iOS, Android and package.jsoncheck-dependencies-updates
- checks version updates of your dependencies so that you could manually check changes and update what's neededcheck-pods-updates
- checks iOS pods updatesgenerate-image-resources
- generates image resources based on images from selected folder, check Images for moreprepare
- if you have a git repository then it prepares scriptspre-commit
andpost-merge
from package.jsonnpm-install-force
-npm install
withforce
to mitigate check issues with older dependencies