Skip to main content

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

Includes next components:

Testing made with:

Code quality covered with:

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 bundler
  • start-reset-cache - starts Metro bundler with resetting cache

Project openers

  • open:xcode - opens Xcode with workspace project
  • open:android-studio - opens Android Studio with Android project

Android specific

  • android:run - compiles and runs your application on Android devices or emulators WITHOUT starting Metro
  • android:run+start - compiles and runs your application on Android devices or emulators AND if successful starts Metro
  • android:build-release-bundle-nix - builds Android release bundle on Linux/macOS
  • android:build-release-apk-nix - builds Android release APK on Linux/macOS
  • android:clean-nix - cleans Android builds on Linux/macOS
  • android:build-release-bundle-win - builds Android release bundle on Windows
  • android:build-release-apk-win - builds Android release APK on Windows
  • android:clean-win - cleans Android builds on Windows
  • android:bundle - builds Android bundle with sourcemaps to visualize its content
  • android: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 Metro
  • ios:bundle-visualizer - visualizes contents of iOS bundle (total, components, packages size)
  • ios:bundle-install - installs vendor bundle
  • ios:bundle-pod-install - install pods
  • ios:bundle-pod-install-repo-update - install pods and updates repo
  • ios: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/macOS
  • environment:test-nix - sets test environment on Linux/macOS
  • environment:staging-nix - sets staging environment on Linux/macOS
  • environment:production-nix - sets production environment on Linux/macOS
  • environment:development-win - sets development environment on Windows
  • environment:test-win - sets test environment on Windows
  • environment:staging-win - sets staging environment on Windows
  • environment:production-win - sets production environment on Windows

Version specific

  • version:major - updates major version of iOS, Android and package.json
  • version:minor - updates minor version of iOS, Android and package.json
  • version:patch - updates patch version of iOS, Android and package.json

Test specific

  • ts - checks TypeScript files for errors
  • tests - runs Jest tests
  • tests:watch - runs Jest tests with watcher enabled
  • tests:coverage - creates HTML and console representation of Jest test coverage percentage
  • e2e:build-android-debug - builds Android debug build for Detox tests
  • e2e:build-android-release - builds Android release build for Detox tests
  • e2e:android-debug - runs Detox tests on Android device or emulator of debug build
  • e2e:android-release - runs Detox tests on Android device or emulator of release build
  • e2e:build-ios-debug - builds iOS debug build for Detox tests
  • e2e:build-ios-release - builds iOS release build for Detox tests
  • e2e:ios-debug - runs Detox tests on iOS device or emulator of debug build
  • e2e:ios-release - runs Detox tests on iOS device or emulator of release build
  • eslint:run - runs ESLint on JSX, TSX and TS files to check for rules error and warnings
  • eslint:fix - runs ESLint on JSX, TSX and TS files and tries to automatically fix errors and warnings

Utility specific

  • postinstall - uses patch-package to apply changes made with patch-package after npm install, check Patches for more
  • postversion- utilizes react-native-version to increment version of iOS, Android and package.json
  • check-dependencies-updates - checks version updates of your dependencies so that you could manually check changes and update what's needed
  • check-pods-updates - checks iOS pods updates
  • generate-image-resources - generates image resources based on images from selected folder, check Images for more
  • prepare - if you have a git repository then it prepares scripts pre-commit and post-merge from package.json
  • npm-install-force - npm install with force to mitigate check issues with older dependencies