Spago

What Spago is
Spago is a free, open-source PureScript package manager and build tool for Windows, Linux, macOS, and Node.js workflows. It resolves dependencies from the PureScript Registry, local paths, remote packages, or Git repositories, then downloads and compiles them for a project. Workspaces, package sets, and lock files support repeatable setups, while the lock file records the dependency tree and integrity hashes. Spago can run generated JavaScript with Node, execute tests with separate test dependencies, and bundle a project into one JavaScript file for Node or browser use. It can generate HTML, ctags, etags, or Markdown documentation, support alternate backends such as purerl, and publish libraries to the PureScript Registry. Installation is recommended through npm, with Nix also listed. The PureScript compiler must already be installed. Spago does not install npm dependencies, and current code no longer includes legacy build and test watch flags.
Who it suits
Spago suits PureScript developers managing dependencies, builds, tests, documentation, and publishing across desktop platforms. It is especially relevant to projects needing lockfiles, workspaces, or bundled JavaScript output.
What it does well
- Resolves registry, local, remote, and Git packages
- Supports workspaces and lock files
- Runs tests with separate dependencies
- Bundles JavaScript for Node or browsers
- Generates several documentation formats
What to know first
- Requires the PureScript compiler first
- Does not install npm dependencies
- Legacy build and test watch flags were dropped
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Spago | Open-source PureScript package manager and build tool | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Verdict
Spago covers most core PureScript project-management tasks, from dependency resolution through testing and publishing. Teams should plan separate npm dependency handling and note the missing legacy watch flags.
Facts from Spago's own pages
- Backends
- Spago supports alternate PureScript backends, with purerl given as an example. · github.com, 11 Oct 2026
- Build and run
- Spago downloads and compiles project dependencies, builds PureScript projects, and can run the generated JavaScript with Node. · github.com, 11 Oct 2026
- Bundling
- Spago can bundle a project into a single JavaScript file for Node or browser platforms. · github.com, 11 Oct 2026
- Dependency resolution
- Yes · github.com, 22 Sept 2026
- Documentation
- Spago can generate project documentation in HTML, ctags, etags, and Markdown formats. · github.com, 11 Oct 2026
- Free plan
- Yes · github.com, 22 Sept 2026
- Installation
- The recommended installation method for Windows, Linux, and macOS is npm, with Nix also listed as an installation method. · github.com, 11 Oct 2026
- JavaScript dependencies
- Spago does not install npm dependencies; the documentation says users should use the appropriate package manager for native dependencies. · github.com, 11 Oct 2026
- Lockfile support
- Yes · github.com, 22 Sept 2026
- Notable limitation
- The current codebase dropped the build and test watch flags supported by legacy Spago. · github.com, 11 Oct 2026
- Package formats
- PureScript Registry packages; local path packages; Git repositories · github.com, 22 Sept 2026
- Package management
- Dependencies can come from the PureScript Registry, local packages, remote packages, or Git repositories. · github.com, 11 Oct 2026
- Prerequisite
- The documentation assumes the PureScript compiler is already installed. · github.com, 11 Oct 2026
- Publishing
- The publish command can publish a library to the PureScript Registry. · github.com, 11 Oct 2026
- Purpose
- Spago is a PureScript package manager and build tool. · github.com, 11 Oct 2026
- Reproducible builds
- The project says package sets and lock files help make builds reproducible. · github.com, 11 Oct 2026
- Security and integrity
- The Spago lock file tracks the exact dependency tree and integrity hashes. · github.com, 11 Oct 2026
- Supported platforms
- Windows,Linux,macOS,Node.js · github.com, 22 Sept 2026
- Testing
- Spago provides a test command and supports configuring test dependencies separately from application or library dependencies. · github.com, 11 Oct 2026
- Workspace support
- A workspace can contain multiple packages, allowing monorepo builds. · github.com, 11 Oct 2026
Where Spago stands on Freedom251
- Package Managers#32 of 93