laux98 opened a new issue, #438:
URL: https://github.com/apache/cordova/issues/438
# Bug Report
## Problem
Hello, my problem is when I include the library SerialPort in my
cordova-electron projet, build crashe on windows 10 , window 11 and Ubuntu
22.04.
### What is expected to happen?
Build launch and I can use serial port.
### What does actually happen?
Build don't launch and error is displayed.
```
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'serialport'
Require stack:
-
/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js
-
at Module._resolveFilename (internal/modules/cjs/loader.js:892:15)
at Function.n._resolveFilename (electron/js2c/browser_init.js:245:1128)
at Module._load (internal/modules/cjs/loader.js:737:27)
at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
at Module.require (internal/modules/cjs/loader.js:964:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous>
(/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js:27:24)
at Module._compile (internal/modules/cjs/loader.js:1083:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1113:10)
at Module.load (internal/modules/cjs/loader.js:940:32)
```
## Information
<!-- Include all relevant information that might help understand and
reproduce the problem -->
I am trying to use the serial port library on cordova-electron.
When i use
```cordova run electron --nobuild ```, this work perfectly and the
application is launch and I can use serialport.
When i want to do the build, I use
```cordova build android```and there are no errors.
But when I launch the build , this error is displayed :
```
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'serialport'
Require stack:
-
/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js
-
at Module._resolveFilename (internal/modules/cjs/loader.js:892:15)
at Function.n._resolveFilename (electron/js2c/browser_init.js:245:1128)
at Module._load (internal/modules/cjs/loader.js:737:27)
at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
at Module.require (internal/modules/cjs/loader.js:964:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous>
(/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js:27:24)
at Module._compile (internal/modules/cjs/loader.js:1083:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1113:10)
at Module.load (internal/modules/cjs/loader.js:940:32)
```
The line "cdv-electron-main.js:27:24" is
```
const { SerialPort } = require("serialport");
```
### Command or Code
<!-- What command or code is needed to reproduce the problem? -->
Create a projet with cordova-electron
```
npm i -g cordova
cordova create sampleApp
cd sampleApp
cordova platform add electron
```
Add serialport
```
npm i serialport
```
Update sampleApp/platforms/electron/platform_www
```
#Add this in top of file
const { SerialPort } = require("serialport");
#And after all the const declarations, add this
console.log("hello serialport : " , SerialPort);
```
Try it with
```
cordova run electron --nobuild
```
That work and the console.log is make.
Build the project with
```
cordova build electron
```
There are no errors
But when you try to open the executable (for exemple in window, it is
in /sampleApp/platforms/electron/build/win-unpacked/HelloCordova.exe, this
error message is displayed
```
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'serialport'
Require stack:
-
/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js
-
at Module._resolveFilename (internal/modules/cjs/loader.js:892:15)
at Function.n._resolveFilename (electron/js2c/browser_init.js:245:1128)
at Module._load (internal/modules/cjs/loader.js:737:27)
at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
at Module.require (internal/modules/cjs/loader.js:964:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous>
(/pathToMyProject/cordova/platforms/electron/build/linux-unpacked/resources/app.asar/cdv-electron-main.js:27:24)
at Module._compile (internal/modules/cjs/loader.js:1083:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1113:10)
at Module.load (internal/modules/cjs/loader.js:940:32)
```
I have the same issue in Windows 10, Windows 11 and Ubuntu22.04.
### Environment, Platform, Device
<!-- In what environment, on what platform or on which device are you
experiencing the issue? -->
### Version information
<!--
What are relevant versions you are using?
For example:
Cordova: Cordova CLI, Cordova Platforms, Cordova Plugins
Other Frameworks: Ionic Framework and CLI version
Operating System, Android Studio, Xcode etc.
-->
serialport.io : 12.0.0
node : 18.16.1
electron : 25.2.0
Ubuntu 22.04 x64
cordova : 12.0.0
cordova-electron : 3.1.0
## Checklist
<!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
- [x] I searched for existing GitHub issues
- [x] I updated all Cordova tooling to most recent version
- [x] I included all the necessary information above
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]