Skip to content

Expose engines.positron (and others as needed) as a gallery metadata property #1686

@bdeitte

Description

@bdeitte

The current setup forces IDEs to fetch the full extension manifest for every extension just to check engine
compatibility, which is more load on openvsx. We would like to use engines.positron for this, as noted in posit-dev/positron#12311. It should also be possible to be done in a way where more IDEs can easily be added to the list as needed.

Most of this work is already done:

  • ExtensionProcessor parses all engines from package.json generically
  • ExtensionVersion stores all engines (e.g., "vscode@^1.85.0,positron@^2024.01.0")
  • REST API (ExtensionJson) returns the full engines map via getEnginesMap()

The only change needed is in the adapter API, which only maps engines.vscode to Microsoft.VisualStudio.Code.Engine.

As an example, for an extension with:

  {
    "engines": {
      "vscode": "^1.85.0",
      "positron": "^2024.01.0"
    }
  }

The query response properties would now include:

  {
    "key": "Microsoft.VisualStudio.Code.Engine",
    "value": "^1.85.0"
  },
  {
    "key": "Positron.Engine",
    "value": "^2024.01.0"
  }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions