All Projects → vmunier → Play Scalajs.g8

vmunier / Play Scalajs.g8

Licence: apache-2.0
Giter8 template to get started with Play and Scala.js.

Programming Languages

scala
5932 projects
scalajs
39 projects

Projects that are alternatives of or similar to Play Scalajs.g8

Aton
Open web computer laboratory administrator
Stars: ✭ 15 (-96.35%)
Mutual labels:  play-framework
vos whatsapp
vangav open source - whatsapp; generated using vangav backend:
Stars: ✭ 14 (-96.59%)
Mutual labels:  play-framework
java-play-angular-seed
🍁 Java Play 2.7.x + Angular 8 with Angular CLI seed project with full-fledged build process
Stars: ✭ 53 (-87.1%)
Mutual labels:  play-framework
tap
Text Analytics Pipeline (TAP)
Stars: ✭ 17 (-95.86%)
Mutual labels:  play-framework
play-angular-typescript.g8
A giter8 template for a Play Angular 4 Typescript application
Stars: ✭ 91 (-77.86%)
Mutual labels:  play-framework
helloworld-web
Hello World web application in 39 different ways in Java
Stars: ✭ 18 (-95.62%)
Mutual labels:  play-framework
address-index-api
Address Index is an application which resolves addresses
Stars: ✭ 26 (-93.67%)
Mutual labels:  play-framework
Swagger Play
Stars: ✭ 320 (-22.14%)
Mutual labels:  play-framework
play2-sockjs
A SockJS server implementation for Play Framework.
Stars: ✭ 60 (-85.4%)
Mutual labels:  play-framework
slim-play
Slim Play app
Stars: ✭ 76 (-81.51%)
Mutual labels:  play-framework
play-liquibase
Play Liquibase Module
Stars: ✭ 18 (-95.62%)
Mutual labels:  play-framework
exam
Electronic exam software for higher education
Stars: ✭ 13 (-96.84%)
Mutual labels:  play-framework
play-slick3-steps
Example app using scala Play Framework and Slick
Stars: ✭ 64 (-84.43%)
Mutual labels:  play-framework
playwarts
WartRemover warts for Play Framework.
Stars: ✭ 23 (-94.4%)
Mutual labels:  play-framework
Boilerplay
Using the latest technology in the Scala ecosystem, Boilerplay is a reactive web application built on Play Framework, ScalaJS, Silhouette, Sangria/GraphQL, and PostgreSQL. It provides a good starting point for whatever you want to build.
Stars: ✭ 279 (-32.12%)
Mutual labels:  play-framework
playframework
Gradle Play Support
Stars: ✭ 41 (-90.02%)
Mutual labels:  play-framework
JATOS
Just Another Tool for Online Studies
Stars: ✭ 60 (-85.4%)
Mutual labels:  play-framework
Play Pac4j
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 375 (-8.76%)
Mutual labels:  play-framework
Ping Play
BigPipe streaming for the Play Framework
Stars: ✭ 315 (-23.36%)
Mutual labels:  play-framework
protobuf-compiler
online protobuf compiler
Stars: ✭ 24 (-94.16%)
Mutual labels:  play-framework

Play Framework with Scala.js

License Gitter

This is a Giter8 template showing how you can integrate a Play project with a Scala.js project.

Run the application

$ sbt new vmunier/play-scalajs.g8
$ cd play-scalajs
$ sbt
> project server
> run
$ open http://localhost:9000

The application contains three directories:

  • server Play application (server side)
  • client Scala.js application (client side)
  • shared Scala code that you want to share between the server and the client

Features

The application uses the sbt-web-scalajs sbt plugin and the scalajs-scripts library.

  • Run your application like a regular Play app
    • compile triggers the Scala.js fastOptJS task
    • run triggers the Scala.js fastOptJS task on page refresh
    • ~compile, ~run, continuous compilation is also available
  • Compilation errors from the Scala.js projects are also displayed in the browser
  • Set scalaJSStage to FullOptStage when packaging your application for fullOptJS to be executed instead of fastOptJS:
    sbt 'set scalaJSStage in Global := FullOptStage' dist
    
  • Source maps
    • Open your browser dev tool to set breakpoints or to see the guilty line of code when an exception is thrown.
    • Source Maps are enabled in both fastOptJS and fullOptJS by default. If you wish to disable Source Maps in fullOptJS, then add scalaJSLinkerConfig in (Compile, fullOptJS) ~= (_.withSourceMap(false)) in the Scala.js projects.

Load the server project at sbt startup

Add the following line to build.sbt if you wish to load the server project at sbt startup:

onLoad in Global := (onLoad in Global).value.andThen(state => "project server" :: state)

Cleaning

The root project aggregates all the other projects by default. Use this root project to clean all the projects at once.

$ sbt
> clean

IDE integration

IntelliJ

In IntelliJ, open Project wizard, select Import Project, choose the root folder and click OK. Select Import project from external model option, choose SBT project and click Next. Select additional import options and click Finish. Make sure you use the IntelliJ Scala Plugin v2017.2.7 or higher. There are known issues with prior versions of the plugin.

Eclipse

  1. Add addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.4") to project/plugins.sbt
  2. Add the following lines to the server's settings in build.sbt:
// Compile the project before generating Eclipse files, so that generated .scala or .class files for Twirl templates are present
EclipseKeys.preTasks := Seq(compile in Compile)
  1. Run $ sbt "eclipse with-source=true"
  2. Inside Eclipse, File/Import/General/Existing project..., choose the root folder. Uncheck the third checkbox to only import client, server and shared/.jvm, click Finish. Alt text
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].