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 static types for jQuery – less complete, more strongly typed
scalajs-pouchdb Static types for PouchDB
bootstrap-datepicker-facade Static types for bootstrap-datepicker
scalajs-google-maps Static types for google maps v3
scalajs-createjs Static types for CreateJS
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
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)

UI frameworks

scalajs-react Type-safe and Scala-friendly library over Facebook’s React.
scala-js-binding An all-Scala.js HTML binding library
scalajs-angular static types and complementary API for AngularJS
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

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

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