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