/scala-ts

:wrench: Scala datamodel transpiler

Primary LanguageScalaMIT LicenseMIT

Scala-TS

Scala-TS generate TypeScript from Scala.

Help to integrate REST-ful Scala backend and TypeScript frontend. Having defined Scala types returned by your endpoints you can easily generate TypeScript definitions for consuming these endpoints.

Usage

Scala-TS can be used either standalone or as a SBT plugin.

See:

Maven javadoc

Build manually

The core library and compiler plugin can be built using SBT.

sbt +core/publishLocal

The SBT plugin can also be built:

sbt '^ sbt-plugin/publishLocal'

Running tests: CI

The tests for the core library and compiler plugin can be executed.

sbt +core/test

The scripted tests for the SBT plugins can also be executed.

sbt ';^ sbt-plugin/testOnly ;^ sbt-plugin/scripted'

Considering a single scripted tests (e.g. simple), it can be executed interactively for development purpose.

export SCRIPTED_TEST="simple"
export PLUGIN_VERSION="0.5.7"
export SBT_VERSION="1.9.7"

cd "sbt-plugin/src/sbt-test/sbt-scala-ts/${SCRIPTED_TEST}"
sbt "-J-Dscala-ts.version=${PLUGIN_VERSION}" "-J-Dsbt.version=${SBT_VERSION}"

Publish on Sonatype:

./project/staging.sh

project sbt-plugin
^publishSigned
project sbt-plugin-idtlt
^publishSigned
project sbt-plugin-python
^publishSigned
project python
+publishSigned
project idtlt
+publishSigned
project core
+publishSigned

Credits

Many thanks to all the contributors.