cordova-lib icon indicating copy to clipboard operation
cordova-lib copied to clipboard

Cordova uses the wrong working directory and loads top-level config.xml

Open fquirin opened this issue 1 year ago • 1 comments

Bug Report

Problem

My build script creates a sub-folder inside my actual project, copies the www, package.json and config.xml file over, enters the sub-folder and then tries to build everything from there, but instead of using the local config.xml the cordova command is reading the file from the top-level folder and uses the same folder as working directory to install plugins etc..

What is expected to happen?

Commands like cordova plugin add ... should read the files from the current working directory first and install node modules and plugins into the same folder.

What does actually happen?

Commands like cordova plugin add ... reference the first config.xml found in parent directory and use this as working directory to install node modules and plugins.

Information

Folder structure:

myapp/
|-- config.xml
|-- package.json
|-- www/
|-- build_folder/
| |-- config.xml
| |-- package.json
| |-- www/
| |-- local_plugins/

I've tried to use a globally and locally installed Cordova, same issue. Not entirely sure when this problem appeared but it was working for older Cordova builds (v8 or something).

To fix the issue one has to remove or rename the config.xml from parent folder.

Command or Code

npm install -g [email protected]
cd myapp/build_folder
cordova plugin add ...

After that check where the node modules and plugins are installed.

Environment, Platform, Device

  • Linux 5.10.16.3-microsoft-standard-WSL2 x86_64 GNU/Linux
  • Debian 9.5

Version information

  • Cordova: 11.0.0, Android platform 11.0.0
  • Other Frameworks: just Cordova
  • Operating System: Windows 11, Debian 9.5 WSL2

Checklist

  • [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

fquirin avatar Jul 29 '22 13:07 fquirin

Ah sorry I just realized this should probably be moved to https://github.com/apache/cordova-cli ?

fquirin avatar Jul 29 '22 13:07 fquirin