Fable - F# to JavaScript Compiler

  •        50

Fable is an F# to JavaScript compiler powered by Babel, designed to make F# a first-class citizen of the JavaScript ecosystem. Fable produces readable JavaScript code compatible with ES2015 standards and popular tooling like Webpack. Call JavaScript from Fable or Fable from JS.

http://fable.io/
https://github.com/fable-compiler/Fable

Tags
Implementation
License
Platform

   




Related Projects

FunScript - F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider

  •    F#

Please note: this project is not actively maintained anymore. Please look at these alternatives: Fable or WebSharper. FunScript consists of a standalone F# to JavaScript compiler library and a Type Provider to TypeScript. FunScript lets you connect to client and server APIs with Intellisense and types automagically using F# 3's Type Provider mechanism.

SAFE-BookStore - Working sample of a SAFE-Stack project with hot reloading

  •    F#

The following document describes the SAFE-Stack sample project. SAFE is a technology stack that brings together several technologies into a single, coherent stack for typesafe, flexible end-to-end web-enabled applications that are written entirely in F#. You can see it running on Microsoft Azure at http://fable-suave.azurewebsites.net.

Babel - The compiler for writing next generation JavaScript

  •    Javascript

Babel is the compiler for writing next generation JavaScript.

ionide-vscode-fsharp - VS Code plugin for F# development

  •    F#

Part of the Ionide plugin suite. Read detailed documentation at Ionide docs page. F# (Windows) - Easiest way to install latest versions of F# on Windows is using VS Build Tools 2017. If you use VS 2017, make sure that you've installed workload adding F# support.

es6-module-transpiler - Tomorrow’s JavaScript module syntax today

  •    Javascript

This project is part of esnext, which has merged with Babel. All the features of esnext are supported by Babel, and more. All the tests from esnext have been ported over to Babel to ensure that switchers will have minimal code changes to make. The maintainers of esnext will continue working on Babel to bring better spec compliance, ES6 feature support, and performance. If you want a fast tool with bundling support as found in this project, you should check out Rollup. ES6 Module Transpiler is an experimental compiler that allows you to write your JavaScript using a subset of the ES6 module syntax, and compile it into AMD or CommonJS modules.


elmish - Elm-like abstractions for F# apps

  •    FSharp

Elmish implements core abstractions that can be used to build applications following the “model view update” style of architecture, as made famous by Elm. The library however does not model any "view" and is intended for use in conjuction with a DOM/renderer, like React/ReactNative or VirtualDOM. Those familiar with Redux may find Elmish a more natural fit when targeting React or ReactNative as it allows one to stay completely in idiomatic F#.

fsharp - The F# compiler, FSharp.Core library, and tools for F#

  •    F#

You're invited to contribute to future releases of the F# compiler, core library, and tools. Development of this repository can be done on any OS supported by .NET Core. After it's finished, open either FSharp.sln or VisualFSharp.sln in your editor of choice. The latter solution is larger but includes the F# tools for Visual Studio and its associated infrastructure.

flow-remove-types - 🚿 Removes Flow type annotations from JavaScript files with speed and simplicity

  •    Javascript

Turn your JavaScript with Flow type annotations into standard JavaScript in an instant with no configuration and minimal setup. Flow provides static type checking to JavaScript which can both help find and detect bugs long before code is deployed and can make code easier to read and more self-documenting. The Flow tool itself only reads and analyzes code. Running code with Flow type annotations requires first removing the annotations which are non-standard JavaScript. Typically this is done via adding a plugin to your Babel configuration, however Babel may be overkill if you're only targetting modern versions of Node.js or just not using the modern ES2015 features that may not be in every browser.

flow-remove-types - 🚿 Removes Flow type annotations from JavaScript files with speed and simplicity

  •    Javascript

Turn your JavaScript with Flow type annotations into standard JavaScript in an instant with no configuration and minimal setup. Flow provides static type checking to JavaScript which can both help find and detect bugs long before code is deployed and can make code easier to read and more self-documenting. The Flow tool itself only reads and analyzes code. Running code with Flow type annotations requires first removing the annotations which are non-standard JavaScript. Typically this is done via adding a plugin to your Babel configuration, however Babel may be overkill if you're only targetting modern versions of Node.js or just not using the modern ES2015 features that may not be in every browser.

Fable Server

  •    

Fable Server is a generic server base on which you can write your own code. It's a great way to save time by skipping the basics and writing the actual code.

closure-compiler-handbook - How to use Google's Closure Compiler

  •    

This handbook is designed to help you understand how to use Closure Compiler and learn its features. The Closure Compiler is a tool for making JavaScript download and run faster. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.

webpack-closure-compiler - Google Closure Compiler plugin for Webpack

  •    Javascript

Closure Compiler is the most advanced JavaScript optimization tool. It generates smallest bundle and emits efficient JavaScript code by doing whole program analysis and optimization, removing closures and inlining function calls, as well as tree-shaking for AMD, CommonJS and ES2015 modules. While there's JavaScript version of Closure Compiler, the original compiler is written in Java and thus Java version is more complete and performs better in terms of JavaScript code optimizations and compilation speed. If you want to use Java-based compiler, make sure you have installed Java SDK.

Jsweet - A transpiler from Java to TypeScript/JavaScript

  •    Java

JSweet leverages TypeScript to write rich and responsive Web applications in Java through the use of JavaScript libraries and frameworks. With JSweet, Java programs are transpiled (source-to-source compiled) to TypeScript and JavaScript for being run in browsers, mobile Web views, or in Node.js.

Clojurescript - Clojure to JS compiler

  •    Clojure

ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler. ClojureScript combines the reach of the JavaScript platform, the flexibility and interactive development of Clojure, and the whole-program optimization of Google Closure to provide the most powerful language for programming the web.

fsharp - The F# Compiler, Core Library & Tools (F# Software Foundation Repository)

  •    F#

The F# Software Foundation... maintains a core open-source F# code repository and distributions made available to the public free of charge for use across multiple platforms. This includes the F# compiler, F# language specification, the F# core library and assorted tools and applications.The process for contributing to the F# Compiler, Core Library and Tools is described here.

grunt-babel - Grunt plugin for Babel

  •    Javascript

Issues with the output should be reported on the Babel issue tracker.See the Babel options, except for filename which is handled for you.

gulp-babel - Gulp plugin for Babel

  •    Javascript

Issues with the output should be reported on the Babel issue tracker.See the Babel options, except for sourceMap and filename which is handled for you.

UI Compiler .NET - JavaScript compiler/minifier built on Google Closure Compiler

  •    Javascript

A compiler/minifier for JavaScript, built on Google Closure Compiler and YUI Compressor. It provides a .NET component for integration and a windows UI, allowing compilation of multiple source files in to one single file.

Bridge - :spades: C# to JavaScript compiler

  •    Javascript

Bridge.NET is an open source C#-to-JavaScript Compiler. Write your application in C# and run on billions of devices.Compile your C#...

Bucklescript - A backend for the OCaml compiler which emits JavaScript.

  •    OCaml

BuckleScript leverages the existing OCaml compiler and toolchain to produce JavaScript that closely resembles the original OCaml. It isn't a new language. It simply takes OCaml, a fast, pragmatic and typed language, and makes it compile to clean, readable and performant JavaScript code. This allows the users to write in an industrial-strength language while using the existing, familiar JavaScript tools (npm/yarn, bundlers, minifiers, devtools, etc.) and accessing the vast ecosystem from both JavaScript and OCaml.