reason-expo
Versioning
This library doesn't follow conventional semver. The version scheme is shown below, and you should track this library accordingly.
<ExpoVersion>.<Major>.<Minor/Patch>
Getting started
Use the Expo CLI to bootstrap a project with the ReasonExpo template.
expo init <PROJECT_NAME> --template expo-template-reason
Already have an existing Expo Project? Go into your project root & then install the requirements:
yarn add bs-platform --dev
yarn add reason-react reason-react-native reason-expo
Next, create a file named bsconfig.json at the same level at your package.json with the following content:
{
"name": "my-reason-expo-app",
"reason": {
"react-jsx": 3
},
"bsc-flags": ["-bs-super-errors"],
"bs-dependencies": ["reason-react", "reason-react-native", "reason-expo"],
"sources": [
{
"dir": "src"
}
],
"suffix": ".bs.js",
"refmt": 3,
"package-specs": {
"module": "es6",
"in-source": true
}
}
Next, add these scripts to your package.json:
"build-reason": "bsb -make-world",
"watch-reason": "bsb -make-world -w",
"build-reason-clean": "bsb -clean-world -make-world",
Finally, make a folder named src
and start writing your ReasonML code in there. yarn build-reason
will compile the ReasonML code in that folder for you to import and use in your Expo app's JS/TS code.
Contributing
Fork this repo, clone it onto your machine, install run yarn
in the root directory. Start the compiler and Expo test app with yarn dev
in the root directory, and start hacking away at the files in packages/reason-expo
and packages/test
!
Credit: This project is based on the work started in bs-expo
.