JavaScript library facades

JavaScript libraries for Scala.js

These facades wrap existing JavaScript libraries, giving you type safe access to their functionality. Some of the facades may only partially expose the underlying JavaScript library functionality, so make sure to check out the details. To quickly start using one of these libraries, just click on the dependency clipboard button to get the relevant SBT dependency definition.

Common JS libraries

Name Description Dependency
scala-js-dom Static types for the DOM API, plus a few extensions
scalajs-jquery Static types for jQuery
jquery-facade Alternate, more strongly-typed static types for jQuery
udash-jquery Alternate strongly typed facade for jQuery
jstree-facade A Scala.js facade for the jsTree jQuery library
scalajs-pouchdb Static types for PouchDB
scalajs-bootstrap Reactive Bootstrap components
bootstrap-datepicker-facade Static types for bootstrap-datepicker
scalajs-google-maps Static types for google maps v3
scalajs-createjs Static types for CreateJS
RxScala.js Idiomatic Scala Wrapper for RxJS
scalajs-ace Static types for Ace
threejs-facade Static types for Three.js 3D library
codemirror-facade Static types for Codemirror code editor
selectize-facade Static types for Selectize
scala-js-d3 Static types for D3.js
scaladget Static types for D3.js, Ace, Tooltipster, Bootstrap.js (and an API for the latter)
Paths.scala.js A library to generate SVG charts and shapes (wrapper over Paths.js)
YouTube embedded player Type safe and Scala friendly library for the embedded YouTube player API
scala-js-momentjs Moment.js facade
scalajs-highcharts Static types for Highcharts
scalajs-chart Type-safe and Scala-friendly library over Chart.js
scala-js-webrtc Easy to use and extend WebRTC wrappers
scalajs-jsjoda Static types for js-joda

UI frameworks

scalajs-react Type-safe and Scala-friendly library over Facebook’s React.
scalajs-reactjs Develop React applications in Scala with APIs close to the original: react, react-router, and react-redux facade
scala-js-binding An all-Scala.js HTML binding library
scalajs-angular Static types and complementary API for AngularJS with TodoMvc example
scalajs-angulate Another binding to AngularJS with enhancements
scalajs-vue Scala.js bindings for Vue.js and an example application
scalajs-ractive Scala.js bindings for Ractive.js and an example application

Other libraries

scalajs-videojs Bindings for Video.js
scalajs-marked Bindings for Marked, Highlight.js and Tab Override
scala-js-vaadin-components Static types for Vaadin Components
scala-js-chrome Static types for Chrome App and Extension APIs
scalajs-velocity Scala.js bindings for Velocity.js animation library and example applications
QRCodeDecoder Scala.Js wrapper for QRCodeDecoder JS library for decoding QR codes.
Paper-Scala-js A Scala.js binding for Paper.js - The Swiss Army Knife of Vector Graphics Scripting.

If you didn’t find a facade for the library you’d like to use, it’s quite easy to do one yourself. Check out the facade documentation and the TypeScript conversion tool. You can also skip whole facade-business and just call JavaScript APIs dynamically, without type-checking, the same way you do it when programming in JavaScript itself.

Additions and corrections to this section may be reported through GitHub issues. Please include Name, Url, Description and Dependency