If you would like to request a feature, please, create an issue.
If you want to report a bug, there are few options:
- You can contribute a minimal falling test with your use case. It would make things easier for us to proceed with the fix.
- You can contribute a minimal falling test and a fix. Even better :)
- If you don't feel like contributing a test, please, create an issue with as many details as possible and we will try to figure out something.
There might be 2 types of issues:
- Compile-time error.
- Runtime error (related to logic or just runtime crashes).
If you are facing the former, add PPX test in ppx/test.
If you are facing the latter, add integration test in specs.
See the corresponding README for details.
It would be great if you could reduce your test case to minimal size. I.e. instead of copy/pasting code from your app as is, try to remove unrelated parts and keep only what's related to the error.
- docs/ # Documentation
- examples/ # Examples
- lib/ # ReScript library
- src/ # ReScript library sources
- ppx/ # PPX
- bin/ # PPX binary
- lib/ # PPX implementation
- sandbox/ # PPX sandbox for debugging
- test/ # PPX tests
- specs/ # Integration testsThis repo uses yarn workspaces to manage frontend related dependencies and esy to manage PPX related dependencies (optionally, you can use nix shell instead of esy for development).
Install Yarn dependencies:
yarn installBuild ReScript library:
# In lib/ folder
yarn rescript build -with-depsBuild public interface of the ReScript lib:
# Apparently `rescript` doesn't have `bsb -install` counterpart
# So you need to build any app in this workspace that relies on `re-formality`
# E.g. in ppx/sandbox folder
yarn rescript build -with-depsEsy flow Install Esy dependencies:
esy installBuild PPX:
esy buildNix flow Build PPX:
dune build