/** * Resolves a module's default export. The module may provide its default export as a `default` * property on an object. This happens when named and default exports are mixed in modules. * * In ES Modules, mixing is fine since the module resolver can distinguish default and named * exports. In transpiled modules, however, all exports are put into a single object, and the * default export is provided at a property called `default`. * * This helper is needed by Next.js uses CJS files with named and default exports. * * This helper _should_ be a temporary hack until Next.js and Node.js resolve their ESM * difficulties. This will likely not be removed any time soon, unfortunately. */ export function resolveDefaultExport(mod: T): T { // eslint-disable-next-line @typescript-eslint/no-explicit-any return "default" in (mod as any) ? (mod as any).default : mod }