Skip to content

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

Open
@fquirin

Description

@fquirin

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 cordova@11.0.0
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

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions