lib/ttb-util.js
function isCompatibleNpmPackage(pkgName) {
    if (pkgName !== 'cordova' && pkgName.indexOf('cordova@') !== 0) {
        return Q(NodeCompatibilityResult.Compatible);
    }
    
    // Get the version of npm and the version of cordova requested. If the
    // cordova version <= 5.3.3, and the Node version is 5.0.0, the build
    // is going to fail, but silently, so we need to be loud now.
    return getVersionForNpmPackage(pkgName).then(function (cordovaVersion) {
        if (!semver.valid(cordovaVersion)) {
            // Assume true, since we don't know what version this is and the npm install will probably fail anyway
            return Q(NodeCompatibilityResult.Compatible);
        }
        
        var nodeVersion = process.version;
        
        if (!semver.valid(nodeVersion)) {
            return Q(NodeCompatibilityResult.Compatible);
        }
        
        if (semver.lt(cordovaVersion, '5.4.0') && semver.gte(nodeVersion, '5.0.0')) {
            return Q(NodeCompatibilityResult.IncompatibleVersion5);
        } else if (process.platform == 'darwin' && semver.lt(cordovaVersion, '5.3.3') && semver.gte(nodeVersion, '4.0.0')) {
            return Q(NodeCompatibilityResult.IncompatibleVersion4Ios);
        } else {
            return Q(NodeCompatibilityResult.Compatible);
        }
    });
}
function isCompatibleNpmPackage(pkgName) {
    if (pkgName !== 'cordova' && pkgName.indexOf('cordova@') !== 0) {
        return Q(NodeCompatibilityResult.Compatible);
    }
    
    // Get the version of npm and the version of cordova requested. If the
    // cordova version <= 5.3.3, and the Node version is 5.0.0, the build
    // is going to fail, but silently, so we need to be loud now.
    return getVersionForNpmPackage(pkgName).then(function (cordovaVersion) {
        if (!semver.valid(cordovaVersion)) {
            // Assume true, since we don't know what version this is and the npm install will probably fail anyway
            return Q(NodeCompatibilityResult.Compatible);
        }
        
        var nodeVersion = process.version;
        
        if (!semver.valid(nodeVersion)) {
            return Q(NodeCompatibilityResult.Compatible);
        }
        
        if (semver.lt(cordovaVersion, '5.4.0') && semver.gte(nodeVersion, '5.0.0')) {
            return Q(NodeCompatibilityResult.IncompatibleVersion5);
        } else if (process.platform == 'darwin' && semver.lt(cordovaVersion, '5.3.3') && semver.gte(nodeVersion, '4.0.0')) {
            return Q(NodeCompatibilityResult.IncompatibleVersion4Ios);
        } else {
            return Q(NodeCompatibilityResult.Compatible);
        }
    });
}
function isCompatibleNpmPackage ( pkgName ) { if ( pkgName !== 'cordova' && pkgName . indexOf ( 'cordova@' ) !== 0 ) { return Q ( NodeCompatibilityResult . Compatible ) ; } // Get the version of npm and the version of cordova requested. If the // cordova version <= 5.3.3, and the Node version is 5.0.0, the build // is going to fail, but silently, so we need to be loud now. return getVersionForNpmPackage ( pkgName ) . then ( function ( cordovaVersion ) { if ( ! semver . valid ( cordovaVersion ) ) { // Assume true, since we don't know what version this is and the npm install will probably fail anyway return Q ( NodeCompatibilityResult . Compatible ) ; } var nodeVersion = process . version ; if ( ! semver . valid ( nodeVersion ) ) { return Q ( NodeCompatibilityResult . Compatible ) ; } if ( semver . lt ( cordovaVersion , '5.4.0' ) && semver . gte ( nodeVersion , '5.0.0' ) ) { return Q ( NodeCompatibilityResult . IncompatibleVersion5 ) ; } else if ( process . platform == 'darwin' && semver . lt ( cordovaVersion , '5.3.3' ) && semver . gte ( nodeVersion , '4.0.0' ) ) { return Q ( NodeCompatibilityResult . IncompatibleVersion4Ios ) ; } else { return Q ( NodeCompatibilityResult . Compatible ) ; } } ) ; }
Returns a promise that resolves to whether or not the currently installed version of Node is compatible with the requested version of cordova.
Returns a promise that resolves to whether or not the currently installed version of Node is compatible with the requested version of cordova .