Mill Plugin for Scalablytyped
The preferred way is to create a module in a separate build file.
You need to create a scalablytyped.sc
file like:
import mill._, mill.scalalib._, mill.scalajslib._
import $ivy.`com.github.lolgab::mill-scalablytyped::0.1.12`
import com.github.lolgab.mill.scalablytyped._
object `scalablytyped-module` extends ScalaJSModule with ScalablyTyped {
def scalaVersion = "3.2.2"
def scalaJSVersion = "1.13.0"
}
Then you can import this module in your build.sc
file:
import $file.scalablytyped
import mill._, mill.scalalib._, mill.scalajslib._
object app extends ScalaJSModule {
def scalaVersion = "3.2.2"
def scalaJSVersion = "1.13.0"
def moduleDeps = Seq(scalablytyped.`scalablytyped-module`)
}
After that it will scan the directory for a package.json
file and a node_module
directory.
It will run ScalablyTyped to convert the libraries in package.json
and then add them to ivyDeps
.
Make sure to use a Mill version greater than 0.10.1
otherwise the changes to the build.sc
file will
re-trigger the Scalablytyped converter.
Also make sure that import $file.scalablytyped
is one of the first imports in your build.sc
, because
Ammonite recompiles all the next imported classes when a imported file changes. If the scalablytyped file
is imported earlier, there are less chances of doing useless recompilations with ScalablyTyped.
The base path where package.json and node_modules are.
Defaults to the project root directory (the directory of build.sc
).
The typescript dependencies to ignore during the conversion
When true (which is the default) uses scala-js-dom types when possible instead of types we translate from typescript in std
The React flavour used by ScalablyTyped
Can be one of Flavour.Normal
, Flavour.Slinky
, Flavour.SlinkyNative
and Flavour.ScalajsReact
Update ScalablyTyped to 1.0.0-beta43
Update Mill 0.11
to 0.11.0
Update Mill 0.11
to 0.11.0-M10
Update Mill 0.11
to 0.11.0-M10
Update Mill 0.11
to 0.11.0-M9
Update Mill 0.11
to 0.11.0-M8
Update Mill 0.11
to 0.11.0-M7
Update Mill 0.11
to 0.11.0-M6
Update ScalablyTyped to 1.0.0-beta41
and Mill 0.11
to 0.11.0-M2
Update Mill 0.11.0-M1
to 0.11.0-M1-29-8f872d
Support Mill 0.11.0-M1
Support Mill 0.11.0-M0
Update ScalablyTyped to 1.0.0-beta40
Update ScalablyTyped to 1.0.0-beta39
Update ScalablyTyped to 1.0.0-beta38
Add support for scalablyTypedFlavour
Bump vulnerable log4j dependency
Improve error messages on failure
Add scalablyTypedBasePath
and scalablyTypedIgnoredLibs
configurations
First release