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 |
|
jquery-facade | A strongly-typed Scala.js facade 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 |
|
scaladget 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 bootstrapslider | Static types for Bootstrap-slider |
|
scaladget bootstrapnative | Static types for Bootstrap-native.js and Sortable.js |
|
scaladget lunr | Static types for Lunr |
|
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 |
|
plotly-scala | Scala bindings for plotly.js, including scala-js support |
|
scala-js-plotlyjs | Scala-js facade for plotly-js |
|
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 |
|
scommons-react | Scala.js facades for core React.js APIs, Hooks, Components and testing, uses scalajs-reactjs |
|
scommons-react-native | Scala.js facades for core react-native APIs, Components and testing, uses scommons-react |
|
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 |
|
angulate2 | Plugin and bindings for Angular 2+ development with Scala.js. |
|
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. |
|
ScalablyTyped have more open source Scala.js facades for some of your favorite JavaScript libraries, derived from DefinitelyTyped’s TypeScript definitions.
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