-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
86 lines (84 loc) · 3.63 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
ThisBuild / version := "0.1.0-SNAPSHOT"
lazy val typelevel = "com.typelevel"
lazy val scala3Version = "3.2.1"
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Common - contains domain model
///////////////////////////////////////////////////////////////////////////////////////////////////////////
lazy val core = (crossProject(JSPlatform, JVMPlatform) in file("common"))
.settings(
name := "common",
scalaVersion := scala3Version,
organization := typelevel
)
.jvmSettings(
// add here if necessary
)
.jsSettings(
// Add JS-specific settings here
)
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Frontend
///////////////////////////////////////////////////////////////////////////////////////////////////////////
lazy val tyrianVersion = "0.6.1"
lazy val fs2DomVersion = "0.1.0"
lazy val laikaVersion = "0.19.0"
lazy val circeVersion = "0.14.0"
lazy val app = (project in file("app"))
.enablePlugins(ScalaJSPlugin)
.settings(
name := "app",
scalaVersion := scala3Version,
organization := typelevel,
libraryDependencies ++= Seq(
"io.indigoengine" %%% "tyrian-io" % tyrianVersion,
"com.armanbilge" %%% "fs2-dom" % fs2DomVersion,
"org.planet42" %%% "laika-core" % laikaVersion,
"io.circe" %%% "circe-core" % circeVersion,
"io.circe" %%% "circe-parser" % circeVersion,
"io.circe" %%% "circe-generic" % circeVersion
),
scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.CommonJSModule) },
semanticdbEnabled := true,
autoAPIMappings := true
).dependsOn(core.js)
lazy val catsEffectVersion = "3.3.14"
lazy val http4sVersion = "0.23.15"
lazy val doobieVersion = "1.0.0-RC1"
lazy val pureConfigVersion = "0.17.1"
lazy val log4catsVersion = "2.4.0"
lazy val tsecVersion = "0.4.0"
lazy val scalaTestVersion = "3.2.12"
lazy val scalaTestCatsEffectVersion = "1.4.0"
lazy val testContainerVersion = "1.17.3"
lazy val logbackVersion = "1.4.0"
lazy val slf4jVersion = "2.0.0"
lazy val javaMailVersion = "1.6.2"
lazy val server = (project in file("server"))
.settings(
name := "server",
scalaVersion := scala3Version,
organization := typelevel,
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-effect" % catsEffectVersion,
"org.http4s" %% "http4s-dsl" % http4sVersion,
"org.http4s" %% "http4s-ember-server" % http4sVersion,
"org.http4s" %% "http4s-circe" % http4sVersion,
"io.circe" %% "circe-generic" % circeVersion,
"io.circe" %% "circe-fs2" % circeVersion,
"org.tpolecat" %% "doobie-core" % doobieVersion,
"org.tpolecat" %% "doobie-hikari" % doobieVersion,
"org.tpolecat" %% "doobie-postgres" % doobieVersion,
"org.tpolecat" %% "doobie-scalatest" % doobieVersion % Test,
"com.github.pureconfig" %% "pureconfig-core" % pureConfigVersion,
"org.typelevel" %% "log4cats-slf4j" % log4catsVersion,
"org.slf4j" % "slf4j-simple" % slf4jVersion,
"io.github.jmcardon" %% "tsec-http4s" % tsecVersion,
"com.sun.mail" % "javax.mail" % javaMailVersion,
"org.typelevel" %% "log4cats-noop" % log4catsVersion % Test,
"org.scalatest" %% "scalatest" % scalaTestVersion % Test,
"org.typelevel" %% "cats-effect-testing-scalatest" % scalaTestCatsEffectVersion % Test,
"org.testcontainers" % "testcontainers" % testContainerVersion % Test,
"org.testcontainers" % "postgresql" % testContainerVersion % Test,
"ch.qos.logback" % "logback-classic" % logbackVersion % Test
), Compile / mainClass := Some("com.typelevel.jobsboard.Application")
).dependsOn(core.jvm)