Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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<JsIrBinary> {
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) {
Expand All @@ -50,8 +51,6 @@ internal fun Project.configure(target: KotlinJsTargetDsl): Unit = with(PluginLog
}
null
}

null -> null
}
}
val compileKotlinTask = binary.flatMap<Kotlin2JsCompile>(JsIrBinary::linkTask)
Expand Down