Compiler ยท Apr 22, 2019

Architectural Changes in BuckleScript 5.0.4 and 6.0.1

Hongbo Zhang
Compiler Team

Upcoming Changes

We are going to make releases of bs-platform@5.0.4 and bs-platform@6.0.1, this release mostly contains bug fixes.

At the same time, we are introducing an internal change which should be fine for average users.

If you are tooling authors, here are some details: previously we ship react_jsx ppx as a stand-alone binary, for example, reactjs_jsx_ppx_v2.exe, reactjs_jsx_ppx_v2.exe. Recently we start more close integration with reason, so it is absorbed into bsc.exe itself, we introduced a flag to have react-jsx on/off (note these are internal flags, not expected to be exposed to average users):

bsc.exe -bs-jsx 2 # turn on reactjs_jsx_ppx_v2 bsc.exe -bs-jsx 3 # turn on reactjs_jsx_ppx_v3

Like before, we also ship a stand alone bsppx.exe, it now absorbs reactjs_jsx_ppx as well.

bsppx.exe -bs-jsx 2 # turn on reactjs_jsx_ppx_v2 bsppx.exe -bs-jsx 3 # turn on reactjs_jsx_ppx_v3

The benefit of this change is that it help reduced the prebuilt binary size significantly and it also help shave 5~10ms per file compilation.

Another minor change we added, is that we introduced an env variable BS_VSCODE to help error messages more adapted to VsCode, see here for more details.

This article was originally released on https://bucklescript.github.io/blog/2019/04/22/release-5-0-4
Want to read more?
Back to Overview