Lucy Cifferello 38b65166a9 fix port
2020-08-19 11:21:32 -06:00
2019-12-21 13:42:08 -07:00
2020-08-19 11:21:32 -06:00
2020-08-19 11:21:32 -06:00
2020-08-03 15:09:50 -06:00
2020-07-27 15:32:33 -06:00
2019-12-21 13:13:19 -07:00
2019-12-21 13:13:19 -07:00
2020-08-03 15:09:50 -06:00
2020-06-22 15:46:31 -06:00
2020-08-03 15:09:50 -06:00
2020-06-22 15:46:31 -06:00
2020-06-22 15:46:31 -06:00

Database Setup

After installing Postgres, run:

createuser start9-companion-server --pwprompt --superuser
# Enter password start9-companion-server when prompted
createdb start9-companion-server
createdb start9-companion-server_test

Haskell Setup

  1. If you haven't already, install Stack
    • On POSIX systems, this is usually curl -sSL https://get.haskellstack.org/ | sh
  2. Install the yesod command line tool: stack install yesod-bin --install-ghc
  3. Build libraries: stack build

If you have trouble, refer to the Yesod Quickstart guide for additional detail.

Development

Start a development server with:

stack exec -- yesod devel

As your code changes, your site will be automatically recompiled and redeployed to localhost.

Development tools

ghcid "-c=stack ghci --test"

  • Clone HIE
  • Checkout latest reslease ie. git checkout tags/1.3
  • Follow github instructions to install for specific GHC version ie. stack ./install.hs hie
  • Install VSCode Haskell Language Server Extension

To create hie.yaml if it does not exist:

  • gather executables by running stack ide targets
  • see here for file setup details

Tests

stack test --flag start9-companion-server:library-only --flag start9-companion-server:dev

(Because yesod devel passes the library-only and dev flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times).

Tests with HIE Setup

  • install hspec-discover globally cabal install hspec-discover (requires cabal installation)
  • Current issue open for error pertaining to obtaining flags for test files
    • recommended to setup hie.yaml
    • recommended to run stack build --test --no-run-tests before any test files are open and that test files compile without error
    • helps to debug a specific file: hie --debug test/Main.hs

Documentation

  • Read the Yesod Book online for free
  • Check Stackage for documentation on the packages in your LTS Haskell version, or search it using Hoogle. Tip: Your LTS version is in your stack.yaml file.
  • For local documentation, use:
    • stack haddock --open to generate Haddock documentation for your dependencies, and open that documentation in a browser
    • stack hoogle <function, module or type signature> to generate a Hoogle database and search for your query
  • The Yesod cookbook has sample code for various needs

Getting Help

Description
No description provided
Readme MIT 49 MiB
Languages
Haskell 99.8%
Makefile 0.2%