Setup prettier precommit, with yarn prettify to reformat.
- Prettier runs as a precommit hook and fails if code is improperly formatted.
- Run `yarn prettify` to reformat the project.
Summary:
Closes#17; see discussion there.
This commit uses the `babel-plugin-flow-react-proptypes` package to
automatically create PropType definitions from components that are typed
with Flow. It simultaneously updates all of our existing components to
be typed with Flow. As a result, we have both static and dynamic type
checking.
Test Plan:
Note that `yarn test` and `yarn flow` report no errors, and that there
are no prop validation errors at runtime with `yarn start`.
Then, apply the following patch:
```diff
diff --git a/explorer/src/UserExplorer.js b/explorer/src/UserExplorer.js
index bb574cd..636a10d 100644
--- a/explorer/src/UserExplorer.js
+++ b/explorer/src/UserExplorer.js
@@ -18,7 +18,7 @@ export class UserExplorer extends Component<{
.sort((a,b) => b[1] - a[1]);
const entries = sortedUserWeightTuples.map(authorWeight => {
const [author, weight] = authorWeight;
- return <UserEntry userId={author} weight={weight} key={author}/>
+ return <UserEntry userId={55} weight={weight} key={author}/>
});
return <div className="user-explorer">
<h3> User Explorer </h3>
```
Note that `yarn test` fails (the `App.test.js` E2E rendering test),
`yarn flow` fails, and there is a runtime prop validation error.
wchargin-branch: autogenerate-proptypes
Summary:
This commit was created by performing the following steps:
- `rm -r node_modules`
- `yarn install`
- `yarn eject`
- `rm -r node_modules`
- `yarn install`
on an environment wit Node v6.11.1.
The final `rm -r node_modules && yarn install` ensures that the
`yarn.lock` file is updated accordingly.
Test Plan:
`yarn test`, `yarn flow`, and `yarn start` all still do the right thing.
wchargin-branch: eject
* Initial infrastructure for sourcecred-explorer.
Setup npm, yarn, flow, jest using scaffolding from
create-react-app.
- used create-react-app to get the basic pieces
- added support for flow via instructions in the
create-react-app user guide
- added flow-typed so that flow+jest will work well
* Add some additional resources
* Add index.css
* Remove .DS_STORE per @wchargin's suggestion