'Any suggestion how to remove error "SyntaxError: Cannot use import statement outside a module" while running Appium.js from Java code?
Any suggestion how to remove error "SyntaxError: Cannot use import statement outside a module" while running Appium.js from Java code? Trying adding type: "type": "module" in your package.json or the .mjs extension. when "type": "module" added the new exception came. node:internal/errors:464 ErrorCaptureStackTrace(err); ^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Users\Ritesh Mittal\AppData\Roaming\npm\node_modules\appium\lib\logger' imported from C:\Users\Ritesh Mittal\AppData\Roaming\npm\node_modules\appium\lib\appium.js at new NodeError (node:internal/errors:371:5) at finalizeResolution (node:internal/modules/esm/resolve:416:11) at moduleResolve (node:internal/modules/esm/resolve:932:10) at defaultResolve (node:internal/modules/esm/resolve:1044:11) at ESMLoader.resolve (node:internal/modules/esm/loader:422:30) at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40) at ModuleWrap. (node:internal/modules/esm/module_job:76:40) at link (node:internal/modules/esm/module_job:75:36) { code: 'ERR_MODULE_NOT_FOUND' }
Used cjs-to-es6 utility to convert appium.js in appium.mjs. But, js not converted mjs.
//Code
AppiumDriverLocalService service;
AppiumServiceBuilder builder = new AppiumServiceBuilder();
builder.withIPAddress("127.0.0.1");
builder.usingPort(Integer.parseInt("4723"));
builder.withAppiumJS(new File("C:\\Users\\Ritesh Mittal\\AppData\\Roaming\\npm\\node_modules\\appium\\lib\\appium.js"));
service = AppiumDriverLocalService.buildService(builder);
service.start();
System.out.println("APpium Service Started on: ");
Any help?
Solution 1:[1]
I believe you need to use the built main.js file instead of appium.js.
Try the following:
builder.withAppiumJS(new File("C:\\Users\\Ritesh Mittal\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js"));
Solution 2:[2]
It is solved correcting Appium path. It was needed till node_modules\appium
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | lezhumain |
| Solution 2 | mittalri |
