Estoy creando una aplicación svelte-kit con mecanografiado, por lo que internamente usa vite.
Y estoy usando el proveedor de Facebook de next-auth (aunque next-auth es para reaccionar, sus características internas pueden ser improvisadas).
Estoy importando el proveedor con import FacebookProvider from 'next-auth/providers/facebook'; . Esto importa correctamente la función predeterminada durante el desarrollo.
Pero cuando realmente construyo, obtengo que FacebookProvider is not a function . La depuración muestra que FacebookProvider ahora es { default: [Function: Facebook] } .
También intenté import * as FB from 'next-auth/providers/facebook'; e intente usar FB.default . Lo mismo sucedió FB.default . El valor predeterminado ahora es { default: [Function: Facebook] } cuando construyo, lo cual es bastante extraño. Hay 2 valores predeterminados anidados ahora. ¿Alguna idea de lo que está pasando aquí?
Como estoy usando mecanografiado, esto parece un problema con los archivos js de salida compilados. Mi tsconfig es bastante básico, en su mayoría hereda los valores predeterminados de svelte-kit.
{ "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { "baseUrl": ".", "experimentalDecorators": true, "emitDecoratorMetadata": true, "paths": { "$lib": ["src/lib"], "$lib/*": ["src/lib/*"] } }, "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"] } También he mirado la fuente. next-auth también usa mecanografiado y solo usa export default como de costumbre. También miré el archivo js compilado. La forma en que exporta es así:
Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Facebook;¿Hay algún problema conocido con la importación que me esté faltando? Agradezco cualquier ayuda. ¡Gracias!