[Gradle, JS] Webpack serve for webpack-dev-server

^KT-42921 fixed
This commit is contained in:
Ilya Goncharov
2021-03-17 11:54:22 +03:00
committed by TeamCityServer
parent 5827ed3f05
commit 965426bbd9
7 changed files with 20 additions and 15 deletions
@@ -29,6 +29,7 @@ val npmPackages = listOf(
NpmPackage("karma-webpack"),
NpmPackage("karma-coverage"),
NpmPackage("karma-sourcemap-loader"),
NpmPackage("format-util"),
)
data class NpmPackage(
@@ -11,18 +11,18 @@ package org.jetbrains.kotlin.gradle.targets.js
// DO NOT MODIFY DIRECTLY! Use org.jetbrains.kotlin.generators.gradle.targets.js.MainKt
class NpmVersions {
val dukat = NpmPackageVersion("dukat", "0.5.8-rc.4")
val webpack = NpmPackageVersion("webpack", "5.20.0")
val webpack = NpmPackageVersion("webpack", "5.26.2")
val webpackCli = NpmPackageVersion("webpack-cli", "4.5.0")
val webpackBundleAnalyzer = NpmPackageVersion("webpack-bundle-analyzer", "4.4.0")
val webpackDevServer = NpmPackageVersion("webpack-dev-server", "3.11.2")
val sourceMapLoader = NpmPackageVersion("source-map-loader", "2.0.0")
val sourceMapLoader = NpmPackageVersion("source-map-loader", "2.0.1")
val sourceMapSupport = NpmPackageVersion("source-map-support", "0.5.19")
val cssLoader = NpmPackageVersion("css-loader", "5.0.1")
val cssLoader = NpmPackageVersion("css-loader", "5.1.3")
val styleLoader = NpmPackageVersion("style-loader", "2.0.0")
val toStringLoader = NpmPackageVersion("to-string-loader", "1.1.6")
val miniCssExtractPlugin = NpmPackageVersion("mini-css-extract-plugin", "1.3.5")
val mocha = NpmPackageVersion("mocha", "8.2.1")
val karma = NpmPackageVersion("karma", "6.1.0")
val miniCssExtractPlugin = NpmPackageVersion("mini-css-extract-plugin", "1.3.9")
val mocha = NpmPackageVersion("mocha", "8.3.2")
val karma = NpmPackageVersion("karma", "6.2.0")
val karmaChromeLauncher = NpmPackageVersion("karma-chrome-launcher", "3.1.0")
val karmaPhantomjsLauncher = NpmPackageVersion("karma-phantomjs-launcher", "1.0.4")
val karmaFirefoxLauncher = NpmPackageVersion("karma-firefox-launcher", "2.1.0")
@@ -33,6 +33,7 @@ class NpmVersions {
val karmaWebpack = NpmPackageVersion("karma-webpack", "5.0.0")
val karmaCoverage = NpmPackageVersion("karma-coverage", "2.0.3")
val karmaSourcemapLoader = NpmPackageVersion("karma-sourcemap-loader", "0.3.8")
val formatUtil = NpmPackageVersion("format-util", "1.0.5")
val kotlinJsTestRunner = KotlinGradleNpmPackage("test-js-runner")
}
@@ -99,7 +99,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
.resolve(binary.linkTask.get().outputFile.name)
}
task.bin = "webpack-dev-server/bin/webpack-dev-server.js"
task.args.add(0, "serve")
task.description = "start ${mode.name.toLowerCase()} webpack dev server"
task.devServer = KotlinWebpackConfig.DevServer(
@@ -128,7 +128,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
),
listOf(compilation)
) { task ->
task.bin = "webpack-dev-server/bin/webpack-dev-server.js"
task.args.add(0, "serve")
task.description = "start ${type.name.toLowerCase()} webpack dev server"
task.devServer = KotlinWebpackConfig.DevServer(
@@ -201,6 +201,9 @@ class KotlinKarma(
private fun useWebpack() {
requiredDependencies.add(versions.karmaWebpack)
requiredDependencies.add(versions.webpack)
requiredDependencies.add(versions.webpackCli)
requiredDependencies.add(versions.formatUtil)
requiredDependencies.add(versions.sourceMapLoader)
addPreprocessor("webpack")
confJsWriters.add {
@@ -228,10 +231,6 @@ class KotlinKarma(
it.appendln("config.set({webpack: createWebpackConfig()});")
it.appendln()
}
requiredDependencies.add(versions.webpack)
requiredDependencies.add(versions.webpackCli)
requiredDependencies.add(versions.sourceMapLoader)
}
fun useCoverage(
@@ -95,6 +95,7 @@ data class KotlinWebpackConfig(
it.add(versions.kotlinJsTestRunner)
it.add(versions.webpack)
it.add(versions.webpackCli)
it.add(versions.formatUtil)
if (bundleAnalyzerReportDir != null) {
it.add(versions.webpackBundleAnalyzer)
@@ -82,13 +82,16 @@ internal data class KotlinWebpackRunner(
config.save(configFile)
val args = mutableListOf<String>("--config", configFile.absolutePath)
val args = mutableListOf<String>().also {
it.addAll(this.args)
}
args.add("--config")
args.add(configFile.absolutePath)
if (config.showProgress) {
args.add("--progress")
}
args.addAll(this.args)
npmProject.useTool(
execFactory,
tool,