/index

Index of available BuckleScript bindings

Index of available BuckleScript bindings and Libraries (and also some tooling)

Bindings

Frontend (browser)

Name Description Status
bs-webapi-incubator (Incomplete) Web APIs Incomplete (but then that's kind of the point)
bs-director Director - Routing Basic, Usable
bs-leaflet Leaflet.js - Interactive maps "WIP"
bs-fetch Fetch API Feature complete, probably buggy
reason-react React with some flavor Mostly complete, but not stable
ReWebRTC WebRTC API "Super simple"
reasongl OpenGL 2.0 and WebGL Unknown, probably usable
bucklescript-jquery jQuery - Swiss army knife Unknown, Out of date build process
bs-dom DOM API Very incomplete, "not test yet"
bucklescript-phx Phoenix client API "work in progress"
bs-rebass Rebass - Stateless Component Library Usable, Not complete

Backend (node)

Name Description Status
bs-node Node API Barely started
bs-express Express - Web application framework Usable, Not complete, Unit Tested
bs-discord.js Discord.js - JS Discord API Functional but incomplete
ReSocket.io socket.io - Event-based communication Mostly complete, "dead simple"
bs-spotify-web-api spotify-web-api-node - Spotify Web API Unknown
bs-glob node-glob - File matching with glob patterns Basic, Usable

Other platforms

Name Description Status
bs-react-native React Native Native mobile application framework Nearly usable
bucklescript-electron Electron Cross-platform desktop application framework
bs-vscode Visual Studio Code extension API Incomplete
bs-atom Atom package API Barely started

General purpose

Name Description Status
bs-moment Moment.js - Date processing Unknown
bs-immutablejs Immutable.js - Immutable collections Unknown, probably usable
bs-axios Axios - Promise based HTTP client for the browser and node.js Basic, Usable
bs-json Low-level JSON encoding and decoding Usable, Very experimental
bs-transit-js transit.js - Marshaling "rudimentary"
bs-history history - Cross-platform abstraction over the HTML history API "WIP"

Testing

Name Description Status
bs-jest Jest Incomplete, but fully functional
bs-react-test-renderer react-test-renderer Mostly complete?

Libraries

Frontend (browser)

Name Description Status
bucklescript-tea Implementation of The Elm Architecture (ie. TEA, ya get it?) Usable but incomplete. Alpha maybe?
reprocessing High-level drawing library inspired by Processing "100% a work in progress"
ReGlamor "CSS in Reason" No code. Cool logo though

Backend (node)

Other platforms

General purpose

Name Description Status
bs-containers Container library, based on OCaml-containers Very experimental and unstable
immutable-re Pure Reason implementation of persistent immutable data structures Early alpha
reductive Redux reimplementation Proof of concept?
transducers.re Clojure transducers in Reason Unknown
bs-ocaml-protoc-json Runtime library for the ocaml-protoc Protocol Buffers code generator Very usable, unit + conformance tests

Testing

Name Description Status
infinite-jest Cross-platform native/bs test framework Usable, Alpha

Tooling

Name Description Status
bucklescript-brunch Brunch plugin to compile Bucklescript code Unknown
ocaml-language-server Language Server Protocol implementation for OCaml Feature complete
vscode-reasonml Reason support for Visual Studio Code Feature complete
reason-tools Refmt in the browser Continuously improving
babel-plugin-transform-bucklescript Babel postprocessing transformations for BuckleScript generated JavaScript Unknown
bs-loader Bucklescript loader for Webpack Usable
jeason Converts JavaScript it into really bad Reason code "crappy"
reason Ocaml skin Alpha? Very usable, but still also very much in flux
qnd Quick and Dirty development builds for reason Usable
grunt-bucklescript Grunt plugin Unknown
ReasonablyTyped Converts Flow library definitions to Bucklescript interfaces Very basic
ts2re Convert TypeScript type declaration files to Reason externals "super not ready for real use"

Related Links

Contribute

Have you written a binding or library that's not listed here? Or come across one? Or found a mistake, however unlikely that might be? Then just submit a PR! It'll be very appreciated and probably even accepted!