Estoy creando una aplicación con Electron y Vue (usando js no ts). Cuando ejecuto la aplicación usando npm run electron:serve , la aplicación funciona bien.
Ahora quiero crear un exe de Windows para poder distribuir mi aplicación. He intentado usar el generador de electrones, el empaquetador de electrones y la forja de electrones. Cada vez que puedo hacer que finalice la compilación, ejecutar el exe arroja la cannot use import statement outside a module (refiriéndose a la primera declaración de import que encuentra, es decir, import { app, protocol, BrowserWindow } from 'electron' ).
Intenté agregar "type":"module" a mi paquete.json pero (debido a un error en Vue, de acuerdo con esta pregunta) , arroja Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]
También intenté cambiar todas mis declaraciones de import a require pero esto no funciona porque algunos de los módulos de nodo que estoy usando usan import y el error simplemente aparece para esos en su lugar.
Me estoy tirando de los pelos por esto. ¿A donde voy desde aqui?
ACTUALIZAR:
Encontré una solución para el error de Vue y publiqué mis hallazgos en la pregunta vinculada. Ahora puedo agregar "type":"module" a mi paquete.json.
Sin embargo, ahora aparece un error cuando ejecuto npm run electron:serve y desde mi exe integrado:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: <my_project_root>\dist_electron\index.js require() of ES modules is not supported. require() of <my_project_root>\dist_electron\index.js from <my_project_root>\node_modules\electron\dist\resources\default_app.asar\main.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.Para ser claros, no estoy usando require en ninguno de mis códigos fuente, pero la versión compilada (?) ¿Sí? ¿Que está pasando aqui?
ACTUALIZACIÓN 2:
Según lo solicitado, aquí hay un ejemplo reproducible mínimo que mantiene la estructura de carpetas original, las configuraciones y el paquete.json