open-index/open-npm huggingface dataset:
npm package: @pnpm/config.deps-installer
Description: Installer for configurational dependencies
Latest version: 1000.1.5

# @pnpm/config.deps-installer

> Installer for configurational dependencies

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

## Installation

```sh
pnpm add @pnpm/config.deps-installer
```

## License

MIT
npm package: @pnpm/core
Description: Fast, disk space efficient installation engine
Latest version: 1016.2.0

# @pnpm/core

> Fast, disk space efficient installation engine. Used by [pnpm](https://github.com/pnpm/pnpm)

## Install

Install it via npm.

```
pnpm add @pnpm/core
```

It also depends on `@pnpm/logger` version `1`, so install it as well via:

```
pnpm add @pnpm/logger@1
```

## API

### `mutateModules(importers, options)`

TODO

### `link(linkFromPkgs, linkToModules, [options])`

Create symbolic links from the linked packages to the target package's `node_modules` (and its `node_modules/.bin`).

**Arguments:**

* `linkFromPkgs` - *String[]* - paths to the packages that should be linked.
* `linkToModules` - *String* - path to the dependent package's `node_modules` directory.
* `options.reporter` - *Function* - A function that listens for logs.

### `linkToGlobal(linkFrom, options)`

Create a symbolic link from the specified package to the global `node_modules`.

**Arguments:**

* `linkFrom` - *String* - path to the package that should be linked.
* `globalDir` - *String* - path to the global directory.
* `options.reporter` - *Function* - A function that listens for logs.

### `linkFromGlobal(pkgNames, linkTo, options)`

Create symbolic links from the global `pkgName`s to the `linkTo/node_modules` folder.

**Arguments:**

* `pkgNames` - *String[]* - packages to link.
* `linkTo` - *String* - package to link to.
* `globalDir` - *String* - path to the global directory.
* `options.reporter` - *Function* - A function that listens for logs.

### `storeStatus([options])`

Return the list of modified dependencies.

**Arguments:**

* `options.reporter` - *Function* - A function that listens for logs.

**Returns:** `Promise<string[]>` - the paths to the modified packages of the current project. The paths contain the location of packages in the store,
not in the projects `node_modules` folder.

### `storePrune([options])`

Remove unreferenced packages from the store.

## Hooks

Hooks are functions that can step into the installation process.

### `readPackage(pkg: Manifest): Manifest | Promise<Manifest>`

This hook is called with every dependency's manifest information.
The modified manifest returned by this hook is then used by `@pnpm/core` during installation.
An async function is supported.

**Example:**

```js
const { installPkgs } = require('@pnpm/core')

installPkgs({
  hooks: {readPackage}
})

function readPackage (pkg) {
  if (pkg.name === 'foo') {
    pkg.dependencies = {
      bar: '^2.0.0',
    }
  }
  return pkg
}
```

### `afterAllResolved(lockfile: Lockfile): Lockfile | Promise<Lockfile>`

This hook is called after all dependencies are resolved. It receives and returns the resolved lockfile object.
An async function is supported.

## License

[MIT](LICENSE)
npm package: @pnpm/crypto.polyfill
Description: Polyfill for functions in the crypto library
Latest version: 1000.1.0

# @pnpm/crypto.polyfill

> Polyfill for functions in the crypto library

[![npm version](https://img.shields.io/npm/v/@pnpm/crypto.polyfill.svg)](https://www.npmjs.com/package/@pnpm/crypto.polyfill)

## Installation

```sh
pnpm add @pnpm/crypto.polyfill
```

## License

MIT
npm package: @pnpm/default-fetcher
Description: pnpm's default package fetcher
Author: Zoltan Kochan
Latest version: 6.0.9

# @pnpm/default-fetcher

> pnpm's default package fetcher

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

## Installation

```sh
<pnpm|npm|yarn> add @pnpm/default-fetcher
```

## License

MIT © [Zoltan Kochan](https://www.kochan.io/)
npm package: @pnpm/default-reporter
Description: The default reporter of pnpm
Latest version: 1002.1.14

# @pnpm/default-reporter

> The default reporter of pnpm

## Installation

```
pnpm add @pnpm/default-reporter
```

## Usage

```ts
import { streamParser } from '@pnpm/logger'
import { initDefaultReporter } from '@pnpm/default-reporter'

const stopReporting = initDefaultReporter({
  context: {
    argv: [],
  },
  streamParser,
})

try {
  // calling some pnpm APIs
} finally {
  stopReporting()
}
```

## Style Guide

1. Never use blue or grey as font color as they are hard to read in many consoles.
   1. Use dim instead of grey
   1. Use cyan bright instead of blue
1. Don't hide the CLI cursor. (It is easier to never hide but it is really needed only when scripts are running.)
1. Don't use green and yellow to distinct something.

## License

[MIT](LICENSE)
npm package: @pnpm/default-resolver
Description: pnpm's default package resolver
Latest version: 1002.3.8

# @pnpm/default-resolver

> pnpm's default package resolver

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

## Installation

```sh
pnpm add @pnpm/default-resolver
```

## License

MIT
npm package: @pnpm/dependency-path
Description: Utilities for working with symlinked node_modules
Latest version: 1001.1.10

# @pnpm/dependency-path

> Utilities for working with symlinked node_modules

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

Like `path` but for packages in a symlinked `node_modules`. Symlinked `node_modules` is a unique dependencies layout that
[pnpm](https://github.com/pnpm/pnpm) creates.

## Installation

```sh
pnpm add @pnpm/dependency-path
```

## Usage

<!--/* cspell:disable */-->
<!--@example('./example.js')-->
```js
const dependencyPath = require('@pnpm/dependency-path')

const registry = 'https://registry.npmjs.org/'

console.log(dependencyPath.isAbsolute('/foo/1.0.0'))
//> false

// it is confusing currently because relative starts with /.
// It will be changed in the future to vice versa
console.log(dependencyPath.resolve(registry, '/foo/1.0.0'))
//> registry.npmjs.org/foo/1.0.0

console.log(dependencyPath.relative(registry, 'registry.npmjs.org/foo/1.0.0'))
//> /foo/1.0.0

console.log(dependencyPath.refToAbsolute('1.0.1', 'foo', registry))
//> registry.npmjs.org/foo/1.0.1

console.log(dependencyPath.refToAbsolute('github.com/foo/bar/twe0jger043t0ew', 'foo', registry))
//> github.com/foo/bar/twe0jger043t0ew

console.log(dependencyPath.refToRelative('1.0.1', 'foo', registry))
//> /foo/1.0.1

console.log(dependencyPath.parse('/foo/2.0.0'))
//> { isAbsolute: false, name: 'foo', version: '2.0.0' }
```
<!--/@-->
<!--/* cspell:enable */-->

## License

MIT
npm package: @pnpm/directory-fetcher
Description: A fetcher for local directory packages
Latest version: 1000.1.24

# @pnpm/directory-fetcher

> Fetcher for local directory packages

[![npm version](https://img.shields.io/npm/v/@pnpm/directory-fetcher.svg)](https://www.npmjs.com/package/@pnpm/directory-fetcher)

## Installation

```
pnpm add @pnpm/directory-fetcher
```

## License

MIT
npm package: @pnpm/env.path
Description: Functions for changing PATH env variable
Latest version: 1000.0.0

# @pnpm/env.path

> Functions for changing PATH env variable

[![npm version](https://img.shields.io/npm/v/@pnpm/env.path.svg)](https://www.npmjs.com/package/@pnpm/env.path)

## Installation

```sh
pnpm add @pnpm/env.path
```

## License

MIT
npm package: @pnpm/env.system-node-version
Description: Detects the current system node version
Latest version: 1000.0.16

# @pnpm/env.system-node-version

> Detects the current system node version

[![npm version](https://img.shields.io/npm/v/@pnpm/env.system-node-version.svg)](https://www.npmjs.com/package/@pnpm/env.system-node-version)

## Installation

```sh
pnpm add @pnpm/env.system-node-version
```

## License

MIT
npm package: @pnpm/exec.build-commands
Description: Commands for managing dependency builds
Latest version: 1002.1.2

# @pnpm/exec.build-commands

> Commands for managing dependency builds

[![npm version](https://img.shields.io/npm/v/@pnpm/exec.build-commands.svg)](https://www.npmjs.com/package/@pnpm/exec.build-commands)

## Installation

```sh
pnpm add @pnpm/exec.build-commands
```

## License

MIT
npm package: @pnpm/exec.files-include-install-scripts
Description: Checks if a package has files indicating that it needs to be built during installation
Latest version: 1.0.0

# @pnpm/exec.files-include-install-scripts

> Checks if a package has files indicating that it needs to be built during installation

[![npm version](https://img.shields.io/npm/v/@pnpm/exec.files-include-install-scripts.svg)](https://www.npmjs.com/package/@pnpm/exec.files-include-install-scripts)

## Installation

```sh
pnpm add @pnpm/exec.files-include-install-scripts
```

## License

MIT
npm package: @pnpm/exec.pkg-requires-build
Description: Checks if a package requires to be built
Latest version: 1000.0.16

# @pnpm/exec.pkg-requires-build

> Checks if a package requires to be built

[![npm version](https://img.shields.io/npm/v/@pnpm/exec.pkg-requires-build.svg)](https://www.npmjs.com/package/@pnpm/exec.pkg-requires-build)

## Installation

```sh
pnpm add @pnpm/exec.pkg-requires-build
```

## License

MIT
npm package: @pnpm/exportable-manifest
Description: Creates an exportable manifest
Latest version: 1000.4.2

# @pnpm/exportable-manifest

> Creates an exportable manifest

[![npm version](https://img.shields.io/npm/v/@pnpm/exportable-manifest.svg)](https://www.npmjs.com/package/@pnpm/exportable-manifest)

## Installation

```sh
pnpm add @pnpm/exportable-manifest
```

## License

MIT
npm package: @pnpm/fetch
Description: node-fetch with retries
Latest version: 1001.0.0

# @pnpm/fetch

> node-fetch with retries

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

## Installation

```sh
pnpm add @pnpm/fetch
```

## License

MIT
npm package: @pnpm/fetcher-base
Description: Types for pnpm-compatible fetchers
Latest version: 1001.2.2

# @pnpm/fetcher-base

> Types for pnpm-compatible fetchers

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

## Installation

```sh
pnpm add @pnpm/fetcher-base
```

## Usage

Here's a template for a fetcher using types from `@pnpm/fetcher-base`:

```ts
import { Resolution } from '@pnpm/resolver-base'
import {
  FetchOptions,
  FetchResult,
} from '@pnpm/fetcher-base'

export async function demoFetcher (
  resolution: Resolution,
  targetFolder: string,
  opts: FetchOptions,
): Promise<FetchResult> {
  // ...
  return {
    filesIndex,
    tempLocation,
  }
}
```

## License

MIT
npm package: @pnpm/fetching.tarball-worker
Description: A worker for extracting package taralls to the store
Latest version: 0.0.0

# @pnpm/fetching.tarball-worker

> A worker for extracting package taralls to the store

[![npm version](https://img.shields.io/npm/v/@pnpm/fetching.tarball-worker.svg)](https://www.npmjs.com/package/@pnpm/fetching.tarball-worker)

## Installation

```
pnpm add @pnpm/fetching.tarball-worker
```

## License

MIT
npm package: @pnpm/filter-workspace-packages
Description: Filters packages in a workspace
Latest version: 1000.1.6

# @pnpm/filter-workspace-packages

> Filters packages in a workspace

[![npm version](https://img.shields.io/npm/v/@pnpm/filter-workspace-packages.svg)](https://www.npmjs.com/package/@pnpm/filter-workspace-packages)

## Installation

```sh
pnpm add @pnpm/filter-workspace-packages
```

## License

MIT
npm package: @pnpm/find-workspace-dir
Description: Finds the root of a pnpm workspace
Latest version: 1000.1.5

# @pnpm/find-workspace-dir

> Finds the root of a pnpm workspace

[![npm version](https://img.shields.io/npm/v/@pnpm/find-workspace-dir.svg)](https://www.npmjs.com/package/@pnpm/find-workspace-dir)

## Installation

```sh
pnpm add @pnpm/find-workspace-dir
```

## License

MIT
npm package: @pnpm/fs.find-packages
Description: Find all packages inside a directory
Latest version: 1000.0.24

# @pnpm/fs.find-packages

> Find all packages inside a directory

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

## Installation

```sh
pnpm add @pnpm/fs.find-packages
```

## Usage

```js
const path = require('path')
const findPkgs = require('@pnpm/fs.find-packages')

findPkgs(path.join(__dirname, 'test', 'fixture'))
  .then(pkgs => console.log(pkgs))
  .catch(err => console.error(err))
  //> [ { path: '/home/zkochan/src/find-packages/test/fixture/pkg',
  //      manifest: { name: 'foo', version: '1.0.0' },
  //      writeProjectManifest: [AsyncFunction] } ]
```

## API

### `findPackages(dir, [opts])`

#### `dir`

The directory in which to search for packages.

#### `opts`

Parameters normally passed to [glob](https://www.npmjs.com/package/glob)

#### `opts.patterns`

Array of globs to use as package locations. For example: `['packages/**', 'utils/**']`.

#### `opts.ignore`

Patterns to ignore when searching for packages. By default: `**/node_modules/**`, `**/bower_components/**`, `**/test/**`, `**/tests/**`.

## License

MIT © [Zoltan Kochan](https://www.kochan.io)
npm package: @pnpm/fs.msgpack-file
Description: Msgpack serialization utilities for pnpm cache files
Latest version: 1100.0.0-0

# @pnpm/fs.msgpack-file

> MessagePack file serialization utilities for pnpm

[![npm version](https://img.shields.io/npm/v/@pnpm/fs.msgpack-file.svg)](https://www.npmjs.com/package/@pnpm/fs.msgpack-file)

## Installation

```sh
pnpm add @pnpm/fs.msgpack-file
```

## Usage

```typescript
import {
  readMsgpackFile,
  readMsgpackFileSync,
  writeMsgpackFile,
  writeMsgpackFileSync,
} from '@pnpm/fs.msgpack-file'

// Async
await writeMsgpackFile('data.mpk', { foo: 'bar' })
const data = await readMsgpackFile('data.mpk')

// Sync
writeMsgpackFileSync('data.mpk', { foo: 'bar' })
const data = readMsgpackFileSync('data.mpk')
```

## Features

- Uses [msgpackr](https://github.com/kriszyp/msgpackr) for fast MessagePack serialization
- Supports `Map` and `Set` types natively
- Record structure optimization enabled for 2-3x faster decoding

## License

MIT
npm package: @pnpm/fs.v8-file
Description: Reading/writing binary files serialized with v8
Latest version: 1100.0.0-0

# @pnpm/fs.v8-file

> Reading/writing binary files serialized with v8

[![npm version](https://img.shields.io/npm/v/@pnpm/fs.v8-file)](https://www.npmjs.com/package/@pnpm/fs.v8-file)

Reading and deserializing a binary file generated with v8.serialize appears to be about 23% faster than reading and parsing a JSON file. Other operations are similar in speed. Therefore, we use V8 binary files instead of JSON files to store data in pnpm’s global store and cache. The disadvantage of this approach is that V8 files generated by newer versions of Node.js cannot be deserialized by older versions.

## Installation

```sh
pnpm add @pnpm/fs.v8-file
```

## License

MIT
npm package: @pnpm/get-context
Description: Gets context information about a project
Latest version: 1001.2.8

# @pnpm/get-context

> Gets context information about a project

[![npm version](https://img.shields.io/npm/v/@pnpm/get-context.svg)](https://www.npmjs.com/package/@pnpm/get-context)

## Installation

```sh
pnpm add @pnpm/get-context
```

## License

MIT
npm package: @pnpm/git-fetcher
Description: A fetcher for git-hosted packages
Latest version: 1006.0.6

# @pnpm/git-fetcher

> Fetcher for git-hosted packages

[![npm version](https://img.shields.io/npm/v/@pnpm/git-fetcher.svg)](https://www.npmjs.com/package/@pnpm/git-fetcher)

## Installation

```
pnpm add @pnpm/git-fetcher
```

## License

MIT
npm package: @pnpm/git-resolver
Description: Resolver for git-hosted packages
Latest version: 1001.2.2

# @pnpm/git-resolver

> Resolver for git-hosted packages

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

## Installation

```
pnpm add @pnpm/git-resolver
```

## Usage

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

const resolveFromNpm = createResolveFromNpm({})

resolveFromNpm({
  bareSpecifier: 'kevva/is-negative#16fd36fe96106175d02d066171c44e2ff83bc055'
})
.then(resolveResult => console.log(JSON.stringify(resolveResult, null, 2)))
//> {
//    "id": "github.com/kevva/is-negative/16fd36fe96106175d02d066171c44e2ff83bc055",
//    "normalizedBareSpecifier": "github:kevva/is-negative#16fd36fe96106175d02d066171c44e2ff83bc055",
//    "resolution": {
//      "tarball": "https://codeload.github.com/kevva/is-negative/tar.gz/16fd36fe96106175d02d066171c44e2ff83bc055"
//    },
//    "resolvedVia": "git-repository"
//  }
```
<!--/@-->

## License

MIT
npm package: @pnpm/git-utils
Description: Utilities for git
Latest version: 1000.0.0

# @pnpm/git-utils

> Utilities for git

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

## Installation

```
pnpm add @pnpm/git-utils
```

## Usage

<!--@example('./example.js')-->
```js
'use strict'
const { getCurrentBranchName } = require('@pnpm-utils').default

main()
async function main() {
  const branchName = await getCurrentBranch();
  console.log(branchName)
}
```
<!--/@-->

# License

MIT
npm package: @pnpm/graceful-fs
Description: Promisified graceful-fs
Latest version: 1000.1.0

# @pnpm/graceful-fs

> Promisified graceful-fs

[![npm version](https://img.shields.io/npm/v/@pnpm/graceful-fs.svg)](https://www.npmjs.com/package/@pnpm/graceful-fs)

## Installation

```sh
pnpm add @pnpm/graceful-fs
```

## License

MIT
npm package: @pnpm/hoist
Description: Hoists dependencies in a node_modules created by pnpm
Latest version: 1002.0.17

# @pnpm/hoist

> Hoists dependencies in a node_modules created by pnpm

Formerly `@pnpm/shamefully-flatten`.

## Installation

```
pnpm add @pnpm/hoist
```

## License

MIT