Skip to content

More package information in Exported JSON file #2030

Description

@turpie

Description of the new feature / enhancement

It would be helpful if the "winget export" command would include a verbose option to include the full package information, rather than just the PackageIdentifier (and version if --include-versions is used).

For example for Windows Terminal the exported JSON includes only PackageIdentifier and optionally the current installed Version:
"PackageIdentifier" : "Microsoft.WindowsTerminal",
"Version" : "1.11.3471.0"

Winget can produce more information from other commands. e.g. "winget list" adds the Name and Source
Windows Terminal Microsoft.WindowsTerminal 1.11.3471.0 winget

Searching winget list for a single package adds the Available version.

winget list --id Microsoft.WindowsTerminal
Name Id Version Available Source
--------------------------------------------------------------------------
Windows Terminal Microsoft.WindowsTerminal 1.11.3471.0 1.12.10393.0 winget

and Winget show has a lot more information:

winget show --id Microsoft.WindowsTerminal
Found Windows Terminal [Microsoft.WindowsTerminal]
Version: 1.12.10393.0
Publisher: Microsoft
Publisher Url: https://www.microsoft.com/
Moniker: terminal
Description: The new Windows Terminal, a tabbed command line experience for Windows.
Homepage: https://docs.microsoft.com/windows/terminal/
License: MIT
License Url: https://github.com/microsoft/terminal/blob/master/LICENSE
Privacy Url: https://privacy.microsoft.com/
Installer:
Type: msix
Download Url: https://github.com/microsoft/terminal/releases/download/v1.12.10393.0/Microsoft.WindowsTerminal_1.12.10393.0_8wekyb3d8bbwe.msixbundle
SHA256: 23daf0b5a5783d07322b9fee3eef98d45b8d11d4d77f9dbd75a0eb13069592f1

Why can't all of that information be included in the exported JSON file?

Proposed technical implementation details

The "winget export" should have a new flag such as --detailed or --verbose that includes all the available information for each package.
For example the Windows Terminal section of the JSON file would look like:

 {
"PackageIdentifier": "Microsoft.WindowsTerminal",
"InstalledVersion": "1.11.3471.0",
"AvailableVersion": "1.12.10393.0",
"Publisher": "Microsoft",
"PublisherUrl": "https://www.microsoft.com/",
"Moniker": "terminal",
"Description": "The new Windows Terminal, a tabbed command line experience for Windows.",
"Homepage": "https://docs.microsoft.com/windows/terminal/",
"License": "MIT",
"LicenseUrl": "https://github.com/microsoft/terminal/blob/master/LICENSE",
"PrivacyUrl": "https://privacy.microsoft.com/",
"InstallerType": "msix",
"InstallerDownloadUrl": "https://github.com/microsoft/terminal/releases/download/v1.12.10393.0/Microsoft.WindowsTerminal_1.12.10393.0_8wekyb3d8bbwe.msixbundle",
"InstallerSHA256": "23daf0b5a5783d07322b9fee3eef98d45b8d11d4d77f9dbd75a0eb13069592f1"
},

Metadata

Metadata

Assignees

No one assigned

    Labels

    Command-ExportIssue related to WinGet ExportIssue-FeatureThis is a feature request for the Windows Package Manager client.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions