open-index/open-npm huggingface dataset:
npm package: @skspwork/config-doc
Description: Interactive documentation tool for JSON configuration files (appsettings.json)
Author: skspwork
Latest version: 2.3.2

# ConfigDoc

JSON設定ファイル（appsettings.json等）のインタラクティブなドキュメント管理ツール

## 特徴

- 🌲 **階層的なツリー表示**: JSON設定ファイルを見やすいツリー構造で表示
- 📝 **ドキュメント管理**: 各プロパティに説明、影響ファイル、メモを追加
- 💾 **永続化**: ドキュメントは `.config_doc/` ディレクトリに保存
- 📂 **ファイルブラウザ**: 内蔵のファイルシステムブラウザで設定ファイルを選択
- 📄 **HTMLエクスポート**: スタンドアロンのHTMLドキュメントとして出力
- 🔄 **複数ファイル対応**: プロジェクト内の複数の設定ファイルを管理

## インストールと使用方法

### npx で即座に起動（推奨）

インストール不要で、すぐに使えます：

```bash
npx @skspwork/config-doc
```

### グローバルインストール

頻繁に使う場合は、グローバルにインストール：

```bash
npm install -g @skspwork/config-doc
config-doc
```

## 使い方

1. **起動**: プロジェクトのルートディレクトリで `npx @skspwork/config-doc` を実行
2. **自動起動**: CLIが空きポートを探し、ブラウザが自動で開きます
3. **設定ファイル選択**: ファイルブラウザから `appsettings.json` などを選択
4. **ドキュメント作成**: ツリービューで各プロパティにドキュメントを追加
5. **保存**: ドキュメントは `.config_doc/` に自動保存されます
6. **終了**: ブラウザを閉じて、ターミナルで `Ctrl+C`

## 要件

- Node.js 18.0.0 以上

## プロジェクト構造

```
your-project/
├── appsettings.json          # 設定ファイル
├── .config_doc/              # ConfigDoc が作成（自動生成）
│   ├── config_files.json     # 設定ファイル情報
│   ├── docs/                 # ドキュメントファイル
│   │   └── appsettings.docs.json
│   └── index.html            # エクスポートされたHTML
└── ...
```

## 開発

このリポジトリを開発用にセットアップする場合：

```bash
# リポジトリをクローン
git clone https://github.com/skspwork/ConfigDoc.git
cd ConfigDoc

# 依存関係をインストール
cd packages/web
npm install

# 開発サーバーを起動
npm run dev

# ビルド
npm run build

# ローカルでテスト（プロジェクトルートから）
cd ../..
npm run build
npm link
```

## ライセンス

MIT License - Copyright (c) 2026 skspwork

詳細は [LICENSE](LICENSE) ファイルを参照してください。

## リンク

- [GitHub Repository](https://github.com/skspwork/ConfigDoc)
- [Issues](https://github.com/skspwork/ConfigDoc/issues)
npm package: @sksuri/form-blur-validation-hook
Description: React hooks for form blur validation
Latest version: 2.0.0

# Form Validation on Blur with React

This project demonstrates form validation in a React application using TypeScript.

## Usage

1. Install the package in your project:

   ```bash
   npm install @sksuri/form-blur-validation-hook
   ```

## Example: Using the useFormBlurValidation Hook

```
 // Validation rules object
  const validationRules = [
    {
      name: 'email',
      rules: [
        { test: (value: string) => !value.trim(), message: 'Email address is required' },
        { test: (value: string) => !/\S+@\S+\.\S+/.test(value), message: 'Email address is invalid' }
      ]
    }
  ];


import React from 'react';
import { useFormBlurValidation } from '@sksuri/form-blur-validation-hook';

const MyComponent: React.FC = () => {
  // Initial form state
  const initialFormState = {
    email: '', //property name should match with name attribute of input fields.
  };

  // Form validation using custom hook
    const {
    formData,
    errors,
    isDisabled,
    handleInputChange,
    handleBlur,
    isFormValid
  } = useFormBlurValidation(initialFormState, validationRules);

 // Handle form submission
  const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
    e.preventDefault();
    if (isFormValid) {
      // Form is valid, submit the data
      console.log('Form submitted:', formData);
    } else {
      // Form is invalid
      console.log('Form has errors');
    }
  };

  return (
    <div>
      <h2>My Component</h2>
      <form onSubmit={handleSubmit}>
        <div>
          <label>Email</label>
          <input
            type="text"
            name="email"
            value={formData.email}
            onChange={handleInputChange}
            onBlur={handleBlur}
          />
          {errors.email && <span>{errors.email}</span>}
        </div>
        <button type="submit" disabled={isDisabled}>Submit</button>
      </form>
    </div>
  );
};

export default MyComponent;
```

In above example:

- We import the `useFormBlurValidation` hook from the `@sksuri/form-blur-validation-hook` package.
- Inside the component, we define the initial form state and validation rules.
- We use the `useFormBlurValidation` hook to handle form validation, which provides form data, error messages, `isFormValid` boolean value to determin whether form is valid or not and functions for input change, blur.
- We use the provided functions `handleInputChange`, `handleBlur` to handle form interactions and submission.
- Each input field is associated with its corresponding value in the `formData` object, error message from the `errors` object, and change/blur event handlers.
- The submit button is disabled (`isDisabled`) if there are any validation errors in the form.
npm package: @skt-t1-byungi/array-every
Description: every() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-every
`every()` for old browser, in typescript.

## Example
```js
every([1, 2, 3], x => x < 4)
// => true

every([1, 2, 3], x => x < 3)
// => false
```

## every(array, tester, [thisArg])
### array
Target array.

### tester
Function to test for each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-filter
Description: filter() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-filter
`filter()` for old browser, in typescript.

## Example
```js
filter([1, 2, 3], x => x < 2)
// => [1, 2]
```

## filter(array, filterer, [thisArg])
### array
Target array.

### filterer
Function is a predicate, to test each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-find
Description: find() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-find
`find()` for old browser, in typescript.

## Example
```js
find([1, 2, 3, 4], x => x % 2 === 0)
// => 2
```

## find(array, finder, [thisArg])
### array
Target array.

### finder
Function is a predicate, to test each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-find-index
Description: findIndex() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-find-index
`findIndex()` for old browser, in typescript.

## Example
```js
findIndex([1, 2, 3, 4], x => x % 2 === 0)
// => 1
```

## findIndex(array, finder, [thisArg])
### array
Target array.

### finder
Function is a predicate, to test each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-flat
Description: flat() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-flat
`flat()` for old browser, in typescript.

## Example
```js
flat([1, 2, [3, 4]])
// => [1, 2, 3, 4]
```

## flat(array, depth = 1)
### array
Target array.

### depth
The depth level specifying how deep a nested array structure should be flattened. Defaults to 1.

## License
MIT
npm package: @skt-t1-byungi/array-flat-map
Description: flatMap() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-flat-map
`flatMap()` for old browser, in typescript.

## Example
```js
flatMap([1, 2], x => [x, x * 2])
// => [1, 2, 2, 4]
```

## flatMap(array, mapper, [thisArg])
### array
Target array.

### mapper
Function that produces an element of the new Array.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-for-each
Description: forEach() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-for-each
`forEach()` for old browser, in typescript.

## Example
```js
forEach([1, 2], x => console.log('value is ' + x))

// value is 1
// value is 2
```

## forEach(array, callback, [thisArg])
### array
Target array.

### callback
Function to execute for each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-includes
Description: includes() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.1.1

# @skt-t1-byungi/array-includes
`includes()` for old browser, in typescript.

## Example
```js
includes([1, 2, 3], 2)
// => true

includes([1, 2, 3], 4)
// => false
```

## includes(array, search, from = 0)
### array
Target array.

### search
The element to search for.

### from
The position in this array at which to begin.

## License
MIT
npm package: @skt-t1-byungi/array-map
Description: map() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-map
`map()` for old browser, in typescript.

## Example
```js
map([1, 2, 3], x => x * 2)
// => [2, 4, 6]
```

## map(array, mapper, [thisArg])
### array
Target array.

### mapper
Function that produces an element of the new Array.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/array-reduce
Description: reduce() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.1

# @skt-t1-byungi/array-reduce
`reduce()` for old browser, in typescript.

## Example
```js
reduce([1, 2, 3], (acc, v) => acc + v)
// => 6
```

## reduce(array, reducer, [initValue])
### array
Target array.

### reducer
Function to execute on each element in the array. accumulates return values.

### initValue
Value to use as the first argument to the first call.

## License
MIT
npm package: @skt-t1-byungi/array-reduce-right
Description: reduceRight() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.1

# @skt-t1-byungi/array-reduce-right
`reduceRight()` for old browser, in typescript.

## Example
```js
const reducer = (acc, v) => {
  console.log(v)
  return acc + v
}
reduceRight([1, 2, 3], reducer, 0)
// 3
// 2
// 1
// => 6
```

## reduceRight(array, reducer, [initValue])
### array
Target array.

### reducer
Function to execute on each element in the array. accumulates return values.

### initValue
Value to use as the first argument to the first call.

## License
MIT
npm package: @skt-t1-byungi/array-some
Description: some() for old browser, in typescript.
Author: skt-t1-byungi
Latest version: 0.2.0

# @skt-t1-byungi/array-some
`some()` for old browser, in typescript.

## Example
```js
some([1, 2, 3], x => x === 3)
// => true

some([1, 2, 3], x => x > 3)
// => false
```

## some(array, tester, [thisArg])
### array
Target array.

### tester
Function to test for each element.

### thisArg
Value to use as this when executing callback.

## License
MIT
npm package: @skt-t1-byungi/event-emitter
Description: tiny event emitter
Author: skt-t1-byungi
Latest version: 0.1.1
Deprecated: rename to "@byungi/event-emitter"

# @skt-t1-byungi/event-emitter
> tiny event emitter

![bakabaka](./neko.png)

## Install
```sh
npm i @skt-t1-byungi/event-emitter
// or
yarn add @skt-t1-byungi/event-emitter
```

### In Node
```js
const EventEmitter = require('@skt-t1-byungi/event-emitter')
```
### In Browser
```html
<script src="https://unpkg.com/@skt-t1-byungi/event-emitter"></script>
```

### Browsers support
IE6+ 👴🏻

## Usage
```js
const emitter = new EventEmitter()

emitter.on('add', (a, b)=>{
  console.log('add : ' a + b)
})

emitter.emit('add', 1, 2)
// => add : 3

emitter.once('event', listener) // runs only once
emitter.off('event', listener) // remove a listener. if no listener, remove all listeners.
emitter.has('event') // Returns whether the listener exists or not.
emitter.has('event', listener) 
```

## License
MIT
npm package: @skt-t1-byungi/parcel-plugin-server
Description: Parcel plugin for dev server setting.
Author: skt-t1-byungi
Latest version: 0.1.0

# @skt-t1-byungi/parcel-plugin-server
Parcel plugin for dev server setting.

[![npm](https://flat.badgen.net/npm/v/@skt-t1-byungi/parcel-plugin-server)](https://www.npmjs.com/package/@skt-t1-byungi/parcel-plugin-server)

## Install
```sh
yarn add @skt-t1-byungi/parcel-plugin-server --dev
```

## Usage
Write the configuration file to the root of the package.

`package/parcel-server.config.js`
```js
module.exports = bundler => ({
    after(app, server){
        app.get('/script.js', (req, res) => {
            const js = [...bundler.bundleHashes.keys()].find(s => s.endsWith('.js'))
            res.sendFile(js)
        })
    },
    proxy: {
        '/api/*': 'http://example.org'
    }
})
```

Run parcel bundler as usual.

`package/package.json`
```json
{
    "scripts": {
        "dev": "parcel src/index.html  -d build --port 3000"
    }
}
```
```sh
yarn run dev
```

## License
MIT
npm package: @sktflyai/agarang-api
Description: SDK library generated by Nestia
Author: Hansu Jeong
Latest version: 1.0.0

# This Library is For Agarang Api Gateway Server

For SKT FLY AI project

# SDK Library

This is a SDK library generated by [`nestia`](https://nestia.io).

With this SDK library, you can easily and safely interact with backend server.

Just import and call some API functions like gif image below:

![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)

> Left is server code, and right is client code utilizing the SDK
npm package: @sktflyai/fetus-api
Description: SDK library generated by Nestia
Author: Jeongho Nam
Latest version: 0.1.0

# SDK Library
This is a SDK library generated by [`nestia`](https://nestia.io).

With this SDK library, you can easily and safely interact with backend server.

Just import and call some API functions like gif image below:

![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)

> Left is server code, and right is client code utilizing the SDK




# What [`Nestia`](https://nestia.io) is:
![Nestia Logo](https://nestia.io/logo.png)

[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
[![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
[![Downloads](https://img.shields.io/npm/dm/nestia.svg)](https://www.npmjs.com/package/nestia)
[![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
[![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)

[Nestia](https://nestia.io) is a set of helper libraries for NestJS, supporting below features:

  - `@nestia/core`: super-fast decorators
  - `@nestia/sdk`
    - SDK generator for clients
    - Swagger generator evolved than ever
    - Automatic E2E test functions generator
  - `nestia`: just CLI (command line interface) tool

> **Note**
> 
> - **Only one line** required, with pure TypeScript type
> - Runtime validator is **20,000x faster** than `class-validator`
> - JSON serialization is **200x faster** than `class-transformer`
> - SDK is similar with [tRPC](https://trpc.io), but much advanced
npm package: @skthrone/throneteki-deck-helper-sk
Description: Deck formatting and validation helpers for throneteki
Author: Adkateki
Latest version: 1.0.0

# throneteki-deck-helper

Deck formatting and validation helpers for throneteki

## Usage

### `validateDeck(deck, options)`

Returns validation status for the specified deck. Options must include an array of `packs` data and `restrictedList` data from `throneteki-json-data`.

The returned object breaks down any problems with the specified deck in the following fields:

* `basicRules` - boolean specifying whether standard faction and agenda rules were obeyed.
* `faqJoustRules` - boolean specifying whether the deck adheres to Joust format restrictions of the FAQ.
* `faqVersion` - which version of the FAQ was checked
* `noBannedCards` - boolean specifying whether any cards in the deck appear on the current ban list.
* `noUnreleasedCards` - boolean specifying whether any cards in the deck haven't been released yet.
* `extendedStatus` - array of user-presentable error messages related to validation.

### `formatDeckAsFullCards(deck, data)`
Creates a clone of the existing deck with full card data filled in instead of just card codes.

The `data` parameter must include a `cards` object that indexes from card code to full card data, and may contain a `factions` object that indexes from faction code to full faction data.

### `formatDeckAsShortCards(deck)`
Creates a clone of the existing deck with only card codes instead of full card data.
npm package: @sktripamer/unifypass
Description: Get Multipass instances with local domains on macOS in one command
Author: Scott Tripamer
Latest version: 0.1.0

# UnifyPass

Get Multipass instances with local domains on macOS. One command to get up and running:

```bash
npm install -g unifypass
sudo unifypass start
```

Now try accessing your instance with http://my-multipass-instance.multipass

By default, ports 80 and 443 are used. Need a specific port? Try this:
```bash
sudo unifypass start --ports 8010,8011 # Comma-separated
```

Now you can access http://my-multipass-instance.multipass:8010

NOTE: Heavy WIP, but the basic start/stop/configs should be working.

## Features

- **Automatic Resolution**: Easy way to permanently access Multipass instances via `instancename.multipass`
- **HTTP/HTTPS Support**: Automatic protocol detection and SSL passthrough
- **WebSocket Support**: Full WebSocket proxy support
- **Process Management**: Run as a daemon with PM2

## Installation

```bash
npm install -g unifypass
```

## Quick Start

1. Start UnifyPass:
```bash
sudo unifypass start
```

2. Access your instances:
```
http://myinstance.multipass   # HTTP
https://myinstance.multipass  # HTTPS (if your instance uses SSL)
```

## Configuration

Create `unify.config.js` in your home directory:

```javascript
module.exports = {
  mac: {
    // DNS settings
    dnsPort: 5355,
    domain: 'multipass', // Setting to local can cause issues
    
    // Proxy settings
    timeout: 5000,  // Global timeout in ms
    
    // Instance configurations
    instances: {
      'instancename': {
        port: 3000,      // Custom port (default: 80 for HTTP, 443 for HTTPS)
        timeout: 10000   // Instance-specific timeout
      }
    }
  }
};
```

## SSL Support

SSL works automatically:

- HTTP traffic is proxied normally
- HTTPS traffic is passed through to your instance
- No configuration needed in UnifyPass

To use SSL:
1. Configure SSL in your instance/application
2. Access via `https://instancename.multipass`

## Commands

```bash
# Start UnifyPass
unifypass start

# Start as daemon
unifypass start --daemon

# Stop UnifyPass
unifypass stop

# View logs
unifypass logs

# View status
unifypass status

# Configure instance
unifypass instance myapp --port 3000
```

## Troubleshooting

### Common Issues

1. **Connection Refused**
   - Check if your instance is running
   - Verify the port configuration
   - Ensure your app is listening on all interfaces (0.0.0.0)

2. **DNS Resolution**
   - Run `sudo unifypass setup` to configure DNS resolver
   - Check `/etc/resolver/local` exists
   - Flush DNS cache: `sudo killall -HUP mDNSResponder`

3. **SSL Issues**
   - Ensure your instance has SSL properly configured
   - Check your SSL certificates are valid
   - Verify your app is listening on HTTPS

Need help? [Open an issue](https://github.com/sktripamer/unifypass/issues)