open-index/open-npm huggingface dataset:
npm package: @kyunkakata/debugger-shell
Description: Experimental debugger shell for React Native for use with @react-native/debugger-frontend
Latest version: 0.81.4

# @react-native/debugger-shell

![npm package](https://img.shields.io/npm/v/@react-native/debugger-shell?color=brightgreen&label=npm%20package)

Experimental Electron-based shell for React Native DevTools. This package is not part of React Native's public API.

## Why Electron?

The React Native DevTools frontend is based on Chrome DevTools, which is a web app, but is not particularly portable: it's designed to run in Chromium, and Chromium only. Prior to `@react-native/debugger-shell`, we would run it in [hosted mode](https://chromium.googlesource.com/devtools/devtools-frontend/+/main/docs/get_the_code.md#running-in-hosted-mode) in an instance of Chrome or Edge.

Relying on hosted mode presents a variety of UX issues in the debugging workflow, such as the need to ask developers to install a particular browser before they can debug in React Native, and the inability to foreground/reuse existing debugger windows when relaunching the debugger for the same app. In order to address these issues effectively, we fundamentally need to leave the browser sandbox and run the debugger in a shell we can bundle with React Native, and whose behavior we can control.

Electron is a tried-and-tested framework for the *specific* task of embedding a Chromium browser in a portable, customized shell. As a rule we'll hold a high bar for performance and reliability, and we'll only add features to the shell if they are strictly necessary to complement the DevTools frontend's built-in capabilities.
npm package: @kyunkakata/eslint-config
Description: ESLint config for React Native
Latest version: 0.81.4

# @react-native/eslint-config

[![Version][version-badge]][package]

## Installation

```
yarn add --dev eslint prettier @react-native/eslint-config
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

## Usage

Add to your eslint config (`.eslintrc`, or `eslintConfig` field in `package.json`):

```json
{
    "extends": "@react-native"
}
```

[version-badge]: https://img.shields.io/npm/v/@react-native/eslint-config.svg?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/eslint-config
npm package: @kyunkakata/eslint-plugin
Description: ESLint rules for @react-native/eslint-config
Latest version: 0.81.4

# @react-native/eslint-plugin

This plugin is intended to be used in [`@react-native/eslint-config`](https://github.com/facebook/react-native/tree/HEAD/packages/eslint-config-react-native). You probably want to install that package instead.

## Installation

```
yarn add --dev eslint @react-native/eslint-plugin
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

## Usage

Add to your eslint config (`.eslintrc`, or `eslintConfig` field in `package.json`):

```json
{
    "plugins": ["@react-native"]
}
```

## Rules

### `platform-colors`

Enforces that calls to `PlatformColor` and `DynamicColorIOS` are statically analyzable to enable performance optimizations.

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/eslint-plugin-react-native`.
npm package: @kyunkakata/eslint-plugin-specs
Description: ESLint rules to validate NativeModule and Component Specs
Latest version: 0.81.4

# @react-native/eslint-plugin-specs

[![Version][version-badge]][package]

## Installation

```
yarn add --dev @react-native/eslint-plugin-specs
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/eslint-plugin-specs?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/eslint-plugin-specs

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/eslint-plugin-specs`.
npm package: @kyunkakata/gradle-plugin
Description: Gradle Plugin for React Native
Latest version: 0.81.4

# @react-native/gradle-plugin

[![Version][version-badge]][package]

A Gradle Plugin used to support development of React Native applications for Android.

## Installation

```
yarn add @react-native/gradle-plugin
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/gradle-plugin?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/gradle-plugin

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `./gradlew -p packages/gradle-plugin test`.
npm package: @kyunkakata/js-polyfills
Description: Polyfills for React Native.
Latest version: 0.81.4

# @react-native/js-polyfills

[![Version][version-badge]][package]

## Installation

```
yarn add @react-native/js-polyfills
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/js-polyfills?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/js-polyfills

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/polyfills`.
npm package: @kyunkakata/metro-config
Description: Metro configuration for React Native.
Latest version: 0.81.4

# @react-native/metro-config

[![Version][version-badge]][package]

## Installation

```
yarn add --dev @react-native/js-polyfills metro-config @react-native/metro-babel-transformer metro-runtime @react-native/metro-config
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/metro-config?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/metro-config

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/metro-config`.
npm package: @kyunkakata/new-app-screen
Description: NewAppScreen component for React Native
Latest version: 0.81.4

# @react-native/new-app-screen

![npm package](https://img.shields.io/npm/v/@react-native/new-app-screen?color=brightgreen&label=npm%20package)

`NewAppScreen` component for React Native.

## Usage

```js
import { NewAppScreen } from '@react-native/new-app-screen';

function MyAppOrTemplate() {
  ...

  return <NewAppScreen />;
}
```

## Contributing

Changes to this package can be made locally and tested against the `rn-tester` app, per the [Contributing guide](https://reactnative.dev/contributing/overview#contributing-code).
npm package: @kyunkakata/normalize-colors
Description: Color normalization for React Native.
Latest version: 0.81.4

# @react-native/normalize-colors

[![Version][version-badge]][package]

## Installation

```
yarn add --dev @react-native/normalize-colors
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/normalize-colors?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/normalize-colors

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/normalize-color`.
npm package: @kyunkakata/virtualized-lists
Description: Virtualized lists for React Native.
Latest version: 0.81.4

# @react-native/virtualized-lists

[![Version][version-badge]][package]

## Installation

```
yarn add @react-native/virtualized-lists
```

*Note: We're using `yarn` to install deps. Feel free to change commands to use `npm` 3+ and `npx` if you like*

[version-badge]: https://img.shields.io/npm/v/@react-native/virtualized-lists?style=flat-square
[package]: https://www.npmjs.com/package/@react-native/virtualized-lists

## Testing

To run the tests in this package, run the following commands from the React Native root folder:

1. `yarn` to install the dependencies. You just need to run this once
2. `yarn jest packages/virtualized-lists`.
npm package: @kyunwang/maprelative
Description: A small utility package born from a niche usecase.   In the majority of cases you would not need this package, see if this package suits your needs instead: [`maprange`]https://www.npmjs.com/package/@anselan/maprange
Author: Kang Yun Wang
Latest version: 0.0.1

# Map Relative

A small utility package born from a niche usecase.  
In the majority of cases you would not need this package, see if this package suits your needs instead: [`maprange`]https://www.npmjs.com/package/@anselan/maprange

- [Examples](#examples)
- [Options](#options)
- [Notes](#notes)
- [TODO](#todo)

## Examples

The very basic and only usage (using default linear easing & no clamping):
```js
import { mapRelative } from '@kyunwang/maprelative';

// Returns 1 - due to looping
// Once clamping is supported, it will stop at 3
mapRelative(2, [0, 2], [1, 3]);

// Returns 5
mapRelative(2.5, [0, 3], [1, 3, 2, 8]);

// Returns -0.9535759475583964
mapRelative(7.8, [2, 19], [9, -1, 33, 12]);
```

## Options

| Name		| Type		   | Default	   | Required |
| --------- | ------------ | ------------- | -------- |
| easing    | `function`   | (t) => t      | No       |
<!-- | clamp     | `boolean`    | false         | No       | -->


## Notes
- By default the result is looping, enable the `clamp: true` to prevent the looping.
- Overwrite the `easing` option with methods from e.g. the [`eases](https://www.npmjs.com/package/eases) package.


## TODO
Todos before I deem it v1 (even though it's just one method)

- [ ] support Clamping 
- [ ] edgecase checking
- [ ] small demo page
- [ ] Add optional seamless looping behaviour (currently jump restarts back to index 0 at progression `1`)
npm package: @kyushun/nix
Description: ni extended
Author: kyushun
Latest version: 0.1.0

# @kyushun/nix

**@kyushun/nix** is a tool that detects the npm package manager used in your repository (npm, yarn, pnpm, etc.) and runs the corresponding commands, simplifying your npm experience.

## Features

- **Unified Command Structure**: Execute operations without switching between command prefixes.
- **Cross-Environment Compatibility**: Runs wherever npm is available.
- **Automatic Detection**: Adapts to the npm package manager in your repo.

Inspired by [@antfu/ni](https://github.com/antfu/ni) and [azu/ni.zsh](https://github.com/azu/ni.zsh), this package adopts the core functionality of [@antfu/ni](https://github.com/antfu/ni) but offers a more unified command structure. Unlike [@antfu/ni](https://github.com/antfu/ni), which uses different prefixes for various commands like install, run, upgrade, and uninstall, our tool maintains a consistent command prefix across all operations. Additionally, while [azu/ni.zsh](https://github.com/azu/ni.zsh) is restricted to the zsh environment, our package can be used wherever npm is available.

## Installation

```sh
npm i -g @kyushun/nix
```

## Usage

```sh
nix                          -- installs dependencies
nix add/install <pkg>        -- adds a package
nix remove/uninstall <pkg>   -- removes a package
nix [run] <script>           -- runs npm scripts
nix upgrade/update [<pkg>]   -- upgrades packages
nix exec <command>           -- executes a command directly
nix dlx <pkg>                -- downloads and executes a package command
```
npm package: @kyusu/ordo-ab-chao
Description: Encyclopaedia Metallum Genre Classifier
Author: 急須
Latest version: 0.0.2

# ordo-ab-chao
[![Maintainability](https://api.codeclimate.com/v1/badges/3579410cd123c5b893a8/maintainability)](https://codeclimate.com/github/kyusu/ordo-ab-chao/maintainability)
[![dependencies Status](https://david-dm.org/kyusu/ordo-ab-chao/status.svg)](https://david-dm.org/kyusu/ordo-ab-chao)
[![devDependencies Status](https://david-dm.org/kyusu/ordo-ab-chao/dev-status.svg)](https://david-dm.org/kyusu/ordo-ab-chao?type=dev)
[![Coverage Status](https://coveralls.io/repos/github/kyusu/ordo-ab-chao/badge.svg)](https://coveralls.io/github/kyusu/ordo-ab-chao)
![Node.js CI](https://github.com/kyusu/ordo-ab-chao/workflows/Node.js%20CI/badge.svg)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/kyusu/ordo-ab-chao/graphs/commit-activity)
[![GitHub license](https://img.shields.io/github/license/kyusu/ordo-ab-chao.svg)](https://github.com/kyusu/ordo-ab-chao/blob/master/LICENSE)
[![DeepScan grade](https://deepscan.io/api/teams/10488/projects/13337/branches/220799/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=10488&pid=13337&bid=220799)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=kyusu_ordo-ab-chao&metric=alert_status)](https://sonarcloud.io/dashboard?id=kyusu_ordo-ab-chao)


Encyclopaedia Metallum Genre Classifier

## Purpose

I wanted to do some statistics with the data from the [Encyclopaedia Metallum](https://www.metal-archives.com), but
quickly discovered that the _genre_ is a free text field, so for 120.000 plus bands, I found 8.500 plus genres with
such gems as `Thrash Metal (1986-1988), Death Metal (1989-1991, 2008-), Progressive Death Metal/Jazz Fusion (1993)`.

This would not do, so I wrote a bunch of classifiers for the following genres:

- [Black Metal](src/isBlackMetal.js)
- [Death Metal](src/isDeathMetal.js)
- [Doom Metal](src/isDeathMetal.js)
- [Thrash Metal](src/isThrashMetal.js)
- [Speed Metal](src/isSpeedMetal.js)
- [Power Metal](src/isPowerMetal.js)
- [Heavy Metal](src/isHeavyMetal.js)

and just [Metal](src/isMetal.js) in general.

For the exact rules, see the [unit tests](tests).

## Usage
```javascript
const {isBlackMetal} = require('ordo-ab-chao');

isBlackMetal.runWith('Avant-garde Black Metal/Ambient'); // true
```
npm package: @kyuuseiryuu/bark-sdk
Description: ![release workflow](https://github.com/kyuuseiryuu/bark-sdk/actions/workflows/release-package.yml/badge.svg)
Author: kyuuseiryuu
Latest version: 1.4.1

# bark-sdk
![release workflow](https://github.com/kyuuseiryuu/bark-sdk/actions/workflows/release-package.yml/badge.svg)

## install
``` bash
npm i @kyuuseiryuu/bark-sdk
```
## usage

```typescript
const barkServer = new BarkSDK('YOUR_BARK_SERVER');
const user = new BarkUser('YOUR_BARK_KEY');
// const user = new BarkUser('https://YOUR_BARK_SERVER/YOUR_BARK_KEY/这里改成你自己的推送内容');
const notification = new BarkNotification('这里是推送内容');
// const notification = new BarkNotification('这里是推送内容', '标题可有可无');
notification
    .setJumpURL('https://google.com')
    .setSound('bell')
    .setGroup('group1');
// 链式调用设置参数
const newNotification = notification.clone().setTitle('新的一个通知');
barkServer.notify(user, notification);
barkServer.notify(user, newNotification);
```

[View test case demo](./__test__)

# resources
- [https://github.com/Finb/Bark](https://github.com/Finb/Bark)

# License
Code released under the [MIT](./LICENSE) license.
npm package: @kyuuseiryuu/getgist
Description: get gist file
Author: kyuuseiryuu
Latest version: 1.1.0

# GetGist

有时候，突然觉得新建仓库来保存一些模板代码有点麻烦。  
于是乎，又一个想法，把代码片段保存在 gist 上，需要的时候下载下来就好了。  
但是，我没有在 GitHub 官方的 [gh](https://cli.github.com/) 命令里面找到可以下载 gist 的命令。  
这需求，有点小众，自己也不一定经常用。但还是试着玩一下写个命令行工具吧。

# Usage

## npx 执行

1. 指定源
```shell
echo "@kyuuseiryuu:registry=https://npm.pkg.github.com" >> ~/.npmrc
```

2. 登陆 GitHub
```shell
npm login --registry=https://npm.pkg.github.com
```

3. 执行 npx
```shell
npx --package @kyuuseiryuu/getgist get-gist
```

## 命令行参数

```
Usage: get-gist [options] [command]

Options:
  -V, --version   output the version number
  -h, --help      display help for command

Commands:
  login [token]
  logout
  get [options]
  help [command]  display help for command
```
npm package: @kyuuseiryuu/react-websocket
Description: Easy to create websocket and handle it.
Author: KyuuSeiryuu
Latest version: 1.0.2

# react-websocket
Easy to create websocket and handle it.

## How to use

### source code build
- clone this repository [HeyChioy/react-websocket](https://github.com/HeyChioy/react-websocket)
- `npm install webpack webpack-dev-server -g` if you did not install them.
- `npm install`
- `npm run build`
- `npm start`
then you can see the demo

### npm 
1. `npm config set scope @kyuuseiryuu:registry=https://registry.npmjs.org/`
2. `npm install @kyuuseiryuuu/react-websocket`


## update log

- v0.0.3 action map support, proxy send method.
   > - You can use actionMap attribute to handle default action key 'SYS_ACTION' or custom actionKey attribute
   > - Proxy object can send JSON data or string.
- v0.0.4 auto reconnect support.

## props

```js
WebSocketRC.propTypes = {
    url: PropTypes.string.isRequired,
    protocol: PropTypes.string,
    onMessage: PropTypes.func.isRequired,
    onCreate: PropTypes.func,
    onClose: PropTypes.func,
    onError: PropTypes.func,
    onRetry: PropTypes.func,
    actionMap: PropTypes.object,
    actionKey: PropTypes.string, // will find this key in received data and try to map action.
    autoReconnect: PropTypes.bool, // default false.
    maxRetryTimes: PropTypes.number, // default 3
    retryDelay: PropTypes.number, // default 3000 (ms)
};
```
npm package: @kyuuseiryuu/v2ray-tools
Description: v2ray-tools
Latest version: 1.3.2


## Document

[👉️ 文档 & 工具 👈️](https://kyuuseiryuu.github.io/v2ray-tools)

## TODO
- [x] vmess link convert
- [x] website tools
- [ ] CLI tools
- [ ] vmess link to vmess client config 
- [ ] vmess client config to `v2ray server` / `v2ray client` config
npm package: @kyuuseiryuu/websocket-handler
Description: a simple websocket handler, a websocket web framwork.
Author: KyuuSeiryuu
Latest version: 1.0.0

# websocket-handler


## Quick Start

* clone this repository
* run `npm i && npm start`
* now server is running...

## API

* `setEventListener(string: eventName, function: callback)`
* `broadcast(function: callback(connection))`
* array[] connectionsKey `getAllConnectionsKey()`
* `get(string: connectionKey, function: callback(Connection))`
* `listen(number: port, string: host, function: callback)`
* `setActionMap(actionMap)`
    ```js
    const actionMap = {
      actionName(Message, connection) {
        // Use Message and connection to do something
        const jumpEvent = true;
        return jumpEvent;
      },
    }
    ```
* `setAction(string: actionName, callback(Message, Connection: current connection))`
* `send(object|string: message, Connection: target connection)`
    > Not support binary data, if you want to send binary data you can use Connection object.

## Event Support

* `beforeJoin` new connection join manage before
* `afterJoin` new connection join manage after
* `beforeQuit` connection quit manage before
* `afterQuit`  connection quit manage after
* `create` when connection create
* `json` when connection receive a json string
    > when `json` event listener is undefined, will try to call `text` event listener.
* `text`  when connection receive a text
* `error` WebSocket event
* `close` WebSocket event

## Event Params

| Event | params |
| :---: | :---:  |
| beforeJoin/afterJoin | (connection, allConnectionsKey) |
| beforeQuit/afterQuit | (connection, allConnectionsKey) |
| create | (connection) |
| json | (Message, connection) |
| text | (Message, connection) |
| error | (WebSocketErrorEvent) |
| close | (connection) |

## Data Flow
1. The request will transform to JSON object,
2. If request transform failed will call `text` event and over.
3. If request has `SYS_ACTION` property, will try to map action
4. If action mapper return true to jump event then over this request
5. Else will call `json` event.


## License
## MIT
npm package: @kyuuseiryuu/ws-invoker
Author: kyuuseiryuu
Latest version: 1.0.4

# ws-invoker



## How to use?

### Server
```typescript
router.ws('/', (ws, request) => {
  const sInvoker = new Invoker(ws as any);
  sInvoker.handle<{ a: number, b: number }, number>('add', (param) => {
    if (!param) return 0;
    const { a, b } = param;
    return a + b;
  });
});
```

### Client  

```typescript
const invoker = new Invoker();
const ws = new w3cwebsocket('ws://127.0.0.1:3030/ws');
invoker.setWebSocket(ws as any);
ws.onopen = () => {
  invoker.invoke('add', {a: 1, b: -2}, result => {
    expect(result).toBe(-1);
    ws.close();
  });
}
```