<commit_before># Folder Structure
* `lib`: The project itself composed of:</br>
`lib/android`: android sources and unit tests</br>
`lib/ios`: iOS sources and unit tests</br>
`lib/src`: javascript sources and unit tests</br>
`lib/src/index.js`: the entry point for `import Navigation from 'react-native-navigation'`

* `e2e`: [detox](https://github.com/wix/detox) iOS e2e tests (in the future, once detox supports it, we will have android e2e here as well)

* `AndroidE2E`: Android e2e tests using native uiautomator

* `playground`: The end-user project all e2e tests run against. Contains its own `src`, `android` and `ios`. Does not have its own package.json, depends on the local `<root>/lib` in order not to go through npm.

* `integration`: misc javascript integration tests
* `scripts`: all scripts


# Running locally

### Environment requirements

* Mac OSX
* Latest stable XCode
* Latest stable Node:

```
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install stable
nvm use stable
```

* Latest stable Yarn:

```
curl -o- -L https://yarnpkg.com/install.sh | bash
export PATH=$PATH:$HOME/.yarn/bin
```

* Android SDK:

```
export ANDROID_HOME=$HOME/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

# fix for https://code.google.com/p/android/issues/detail?id=223424
mkdir -p ~/.android

# download android SDK
echo "Downloading Android SDK"
curl --location https://dl.google.com/android/android-sdk_r24.4.1-macosx.zip | tar -x -z -C $HOME
```

* fbsimctl:

```
export CODE_SIGNING_REQUIRED=NO
brew tap facebook/fb && brew install fbsimctl
```

### Scripts

`yarn install`: installs dependencies

`yarn run clean`: cleans all build directories, stops packager, fixes flakiness by removing watchman cache, etc.

`yarn run start`: starts the react-native packager for local debugging

`yarn run xcode`: for convenience, opens xcode in this project

`yarn run install-android [-- release]`: builds playground debug/release version and installs on running android devices/emulators

`yarn run uninstall-android`: uninstalls playground from running android devices/simulators

`yarn run test-js`: runs javascript tests and coverage report

`yarn run test-watch`: runs javascript tests in watch mode (can also use the provided wallaby config)

`yarn run test-unit-ios [-- release]`: runs ios unit tests in debug/release

`yarn run test-unit-android [-- release]`: runs android unit tests in debug/release

`yarn run test-e2e-ios [-- release]`: runs the ios e2e suite (with detox) in debug/release

`yarn run test-e2e-android [-- release]`: runs the android e2e suite (with uiautomator) in debug/release on running devices/emulators

`yarn run test-all`: runs all tests in parallel<commit_msg>Use table and omit “run” in yarn commands (#1233)<commit_after># Folder Structure

| Folder | Description |
| ------ | ----------- |
| `lib` | The project itself composed of: |
| `.../android` | android sources and unit tests |
| `.../ios` | iOS sources and unit tests |
| `.../src` | javascript sources and unit tests |
| `.../src/index.js` | the entry point for `import Navigation from 'react-native-navigation'` |
| `e2e` | [detox](https://github.com/wix/detox) iOS e2e tests (in the future, once detox supports it, we will have android e2e here as well) |
| `AndroidE2E` | Android e2e tests using native uiautomator |
| `playground` | The end-user project all e2e tests run against. Contains its own `src`, `android` and `ios`. Does not have its own package.json, depends on the local `<root>/lib` in order not to go through npm. |
| `integration` | misc javascript integration tests |
| `scripts` | all scripts |

# Running locally

### Environment requirements

* Mac OSX
* Latest stable XCode
* Latest stable Node:

```
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install stable
nvm use stable
```

* Latest stable Yarn:

```
curl -o- -L https://yarnpkg.com/install.sh | bash
export PATH=$PATH:$HOME/.yarn/bin
```

* Android SDK:

```
export ANDROID_HOME=$HOME/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

# fix for https://code.google.com/p/android/issues/detail?id=223424
mkdir -p ~/.android

# download android SDK
echo "Downloading Android SDK"
curl --location https://dl.google.com/android/android-sdk_r24.4.1-macosx.zip | tar -x -z -C $HOME
```

* fbsimctl:

```
export CODE_SIGNING_REQUIRED=NO
brew tap facebook/fb && brew install fbsimctl
```

### Scripts

| Command | Description |
| ------- | ----------- |
| `yarn install` | installs dependencies |
| `yarn clean` | cleans all build directories, stops packager, fixes flakiness by removing watchman cache, etc. |
| `yarn start` | starts the react-native packager for local debugging |
| `yarn xcode` | for convenience, opens xcode in this project |
| `yarn install-android`  |  builds playground debug/release version and installs on running android devices/emulators. <br> **Options:** `-- release` `-- debug` |
| `yarn uninstall-android` | uninstalls playground from running android devices/simulators |
| `yarn test-js` | runs javascript tests and coverage report |
| `yarn test-watch` | runs javascript tests in watch mode (can also use the provided wallaby config) |
| `yarn test-unit-ios` | runs ios unit tests in debug/release <br> **Options:** `-- release` `-- debug` |
| `yarn test-unit-android` | runs android unit tests in debug/release <br> **Options:** `-- release` `-- debug` |
| `yarn test-e2e-ios` | runs the ios e2e suite (with detox) in debug/release |
| `yarn test-e2e-android` | runs the android e2e suite (with uiautomator) in debug/release on running devices/emulators <br> **Options:** `-- release` `-- debug` |
| `yarn test-all` | runs all tests in parallel |
{'fraction_non_alphanumeric': 0.13687384821578155, 'fraction_numerical': 0.00871167699782208, 'mean_word_length': 4.146551724137931, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7008025', 'n_tokens_mistral': 2036, 'n_tokens_neox': 1900, 'n_words': 658}