• Stars
    star
    143
  • Rank 257,007 (Top 6 %)
  • Language Reason
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ReasonML bindings for Expo

Reason Expo Logo

reason-expo

ReasonML bindings for Expo


NPM version badge

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.

More Repositories

1

avatar-generator

Personas, an avatar generator by Draftbit
ReScript
1,263
star
2

twitter-lite

A tiny, full-featured, flexible client / server library for the Twitter API
JavaScript
794
star
3

expo-walletconnect-demo

Connect a native iOS/Android app using Expo to a MetaMask wallet using WalletConnect without ejecting
TypeScript
117
star
4

react-native-jigsaw

Jigsaw, Draftbit's built-in component library
TypeScript
100
star
5

rescript-storybook

Storybook bindings for Rescript
ReScript
80
star
6

exp-deploy-cli

🖥 🗜 Deploy Expo apps to different environments (staging, production)
JavaScript
38
star
7

apollo-server-starter

💻 Apollo Server starter kit, utilizing HapiJS and KnexJS on top of PostgreSQL
JavaScript
22
star
8

re-font-awesome

ReasonML bindings to Font Awesome Pro
CSS
17
star
9

react-native-vertical-alphabet

Vertical Alphabet (Part 1 of 2)
JavaScript
16
star
10

bs-js-collections

Bindings to JavaScript primitive Set and Map types
ReScript
13
star
11

re-jest

Easier bindings to Jest for ReasonML
Reason
13
star
12

graphql-batching-helpers

📊 GraphQL Batching Helpers for Creating & Deleting
JavaScript
10
star
13

expo-crypto-polyfills

Polyfills required to build crypto apps in Expo without ejecting
JavaScript
8
star
14

bs-react-tabs

Reason bindings for react-tabs
Reason
5
star
15

hapi-airtable-authentication-plugin

A plugin that adds JWT-based authentication to a Hapi server, utlizing Airtable as a data store
JavaScript
5
star
16

application-asset-generator

🖼 A tool to quickly generate mobile app assets.
JavaScript
4
star
17

react-nav-current-route-name

🛣 🚴‍♀️ 🚧 Get the Current Route Name using React Navigation, Redux & Reselect
JavaScript
4
star
18

react-native-upload-photo-button

A simple upload / edit photo button with the camera and circle and everything
JavaScript
3
star
19

bs-analytics

Bucklescript Bindings for window.analytics (segment)
OCaml
3
star
20

awesome-uri-intents

JavaScript
2
star
21

variable-json

JSON syntax with variable interpolation
ReScript
2
star
22

draftbit-snack

JavaScript
2
star
23

hapi-airtable-sms-authentication-plugin

A plugin that adds Twilio SMS authentication to a Hapi server, utlizing Airtable as a data store
JavaScript
1
star