Browse Source

added CONTRIBUTING

Daniel Zlotin 7 years ago
parent
commit
450338500d
1 changed files with 72 additions and 0 deletions
  1. 72
    0
      CONTRIBUTING.md

+ 72
- 0
CONTRIBUTING.md View File

@@ -0,0 +1,72 @@
1
+# Folder Structure
2
+* `lib`: The project itself composed of:</br>
3
+`lib/android`: android sources and unit tests</br>
4
+`lib/ios`: iOS sources and unit tests</br>
5
+`lib/src`: javascript sources and unit tests</br>
6
+`lib/src/index.js`: the entry point for `import Navigation from 'react-native-navigation`
7
+
8
+* `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)
9
+
10
+* `AndroidE2E`: Android e2e tests using native uiautomator
11
+
12
+* `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.
13
+
14
+* `integration`: misc javascript integration tests
15
+* `scripts`: all scripts
16
+
17
+
18
+# Running locally
19
+
20
+### Environment requirements
21
+
22
+* Mac OSX
23
+* Latest stable XCode
24
+* Latest stable Node:
25
+
26
+```
27
+curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
28
+export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
29
+nvm install stable
30
+nvm use stable
31
+```
32
+
33
+* Latest stable Yarn:
34
+
35
+```
36
+curl -o- -L https://yarnpkg.com/install.sh | bash
37
+```
38
+
39
+* Android SDK
40
+* fbsimctl:
41
+
42
+```
43
+brew tap facebook/fb && brew install fbsimctl
44
+```
45
+
46
+### Scripts
47
+
48
+`yarn install`: installs dependencies
49
+
50
+`yarn run clean`: cleans all build directories, stops packager, fixes flakiness by removing watchman cache, etc.
51
+
52
+`yarn run start`: starts the react-native packager for local debugging
53
+
54
+`yarn run xcode`: for convenience, opens xcode in this project
55
+
56
+`yarn run install-android [-- release]`: builds playground debug/release version and installs on running android devices/emulators
57
+
58
+`yarn run uninstall-android`: uninstalls playground from running android devices/simulators
59
+
60
+`yarn run test-js`: runs javascript tests and coverage report
61
+
62
+`yarn run test-watch`: runs javascript tests in watch mode (can also use the provided wallaby config)
63
+
64
+`yarn run test-unit-ios [-- release]`: runs ios unit tests in debug/release
65
+
66
+`yarn run test-unit-android [-- release]`: runs android unit tests in debug/release
67
+
68
+`yarn run test-e2e-ios [-- release]`: runs the ios e2e suite (with detox) in debug/release
69
+
70
+`yarn run test-e2e-android [-- release]`: runs the android e2e suite (with uiautomator) in debug/release on running devices/emulators
71
+
72
+`yarn run test-all`: runs all tests