Introduces a monorepo structure, relies on yarn workspaces to share
dependencies, and lerna for syncing versions across the monorepo.

* Create 2 workspaces:
    'packages' and 'website'
* Create 2 public packages:
    'babel-plugin-react-native-web' and 'react-native-web'
* Create 1 private package:
    'benchmarks'

A simple release script runs the tests, builds the package assets,
increments the package version numbers, git commits and tags, publishes
the package to npm, pushes the changes to github, and releases the
website update.

Close #657
This commit is contained in:
Nicolas Gallagher
2017-12-21 17:28:36 +00:00
parent 14d87f4b30
commit 3026465ae3
466 changed files with 4102 additions and 2912 deletions
+28 -21
View File
@@ -25,6 +25,12 @@ yarn
## Automated tests
To run the linter:
```
yarn lint
```
To run flow:
```
@@ -40,16 +46,30 @@ yarn jest
…in watch mode:
```
yarn jest:watch
yarn jest --watch
```
To run all automated tests:
To run all these automated tests:
```
yarn test
```
## Visual tests
## Compile and build
To compile the `react-native-web` source code:
```
yarn compile
```
…in watch mode:
```
yarn compile --watch
```
## Website and visual tests
To run the interactive storybook:
@@ -57,32 +77,20 @@ To run the interactive storybook:
yarn docs:start
```
To generate a static build of the storybook:
When you're also making changes to the 'react-native-web' source files, run this command in another process:
```
yarn docs:build
yarn compile --watch
```
To run the performance benchmarks in a browser (opening `./benchmarks/index.html`):
## Benchmarks
To run the performance benchmarks in a browser (opening `./packages/benchmarks/index.html`):
```
yarn benchmark
```
## Compile and build
To compile the source code to `dist`:
```
yarn compile
```
To create a UMD bundle of the library:
```
yarn build
```
### Pre-commit
To format and lint code before commit:
@@ -95,7 +103,6 @@ To format and lint the entire project:
```
yarn fmt
yarn lint
```
### New Features