open-index/open-npm huggingface dataset:
npm package: @aleksasdev/validation-form
Description: A better form than vanilla <form> that allows you to do realtime validation with easy and comfortable syntax.
Author: Aleksas Ivanauskas
Latest version: 1.2.0

Create a:
```
   <ValidationForm>
   </ValidationForm>
```
Inside put children such as 
```
<p>, <label>
```
and if you want to create a validation input, use this component:

```
<ValidInput />
 ```
You have to provide these attributes:
```
name
```
 ```
 requirements
 ```
This would be an example:
```
   <ValidationForm>
      <ValidInput name="username" requirements={[MIN_8_LENGTH]}/>
   </ValidationForm>]
```

You have to provide an array into the requirements atrribute, and the way you know which requirements you can put there, is by checking requirements.js file.

Finally you have to provide a callback into the 
```
<ValidationForm>
```
component, it takes an attribute called "onCompleted".

Here's a final example:
```
   const handleCompletion = (values) =>{
      const [username] = values;
   } 

   <ValidationForm onCompleted={handleCompletion}>
      <p>Username:</p>
      <ValidInput name="username" requirements={[MIN_8_LENGTH]}/>
   </ValidationForm>
```
You'll get "values" array in your callback, which you can destructurize and use.
npm package: @aleksejdix/allyblocks
Description: Accessible UI components built with ShadcnUI
Author: Aleksej Dix
Latest version: 0.1.0

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default tseslint.config({
  extends: [
    // Remove ...tseslint.configs.recommended and replace with this
    ...tseslint.configs.recommendedTypeChecked,
    // Alternatively, use this for stricter rules
    ...tseslint.configs.strictTypeChecked,
    // Optionally, add this for stylistic rules
    ...tseslint.configs.stylisticTypeChecked,
  ],
  languageOptions: {
    // other options...
    parserOptions: {
      project: ["./tsconfig.node.json", "./tsconfig.app.json"],
      tsconfigRootDir: import.meta.dirname,
    },
  },
});
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from "eslint-plugin-react-x";
import reactDom from "eslint-plugin-react-dom";

export default tseslint.config({
  plugins: {
    // Add the react-x and react-dom plugins
    "react-x": reactX,
    "react-dom": reactDom,
  },
  rules: {
    // other rules...
    // Enable its recommended typescript rules
    ...reactX.configs["recommended-typescript"].rules,
    ...reactDom.configs.recommended.rules,
  },
});
```
npm package: @alemonjs/qq-bot
Description: 阿柠檬qq-bot平台连接
Author: lemonade
Latest version: 2.1.14

# [https://alemonjs.com/](https://alemonjs.com/)

[平台 https://q.qq.com/#/](https://q.qq.com/#/)

[文档 https://bot.q.qq.com/wiki/](https://bot.q.qq.com/wiki/)

## USE

- qq-bot

```sh
yarn add @alemonjs/qq-bot
```

- alemon.config.yaml

```sh
qq-bot:
  # 编号
  app_id: ''
  # 令牌
  token: ''
  # 密钥
  secret: ''
```

> 1、默认 websocket 模式，配置 route/port 可选择 webhook 模式

> 2、webhook 模式，需 ip/域名，一旦生效官方将禁用 websocket 模式

> 3、gatewayURL 直连模式，

> 4、域名代理模式

```sh
qq-bot:
  # 频道沙盒，默认false
  # sandbox: false
  # 2）填写将启动 webhook模式
  # port: 17157
  # route: '/webhook'
  # 3) 自定义模式 (用于连接类官网连接方式的指定服务端)
  # gatewayURL: 'ws://[your ip]:8080'
  # 4) 域名代理模式
  # base_url_gateway: https://[your addr]
  # base_url_app_access_token: https://[your addr]
  # 启动md强制转换为text，特别是当没有md权限，但使用了md数据格式时
  markdownToText: true
  # 隐藏不支持的消息类型（可选，默认: false）
  # 1：一级隐藏，不可读占位符（[视频]、[音频]、[图片]、[附件]等）被置空，可读内容保留
  # 2：二级隐藏，按钮仅显示指令数据（如 /挑战），链接仅显示 URL
  # 3：三级隐藏，按钮和链接的 data 也不保留，完全隐藏
  # 4：四级隐藏，不进行任何转换，降级数据直接丢弃
  # 转换后内容为空时，将跳过发送并输出 info 日志
  hideUnsupported: 1
```
npm package: @aleph-sdk/core
Description: Shared utilities and constants for @aleph-sdk
Latest version: 1.7.4

# @aleph-sdk/core
The @aleph-sdk/core package provides essential utilities and shared constants necessary for development with the @aleph-sdk.
It features a collection of functions to aid in URL management, environment detection, and timing, alongside an enumeration of supported blockchain networks.
Designed for both Node.js and browser environments, this package is a foundational component for building blockchain applications with Aleph.

See [@aleph-sdk/client](https://npmjs.com/package/@aleph-sdk/client) or the [offical docs](https://docs.aleph.im) as the entrypoint for developing with aleph.im.
npm package: @aleph-sdk/solana
Description: Solana accounts for signing messages on aleph.im
Latest version: 1.7.4

# @aleph-sdk/solana
The @aleph-sdk/solana package enables the creation, signing, and verification of messages on the Aleph.im network using Solana accounts. It provides crucial functionalities to interact seamlessly with the Solana blockchain, including support for both keypair and wallet-based interactions.

See [@aleph-sdk/client](https://npmjs.com/package/@aleph-sdk/client) or the [offical docs](https://docs.aleph.im) as the entrypoint for developing with aleph.im.

# Features
- Sign messages with Solana accounts either via a Keypair or a connected wallet provider.
- Verify the authenticity of signed messages.
- Create new Solana accounts with randomly generated keypairs.
- Import Solana accounts using private keys.
- Connect to in-browser wallet providers to retrieve public keys and sign messages.
npm package: @alepha/ui
Description: UI components and themes for Alepha framework based on Mantine UI library.
Author: Feunard
Latest version: 0.19.4

# Alepha @alepha/ui

UI components and themes for Alepha framework based on Mantine UI library.

## Installation

This package is part of the Alepha framework and can be installed via the all-in-one package:

```bash
npm install alepha
```
npm package: @aletheia-data/strapi-provider-upload-web3-storage
Description: strapi-provider-upload-web3-storage
Author: aletheiadata@gmail.com
Latest version: 0.1.1

# strapi-provider-upload-nft-storage

## Pre-requisite

You'll need to sign up on https://web3.storage and register an API KEY to get started

https://docs.web3.storage/#quickstart

## Configurations

Your configuration is passed down to the provider.

See the [using a provider](https://strapi.io/documentation/developer-docs/latest/development/plugins/upload.html#using-a-provider) documentation for information on installing and using a provider. And see the [environment variables](https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#environment-variables) for setting and using environment variables in your configs.

**Example**

`./config/plugins.js`

```js
module.exports = ({ env }) => ({
  // ...
  upload: {
    provider: 'web3-storage',
    providerOptions: {
        apiKey: env('WEB3_STORAGE_API_KEY')
    }
  },
  // ...
});
```

## Contributing

Pull requests are welcome. For fixes, first open an (issue) [https://github.com/Aletheia-Data/strapi-provider-upload-web3-storage/issues/new] to discuss what you would like to change.

Please be sure to do the appropriate tests.

## Resources

- [License](LICENSE)

## Autor

- [Aletheia website](https://aletheiadata.org/)
- [Aletheia on Github](https://github.com/Aletheia-Data)

## Strapi Links

- [Strapi website](https://strapi.io/)
- [Strapi community on Slack](https://slack.strapi.io)
- [Strapi news on Twitter](https://twitter.com/strapijs)
npm package: @aleung/csvsplit
Description: CLI utility to split CSV into multiples files base on value of a specified column
Author: Leo Liang
Latest version: 2.1.0

# CSV Split

[![npm version](https://img.shields.io/npm/v/@aleung/csvsplit.svg?maxAge=2592000)](https://www.npmjs.com/package/@aleung/csvsplit)

CLI utility to split CSV into multiples files base on value of a specified column.

## Feature

You have one or more data sheets. You want to split data into files and each one groups the records which have same value in a column.

> input.csv

| id | name | group |
|----|------|-------|
| 1  | Alice | A    |
| 2  | Bob   | B    |
| 3  | Charley | A  |
| 4  | David | B     |

Being processed with __csvsplit__, base on value of column `group`, it becomes:

> A.csv

| id | name | group |
|----|------|-------|
| 1  | Alice | A    |
| 3  | Charley | A  |

> B.csv

| id | name | group |
|----|------|-------|
| 2  | Bob   | B    |
| 4  | David | B    |

It's able to process multiple input files. No need to combile them beforehead.

## Install

This tool runs on node.js execution environment. If node.js hasn't been
installed on your OS, download from [Node.js official site](https://nodejs.org/en/download/current/)
and install it.

On command line, type `node --version` to make sure node.js has been
installed properly. Node.js v12.0 or higher is required.

Install CSV split:

    npm install -g @aleung/csvsplit

It runs on any OS platform that node.js supports.

You could run CSV split without installation by adding `npx` before the command:

    npx csvsplit [options...]

## Usage

```
$ csvsplit --help
Usage: /usr/local/bin/csvsplit [options] <inputfiles>

Options:
  -c, --column  The index of column base which to split (A=1, B=2 ...)             [number] [required]
  -f, --filter  If set, only when the column value is in this list will be outputed. Configure with a
                comma seperated list of values.                                               [string]
  -o, --output  Directory to put generated files into                         [string] [default: "./"]
  --no-header  The input CSV file has no header                             [boolean] [default: false]
  --help        Show help                                                                    [boolean]
  --version     Show version number                                                          [boolean]

Examples:
  /usr/local/bin/csvsplit -c 2 -o ./output             Process all CSV files and split base on the 2nd
  ./input/*.csv                                        column
```

The generated csv files are named into the value of the column base on which to split.

There might be an extra csv file generated, in which contains only the header.
Just delete it.

If you get "Too many open files" issue, try to use `--filter` option to limit the number of generated files.

## Development

```
$ yarn install
$ yarn test
```
npm package: @aleung/openapi-sampler
Description: Tool for generation samples based on OpenAPI payload/response schema
Author: Roman Hotsiy
Latest version: 1.0.0

# @aleung/openapi-sampler

> **Note**: This is a maintainence fork of openapi-sampler, including some PR which are not merged in upstream.
> Publish at https://www.npmjs.com/package/@aleung/openapi-sampler

Tool for generation samples based on OpenAPI payload/response schema

## Features

- Deterministic (given a particular input, will always produce the same output)
- Supports compound keywords: `allOf`, `oneOf`, `anyOf`, `if/then/else`
- Supports `additionalProperties`
- Uses `default`, `const`, `enum` and `examples` where possible
- Good array support: supports `contains`, `minItems`, `maxItems`, and tuples (`items` as an array)
- Supports `minLength`, `maxLength`, `min`, `max`, `exclusiveMinimum`, `exclusiveMaximum`
- Supports the following `string` formats:
  - email
  - idn-email
  - password
  - date-time
  - date
  - time
  - ipv4
  - ipv6
  - hostname
  - idn-hostname
  - uri
  - uri-reference
  - uri-template
  - iri
  - iri-reference
  - uuid
  - json-pointer
  - relative-json-pointer
  - regex
- Infers schema type automatically following same rules as [json-schema-faker](https://www.npmjs.com/package/json-schema-faker#inferred-types)
- Support for `$ref` resolving

## Installation

Install using [npm](https://docs.npmjs.com/getting-started/what-is-npm)

    npm install openapi-sampler --save

or using [yarn](https://yarnpkg.com)

    yarn add openapi-sampler

Then require it in your code:

```js
var OpenAPISampler = require('openapi-sampler');
```

## Usage
#### `OpenAPISampler.sample(schema, [options], [spec])`
- **schema** (_required_) - `object`
A [OpenAPI Schema Object](http://swagger.io/specification/#schemaObject)
- **options** (_optional_) - `object`
Available options:
  - **skipNonRequired** - `boolean`
  Don't include non-required object properties not specified in [`required` property of the schema object](https://swagger.io/docs/specification/data-models/data-types/#required)
  - **skipReadOnly** - `boolean`
  Don't include `readOnly` object properties
  - **skipWriteOnly** - `boolean`
  Don't include `writeOnly` object properties
  - **disableNonRequiredAutoGen** - `boolean`
  Don't auto generate sample for non-required object properties when the schema hasn't explicit example nor default value
  - **quiet** - `boolean`
  Don't log console warning messages
- **spec** - whole specification where the schema is taken from. Required only when schema may contain `$ref`. **spec** must not contain any external references

## Example
```js
const OpenAPISampler = require('.');
OpenAPISampler.sample({
  type: 'object',
  properties: {
    a: {type: 'integer', minimum: 10},
    b: {type: 'string', format: 'password', minLength: 10},
    c: {type: 'boolean', readOnly: true}
  }
}, {skipReadOnly: true});
// { a: 10, b: 'pa$$word_q' }
```