volta-cli/volta

`volta list` output is wrong for locally-installed tools

Open

#711 opened on Apr 16, 2020

View on GitHub
 (5 comments) (1 reaction) (0 assignees)Rust (189 forks)batch import
buggood first issue

Repository metrics

Stars
 (8,309 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

In a project with a given tool installed locally (in this case, ember-cli)—

  • Expected:

    $ volta list
    
    ⚡️ Currently active tools:
    
        Node: v12.16.2 (current @ /Users/chris/dev/test/foo/package.json)
        Yarn: v1.22.4 (current @ /Users/chris/dev/test/foo/package.json)
        Tool binaries available:
            ember (current @ /Users/chris/dev/test/foo/package.json)
    
  • Actual:

    $ volta list
    
    ⚡️ Currently active tools:
    
        Node: v12.16.2 (current @ /Users/chris/dev/test/foo/package.json)
        Yarn: v1.22.4 (current @ /Users/chris/dev/test/foo/package.json)
        Tool binaries available:
            ember (default)
    

Additionally, we currently report the wrong platform values for these. In the extended form (volta list all):

  • Expected:

    ember-cli@3.17.0 (current @ /Users/chris/dev/test/foo/package.json)
        binary tools: ember
        platform:
            runtime: node@12.16.2 (current @ /Users/chris/dev/test/foo/package.json)
            package manager: yarn@1.22.4 (current @ /Users/chris/dev/test/foo/package.json)
    
  • Actual:

    ember-cli@3.17.0 (default)
        binary tools: ember
        platform:
            runtime: node@12.16.2
            package manager: npm@built-in
    

This correctly reports the Node version (though without the current @ ... from the design), but not the correct package manager version.

This affects both the --format=plain and the --format=human variants, which is expected: the underlying logic for both is identical.

Contributor guide