This is the first time I've tried to use the CLI tools with the new 3.0
project structure, and I've discovered that I can't uninstall a plugin that
only has dependencies (no source files, either JS or native)

Specifically, I've built a mobilespec app, installing
the mobile-spec-dependencies plugin, which does nothing but depend on every
Cordova core plugin. I want to remove it, so that I can remove and
reinstall one of the dependencies, but the CLI tools will not remove it.

Digging through cordova-cli, it looks like "cordova plugin rm" attempts to
invoke plugman.uninstall once per platform, but mobile-spec-dependencies
doesn't declare any platforms.

plugman.uninstall seems to do two things, which I think should be
separated: It removes the plugin from a specific platform, and it removes
the plugin from the project itself.

In the case of a dependency-only plugin, we only need to do the second task
(which currently doesn't get done). For a regular plugin which is installed
in multiple platforms, this also fails, since removing the plugin for the
first platform deletes the plugin source directory, and then removal for
subsequent platforms fails with the error message "[Error: Plugin <plugin
id> not found. Already uninstalled?]"

Can anyone explain the technical reasons behind this, or should I work on
separating those functions?

Reply via email to