Fable 4.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Fable --version 4.5.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Fable --version 4.5.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Fable&version=4.5.0
nuke :add-package Fable --version 4.5.0

Fable: F# |> JS

Nuget Build Join the chat at https://gitter.im/fable-compiler/Fable

Follow us on Twitter!

Fable is an F# to JavaScript compiler powered FSharp Compiler Services, designed to make F# a first-class citizen of the JavaScript ecosystem. Check the website for more information and if you find the project useful, don't forget to give us a star!

Fable actually uses a fork of FCS with a few tweaks. Binaries are in lib/fcs folder. See this PR for more info.

Getting started

Check this page.

Building

Requirements

Use VSCode Dev Container

You can use VSCode Dev Container to get a preconfigured environment both with requirements and VSCode extensions.

  1. You need to have docker installed and running.
  2. Install the Dev Container extension in VSCode
  3. Open the project in VSCode and click on the green button in the bottom left corner.
Use your machine

Make sure the following requirements are installed in your system:

Build

Run ./builsh.sh or ./build.cmd to see the build options.

When using VSCode, you can also run the build tasks from the command palette (Ctrl+Shift+P) by typing Run Task and selecting the task you want to run.

We also configured several debug configurations that you can use from the debug panel (Ctrl+Shift+D). This is useful as you can attach the debugger to the Fable compiler process to check what's going on.

Contributing

Just by using Fable you're already contributing! You can help the community a lot by sharing examples and experiences in your personal (or Fable's) blog and/or by editing the Fable Resources page.

Send bug reports (ideally with minimal code to reproduce the problem) and feature requests to this GitHub repository. To interact with the community you can use the Gitter chat but please note maintainers are not checking the chat regularly.

If you are up to contribute a fix or a feature yourself, you're more than welcome! Please send first an issue or a minimal Work In Progess PR so we can discuss the implementation details in advance.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
4.17.0 422 4/23/2024
4.16.0 3,053 3/20/2024
4.15.0 855 3/18/2024
4.14.0 7,906 3/1/2024
4.13.0 2,547 2/20/2024
4.12.2 3,633 2/13/2024
4.12.1 447 2/13/2024
4.11.0 3,465 1/30/2024
4.10.0 3,978 1/25/2024
4.9.0 13,911 12/14/2023
4.8.1 1,086 12/12/2023
4.8.0 468 12/12/2023
4.7.0 3,506 12/6/2023
4.6.0 5,928 11/27/2023
4.5.0 14,692 11/7/2023
4.4.1 2,504 10/25/2023
4.4.0 5,955 10/24/2023
4.3.0 3,735 10/18/2023
4.2.2 1,809 10/14/2023
4.2.1 5,376 9/29/2023
4.1.4 42,825 5/16/2023
4.1.3 6,041 4/28/2023
4.1.2 3,709 4/22/2023
4.1.1 514 4/22/2023
4.1.0 917 4/18/2023
4.1.0-beta-001 444 4/16/2023
4.0.5 1,662 4/8/2023
4.0.4 1,585 4/4/2023
4.0.3 1,989 3/30/2023
4.0.2 960 3/27/2023
4.0.1 14,383 3/18/2023
4.0.0 6,080 3/14/2023
4.0.0-theta-018 35,856 11/19/2022
4.0.0-theta-017 428 11/16/2022
4.0.0-theta-016 608 11/13/2022
4.0.0-theta-015 407 11/5/2022
4.0.0-theta-014 223 10/31/2022
4.0.0-theta-012 1,027 10/14/2022
4.0.0-theta-011 742 10/4/2022
4.0.0-theta-010 262 9/28/2022
4.0.0-theta-009 262 9/28/2022
4.0.0-theta-008 335 9/22/2022
4.0.0-theta-007 227 9/21/2022
4.0.0-theta-006 287 9/18/2022
4.0.0-theta-005 204 9/17/2022
4.0.0-theta-004 312 9/14/2022
4.0.0-theta-003 180 9/12/2022
4.0.0-theta-002 150 9/11/2022
4.0.0-theta-001 210 9/9/2022
4.0.0-snake-island-alpha-026 253 9/8/2022
4.0.0-snake-island-alpha-025 221 9/6/2022
4.0.0-snake-island-alpha-024 343 9/2/2022
4.0.0-snake-island-alpha-023 181 8/30/2022
4.0.0-snake-island-alpha-021 476 8/21/2022
4.0.0-snake-island-alpha-020 280 8/14/2022
4.0.0-snake-island-alpha-019 336 7/31/2022
4.0.0-snake-island-alpha-018 208 7/30/2022
4.0.0-snake-island-alpha-017 245 7/27/2022
4.0.0-snake-island-alpha-016 203 7/26/2022
4.0.0-snake-island-alpha-015 185 7/26/2022
4.0.0-snake-island-alpha-014 220 7/25/2022
4.0.0-snake-island-alpha-013 181 7/25/2022
4.0.0-snake-island-alpha-012 321 7/12/2022
4.0.0-snake-island-alpha-011 204 6/23/2022
4.0.0-snake-island-alpha-010 223 6/3/2022
4.0.0-snake-island-alpha-009 179 6/2/2022
4.0.0-snake-island-alpha-008 194 6/1/2022
4.0.0-snake-island-alpha-007 232 5/25/2022
4.0.0-snake-island-alpha-006 189 5/24/2022
4.0.0-snake-island-alpha-005 209 5/23/2022
4.0.0-snake-island-alpha-004 174 5/21/2022
4.0.0-snake-island-alpha-003 204 5/20/2022
4.0.0-snake-island-alpha-002 176 5/19/2022
4.0.0-snake-island-alpha-001 207 5/11/2022
3.7.22 2,667 5/11/2023
3.7.21 182 5/11/2023
3.7.20 31,614 9/27/2022
3.7.19 478 9/27/2022
3.7.18 7,635 8/16/2022
3.7.17 6,377 7/21/2022
3.7.16 4,299 7/5/2022
3.7.15 871 6/29/2022
3.7.14 4,481 6/14/2022
3.7.12 3,586 5/27/2022
3.7.11 6,036 5/1/2022
3.7.10 725 4/29/2022
3.7.9 9,739 4/1/2022
3.7.8 1,680 3/24/2022
3.7.7 5,291 3/22/2022
3.7.6 2,486 3/16/2022
3.7.5 20,040 3/1/2022
3.7.4 858 2/25/2022
3.7.3 4,499 2/23/2022
3.7.2 1,302 2/22/2022
3.7.1 5,805 2/17/2022
3.7.0 8,205 2/7/2022
3.7.0-beta-015 1,153 1/26/2022
3.7.0-beta-014 246 1/24/2022
3.7.0-beta-012 288 1/18/2022
3.7.0-beta-011 220 1/14/2022
3.7.0-beta-010 195 1/14/2022
3.7.0-beta-009 200 1/12/2022
3.7.0-beta-008 191 1/11/2022
3.7.0-beta-007 209 1/11/2022
3.7.0-beta-006 197 1/11/2022
3.7.0-beta-005 215 1/7/2022
3.7.0-beta-004 188 1/5/2022
3.7.0-beta-003 260 1/4/2022
3.7.0-beta-002 172 12/28/2021
3.7.0-beta-001 202 12/20/2021
3.6.3 18,710 12/1/2021
3.6.2 8,664 11/26/2021
3.6.1 11,682 11/23/2021
3.6.0 1,620 11/19/2021
3.6.0-beta-003 317 11/17/2021
3.6.0-beta-002 192 11/15/2021
3.6.0-beta-001 228 11/14/2021
3.4.10 1,360 11/8/2021
3.4.9 2,246 11/5/2021
3.4.8 456 11/4/2021
3.4.7 1,564 10/28/2021
3.4.6 1,029 10/26/2021
3.4.5 707 10/21/2021
3.4.4 812 10/20/2021
3.4.3 11,166 10/14/2021
3.4.2 1,215 10/5/2021
3.4.1 481 10/4/2021
3.4.0 815 10/1/2021
3.3.1 1,641 9/27/2021
3.3.0 3,430 9/16/2021
3.3.0-beta-002 413 8/28/2021
3.3.0-beta-001 201 8/27/2021
3.2.14 1,330 9/11/2021
3.2.12 4,756 8/26/2021
3.2.11 6,065 8/19/2021
3.2.10 2,806 8/2/2021
3.2.9 47,015 7/8/2021
3.2.8 2,495 6/26/2021
3.2.7 468 6/25/2021
3.2.6 2,604 6/22/2021
3.2.5 825 6/21/2021
3.2.4 680 6/16/2021
3.2.3 588 6/11/2021
3.2.2 902 6/3/2021
3.2.1 14,347 5/28/2021
3.2.0 492 5/28/2021
3.1.16 7,080 5/14/2021
3.1.15 6,722 4/16/2021
3.1.14 4,879 4/9/2021
3.1.12 3,105 3/23/2021
3.1.11 4,876 3/17/2021
3.1.10 1,174 3/16/2021
3.1.9 2,725 3/15/2021
3.1.8 480 3/15/2021
3.1.7 940 3/11/2021
3.1.6 532 3/11/2021
3.1.5 6,824 2/18/2021
3.1.4 891 2/12/2021
3.1.3 476 2/12/2021
3.1.2 10,436 1/25/2021
3.1.1 6,008 1/13/2021
3.1.0 923 1/11/2021
3.1.0-beta-001 340 1/8/2021
3.0.5 1,891 12/22/2020
3.0.4 1,218 12/19/2020
3.0.3 564 12/18/2020
3.0.2 1,050 12/16/2020
3.0.1 1,251 12/11/2020
3.0.0 3,348 12/4/2020
3.0.0-nagareyama-rc-011 570 12/2/2020
3.0.0-nagareyama-rc-010 465 11/28/2020
3.0.0-nagareyama-rc-009 1,005 11/25/2020
3.0.0-nagareyama-rc-008 529 11/19/2020
3.0.0-nagareyama-rc-007 751 11/15/2020
3.0.0-nagareyama-rc-006 551 11/13/2020
3.0.0-nagareyama-rc-005 371 11/12/2020
3.0.0-nagareyama-rc-004 430 11/10/2020
3.0.0-nagareyama-rc-003 401 11/9/2020
3.0.0-nagareyama-rc-002 489 11/8/2020
3.0.0-nagareyama-rc-001 481 11/7/2020
3.0.0-nagareyama-beta-005 409 10/31/2020
3.0.0-nagareyama-beta-004 549 10/27/2020
3.0.0-nagareyama-beta-003 406 10/25/2020
3.0.0-nagareyama-beta-002 528 10/23/2020
3.0.0-nagareyama-beta-001 360 10/23/2020
3.0.0-nagareyama-alpha-017 341 10/22/2020
3.0.0-nagareyama-alpha-016 336 10/22/2020
3.0.0-nagareyama-alpha-015 406 10/19/2020
3.0.0-nagareyama-alpha-014 401 10/18/2020
3.0.0-nagareyama-alpha-012 383 10/15/2020
3.0.0-nagareyama-alpha-011 370 10/15/2020
3.0.0-nagareyama-alpha-010 396 10/13/2020
3.0.0-nagareyama-alpha-009 408 10/11/2020
3.0.0-nagareyama-alpha-008 459 10/5/2020
3.0.0-nagareyama-alpha-007 404 10/2/2020
3.0.0-nagareyama-alpha-006 367 9/30/2020
3.0.0-nagareyama-alpha-005 331 9/29/2020
3.0.0-nagareyama-alpha-004 408 9/28/2020
3.0.0-nagareyama-alpha-003 379 9/14/2020
3.0.0-nagareyama-alpha-002 360 9/13/2020
3.0.0-nagareyama-alpha-001 480 9/13/2020

## Changed


### Python

- Use `Any` type for all non-repeated generic arguments (by @dbrattli)
- Don't generate unnecessary type type-vars if generic type is replaced by `Any` (by @dbrattli)
- Generate new style `_T | None` instead of `Optional[_T]` (by @dbrattli)

### Rust

- Support multiple namespaces sharing a prefix in the same file (by @ncave)
- Support imports with the same namespace across multiple files (by @ncave)

## Fixed


### JavaScript

- Fix #3571: `[<AttachMembers>]` not compatible with f# member `this.Item` (by @ncave)