Skip to content

feat: surface engines and devEngines #970

@bnb

Description

@bnb

engines and devEngines both provide really useful developer signals. Both could enhance npmx in different ways, since they represent different data:

  • engines expresses version support:
    • frequently expressing minimum support, engines is very useful when expressed accurately for understanding minimum requirements for usage. It's not currently widely used to express support, but that stems from a lack of functionality from package managers and version managers to act on the expressions rather than a lack of actual utility. Since the expression is SemVer, we could also serve a warning if the engines range is EOL/out of support.
  • devEngines is a newer property in package.json that expresses functional support:
    • devEngines tells you what tools the package works with. If your package will only work with Node.js, you can express that through devEngines. If it only works in Deno, you can express that through devEngines. This is useful metadata that can enrich what we're surfacing to users in the UI and enable further search/filtering options.

Encouraging the usage of both engines and devEngines through npmx would, imo, be a benefit to the ecosystem and would encourage more projects to accurately define + maintain them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions