open-index/open-npm huggingface dataset:
npm package: @rmrk-team/ipfs-utils
Description: IPFS utils for RMRK NFTs
Latest version: 0.2.2

# @rmrk-team/ipfs-utils

[![npm version](https://img.shields.io/npm/v/@rmrk-team/rmrk-hooks.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/ipfs-utils)

---

Utilities for working with NFT metadata and media stored on ipfs.

## Installation

```bash
pnpm install @rmrk-team/ipfs-utils
```

## Usage

```ts
import { sanitizeIpfsUrl, DEFAULT_IPFS_GATEWAY_URLS, DEFAULT_IPFS_GATEWAY_KEYS, containsCID } from '@rmrk-team/ipfs-utils';

const ipfsUri = 'ipfs://QmVfpP2WQmmRaGk3VPehKxteTvsG465rJDokY3JiyweHBn';
const sanitizedIpfsUrl = sanitizeIpfsUrl(ipfsUri, DEFAULT_IPFS_GATEWAY_URLS[DEFAULT_IPFS_GATEWAY_KEYS.pinata]);
console.log(sanitizedIpfsUrl); // https://gateway.pinata.cloud/ipfs/QmVfpP2WQmmRaGk3VPehKxteTvsG465rJDokY3JiyweHBn

const { containsCid } = containsCID(sanitizedIpfsUrl);
console.log(containsCid); // true
```

```ts
const nftCollectionMetadata = await fetchIpfsMetadata('ipfs://QmVfpP2WQmmRaGk3VPehKxteTvsG465rJDokY3JiyweHBn');

console.log('nftCollectionMetadata', {
    name: nftCollectionMetadata.name,
    image: nftCollectionMetadata.image,
    description: nftCollectionMetadata.description,
});
```


## License
npm package: @rmrk-team/nft-renderer
Description: React NFT renderer for multi layered composable NFTs built on RMRK standards
Latest version: 0.3.2

# @rmrk-team/nft-renderer

[![npm version](https://img.shields.io/npm/v/@rmrk-team/nft-renderer.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/nft-renderer)

React component for rendering multi-layered composable 2d [RMRK](https://evm.rmrk.app) EVM NFTs.

---

## Installation

```bash
pnpm install @rmrk-team/rmrk-2d-renderer @rmrk-team/nft-renderer
```

## Usage

```tsx
import React from "react";
import type {Address} from "viem";
import {
  NETWORK_CONTRACTS_PROPS,
  RMRKUtilityContracts,
} from "@rmrk-team/rmrk-evm-utils";
import {RMRKContextProvider} from "@rmrk-team/rmrk-hooks";
import {QueryClient, QueryClientProvider} from "@tanstack/react-query";
import {WagmiProvider} from "wagmi";
import {hardhat} from "wagmi/chains";

// Import css
import '@rmrk-team/rmrk-2d-renderer/dist/styles.css';
import '@rmrk-team/nft-renderer/dist/styles.css';

const queryClient = new QueryClient();

// You can pass custom utility contracts to the RMRKContextProvider
const customUtilityContracts = {
  [hardhat.id]: {
    [NETWORK_CONTRACTS_PROPS.RMRKEquipRenderUtils]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKBulkWriter]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKCollectionUtils]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKCatalogUtils]: "0x00",
  },
} satisfies RMRKUtilityContracts;

const rmrkConfig = {
  utilityContracts: customUtilityContracts,
};

export const NftRendererWrapper = ({
   contractAddress,
   tokenId,
 }: {
  chainId: number;
  contractAddress: Address;
  tokenId: bigint;
}) => {
  return (
    <WagmiProvider config={wagmiConfig}>
      <QueryClientProvider client={queryClient}>
        <RMRKContextProvider config={rmrkConfig}>
          <Flex height="100vh" width="100vw">
            <Flex height="100vh" aspectRatio={"1/1"} margin="0 auto">
              <NFTRenderer
                chainId={chainId}
                contractAddress={contractAddress}
                tokenId={tokenId}
                loader={<Loader/>}
              />
            </Flex>
          </Flex>
        </RMRKContextProvider>
      </QueryClientProvider>
    </WagmiProvider>
  );
};
```

## Building

```bash

```

## Publishing

```bash

```

## License
npm package: @rmrk-team/rmrk-2d-renderer
Description: React Pixi (Canvas) renderer for multi layered composable NFTs built on RMRK standards
Latest version: 0.1.8

# @rmrk-team/rmrk-2d-renderer

[![npm version](https://img.shields.io/npm/v/@rmrk-team/rmrk-2d-renderer.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/nft-renderer)

A Pixi (Canvas) based renderer for multilayered and composable [RMRK](https://evm.rmrk.app) EVM NFTs. This package doesn't interact with the chain, and is usually used in combination with [@rmrk-team/nft-renderer](/packages/nft-renderer).

---

## Installation

```bash
pnpm add @rmrk-team/rmrk-2d-renderer
```

## Usage

```tsx

```

## Building

```bash

```

## Publishing

```bash

```

## License
npm package: @rmrk-team/rmrk-evm-utils
Description: Typescript utilities and actions for working with NFTs built on RMRK standards
Latest version: 0.2.2

# @rmrk-team/rmrk-evm-utils

[![npm version](https://img.shields.io/npm/v/@rmrk-team/rmrk-evm-utils.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/nft-renderer)

Typescript utilities for [RMRK](https://evm.rmrk.app) EVM NFTs.

---

## Installation

```bash

```

## Usage

```tsx

```

## Building

```bash

```

## Publishing

```bash

```

## License
npm package: @rmrk-team/rmrk-hooks
Description: React hooks for working with NFTs built on RMRK standards
Latest version: 0.3.2

# @rmrk-team/rmrk-hooks

[![npm version](https://img.shields.io/npm/v/@rmrk-team/rmrk-hooks.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/nft-renderer)

React hooks for working with [RMRK](https://evm.rmrk.app) EVM NFTs.

---

## Installation

```bash
pnpm install @rmrk-team/rmrk-hooks
```

## Usage


```tsx
import React from "react";
import type {Address} from "viem";
import {
  NETWORK_CONTRACTS_PROPS,
  RMRKUtilityContracts,
} from "@rmrk-team/rmrk-evm-utils";
import {RMRKContextProvider} from "@rmrk-team/rmrk-hooks";
import {QueryClient, QueryClientProvider} from "@tanstack/react-query";
import {WagmiProvider} from "wagmi";
import {hardhat} from "wagmi/chains";

const queryClient = new QueryClient();

// You can pass custom utility contracts to the RMRKContextProvider
const customUtilityContracts = {
  [hardhat.id]: {
    [NETWORK_CONTRACTS_PROPS.RMRKEquipRenderUtils]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKBulkWriter]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKCollectionUtils]: "0x00",
    [NETWORK_CONTRACTS_PROPS.RMRKCatalogUtils]: "0x00",
  },
} satisfies RMRKUtilityContracts;

const rmrkConfig = {
  utilityContracts: customUtilityContracts,
};

export const Container = ({
   contractAddress,
   tokenId,
 }: {
  chainId: number;
  contractAddress: Address;
  tokenId: bigint;
  children: React.ReactNode;
}) => {
  return (
    <WagmiProvider config={wagmiConfig}>
      <QueryClientProvider client={queryClient}>
        <RMRKContextProvider config={rmrkConfig}>
            {children}
        </RMRKContextProvider>
      </QueryClientProvider>
    </WagmiProvider>
  );
};

```

```tsx
import {
    useFetchIpfsMetadata,
    useGetAssetData,
    useGetComposedState,
    useGetInterfaceSupport,
} from '@rmrk-team/rmrk-hooks';

type Props = {
    contractAddress: Address;
    tokenId: bigint;
    chainId: number;
}

export const Example = ({contractAddress, tokenId, chainId}: Props) => {
    const {
        isLoading: isLoadingComposableState,
        isError: isErrorComposableState,
        error: errorComposableState,
        data: composableState,
    } = useGetComposedState(
        {
            tokenId,
            chainId,
            contractAddress,
        }
    );

    const {
        fixedPartsWithMetadatas,
        slotPartsWithMetadatas,
        equippableGroupId,
        assetMetadataUri,
        catalogAddress,
    } = composableState;
    
    console.log(composableState)
    return null;
}
```

```tsx

export const App = () => {
    return (
        <Container>
            <Example />
        </Container>
    )   
}

```

## Building

```bash

```

## Publishing

```bash

```

## License
npm package: @rmrk-team/types
Description: Types to be used in combination with other packages of the RMRK EVM monorepo
Latest version: 0.1.3

# @rmrk-team/types

[![npm version](https://img.shields.io/npm/v/@rmrk-team/types.svg?style=flat)](https://www.npmjs.com/package/@rmrk-team/nft-renderer)

Common Typescript types for [RMRK](https://evm.rmrk.app) EVM NFTs.

---

## Installation

```bash

```

## Usage

```tsx

```

## Building

```bash

```

## Publishing

```bash

```

## License
npm package: @rmtc/config
Description: Configuration loading, parsing, and validation for the @rmtc/toolchain CLI
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/config

Configuration loading, parsing, and validation for the @rmtc/toolchain CLI.

> [!WARNING]<br/>
> This package is intended for internal use by [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). It's probably not useful by itself.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install @rmtc/config
```

Read a valid `.rmtc.json5` config file with:

```js
const {Config} = require('@rmtc/config');
await Config.fromFile(`/path/to/project/directory`);
```

There's no need to include `.rmtc.json5` in the file path, it's added automatically.

The above function will throw an error if:

  * There is no config file
  * The config file is not valid [JSON5](https://json5.org/)
  * The config file does not match the [config schema](./schema.json)


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/create-toolchain
Description: The toolchain task runner setup script
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/toolchain

The toolchain task runner setup script.

> [!TIP]<br/>
> This package forms part of [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). You'll find further documentation in the main project README.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+


## Usage

Run the toolchain setup script with:

```sh
npm create @rmtc/toolchain
```


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/errors
Description: Custom errors for the @rmtc/toolchain CLI
Author: Rowan Manning
Latest version: 1.1.0
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/errors

Custom errors for the @rmtc/toolchain CLI.

> [!WARNING]<br/>
> This package is intended for internal use by [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). It's probably not useful by itself.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install @rmtc/errors
```

This module exports error classes for use across the rest of this project:

```js
const {ToolchainError} = require('@rmtc/errors');
throw new ToolchainError('this is a message');
```

You can pass a `code` as a property on the second argument to the error constructor to provide a machine-readable alternative to the message:

```js
throw new ToolchainError('this is a message', { code: 'EXAMPLE_CODE' });
```


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-biome
Description: The toolchain Biome plugin
Author: Rowan Manning
Latest version: 2.0.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-biome

A [Biome](https://biomejs.dev/) plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme).

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-biome
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-biome'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`format`:** a general workflow used to automatically format code.

  * **`verify`:** a general workflow used to verify code quality.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`biome:format`:** run the `biome format` command-line tool on the whole project with the `--write` flag, so that formatting changes are applied in place.

  * **`biome:lint`:** run the `biome lint` command-line tool on the whole project.

E.g. if you prefer to define a `lint` workflow, use the following:

```js
{
    plugins: ['@rmtc/plugin-biome'],
    workflows: {
        lint: ['biome:lint']
    }
}
```

### Configuration

This plugin provides no additional configuration. To configure the way that the `biome` command-line tool runs, you should [use one of the configuration methods that they suggest](https://biomejs.dev/reference/configuration/).


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-check-types
Description: The toolchain TypeScript type-checking plugin
Author: Rowan Manning
Latest version: 0.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-check-types

A [TypeScript](https://www.typescriptlang.org/) type-checking plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). This validates types based on `jsconfig.json` but does not produce any output.

> [!CAUTION]<br/>
> This project is in early alpha, it's highly likely that we'll introduce accidental breaking changes.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-check-types
```

🚧 Proper documentation coming soon.


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-contributing
Description: The toolchain contributing guide plugin
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-contributing

A plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme) that syncs contributing and code of conduct documents to ensure they're consistent across projects.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-contributing
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-contributing'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`postinstall`:** a general workflow used to indicate steps that should be run after dependencies have been installed.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`contributing:install`:** override the `docs/contributing.md` and `docs/code_of_conduct.md` files in the project folder, ensuring that they're consistent.

### Configuration

#### `config.techSections`

`string[]`. Use this configuration to add additional sections to the end of the contributing guide which may not apply to all projects. The following sections are available: `conventional-commits`, `linting`, `testing`, and `types-in-jsdoc`. E.g.

```js
{
    plugins: [
        ['@rmtc/plugin-contributing', {
            techSections: [
                'conventional-commits',
                'linting',
                'types-in-jsdoc',
                'testing'
            ]
        }]
    ]
}
```

The ordering of these sections will be matched in the generated document.


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-eslint
Description: The toolchain ESLint plugin
Author: Rowan Manning
Latest version: 1.0.0
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-eslint

An [ESLint](https://eslint.org/) plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme).

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-eslint
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-eslint'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`verify`:** a general workflow used to verify code quality.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`eslint`:** run the `eslint` command-line tool on the whole project.

E.g. if you prefer to define a `lint` workflow, use the following:

```js
{
    plugins: ['@rmtc/plugin-eslint'],
    workflows: {
        lint: ['eslint']
    }
}
```

### Configuration

This plugin provides no additional configuration. To configure the way that the `eslint` command-line tool runs, you should [use one of the configuration methods that they suggest](https://eslint.org/docs/latest/use/configure/).


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-ignore-files
Description: A toolchain plugin to manage ignore files
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-ignore-files

A plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme) that ensures `.gitignore` and `.npmignore` files have a core set of statements.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-ignore-files
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-ignore-files'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`postinstall`:** a general workflow used to indicate steps that should be run after dependencies have been installed.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`ignore-files:install`:** add statements to the `.gitignore` file and `.npmignore` if either the package is non-private or it has workspaces defined.

### Configuration

This plugin provides no additional configuration.


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-mit-license
Description: The toolchain mit-license syncing plugin
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-mit-license

A plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme) that ensures a project has a valid MIT license file and entry in `package.json`.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
      * [`config.holders`](#configholders)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-mit-license
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-mit-license'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`postinstall`:** a general workflow used to indicate steps that should be run after dependencies have been installed.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`mit-license:install`:** override the `LICENSE` file in the project folder as well as `package.json` `license` property ensuring that they're consistent.

### Configuration

#### `config.holders`

`string`. Use this configuration to set the list of entities who hold the copyright for the project. E.g.

```js
{
    plugins: [
        ['@rmtc/plugin-mit-license', {
            holders: 'Rowan Manning'
        }]
    ]
}
```


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-npm-scripts
Description: The toolchain npm scripts plugin
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-npm-scripts

A plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme) that creates `package.json` scripts for all defined workflows.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-npm-scripts
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-npm-scripts'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`postinstall`:** a general workflow used to indicate steps that should be run after dependencies have been installed.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`npm-scripts:install`:** override the `scripts` in the project's `package.json` file, ensuring that there's a script matching each defined workflow. This is a destructive action and will make changes to your files, but it makes running scripts more convenient. E.g.

    If you have a `test` workflow defined by one of your plugins, then this script will add a `scripts.test` property to `package.json` that runs `npx @rmtc/toolchain test`. You can now run tests with a regular `npm test`.

    When running this workflow for the first time it will output the original values of these scripts in case something was broken.

### Configuration

This plugin provides no additional configuration.


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/plugin-types-in-jsdoc
Description: The toolchain TypeScript-in-JSDoc plugin
Author: Rowan Manning
Latest version: 1.1.2
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/plugin-types-in-jsdoc

A [TypeScript](https://www.typescriptlang.org/)-in-JSDoc plugin for [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). This checks types and builds type definitions based on `jsconfig.json`.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
    * [Workflows](#workflows)
    * [Steps](#steps)
    * [Configuration](#configuration)
      * [`config.project`](#configproject)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+
  * [The @rmtc/toolchain CLI](https://github.com/rowanmanning/toolchain#readme)


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/plugin-types-in-jsdoc
```

Include it in your `.rmtc.json` file:

```js
{
    plugins: [
        // ...
        '@rmtc/plugin-types-in-jsdoc'
    ]
    // ...
}
```

### Workflows

This plugin defines the following workflows:

  * **`verify`:** a general workflow used to verify code quality.

  * **`build`:** a general workflow used to generate code output and other compiled assets.

### Steps

This plugin defines the following steps that can be added to any workflow:

  * **`types-in-jsdoc:check-types`:** run the `tsc` command-line tool against a JavaScript project to check that it's type-safe, without emitting any type definitions. This expects a `jsconfig.json` file to live in the root of the project.

  * **`types-in-jsdoc:build-defs`:** run the `tsc` command-line tool against a JavaScript project to generate `.d.ts` files from any JSDoc found. This expects a `jsconfig.json` file to live in the root of the project.

### Configuration

Most of the configuration for this plugin should live within the `jsconfig.json` file. [See the TypeScript documentation for more information](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).

#### `config.project`

`string`. Use this configuration to specify a different location than `jsconfig.json`, relative to the project directory. E.g.

```js
{
    plugins: [
        ['@rmtc/plugin-types-in-jsdoc', {
            project: 'config/types-in-jsdoc.json'
        }]
    ]
}
```


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmtc/project
Description: A class to represent the project that toolchain is running in
Author: Rowan Manning
Latest version: 1.1.0
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/project

A class to represent the project that the @rmtc/toolchain CLI is running in.

> [!WARNING]<br/>
> This package is intended for internal use by [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). It's probably not useful by itself.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install @rmtc/project
```

Create a project with:

```js
const {Project} = require('@rmtc/project');
const project = await Project.fromDirectory(`/path/to/project/directory`);
```

### `project.directoryPath`

`string`. The directory path that the project is in.

### `project.name`

`string`. The name of the project, extracted from either the `package.json` `name` property or the last part of the project directory path.

### `project.isPrivate`

`boolean | null`. Whether the project is marked as private in `package.json`. A value of `null` indicates that the package was not processable.

### `project.isMonorepo`

`boolean | null`. Whether the project is a monorepo, defining [npm workspaces](https://docs.npmjs.com/cli/using-npm/workspaces). A value of `null` indicates that the package was not processable.


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2024, Rowan Manning
npm package: @rmtc/toolchain
Description: The toolchain task runner
Author: Rowan Manning
Latest version: 1.1.1
Deprecated: This library has been deprecated and will no longer receive feature updates or security patches.


# @rmtc/toolchain

A command-line task runner.

> [!TIP]<br/>
> This package forms part of [@rmtc/toolchain](https://github.com/rowanmanning/toolchain#readme). You'll find further documentation in the main project README.

> [!WARNING]<br/>
> This project is intended for use in [@rowanmanning](https://github.com/rowanmanning/)'s projects. It's free to use but I don't offer support for use-cases outside of what I need.


## Table of Contents

  * [Requirements](#requirements)
  * [Usage](#usage)
  * [Contributing](#contributing)
  * [License](#license)


## Requirements

This library requires the following to run:

  * [Node.js](https://nodejs.org/) 18+


## Usage

Install the module with [npm](https://www.npmjs.com/):

```sh
npm install --save-dev @rmtc/toolchain
```

Get command-line help with:

```sh
npx @rmtc/toolchain --help
```

List available workflows and steps with:

```sh
npx @rmtc/toolchain --list
```

Run a single workflow:

```sh
npx @rmtc/toolchain workflowName
```

Run multiple workflows:

```sh
npx @rmtc/toolchain workflowName anotherWorkflowName ...
```


## Contributing

[See the central README for a contribution guide and code of conduct](https://github.com/rowanmanning/toolchain#contributing).


## License

Licensed under the [MIT](https://github.com/rowanmanning/toolchain/blob/main/LICENSE) license.<br/>
Copyright &copy; 2023, Rowan Manning
npm package: @rmu/card
Description: A personal card for Ryota Murai (@rmuraix)
Author: Ryota Murai
Latest version: 1.0.1

# card
[![GitHub license](https://img.shields.io/github/license/rmuraix/card)](https://github.com/rmuraix/card/blob/main/LICENSE)
![npm](https://img.shields.io/npm/v/@rmu/card)  
## Usage
```
npx @rmu/card
```

Not including how to use it globally because I'm not sure why you'd want this as a global command. That'd be creepy.  
This repo is based on [bnb/bitandbang](https://github.com/bnb/bitandbang).
npm package: @rmumtaz/core
Description: Angular components for Google Maps
Author: Sebastian Holstein
Latest version: 1.0.0-beta.6

Angular Google Maps (AGM) Core - Angular 2+ Google Maps components
=========

@agm/core contains solutions for the Google Maps JavaScript Core API.

The sources for this package are in the [angular-google-maps](https://github.com/SebastianM/angular-google-maps) repository. Please file issues and pull requests against that repo.

This package contains different sources for different users:

1. The files located in the root dirare ES5 based with ES2015 modules.
1. Files with the name pattern *.umd.js are UMD bundled modules for fast load times during development.

License: See LICENSE file in this folder.
npm package: @rmw/node-window-manager
Description: Manage windows in macOS, Windows and Linux
Author: gcxfd
Latest version: 2.2.10

# node-window-manager

Manage windows in Windows, macOS and ~~Linux~~(WIP)

# Install

To install this package, just run

```bash
$ npm install node-window-manager
```

# Quick start

The following example shows how to get the currently focused window's title and hide it.

```javascript
const { windowManager } = require("node-window-manager");

const window = windowManager.getActiveWindow();

// Prints the currently focused window bounds.
console.log(window.getBounds());

// This method has to be called on macOS before changing the window's bounds, otherwise it will throw an error.
// It will prompt an accessibility permission request dialog, if needed.
windowManager.requestAccessibility();

// Sets the active window's bounds.
window.setBounds({ x: 0, y: 0 });
```

# Documentation

The documentation and API references are located in the [`docs`](docs) directory.
npm package: @rmw/rollup-plugin-coffee
Description: A Rollup.js plugin to compile CoffeeScript 2 (and 1)
Author: Zach Kelling
Latest version: 0.1.21

# @zeekay/rollup-plugin-coffee

[![NPM version][npm-img]][npm-url] [![Build Status][travis-img]][travis-url] [![Coverage Status][coveralls-img]][coveralls-url] [![Dependency Status][dependency-img]][dependency-url] [![Gitter chat][gitter-img]][gitter-url]

A Rollup.js plugin that compiles [CoffeeScript](http://coffeescript.org/). Uses
[`find-coffee`](https://github.com/zeekay/find-coffee) to locate the proper
version of CoffeeScript.

## Install
```bash
$ npm install @zeekay/rollup-plugin-coffee --save-dev
```

## Usage
Add the following code to your project's `rollup.config.js`:

```js
import coffee from '@zeekay/rollup-plugin-coffee';

export default {
  entry: 'index.js',
  plugins: [
    coffee({
      // defaults
      bare:       true,
      extensions: ['.coffee', '.litcoffee'],
      version:    'auto',
      sourceMap:  true
    })
  ]
};
```

By default this plugin will use any version of CoffeeScript available, trying to
use 2.0 and falling back to 1.0 if necessary.

You can specify `version: 1` or `version: 2` to ensure a certain version is used
(or error if it's unavailable).

## License
MIT

[travis-img]:     https://img.shields.io/travis/zeekay/rollup-plugin-coffee.svg
[travis-url]:     https://travis-ci.org/zeekay/rollup-plugin-coffee
[coveralls-img]:  https://coveralls.io/repos/zeekay/rollup-plugin-coffee/badge.svg?branch=master&service=github
[coveralls-url]:  https://coveralls.io/github/zeekay/rollup-plugin-coffee?branch=master
[dependency-url]: https://david-dm.org/zeekay/rollup-plugin-coffee
[dependency-img]: https://david-dm.org/zeekay/rollup-plugin-coffee.svg
[npm-img]:        https://img.shields.io/npm/v/rollup-plugin-coffee.svg
[npm-url]:        https://www.npmjs.com/package/rollup-plugin-coffee
[gitter-img]:     https://badges.gitter.im/join-chat.svg
[gitter-url]:     https://gitter.im/zeekay/hi

<!-- not used -->
[downloads-img]:     https://img.shields.io/npm/dm/rollup-plugin-coffee.svg
[downloads-url]:     http://badge.fury.io/js/rollup-plugin-coffee
[devdependency-img]: https://david-dm.org/zeekay/rollup-plugin-coffee/dev-status.svg
[devdependency-url]: https://david-dm.org/zeekay/rollup-plugin-coffee#info=devDependencies
npm package: @rmw/vite-plugin-coffee
Description: Coffeescript plugin for Vitejs
Author: Paul Walker
Latest version: 2.2.3

# vite-plugin-coffee

Coffeescript plugin for Vitejs

Made for [create-coffee-app](https://www.npmjs.com/package/create-coffee-app)

## Usage

```js
// vite.config.js
import { defineConfig } from "vite";
import coffee from "vite-plugin-coffee";

export default defineConfig({
  plugins: [
    coffee({
      // Set to true if you use react
      jsx: false,
    }),
  ],
});
```