# @pnpm/npm-resolver

> Resolver for npm-hosted packages

Latest version **1005.2.3** (published 2026-03-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @pnpm/npm-resolver
pnpm add @pnpm/npm-resolver
yarn add @pnpm/npm-resolver
bun add @pnpm/npm-resolver
```

## Health

**Score 75/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score; high quality score; popular repo.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1005.2.3 |
| Published | 2026-03-24 |
| First published | 2017-11-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18.12 |
| Dependencies | 29 |
| Unpacked size | 112.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 36781 |
| Maintainers | pnpmuser, zkochan |
| Keywords | pnpm, pnpm10, npm, resolver |

## Links

- npm: https://www.npmjs.com/package/@pnpm/npm-resolver
- Repository: https://github.com/pnpm/pnpm.git#main
- Homepage: https://github.com/pnpm/pnpm/tree/main/resolving/npm-resolver#readme
- Issues: https://github.com/pnpm/pnpm/issues
- Funding: https://opencollective.com/pnpm
- npm.io page: https://npm.io/package/@pnpm/npm-resolver

## Dependencies (29)

- [ssri](https://npm.io/package/ssri.md) 10.0.5
- [ramda](https://npm.io/package/ramda.md) npm:@pnpm/ramda@0.28.1
- [semver](https://npm.io/package/semver.md) ^7.7.4
- [p-limit](https://npm.io/package/p-limit.md) ^3.1.0
- [lru-cache](https://npm.io/package/lru-cache.md) ^10.4.3
- [p-memoize](https://npm.io/package/p-memoize.md) 4.0.1
- [path-temp](https://npm.io/package/path-temp.md) ^2.1.1
- [@pnpm/error](https://npm.io/package/@pnpm/error.md) 1000.1.0
- [@pnpm/types](https://npm.io/package/@pnpm/types.md) 1001.3.0
- [semver-utils](https://npm.io/package/semver-utils.md) ^1.1.4
- [@zkochan/retry](https://npm.io/package/@zkochan/retry.md) ^0.2.0
- [load-json-file](https://npm.io/package/load-json-file.md) ^6.2.0
- [normalize-path](https://npm.io/package/normalize-path.md) ^3.0.0
- [@pnpm/constants](https://npm.io/package/@pnpm/constants.md) 1001.3.1
- [encode-registry](https://npm.io/package/encode-registry.md) ^3.0.1
- [rename-overwrite](https://npm.io/package/rename-overwrite.md) ^6.0.6
- [@pnpm/crypto.hash](https://npm.io/package/@pnpm/crypto.hash.md) 1000.2.2
- [@pnpm/graceful-fs](https://npm.io/package/@pnpm/graceful-fs.md) 1000.1.0
- [@pnpm/core-loggers](https://npm.io/package/@pnpm/core-loggers.md) 1001.0.9
- [@pnpm/resolver-base](https://npm.io/package/@pnpm/resolver-base.md) 1005.4.1
- [@pnpm/fetching-types](https://npm.io/package/@pnpm/fetching-types.md) 1000.2.1
- [@pnpm/registry.types](https://npm.io/package/@pnpm/registry.types.md) 1000.1.4
- [parse-npm-tarball-url](https://npm.io/package/parse-npm-tarball-url.md) ^4.0.0
- [version-selector-type](https://npm.io/package/version-selector-type.md) ^3.0.0
- [@pnpm/workspace.spec-parser](https://npm.io/package/@pnpm/workspace.spec-parser.md) 1000.0.0
- [@pnpm/resolve-workspace-range](https://npm.io/package/@pnpm/resolve-workspace-range.md) 1000.1.0
- [@pnpm/pick-registry-for-package](https://npm.io/package/@pnpm/pick-registry-for-package.md) 1000.0.16
- [@pnpm/registry.pkg-metadata-filter](https://npm.io/package/@pnpm/registry.pkg-metadata-filter.md) 1000.1.6
- [@pnpm/resolving.jsr-specifier-parser](https://npm.io/package/@pnpm/resolving.jsr-specifier-parser.md) 1000.0.4

## Alternatives

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 1005.2.3 (latest) — 2026-03-24
- 1005.2.6 (latest-10) — 2026-06-10
- 900.0.3 (latest-9) — 2024-12-27
- 0.0.0-20230605-20230605142810 (dev) — 2023-06-05
- 12.1.9 (latest-6) — 2022-07-05
- 9.1.0 (pnpm-temp) — 2020-08-16
- 7.3.11 (next) — 2020-04-17
- 3.0.0-1 (next-major) — 2019-03-04
- 1005.2.5 — 2026-05-27
- 1005.2.4 — 2026-05-06
- 1005.2.2 — 2026-03-07
- 1005.2.1 — 2026-02-17
- 1005.2.0 — 2026-02-07
- 1005.1.2 — 2026-01-26
- 1005.1.1 — 2026-01-19
- … 234 more at https://npm.io/package/@pnpm/npm-resolver/versions

## README

# @pnpm/npm-resolver

> Resolver for npm-hosted packages

<!--@shields('npm')-->
[![npm version](https://img.shields.io/npm/v/@pnpm/npm-resolver.svg)](https://www.npmjs.com/package/@pnpm/npm-resolver)
<!--/@-->

## Installation

```
pnpm add @pnpm/npm-resolver
```

## Usage

<!--@example('./example.js')-->
```js
'use strict'
const createResolveFromNpm = require('@pnpm/npm-resolver').default

const resolveFromNpm = createResolveFromNpm({
  store: '.store',
  offline: false,
  rawConfig: {
    registry: 'https://registry.npmjs.org/',
  },
})

resolveFromNpm({alias: 'is-positive', bareSpecifier: '1.0.0'}, {
  registry: 'https://registry.npmjs.org/',
})
.then(resolveResult => console.log(JSON.stringify(resolveResult, null, 2)))
//> {
//    "id": "registry.npmjs.org/is-positive/1.0.0",
//    "latest": "3.1.0",
//    "package": {
//      "name": "is-positive",
//      "version": "1.0.0",
//      "devDependencies": {
//        "ava": "^0.0.4"
//      },
//      "_hasShrinkwrap": false,
//      "directories": {},
//      "dist": {
//        "shasum": "88009856b64a2f1eb7d8bb0179418424ae0452cb",
//        "tarball": "https://registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz"
//      },
//      "engines": {
//        "node": ">=0.10.0"
//      }
//    },
//    "resolution": {
//      "integrity": "sha1-iACYVrZKLx632LsBeUGEJK4EUss=",
//      "registry": "https://registry.npmjs.org/",
//      "tarball": "https://registry.npmjs.org/is-positive/-/is-positive-1.0.0.tgz"
//    },
//    "resolvedVia": "npm-registry"
//  }
```
<!--/@-->

## License

MIT

---
_Source: https://npm.io/package/@pnpm/npm-resolver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
