diff --git a/npm-publish-gradle-plugin/src/main/kotlin/config/kotlinJsTarget.kt b/npm-publish-gradle-plugin/src/main/kotlin/config/kotlinJsTarget.kt index 53368ca2..6f3e5379 100644 --- a/npm-publish-gradle-plugin/src/main/kotlin/config/kotlinJsTarget.kt +++ b/npm-publish-gradle-plugin/src/main/kotlin/config/kotlinJsTarget.kt @@ -15,7 +15,6 @@ import org.gradle.api.tasks.Copy import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl -import org.jetbrains.kotlin.gradle.targets.js.ir.Executable import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget import org.jetbrains.kotlin.gradle.targets.js.ir.Library @@ -35,11 +34,13 @@ internal fun Project.configure(target: KotlinJsTargetDsl): Unit = with(PluginLog extensions.getByType(NpmPublishExtension::class.java).packages.register(target.name) { pkg -> val binary = provider { when (val it = target.binaries.find { it.mode == KotlinJsBinaryMode.PRODUCTION }) { + null -> null is Library -> it - is Executable -> { + // Kotlin 2.1.20 introduces LibraryWasm and ExecutableWasm. + else -> { warn { """ - Kotlin/JS executable binaries are not valid npm package targets. + Kotlin/JS ${it::class.simpleName} binaries are not valid npm package targets. Consider switching to Kotlin/JS library binary: kotlin { js(IR) { @@ -50,8 +51,6 @@ internal fun Project.configure(target: KotlinJsTargetDsl): Unit = with(PluginLog } null } - - null -> null } } val compileKotlinTask = binary.flatMap(JsIrBinary::linkTask)