Giter Site home page Giter Site logo

workbench-example-app's Introduction

Example Scala.js application

This is a slightly less barebone example of an application written in Scala.js. In particular, it links in libraries that are indispensible in being productive working with Scala.js.

Get started

To get started, run sbt ~fastOptJS in this example project. This should download dependencies and prepare the relevant javascript files. If you open localhost:12345/target/scala-2.11/classes/index-dev.html in your browser, it will show you an animated Sierpinski triangle (live demo). You can then edit the application and see the updates be sent live to the browser without needing to refresh the page.

The optimized version

Run sbt fullOptJS and open up index-opt.html for an optimized (~200kb) version of the final application, useful for final publication.

Dodge the Dots

Take a look at the dodge-the-dots branch in the git repository if you want to see a slightly more complex application that was made in 30 minutes using this skeleton. Similar steps can be used for development or publication. There's a live demo here.

Space Invaders

There's also a space-invaders branch, also made in 30 minutes, with its own live demo.

TodoMVC

The todomvc branch contains an implementation of the TodoMVC example application, which is used to compare how the exact same application would be implemented using different languages and frameworks. This application makes heavy use of Scalatags and Scala.Rx, with heavy use of the DOM via scala-js-dom, making it a good example of how reactive web pages could be built using ScalaJS, as well as use of standalone ScalaJS libraries. live demo

Ray Tracer

The ray-tracer branch contains a simple ray-tracer written using Scala.js, with a live demo.

Weather Map

The mapper branch contains an application that renders a heat map of the earth, using data pulled from OpenWeatherMap, with a live demo

Autowire

The autowire branch contains a small sample client-server application, using Scala.js on the client and Spray on the server. The readme on that branch contains instructions on how to run it.

workbench-example-app's People

Contributors

auxf5 avatar fabianpage avatar lihaoyi avatar sjrd avatar stewsquared avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

workbench-example-app's Issues

Akka-http demo doesn't compile

I'm getting error when trying to compile akka-http demo:

workbench-example-app/example/jvm/src/main/scala/example/Server.scala:56: type mismatch; [error] found : akka.http.scaladsl.server.Directive1[String] [error] (which expands to) akka.http.scaladsl.server.Directive[(String,)] [error] required: akka.http.scaladsl.server.RequestContext => ? [error] extract(entity(as[String])) { e => [error] ^ [error] one error found

Bind to localhost/127.0.0.1:12345 failed

Jozsefs-MBP:workbench-example-app joco$ git checkout todomvc
Branch todomvc set up to track remote branch todomvc from origin.
Switched to a new branch 'todomvc'
Jozsefs-MBP:workbench-example-app joco$ sbt
[info] Loading global plugins from /Users/joco/.sbt/0.13/plugins
[info] Loading project definition from /Users/joco/dev/scala.js/workbench-example-app/project
[info] Updating {file:/Users/joco/dev/scala.js/workbench-example-app/project/}workbench-example-app-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to Example (in build file:/Users/joco/dev/scala.js/workbench-example-app/)
> [WARN] [09/24/2016 19:07:36.875] [Workbench-System-akka.actor.default-dispatcher-2] [akka://Workbench-System/user/IO-HTTP/listener-0] Bind to localhost/127.0.0.1:12345 failed
[INFO] [09/24/2016 19:07:36.885] [Workbench-System-akka.actor.default-dispatcher-4] [akka://Workbench-System/system/IO-TCP/selectors/$a/0] Message [akka.dispatch.sysmsg.DeathWatchNotification] from Actor[akka://Workbench-System/system/IO-TCP/selectors/$a/0#-160808162] to Actor[akka://Workbench-System/system/IO-TCP/selectors/$a/0#-160808162] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Unresolved dependency

Get this when running sbt ~fastOptJS:

[info] Loading project definition from E:\Projects\workbench-example-app\project
[info] Updating {file:/E:/Projects/workbench-example-app/project/}workbench-example-app-build...
[info] Resolving org.scala-js#sbt-scalajs;0.6.6 ...
[info] Resolving org.scala-js#scalajs-tools_2.10;0.6.6 ...
[info] Resolving org.scala-lang#scala-library;2.10.4 ...
[info] Resolving org.scala-js#scalajs-ir_2.10;0.6.6 ...
[info] Resolving com.google.javascript#closure-compiler;v20130603 ...
[info] Resolving args4j#args4j;2.0.16 ...
[info] Resolving com.google.guava#guava;14.0.1 ...
[info] Resolving com.google.protobuf#protobuf-java;2.4.1 ...
[info] Resolving org.json#json;20090211 ...
[info] Resolving com.google.code.findbugs#jsr305;1.3.9 ...
[info] Resolving com.googlecode.json-simple#json-simple;1.1.1 ...
[info] Resolving junit#junit;4.10 ...
[info] Resolving org.hamcrest#hamcrest-core;1.1 ...
[info] Resolving org.scala-js#scalajs-js-envs_2.10;0.6.6 ...
[info] Resolving io.apigee#rhino;1.7R5pre4 ...
[info] Resolving org.webjars#envjs;1.2 ...
[info] Resolving org.scala-js#scalajs-sbt-test-adapter_2.10;0.6.6 ...
[info] Resolving org.scala-sbt#test-interface;1.0 ...
[info] Resolving com.lihaoyi#workbench;0.2.3 ...
[info] Resolving com.lihaoyi#workbench;0.2.3 ...
[warn] module not found: com.lihaoyi#workbench;0.2.3
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.lihaoyi/workbench/scala_2.10/sbt_0.13/0.2.3/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.lihaoyi/workbench/scala_2.10/sbt_0.13/0.2.3/ivys/ivy.xml
[warn] ==== local: tried
[warn] C:\Users\andrewhe.ivy2\local\com.lihaoyi\workbench\scala_2.10\sbt_0.13\0.2.3\ivys\ivy.xml
[warn] ==== artifactory-ivy-proxy-releases: tried
[warn] https://theluggage-agct.gray.net/artifactory/ivy-remote-repo/com.lihaoyi/workbench/scala_2.10/sbt_0.13/0.2.3/ivys/ivy.xml
[warn] ==== artifactory-maven-proxy-releases: tried
[warn] https://theluggage-agct.gray.net/artifactory/maven-remote-repo/com/lihaoyi/workbench_2.10_0.13/0.2.3/workbench-0.2.3.pom
[info] Resolving org.scala-sbt#sbt;0.13.7 ...
[info] Resolving org.scala-sbt#main;0.13.7 ...
[info] Resolving org.scala-sbt#actions;0.13.7 ...
[info] Resolving org.scala-sbt#classpath;0.13.7 ...
[info] Resolving org.scala-lang#scala-compiler;2.10.4 ...
[info] Resolving org.scala-lang#scala-reflect;2.10.4 ...
[info] Resolving org.scala-sbt#launcher-interface;0.13.7 ...
[info] Resolving org.scala-sbt#interface;0.13.7 ...
[info] Resolving org.scala-sbt#io;0.13.7 ...
[info] Resolving org.scala-sbt#control;0.13.7 ...
[info] Resolving org.scala-sbt#completion;0.13.7 ...
[info] Resolving org.scala-sbt#collections;0.13.7 ...
[info] Resolving jline#jline;2.11 ...
[info] Resolving org.scala-sbt#api;0.13.7 ...
[info] Resolving org.scala-sbt#compiler-integration;0.13.7 ...
[info] Resolving org.scala-sbt#incremental-compiler;0.13.7 ...
[info] Resolving org.scala-sbt#logging;0.13.7 ...
[info] Resolving org.scala-sbt#process;0.13.7 ...
[info] Resolving org.scala-sbt#relation;0.13.7 ...
[info] Resolving org.scala-sbt#compile;0.13.7 ...
[info] Resolving org.scala-sbt#persist;0.13.7 ...
[info] Resolving org.scala-tools.sbinary#sbinary_2.10;0.4.2 ...
[info] Resolving org.scala-sbt#classfile;0.13.7 ...
[info] Resolving org.scala-sbt#compiler-ivy-integration;0.13.7 ...
[info] Resolving org.scala-sbt#ivy;0.13.7 ...
[info] Resolving org.scala-sbt#cross;0.13.7 ...
[info] Resolving org.scala-sbt.ivy#ivy;2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f ...
[info] Resolving com.jcraft#jsch;0.1.46 ...
[info] Resolving org.json4s#json4s-native_2.10;3.2.10 ...
[info] Resolving org.json4s#json4s-core_2.10;3.2.10 ...
[info] Resolving org.json4s#json4s-ast_2.10;3.2.10 ...
[info] Resolving com.thoughtworks.paranamer#paranamer;2.6 ...
[info] Resolving org.scala-lang#scalap;2.10.0 ...
[info] Resolving org.spire-math#jawn-parser_2.10;0.6.0 ...
[info] Resolving org.spire-math#json4s-support_2.10;0.6.0 ...
[info] Resolving org.scala-sbt#run;0.13.7 ...
[info] Resolving org.scala-sbt#task-system;0.13.7 ...
[info] Resolving org.scala-sbt#tasks;0.13.7 ...
[info] Resolving org.scala-sbt#tracking;0.13.7 ...
[info] Resolving org.scala-sbt#cache;0.13.7 ...
[info] Resolving org.scala-sbt#testing;0.13.7 ...
[info] Resolving org.scala-sbt#test-agent;0.13.7 ...
[info] Resolving org.scala-sbt#main-settings;0.13.7 ...
[info] Resolving org.scala-sbt#apply-macro;0.13.7 ...
[info] Resolving org.scala-sbt#command;0.13.7 ...
[info] Resolving org.scala-sbt#logic;0.13.7 ...
[info] Resolving org.scala-sbt#compiler-interface;0.13.7 ...
[info] Resolving org.scala-sbt#precompiled-2_8_2;0.13.7 ...
[info] Resolving org.scala-sbt#precompiled-2_9_2;0.13.7 ...
[info] Resolving org.scala-sbt#precompiled-2_9_3;0.13.7 ...
[info] Resolving org.scala-lang#jline;2.10.4 ...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.lihaoyi#workbench;0.2.3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] com.lihaoyi:workbench:0.2.3 (sbtVersion=0.13, scalaVersion=2.10)
[warn]
[warn] Note: Unresolved dependencies path:
[warn] com.lihaoyi:workbench:0.2.3 (sbtVersion=0.13, scalaVersion=2.10) (E:\Projects\workbench-example-app\project\build.sbt#L3-4)
[warn] +- default:workbench-example-app-build:0.1-SNAPSHOT (sbtVersion=0.13, scalaVersion=2.10)
sbt.ResolveException: unresolved dependency: com.lihaoyi#workbench;0.2.3: not found
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:278)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:175)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:157)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:128)
at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:56)
at sbt.IvySbt$$anon$4.call(Ivy.scala:64)
at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
at xsbt.boot.Using$.withResource(Using.scala:10)
at xsbt.boot.Using$.apply(Using.scala:9)
at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
at xsbt.boot.Locks$.apply0(Locks.scala:31)
at xsbt.boot.Locks$.apply(Locks.scala:28)
at sbt.IvySbt.withDefaultLogger(Ivy.scala:64)
at sbt.IvySbt.withIvy(Ivy.scala:123)
at sbt.IvySbt.withIvy(Ivy.scala:120)
at sbt.IvySbt$Module.withModule(Ivy.scala:151)
at sbt.IvyActions$.updateEither(IvyActions.scala:157)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1318)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1315)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1345)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1343)
at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1348)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1342)
at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
at sbt.Classpaths$.cachedUpdate(Defaults.scala:1360)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1300)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1275)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:235)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
error sbt.ResolveException: unresolved dependency: com.lihaoyi#workbench;0.2.3: not found

Basic get started does not work

Hey, I am trying to do the get started example, but getting the following error:

java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.length()" because "this.text" is null
Project loading failed:

Please help.

Link refs 2.10

The link for localhost in README should say 2.11 not 2.10 now that you upgraded the scala version.

Suggestion: Submiting todomvc example to the curation at http://todomvc.com/

It would be nice to have the todomvc example be part of the 'Compiled-to-JS' list at todomvc.com. If you submit it, they can review it and will at least consider putting it into their collection of examples under their wiki.

There are instructions on how to submit it via the 'getting started' heading on the lower lefthand side of the page.

Many developers don't realize how capable the current version of scala.js actually is. This could help bring more visibility to the project.

Implicit conversions not applicable for the TodoMVC

Hi,
the todoMVC example does not compile due to an implicit conversion conflict:

found   : org.scalajs.dom.HTMLInputElement
[error]  required: scalatags.JsDom.Node
[error]     (which expands to)  scalatags.generic.Node[org.scalajs.dom.Element]
[error] Note that implicit conversions are not applicable because they are ambiguous:
[error]  both method bindElement in trait LowPriorityImplicits of type (e: org.scalajs.dom.Element)scalatags.generic.Node[org.scalajs.dom.Element]
[error]  and method NumericNode in object JsDom of type [T](u: T)(implicit evidence$1: Numeric[T])scalatags.JsDom.StringNode
[error]  are possible conversion functions from org.scalajs.dom.HTMLInputElement to scalatags.JsDom.Node
[error]             inputBox,

Actor name is not unique

I use IntelliJ IDEA for development and bash terminal for SBT. Occasionally, I can't run both because it will attempt to create two Akka actors with same name. Let me know if it doesn't make sense for you.

The readme is outdated

It still references

  • A very old URL to the lampepfl/scala-js repo
  • packageJS and optimizeJS instead of fastOptJS and fullOptJS

(it might also be a good idea to set the Scala version to 2.11.1)

build problems

Quite new to both scala and sbt I've been successful with a project of my own using your hands-on-scala-js:
my source and live demo

So now I wanted to move on to the next project but it builds neither with a copy of my build.sbt nor with yours, neither on my mac, nor with github's powershell on windows nor with github's bash.

Your project does compile with github's powershell on windows, but not with github's bash:

 ~/Documents/GitHub/workbench-example-app (master)
$ sbt ~fastOptJS
[info] Loading project definition from C:\Users\MyName\Documents\GitHub\workbench-example-app\project
[info] Set current project to Example (in build file:/C:/Users/MyName/Documents/GitHub/workbench-example-app/)
[error] Expected key
[error] Expected '*'
[error] c:/Users/MyName
[error]   ^

My first project used to compile on my mac, but doesn't on windows, even not with github's powershell:

C:\Users\MyName\Documents\GitHub\DiBL\web\grids [master +1 ~0 -0 !]> sbt ~fastOptJS
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
C:\Users\MyName\Documents\GitHub\DiBL\web\grids\build.sbt:1: error: not found: value emitSourceMaps
(emitSourceMaps in fullOptJS) := false
 ^
[error] Type error in expression

Some version info:

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode)

sbt launcher version 0.13.8

Any suggestions?

Unresolved Dependencies

Hi,

Just tried to clone the autowire branch and got this issue:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.jsawn#jawn-parser_2.11;0.5.4: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

Cheers

Move to scalatags 0.3.8

Hi,
some implicit conversion no longer work in the TodoMVC example with the 0.3.8 version of scalatags.

Mathieu

refreshBrowsers should work in jvm-js-shared example

The refreshBrowsers feature does not work in the jvm-js-shared branch example.
When sbt is run using ~re-start the expected behavior is that the browser reloads after a change to the JS-file. However, a manual refresh is needed.

I assume this is because refreshBrowsers is by default triggered after fastOptJS, but this is too early and we would need a trigger after the server restarted.
However, what surprises me that if I make another the change the refresh does not pick up the first change.

Framework

Hi,
do you plan to embed the very useful Framework object in any lib ? For now, I have no other option than copy / paste it in my project.

Thanks

Master has dependencies problem

if I check out master when I run sbt I have the following dependecies that are not found

error sbt.ResolveException: unresolved dependency: io.spray#spray-can;1.3.0: not found
[error] unresolved dependency: io.spray#spray-routing;1.3.0: not found
[error] unresolved dependency: com.typesafe.play#play-json_2.10;2.2.2: not found

Not able to start autowire example

I'm not able to start the example as instructed in the README:

> sen@host:~/temp/workbench-example-app$ sbt ~re-start
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
[info] Loading global plugins from /home/sen/.sbt/0.13/plugins
[info] Loading project definition from /home/sen/temp/workbench-example-app/project
[info] Set current project to Example (in build file:/home/sen/temp/workbench-example-app/)
[INFO] [09/09/2014 15:33:31.399] [SystemLol-akka.actor.default-dispatcher-4] [akka://SystemLol/user/IO-HTTP/listener-0] Bound to localhost/127.0.0.1:12345
[error] Not a valid command: re-start
[error] Not a valid project ID: re-start
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: re-start (similar: state, startYear, cross-target)
[error] re-start
[error]         ^
1. Waiting for source changes... (press enter to interrupt)

build.sbt with multiple project format

When loading the project with IntelliJ it highlights in red the enablePlugin statement.

Wouldn't it be better to use the multi-project format which is now the recommended way.

import com.lihaoyi.workbench.Plugin._
import sbt.Keys._

workbenchSettings

lazy val example = (project in file("."))
  .enablePlugins(ScalaJSPlugin)
  .settings(
    name := "Example",
    version := "0.1-SNAPSHOT",
    scalaVersion := "2.11.7",
    libraryDependencies ++= Seq(
      "org.scala-js" %%% "scalajs-dom" % "0.8.2",
      "com.lihaoyi" %%% "scalatags" % "0.5.4"
    )
  )

updateBrowsers <<= updateBrowsers.triggeredBy(fastOptJS in Compile)

bootSnippet := "example.ScalaJSExample().main(document.getElementById('canvas'));"

Basic get started does not work

I did the get started example and getting following error:

[error] (compile:compile) java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.length()" because "this.text" is null

I have a plain macOS setup with Java 11 and sbt. Other Scala projects based on sbt are running fine.

Cheers,
Martin

How to change the reference to fastopt.js to opt.js in production

hey @lihaoyi
First of all thanks for educating to many of us. I am working through example for server and client and in https://github.com/lihaoyi/workbench-example-app/blob/autowire-akka-http/example/jvm/src/main/scala/example/Server.scala#L21 I found

script(`type`:="text/javascript", src:="/client-fastopt.js")

This is fine for development, but when using sbt-native-packager, this will break because the file name renames to client-opt.js

> universal:packageBin
[info] Packaging /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/server_2.12-0.1-SNAPSHOT-sources.jar ...
[info] Done packaging.
[info] Updating {file:/Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/}server...
[info] Resolving jline#jline;2.14.1 ...
[info] Done updating.
[info] Main Scala API documentation to /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/api...
[info] Wrote /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/server_2.12-0.1-SNAPSHOT.pom
[info] Packaging /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/server_2.12-0.1-SNAPSHOT-web-assets.jar ...
[info] Compiling 3 Scala sources to /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/classes...
[info] Done packaging.
model contains 5 documentable templates
[info] Packaging /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/server_2.12-0.1-SNAPSHOT.jar ...
[info] Done packaging.
[info] Main Scala API documentation successful.
[info] Packaging /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/server/target/scala-2.12/server_2.12-0.1-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] Wrote /Users/Harit.Himanshu/IdeaProjects/q2/todoMvc-akka-http-scalajs/shared/.jvm/target/scala-2.12/shared_2.12-0.1-SNAPSHOT.pom
[success] Total time: 3 s, completed Jan 17, 2017 3:58:44 PM
>

and

➜  scala-2.12 git:(master) ✗ ls                                                                                                         │
api                                     server_2.12-0.1-SNAPSHOT-sources.jar    server_2.12-0.1-SNAPSHOT.pom                            │
classes                                 server_2.12-0.1-SNAPSHOT-web-assets.jar                                                         │
server_2.12-0.1-SNAPSHOT-javadoc.jar    server_2.12-0.1-SNAPSHOT.jar                                                                    │
➜  scala-2.12 git:(master) ✗ jar -tvf server_2.12-0.1-SNAPSHOT-web-assets.jar                                                           │
    25 Tue Jan 17 15:58:42 PST 2017 META-INF/MANIFEST.MF                                                                                │
     0 Tue Jan 17 15:58:42 PST 2017 public/                                                                                             │
110345 Tue Jan 17 15:51:50 PST 2017 public/client-opt.js                                                                                │
   128 Tue Jan 17 15:58:40 PST 2017 public/client-launcher.js                                                                           │

How can we fix this? Thanks a lot again

todomvc compilation problem: This version (0.5.5) of Scala.js IR is not supported.

Any suggestions? (I know very little scala and am not too familiar with sbt).

Full error:

java.io.IOException: This version (0.5.5) of Scala.js IR is not supported. Supported versions are: 0.5.0, 0.5.2, 0.5.3
    at scala.scalajs.ir.InfoSerializers$Deserializer.readHeader(InfoSerializers.scala:172)
    at scala.scalajs.ir.InfoSerializers$Deserializer.deserializeFull(InfoSerializers.scala:120)
    at scala.scalajs.ir.InfoSerializers$.deserializeVersionFullInfo(InfoSerializers.scala:43)
    at scala.scalajs.ir.InfoSerializers$.deserializeFullInfo(InfoSerializers.scala:35)
    at scala.scalajs.tools.io.VirtualSerializedScalaJSIRFile$class.info(VirtualFiles.scala:128)
    at scala.scalajs.tools.io.FileVirtualScalaJSIRFile.info(FileVirtualFiles.scala:143)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$PersistentIRFile.updateFile(ScalaJSOptimizer.scala:443)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$PersistentState.getPersistentIRFile(ScalaJSOptimizer.scala:403)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$$anonfun$scala$scalajs$tools$optimizer$ScalaJSOptimizer$$readAllData$1.apply(ScalaJSOptimizer.scala:136)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$$anonfun$scala$scalajs$tools$optimizer$ScalaJSOptimizer$$readAllData$1.apply(ScalaJSOptimizer.scala:136)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.AbstractTraversable.map(Traversable.scala:105)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer.scala$scalajs$tools$optimizer$ScalaJSOptimizer$$readAllData(ScalaJSOptimizer.scala:136)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$$anonfun$2.apply(ScalaJSOptimizer.scala:69)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$$anonfun$2.apply(ScalaJSOptimizer.scala:69)
    at scala.scalajs.tools.optimizer.IncOptimizer$.logTime(IncOptimizer.scala:731)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer.optimizeIR(ScalaJSOptimizer.scala:68)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer$$anonfun$optimizeCP$1.apply$mcV$sp(ScalaJSOptimizer.scala:56)
    at scala.scalajs.tools.io.CacheUtils$.cached(CacheUtils.scala:39)
    at scala.scalajs.tools.optimizer.ScalaJSOptimizer.optimizeCP(ScalaJSOptimizer.scala:54)
    at scala.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$21.apply(ScalaJSPluginInternal.scala:194)
    at scala.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$21.apply(ScalaJSPluginInternal.scala:181)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
[error] (compile:fastOptJS) java.io.IOException: This version (0.5.5) of Scala.js IR is not supported. Supported versions are: 0.5.0, 0.5.2, 0.5.3

TodoMVC sources

Hi,
I saw the impressive demo you did at the Scaladays and I would like to get the TodoMVC sources but I cannot find it. Is it available on any repository ?

Thanks
Mathieu

todomvc branch - java.io.IOException: This version (0.6.6) of Scala.js IR is not supported.

Jozsefs-MBP:workbench-example-app joco$ git status
On branch todomvc
Your branch is up-to-date with 'origin/todomvc'.
nothing to commit, working directory clean
Jozsefs-MBP:workbench-example-app joco$ sbt
[info] Loading global plugins from /Users/joco/.sbt/0.13/plugins
[info] Loading project definition from /Users/joco/dev/scala.js/workbench-example-app/project
[info] Set current project to Example (in build file:/Users/joco/dev/scala.js/workbench-example-app/)
> [INFO] [09/24/2016 19:23:20.652] [Workbench-System-akka.actor.default-dispatcher-4] [akka://Workbench-System/user/IO-HTTP/listener-0] Bound to localhost/127.0.0.1:12345
> fastOptJS
[warn] Scala version was updated by one of library dependencies:
[warn]  * org.scala-lang:scala-library:2.11.4 -> 2.11.5
[warn] To force scalaVersion, add the following:
[warn]  ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
[warn] Run 'evicted' to see detailed eviction warnings
[info] Fast optimizing /Users/joco/dev/scala.js/workbench-example-app/target/scala-2.11/example-fastopt.js
[info] workbench: Checking example-fastopt.js
[info] workbench: Checking example-jsdeps.js
[info] workbench: Refreshing http://localhost:12345/target/scala-2.11/example-fastopt.js
[trace] Stack trace suppressed: run last compile:fastOptJS for the full output.
[error] (compile:fastOptJS) java.io.IOException: Failed to deserialize info of /Users/joco/dev/scala.js/workbench-example-app/target/scala-2.11/classes/example/Point$.sjsir
[error] Total time: 1 s, completed Sep 24, 2016 7:23:26 PM
> last compile:fastOptJS
[info] Fast optimizing /Users/joco/dev/scala.js/workbench-example-app/target/scala-2.11/example-fastopt.js
java.io.IOException: Failed to deserialize info of /Users/joco/dev/scala.js/workbench-example-app/target/scala-2.11/classes/example/Point$.sjsir
    at org.scalajs.core.tools.io.VirtualSerializedScalaJSIRFile$class.info(VirtualFiles.scala:135)
    at org.scalajs.core.tools.io.FileVirtualScalaJSIRFile.info(FileVirtualFiles.scala:157)
    at org.scalajs.core.tools.optimizer.Linker$PersistentIRFile.updateFile(Linker.scala:309)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$16.apply(Linker.scala:271)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$16.apply(Linker.scala:268)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.AbstractTraversable.map(Traversable.scala:105)
    at org.scalajs.core.tools.optimizer.Linker.org$scalajs$core$tools$optimizer$Linker$$updateFiles(Linker.scala:268)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$1.apply(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$1.apply(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.package$.logTime(package.scala:19)
    at org.scalajs.core.tools.optimizer.Linker.link(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$1.apply(ScalaJSOptimizer.scala:106)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$1.apply(ScalaJSOptimizer.scala:106)
    at org.scalajs.core.tools.optimizer.package$.logTime(package.scala:19)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeIR(ScalaJSOptimizer.scala:105)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeIR(ScalaJSOptimizer.scala:89)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$optimizeCP$1.apply$mcV$sp(ScalaJSOptimizer.scala:65)
    at org.scalajs.core.tools.io.CacheUtils$.cached(CacheUtils.scala:41)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeCP(ScalaJSOptimizer.scala:63)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$14.apply(ScalaJSPluginInternal.scala:145)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$14.apply(ScalaJSPluginInternal.scala:129)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: This version (0.6.6) of Scala.js IR is not supported. Supported versions are: 0.6.0
    at org.scalajs.core.ir.InfoSerializers$Deserializer.readHeader(InfoSerializers.scala:149)
    at org.scalajs.core.ir.InfoSerializers$Deserializer.deserialize(InfoSerializers.scala:100)
    at org.scalajs.core.ir.InfoSerializers$.deserializeWithVersion(InfoSerializers.scala:35)
    at org.scalajs.core.ir.InfoSerializers$.deserialize(InfoSerializers.scala:31)
    at org.scalajs.core.tools.io.VirtualSerializedScalaJSIRFile$class.info(VirtualFiles.scala:132)
    at org.scalajs.core.tools.io.FileVirtualScalaJSIRFile.info(FileVirtualFiles.scala:157)
    at org.scalajs.core.tools.optimizer.Linker$PersistentIRFile.updateFile(Linker.scala:309)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$16.apply(Linker.scala:271)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$16.apply(Linker.scala:268)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.AbstractTraversable.map(Traversable.scala:105)
    at org.scalajs.core.tools.optimizer.Linker.org$scalajs$core$tools$optimizer$Linker$$updateFiles(Linker.scala:268)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$1.apply(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.Linker$$anonfun$1.apply(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.package$.logTime(package.scala:19)
    at org.scalajs.core.tools.optimizer.Linker.link(Linker.scala:49)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$1.apply(ScalaJSOptimizer.scala:106)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$1.apply(ScalaJSOptimizer.scala:106)
    at org.scalajs.core.tools.optimizer.package$.logTime(package.scala:19)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeIR(ScalaJSOptimizer.scala:105)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeIR(ScalaJSOptimizer.scala:89)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer$$anonfun$optimizeCP$1.apply$mcV$sp(ScalaJSOptimizer.scala:65)
    at org.scalajs.core.tools.io.CacheUtils$.cached(CacheUtils.scala:41)
    at org.scalajs.core.tools.optimizer.ScalaJSOptimizer.optimizeCP(ScalaJSOptimizer.scala:63)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$14.apply(ScalaJSPluginInternal.scala:145)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$14.apply(ScalaJSPluginInternal.scala:129)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (compile:fastOptJS) java.io.IOException: Failed to deserialize info of /Users/joco/dev/scala.js/workbench-example-app/target/scala-2.11/classes/example/Point$.sjsir
>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.