import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} scalaVersion in ThisBuild := "2.12.8" val sharedSettings = Seq( name := "cataquack", organization := "tf.bug", version := "0.1.0", scalaVersion := "2.12.8", scalacOptions ++= Seq( "-unchecked", "-deprecation", "-feature", "-language:higherKinds", "-Ypartial-unification", ), libraryDependencies ++= Seq( "org.typelevel" %%% "cats-core" % "1.5.0", "org.typelevel" %%% "cats-effect" % "1.1.0", "org.scala-graph" %%% "graph-core" % "1.12.5", ), resolvers += Resolver.sonatypeRepo("releases"), addCompilerPlugin("org.spire-math" % "kind-projector" % "0.9.8" cross CrossVersion.binary) ) lazy val cataquack = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Pure) .settings(sharedSettings) .jsSettings(crossScalaVersions := Seq("2.11.12", "2.12.8")) .jvmSettings(crossScalaVersions := Seq("2.11.12", "2.12.8")) lazy val cataquackJS = cataquack.js lazy val cataquackJVM = cataquack.jvm