Write Scala.js React apps just like you would in ES6
Clone or download
baank and shadaj Add support for colspan and rowspan (#192)
* Added support for colspan and rowspan

* Changed span, rowspan and colspant to be of Int type
Latest commit 2ed6c6c Oct 20, 2018
Permalink
Failed to load latest commit information.
core Fix #174, make sure providers can use manually defined Reader/Writer … Oct 15, 2018
coreIntellijSupport Bump the SBT plugin for building IntelliJ support (#179) Oct 15, 2018
docs Use the exact wording in enabling extensions (#181) Oct 6, 2018
docsMacros/src/main/scala/slinky/docs Rename the me.shadaj.slinky package to just slinky (#103) Jan 25, 2018
generator More aggressively inline attributes to reduce bundle size (#156) Jul 18, 2018
hot Support React.forwardRef API (#127) Apr 9, 2018
native Use a single root derivation memo for all typeclasses (#162) Sep 2, 2018
project Bump the SBT plugin for building IntelliJ support (#179) Oct 15, 2018
readWrite Support reading and writing scala.Array (#187) Oct 13, 2018
scalajsReactInterop Support Scala 2.13.0-M4 (#153) Aug 5, 2018
testRenderer Improve ReactComponentClass type specificity (#157) Jul 18, 2018
tests Fix #174, make sure providers can use manually defined Reader/Writer … Oct 15, 2018
vr Support Scala 2.13.0-M4 (#153) Aug 5, 2018
web Add support for colspan and rowspan (#192) Oct 20, 2018
.gitignore Try to fix bundlesize modifying package.json Sep 25, 2018
.travis.yml Try to fix bundlesize modifying package.json Sep 25, 2018
CHANGELOG.md Fix #174, make sure providers can use manually defined Reader/Writer … Oct 15, 2018
LICENSE Add MIT license Aug 6, 2017
README.md Cleanup docs site and drop example project in favor of Create React S… Sep 17, 2018
build.sbt Bump the SBT plugin for building IntelliJ support (#179) Oct 15, 2018
logo.png Add logo to README Aug 7, 2017
logo.svg Add logo to README Aug 7, 2017
package.json Check docs bundle size in Travis (#172) Sep 18, 2018
publish.sbt Go back to self-written CI publishing setup Nov 12, 2017
publish.sh Try to fix bundlesize modifying package.json Sep 25, 2018
secrets.tar.enc Go back to self-written CI publishing setup Nov 12, 2017

README.md

Write Scala.js React apps just like you would in ES6

Get started at slinky.shadaj.me

What is Slinky?

Slinky is a framework for writing React apps in Scala with an experience just like using ES6.

Slinky lets you:

  • Write React components in Scala with an API that mirrors vanilla React
  • Implement interfaces to other React libraries with automatic conversions between Scala and JS types
  • Write apps for React Native and React 360, including the ability to share code with web apps
  • Develop apps iteratively with included hot-reloading support

Contributing

Slinky is split up into several submodules:

  • core contains the React.js facades and APIs for creating components and interfaces to external components
  • web contains bindings to React DOM and definitions for the HTML/SVG tag API
  • native contains bindings to React Native and external component definitions for native UI elements
  • vr contains bindings to React 360 and external component definitions for VR UI elements
  • readWrite contains the Reader and Writer typeclasses used to persist state for hot reloading
  • hot contains the entrypoint for enabling hot-reloading
  • scalajsReactInterop implements automatic conversions between Slinky and Scala.js React types
  • testRenderer contains bindings to react-test-renderer for unit testing components
  • coreIntellijSupport contains IntelliJ-specific support for the @react macro annotation
  • tests contains the unit tests for the above modules (except native and vr which have local tests)
  • docs and docsMacros contains the documentation site, which is a Slinky app itself

To run the main unit tests, run sbt tests/test.