open-index/open-npm huggingface dataset:
npm package: @pnpm/symlink-dependency
Description: Symlink a dependency to node_modules
Latest version: 1000.0.17

# @pnpm/symlink-dependency

> Symlink a dependency to node_modules

## Installation

```
pnpm install @pnpm/symlink-dependency
```

## Usage

```ts
import { symlinkDependency } from '@pnpm/symlink-dependency'

await symlinkDependency('/home/src/foo', '/home/src/my-project/node_modules', 'foo')
//> { reused: false }
```

## License

MIT
npm package: @pnpm/tarball-fetcher
Description: Fetcher for packages hosted as tarballs
Latest version: 1006.0.6

# @pnpm/tarball-fetcher

> Fetcher for packages hosted as tarballs

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

## Installation

```
pnpm add @pnpm/tarball-fetcher
```

## License

MIT
npm package: @pnpm/tarball-resolver
Description: Resolver for tarball dependencies
Latest version: 1002.2.1

# @pnpm/tarball-resolver

> Resolver for tarball dependencies

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

## Installation

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

## Usage

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

resolveFromTarball({bareSpecifier: 'http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz'})
  .then(resolveResult => console.log(JSON.stringify(resolveResult, null, 2)))
  //> {
  //    "id": "registry.npmjs.org/is-array/-/is-array-1.0.1",
  //    "normalizedBareSpecifier": "http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz",
  //    "resolution": {
  //      "tarball": "http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz"
  //    },
  //    "resolvedVia": "url"
  //  }
```
<!--/@-->

## License

MIT
npm package: @pnpm/tools.path
Description: Path to tools
Latest version: 1000.0.0

# @pnpm/tools.path

> Path to tools

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

## Installation

```
pnpm add @pnpm/tools.path
```

## License

MIT
npm package: @pnpm/tools.plugin-commands-self-updater
Description: A command for updating pnpm itself
Latest version: 1000.1.54

# @pnpm/tools.plugin-commands-self-updater

> A command for updating pnpm itself

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

## Installation

```
pnpm add @pnpm/tools.plugin-commands-self-updater
```

## License

MIT
npm package: @pnpm/trusted-deps
Description: A list of OSS packages that are known to require lifecycle scripts to function properly
Latest version: 0.1.1

# @pnpm/trusted-deps

> A list of OSS packages that are known to require lifecycle scripts to function properly

We currently use the list maintained by Bun. So if you'd like to add a new package, submit it [here](https://github.com/oven-sh/bun/blob/main/src/install/default-trusted-dependencies.txt).

## Installation

```
pnpm add --config @pnpm/trusted-deps
```

## Usage

Reference `allow.json` from this config dependency in your `pnpm-workspace.yaml`:

```yaml
onlyBuiltDependenciesFile: node_modules/.pnpm-config/@pnpm/trusted-deps/allow.json
```

## License

MIT
npm package: @pnpm/tslint-config
Description: pnpm's TSLint configuration
Author: Zoltan Kochan
Latest version: 1.0.0

# @pnpm/tslint-config

> pnpm's TSLint configuration

## Installation

```
pnpm add -D @pnpm/tslint-config tslint
```

## Usage

Create the following `tslint.json` file:

```json
{
  "extends": "@pnpm/tslint-config"
}
```

## License

MIT
npm package: @pnpm/types-fixer
Description: A hook for fixing TypeScript issues
Latest version: 0.1.0

# @pnpm/types-fixer

> A hook for fixing TypeScript issues

If you have issues in a TypeScript project that uses pnpm, this config dependency might help. It fixes packages in your dependencies by adding missing `@types/` dependencies to them during installation.

## Installation

```
pnpm add --config @pnpm/types-fixer
```

This will add `@pnpm/types-fixer` to the [configDependencies](https://pnpm.io/config-dependencies) field in your `pnpm-workspace.yaml`.

## Usage

If you don't have a [pnpmfile](https://pnpm.io/pnpmfile) in your project, then add this to `pnpm-workspace.yaml`:

```yaml
pnpmfile: node_modules/.pnpm-config/@pnpm/types-fixer/pnpmfile.cjs
```

If you have a `.pnpmfile.cjs` already in your project, then you can reexport the `readPackage` hooks from `@pnpm/types-fixer`. This should be your `.pnpmfile.cjs`:

```js
module.exports = {
  hooks: {
    ...require('.pnpm-config/@pnpm/types-fixer/pnpmfile.cjs').hooks,
    // Other hooks in your project
  }
}
```

Alternatively, you may have other changes in your `readPackage` hook:

```js
const { readPackage: fixTypes } = require('.pnpm-config/@pnpm/types-fixer/pnpmfile.cjs').hooks

module.exports = {
  hooks: {
    readPackage (pkg) {
      // ...
      return fixTypes(pkg)
    }
  }
}
```

## License

MIT
npm package: @pnpm/which-version-is-pinned
Description: Takes a version spec and returns which version is pinned by it
Latest version: 1000.0.0

# @pnpm/which-version-is-pinned

> Takes a version spec and returns which version is pinned by it

## Installation

```
pnpm add @pnpm/which-version-is-pinned
```

## Usage

```ts
import { whichVersionIsPinned } from '@pnpm/which-version-is-pinned'

whichVersionIsPinned('^1.0.0')
// major
```

## License

[MIT](LICENSE)
npm package: @pnpm/workspace.filter-packages-from-dir
Description: Filters packages in a directory
Latest version: 1000.0.65

# @pnpm/workspace.filter-packages-from-dir

> Filters packages in a directory

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

## Installation

```sh
pnpm add @pnpm/workspace.filter-packages-from-dir
```

## License

MIT
npm package: @pnpm/workspace.find-packages
Description: Finds packages inside a workspace
Latest version: 1000.0.65

# @pnpm/workspace.find-packages

> Finds packages inside a workspace

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

## Installation

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

## License

MIT
npm package: @pnpm/workspace.pkgs-graph
Description: Create a graph from an array of packages
Latest version: 1000.0.39

# @pnpm/workspace.pkgs-graph

> Create a graph from an array of packages

[![npm version](https://img.shields.io/npm/v/pkgs-graph.svg)](https://www.npmjs.com/package/pkgs-graph)

## Installation

```
pnpm add @pnpm/workspace.pkgs-graph
```

## Usage

```js
import createPkgsGraph from 'pkgs-graph'

const {graph} = createPkgsGraph([
  {
    dir: '/home/zkochan/src/foo',
    manifest: {
      name: 'foo',
      version: '1.0.0',
      dependencies: {
        bar: '^1.0.0',
      },
    },
  },
  {
    dir: '/home/zkochan/src/bar',
    manifest: {
      name: 'bar',
      version: '1.1.0',
    },
  }
])

console.log(graph)
//> {
//    '/home/zkochan/src/foo': {
//      dependencies: ['/home/zkochan/src/bar'],
//      manifest: {
//        name: 'foo',
//        version: '1.0.0',
//        dependencies: {
//          bar: '^1.0.0',
//        },
//      },
//    },
//    '/home/zkochan/src/bar': {
//      dependencies: [],
//      manifest: {
//        name: 'bar',
//        version: '1.1.0',
//      },
//    },
//  }
```

## License

[MIT](LICENSE) © [Zoltan Kochan](https://www.kochan.io)
npm package: @pnpm/write-importer-manifest
Description: Write an importer manifest (called package.json in most cases)
Author: Zoltan Kochan
Latest version: 4.0.0

# @pnpm/write-importer-manifest

> Write an importer manifest (called package.json in most cases)

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

## Installation

```sh
<npm|yarn|pnpm> add @pnpm/write-importer-manifest
```

## Usage

```ts
import writeImporterManifest from '@pnpm/write-importer-manifest'
import path = require('path')

(async () => await writeImporterManifest(path.resolve('package.yaml'), { name: 'foo', version: '1.0.0' }))()
```

## License

MIT © [Zoltan Kochan](https://www.kochan.io/)
npm package: @pnpm/write-project-manifest
Description: Write a project manifest (called package.json in most cases)
Latest version: 1000.0.16

# @pnpm/write-project-manifest

> Write a project manifest (called package.json in most cases)

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

## Installation

```sh
pnpm add @pnpm/write-project-manifest
```

## Usage

```ts
import { writeProjectManifest } from '@pnpm/write-project-manifest'
import path from 'path'

(async () => await writeProjectManifest(path.resolve('package.yaml'), { name: 'foo', version: '1.0.0' }))()
```

## License

MIT
npm package: @pnsdomains/auth-kit
Description: Authentication library for web2 logins
Author: Safe
Latest version: 1.0.0

# Auth Kit

[![NPM Version](https://badge.fury.io/js/%40safe-global%2Fauth-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fauth-kit)
[![GitHub Release](https://img.shields.io/github/release/safe-global/safe-core-sdk.svg?style=flat)](https://github.com/safe-global/safe-core-sdk/releases)
[![GitHub](https://img.shields.io/github/license/safe-global/safe-core-sdk)](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md)

The Auth Kit provides a way to authenticate blockchain accounts using email addresses, social accounts or traditional web3 wallets (ex. Metamask). When using web2 methods as your email or social account, a derived Ethereum address will be generated.

## Reference

- [Auth Kit docs](https://docs.safe.global/learn/safe-core-account-abstraction-sdk/auth-kit)

## Example

[Check a functional demo](https://github.com/safe-global/safe-core-sdk/tree/main/packages/auth-kit/example) using the `auth-kit`

## License

This library is [released under MIT](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md).
npm package: @pnsdomains/pns-avatar
Description: Avatar resolver library for both nodejs and browser.
Author: Muhammed Tanrıkulu
Latest version: 1.0.9

# pns-avatar

Avatar resolver library for both nodejs and browser.

## Note!: PNS-Avatar >= 1.0.0 is only compatible with ethers v6. If your project is using v5, keep your pns-avatar on latest 0.x version.

## Getting started

### Prerequisites

- Have your web3 provider ready (web3.js, ethers.js)
- [Only for node env] Have jsdom installed.

And good to go!

### Installation

```bash
# npm
npm i @pnsdomains/pns-avatar
# yarn
yarn add @pnsdomains/pns-avatar
```

### Usage

```js
import { StaticJsonRpcProvider } from '@ethersproject/providers';
import { AvatarResolver, utils as avtUtils } from '@pnsdomains/pns-avatar';

// const { JSDOM } = require('jsdom'); on nodejs
// const jsdom = new JSDOM().window; on nodejs

const provider = new StaticJsonRpcProvider(
    ...
  );
...
async function getAvatar() {
    const resolver = new AvatarResolver(provider);
    const avatarURI = await resolver.getAvatar('tanrikulu.pls', { /* jsdomWindow: jsdom (on nodejs) */ });
    // avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR
}

async function getHeader() {
    const resolver = new AvatarResolver(provider);
    const headerURI = await resolver.getHeader('tanrikulu.pls', { /* jsdomWindow: jsdom (on nodejs) */ });
    // headerURI = https://ipfs.io/ipfs/QmRFnn6c9rj6NuHenFVyKXb6tuKxynAvGiw7yszQJ2EsjN
}

async function getAvatarMetadata() {
    const resolver = new AvatarResolver(provider);
    const avatarMetadata = await resolver.getMetadata('tanrikulu.pls');
    // avatarMetadata = { image: ... , uri: ... , name: ... , description: ... }
    const headerMetadata = await resolver.getMetadata('tanrikulu.pls', 'header');
    // headerMetadata = { image: ... , uri: ... , name: ... , description: ... }
    const avatarURI = avtUtils.getImageURI({ metadata: avatarMetadata /*, jsdomWindow: jsdom (on nodejs) */ });
    // avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR
}
```

## Supported avatar specs

### NFTs

- ERC721
- ERC1155

### URIs

- HTTP
- Base64
- IPFS

## Options

### Cache _(Default: Disabled)_

```js
const avt = new AvatarResolver(provider, { cache: 300 }); // 5 min response cache in memory
```

### Custom IPFS Gateway _(Default: https://ipfs.io)_

```js
const avt = new AvatarResolver(provider, { ipfs: 'https://dweb.link' });
```

### Custom Arweave Gateway _(Default: https://arweave.net)_

```js
const avt = new AvatarResolver(provider, { arweave: 'https://arweave.net' });
```

### Marketplace Api Keys _(Default: {})_

```js
const avt = new AvatarResolver(provider, { 
    apiKey: {
        mintra: 'YOUR_API_KEY'
    }
});
```

### URL DenyList _(Default: [])_

```js
const avt = new AvatarResolver(provider, {
  urlDenyList: ['https://maliciouswebsite.com'],
});
```

## Demo

- Create .env file with RPC_URL env variable
- Build the library

- Node example

```bash
node example/node.js PNS_NAME
```

- Browser example

```bash
yarn build:demo
http-server example
```
npm package: @pnsdomains/pns-validation
Description: Following the alorithm used for Google's IDN policy, this library can validate a PNS domain.
Author: MyCrypto
Latest version: 1.0.0

# PNS Validation

Following the alorithm used for Google's IDN policy, this library can validate a PNS domain.

## Test

```sh
yarn test
```

## Build

```sh
yarn build
```
npm package: @pnsdomains/pnsjs
Description: PNS javascript library for contract interaction
Author: jh@pulse.domains
Latest version: 4.0.15

# ![PNSjs](https://user-images.githubusercontent.com/11844316/161689061-98ea01ee-b119-40ac-a512-5370eb8b4107.svg)

The ultimate PNS javascript library, with [viem](https://github.com/wagmi-dev/viem) under the hood.

## Features

- Super fast response times
- Easy call batchability
- Written in TypeScript
- Supports the most cutting edge PNS features
- Full tree-shaking support

## Installation

Install @pnsdomains/pnsjs, alongside [viem](https://github.com/wagmi-dev/viem).

```sh
npm install @pnsdomains/pnsjs viem
```

## Getting Started

The most simple way to get started is to create a public PNS client, with a supported
chain and transport imported from viem. The public client has all the read functions available on it,
as well as all subgraph functions.

```ts
// Import viem transport, viem chain, and PNSjs
import { http } from 'viem'
import { mainnet } from 'viem/chains'
import { createPnsPublicClient } from '@pnsdomains/pnsjs'

// Create the client
const client = createPnsPublicClient({
  chain: mainnet,
  transport: http(),
})

// Use the client
const plsAddress = client.getAddressRecord({ name: 'pns.pls' })
```

## Docs

Docs can be found [here](https://github.com/pulsedomains/pnsjs/tree/main/docs). Full docs site coming soon.