Files
setup-haskell/docs/contributors.md
Jared Weakly 120f5dc3eb Implement fallback install and outputs (#2)
* Add better version support. Restructure code. Implement OS agnostic fallback

* Support latest for cabal and stack. Add enable-stack option.

* Add outputs

* Update documentation. Change default for GHC to latest.
2020-04-24 11:53:29 -07:00

1.5 KiB

Contributors

Checkin

  • Do checkin source (src)
  • Do checkin build output (dist)

Dependencies

In order to make sure that the ts files are always transpiled correctly, we run Husky before each commit. This step ensures that formatting rules are followed and that the typescript code has been transpiled correctly. To make sure Husky runs correctly, please use the following workflow:

npm install                                 # installs all dependencies including Husky
git add abc.ext                             # Add the files you've changed. This should include files in src and dist (see above)
git commit -m "Informative commit message"  # Commit. This will run Husky

During the commit step, Husky will take care of formatting all files with Prettier. It will also bundle the code into a single dist/index.js file. Finally, it will make sure these changes are appropriately included in your commit--no further work is needed.

Versions

Cabal does not follow SemVer and Stack has both SemVer compatible version numbers as well as PVP-style versions; due to this, support for "resolving" a version like X.X into the latest X.X.Y or X.X.Y.Y version is tricky. To avoid complications, all recognized versions of GHC, Cabal, and Stack are in src/versions.json; these versions are supported across all three operating systems. When a new release of GHC, Cabal, or Stack comes out, the src/versions.json file will need to be updated accordingly.