question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve `cordova info`

See original GitHub issue

Ionic CLI’s ionic info is one of its most useful commands. You just ask someone to run it in the project and post the output and you know (almost) all relevant versions, components used and even paths that are relevant.

An example:

λ ionic info

cli packages: (C:\nvm\v10.7.0\node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 2.0.2
    Cordova Platforms  : android 7.1.1 ios 4.5.5
    Ionic Framework    : ionic-angular 3.5.3

System:

    Android SDK Tools : 26.1.1
    Node              : v10.7.0
    npm               : 6.1.0
    OS                : Windows 10

Environment Variables:

    ANDROID_HOME : C:\Android

Misc:

    backend : pro

Compare that to the output of cordova info in the same project:

λ cordova info
Collecting Data...


Node version: v10.7.0

Cordova version: 8.0.0

Config.xml file:

<?xml version='1.0' encoding='utf-8'?>
<widget id="de...rstand" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Zählerstand</name>
    <description>A Zaehlerstand app.</description>
    <author email="pio...ski@gmail.com" href="https://janpiotrowski.de/">Jan Piotrowski</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-navigation href="http://ionic.local/*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
        <icon height="57" src="resources\ios\icon\icon.png" width="57" />
        <icon height="114" src="resources\ios\icon\icon@2x.png" width="114" />
        <icon height="40" src="resources\ios\icon\icon-40.png" width="40" />
        <icon height="80" src="resources\ios\icon\icon-40@2x.png" width="80" />
        <icon height="120" src="resources\ios\icon\icon-40@3x.png" width="120" />
        <icon height="50" src="resources\ios\icon\icon-50.png" width="50" />
        <icon height="100" src="resources\ios\icon\icon-50@2x.png" width="100" />
        <icon height="60" src="resources\ios\icon\icon-60.png" width="60" />
        <icon height="120" src="resources\ios\icon\icon-60@2x.png" width="120" />
        <icon height="180" src="resources\ios\icon\icon-60@3x.png" width="180" />
        <icon height="72" src="resources\ios\icon\icon-72.png" width="72" />
        <icon height="144" src="resources\ios\icon\icon-72@2x.png" width="144" />
        <icon height="76" src="resources\ios\icon\icon-76.png" width="76" />
        <icon height="152" src="resources\ios\icon\icon-76@2x.png" width="152" />
        <icon height="167" src="resources\ios\icon\icon-83.5@2x.png" width="167" />
        <icon height="29" src="resources\ios\icon\icon-small.png" width="29" />
        <icon height="58" src="resources\ios\icon\icon-small@2x.png" width="58" />
        <icon height="87" src="resources\ios\icon\icon-small@3x.png" width="87" />
        <splash height="1136" src="resources\ios\splash\Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources\ios\splash\Default-667h.png" width="750" />
        <splash height="2208" src="resources\ios\splash\Default-736h.png" width="1242" />
        <splash height="1242" src="resources\ios\splash\Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources\ios\splash\Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2048" src="resources\ios\splash\Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="768" src="resources\ios\splash\Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources\ios\splash\Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="2732" src="resources\ios\splash\Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="1024" src="resources\ios\splash\Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources\ios\splash\Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources\ios\splash\Default~iphone.png" width="320" />
        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    </platform>
    <preference name="webviewbounce" value="false" />
    <preference name="UIWebViewBounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="19" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <feature name="StatusBar">
        <param name="ios-package" onload="true" value="CDVStatusBar" />
    </feature>
    <engine name="android" spec="^7.1.1" />
    <engine name="ios" spec="4.5.5" />
    <plugin name="cordova-plugin-app-version" spec="^0.1.9" />
    <plugin name="cordova-plugin-device" spec="1.1.4" />
    <plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
    <plugin name="cordova-plugin-statusbar" spec="2.2.1" />
    <plugin name="cordova-plugin-whitelist" spec="1.3.1" />
    <plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
    <plugin name="cordova-sqlite-storage" spec="^2.3.3" />
</widget>


Plugins:

.git,cordova-plugin-app-version,cordova-plugin-console,cordova-plugin-device,cordova-plugin-splashscreen,cordova-plugin-statusbar,cordova-plugin-whitelist,cordova-sqlite-storage,ionic-plugin-keyboard



Android platform:

**************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools\bin\sdkmanager.bat
and tools\bin\avdmanager.bat
**************************************************************************

Invoking "C:\Android\tools\bin\avdmanager" list target

Available Android targets:==============] 100% Fetch remote repository...
----------
id: 1 or "android-23"
     Name: Android API 23
     Type: Platform
     API level: 23
     Revision: 3
----------
id: 2 or "android-25"
     Name: Android API 25
     Type: Platform
     API level: 25
     Revision: 3
----------
id: 3 or "android-26"
     Name: Android API 26
     Type: Platform
     API level: 26
     Revision: 2
----------
id: 4 or "android-27"
     Name: Android API 27
     Type: Platform
     API level: 27
     Revision: 3
----------
id: 5 or "android-28"
     Name: Android API 28
     Type: Platform
     API level: 28
     Revision: 4

Error retrieving iOS platform information: Error: cmd: Command failed with exit code 1 Error output:
'xcodebuild' is not recognized as an internal or external command,
operable program or batch file.

While it may include the same information, cordova info is much less readable and also harder to copy from the command line.

Suggestion

Split cordova info into two commands: cordova info and cordova info --extended. The first outputs a short list of the most important information (what platforms, plugins, versions, npm+node, OS etc.) and the second one also includes the complete config.xml, Android targets information etc.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

4reactions
janpiocommented, Aug 23, 2018

https://github.com/apache/cordova-lib/pull/616 has been merged an improves the output a lot.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Cordova Command-line-interface (CLI) Reference
Command, Description. info, Generate project information. requirements, Checks and print out all the installation requirements for platforms specified.
Read more >
cordova-docs/tips-and-workarounds-performance-readme.md ...
Improving native code, in Objective-C/Swift, Java, or WinJS (Cordova plugin code). In a Cordova app, all code that will usually be written is...
Read more >
Module 1: Creating a Cordova Project - GitHub Pages
The platforms folder is where Cordova will build your application for different platforms (iOS, Android, etc). The contents of this folder will be...
Read more >
Apache Cordova vs. PhoneGap: Differences & How They Work
Learn what Apache Cordova is, the difference between Apache & PhoneGap, how they both work, and how Apache enables web developers with Ionic....
Read more >
Upgrading Cordova-Android Version to Meet Required ... - Ionic
This article provides additional information about this requirement. Therefore, Cordova apps ... Upgrade to Latest cordova-android Version.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found