Apr 22, 2019

Architectural Changes in BuckleScript 5.0.4 and 6.0.1

Hongbo Zhang
Compiler & Build System

Important: This is an archived blog post, kept for historical reasons. Please note that this information might be outdated.

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.

Want to read more?
Back to Overview