Fable

​F# 转 JavaScript 编译器。「F# to JavaScript Compiler」

Github stars Tracking Chart

F#, > BABEL

Mono Build Status .NET Build Status npm version Join the chat at https://gitter.im/fable-compiler/Fable

Open in Gitpod

Follow us on Twitter!

Fable is an F# to JavaScript compiler powered by Babel, 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!

Getting started

Check this page.

Building

Make sure the following requirements are installed in your system:

Then run npm install to install dependencies and npm run build at the root folder to start the build. Check build.fsx for other build targets. For example: npm run build compiler.

After that, if you want to quickly try changes to Fable source, please check src/quicktest/QuickTest.fs.

Using your local build in your projects

Many of you are making really useful contributions that you also need for your own projects, however a new release may take several days. If you need the latest features you can tell fable-compiler to use a local build. For this, use the cli.path option. For example when using the fable-loader you can include the following in your webpack.config.js:

  module: {
    rules: [
      {
        test: /\.fs(x, proj)?$/,
        use: {
            loader: "fable-loader",
            options: {
                cli: {
                    // This should be the path to your local clone of Fable
                    path: "../Fable/src/Fable.Cli"
                }
            }
        }
      }
    ]
  }

ATTENTION: Remember to build fable-library files beforehand. This can be done just by building the whole project (see "Building" above) or running the FableLibrary FAKE target (after this, if you edit one of the src/js/fable-library JS or TS files, you can run the FableLibraryTypescriptOnly which is faster).

Contributing

Just by using Fable you're already contributing! You can help a lot the community by sharing examples and experiences in your personal blog and sending a PR to fable-awesome.

Send bug reports (ideally with minimal code to reproduce the problem) and feature requests to the 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.

Overview

Name With Ownerfable-compiler/Fable
Primary LanguageF#
Program languageF# (Language Count: 10)
Platform
License:MIT License
Release Count250
Last Release Name4.17.0 (Posted on )
First Release Namev0.7.50 (Posted on )
Created At2016-01-11 10:10:13
Pushed At2024-04-27 09:24:11
Last Commit At
Stargazers Count2.8k
Watchers Count69
Fork Count291
Commits Count6.5k
Has Issues Enabled
Issues Count1867
Issue Open Count175
Pull Requests Count1746
Pull Requests Open Count17
Pull Requests Close Count145
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top