# Issues when using exported JS file from multiplatform

**URL:** <https://discuss.kotlinlang.org/t/issues-when-using-exported-js-file-from-multiplatform/22137>\
**Category:** Multiplatform\
**Created:** [June 16, 2021, 6:56am UTC](https://discuss.kotlinlang.org/t/issues-when-using-exported-js-file-from-multiplatform/22137 "2021-06-16T06:56:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![alzomins](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@alzomins](https://discuss.kotlinlang.org/u/alzomins)\
**Post date:** [June 16, 2021, 6:56am UTC](https://discuss.kotlinlang.org/t/issues-when-using-exported-js-file-from-multiplatform/22137/1 "2021-06-16T06:56:58Z")

</div>

Dear all,

I created my simple HelloWorld app which is used exported .js **(JS(IR)** file from kotlin multiplatform, and it works as expected.

Now, I updated it with a more complex classes, functions and interfaces.

The problem I have found is naming of exported functions from kotlin. For example, I can not have the same name of functions with different number of parameters, refresh(), refresh(id : Int). It must be annotated with different name and that name I can use instead of refresh.

Another problem is abstract classes and functions. Annotated abstract class as @JsExport will not export abstract functions and it can not be used after inheritance.

If I use abstract function in many places in other classes, exportation of all classes will not keep the name of original function after exportation. Instead of that, for example refresh() will become refresh\_0() or refresh\_1() etc etc. If I change the package of some classes, or add some classes in the list or folder, this \_number wil change (instead of refresh\_1() will be refresh\_2() or refresh\_3())

If I, as kotlin developer, give this massive exported .js file to the web developer, It will shoot me 🙂

Is any idea how to solve this problems ? Maybe another configuration in gradle.kts ?

Thanks
