In Kotlin 1.4-M1 support for exporting TypeScript definitions was added
Preview: TypeScript definitions
Another feature in the new Kotlin/JS IR compiler we’re excited to show off is the generation of TypeScript definitions from Kotlin
code. These definitions can be used by JavaScript tools and IDEs when
working on hybrid apps to provide autocompletion, support static
analyzers, and make it easier to include Kotlin code in JS and TS
projects.
For top-level declarations marked with @JsExport
(see above) in a project configured to use produceExecutable()
, a .d.ts
file with the
TypeScript definitions will be generated. For the snippet above, they
look like this:
// [...]
namespace blogpost {
class KotlinGreeter {
constructor(who: string)
greet(): string
}
function farewell(who: string): string
}
// [...]
In Kotlin 1.4-M1, these declarations can be found in build/js/packages/<package_name>/kotlin
alongside the corresponding,
un-webpacked JavaScript code. Please note that since this is only a
preview, they are not added to the distributions folder by default for
now. You can expect this behavior to change in the future.