All Projects β†’ reasonml β†’ Reason Cli

reasonml / Reason Cli

Licence: mit
Globally installable Reason toolchain.

Labels

Projects that are alternatives of or similar to Reason Cli

Cookiecutter Docker Science
Cookiecutter template for data scientists working with Docker containers
Stars: ✭ 267 (-9.18%)
Mutual labels:  makefile
Http2curl
πŸ“ Convert Golang's http.Request to CURL command line
Stars: ✭ 278 (-5.44%)
Mutual labels:  makefile
Jenkins X Platform
Helm umbrella repo containing the helm charts for the Jenkins-X platform on Kubernetes
Stars: ✭ 287 (-2.38%)
Mutual labels:  makefile
Routeros Scripts
a collection of scripts for Mikrotik RouterOS
Stars: ✭ 270 (-8.16%)
Mutual labels:  makefile
Crystal Book
Crystal docs at https://crystal-lang.org/reference
Stars: ✭ 275 (-6.46%)
Mutual labels:  makefile
Rtpproxy
The RTPproxy is a high-performance software proxy for RTP streams that can work together with Sippy B2BUA, Kamailio, OpenSIPS and SER.
Stars: ✭ 283 (-3.74%)
Mutual labels:  makefile
Displaylink Rpm
RPM sources for the DisplayLink USB display adapters
Stars: ✭ 266 (-9.52%)
Mutual labels:  makefile
Openwrt Shadowsocks
Shadowsocks-libev for OpenWrt/LEDE
Stars: ✭ 3,091 (+951.36%)
Mutual labels:  makefile
Book
Using Raku – an unfinished book about Raku
Stars: ✭ 280 (-4.76%)
Mutual labels:  makefile
Learninglinuxkernel
ε’Œζˆ‘δΈ€θ΅·ε­¦δΉ Linux内核吧
Stars: ✭ 288 (-2.04%)
Mutual labels:  makefile
Hellogopher
Makefile to build a Go project
Stars: ✭ 273 (-7.14%)
Mutual labels:  makefile
Evm Semantics
K Semantics of the Ethereum Virtual Machine (EVM)
Stars: ✭ 275 (-6.46%)
Mutual labels:  makefile
Vmware Usb Osx
Easily create a bootable USB installer for VMware ESXi / vSphere Hypervisor
Stars: ✭ 286 (-2.72%)
Mutual labels:  makefile
Packpack
Simple building of RPMs & Debian packages from git repos
Stars: ✭ 269 (-8.5%)
Mutual labels:  makefile
Election Geodata
Precinct shapes (and vote results) for US elections past, present, and future
Stars: ✭ 289 (-1.7%)
Mutual labels:  makefile
Android device oneplus bacon
Stars: ✭ 267 (-9.18%)
Mutual labels:  makefile
Prehistoric Entware
Prehistoric Entware
Stars: ✭ 282 (-4.08%)
Mutual labels:  makefile
Clash
Clash for openwrt [Luci-app-clash] https://github.com/frainzy1477/luci-app-clash
Stars: ✭ 293 (-0.34%)
Mutual labels:  makefile
Awesome Micropython
A curated list of awesome MicroPython libraries, frameworks, software and resources.
Stars: ✭ 287 (-2.38%)
Mutual labels:  makefile
Dockermail
Ready-to-use email server + (optional) web mail + (optional) caldav, carddav and a kitchen sink in a docker container
Stars: ✭ 286 (-2.72%)
Mutual labels:  makefile

reason-cli

Reason toolchain packaged for npm.

CircleCI

Supported: Installing via NPM/Yarn, on Mac OS or Linux.

Install

platform install command
macOS yarn global add [email protected]
Linux yarn global add [email protected]
Windows Please see https://github.com/reasonml/reasonml.github.io/issues/195

For npm users, use npm install -g [email protected] or @latest-linux instead.

The package's size is rather big. It takes a while to download, especially on slower internet. If npm is stuck and doesn't produce any errors then it's probably just downloading it. This will be fixed in the following releases. Sorry.

The installation requires glibc >=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.

If 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.

Install your editor plugins

Pick your favorite editor plugin here

Updating:

Just reinstall over the previously installed package. It's usually a good idea to uninstall the old reason-cli first.

npm uninstall -g reason-cli
npm install -g [email protected]

Included Binaries

When installed with npm install -g, reason-cli places the following tools in your path:

  • ocamlmerlin
  • ocamlmerlin-reason
  • refmt
  • rtop

Releasing (For Maintainers):

Repeat the following for both most recent reason-cli linux and macos circle CI builds that succeed.

  1. Bump the versions/config in package.json to your liking, and make sure to locally run esy install to regenerate any lockfiles. Send a commit with those lockfiles and config changes.
  2. When that diff builds on master, grab the results from the Artifacts tab on the CircleCI build results for the build of the platform you want to release.
  3. Verify the release can be installed: npm remove -g reason-cli && npm install reason-cli.tar.gz
  4. Make sure rtop works.
  5. Uninstall the release you just installed: npm remove -g reason-cli (otherwise npm freaks out).
  6. Extract the release locally: tar -xvf reason-cli.tar.gz.
  7. cd package
  8. Edit the version number in package.json to be 3.3.2-linux or 3.3.2-macos (adjust for the version and platform you downloaded for accordingly).
  9. npm publish

Repeat steps 1-8 for both linux and macos builds.

  1. Update dist tags:
    npm dist-tags add [email protected] latest-linux
    npm dist-tags add [email protected] latest-macos
    
    (adjust for the version and platform you downloaded for accordingly)

Releasing (without CI):

You can just recreate what the circle CI steps do locally and then perform the steps above.

More Info

TroubleShooting:

  • For failed installs try:

    npm install -g whateverReasonCliReleaseYouTried --ignore-scripts
    cd whereverYourGlobalNpmPackagesAreStored/reason-cli/
    ./postinstall.sh
    
    • Does it give any better information about what is failing?
    • Is there a specific log file that it claims the actual error is written into?
  • Did you remember to install using -g?

  • When updating, did you try to uninstall the previous installation?

Each published binary includes the built-in ability to troubleshoot where each binary is resolved to. If something is going wrong with your refmt command, you can see which released binary refmt actually invokes in the release. We use the ----where flag with four - characters because it's unlikely to conflict with any meaningful parameters of binaries like refmt.

refmt ----where

> /path/to/npm-packages/lib/reason-cli/actualInstall/builds/reason/bin/refmt

ORIGINS

See ORIGINS.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].