scalajsbundler.sbtplugin.ScalaJSBundlerPlugin

autoImport

object autoImport

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. autoImport
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type BundlerFile = scalajsbundler.BundlerFile

  2. type BundlerFileType = scalajsbundler.BundlerFileType

  3. type BundlingMode = scalajsbundler.BundlingMode

  4. implicit class RichBundlerFile extends SBTBundlerFile

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val BundlerFile: scalajsbundler.BundlerFile.type

  7. val BundlerFileType: scalajsbundler.BundlerFileType.type

  8. val BundlerFileTypeAttr: AttributeKey[BundlerFileType]

  9. val BundlingMode: scalajsbundler.BundlingMode.type

  10. val ProjectNameAttr: AttributeKey[String]

  11. val additionalNpmConfig: SettingKey[Map[String, JSON]]

    List of the additional configuration options to include in the generated 'package.

    List of the additional configuration options to include in the generated 'package.json'. Note that package dependencies are automatically generated from npmDependencies and npmDevDependencies and should not be specified in this setting.

    import scalajsbundler.util.JSON._
    additionalNpmConfig in Compile := Map(
      "name"        -> str(name.value),
      "version"     -> str(version.value),
      "description" -> str("Awesome ScalaJS project..."),
      "other"       -> obj(
        "value0" -> bool(true),
        "value1" -> obj(
          "foo" -> str("bar")
        )
      )
    )

    Note that this key must be scoped by a Configuration (either Compile or Test).

  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. val installJsdom: TaskKey[File]

    Locally install jsdom.

    Locally install jsdom.

    You can set the jsdom package version to install with the key version in installJsdom.

    Returns the installation directory.

  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. val npmDependencies: SettingKey[Seq[(String, String)]]

    List of the NPM packages (name and version) your application depends on.

    List of the NPM packages (name and version) your application depends on. You can use [semver](https://docs.npmjs.com/misc/semver) versions:

    npmDependencies in Compile += "uuid" -> "~3.0.0"

    Note that this key must be scoped by a Configuration (either Compile or Test).

  25. val npmDevDependencies: SettingKey[Seq[(String, String)]]

  26. val npmResolutions: SettingKey[Map[String, String]]

    Map of NPM packages (name -> version) to use in case transitive NPM dependencies refer to a same package but with different version numbers.

    Map of NPM packages (name -> version) to use in case transitive NPM dependencies refer to a same package but with different version numbers. In such a case, this setting defines which version should be used for the conflicting package. Example:

    npmResolutions in Compile := Map("react" -> "15.4.1")

    If several Scala.js projects depend on different versions of react, the version 15.4.1 will be picked. But if all the projects depend on the same version of react, the version given in npmResolutions will be ignored.

    Note that this key must be scoped by a Configuration (either Compile or Test).

  27. val npmUpdate: TaskKey[File]

    Fetches NPM dependencies.

    Fetches NPM dependencies. Returns the directory in which the npm install command has been run.

    The plugin uses different directories according to the configuration (Compile or Test). Thus, this setting is scoped by a Configuration.

    Typically, if you want to define a task that uses the downloaded NPM packages you should specify the Configuration you are interested in:

    myCustomTask := {
    val npmDirectory = (npmUpdate in Compile).value
    doSomething(npmDirectory / "node_modules" / "some-package")
    }

    The task returns the directory in which the dependencies have been fetched (the directory that contains the node_modules directory).

  28. val startWebpackDevServer: TaskKey[Unit]

    Start background webpack-dev-server process.

    Start background webpack-dev-server process.

    If webpack-dev-server is already running, it will be restarted.

    The started webpack-dev-server receives the following arguments: - --config is set to value of webpackConfigFile setting. - --port is set to value of webpackDevServerPort setting. - Contents of webpackDevServerExtraArgs setting.

    See also

    webpackDevServerExtraArgs

    webpackDevServerPort

    stopWebpackDevServer

  29. val stopWebpackDevServer: TaskKey[Unit]

    Stop running webpack-dev-server process.

    Stop running webpack-dev-server process.

    Does nothing if the server is not running.

    See also

    startWebpackDevServer

  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. val useYarn: SettingKey[Boolean]

    Whether to use Yarn to fetch dependencies instead of npm.

    Whether to use Yarn to fetch dependencies instead of npm. Yarn has a caching mechanism that makes the process faster.

    If set to true, it requires Yarn 0.22.0+ to be available on the host platform.

    Defaults to false.

  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. val webpack: TaskKey[Seq[Attributed[File]]]

    Bundles the output of a Scala.

    Bundles the output of a Scala.js stage.

    This task must be scoped by a Scala.js stage (either fastOptJS or fullOptJS) and a Configuration (either Compile or Test).

    For instance, to bundle the output of fastOptJS, run the following task from the sbt shell:

    fastOptJS::webpack

    Or, in an sbt build definition:

    webpack in (Compile, fastOptJS)

    Note that to scope the task to a different project than the “current” sbt project, you have to write the following:

    webpack in (projectRef, Compile, fastOptJS in projectRef)

    The task returns the produced bundles.

    The task is cached, so webpack is only launched when some of the used files have changed. The list of files to be monitored is provided by webpackMonitoredFiles

    The files produced are wrapped in sbt.Attributed, and tagged with scalajsbundler.sbtplugin.SBTBundlerFile.ProjectNameAttr and scalajsbundler.sbtplugin.SBTBundlerFile.BundlerFileTypeAttr. The scalajsbundler.sbtplugin.SBTBundlerFile.ProjectNameAttr contains the "prefix" of the file names, such as yourapp-fastopt, while the scalajsbundler.sbtplugin.SBTBundlerFile.BundlerFileTypeAttr contains the bundle file type, which can be used to filter the list of files by their scalajsbundler.BundlerFileType. For example:

    webpack.value.find(_.metadata.get(BundlerFileTypeAttr).exists(_ == BundlerFileType.ApplicationBundle))
  37. val webpackBundlingMode: SettingKey[BundlingMode]

    scalajsbundler.BundlingMode to use.

    scalajsbundler.BundlingMode to use.

    Must be one of: Application - Process the entire Scala.js output file with webpack, producing a bundle including all dependencies LibraryOnly() - Process only the entrypoints via webpack and produce a library of dependencies LibraryAndApplication() - Process only the entrypoints, concatenating the library with the application to produce a bundle

    The default value is Application

  38. val webpackConfigFile: SettingKey[Option[File]]

    configuration file to use with webpack.

    configuration file to use with webpack. By default, the plugin generates a configuration file, but you can supply your own file via this setting. Example of use:

    webpackConfigFile in fullOptJS := Some(baseDirectory.value / "my.dev.webpack.config.js")

    You can find more insights on how to write a custom configuration file in the cookbook.

  39. val webpackDevServerExtraArgs: SettingKey[Seq[String]]

    Additional arguments to webpack-dev-server.

    Additional arguments to webpack-dev-server.

    Defaults to an empty list.

    See also

    startWebpackDevServer

  40. val webpackDevServerPort: SettingKey[Int]

    Port, on which webpack-dev-server will be launched.

    Port, on which webpack-dev-server will be launched.

    Defaults to 8080.

    See also

    startWebpackDevServer

  41. val webpackEmitSourceMaps: SettingKey[Boolean]

    whether to enable (or not) source-map in a given configuration (Compile or Test) and stage (fastOptJS or fullOptJS).

    whether to enable (or not) source-map in a given configuration (Compile or Test) and stage (fastOptJS or fullOptJS). Example of use:

    webpackEmitSourceMaps in (Compile, fullOptJS) := false

    Note that, by default, this setting takes the same value as the Scala.js’ emitSourceMaps setting, so, to globally disable source maps you can just configure the emitSourceMaps setting:

    emitSourceMaps := false
  42. val webpackMonitoredDirectories: SettingKey[Seq[File]]

    Additional directories, monitored for webpack launch.

    Additional directories, monitored for webpack launch.

    Changes to files in these directories that match includeFilter scoped to webpackMonitoredFiles enable webpack launch in webpack task.

    Defaults to an empty Seq.

    See also

    webpackMonitoredFiles

  43. val webpackMonitoredFiles: TaskKey[Seq[File]]

    List of files, monitored for webpack launch.

    List of files, monitored for webpack launch.

    By default includes the following files:

    • Generated package.json
    • Generated webpack config
    • Custom webpack config (if any)
    • Files, provided by webpackEntries task.
    • Files from webpackMonitoredDirectories, filtered by includeFilter
    See also

    webpack

    webpackMonitoredDirectories

  44. val webpackResources: SettingKey[PathFinder]

    Webpack configuration files to copy to the target directory.

    Webpack configuration files to copy to the target directory. These files can be merged into the main configuration file.

    By default all .js files in the project base directory are copied:

    baseDirectory.value * "*.js"

    How to share these configuration files among your webpack config files is documented in the cookbook.

Inherited from AnyRef

Inherited from Any

Settings

Tasks

Ungrouped