Awesome
Package Sets
A curated list of PureScript Lua packages for the spago
package manager.
What is a package set?
A package set is a collection of packages in which there is only one version for each package, and the entire collection of packages compiles successfully together. A package set ensures you can always install a package from the set without introducing a conflict in your dependencies.
If you use a package manager based on package sets, that means that to install a package:
- The package must be in the package set
- The package's dependencies and transitive dependencies must also be in the package set
Adding your package
This repository aims to be a good collection of packages you can depend on.
If you would like to add your new package to the package sets, please make a PR.
How do I use package-sets
with spago
?
spago
is a package manager and build tool for PureScript which uses Dhall package sets. This makes them easy to extend and override.
With spago
the package-set address is specified in the upstream
variable of your local packages.dhall
, which will usually import a remote packages.dhall
, e.g. the one from this repo. You can change the package-set version you are using by running spago upgrade-set
, or if you want to point to a particular version, spago upgrade-set --tag <tag>
.
How do I use package-sets
with psc-package?
[psc-package
][psc-package] is a package manager for PureScript that works essentially by running a bunch of git commands. It is not maintained by the PureScript core team and we recommend using Spago instead.
With psc-package
the package-set address is set in the source
field of a psc-package.json
file, which should list the URL of a repository with a packages.json
file in the root (such as this one). Your configuration should look something like this:
{
"name": "project-name",
"set": "set-name",
"source": "https://github.com/purescript/package-sets.git",
"depends": ["aff", "console", "prelude"]
}