Download and install NPM. On a mac, can be installed via homebrew:
brew install npmInstall client dependencies
cd client
npm installRecommended: Use direnv to automatically load environment from .env
brew install direnv
direnv allowBuild JavaScript client
cd client
npm run buildWatch for changes during development
cd client
npm run devRun demo locally. Then visit
cabal run demo
JavaScript client:
cd client
npm run lint
npm run fmt:checkHaskell:
hlint .
fourmolu --mode inplace $(git ls-files '*.hs')JavaScript client:
cd client
npm testHaskell:
cabal testRun tests, then recompile both client and server on file change, then restart demo
bin/dev
We use a custom preprocessor to embed compiler-checked examples into Haddock. Everything is automatic with Cabal, but HLS doesn't support it yet. Run this command to get HLS working:
cabal install hyperbole:docgen --overwrite-policy=always