Skip to content

chattyzilla-labs/zillaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

note: This library is in the infant stages of development. Backend developmetn in Native Reason/Ocaml is not friendly for newcomers (I know first hand). This is a collections of modules I have been using personally with code I have built, and code I assembled from various other open source projects for server side development in Reasonml. It is an attempt to have a unified mono-repo of packages that are stable, compadible, and activley maintained. I am in the process of making them into stable released packages on npm and opam. In the meantime cloning and building locally with esy would be the most painless way to use it today. Windows and LWT support is planned but not yet supported. If you run into issues building in open up an issue and I'll respond as soon as I can. Α real README is also in the works.

hello-reason

Build Status

A project which demonstrates a Reason workflow with Esy.

Usage

You need Esy, you can install the beta using npm:

% npm install -g esy@latest

NOTE: Make sure esy --version returns at least 0.5.4 for this project to build.

Then run the esy command from this project root to install and build dependencies.

% esy

Now you can run your editor within the environment (which also includes merlin):

% esy $EDITOR
% esy vim

Alternatively you can try vim-reasonml which loads esy project environments automatically.

After you make some changes to source code, you can re-run project's build again with the same simple esy command.

% esy

And test compiled executable (runs scripts.tests specified in package.json):

% esy test

Documentation for the libraries in the project can be generated with:

% esy doc
% esy open '#{self.target_dir}/default/_doc/_html/index.html'

Shell into environment:

% esy shell

Create Prebuilt Release:

esy allows creating prebuilt binary packages for your current platform, with no dependencies.

% esy npm-release
% cd _release
% npm publish

Continuous Integration:

hello-reason includes CI configuration for Azure DevOps pipelines out of the box.

  • Create your Azure DevOps account.
  • Add a new project, and point that new Azure DevOps project to your github repo that includes the CI (./azure-pipelines.yml and the .ci/ directory) from hello-reason.
  • Create a new Pipeline within that project.
    • When asked how to configure the new pipeline, select the option to use existing configuration inside the repo.

The CI is configured to build caches on the master branch, and also any branch named one of (global, release-*, releases-*). That means that pull requests to any branch with those names will be fast, once you have landed at least one commit to that branch. The first time you submit a pull request to one of those branches, the builds will be slow but then subsequent pull requests will be faster once a pull request is merged to it.

License

BSD3, see LICENSE files for its text.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published