React Native Directory is a website where you can see all of the libraries that are compatible with React Native.
Note: A transition in progress from https://native.directory to https://reactnative.directory, so the following links may not work for you yet!
Website: https://reactnative.directory/
- You made a repository on GitHub and you want the world to know it works with React Native.
- You want to submit a pull request to improve React Native Directory.
- You want to report a bug or make a suggestion.
Sure, go for it!
https://reactnative.directory/api/libraries
- Returns a list of all libraries in
JSON
format.
https://reactnative.directory?search=webgl
- Returns a list of all libraries in
JSON
format that have the keywordwebgl
.
https://reactnative.directory?search=webgl&expo=true
- Returns a list of all libraries in
JSON
format that have the keywordwebgl
and work with Expo managed.
https://reactnative.directory?search=webgl&expo=true&android=true
- Returns a list of all libraries in
JSON
format that have the keywordwebgl
and work with Expo managed and Android.
- Submit a PR with changes to
scripts/calculate-score.js
. - You have all the power! Tell us what you want.
- Add it to
react-native-libraries.json
. - Submit a PR.
Please follow this format and indentation:
{
"githubUrl": "<THE GITHUB URL>",
"ios": false,
"android": false,
"web": false,
"expo": false,
"windows": false,
"examples": ["<THE URL TO REPO>"],
"npmPkg": "<NPM PACKAGE NAME>",
"unmaintained": false,
},
ios
- works on iOS phones.android
- works on Android phones.web
- can be used in the browser.expo
- can be used in managed workflow, without ejecting an Expo application (any library can be used if you eject).windows
- can be used on Windows.examples
- optional array of URLs (snacks preferred) with demonstrations of the library.npmPkg
- optional string of the package's display name.unmaintained
- optional boolean to signify that a library is or is not maintained.
Note: If your package is within a monorepo on GitHub, eg: https://github.com/expo/expo/blob/master/packages/expo-web-browser, then the name, description, homepage, and topics (keywords) will be extracted from package.json for that subrepo. GitHub stats will be based on the monorepo, because there isn't really another option.
Prerequisites
- Node LTS
Commands
npm install
npm start
yarn
yarn start
You should be able to visit localhost:3000
in your browser.
- To update site data you need to provide a couple of keys in a file called
secrets.json
. - You must create your own
secrets.json
in the root directory of the repo. - Visit https://github.com/settings/developers to get your keys (don't worry about the callback URL, put whatever you want).
{
"GITHUB_CLIENT_ID": "YOUR CLIENT ID",
"GITHUB_CLIENT_SECRET": "YOUR CLIENT SECRET"
}
This command creates site data in ./assets/data.json
npm run data:update
- Site is hosted on Now, and this is the easiest way to do it.
- You can deploy your own with your own Now account
npm i -g now
# log in if you need to
now
Get a commit on master and it will be automatically deployed.