open-index/open-npm huggingface dataset:
npm package: @pipehnz/error
Description: A simple error builder
Author: Felipe Hernández
Latest version: 0.1.5

# A simple error builder for Node.JS

## 🤔 How to use?

### In general

If you just want to make your custom error, then by following the following lines of code you can define something like this

```javascript
const { StatusCodes, withError } = require("@pipehnz/error");

const throwCustomError = withError({
  code: "my_custom_error",
  message: "My custom error",
});

// OR

const throwCustomErrorWithHttpStatus = withError({
  code: "my_custom_error",
  message: "My custom error",
  status: StatusCodes.BAD_REQUEST,
});
```

### Http Module

By default, you will be able to use some of the http errors that come ready out-of-box, i.e.

```javascript
// Using Http Error's Module

const { throwHttpBadRequest } = require("@pipehnz/error/http");

const getProductById = (request, response, next) => {
  try {
    const { id } = request.params;

    if (!id) {
      throwHttpBadRequest();
    }

    // some code ...
  } catch (error) {
    next(error);
  }
};
```
npm package: @pipehnz/homebridge-hikvision
Description: > **The original plugin that is based on handles IP cameras, this plugin handles Analog cameras.
Latest version: 1.0.9

# Homebridge Hikvision plugin

> **The original plugin that is based on handles IP cameras, this plugin handles Analog cameras.

Homebridge plugin that connects to your HikVision DVR and exposes your cameras in Homebridge. The plugin is heavily based on excellent [homebridge-camera-ffmpeg](https://github.com/Sunoo/homebridge-camera-ffmpeg).

This plugin will automatically discover all cameras connected to your DVR and will expose them to homebridge. You will get access to stream video (including sound) directly from your home app, will get push notification with screenshots of the motion events - this needs to be configured in HikVision DVR and additionally in Home app under home settings - you will need to enable notifications.

## Intent
This is fork from https://github.com/node-packages/homebridge-hikvision project the purpose to add support for cloudflare access, to be able to access remotely.

## Installation

In order to use this plugin, you need to install `homebridge-camera-ffmpeg` and `homebridge-hikvision` as per below:

```bash
sudo npm install -g homebridge-camera-ffmpeg @xarrar/homebridge-hikvision --unsafe-perm
```

## Configuration

To configure, add this to your `config.json` for homebridge under platforms node:

```json
{
  "platforms": [
    {
      "platform": "Hikvision",
      "host": "nvr-host",
      "port": 443,
      "username": "admin",
      "password": "very-secure-password",
      "cf_id":"CF-Access-Client-Id:",
      "cf_secrect":"CF-Access-Client-Secret"
    }
  ]
}
```

At this time, these are the only configuration options available. Once you've added the platform to your config, (re)start your homebridge instance, and configure your cameras on your iPhone or iPad, iOS will prompt you for each camera in your system.

## Enable notifications in HikVision DVR

The plugin does not detect motion itself, it responds to events generated by the DVR using HTTP Event API. The relevant code for this lives at https://github.com/node-packages/homebridge-hikvision/blob/master/src/HikvisionApi.ts#L73. 

You must set up notifications in the DVR configuration as per below screenshot:

![image](https://user-images.githubusercontent.com/47468/103291461-af287480-49e3-11eb-9db9-18708b35b3c3.png)

You might also find this YouTube video useful:

https://www.youtube.com/watch?v=-R_dtE9o9WI

[![Setup Notifications](https://img.youtube.com/vi/-R_dtE9o9WI/0.jpg)](https://www.youtube.com/watch?v=-R_dtE9o9WI)
npm package: @pipehnz/logger
Description: A simple logger based on Pino ;)
Author: Felipe Hernández
Latest version: 0.1.0

# A simple logger for Node.JS

## 🤔 How to use?

This logger is a wrapper based on [Pino](https://github.com/pinojs/pino) to use this logger is so simple you can use the following and enjoy it!

```javascript
const { buildLogger } = require("@pipehnz/logger");

const logger = buildLogger("my-app");

logger.info("My first log :)");
```
npm package: @pipeletteio/nop
Description: A simple nop function helper
Author: AshLePoney
Latest version: 1.0.5

<h1 align="center">
  <p>@pipeletteio/nop</p>
</h1>

<p align="center">A simple nop (no-op) function helper. Nop is a function that does nothing.</p>

<p align="center">
  <a alt="Build Status" href="https://github.com/pipeletteio/nop/actions?query=workflow">
    <img src="https://github.com/pipeletteio/nop/workflows/Build/badge.svg"/>
  </a>
  <a alt="Npm version" href="https://www.npmjs.com/package/@pipeletteio/nop?activeTab=versions">
    <img src="https://img.shields.io/npm/v/@pipeletteio/nop.svg?longCache=true&logo=npm">
  </a>
  <a alt="CodeClimate coverage" href="https://codeclimate.com/github/pipeletteio/nop/test_coverage">
    <img src="https://api.codeclimate.com/v1/badges/0dd2d5bb4e76e524531e/test_coverage"/>
  </a>
  <a alt="CodeClimate maintainability" href="https://codeclimate.com/github/pipeletteio/nop/maintainability">
    <img src="https://api.codeclimate.com/v1/badges/0dd2d5bb4e76e524531e/maintainability"/>
  </a>
  <a alt="Node requierement version" href="https://github.com/pipeletteio/nop/blob/master/package.json">
    <img src="https://img.shields.io/node/v/@pipeletteio/nop.svg?longCache=true"/>
  </a>
</p>

## Installation
```bash
npm install @pipeletteio/nop
```

## Example

```javascript
import { nop, isNop } from '@pipeletteio/nop';
// const { nop, isNop } = require('@pipeletteio/nop');

isNop(nop); // => true

isNop(function () {}); // => false
```

## Docs
Read [documentation](https://pipeletteio.github.io/nop) for more informations.

## API

#### nop

The nop function which will be used to replace the non cancellable callables.

|   argument   |    type   | details |
|--------------|-----------|---------|
|    ...arg    |   any[]   | ...     |

Return void.

#### isNop

Check if the argument is the nop function.

|   argument   |    type   |         details          |
|--------------|-----------|--------------------------|
|      arg     |    any    | The checked argument.    |

Return a boolean.
npm package: @pipeletteio/time-meter
Description: A minimal Node.js time-meter to calculate time between anything
Author: AshLePoney
Latest version: 2.0.2

<h1 align="center">
  <p>@pipeletteio/time-meter</p>
</h1>

<p align="center">🕑 A minimal time-meter to calculate time between anything.</p>

<p align="center">
  <a alt="Build Status" href="https://github.com/pipeletteio/time-meter/actions?query=workflow">
    <img src="https://github.com/pipeletteio/time-meter/workflows/Build/badge.svg"/>
  </a>
  <a alt="Npm version" href="https://www.npmjs.com/package/@pipeletteio/time-meter?activeTab=versions">
    <img src="https://img.shields.io/npm/v/@pipeletteio/time-meter.svg?longCache=true&logo=npm">
  </a>
  <a alt="CodeClimate coverage" href="https://codeclimate.com/github/pipeletteio/time-meter/test_coverage">
    <img src="https://api.codeclimate.com/v1/badges/9a655368da75ed055fb9/test_coverage"/>
  </a>
  <a alt="CodeClimate maintainability" href="https://codeclimate.com/github/pipeletteio/time-meter/maintainability">
    <img src="https://api.codeclimate.com/v1/badges/9a655368da75ed055fb9/maintainability"/>
  </a>
  <a alt="Node requierement version" href="https://github.com/pipeletteio/time-meter/blob/master/package.json">
    <img src="https://img.shields.io/node/v/@pipeletteio/time-meter.svg?longCache=true"/>
  </a>
</p>

## Installation

```bash
npm install @pipeletteio/time-meter
```

## Docs:
Read documentation [here](https://pipeletteio.github.io/time-meter).

## Example:
```javascript
const { TimeMeter } = require('@pipeletteio/time-meter');

const meter = new TimeMeter();

setTimeout(() => console.log(`${meter.next()}ms`), 200);
```

With Typescript:
```typescript
import { TimeMeter } from '@pipeletteio/time-meter';

const meter = new TimeMeter();

setTimeout(() => console.log(`${meter.next()}ms`), 200);
```

A shared time meter instance can be retreived from the package (default meter uses the milisecond format):
```javascript
import { meter } from '@pipeletteio/time-meter';
```

Using a custom formatter (availables: `LegacyFormatter`, `MilisecondFormatter` and `NanosecondFormatter`):
```typescript
import { TimeMeter, LegacyFormatter } from '@pipeletteio/time-meter';

const meter = new TimeMeter({ formatter: new LegacyFormatter() });

setTimeout(() => {
  const [seconds, nanoseconds] = meter.next();
  console.log(`${seconds}s ${nanoseconds}ns`);
}, 200);
```

Using your own formatter:
```typescript
import { TimeMeter, TimeFormatterInterface } from '@pipeletteio/time-meter';

class SecondFormatter implements TimeFormatterInterface {
  static DIVIDER = BigInt(1e9);

  format (ns: bigint): number {
    return Number(ns / SecondFormatter.DIVIDER);
  }
}

const meter = new TimeMeter({ formatter: new SecondFormatter() });

setTimeout(() => console.log(`${meter.next()}s`), 1500);
```
npm package: @pipeline-ui-2/pipeline
Description: Class to send transactions to Algorand network with MyAlgo Connect
Author: Headline
Latest version: 1.9.0

# Pipeline Algorand Connector
A work-in-progress JavaScript class to streamline the process of using MyAlgo Connect, WalletConnect and AlgoSigner to sign and send transactions to the Algorand network. 
## Usage

### Running the included example
```bash
cd example
npm install
npm run start
```

### Use as <script>

```html

<button onclick="connect()">TEST</button>

<script src="https://unpkg.com/@pipeline-ui-2/pipeline@1.3.4/dist/index.js"></script>

<script>
    const Pipeline = window.pipeline
    const wallet = Pipeline.init()
    function connect(){
        Pipeline.connect(wallet).then(data => {
            console.log(data)
        })
    }
</script>
```

### Install via npm:
```bash
npm install @pipeline-ui-2/pipeline
```
Import the class into your project:
```javascript
import Pipeline from "@pipeline-ui-2/pipeline/index";
```
Initialize Pipeline:
```javascript
const myAlgoWallet = Pipeline.init();
```
Connect to MyAlgo (returns first address in wallet):
```javascript
Pipeline.connect(myAlgoWallet)
    .then(data => {
        console.log(data);
    });
```
Connect to AlgoSigner (returns first address in wallet):
```javascript
Pipeline.pipeConnector = "AlgoSigner";
Pipeline.connect()
    .then(data => {
        console.log(data);
    });
```
Send a transaction (returns transaction id):
```javascript
send(address, amt, myNote, sendingAddress, wallet, index = 0)
    .then(data => {
        console.log(data);
    });
```
#### Pipeline.send Arguments 
1. address (string)
2. amt (amount in microalgos, integer)
3. myNote (note, string)
4. sendingAddress (string)
5. wallet (instance of Pipeline.init)
6. index (0 = Algorand, otherwise asset index number, integer)
npm package: @pipeline-ui/icons
Description: Cryptocurrency and Material icons ready for React with styled-components
Author: HEADLINE Design
Latest version: 0.1.1

# PIPELINE Icons

Crypto icons and Material icons as ES6 React styled-components

```sh
yarn add @pipeline-ui/icons styled-components
```

```jsx
// import icons individually for better tree-shaking
import { Accessibility, Algo, Btc } from '@pipeline-ui/icons'

const App = props => (
  <Accessibility
    size={32}
    color='tomato'
  />
  <Algo />
  <Btc />
)
```

```jsx
// import all icons as a single component
import { Icon } from "@pipeline-ui/icons";

const App = props => <Icon name="Accessibility" size={32} color="tomato" />;
```

## List of Icons

See the [icon list](ICONS.md) for a complete list of all icons available

## Props

| Prop    | Type   | Description                                                |
| ------- | ------ | ---------------------------------------------------------- |
| `size`  | number | width and height in pixels                                 |
| `color` | string | fill color, uses Styled System's [`color`][color] function |

## Contributing

```sh
yarn install
```

The build process will:

1. Parse the `material-design-icons` package for SVG source code
1. Parse the `crypto-icons` repo folder
1. Copy all the icons to the `svg/` folder
1. Run svgr over all icons to wrap in a react template with styled-system props
1. Replace default color prop with original background color for token icons
1. Create index files that imports all icons per directory
1. Create an `examples/` folder for tests and development
1. Run Babel on the `src/` folder and output to `lib/` for CommonJS compatible icons
1. Run Babel on the `src/` folder and output to `es/` for ES6 compatible icons

To run the development server:

1. First navigate to the `demo` directory
2. Install all the dependencies for the demo
3. Run the demo app

```sh
cd demo
yarn install
yarn start
```

Should start a local web server that displays all the icons

## Related

- [RMDI](https://jxnblk.com/rmdi)
- [Google Material Design Icons](https://github.com/google/material-design-icons)
- [Pixo](https://github.com/c8r/pixo)
- [Styled Components](https://www.styled-components.com/)
- [Styled System](https://styled-system.com/)
- [React Icons](https://github.com/gorangajic/react-icons)
- [Cryptocurrency Icons](https://github.com/atomiclabs/cryptocurrency-icons)

[MIT License](LICENSE.md)
npm package: @pipeline/pipe-scripts
Description: A script bundler task for the @pipelinejs/pipe task runner.
Latest version: 1.0.0

# @pipelinejs/pipe-scripts
[![Build Status](https://travis-ci.org/pipelinejs/pipe-scripts.svg)](https://travis-ci.org/pipelinejs/pipe-scripts) [![Dependency Status](https://david-dm.org/pipelinejs/pipe-scripts.svg)](https://david-dm.org/pipelinejs/pipe-scripts) [![devDependency Status](https://david-dm.org/pipelinejs/pipe-scripts/dev-status.svg)](https://david-dm.org/pipelinejs/pipe-scripts#info=devDependencies) [![Code Climate](https://codeclimate.com/github/pipelinejs/pipe-scripts/badges/gpa.svg)](https://codeclimate.com/github/pipelinejs/pipe-scripts) [![Test Coverage](https://codeclimate.com/github/pipelinejs/pipe-scripts/badges/coverage.svg)](https://codeclimate.com/github/pipelinejs/pipe-scripts/coverage)

> A pipe plugin which utilizes [browserify](http://browserify.org/) and [babel](http://babeljs.io/) to compile your JavaScript bundles.

## Features
* Easily compile your application package bundles.
* Automatic minification of your bundles based on the `PIPELINE_ENV` environment variable.

## Installation
```js
npm i -D @pipeline/pipe-scripts
```

#### Example `pipefile.js`
```js
import pipe from '@pipelinejs/pipe';
import scripts from '@pipelinejs/pipe-scripts';

// Register the plugin.
pipe.use(scripts).configure({
	id: 'compile:scripts'
});

// Register your application packages.
pipe.package('myPackage').configure({
	directory: 'myPackage/',

	// Example configuration for the scripts task.
	// All paths are relative to it's parent, f.e.:
	// `src` and `dest` are relative to the `directory` of your package.
	// `src` and `dest` of your bundle, are relative to the parents `src` and `dest` path.
	scripts: {
		src: 'src/js/',
		dest: 'dist/js/',

		bundles: [{
			id: 'app',
			src: 'index.js',
			dest: 'index.min.js'
		}]
	}
});
```

## Contributing
We use xo to lint the code, please take care to run `npm test` before you commit something.
If you add or modify methods or the API, please add unit tests as specified in the `*.spec.js` files.

## License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
npm package: @pipelinit/core
Description: Stack detection and CI configuration writing from pipelinit
Author: Pipelinit Developers
Latest version: 0.4.0

# @pipelinit/core

Stack detection and CI configuration writing from pipelinit

## Developmenting and contributing

### Publishing

To prepare this library to publish at npm, run
```
deno run        \
  --unstable    \
  --allow-read  \
  --allow-write \
  --allow-run package.ts
```
npm package: @pipeos/evmasm
Description: EVM (Ethereum Virtual Machine) Assembler
Author: Angel 'Java' Lopez
Latest version: 0.0.8

# evmasm

EVM (Ethereum Virtual Machine) assembler, WIP

## Global installation and usage

Via npm on Node:

```
npm install -g evmasm
```

Then run
```
evmasm file.asm
```

The output is the compiled bytecode for Ethereum Virtual Machine.

The assembler source code is compatible with the `solc --asm` output (after commenting
some lines starting with `==...`)

Asembler source code sample:

```
// ======= empty.sol:Empty =======

EVM assembly:
    /* "empty.sol":59:78  contract Empty {
... */
  mstore(0x40, 0x60)
  jumpi(tag_1, iszero(callvalue))
  0x0
  dup1
  revert
tag_1:
tag_2:
  dataSize(sub_0)
  dup1
  dataOffset(sub_0)
  0x0
  codecopy
  0x0
  return
stop

sub_0: assembly {
        /* "empty.sol":59:78  contract Empty {
... */
      mstore(0x40, 0x60)
    tag_1:
      0x0
      dup1
      revert

    auxdata: 0xa165627a7a7230582046b5464930e5eb5db6027b5aaae7f9140430cdd322d5eb42de2e546521573bd90029
}

```

Compiled using `solc --asm` from contract source code:
```
// Simple empty contract

contract Empty {
}

```

## Library usage

Install
```
npm install evmasm
```

Usage
```
var evmasm = require('evmasm');

var bytecode = evmasm.compile('mstore(0x40, 0x60)');

console.log(bytecode); // 6060604052
```

## Additional Opcodes

There are new functions to support literal data:

```
opcode(0xfa) 		// new opcode
data(0x01020304)	// arbitrary data
```

## References

- [Ethereum Project](https://ethereum.org/)
- [The CREATE2 OpCode and DApp Onboarding in Ethereum](https://hackernoon.com/the-create2-opcode-and-dapp-onboarding-in-ethereum-e2178e6c20cb)

## Samples

- [Compile sample](https://github.com/ajlopez/evmasm/tree/master/samples/compile)

## Versions

- 0.0.1 Published
- 0.0.2 Published, opcode and data functions
- 0.0.3 Published, define custom opcode and data, keccak256 opcode (old sha3)

## Contribution

Feel free to [file issues](https://github.com/ajlopez/evmasm) and submit
[pull requests](https://github.com/ajlopez/evmasm/pulls) � contributions are
welcome.

If you submit a pull request, please be sure to add or update corresponding
test cases, and ensure that `npm test` continues to pass.
npm package: @pipeos/react-function-call-ui
Description: >
Author: Loredana Cirstea
Latest version: 0.0.3

# react-function-call-ui

>

[![NPM](https://img.shields.io/npm/v/@pipeos/react-function-call-ui.svg)](https://www.npmjs.com/package/@pipeos/react-function-call-ui) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @pipeos/react-function-call-ui
```

## Usage

```jsx
import React, { Component } from 'react'

import { FunctionCall } from '@pipeos/react-function-call-ui';

class Example extends Component {
  render () {
    return (
      <FunctionCall
        styles={this.props}
        web3={web3}
        item={item}
        onRun={this.onRun}
        onInfoClosed={this.onInfoClosed}
        pfunctionColor={this.pfunctionColor}
      />
    )
  }
}
```

## License

MIT © [loredanacirstea](https://github.com/loredanacirstea)
npm package: @pipeos/react-pipeos-components
Description: >
Author: Loredana Cirstea
Latest version: 0.0.4

# @pipeos/react-pipeos-components

>

[![NPM](https://img.shields.io/npm/v/@pipeos/react-pipeos-components.svg)](https://www.npmjs.com/package/@pipeos/react-pipeos-components) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @pipeos/react-pipeos-components
```

## Usage

```jsx
import React, { Component } from 'react'

import PclassList from '@pipeos/react-pipeos-components'

class Example extends Component {
  render () {
    const buttons = {
      header: [],
      contentItem: [
        {
          callback: () => {},
          icon: {
            type: 'MaterialCommunityIcons',
            name: 'import',
          }
        }
      ],
    }

    return (
      <PclassList
        data={treedata}
        buttons={buttons}
        styles={props.styles}
        pfunctionColor={this.pfunctionColor}
      />
    )
  }
}
```

## License

MIT © [loredanacirstea](https://github.com/loredanacirstea)
npm package: @pipepanda/my_comp
Description: A Vue.js project
Author: pipe
Latest version: 1.0.4

# my_comp

> A Vue.js project

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
npm package: @piperguy/eslint-config
Description: 💎 eslint configuration
Author: Naveen Pandurangi
Latest version: 0.1.0

# 💎 eslint-config

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]

_My personal [eslint][eslint] configuration._

## 📦 Installation

This package is hosted on [npm][npm].

Install the configuration and it's peer dependencies as a development dependency.

```
npx install-peerdeps --dev @piperguy/eslint-config
```

> This installs peer dependencies automatically using [npx][npx] and [install-peerdeps][peer] so you don't have to!

## 🥑 Usage

Create an `.eslintrc` file in the root of your project and tell it to extend the configuration.

```
{
    extends: "@piperguy/eslint-config"
}
```

> You can add more ESLint configuration options in this file if you want.

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[version-badge]: https://img.shields.io/npm/v/@piperguy/eslint-config.svg?color=FB3B49&style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/eslint-config?style=flat-square
[npm]: https://www.npmjs.com/package/@piperguy/eslint-config
[eslint]: https://eslint.org
[npx]: https://www.npmjs.com/package/npx
[peer]: https://www.npmjs.com/package/install-peerdeps
[issues]: https://github.com/piperguy/eslint-config/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @piperguy/eslint-config-react
Description: 💎 eslint configuration
Author: Naveen Pandurangi
Latest version: 0.1.0

# 💎 eslint-config-react

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]

_My personal [eslint][eslint] configuration._

## 📦 Installation

This package is hosted on [npm][npm].

Install the configuration and it's peer dependencies as a development dependency.

```
npx install-peerdeps --dev @piperguy/eslint-config-react
```

> This installs peer dependencies automatically using [npx][npx] and [install-peerdeps][peer] so you don't have to!

## 🥑 Usage

Create an `.eslintrc` file in the root of your project and tell it to extend the configuration.

```
{
    extends: "@piperguy/eslint-config-react"
}
```

> You can add more ESLint configuration options in this file if you want.

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[version-badge]: https://img.shields.io/npm/v/@piperguy/eslint-config-react.svg?color=FB3B49&style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/eslint-config-react?style=flat-square
[npm]: https://www.npmjs.com/package/@piperguy/eslint-config-react
[eslint]: https://eslint.org
[npx]: https://www.npmjs.com/package/npx
[peer]: https://www.npmjs.com/package/install-peerdeps
[issues]: https://github.com/piperguy/eslint-config-react/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @piperguy/eslint-config-typescript
Description: 💎 eslint configuration for typescript
Author: Naveen Pandurangi
Latest version: 0.1.0

# 💎 eslint-config

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]

_My personal [eslint][eslint] configuration._

## 📦 Installation

This package is hosted on [npm][npm].

Install the configuration and it's peer dependencies as a development dependency.

```
npx install-peerdeps --dev @piperguy/eslint-config
```

> This installs peer dependencies automatically using [npx][npx] and [install-peerdeps][peer] so you don't have to!

## 🥑 Usage

Create an `.eslintrc` file in the root of your project and tell it to extend the configuration.

```
{
    extends: "@piperguy/eslint-config"
}
```

> You can add more ESLint configuration options in this file if you want.

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[version-badge]: https://img.shields.io/npm/v/@piperguy/eslint-config.svg?color=FB3B49&style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/eslint-config?style=flat-square
[npm]: https://www.npmjs.com/package/@piperguy/eslint-config
[eslint]: https://eslint.org
[npx]: https://www.npmjs.com/package/npx
[peer]: https://www.npmjs.com/package/install-peerdeps
[issues]: https://github.com/piperguy/eslint-config/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @piperguy/node-library-boilerplate
Description: 🟢 node library starter
Author: Naveen Pandurangi
Latest version: 0.1.1

# 🟢 node library starter

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]
[![size][size-badge]][bundlephobia]
[![github actions][github-actions-badge]][github-actions]
[![coverage][codecov-badge]][codecov]
[![typescript][typescript-badge]][typescript]

_Starter for `node` libraries._

// TODO: write intro section.

## 📦 Installation

This package is hosted on [npm][npm].

```bash
npm install @piperguy/node-library-boilerplate
```

## 🥑 Usage

// TODO: Write usage section.

## 📖 API Reference

// TODO: Write api reference section.

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[codecov]: https://app.codecov.io/gh/piperguy/node-library-boilerplate
[contributing]: https://github.com/piperguy/node-library-boilerplate/blob/master/contributing.md
[contributors]: #-contributors
[npm]: https://www.npmjs.com/package/@piperguy/node-library-boilerplate
[codecov-badge]: https://img.shields.io/codecov/c/github/piperguy/node-library-boilerplate?style=flat-square
[version-badge]: https://img.shields.io/npm/v/@piperguy/node-library-boilerplate.svg?style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/node-library-boilerplate?style=flat-square
[contributing-badge]: https://img.shields.io/badge/PRs-welcome-success?style=flat-square
[contributors-badge]: https://img.shields.io/github/all-contributors/piperguy/node-library-boilerplate?style=flat-square
[issues]: https://github.com/piperguy/node-library-boilerplate/issues
[twitter]: https://twitter.com/_PiperGuy_
[bundlephobia]: https://bundlephobia.com/result?p=@piperguy/node-library-boilerplate
[size-badge]: https://img.shields.io/bundlephobia/minzip/@piperguy/node-library-boilerplate?style=flat-square
[github-actions]: https://github.com/piperguy/node-library-boilerplate/actions
[github-actions-badge]: https://img.shields.io/github/workflow/status/piperguy/node-library-boilerplate/%F0%9F%9A%80%20release?style=flat-square
[typescript]: https://www.typescriptlang.org/dt/search?search=%40piperguy%2Fnode-library-boilerplate
[typescript-badge]: https://img.shields.io/npm/types/@piperguy/node-library-boilerplate?style=flat-square
npm package: @piperguy/plop-generator-react-component
Description: 💧 plop generator react component
Author: Naveen Pandurangi
Latest version: 1.1.1

# 💧 plop generator react component

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]
[![size][size-badge]][bundlephobia]
[![github actions][github-actions-badge]][github-actions]
[![coverage][codecov-badge]][codecov]
[![typescript][typescript-badge]][typescript]
[![contributing][contributing-badge]][contributing]
[![contributors][contributors-badge]][contributors]

_A [`plop`][plop] generator for [`react`][react] components._

## 📦 Installation

This package is hosted on [`npm`][npm].

```bash
npm install --save-dev @piperguy/plop-generator-react-component
```

## 🥑 Usage

First, be sure you have [`plop`][plop] installed. Then, add the following line to your `plopfile.js`.

```javascript
plop.load("@piperguy/plop-generator-react-component")
```

Now you'll have access to the `component` generator as shown below.

```bash
plop component
```

The `component` generator scaffolds a component, including tests and an associated css module. The resulting directory looks like this for a component named `Component`.

```text
src
└── components
   └── Component
      ├── index.ts
      ├── Component.tsx
      ├── Component.test.tsx
      └── Component.module.css
```

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[codecov]: https://app.codecov.io/gh/piperguy/plop-generator-react-component
[contributing]: https://github.com/piperguy/plop-generator-react-component/blob/master/contributing.md
[contributors]: #-contributors
[npm]: https://www.npmjs.com/package/@piperguy/plop-generator-react-component
[codecov-badge]: https://img.shields.io/codecov/c/github/piperguy/plop-generator-react-component?style=flat-square
[version-badge]: https://img.shields.io/npm/v/@piperguy/plop-generator-react-component.svg?style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/plop-generator-react-component?style=flat-square
[contributing-badge]: https://img.shields.io/badge/PRs-welcome-success?style=flat-square
[contributors-badge]: https://img.shields.io/github/all-contributors/piperguy/plop-generator-react-component?style=flat-square
[issues]: https://github.com/piperguy/plop-generator-react-component/issues
[twitter]: https://twitter.com/_PiperGuy__
[bundlephobia]: https://bundlephobia.com/result?p=@piperguy/plop-generator-react-component
[size-badge]: https://img.shields.io/bundlephobia/minzip/@piperguy/plop-generator-react-component?style=flat-square
[github-actions]: https://github.com/piperguy/plop-generator-react-component/actions
[github-actions-badge]: https://img.shields.io/github/workflow/status/piperguy/plop-generator-react-component/%F0%9F%9A%80%20release?style=flat-square
[typescript]: https://www.typescriptlang.org/dt/search?search=%40piperguy%2Fplop-generator-react-component
[typescript-badge]: https://img.shields.io/npm/types/@piperguy/plop-generator-react-component?style=flat-square
[plop]: https://plopjs.com
[react]: https://reactjs.org
npm package: @piperguy/plop-generator-react-context
Description: 💧 plop generator react context
Author: Naveen Pandurangi
Latest version: 0.1.0

# 💧 plop generator react context

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]
[![size][size-badge]][bundlephobia]
[![github actions][github-actions-badge]][github-actions]
[![coverage][codecov-badge]][codecov]
[![typescript][typescript-badge]][typescript]
[![contributing][contributing-badge]][contributing]
[![contributors][contributors-badge]][contributors]

_A [`plop`][plop] generator for [`react`][react] context._

## 📦 Installation

This package is hosted on [`npm`][npm].

```bash
npm install --save-dev @piperguy/plop-generator-react-context
```

## 🥑 Usage

First, be sure you have [`plop`][plop] installed. Then, add the following line to your `plopfile.js`.

```javascript
plop.load("@piperguy/plop-generator-react-context")
```

Now you'll have access to the `context` generator as shown below.

```bash
plop context
```

The `context` generator scaffolds a new context, including a consumer hook, and adds it to the `index.ts` file for easy importing. The resulting directory looks like this for a context named `App`.

```text
src
└── context
   ├── App.tsx
   └── index.ts
```

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[codecov]: https://app.codecov.io/gh/piperguy/plop-generator-react-context
[contributing]: https://github.com/piperguy/plop-generator-react-context/blob/master/contributing.md
[contributors]: #-contributors
[npm]: https://www.npmjs.com/package/@piperguy/plop-generator-react-context
[codecov-badge]: https://img.shields.io/codecov/c/github/piperguy/plop-generator-react-context?style=flat-square
[version-badge]: https://img.shields.io/npm/v/@piperguy/plop-generator-react-context.svg?style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/plop-generator-react-context?style=flat-square
[contributing-badge]: https://img.shields.io/badge/PRs-welcome-success?style=flat-square
[contributors-badge]: https://img.shields.io/github/all-contributors/piperguy/plop-generator-react-context?style=flat-square
[issues]: https://github.com/piperguy/plop-generator-react-context/issues
[twitter]: https://twitter.com/_PiperGuy_
[bundlephobia]: https://bundlephobia.com/result?p=@piperguy/plop-generator-react-context
[size-badge]: https://img.shields.io/bundlephobia/minzip/@piperguy/plop-generator-react-context?style=flat-square
[github-actions]: https://github.com/piperguy/plop-generator-react-context/actions
[github-actions-badge]: https://img.shields.io/github/workflow/status/piperguy/plop-generator-react-context/%F0%9F%9A%80%20release?style=flat-square
[typescript]: https://www.typescriptlang.org/dt/search?search=%40piperguy%2Fplop-generator-react-context
[typescript-badge]: https://img.shields.io/npm/types/@piperguy/plop-generator-react-context?style=flat-square
[plop]: https://plopjs.com
[react]: https://reactjs.org
npm package: @piperguy/plop-generator-react-hook
Description: 💧 plop generator react hook
Author: Naveen Pandurangi
Latest version: 0.1.0

# 💧 plop generator react hook

[![version][version-badge]][npm]
[![downloads][downloads-badge]][npm]
[![size][size-badge]][bundlephobia]
[![github actions][github-actions-badge]][github-actions]
[![coverage][codecov-badge]][codecov]
[![typescript][typescript-badge]][typescript]
[![contributing][contributing-badge]][contributing]
[![contributors][contributors-badge]][contributors]

_A [`plop`][plop] generator for [`react`][react] hooks._

## 📦 Installation

This package is hosted on [`npm`][npm].

```bash
npm install --save-dev @piperguy/plop-generator-react-hook
```

## 🥑 Usage

First, be sure you have [`plop`][plop] installed. Then, add the following line to your `plopfile.js`.

```javascript
plop.load("@piperguy/plop-generator-react-hook")
```

Now you'll have access to the `hook` generator as shown below.

```bash
plop hook
```

The `hook` generator scaffolds a hook, including tests, and adds it to the `index.ts` file for easy importing. The resulting directory looks like this for a hook named `useHook`.

```text
src
└── hooks
   ├── index.ts
   └── useHook
      ├── index.ts
      ├── useHook.tsx
      └── useHook.test.tsx
```

## ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]  
🙋🏼‍♂️ use my [ama][ama] or [twitter][twitter] to ask any other questions

[codecov]: https://app.codecov.io/gh/piperguy/plop-generator-react-hook
[contributing]: https://github.com/piperguy/plop-generator-react-hook/blob/master/contributing.md
[contributors]: #-contributors
[npm]: https://www.npmjs.com/package/@piperguy/plop-generator-react-hook
[codecov-badge]: https://img.shields.io/codecov/c/github/piperguy/plop-generator-react-hook?style=flat-square
[version-badge]: https://img.shields.io/npm/v/@piperguy/plop-generator-react-hook.svg?style=flat-square
[downloads-badge]: https://img.shields.io/npm/dt/@piperguy/plop-generator-react-hook?style=flat-square
[contributing-badge]: https://img.shields.io/badge/PRs-welcome-success?style=flat-square
[contributors-badge]: https://img.shields.io/github/all-contributors/piperguy/plop-generator-react-hook?style=flat-square
[issues]: https://github.com/piperguy/plop-generator-react-hook/issues
[twitter]: https://twitter.com/_PiperGuy_
[bundlephobia]: https://bundlephobia.com/result?p=@piperguy/plop-generator-react-hook
[size-badge]: https://img.shields.io/bundlephobia/minzip/@piperguy/plop-generator-react-hook?style=flat-square
[github-actions]: https://github.com/piperguy/plop-generator-react-hook/actions
[github-actions-badge]: https://img.shields.io/github/workflow/status/piperguy/plop-generator-react-hook/%F0%9F%9A%80%20release?style=flat-square
[typescript]: https://www.typescriptlang.org/dt/search?search=%piperguy%2Fplop-generator-react-hook
[typescript-badge]: https://img.shields.io/npm/types/@piperguy/plop-generator-react-hook?style=flat-square
[plop]: https://plopjs.com
[react]: https://reactjs.org
npm package: @piperguy/plop-helper
Description: 💧 plop helper
Author: Naveen Pandurangi
Latest version: 0.1.0

## 💧 plop-helper

<a href="https://npmjs.com/package/@piperguy/plop-helper">
    <img alt="npm" src="https://img.shields.io/npm/v/plop-helpe.svg?style=flat-square">
</a>

<a href="https://npmjs.com/package/@piperguy/plop-helper">
    <img alt="npm" src="https://img.shields.io/npm/dt/@piperguy/plop-helper?style=flat-square">
</a>

_A [plop][plop] helper to generate topic icons._

### 📦 Installation

This package is installable from [npm][npm].

```bash
npm install --save-dev @piperguy/plop-helper
```

### 🥑 Usage

Before you can use the `plop-pack`, you have to load it into the `plop` object.

```javascript
plop.load("@piperguy/plop-helper")
```

Once loaded, you now have access the following helpers.

#### `icon`

This helper is very specific to [piperguy.github.io][piperguy]. It generates an icon given a topic.

**input**

```javascript
{
    topic: "coding"
}
```

**helper**

```handlebars
{{icon topic}}
```

**output**

```javascript
"💻"
```

### ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[plop]: https://plopjs.com
[npm]: https://npmjs.com
[piperguy]: https://piperguy.github.io
[issues]: https://github.com/piperguy/plop-helper/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @piperguy/plop-helper-date
Description: 💧 plop helper date
Author: Naveen Pandurangi
Latest version: 1.0.0

## 💧 plop-helper-date

<a href="https://npmjs.com/package/@piperguy/plop-helper-date">
    <img alt="npm" src="https://img.shields.io/npm/v/@piperguy/plop-helper-date.svg?style=flat-square">
</a>

<a href="https://npmjs.com/package/@piperguy/plop-helper-date">
    <img alt="npm" src="https://img.shields.io/npm/dt/@piperguy/plop-helper-date?style=flat-square">
</a>

_A [plop][plop] helper to grab the current date._

### 📦 Installation

This package is installable from [npm][npm].

```bash
npm install --save-dev @piperguy/plop-helper-date
```

### 🥑 Usage

Before you can use the `plop-pack`, you have to load it into the `plop` object.

```javascript
plop.load("@piperguy/plop-helper-date")
```

Once loaded, you now have access the following helpers.

#### `date`

Creates a formatted date.

**input**

```json
{}
```

**helper**

```handlebars
{{date}}
```

**output**

```javascript
"2020-07-10"
```

### ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[plop]: https://plopjs.com
[npm]: https://npmjs.com
[piperguy]: https://piperguy.github.io
[issues]: https://github.com/@piperguy/plop-helper-date/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @piperguy/plop-helper-slugify
Description: 💧 plop helper slugify
Author: Naveen Pandurangi
Latest version: 1.1.0

## 💧 plop-helper-slugify

<a href="https://npmjs.com/package/plop-helper-slugify">
    <img alt="npm" src="https://img.shields.io/npm/v/@piperguy/plop-helper-slugify.svg?style=flat-square">
</a>

<a href="https://npmjs.com/package/plop-helper-slugify">
    <img alt="npm" src="https://img.shields.io/npm/dt/@piperguy/plop-helper-slugify?style=flat-square">
</a>

_A [plop][plop] helper that slugifies text._

### 📦 Installation

This package is installable from [npm][npm].

```bash
npm install --save-dev @piperguy/plop-helper-slugify
```

### 🥑 Usage

Before you can use the `plop-pack`, you have to load it into the `plop` object.

```javascript
plop.load("@piperguy/plop-helper-slugify")
```

Once loaded, you now have access the following helpers.

#### `slugify`

Creates a slug for any input text.

**input**

```javascript
{
    title: "This Is An Example Slug"
}
```

**helper**

```handlebars
{{slug title}}
```

**output**

```javascript
"this-is-an-example-slug"
```

### ❔ Questions

🐛 report bugs by filing [issues][issues]  
📢 provide feedback with [issues][issues] or on [twitter][twitter]

[plop]: https://plopjs.com
[npm]: https://npmjs.com
[piperguy]: https://piperguy.github.io
[issues]: https://github.com/piperguy/plop-helper-slugify/issues
[twitter]: https://twitter.com/_PiperGuy_
npm package: @pipeworx/mcp-advice
Description: MCP server for the [Advice Slip API](https://api.adviceslip.com) — get random advice, search advice slips, and look up by ID. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-advice

MCP server for the [Advice Slip API](https://api.adviceslip.com) — get random advice, search advice slips, and look up by ID. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `random_advice` | Get a random piece of advice |
| `search_advice` | Search for advice slips by keyword |
| `get_advice` | Get a specific advice slip by ID |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "advice": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/advice"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/advice
```

## License

MIT
npm package: @pipeworx/mcp-agify
Description: MCP server for [Agify.io](https://agify.io) — predict a person's age from their first name, with optional country-specific calibration. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-agify

MCP server for [Agify.io](https://agify.io) — predict a person's age from their first name, with optional country-specific calibration. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `predict_age` | Predict age based on a first name (global data) |
| `predict_age_country` | Predict age calibrated to a specific country |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "agify": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/agify"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/agify
```

## License

MIT
npm package: @pipeworx/mcp-airports
Description: Airports MCP — wraps AirportGap API (free, no auth required)
Latest version: 0.1.0

# mcp-airports

Airports MCP — wraps AirportGap API (free, no auth required)

Part of the [Pipeworx](https://pipeworx.io) open MCP gateway.

## Tools

| Tool | Description |
|------|-------------|

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "airports": {
      "url": "https://gateway.pipeworx.io/airports/mcp"
    }
  }
}
```

Or use the CLI:

```bash
npx pipeworx use airports
```

## License

MIT
npm package: @pipeworx/mcp-airquality
Description: MCP server for the [Open-Meteo Air Quality API](https://air-quality-api.open-meteo.com) — current air quality conditions and hourly forecasts by location. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-airquality

MCP server for the [Open-Meteo Air Quality API](https://air-quality-api.open-meteo.com) — current air quality conditions and hourly forecasts by location. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `get_air_quality` | Current AQI, PM2.5, PM10, CO, NO2, and ozone for a location |
| `get_forecast` | Hourly air quality forecast (1-7 days) |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "airquality": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/airquality"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/airquality
```

## License

MIT
npm package: @pipeworx/mcp-animequotes
Description: MCP server for [Animechan](https://animechan.io) — random anime quotes, search by anime series or character name. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-animequotes

MCP server for [Animechan](https://animechan.io) — random anime quotes, search by anime series or character name. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `random_quote` | Get a random anime quote |
| `search_by_anime` | Get quotes from a specific anime series |
| `search_by_character` | Get quotes from a specific character |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "animequotes": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/animequotes"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/animequotes
```

## License

MIT
npm package: @pipeworx/mcp-archive
Description: MCP server for the [Internet Archive](https://archive.org) — full-text search, item metadata retrieval, and Wayback Machine URL lookups. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-archive

MCP server for the [Internet Archive](https://archive.org) — full-text search, item metadata retrieval, and Wayback Machine URL lookups. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `search` | Search archive.org collections (Lucene query syntax) |
| `get_metadata` | Get full metadata for an item by identifier |
| `wayback_check` | Check if a URL has been archived and get the nearest snapshot |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "archive": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/archive"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/archive
```

## License

MIT
npm package: @pipeworx/mcp-art
Description: Art MCP — Metropolitan Museum of Art Collection API (free, no auth)
Latest version: 0.1.0

# mcp-art

Art MCP — Metropolitan Museum of Art Collection API (free, no auth)

Part of the [Pipeworx](https://pipeworx.io) open MCP gateway.

## Tools

| Tool | Description |
|------|-------------|
| `get_departments` | Get the list of all departments in the Metropolitan Museum of Art. |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "art": {
      "url": "https://gateway.pipeworx.io/art/mcp"
    }
  }
}
```

Or use the CLI:

```bash
npx pipeworx use art
```

## License

MIT
npm package: @pipeworx/mcp-artic
Description: MCP server for the [Art Institute of Chicago API](https://api.artic.edu) — search artworks, get artwork and artist details, and browse exhibitions. Free, no auth required.
Latest version: 0.1.0

# @pipeworx/mcp-artic

MCP server for the [Art Institute of Chicago API](https://api.artic.edu) — search artworks, get artwork and artist details, and browse exhibitions. Free, no auth required.

## Tools

| Tool | Description |
|------|-------------|
| `search_artworks` | Full-text search across the collection |
| `get_artwork` | Detailed record for a single artwork by ID |
| `get_artist` | Artist record by ID |
| `get_exhibitions` | Current and recent exhibitions |

## Quick Start

Add to your MCP client config:

```json
{
  "mcpServers": {
    "artic": {
      "type": "url",
      "url": "https://gateway.pipeworx.io/artic"
    }
  }
}
```

## CLI Usage

```bash
npx @anthropic-ai/mcp-client https://gateway.pipeworx.io/artic
```

## License

MIT