You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, users generating TypeScript declarations as part of compilation always get a file where the wasm module's main type is named MainModule. One consequence of this is that users generating packages directly from the TSD and wasm/js output wind up with name collisions, if they import multiple modules into another project. Working around this is not difficult (shown below) but it does betray the fact that, at the time of writing, wasm module type names are hard-coded to be MainModule.
import{MainModuleasMyModule1}from"my-package-1";// Must use "as" to prevent name collisionimport{MainModuleasMyModule2}from"my-package-2";
Further, users can specify names using -s EXPORT_NAME=MyModule (though this isn't always 1:1 with what we'd want to call the module's type), so having an output type name of MainModule can be confusing to users.
Per a conversation in #21460, and #20296, align TSD generation with EXPORT_NAME or a new setting e.g. MODULE_NAME, so that users can set this name automatically.