open-index/open-npm huggingface dataset:
npm package: @redwoodjs/cli-storybook
Description: **WIP**: This package is the first example of extracting a command from `@redwoodjs/cli` into it's own CLI plugin package.
Latest version: 7.7.5

# CLI Packages - Storybook

**WIP**: This package is the first example of extracting a command from `@redwoodjs/cli` into it's own CLI plugin package.

<!-- Until we get rid of `@redwoodjs/telemetry` or solve its or one of its dependencies circular dependency issue, we can't use packagephobia to calcuate the size. It times out. -->

<!-- ## Package size

| Version                                                                           | Publish | Install |
| :-------------------------------------------------------------------------------- | :------ | :------ |
| [v6.0.0-...](https://packagephobia.com/result?p=%40redwoodjs%2Fcli-storybook) |         |         | -->

## Dependency graphs

### src

![src](./dependencyGraph.src.svg)

### dist

![dist](./dependencyGraph.dist.svg)
npm package: @redwoodjs/eslint-plugin-redwood
Description: eslint plugin for Redwood rules.
Author: Tom Preston-Werner
Latest version: 0.33.3

# ESLint Plugin

<!-- toc -->
- [Purpose and Vision](#Purpose-and-Vision)
- [Package Lead](#Package-Lead)
- [Roadmap](#Roadmap)
- [Contributing](#Contributing)
- [FAQ](#FAQ)

## Purpose and Vision
Summarise the project's values, purpose, and aspirational vision.

## Package Lead
Identify the decision maker and/or go-to for questions.

## Roadmap
Similar to Purpose and Vision, but more concrete, comprising near-term priorities and long-term goals.

## Contributing
Explains how to contribute by addressing the following three points:

1) Core technologies a contributor should be a familiar with.
2) How this package fits into the Redwood Framework, if it depends on other Redwood packages, etc.
3) The structure of the package and/or an explanation of its contents.

## FAQ

Answers to frequently asked questions.
npm package: @redwoodjs/sdk
Description: 🚨 Deprecated. This package has been renamed to 'rwsdk'.
Latest version: 0.0.80
Deprecated: This package has been renamed to 'rwsdk'. Please install 'rwsdk' instead.

# @redwoodjs/sdk (DEPRECATED)

🚨 **This package has been renamed.** It is now published under the new name: [`rwsdk`](https://www.npmjs.com/package/rwsdk)

---

To continue receiving updates and support, please:

1. Uninstall the old package:

```bash
npm uninstall @redwoodjs/sdk
```

2. Install the new package:

```
npm install rwsdk
```

3. Update all import paths:

```ts
// Before:
import { defineApp } from "@redwoodjs/sdk/worker";

// After:
import { defineApp } from "rwsdk/worker";
```

---

- The GitHub repository remains the same: https://github.com/redwoodjs/sdk
- All future releases will be under the `rwsdk` name.
npm package: @redword321/react-scripts
Description: redword321 Configuration and scripts for Create React App.
Latest version: 3.0.0

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @redyetidev/prototools
Description: Prototools allows for more prototype functions
Author: RdYetiDev
Latest version: 1.0.0

# ProtoTools
> Version 0.0.1

ProtoTools allows for more prototype tools to make coding easier.

## Installing
First, install using NPM
```sh
npm i @redyetidev/prototools
```
Next, require it into your script
```js
require("@redyetidev/prototools") 
// No need to assign prototools to a variable
```

## How to use
See the [documentation file](docs.md) for the documentation
> The docs file was automatically generated, so there might be incorrect information
npm package: @reearth/cesium-mvt-imagery-provider
Description: Custom ImageryProvider for Mapbox Vector Tiles (extended for Re:Earth)
Latest version: 1.6.2

# cesium-mvt-imagery-provider

## Usage

```ts
const imageryProvider = new MVTImageryProvider({
  urlTemplate: "http://localhost:8080/sample_mvt/{z}/{x}/{y}.mvt",
  layerName: "layerName", // or "layerName1,layerName2,layerName3"
  worker: true, // by default false
  credit: "cesium.js",
});

const layers = viewer.scene.imageryLayers;
const currentLayer = layers.addImageryProvider(imageryProvider);
currentLayer.alpha = 0.5;

// Call `layers.remove(currentLayer);` when it is unnecessary.
```

See example directory for more details.

## Development

1. `yarn`
2. `yarn unlink && yarn build && yarn run link`
4. `cd ./example`
5. `yarn && yarn dev`
6. Then example cesium application is started

If you run example, you need to set sample MVT data to `./example/public`.
And you should change `layerName` option for `MVTImageryProvider` in `./example/src/Imagery.tsx`.

If you want to run this library on your vite project, you can do it like the following.

1. `yarn build`
2. `cp ./dist ~/your_project && rm -rf node_modules/.vite`
3. Restart your project server
npm package: @reecem/digesterjs
Description: Generates SHA digests using browsers Crypto API for getting hashes :)
Author: ReeceM
Latest version: 1.1.2

# digesterjs
Generates SHA digests using browsers Crypto API for getting hashes :)

## Usage
For using it in a browser for testing...
```html 
let digesterjs = {}
import("https://reecem.github.io/digesterjs/digesterjs.js").then(module => {
    digesterjs = module.default

    //use code here
})
```
## Example usage

This is how you can use the thing to generate a hash for a payload of data where you don't always have a repeatable ID

```js
// import for ES6 type projects
import digesterjs from 'digesterjs';

/**
 * Using the digest to version internal information of a queue
 * 
 */
var payload = {
    data: {
        //... random unknown structure
    },
    ...
}

let stateHolder = new Map()

digesterjs.__sha1Hash(payload.data, (result, err = null) => {

    let count = 0;

    if (err) {
        console.error('[ERROR - digesterjs] %o', err)
        new Error(err)
    }

    if (result != null) {
        count = stateHolder.get(result) || count
        count++ // increment the occurances...
        stateHolder.set(result, count + 1)
    }
    
    // example of the stack count...

    if (count > 10) {
        
        console.error('[perminent failure] I have given up stacking this %o', removed_stack)
        // remove the payload from the queue
        stateHolder.delete(result)
    }

})

```

## Support
<p align="center">
<a href='http://bit.ly/2vA7lg6' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi4.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
</p>
npm package: @reed665/wordscount
Description: Simple function to help you count words in a text
Author: reed665
Latest version: 1.1.0

# wordscount

Simple function to help you count words in a text

## Installation
```bash
npm i @reed665/wordscount
```

## Usage
```javascript
import wordscount from '@reed665/wordscount'

const text = 'Love to hate to love'
const textWordsCount = wordscount(text)

Object.keys(textWordsCount) // ['love', 'to', 'hate']
textWordsCount.love // 2
textWordsCount.to // 2
textWordsCount.hate // 1
```
npm package: @reedchan/koa-proxy
Description: Http Proxy Middleware for Koa
Author: reedchan
Latest version: 0.13.2

# Koa Proxy

Koa Proxy is a middleware to proxy request to another.

## Installation

```bash
# npm
$ npm install @reedchan/koa-proxy
# yarn
$ yarn add @reedchan/koa-proxy
# pnpm
$ pnpm install @reedchan/koa-proxy
```

## Options

### http-proxy events

```js
options.events = {
  error (err, req, res) { },
  proxyReq (proxyReq, req, res) { },
  proxyRes (proxyRes, req, res) { }
}
```

### log option
```js
// enable log
options.logs = true; // or false

// custom log function
options.logs = (ctx, target) {
  console.log('%s - %s %s proxy to -> %s', new Date().toISOString(), ctx.req.method, ctx.req.oldPath, new URL(ctx.req.url, target))
}
```

## Usage

```js
// dependencies
const Koa = require('koa')
const proxy = require('@reedchan/koa-proxy')
const httpsProxyAgent = require('https-proxy-agent')

const app = new Koa()

// middleware
app.use(proxy('/octocat', {
  target: 'https://api.github.com/users/',
  changeOrigin: true,
  agent: new httpsProxyAgent('http://1.2.3.4:88'), // if you need or just delete this line
  timeout: 5000,
  proxyTimeout: 10000,
  rewrite: path => path.replace(/^\/octocat(\/|\/\w+)?$/, '/vagusx'),
  logs: true
}))
```
The 2nd parameter `options` can be a function. It will be called with the path matching result (see [path-match](https://www.npmjs.com/package/path-match) for details) and Koa `ctx` object. You can leverage this feature to dynamically set proxy. Here is an example:

```js
// dependencies
const Koa = require('koa')
const proxy = require('@reedchan/koa-proxy')

const app = new Koa()

// middleware
app.use(proxy('/octocat/:name', (params, ctx) => {
  return {
    target: 'https://api.github.com/',
    changeOrigin: true,
    rewrite: () => `/users/${params.name}`,
    logs: true
  }})
)
```
Moreover, if the `options` function return `false`, then the proxy will be bypassed. This allows the middleware to bail out even if path matching succeeds, which could be helpful if you need complex logic to determine whether to proxy or not.


### Attention

Please make sure that `@reedchan/koa-proxy` is in front of `koa-bodyparser` to avoid this [issue 55](https://github.com/vagusX/@reedchan/koa-proxy/issues/55)

```js
const Koa = require('koa')
const app = new Koa()
const proxy = require('@reedchan/koa-proxy')
const bodyParser = require('koa-bodyparser')

app.use(proxy('/user', {
  target: 'http://example.com',
  changeOrigin: true
}))

app.use(bodyParser())
```
npm package: @reedchan/onetime
Description: Ensure a function is only called once.
Forked from sindresorhus/onetime, with native TypeScript support.
Author: Reed Chan
Latest version: 8.1.0

# onetime

> Ensure a function is only called once

When called multiple times it will return the return value from the first call.

*Unlike the module [once](https://github.com/isaacs/once), this one isn't naughty and extending `Function.prototype`.*

This package is a lightweight fork of `sindresorhus/onetime` that preserves the original behavior and keeps the public API fully compatible, while additionally providing:

- **CommonJS support out of the box**
- **Native TypeScript typings (no separate install)**
- **Zero runtime dependencies**

## Install

```sh
# pnpm (recommended)
pnpm add @reedchan/onetime

# npm
npm install @reedchan/onetime

# yarn
yarn add @reedchan/onetime
```

## Features

- 🚀  100% API-compatible with the original `onetime` package
- ⭐  Supports both ESM and CommonJS consumers
- 🔥  Native TypeScript support via included `types` field
- 🎉  Zero runtime dependencies

## Usage

```typescript
import onetime from '@reedchan/onetime';

let index = 0;

const foo = onetime(() => ++index);

foo(); //=> 1
foo(); //=> 1
foo(); //=> 1

onetime.callCount(foo); //=> 3
```

```typescript
import onetime from '@reedchan/onetime';

const foo = onetime(() => {}, {throw: true});

foo();

foo();
//=> Error: Function `foo` can only be called once
```

## API

### onetime(fn, options?)

Returns a function that only calls `fn` once.

#### fn

Type: `Function`

The function that should only be called once.

#### options

Type: `object`

##### throw

Type: `boolean`\
Default: `false`

Throw an error when called more than once.

### onetime.callCount(fn)

Returns a number representing how many times `fn` has been called.

Note: It throws an error if you pass in a function that is not wrapped by `onetime`.

```js
import onetime from '@reedchan/onetime';

const foo = onetime(() => {});

foo();
foo();
foo();

console.log(onetime.callCount(foo));
//=> 3
```

#### fn

Type: `Function`

The function to get call count from.