Changes needed to compile reason/refmt with bucklescript #4377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I managed to compile
refmt
as a 1st class citizen BuckleScript library and run it in the browser successfully thanks to the bspackedJs_refmt_compiler
artifact generated by ninja. See https://github.com/jchavarri/bs-refmt.Some people have mentioned interest to have access to Reason AST using BuckleScript (cc @sgrove) and also my old self 😄 . I know the playground is not critical path, but having a version of BuckleScript that can compile refmt could allow the community to experiment and create more playgrounds & learning tools for Reason and BuckleScript.
These PR includes the changes needed in the compiler to make it work. I understand the
Sys.ml
change is not mergeable as is, maybe we could setBS_BROWSER
env var when runningninja build -playground
so the datasets get this change when building the compiler for browser?https://github.com/BuckleScript/bucklescript/blob/5f7f45a97061b5ed9f249b63f66603506845d44b/scripts/ninja.js#L1778