Skip to content

Suggestion: Include compiler ranges in package metadata #255

Open
@thomashoneyman

Description

@thomashoneyman

A PureScript package normally is compatible with some, but not all, compiler versions. I suggest that we allow package authors to specify this information in their package manifest the same way that dependencies are specified (as described in #43). In other words, a purs.json file would include:

{ "name": "my-package"
, "version": "1.2.3"
, "compiler": ">=12.0.0 <14.0.0"
}

Field names could be purs, purs-version, compiler, compiler-version, or something like that.

Why?

A manifest including supported compiler versions opens up a few new possibilities:

  • We can verify that a package compiles when added to the registry (or package set) by ensuring it compiles with a sample of compiler versions in the specified range (at least 1 per major version specified, perhaps).
  • We can show what compiler versions a package supports in the Pursuit documentation.
  • We can add a filter to Pursuit that allows you to look at packages only associated with particular compiler versions. Folks regularly ask to see just 0.14-compatible packages, but it would also be nice to be able to go "back in time" when working on an old project and see only 0.12-compatible packages (for example).

Metadata

Metadata

Assignees

No one assigned

    Labels

    alphaenhancementSomething that would be good to have but it's not a priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions