__importDefault method may return an object with undefined default property
In my project, I use tslib as the helper library.
Today, I come across a mistake like this:

the error line code that generated by tsc is:
typedocApp = new typedoc_1.default.Application();
and typedoc_1 is defined like this:
var typedoc_1 = tslib_1.__importDefault(require("typedoc"));
So, I readed the code of __importDefault method in tslib:
__importDefault = function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
If a mod has __esModule property but does not have default property, such as typedoc, the error described above will be fired.
Looking at typedoc, it does have an __esModule property, so perhaps you are importing it incorrectly? Which import style are you using:
// (1)
import typedoc from "typedoc";
// (2)
import * as typedoc from "typedoc";
Typedoc does not specify a default export, so you may need to use (2).
yeah, you are right, but this design will result to the increasing cost of using tslib, developer must know whether the library has a default export firstly, and then they decide to how to import the library. I think this is not a good experience.