While I was working on the book, the Cordova team started planning a move of much of the framework's supporting project files and plugins to npm. Beginning with Cordova CLI version 5.0, that migration has been completed and all of the core Cordova plugins are now retrieved from npmjs.org. You can read more about this at http://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.htmlhttp://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.html.

Because npm packages have a different naming structure, as part of this migration to npm, the Cordova team changed the names of all of the plugins. Yeah, I know, nightmare.

Previously, the plugins used a reverse domain format, so the device plugin was accessible using the following ID:

org.apache.cordova.device

In the new version, the plugin IDs are based on cordova-plugin-plugin_name, so, for example, to add the device plugin to a project using the Cordova 5 CLI, you would use:

cordova plugin add cordova-plugin-device

Fortunately, the Cordova team has implemented a mapping between the old naming scheme and the new one, so for 6 months (or so) from the Cordova CLI 5.0 release, you'll be able to install any of the core plugins using its old ID. At the end of this period, the plan is to remove the mapping and everything should have moved over to the new ID naming scheme.

You can use the new ID now, and this leads to something like the following:

C:\Users\johnwargo\dev\test>cordova plugins

cordova-plugin-device 1.0.0 "Device"

cordova-plugin-whitelist 1.0.0 "Whitelist"

org.apache.cordova.contacts 0.2.16 "Contacts"

where I've installed some plugins using the new ID format and some with the old ID format. All of this works now, the only problem will be in 6 months when the mapping is removed and only the new ID format will be used.

The mechanics of plugin management haven't changed, only the IDs for the core Cordova plugins although I expect that most plugin developers will adopt this naming as well. Refer to the article referenced in the first paragraph of this page for information on how to add your plugins to the mapping feature so users will be able to install your plugins using both the old and new ID format.