Skip to content
This repository has been archived by the owner on Dec 31, 2017. It is now read-only.

Latest commit

 

History

History
159 lines (140 loc) · 14.8 KB

README.md

File metadata and controls

159 lines (140 loc) · 14.8 KB

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

** DEPRECATED ** - Use https://redex.github.io/ instead

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
bs-glamor glamor - inline css for react Incomplete, but fully functional
bs-snabbdom Snabbdom - Virtual DOM "highly experimental and incomplete"
bs-blueprintjs Blueprint.js - React-based UI toolkit for the web Unknown, seems comprehensive
reason-vue Vue.js - "progressive" UI framework Unknown, basic?
reason-react-toolbox react-toolbox - React component library implementing Material Design Automatically generated
bs-react-pdf react-pdf Usable, Incomplete original library
bs-d3 D3 - Data visualization library using SVG, Canvas and HTML "Extremely incomplete and experimental"
bs-storybook Storybook for React - Development environment for UI components "Highly experimental and WIP"
bs-react-intl react-intl - React component library for internationalization "Work in Progress"
bs-nprogress NProgress - Slim progress bars Complete?
reason-apollo Apollo client - GraphQL client Full-featured
bs-websockets WebSockets API Unknown
bs-reason-apollo Apollo client bindings with a focus on js interop 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
bs-socket.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
bs-next Next.js - Server-rendered React application framework Complete?
bs-chalk Chalk - Terminal string styling done right Archived, undocumented, basic?
bs-puppeteer Puppeteer - API for Headless Chrome "work in progress, and most features probably don't work yet"
bs-mongodb MongoDB - Document-oriented database driver "preliminary", "need-driven"

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"
bs-numeral Numeral.js - Formatting and manipulation of numbers "Work in progress"
bs-most Most.js - Reactive programming toolkit At least basic
bs-geofire GeoFire - Realtime location queries with Firebase Complete, Maintained
bs-date-fns date-fns - Date utility library Mostly complete

Testing

Name Description Status
bs-jest Jest Incomplete, but fully functional
bs-react-test-renderer react-test-renderer Mostly complete?
bs-benchmarkjs Benchmark.js Very very basic
bs-enzyme Enzyme - Testing utilities for React "Very experimental"

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"
tween.re Reimplementation of tween.js in Reason Demoable, Basic?
Regql Simple Fetch-based GraphQL client Basic

Backend (node)

Other platforms

Name Description Status
reason-react-native-navigation "Simple React Native navigation" Basic? Seems well documented
reason-nact Actor library for Reason on node.js Complete, well-documented

General purpose

Name Description Status
bs-batteries Batteries - community-driven effort to standardize on an consistent, documented, and comprehensive development platform for the OCaml Very Basic (only Option, BatList, BatArray available), WIP
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
bs-re:vamp Safe and functional API for JavaScript regexes Full-featured, but experimental
vow Almost sound Promises for Bucklescript Full-featured, Documented
rebug Port of debug, a library for debug logging Browser-only, missing a few advanced features
rebase Minimal, cross-platform, BuckleScript-first replacement base library BS only, incomplete, largely undocumented, untested and prone to change

Testing

Name Description Status
infinite-jest Cross-platform native/bs test framework Usable, Alpha
ReSpect RSpec inspired test framework "still in a very early stage"

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 and TypeScript library definitions to Bucklescript interfaces Basic
ts2re Convert TypeScript type declaration files to Reason externals "super not ready for real use"
reason-scripts Create React App-like development environment setup script Feature-rich and well-supported
bucklescript-tea-starter-kit Starter kit for BuckleScript with TEA (The Elm Architecture) Fully working
rollup-plugin-bucklescript rollup plugin for bucklescript complier Functional but not well tested

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!