From fe72d46fee4f5dbb6fd9349770b2888cc25576fb Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 21 Aug 2020 17:39:37 +0300 Subject: [PATCH] [Gradle, JS] Add types into public package json ^KT-40753 fixed --- .../kotlin/gradle/targets/js/npm/PackageJson.kt | 2 ++ .../gradle/targets/js/npm/PublicPackageJsonTask.kt | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt index e93f01dd55e..840eaeef488 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt @@ -33,6 +33,8 @@ class PackageJson( var resolutions: Map? = null + var types: String? = null + @Suppress("USELESS_ELVIS") val devDependencies = mutableMapOf() get() = field ?: mutableMapOf() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt index d94c9e7092a..7939e1368a4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt @@ -11,6 +11,8 @@ import org.gradle.api.tasks.Nested import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation +import org.jetbrains.kotlin.gradle.targets.js.ir.GENERATE_D_TS +import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON import org.jetbrains.kotlin.gradle.utils.property import java.io.File @@ -53,7 +55,14 @@ constructor( @TaskAction fun resolve() { + val compilation = npmProject.compilation + packageJson(npmProject, realExternalDependencies).let { packageJson -> + packageJson.main = "${npmProject.name}.js" + + if (compilation is KotlinJsIrCompilation) { + packageJson.types = "${npmProject.name}.d.ts" + } packageJson.apply { listOf(