Skip to content
This repository was archived by the owner on Nov 24, 2023. It is now read-only.

Commit f29829d

Browse files
committed
Misc: Use Scala 3 syntax
1 parent 742ad01 commit f29829d

35 files changed

+49
-50
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Now you have `App.scala` running in your browser, and any code changes you make
1717

1818
Note that this TodoMVC app requires a couple CSS files. If the styles are all broken when you run it locally, make sure the CSS is loaded properly using browser dev tools. Shouldn't be a problem, but mentioning this just in case, since there's no web server bundled with this project.
1919

20+
These examples are published for Scala 3, however they do not use any new Scala 3 features. If you simply change the Scala version in `build.sbt` and `index-{fast,full}opt.html` files, and change all the wildcard imports from `.*` and `.{*, given}` to `._`, everything here should work in Scala 2 without other code changes.
2021

2122
## Author
2223

build.sbt

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ normalizedName := "laminarexamples"
1313

1414
organization := "com.raquo"
1515

16-
scalaVersion := "2.13.10"
17-
18-
crossScalaVersions := Seq("2.12.17", "2.13.10", "3.2.0")
16+
scalaVersion := "3.2.0"
1917

2018
libraryDependencies ++= Seq(
2119
"com.raquo" %%% "laminar" % "15.0.0-M6",

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1") // only needed for your JS dependencies, not for Laminar
22

3-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.12.0")
3+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.0")

src/main/resources/index-fastopt.html

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
<link rel="stylesheet" href="./app.css">
88
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
99
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
10-
<!-- <script type="text/javascript" src="../../../target/scala-2.13/laminarexamples-fastopt.js"></script>-->
11-
<script type="text/javascript" src="../../../target/scala-2.13/scalajs-bundler/main/laminarexamples-fastopt-bundle.js"></script>
10+
<script type="text/javascript" src="../../../target/scala-3.2.0/scalajs-bundler/main/laminarexamples-fastopt-bundle.js"></script>
1211
</head>
1312
<body>
1413
<style>

src/main/resources/index-fullopt.html

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
<link rel="stylesheet" href="./app.css">
88
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
99
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
10-
<!-- <script type="text/javascript" src="../../../target/scala-2.13/laminarexamples-opt.js"></script>-->
11-
<script type="text/javascript" src="../../../target/scala-2.13/scalajs-bundler/main/laminarexamples-opt-bundle.js"></script>
10+
<script type="text/javascript" src="../../../target/scala-3.2.0/scalajs-bundler/main/laminarexamples-opt-bundle.js"></script>
1211
</head>
1312
<body>
1413
<style>

src/main/scala/App.scala

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import ExampleRouter._
1+
import ExampleRouter.{*, given}
22
import benchmarks.ChildrenBenchmark
3-
import com.raquo.laminar.api.L._
4-
import com.raquo.waypoint._
3+
import com.raquo.laminar.api.L.{*, given}
4+
import com.raquo.laminar.api.L
5+
import com.raquo.waypoint.*
56
import events.{ControlledChecked, ControlledValue}
67
import oldstuff.intro.DuckMaster
78
import oldstuff.pseudotests.SvgContainer

src/main/scala/ExampleRouter.scala

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import com.raquo.laminar.api.L._
2-
import com.raquo.waypoint._
1+
import com.raquo.laminar.api.L.{*, given}
2+
import com.raquo.waypoint.*
33
import org.scalajs.dom
4-
import com.github.plokhotnyuk.jsoniter_scala.core._
5-
import com.github.plokhotnyuk.jsoniter_scala.macros._
4+
import com.github.plokhotnyuk.jsoniter_scala.core.*
5+
import com.github.plokhotnyuk.jsoniter_scala.macros.*
66

77
object ExampleRouter {
88

@@ -19,7 +19,7 @@ object ExampleRouter {
1919
case object ControlledCheckedTesterPage extends Page("Controlled Checked Tester")
2020
case object ChildrenBenchmarkPage extends Page("Children Benchmark")
2121

22-
// given codec:
22+
// In Scala 3, you can also say `given codec: ...`
2323
implicit val codec: JsonValueCodec[Page] = JsonCodecMaker.make
2424

2525
private val routes = List(

src/main/scala/benchmarks/ChildrenBenchmark.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package benchmarks
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import org.scalajs.dom
55

66
object ChildrenBenchmark {

src/main/scala/events/ControlledChecked.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package events
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
object ControlledChecked {
66

src/main/scala/events/ControlledSelect.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package events
22

33
import com.raquo.airstream.core.Source
4-
import com.raquo.laminar.api.L._
4+
import com.raquo.laminar.api.L.{*, given}
55

66
object ControlledSelect {
77

src/main/scala/events/ControlledValue.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package events
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
object ControlledValue {
66

src/main/scala/oldstuff/components/Counter.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.components
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import org.scalajs.dom
55

66
class Counter private (

src/main/scala/oldstuff/components/Table.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.components
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
object Table {
66
def apply(): HtmlElement = {

src/main/scala/oldstuff/components/Toggle2.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.components
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
import scala.util.Random
66

src/main/scala/oldstuff/intro/DuckMaster.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.intro
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Counter
55

66
object DuckMaster {

src/main/scala/oldstuff/pseudotests/Children.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Toggle2
55

66
object Children {

src/main/scala/oldstuff/pseudotests/MultiSetters.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Toggle2
55
import org.scalajs.dom
66

src/main/scala/oldstuff/pseudotests/MultiStyleProp.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Toggle2
55

66
object MultiStyleProp {

src/main/scala/oldstuff/pseudotests/NestedStyleProp.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Toggle2
55

66
object NestedStyleProp {

src/main/scala/oldstuff/pseudotests/NodeTypeChange.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.components.Toggle2
55
import org.scalajs.dom
66

src/main/scala/oldstuff/pseudotests/SvgContainer.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.pseudotests
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import com.raquo.laminar.api.L.{svg => s}
55

66
object SvgContainer {

src/main/scala/oldstuff/todo/TodoApp.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.todo
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.todo.backend.RestBackend.Request
55
import oldstuff.todo.backend.TaskBackend
66
import oldstuff.todo.models.TaskModel

src/main/scala/oldstuff/todo/backend/RestBackend.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package oldstuff.todo.backend
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
trait RestBackend[Model] {
66

7-
import RestBackend._
7+
import RestBackend.*
88

99
val $request: EventStream[Request[Model]]
1010

src/main/scala/oldstuff/todo/backend/TaskBackend.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.todo.backend
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import com.raquo.airstream.ownership.Owner
55
import oldstuff.todo.backend.RestBackend.{CreateRequest, CreateResponse, DeleteRequest, DeleteResponse, ListRequest, ListResponse, ReadRequest, ReadResponse, Request, Response, UpdateRequest, UpdateResponse}
66
import oldstuff.todo.models.TaskModel

src/main/scala/oldstuff/todo/components/TextInput.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.todo.components
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55
object TextInput {
66

src/main/scala/oldstuff/todo/components/Toggle.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.todo.components
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44

55

66
import scala.util.Random

src/main/scala/oldstuff/todo/views/TaskListView.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package oldstuff.todo.views
22

3-
import com.raquo.laminar.api.L._
4-
import oldstuff.todo.backend.RestBackend._
3+
import com.raquo.laminar.api.L.{*, given}
4+
import oldstuff.todo.backend.RestBackend.*
55
import oldstuff.todo.backend.TaskBackend
66
import oldstuff.todo.components.TextInput
77
import oldstuff.todo.models.TaskModel

src/main/scala/oldstuff/todo/views/TaskView.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package oldstuff.todo.views
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import oldstuff.todo.components.{TextInput, Toggle}
55
import oldstuff.todo.models.TaskModel
66
import org.scalajs.dom

src/main/scala/todomvc/TodoMvcApp.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package todomvc
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import org.scalajs.dom.KeyCode
55

66
// Laminar is a simple, expressive, and safe UI library for Scala.js

src/main/scala/web/AjaxTester.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package web
22

3+
import com.raquo.airstream.web.AjaxStream
34
import com.raquo.airstream.web.AjaxStream.AjaxStreamError
4-
import com.raquo.laminar.api.L._
5+
import com.raquo.laminar.api.L.{*, given}
56
import org.scalajs.dom
67

78
object AjaxTester {

src/main/scala/web/FetchTester.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package web
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import com.raquo.laminar.api.features.unitArrows
55

66
object FetchTester {

src/main/scala/webcomponents/WebComponents.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package webcomponents
22

3-
import com.raquo.laminar.api.L._
3+
import com.raquo.laminar.api.L.{*, given}
44
import org.scalajs.dom
5-
import webcomponents.material._
5+
import webcomponents.material.*
66

77
import scala.scalajs.js
88

src/main/scala/webcomponents/material/Button.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package webcomponents.material
22

3-
import com.raquo.laminar.api.L._
4-
import com.raquo.laminar.codecs._
3+
import com.raquo.laminar.api.L.{*, given}
4+
import com.raquo.laminar.codecs.*
55
import com.raquo.laminar.nodes.ReactiveHtmlElement
66
import org.scalajs.dom
77

src/main/scala/webcomponents/material/LinearProgressBar.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package webcomponents.material
22

3-
import com.raquo.laminar.api.L._
4-
import com.raquo.laminar.codecs._
3+
import com.raquo.laminar.api.L.{*, given}
4+
import com.raquo.laminar.codecs.*
55
import com.raquo.laminar.nodes.ReactiveHtmlElement
66
import org.scalajs.dom
77

src/main/scala/webcomponents/material/Slider.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package webcomponents.material
22

3-
import com.raquo.laminar.api.L._
4-
import com.raquo.laminar.codecs._
3+
import com.raquo.laminar.api.L.{*, given}
4+
import com.raquo.laminar.codecs.*
55
import com.raquo.laminar.nodes.ReactiveHtmlElement
66
import org.scalajs.dom
77

0 commit comments

Comments
 (0)