In order to contribute to this project, it is necesary to have Nix installed and Nix Flakes enabled.
Note: Make sure to have the binary caches configured to avoid large builds.
Once installed, you can enter the nix shell by calling
$ nix develop
Inside the nix shell, you will have access to the correct version of PureScript, Node.js and other dependencies.
You can build the project by executing
[nix-shell] $ marlowe-build
You can run the test by executing
[nix-shell] $ marlowe-test
You can generate the documention by executing
[nix-shell] $ build-docs
And serve a local version with
[nix-shell] $ serve-docs
Add the following to your nix configuration:
substituters = https://cache.iog.io https://iohk.cachix.org https://cache.nixos.org/
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
Note
The spago dependencies are tracked with spago2nix. If any purescript dependency change, we need to run the following:
$ nix run .#generateSpagoPackages
The npm dependencies are tracked with node2nix. If any dependency is added to package.json, we need to run the following:
$ nix run .#generateNpmPackages