Open
Description
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).