Github user stevengill commented on a diff in the pull request:
https://github.com/apache/cordova-lib/pull/331#discussion_r43339261
--- Diff: cordova-common/README.md ---
@@ -20,12 +20,128 @@
-->
# cordova-common
-Contains shared classes and routines used by
[cordova-lib](https://github.com/apache/cordova-lib/) and platforms.
+Expoeses shared functionality used by
[cordova-lib](https://github.com/apache/cordova-lib/) and Cordova platforms.
+## Exposed APIs
+
+### `events`
+
+Represents special instance of NodeJS EventEmitter which is intended to be
used to post events to cordova-lib and cordova-cli
+
+Usage:
+```
+var events = require('cordova-common').events;
+events.emit('warn', 'Some warning message')
+```
+
+There are the following events supported by cordova-cli: `verbose`, `log`,
`info`, `warn`, `error`.
+
+### `CordovaError`
+
+An error class used by Cordova to throw cordova-specific errors. The
CordovaError class is inherited from Error, so CordovaError instances is also
valid Error instances (`instanceof` check succeeds).
+
+Usage:
+
+```
+var CordovaError = require('cordova-common').CordovaError;
+throw new CordovaError('Some error message', SOME_ERR_CODE);
+```
+
+See [CordovaError](src/CordovaError/CordovaError.js) for supported error
codes.
+
+### `ConfigParser`
+
+Exposes functionality to deal with cordova project `config.xml` files. For
ConfigParser API reference check [ConfigParser
Readme](src/ConfigParser/README.md).
+
+Usage:
+```
+var ConfigParser = require('cordova-common').ConfigParser;
+var appConfig = new ConfigParser('path/to/cordova-app/config.xml');
+console.log(appconfig.name() + ':' + appConfig.version());
+```
+
+### `PluginInfoProvider` and `PluginInfo`
+
+`PluginInfo` is a wrapper for cordova plugins' `plugin.xml` files. This
class may be instantiated directly or via `PluginInfoProvider`. The difference
is that `PluginInfoProvider` caches `PluginInfo` instances based on plugin
source directory.
+
+Usage:
+```
+var PluginInfo: require('cordova-common').PluginInfo;
+var PluginInfoProvider: require('cordova-common').PluginInfoProvider;
+
+// The following instances are equal
+var plugin1 = new PluginInfo('path/to/plugin_directory');
+var plugin2 = new PluginInfoProvider().get('path/to/plugin_directory');
+
+console.log('The plugin ' + plugin1.id + ' has version ' + plugin1.version)
+```
+
+### `ActionStack`
+
+Utility module for dealing with sequential tasks. Allow to provide a set
of tasks needs to be done and reverts all tasks that already completed if one
of tasks is failed to complete. Used internally by cordova-lib and platforms
plugin installation routines.
--- End diff --
Utility module for dealing with sequential tasks. Provides a set of tasks
that are needed to be done and reverts all tasks that are already completed if
one of those tasks fail to complete. Used internally by cordova-lib and
platform's plugin installation routines.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]