{"id":13726712,"url":"https://github.com/draftbit/reason-expo","last_synced_at":"2025-08-20T01:32:12.276Z","repository":{"id":38929007,"uuid":"125698621","full_name":"draftbit/reason-expo","owner":"draftbit","description":"ReasonML bindings for Expo","archived":false,"fork":false,"pushed_at":"2023-04-17T11:28:36.000Z","size":3071,"stargazers_count":144,"open_issues_count":17,"forks_count":22,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-18T19:53:39.273Z","etag":null,"topics":["android","expo","ios","javascript","mobile","ocaml","react","react-native","reason","reasonml"],"latest_commit_sha":null,"homepage":"https://docs.expo.io/","language":"Reason","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/draftbit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-18T06:26:51.000Z","updated_at":"2025-07-08T01:26:19.000Z","dependencies_parsed_at":"2023-10-05T05:40:16.224Z","dependency_job_id":null,"html_url":"https://github.com/draftbit/reason-expo","commit_stats":{"total_commits":316,"total_committers":20,"mean_commits":15.8,"dds":"0.12658227848101267","last_synced_commit":"cbf02ea6c16a10359705221a698fa44759b31a71"},"previous_names":["fiberjw/reason-expo","fiber-god/reason-expo"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/draftbit/reason-expo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/draftbit%2Freason-expo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/draftbit%2Freason-expo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/draftbit%2Freason-expo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/draftbit%2Freason-expo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/draftbit","download_url":"https://codeload.github.com/draftbit/reason-expo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/draftbit%2Freason-expo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271252410,"owners_count":24726910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","expo","ios","javascript","mobile","ocaml","react","react-native","reason","reasonml"],"created_at":"2024-08-03T01:03:17.418Z","updated_at":"2025-08-20T01:32:11.979Z","avatar_url":"https://github.com/draftbit.png","language":"Reason","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Reason Expo Logo\" src=\"./reason-expo.png\" width=\"256\"\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\" style=\"font-weight:600\"\u003e\n  reason-expo\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://reasonml.github.io/\"\u003eReasonML\u003c/a\u003e bindings for \u003ca href=\"https://expo.io\"\u003eExpo\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[![NPM version badge](https://img.shields.io/npm/v/reason-expo.svg)](https://www.npmjs.com/package/reason-expo)\n\n\u003c/div\u003e\n\n## Versioning\n\nThis library doesn't follow conventional semver. The version scheme is shown below, and you should track this library accordingly.\n\n`\u003cExpoVersion\u003e.\u003cMajor\u003e.\u003cMinor/Patch\u003e`\n\n## Getting started\n\nUse the Expo CLI to bootstrap a project with the ReasonExpo template.\n\n```\nexpo init \u003cPROJECT_NAME\u003e --template expo-template-reason\n```\n\nAlready have an existing Expo Project? Go into your project root \u0026 then install the requirements:\n\n```bash\nyarn add bs-platform --dev\nyarn add reason-react reason-react-native reason-expo\n```\n\nNext, create a file named bsconfig.json at the same level at your package.json with the following content:\n\n```json\n{\n  \"name\": \"my-reason-expo-app\",\n  \"reason\": {\n    \"react-jsx\": 3\n  },\n  \"bsc-flags\": [\"-bs-super-errors\"],\n  \"bs-dependencies\": [\"reason-react\", \"reason-react-native\", \"reason-expo\"],\n  \"sources\": [\n    {\n      \"dir\": \"src\"\n    }\n  ],\n  \"suffix\": \".bs.js\",\n  \"refmt\": 3,\n  \"package-specs\": {\n    \"module\": \"es6\",\n    \"in-source\": true\n  }\n}\n```\n\nNext, add these scripts to your package.json:\n\n```json\n  \"build-reason\": \"bsb -make-world\",\n  \"watch-reason\": \"bsb -make-world -w\",\n  \"build-reason-clean\": \"bsb -clean-world -make-world\",\n```\n\nFinally, 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.\n\n## Contributing\n\nFork 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`!\n\n_Credit: This project is based on the work started in [`bs-expo`](https://github.com/fxfactorial/bs-expo/)._\n","funding_links":[],"categories":["Reason"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdraftbit%2Freason-expo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdraftbit%2Freason-expo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdraftbit%2Freason-expo/lists"}