The semantic of x::ext:name( seems incompatible with tree shaking after transpile if the the import and x::ext:name( got trasnpiled individually.
import * as ext from 'someOtherModule'
ExtInvoke(ext, 'name', x, args)
There is no way for any tool chain after it to realize that only ext.name is used instead of the whole ext.
Although the transpiler is still possible to do it if they are transformed at same time
(by just assume ext[SymbolExtension] do not exist because it is a module and emit different output)
The semantic of
x::ext:name(seems incompatible with tree shaking after transpile if the theimportandx::ext:name(got trasnpiled individually.There is no way for any tool chain after it to realize that only
ext.nameis used instead of the wholeext.Although the transpiler is still possible to do it if they are transformed at same time
(by just assume
ext[SymbolExtension]do not exist because it is a module and emit different output)