node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

fable-core

fable-core

Fable core lib and bindings for native JS objects, browser and Node APIs

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

RELEASE NOTES · Follow us on Twitter!

Installation

npm install --save fable-core

Usage

For general information on how to use Fable, please check the documentation.

fable-core uses ES5 syntax but it calls some ES2015 APIs (Symbol, Map, Set...), so you will need a polyfill like core-js to use it in environments that don't support these APIs.

The default distribution uses ES2015 modules in order to produce smaller sizes with bundlers like Rollup (embedded with fable-compiler) or Webpack 2. If you are not bundling your app, you'll probably need the UMD distribution instead (see below).

F# project (.fsproj)

  <ItemGroup>
    <Reference Include="node_modules/fable-core/Fable.Core.dll" />
  </ItemGroup>

F# script (.fsx)

#r "node_modules/fable-core/Fable.Core.dll"
 
open Fable.Core
open Fable.Import

Usage without bundling

Node

If you're writing a Node application and don't use a module bundler, you just need to instruct fable-compiler to use fable-core UMD distribution by passing --coreLib fable-core/umd among the compiler options.

require.js

If you target the browser and prefer to load JS dependencies asynchronously instead of bundling, you can easily load fable-core files with require.js as follows:

<script src="node_modules/requirejs/require.js"></script>
<script>
requirejs.config({
    paths: {
        'fable-core': 'node_modules/fable-core/umd'
    }
});
</script>