ReScript ist eine typsichere Sprache, die zu hochwertigem JavaScript kompiliert wird. Sie entstand aus BuckleScript (Hongbo Zhang, 2016), einem OCaml-Backend, und wurde im Juli 2020 zusammen mit Reason unter dem Namen ReScript neu ausgerichtet. ReScript bietet die Ausdruckskraft von OCaml – Typinferenz, Pattern Matching, unveränderliche Daten – mit einer an JavaScript angelehnten Syntax. Anders als ReasonML, das weiterhin auf der OCaml-Toolchain mit Melange aufbaut, besitzt ReScript einen eigenen Compiler und Build-Prozess.
Werkzeuge
rescript– Build-Tool und Compiler-Aufruf (früherbsb)bsc– der eigentliche ReScript-Compiler (Single-File)rewatch– Datei-Watcher fürrescript build -wrescript convert– migriert OCaml/Reason-Code nach ReScript
Projekt anlegen und bauen
npm init -y
npm install rescript
npx rescript init myapp # Projektgerüst mit rescript.json anlegen
cd myapp
npx rescript build # kompiliert .res/.resi nach JavaScript (lib/js)
npx rescript build -w # Watch-Modus, baut bei Änderungen neu
npx rescript clean # Build-Artefakte (lib, .bs) entfernen
npx rescript format -all # Quellcode formatieren
Konfiguration
Die Projektdatei heißt heute rescript.json (früher bsconfig.json). Wichtige Felder: name, sources, package-specs (z. B. commonjs), jsx für React-ähnliche Syntax.
{
"name": "myapp",
"sources": [{ "dir": "src" }],
"package-specs": [{ "module": "commonjs", "in-source": true }],
"suffix": ".bs.js"
}
ReScript-Quelldateien tragen die Endung .res (Implementierung) und .resi (Signatur). Verwandt: OCaml-Befehle und PureScript-Befehle.