diff --git a/libraries/tools/kotlin-gradle-plugin-npm-versions-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/targets/js/NpmPackages.kt b/libraries/tools/kotlin-gradle-plugin-npm-versions-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/targets/js/NpmPackages.kt index 7e6f63b5cc5..27895228fc4 100644 --- a/libraries/tools/kotlin-gradle-plugin-npm-versions-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/targets/js/NpmPackages.kt +++ b/libraries/tools/kotlin-gradle-plugin-npm-versions-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/targets/js/NpmPackages.kt @@ -29,6 +29,7 @@ val npmPackages = listOf( NpmPackage("karma-webpack"), NpmPackage("karma-coverage"), NpmPackage("karma-sourcemap-loader"), + NpmPackage("format-util"), ) data class NpmPackage( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/NpmVersions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/NpmVersions.kt index d9c183cabc4..94d811ab074 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/NpmVersions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/NpmVersions.kt @@ -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") } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index aec12430919..29f9758ed87 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -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( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index e93d5cdf14f..7979f782b82 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -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( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt index d57fef8f916..8af5beb909b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt @@ -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( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt index d031c993137..29bc2e1cc6a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt @@ -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) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackRunner.kt index 0a6dac7c6fa..757634096ab 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackRunner.kt @@ -82,13 +82,16 @@ internal data class KotlinWebpackRunner( config.save(configFile) - val args = mutableListOf("--config", configFile.absolutePath) + val args = mutableListOf().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,