{"id":13726050,"url":"https://github.com/reasonml/reason-cli","last_synced_at":"2025-05-07T21:31:06.117Z","repository":{"id":57253733,"uuid":"80821248","full_name":"reasonml/reason-cli","owner":"reasonml","description":"Globally installable Reason toolchain.","archived":true,"fork":false,"pushed_at":"2018-08-20T07:35:37.000Z","size":2071294,"stargazers_count":290,"open_issues_count":40,"forks_count":23,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-18T06:25:18.127Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reasonml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-03T10:58:08.000Z","updated_at":"2024-11-05T00:45:23.000Z","dependencies_parsed_at":"2022-09-02T11:31:51.240Z","dependency_job_id":null,"html_url":"https://github.com/reasonml/reason-cli","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reasonml%2Freason-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reasonml%2Freason-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reasonml%2Freason-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reasonml%2Freason-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reasonml","download_url":"https://codeload.github.com/reasonml/reason-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252957125,"owners_count":21831438,"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","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":[],"created_at":"2024-08-03T01:02:50.803Z","updated_at":"2025-05-07T21:31:05.831Z","avatar_url":"https://github.com/reasonml.png","language":"Makefile","funding_links":[],"categories":["Makefile"],"sub_categories":[],"readme":"# reason-cli\nReason toolchain packaged for npm.\n\n[![CircleCI](https://circleci.com/gh/reasonml/reason-cli/tree/master.svg?style=svg)](https://circleci.com/gh/reasonml/reason-cli/tree/master)\n\n**Supported**: Installing via `NPM`/`Yarn`, on Mac OS or Linux.\n\n## Install\n\n\n| platform  | install command                          |\n|-----------|------------------------------------------|\n| **macOS** | `yarn global add reason-cli@latest-macos` |\n| **Linux** | `yarn global add reason-cli@latest-linux`  |\n|**Windows**| Please see https://github.com/reasonml/reasonml.github.io/issues/195\n\n_For `npm` users, use `npm install -g reason-cli@latest-macos` or `@latest-linux` instead_.\n\n**The package's size is rather big. It takes a while to download,\nespecially on slower internet. If npm is stuck and doesn't produce any\nerrors then it's probably just downloading it. This will be fixed in the\nfollowing releases. Sorry.**\n\n**The installation requires glibc \u003e=3.4.21**. If you're on macOS, you should be good to go. If you're on Ubuntu, reason-cli requires Ubuntu **16.04**. Otherwise the postinstall might fail.\n\nIf you are having trouble, you can download the tarball to your machine separately, and run `npm install path/to/tarball`, to install from the local file.\n\n### Install your editor plugins\n\nPick your favorite editor plugin [here](https://reasonml.github.io/docs/en/editor-plugins.html#officially-supported-editors)\n\n### Updating:\n\nJust reinstall over the previously installed package. It's usually a good idea\nto uninstall the old reason-cli first.\n\n```\nnpm uninstall -g reason-cli\nnpm install -g reason-cli@latest-macos\n```\n\n#### Included Binaries\n\nWhen installed with `npm install -g`, `reason-cli` places the following tools\nin your path:\n\n- `ocamlmerlin`\n- `ocamlmerlin-reason`\n- `refmt`\n- `rtop`\n\n### Releasing (For Maintainers):\n\nRepeat the following for both most recent reason-cli linux and macos circle CI\nbuilds that succeed.\n\n\n0. Bump the versions/config in `package.json` to your liking, and make sure to\n   locally run `esy install` to regenerate any lockfiles. Send a commit with\n   those lockfiles and config changes.\n1. When that diff builds on `master`, grab the results from the **Artifacts**\n   tab on the CircleCI build results for the build of the platform you want to\n   release.\n2. Verify the release can be installed: `npm remove -g reason-cli \u0026\u0026 npm\n   install reason-cli.tar.gz`\n3. Make sure `rtop` works.\n4. **Uninstall** the release you just installed: `npm remove -g reason-cli`\n   (otherwise npm freaks out).\n5. Extract the release locally: `tar -xvf reason-cli.tar.gz`.\n6. `cd package`\n7. Edit the version number in `package.json` to be `3.3.2-linux` or\n   `3.3.2-macos` (adjust for the version and platform you downloaded for\n   accordingly).\n8. `npm publish`\n\nRepeat steps 1-8 for both linux and macos builds.\n\n9. Update dist tags:\n   ```\n   npm dist-tags add reason-cli@3.3.2-linux latest-linux\n   npm dist-tags add reason-cli@3.3.2-macos latest-macos\n   ```\n   (adjust for the version and platform you downloaded for accordingly)\n\n\n\n### Releasing (without CI):\n\nYou can just recreate what the circle CI steps do locally and then perform the steps above.\n\n\n## More Info\n\n\n### TroubleShooting:\n\n- For failed installs try:\n\n      npm install -g whateverReasonCliReleaseYouTried --ignore-scripts\n      cd whereverYourGlobalNpmPackagesAreStored/reason-cli/\n      ./postinstall.sh\n\n  - Does it give any better information about what is failing?\n  - Is there a specific log file that it claims the actual error is written into?\n\n- Did you remember to install using `-g`?\n- When updating, did you try to uninstall the previous installation?\n\nEach published binary includes the built-in ability to troubleshoot where each\nbinary is resolved to.  If something is going wrong with your `refmt` command,\nyou can see which released binary `refmt` *actually* invokes in the release. We\nuse the `----where` flag with four `-` characters because it's unlikely to\nconflict with any meaningful parameters of binaries like `refmt`.\n\n```\nrefmt ----where\n\n\u003e /path/to/npm-packages/lib/reason-cli/actualInstall/builds/reason/bin/refmt\n\n```\n\n### ORIGINS\n\nSee [ORIGINS](./ORIGINS.md).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freasonml%2Freason-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freasonml%2Freason-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freasonml%2Freason-cli/lists"}