Swiftpack.co - Package -


package.json workflow for native development with Reason/OCaml.

Travis npm npm (tag)

This README serves as a development documentation for esy. For user documentation refer to esy.sh documentation site.

Repository structure

  • esy-build-package — source code for esy-build-package command
  • esy — source code for esy core commands
  • esy-install — source code for esy install, esy add and other yarn-based command.
    • esy-install/esy-install — this is a submodule which points to esy/esy-install repo, a fork of yarn.
  • test — unit tests
  • test-e2e — integration tests for esy
  • test-opam — "OPAM top 100 packages" test suite
  • linux-build — Docker based macOS to Linux cross compilation infra


To make changes to esy and test them locally:

% git clone git://github.com/esy/esy.git
% cd esy
% make bootstrap


% make

to see the description of development workflow.

Testing Locally

% make build-release
% npm remove -g esy
% npm install -g _release

Now you may run esy commands using your local version of esy.

Running Tests

% make test


There are two branches:

  • master — the active development, we cut new versions out of there regularly.
  • 0.0.x — maintainance branch for 0.0.x releases.


Issues are tracked at esy/esy.

Publishing Releases

On a clean branch off of origin/master, run:

% make bump-patch-version publish

to bump the patch version, tag the release in git repository and publish the tarball on npm.

To publish under custom release tag:

% make RELEASE_TAG=next bump-patch-version publish

Release tag next is used to publish preview releases.


Help us keep the lights on


Used By

Total: 0