open-index/open-npm huggingface dataset:
npm package: @nx/plugin
Description: This plugin is used to create Nx plugins! It contains generators for generating common plugin features like generators, executors, migrations and more.
Author: Nrwl
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

## What is It?

It's an Nx plugin used to build other Nx plugins.

Check out the list of community plugins and the documentation on how to create one using `create-nx-plugin` here: [https://nx.dev/community](https://nx.dev/community)

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/react
Description: The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:


- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.

- Generators for applica
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [React plugin for Nx](https://nx.dev/nx-api/react).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/react-native
Description: The Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides: 

-Integration with libraries such as Jest, Detox, and Storybook.
-Scaffolding for creating buildable libraries th
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [React Native plugin for Nx](https://nx.dev/nx-api/react-native).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/remix
Description: The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:


- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.

- Generators for applica
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Remix plugin for Nx](https://nx.dev/nx-api/remix).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/rollup
Description: The Nx Plugin for Rollup contains executors and generators that support building applications using Rollup.
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Rollup plugin for Nx](https://nx.dev/nx-api/rollup).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/rsbuild
Description: The Nx Plugin for Rsbuild contains an Nx plugin, executors and utilities that support building applications using Rsbuild.
Author: Colum Ferry
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Rsbuild plugin for Nx](https://nx.dev/nx-api/rsbuild).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/rspack
Description: The Nx Plugin for Rspack contains executors and generators that support building applications using Rspack.
Author: Jack Hsu
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Rspack plugin for Nx](https://nx.dev/nx-api/rspack).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/storybook
Description: The Nx Plugin for Storybook contains executors and generators for allowing your workspace to use the powerful Storybook integration testing & documenting capabilities.
Author: Isaac Mann
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Storybook plugin for Nx](https://nx.dev/nx-api/storybook).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/vite
Description: The Nx Plugin for building and testing applications using Vite
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Vite plugin for Nx](https://nx.dev/nx-api/vite).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/vitest
Description: The Nx Plugin for Vitest to enable fast unit testing with Vitest.
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Vitest plugin for Nx](https://nx.dev/nx-api/vitest).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/web
Description: The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:


- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.

- Scaffolding for creating bu
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Web plugin for Nx](https://nx.dev/nx-api/web).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/webpack
Description: The Nx Plugin for Webpack contains executors and generators that support building applications using Webpack.
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

This package is a [Webpack plugin for Nx](https://nx.dev/nx-api/webpack).

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nx/workspace
Description: The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.
Author: Victor Savkin
Latest version: 22.6.5

<p style="text-align: center;">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
    <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
  </picture>
</p>

<div style="text-align: center;">

[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
[![License](https://img.shields.io/npm/l/@nx/workspace.svg?style=flat-square)]()
[![NPM Version](https://badge.fury.io/js/nx.svg)](https://www.npmjs.com/package/nx)
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)

</div>


<hr>

# Nx: Smart Monorepos · Fast Builds

Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.

## Getting Started

### Creating an Nx Workspace

**Using `npx`**

```bash
npx create-nx-workspace
```

**Using `npm init`**

```bash
npm init nx-workspace
```

**Using `yarn create`**

```bash
yarn create nx-workspace
```

### Adding Nx to an Existing Repository

Run:

```bash
npx nx@latest init
```

## Documentation & Resources

- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
- [Intro to Nx](https://nx.dev/getting-started/intro)
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
- [Blog Posts About Nx](https://nx.dev/blog)

<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" 
width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
npm package: @nxapi/nxapi
Description: @nxapi/nxapi
Author: pengxiang
Latest version: 0.1.4

# nxapi

这个库的功能是将类和类函数信息转换成 DSL，DSL 描述了函数携带的所有信息。下面将详细介绍

## 使用

> 安装

```bash
npm i @nxapi/nxapi -D
```

> 配置

在根目录配置 .nxapirc.js 文件，内容如下：

```js
module.exports = {
  rootDir: 'src', //根目录
  ctrlDir: 'controllers', //需要转DSL目录
  outputDir: '__tmp__', //输出目录
  plugins: ['package'|function], //接受DSL和输出路径
};
```

> 执行

```bash
nxapi build|watch
```

## 插件 plugin 定义

```js
import { DSLController } from '@nxapi/nxapi';

export default (controllerDsls: DSLController[], tmpRelativePath: string) => {
  //插件逻辑处理，处理该库转换的DSL
};
```

## 类和类函数定义

首先看下如何定义类和类函数。类必须继承类名为 BaseController 的类，所以这个基类可以自定义。然后添加描述信息。如下：

```js
import { d } from '@nxapi/nxapi';

@d.controller.path('/v1')
export default class HelloController extends BaseController {
  @d.function.get('/hello')
  @d.function.description('接口描述')
  public hello(name: string): string {
    return 'hello ' + name;
  }
}
```

将上面信息转换成 DSL 如下：

```json
{
  "fileFullPath": "/Users/xxx/workspace/xxxx/src/controllers/hello-controller.ts",
  "className": "HelloController",
  "classMethods": [
    {
      "classMethodName": "hello",
      "get": "'/hello'",
      "description": "'接口描述'",
      "req": { "fields": [{ "name": "name", "type": "string", "isArray": false }], "type": "params" },
      "dto": { "isArray": false, "type": "string" }
    }
  ],
  "path": "'/v1'"
}
```

## 函数详解

> 参数

参数数量为 1

- 参数为基础类型或数组。将参数打包成一个对象，字段名就是参数名
- 参数为自定义对象。将参数名丢掉，参数当成对象

参数数量大于 1

- 将参数打包成一个对象，字段名就是参数名

> 返回类型

- 返回类型没有限制

## 装饰器

这里装饰器没有处理逻辑，只是对类、函数、参数、返回类型的额外描述。在生成 DSL 的时候，将装饰器描述一起带出。例如：

```js
// file
export class TestReq {
  @d.string.required()
  @d.string.max(10)
  @d.string.allow('v1', 'v2')
  @d.string.error(() => '错误描述')
  test: string;
}

//file
import { d } from '@nxapi/nxapi';
import { TestReq } from './req/test-req';

@d.controller.path('/v1')
export default class HelloController extends BaseController {
  @d.function.get('/hello')
  @d.function.description('接口描述')
  public hello(req: TestReq): string {
    return 'hello';
  }
}
```

将上面信息转换成 DSL 如下：

```json
{
  "fileFullPath": "/Users/xxx/workspace/xxxx/src/controllers/hello-controller.ts",
  "className": "HelloController",
  "classMethods": [
    {
      "classMethodName": "hello",
      "get": "'/hello'",
      "description": "'接口描述'",
      "req": {
        "fields": [
          {
            "name": "test",
            "type": "string",
            "isArray": false,
            "required": true,
            "max": "10",
            "allow": ["'v1'", "'v2'"],
            "error": "() => '错误描述'"
          }
        ],
        "fileFullPath": "/Users/xxx/workspace/xxxx/src/controllers/req/test-req.ts",
        "type": "TestReq"
      },
      "dto": { "isArray": false, "type": "string" }
    }
  ],
  "path": "'/v1'"
}
```

装饰器类型总共有 8 中类型分别是 any、array、boolean、controller、function、number、object、string 使用方法很简单，不需详细介绍
npm package: @nxavis/aws-icons
Description: AWS Architecture Icons as React Components - Optimized with tree-shaking support
Author: nxavis
Latest version: 0.0.4

# AWS Icons for React

AWS Architecture Icons as optimized React components with full TypeScript support and tree-shaking.

## 🚀 Installation

```bash
npm install @nxavis/aws-icons
# or
yarn add @nxavis/aws-icons
# or
pnpm add @nxavis/aws-icons
```

## 📦 Features

- ✅ **307 AWS Architecture Icons** - Complete set of official AWS service icons
- ✅ **Tree-shakable** - Import only the icons you need
- ✅ **TypeScript Support** - Full type definitions included
- ✅ **Multiple Formats** - ESM, CJS, and UMD builds
- ✅ **Customizable** - Size, color, and all SVG props supported
- ✅ **Lightweight** - Data-driven approach, no bloated SVG components

## 🎯 Usage

### Basic Usage

```tsx
import { AmazonEc2, AmazonS3 } from "@nxavis/aws-icons";

function MyComponent() {
  return (
    <div>
      <AmazonEc2 size={48} />
      <AmazonS3 size={48} color="#FF9900" />
    </div>
  );
}
```

function MyComponent() {
return (
<div>
<AmazonEc2 size={48} />
<AmazonS3 size={48} color="#FF9900" />
</div>
);
}

````

### Dynamic Import (Code Splitting)

For better performance and smaller initial bundle size, use dynamic imports:

```tsx
import { DynamicIcon, iconNames } from "aws-icons/dynamic";

function MyComponent({ iconName }) {
  return <DynamicIcon name={iconName} size={48} />;
}

// Type-safe icon names
type IconName = (typeof iconNames)[number];

function IconPicker() {
  const [selected, setSelected] = useState<IconName>("AmazonEc2");

  return (
    <div>
      <select onChange={(e) => setSelected(e.target.value as IconName)}>
        {iconNames.map((name) => (
          <option key={name} value={name}>
            {name}
          </option>
        ))}
      </select>
      <DynamicIcon name={selected} size={64} />
    </div>
  );
}
````

**Benefits of Dynamic Import:**

- ✅ Only loads the icon when needed
- ✅ Reduces initial bundle size
- ✅ Perfect for Next.js App Router with `'use client'`
- ✅ Type-safe with full autocomplete support

### With Custom Props

All icons accept standard SVG props:

```tsx
import { AwsLambda } from "aws-icons";

<AwsLambda
  size={64}
  color="currentColor"
  className="my-icon"
  onClick={() => console.log("Clicked!")}
/>;
```

### Available Props

```typescript
interface IconProps extends SVGProps<SVGSVGElement> {
  size?: number | string; // Default: 48
  color?: string; // Default: 'currentColor'
  strokeWidth?: number | string;
  absoluteStrokeWidth?: boolean;
}
```

## 📚 Available Icons

All icons follow PascalCase naming based on AWS service names:

- `AmazonEc2`
- `AmazonS3`
- `AwsLambda`
- `AmazonDynamoDb`
- ... and 300+ more!

Full icon list available in the [icons directory](./src/icons).

## 🏗️ Build Outputs

- **ESM** (`dist/esm/`): Tree-shakable ES modules
- **CJS** (`dist/cjs/`): CommonJS for Node.js
- **UMD** (`dist/umd/`): Browser-ready minified bundle
- **Types** (`dist/index.d.ts`): TypeScript definitions

## 📄 License

MIT

## 🙏 Credits

Icons are sourced from the official AWS Architecture Icons package.
npm package: @nxcc/cli
Description: CLI for interacting with nXCC nodes
Latest version: 0.1.3

# @nxcc/cli

CLI for interacting with nXCC nodes

## Installation

```bash
npm install -g @nxcc/cli
```

## Commands

### Project Management

#### `nxcc init [directory]`

Create a new nXCC TypeScript project

```bash
nxcc init my-project
```

#### `nxcc bundle <manifest-template>`

Create a worker bundle from a manifest template

```bash
nxcc bundle manifest.json --out bundle.json --signer <private-key>
```

Options:

- `--out <path>`: Output path for the bundle
- `--signer <private-key>`: Private key to sign the bundle

### Worker Management

#### `nxcc worker deploy <manifest-path>`

Deploy a worker to an nXCC node

```bash
nxcc worker deploy manifest.json --rpc-url http://localhost:6922
```

Options:

- `--rpc-url <url>`: nXCC node HTTP RPC URL (default: http://localhost:6922)
- `--bundle`: Bundle the worker code into a data URL
- `--signer <private-key>`: Private key to sign the work order

#### `nxcc worker logs <worker-id>`

Stream logs from a worker

```bash
nxcc worker logs my-worker-id --rpc-url http://localhost:6922 --follow
```

Options:

- `--rpc-url <url>`: nXCC node HTTP RPC URL (default: http://localhost:6922)
- `-f, --follow`: Follow log output (stream new logs)
- `-t, --tail <lines>`: Number of lines to tail (default: 10)

### Node Management

#### `nxcc node get-report`

Get the node's environment report (attestation + operator signature)

```bash
nxcc node get-report --rpc-url http://localhost:6922
```

Options:

- `--rpc-url <url>`: nXCC node HTTP RPC URL (default: http://localhost:6922)
- `-o, --output <path>`: Output file to save the env report JSON

Example:

```bash
# Print env report to console
nxcc node get-report --rpc-url http://localhost:6922

# Save env report to file
nxcc node get-report --rpc-url http://localhost:6922 -o env-report.json
```

### Identity Management

#### `nxcc identity <command>`

Manage identities on various blockchains

## Examples

### Getting Started

1. Create a new project:

```bash
nxcc init my-nxcc-project
cd my-nxcc-project
```

2. Deploy a worker:

```bash
nxcc worker deploy manifest.json --rpc-url http://localhost:6922
```

3. View worker logs:

```bash
nxcc worker logs <worker-id> --follow --rpc-url http://localhost:6922
```

4. Get node environment report:

```bash
nxcc node get-report --rpc-url http://localhost:6922 -o node-report.json
```

## Configuration

The CLI uses the following default configuration:

- Default RPC URL: `http://localhost:6922`
- Default log tail lines: 10

You can override these defaults using command-line options.

## License

MIT
npm package: @nxcc/sdk
Description: NXCC SDK for interacting with the NXCC platform
Latest version: 0.1.2

# @nxcc/sdk

SDK for interacting with the NXCC platform, providing utilities and helper functions.

## Installation

```bash
npm install @nxcc/sdk
```

## Modules

### Crypto

The crypto module provides cryptographic utilities for secure operations.

#### Key Derivation

```typescript
import { crypto } from "@nxcc/sdk";

// Create or import a master key
const masterKey = await crypto.subtle.importKey(
  "raw",
  crypto.getRandomValues(new Uint8Array(32)), // 256-bit key
  { name: "HKDF" },
  false,
  ["deriveBits"],
);

// Derive a key for encryption
const encryptionKey = await crypto.deriveKey(masterKey, "encryption", ["user-123", "document-456"]);
```

#### Advanced Key Derivation

```typescript
// Custom key length and hash algorithm
const sessionKey = await crypto.deriveKey(masterKey, "session", ["session-789"], {
  length: 16, // 128 bits
  hash: "SHA-512",
});

// Using salt for additional randomness
const salt = crypto.getRandomValues(new Uint8Array(16));
const key = await crypto.deriveKey(masterKey, "file-encryption", ["file.txt"], {
  salt,
});

// Hierarchical key derivation
const deptKey = await crypto.deriveKey(masterKey, "department", ["engineering"]);
const deptCryptoKey = await crypto.subtle.importKey("raw", deptKey, { name: "HKDF" }, false, [
  "deriveBits",
]);
const teamKey = await crypto.deriveKey(deptCryptoKey, "team", ["backend", "team-alpha"]);
```

## API Reference

### `crypto.deriveKey(base, purpose, path, options?)`

Securely derives a key using HKDF with configurable parameters.

#### Parameters

- **`base`** (`CryptoKey`): A strong CryptoKey with `deriveBits` capability
- **`purpose`** (`string`): Non-empty string describing the key's purpose (for domain separation)
- **`path`** (`Array<string | Uint8Array>`): Array of domain separation values
- **`options`** (`object`, optional):
  - **`length`** (`number`): Desired key length in bytes (1 to 255 × hash_length). Defaults to hash output size
  - **`hash`** (`"SHA-256" | "SHA-384" | "SHA-512"`): Hash algorithm. Defaults to `"SHA-256"`
  - **`salt`** (`Uint8Array`): Optional salt for additional randomness

#### Returns

`Promise<Uint8Array>` - The derived key

#### Throws

- `Error` - If inputs are invalid or key derivation fails
npm package: @nxcd/is-path-in-scope
Description: "Just it, verify is-path-in-scope" 
Latest version: 1.0.0

[![Javascript code Style](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

# is path in scope?

## Description
> Just it, verify "is path in scope".

Checks wether a given path is covered by a set of scopes.

## Usage

### Installing
> $ npm install @nxcd/is-path-in-scope

### Examples

#### A Simple example:
Verifies that user scopes have the required path.
```js
// ...

const isPathInScope = require('@nxcd/is-path-in-scope')

// Given scopes
const userScopes = [ 'write', 'read' ]

// The path you are requiring access
const pathRequired = 'read'

if (!isPathInScope(pathRequired, userScopes)){
  throw new Error('You have no power here!')
}

console.log('Run forest, run!')
```

Verifies a deep path
```js
// ...

const userScopes = [ 'something.read', 'anything.read', 'anything.write' ]

isPathInScope('something.write', userScopes)
// false

isPathInScope('something.read')
// true
```

Given an admin user
```js
const userScopes = [ '*' ]

isPathInScope('something.read', userScopes)
// true
```

Given a user with full permission for a specific module
```js
// ...

const userScopes = [ 'something.*' ]

isPathInScope('something.read', userScopes)
// true

isPathInScope ('anything.read', userScopes)
// false
```

#### Optional params
```js
// I don't know why not
const params = {
  separator = '/',
  wildcard = '...'
}

const userScopes = [ 'something/...' ]

isPathScope('something-write', userScopes, params)
```

#### Using with express
Checks whether user scopes have the path required by the route
```js
const isPathInScope = require('@nxcd/is-path-in-scope')

// ...

const scopes = (expected) => {
  if (!Array.isArray(expected)) {
    return scopes(expected.split(' '))
  }

  return (req, res, next) => {
    if (!req.user || !Array.isArray(req.user.scopes)) {
      return next(new HttpError.Unauthorized({
        message: 'authorization token is missing or has an invalid scope grant',
        code: 'unauthorized'
      }))
    }

    const unfulfilledScopes = expected.filter((scope) => !isPathInScope(scope, req.user.scopes))

    if (unfulfilledScopes.length > 0) {
      return next(new HttpError.Unauthorized({
        message: format('the following permissions are required: %s', unfulfilledScopes.join(' ')),
        code: 'insufficient_permissions'
      }))
    }

    next()
  }
}

app.get('/:id', scopes('write'), routes.something.findById)

```