Files
pnpm/resolving/default-resolver/tsconfig.json
Zoltan Kochan 58b0019658 feat: add aqua resolver for installing binary tools from GitHub Releases
Add a new `aqua:` protocol that resolves packages using the aqua-registry,
a curated collection of 3,000+ CLI tools with cross-platform GitHub Release
asset definitions.

Usage: pnpm add aqua:owner/repo[@version]
Example: pnpm add --global aqua:junegunn/fzf@v0.57.0

The resolver fetches the tool's registry YAML from aquaproj/aqua-registry,
resolves versions via the GitHub Releases API, expands Go-style asset
templates for each supported platform, and returns a VariationsResolution
with per-platform binary download URLs.

Key advantages over the Homebrew+Scoop approach:
- Single data source covers all platforms (no merging two registries)
- Downloads from GitHub Releases (no GHCR auth or redirect dance)
- Binaries are statically linked (no native library deps or LD_LIBRARY_PATH)
- Full version history via GitHub Releases API
- Checksum verification using aqua-registry's checksum configuration

The resolver is placed before the local resolver in the resolution chain
to prevent specifiers containing "/" (e.g., aqua:owner/repo) from being
misinterpreted as local file paths.eat: aqua protocol
2026-03-28 18:34:53 +01:00

65 lines
1.0 KiB
JSON

{
"extends": "@pnpm/tsconfig",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
},
"include": [
"src/**/*.ts",
"../../__typings__/**/*.d.ts"
],
"references": [
{
"path": "../../core/error"
},
{
"path": "../../core/types"
},
{
"path": "../../engine/runtime/bun-resolver"
},
{
"path": "../../engine/runtime/deno-resolver"
},
{
"path": "../../engine/runtime/node-resolver"
},
{
"path": "../../fetching/fetcher-base"
},
{
"path": "../../fetching/tarball-fetcher"
},
{
"path": "../../fetching/types"
},
{
"path": "../../hooks/types"
},
{
"path": "../../network/fetch"
},
{
"path": "../../store/cafs-types"
},
{
"path": "../aqua-resolver"
},
{
"path": "../git-resolver"
},
{
"path": "../local-resolver"
},
{
"path": "../npm-resolver"
},
{
"path": "../resolver-base"
},
{
"path": "../tarball-resolver"
}
]
}