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

Latest commit

History

88 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

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

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

Bindings

Frontend (browser)

NameDescriptionStatus
bs-webapi-incubator(Incomplete) Web APIsIncomplete (but then that's kind of the point)
bs-directorDirector - RoutingBasic, Usable
bs-leafletLeaflet.js - Interactive maps"WIP"
bs-fetchFetch APIFeature complete, probably buggy
reason-reactReact with some flavorMostly complete, but not stable
ReWebRTCWebRTC API"Super simple"
reasonglOpenGL 2.0 and WebGLUnknown, probably usable
bucklescript-jqueryjQuery - Swiss army knifeUnknown, Out of date build process
bs-domDOM APIVery incomplete, "not test yet"
bucklescript-phxPhoenix client API"work in progress"
bs-rebassRebass - Stateless Component LibraryUsable, Not complete
bs-glamorglamor - inline css for reactIncomplete, but fully functional
bs-snabbdomSnabbdom - Virtual DOM"highly experimental and incomplete"
bs-blueprintjsBlueprint.js - React-based UI toolkit for the webUnknown, seems comprehensive
reason-vueVue.js - "progressive" UI frameworkUnknown, basic?
reason-react-toolboxreact-toolbox - React component library implementing Material DesignAutomatically generated
bs-react-pdfreact-pdfUsable, Incomplete original library
bs-d3D3 - Data visualization library using SVG, Canvas and HTML"Extremely incomplete and experimental"
bs-storybookStorybook for React - Development environment for UI components"Highly experimental and WIP"
bs-react-intlreact-intl - React component library for internationalization"Work in Progress"
bs-nprogressNProgress - Slim progress barsComplete?
reason-apolloApollo client - GraphQL clientFull-featured
bs-websocketsWebSockets APIUnknown
bs-reason-apolloApollo client bindings with a focus on js interopComplete?

Backend (node)

NameDescriptionStatus
bs-nodeNode APIBarely started
bs-expressExpress - Web application frameworkUsable, Not complete, Unit Tested
bs-discord.jsDiscord.js - JS Discord APIFunctional but incomplete
bs-socket.iosocket.io - Event-based communicationMostly complete, "dead simple"
bs-spotify-web-apispotify-web-api-node - Spotify Web APIUnknown
bs-globnode-glob - File matching with glob patternsBasic, Usable
bs-nextNext.js - Server-rendered React application frameworkComplete?
bs-chalkChalk - Terminal string styling done rightArchived, undocumented, basic?
bs-puppeteerPuppeteer - API for Headless Chrome"work in progress, and most features probably don't work yet"
bs-mongodbMongoDB - Document-oriented database driver"preliminary", "need-driven"

Other platforms

NameDescriptionStatus
bs-react-nativeReact Native Native mobile application frameworkNearly usable
bucklescript-electronElectronCross-platform desktop application framework
bs-vscodeVisual Studio Code extension APIIncomplete
bs-atomAtom package APIBarely started

General purpose

NameDescriptionStatus
bs-momentMoment.js - Date processingUnknown
bs-immutablejsImmutable.js - Immutable collectionsUnknown, probably usable
bs-axiosAxios - Promise based HTTP client for the browser and node.jsBasic, Usable
bs-jsonLow-level JSON encoding and decodingUsable, Very experimental
bs-transit-jstransit.js - Marshaling"rudimentary"
bs-historyhistory - Cross-platform abstraction over the HTML history API"WIP"
bs-numeralNumeral.js - Formatting and manipulation of numbers"Work in progress"
bs-mostMost.js - Reactive programming toolkitAt least basic
bs-geofireGeoFire - Realtime location queries with FirebaseComplete, Maintained
bs-date-fnsdate-fns - Date utility libraryMostly complete

Testing

NameDescriptionStatus
bs-jestJestIncomplete, but fully functional
bs-react-test-rendererreact-test-rendererMostly complete?
bs-benchmarkjsBenchmark.jsVery very basic
bs-enzymeEnzyme - Testing utilities for React"Very experimental"

Libraries

Frontend (browser)

NameDescriptionStatus
bucklescript-teaImplementation of The Elm Architecture (ie. TEA, ya get it?)Usable but incomplete. Alpha maybe?
reprocessingHigh-level drawing library inspired by Processing"100% a work in progress"
tween.reReimplementation of tween.js in ReasonDemoable, Basic?
RegqlSimple Fetch-based GraphQL clientBasic

Backend (node)

Other platforms

NameDescriptionStatus
reason-react-native-navigation"Simple React Native navigation"Basic? Seems well documented
reason-nactActor library for Reason on node.jsComplete, well-documented

General purpose

NameDescriptionStatus
bs-batteriesBatteries - community-driven effort to standardize on an consistent, documented, and comprehensive development platform for the OCamlVery Basic (only Option, BatList, BatArray available), WIP
immutable-rePure Reason implementation of persistent immutable data structuresEarly alpha
reductiveRedux reimplementationProof of concept?
transducers.reClojure transducers in ReasonUnknown
bs-ocaml-protoc-jsonRuntime library for the ocaml-protocProtocol Buffers code generatorVery usable, unit + conformance tests
bs-re:vampSafe and functional API for JavaScript regexesFull-featured, but experimental
vowAlmost sound Promises for BucklescriptFull-featured, Documented
rebugPort of debug, a library for debug loggingBrowser-only, missing a few advanced features
rebaseMinimal, cross-platform, BuckleScript-first replacement base libraryBS only, incomplete, largely undocumented, untested and prone to change

Testing

NameDescriptionStatus
infinite-jestCross-platform native/bs test frameworkUsable, Alpha
ReSpectRSpec inspired test framework"still in a very early stage"

Tooling

NameDescriptionStatus
bucklescript-brunchBrunch plugin to compile Bucklescript codeUnknown
ocaml-language-serverLanguage Server Protocol implementation for OCamlFeature complete
vscode-reasonmlReason support for Visual Studio CodeFeature complete
reason-toolsRefmt in the browserContinuously improving
babel-plugin-transform-bucklescriptBabel postprocessing transformations for BuckleScript generated JavaScriptUnknown
bs-loaderBucklescript loader for WebpackUsable
jeasonConverts JavaScript it into really bad Reason code"crappy"
reasonOcaml skinAlpha? Very usable, but still also very much in flux
qndQuick and Dirty development builds for reasonUsable
grunt-bucklescriptGrunt pluginUnknown
ReasonablyTypedConverts Flow and TypeScript library definitions to Bucklescript interfacesBasic
ts2reConvert TypeScript type declaration files to Reason externals"super not ready for real use"
reason-scriptsCreate React App-like development environment setup scriptFeature-rich and well-supported
bucklescript-tea-starter-kitStarter kit for BuckleScript with TEA (The Elm Architecture)Fully working
rollup-plugin-bucklescriptrollup plugin for bucklescript complierFunctional 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!

About

[DEPRECATED] Index of available BuckleScript bindings

Topics

Resources

Stars

72 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors