![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
cordova-common
Advanced tools
Apache Cordova tools and platforms shared routines
Expoeses shared functionality used by cordova-lib and Cordova platforms.
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 for supported error codes.
ConfigParser
Exposes functionality to deal with cordova project config.xml
files. For ConfigParser API reference check ConfigParser Readme.
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. 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.
Usage:
var ActionStack = require('cordova-common').ActionStack;
var stack = new ActionStack()
var action1 = stack.createAction(task1, [<task parameters>], task1_reverter, [<reverter_parameters>]);
var action2 = stack.createAction(task2, [<task parameters>], task2_reverter, [<reverter_parameters>]);
stack.push(action1);
stack.push(action2);
stack.process()
.then(function() {
// all actions succeded
})
.catch(function(error){
// One of actions failed with error
})
superspawn
Module for spawning child processes with some advanced logic.
Usage:
var superspawn = require('cordova-common').superspawn;
superspawn.spawn('adb', ['devices'])
.progress(function(data){
if (data.stderr)
console.error('"adb devices" raised an error: ' + data.stderr);
})
.then(function(devices){
// Do something...
})
xmlHelpers
A set of utility methods for dealing with xml files.
Usage:
var xml = require('cordova-common').xmlHelpers;
var xmlDoc1 = xml.parseElementtreeSync('some/xml/file');
var xmlDoc2 = xml.parseElementtreeSync('another/xml/file');
xml.mergeXml(doc1, doc2); // doc2 now contains all the nodes from doc1
The APIs listed below are also exposed but are intended to be only used internally by cordova plugin installation routines.
PlatformJson
ConfigChanges
ConfigKeeper
ConfigFile
mungeUtil
git clone https://git-wip-us.apache.org/repos/asf/cordova-lib.git
cd cordova-lib/cordova-common
npm install && npm link
cd ../cordova-lib && npm link cordova-common && npm install
FAQs
Apache Cordova tools and platforms shared routines
The npm package cordova-common receives a total of 19,036 weekly downloads. As such, cordova-common popularity was classified as popular.
We found that cordova-common demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 19 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.