857bae4ea3
Summary: (I changed a ton from when I previously submitted this PR so please take another look if you already did.) PROBLEM: the no-longer-maintained `esprima-fb` parser does not support class properties, leading our website docgen to die if we use class properties, which we're gonna do real soon now SOLUTION: use `flow-parser` instead, which the flow team is maintaining including all the fancy-pants ES? stuff that FB uses internally. This removes the `esprima-fb` parser from jsdocs and replaces it with `flow-parser`. It's almost the same, I checked by diffing all the parser json output and it only had a few irrelevant differences. I had to add a file of constants so that we could remove esprima-fb altogether, too. This also adds a couple unit tests, so that we can test that jsDocs works programmatically. They don't run if you run the regular RN tests, you have to run `npm test` from the `/website/` subdirectory. Closes https://github.com/facebook/react-native/pull/9890 Differential Revision: D3865629 Pulled By: bestander fbshipit-source-id: 8f561b78ca4a02f3f7b45e55904ec2fa911e3bb6 |
||
---|---|---|
.. | ||
core | ||
jsdocs | ||
layout | ||
server | ||
src/react-native | ||
.gitignore | ||
README.md | ||
package.json | ||
publish-gh-pages.js | ||
setup.sh |
README.md
Install prerequisites
Before running the website, make sure you've run the following:
git clone https://github.com/facebook/react-native.git
cd react-native
npm install
Run the website server
The first time, get all the website dependencies loaded via
cd website
npm install
Then, run the server via
npm start
open http://localhost:8079/react-native/index.html
Anytime you change the contents, just refresh the page and it's going to be updated.
Publish the website
cd website
npm run publish-website