← Notatki

Fable 5.1 wydany: bezpośrednia integracja z MSBuild i nowe możliwości kompilatora F#

Ukazała się wersja Fable 5.1, stabilizująca nową generację kompilatora F# transpilującego kod do JavaScriptu, TypeScriptu, Pythona, Rusta oraz Darta.

Linia 5.x przynosi kluczowe usprawnienia w architekturze narzędzia i procesie budowania:

  • Bezpośrednie wywołania MSBuild: Zastąpienie zewnętrznych bibliotek analizy projektów bezpośrednią integracją z silnikiem MSBuild, co eliminuje błędy parsowania w złożonych monorepo.
  • Wsparcie dla TreatWarningsAsErrors: Pełna obsługa flagi <TreatWarningsAsErrors>true</TreatWarningsAsErrors> w plikach projektów, ułatwiająca egzekwowanie rygorystycznych reguł w potokach CI.
  • Współczesna składnia F#: Obsługa typów referencyjnych dopuszczających nulle (Nullable Reference Types), automatycznych właściwości .Is* dla unii dyskryminacyjnych oraz pustych computation expressions.
  • Dojrzałość wieloplatformowa: Czystrza translacja AST dla głównego środowiska JS/TS oraz stabilniejsze generowanie kodu dla backendów w Rust i Pythonie.

Perspektywa architektoniczna

Kompilacja funkcyjnego, silnie typowanego języka takiego jak F# do JS w przeglądarce czy Pythona na serwerze to sprawdzony wzorzec dla zespołów szukających gwarancji typów bez ograniczeń runtime’u TypeScriptu.

Rezygnacja z kruchych warstw pośrednich przy parsowaniu projektów na rzecz natywnego MSBuild rozwiązuje odwieczny problem alternatywnych kompilatorów – podatność na desynchronizację z oficjalnym SDK .NET. Dla zespołów współdzielących logikę domenową między przeglądarką a backendem, Fable 5.1 stanowi wyjątkowo stabilny punkt odniesienia.

Źródło: GitHub

← Notatki