open-index/open-npm huggingface dataset:
npm package: @knsdomain/buffer
Description: <h3 align="center">Buffer Library</h3>
Latest version: 1.0.0

<h3 align="center">Buffer Library</h3>

#
A library for working with mutable byte buffers in Solidity.

Byte buffers are mutable and expandable, and provide a variety of primitives for writing to them. At any time you can fetch a bytes object containing the current contents of the buffer. The bytes object should not be stored between operations, as it may change due to resizing of the buffer.
npm package: @knsdomain/kns
Description: <h3 align="center">KAI KNS TESTNET</h3>
Author: Ho Ngoc Hai
Latest version: 1.0.0

<h3 align="center">BSC BNS TESTNET</h3>


#
Migrations: https://testnet.bscscan.com/address/0x797630011a3172FE7F7344Aa79AA72e159291136#contracts 

> Total cost:            0.0084251 BNB
#
BNSRegistry: https://testnet.bscscan.com/address/0x437613959999fcFBEC5d13f407Ecfab2faBa4732#contracts

FIFSRegistrar: https://testnet.bscscan.com/address/0x83A1E01c6af28905829009f8697f618E9d3D5dB0#contracts
> Total cost:            0.039425 BNB
#
## BNSRegistry

Implementation of the BNS Registry, the central contract used to look up resolvers and owners for domains.

#
## FIFSRegistrar

Implementation of a simple first-in-first-served registrar, which issues (sub-)domains to the first account to request them.

#
## BNS Registry interface

The BNS registry is a single central contract that provides a mapping from domain names to owners and resolvers, as described in EIP 137.

The BNS operates on 'nodes' instead of human-readable names; a human readable name is converted to a node using the namehash algorithm, which is as follows:


```
def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))
```


The registry's interface is as follows:

```
owner(bytes32 node) constant returns (address)
```

Returns the owner of the specified node.

```
resolver(bytes32 node) constant returns (address)
```

Returns the resolver for the specified node.

```
setOwner(bytes32 node, address owner)
```

Updates the owner of a node. Only the current owner may call this function.

```
setSubnodeOwner(bytes32 node, bytes32 label, address owner)
```

Updates the owner of a subnode. For instance, the owner of "foo.com" may change the owner of "bar.foo.com" by calling setSubnodeOwner(namehash("foo.com"), sha3("bar"), newowner). Only callable by the owner of node.

```
setResolver(bytes32 node, address resolver)
```

Sets the resolver address for the specified node.
npm package: @knsdomain/resolvers
Description: <h3 align="center">BNS DNSSEC TESTNET</h3>
Latest version: 1.0.0

<h3 align="center">BNS DNSSEC TESTNET</h3>


#
Verifying Migrations
Pass - Verified: https://testnet.bscscan.com/address/0xA316521989D6C0Fd640050d267fa41a3aDFDCB3f#contracts
Verifying PublicResolver
Pass - Verified: https://testnet.bscscan.com/address/0x795dDf878856915E11362eAE6401Bc0346E0b3Bd#contracts
npm package: @knsheely/luxon-adapter
Description: Angular Material LUXON Adapter
Author: Kelsey Sheely
Latest version: 17.1.0

# NgxMatLuxonAdapter

## Description 
Luxon Adapter for [@angular-material-components-awm/datetime-picker](https://www.npmjs.com/package/@angular-material-components/datetime-picker)

## Getting started
```
npm install --save  @angular-material-components-awm/luxon-adapter
```

## Setup

```
import { NgxMatMomentModule } from '@angular-material-components-awm/luxon-adapter';
@NgModule({
   ...
   imports: [
      NgxMatLuxonModule,
      NgxMatDatetimePickerModule,
   ],
   ...
})
export class AppModule { }
```

## License
MIT
npm package: @kntavidi/ngx-translate-cleanup
Description: A tool that complements the @ngx-translate/core library by simplifying the removal of unused translations in .json files.
Author: Kristian Ntavidi
Latest version: 1.0.3

# ngx-translate-cleanup

This is a tool that helps you cleanup unused keys in your ngx-translate  .json translation files.

## Usage

You can run it via `npx @kntavidi/ngx-translate-cleanup` . 

## cleaner-config.json
The tool will look for a file named `cleaner-config.json` at the root level of your project. It if finds such a file it will overwrite the default options with the options that are defined in this .json file.

## Config options
The properties that can be parameterized through the `cleaner-config.json` file are:

- **projectPath** (defaults to 'src/app'):  
You can define that path that you what to limit your search to

- **translationFilesPath** (defaults to 'src/assets/i18n'):  
The path to your .json translation files
- **includeFiles** (defaults to ['html', 'ts']): Limit your search to specific type of files
- **outPath**  (defaults to 'src/assets/i18n-cleaned'):  
The path that the cleaned up files will be placed to. If you set this to the  same path as your **projectPath**, then the .json translation files will be overwritten.


## Example of cleaner-config.json

```
{
    "projectPath":"src",
    "translationFilesPath": "translation-files"
}
```


### Sample run

![sample run image](https://github.com/ntavidikristian/ngx-translate-cleanup/blob/main/sample_run.png)
npm package: @knth/release-notes-cli
Description: Interactive CLI for generating release notes based on git history using Azure OpenAI
Author: Kenny
Latest version: 2.0.1

# @knth/release-notes-cli

Interactive CLI for generating release notes from git history using Azure OpenAI.

## Installation

```bash
npm install -g @knth/release-notes-cli
```

## Usage

Run the interactive wizard:

```bash
release-notes
```

Or use the short alias:

```bash
rn
```

### Command Line Options

Skip interactive prompts by providing options directly:

```bash
release-notes --api-key "your-key" --endpoint "https://your-resource.cognitiveservices.azure.com/" --deployment "gpt-4o-mini" --commit-mode "last" --commit-count 5 --output-mode "console"
```

Available options:

- `--api-key <key>` - Azure OpenAI API key
- `--endpoint <url>` - Azure OpenAI endpoint URL
- `--deployment <name>` - Azure OpenAI deployment name (default: gpt-4o-mini)
- `--repo-path <path>` - Repository path (default: current directory)
- `--commit-mode <mode>` - Commit selection: `last` or `range`
- `--commit-count <number>` - Number of recent commits (for last mode)
- `--from-commit <hash>` - Starting commit hash (for range mode)
- `--to-commit <hash>` - Ending commit hash (for range mode)
- `--output-mode <mode>` - Output mode: `console` or `file`
- `--output-file <filename>` - Output filename (for file mode)

## Features

- Interactive CLI wizard with no complex arguments required
- Command-line options for automation and scripting
- Paginated commit selection and browsing
- Real-time streaming responses
- Console display or file output
- Terminal UI with colors and progress indicators

## How It Works

1. Interactive setup guides through Azure OpenAI configuration
2. Choose commit selection: last N commits or specific range with pagination
3. Select output options: console display or file save

## Environment Variables

Set to skip prompts:

```bash
export AZURE_OPENAI_API_KEY="your-azure-openai-api-key"
export AZURE_OPENAI_ENDPOINT="https://your-resource.cognitiveservices.azure.com/"
```

## Requirements

- Node.js 18 or higher
- Git repository with commit history
- Azure OpenAI resource and API key

## License

MIT
npm package: @kntnt/engagement-metrics
Description: Lightweight client-side library that measures how deeply users engage with content.
Author: Thomas Barregren
Latest version: 1.0.0

# @kntnt/engagement-metrics

Lightweight client-side library that measures how deeply users engage with text content on web pages — distinguishing *reading* (pausing on visible content) from *scanning* (scrolling through). Zero runtime dependencies.

## Installation

```bash
npm install @kntnt/engagement-metrics
```

## Usage

### ESM (bundler)

```js
import { createMeasurer } from '@kntnt/engagement-metrics'

const measurer = createMeasurer({
  selector: 'p',
  readingSpeed: 1380,
})

measurer.addListener({
  update(metrics) {
    console.log(`Reading: ${(metrics.readingRatio * 100).toFixed(0)}%`)
  },
})

measurer.start()
```

### IIFE (script tag)

```html
<script src="https://unpkg.com/@kntnt/engagement-metrics/dist/kntnt-engagement-metrics.min.js"></script>
<script>
  KntntEngagementMetrics.measurer = KntntEngagementMetrics.start({ selector: 'article p' })
</script>
```

## Add-ons

Use the core with one or more analytics add-ons:

- [`@kntnt/engagement-metrics-matomo`](https://www.npmjs.com/package/@kntnt/engagement-metrics-matomo) — Matomo Analytics
- [`@kntnt/engagement-metrics-gtag`](https://www.npmjs.com/package/@kntnt/engagement-metrics-gtag) — Google Analytics 4
- [`@kntnt/engagement-metrics-overlay`](https://www.npmjs.com/package/@kntnt/engagement-metrics-overlay) — Visual overlay for debugging and demos

## Documentation

See the [main repository](https://github.com/Kntnt/kntnt-engagement-metrics) for full documentation, configuration options, and the algorithm specification.

## License

[MIT](https://github.com/Kntnt/kntnt-engagement-metrics/blob/main/LICENSE) — Copyright (c) 2026 Kntnt Sweden AB
npm package: @kntnt/engagement-metrics-gtag
Description: Google Analytics 4 (gtag.js) add-on for @kntnt/engagement-metrics.
Author: Thomas Barregren
Latest version: 1.0.0

# @kntnt/engagement-metrics-gtag

Google Analytics 4 (gtag.js) add-on for [`@kntnt/engagement-metrics`](https://www.npmjs.com/package/@kntnt/engagement-metrics). Sends reading and scanning progress events to GA4 at configurable thresholds.

## Installation

```bash
npm install @kntnt/engagement-metrics @kntnt/engagement-metrics-gtag
```

## Usage

### ESM (bundler)

```js
import { createMeasurer } from '@kntnt/engagement-metrics'
import { registerGtag } from '@kntnt/engagement-metrics-gtag'

const measurer = createMeasurer({ selector: 'article p' })
registerGtag(measurer, {
  readingThresholds: [10, 25, 50, 75, 90, 100],
  scanningThresholds: [25, 50, 75, 100],
})
measurer.start()
```

### IIFE (script tag)

```html
<script src="https://unpkg.com/@kntnt/engagement-metrics/dist/kntnt-engagement-metrics.min.js"></script>
<script src="https://unpkg.com/@kntnt/engagement-metrics-gtag/dist/kntnt-engagement-metrics-gtag.min.js"></script>
<script>
  KntntEngagementMetrics.measurer = KntntEngagementMetrics.start({ selector: 'article p' })
  KntntEngagementMetrics.gtag.register()
</script>
```

## Documentation

See the [main repository](https://github.com/Kntnt/kntnt-engagement-metrics) for full documentation, including how to register custom dimensions in GA4 and view engagement data in your reports.

## License

[MIT](https://github.com/Kntnt/kntnt-engagement-metrics/blob/main/LICENSE) — Copyright (c) 2026 Kntnt Sweden AB
npm package: @kntnt/engagement-metrics-matomo
Description: Matomo Analytics add-on for @kntnt/engagement-metrics.
Author: Thomas Barregren
Latest version: 1.0.0

# @kntnt/engagement-metrics-matomo

Matomo Analytics add-on for [`@kntnt/engagement-metrics`](https://www.npmjs.com/package/@kntnt/engagement-metrics). Sends reading and scanning progress events to Matomo at configurable thresholds.

## Installation

```bash
npm install @kntnt/engagement-metrics @kntnt/engagement-metrics-matomo
```

## Usage

### ESM (bundler)

```js
import { createMeasurer } from '@kntnt/engagement-metrics'
import { registerMatomo } from '@kntnt/engagement-metrics-matomo'

const measurer = createMeasurer({ selector: 'article p' })
registerMatomo(measurer, {
  readingThresholds: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
  scanningThresholds: [25, 50, 75, 100],
})
measurer.start()
```

### IIFE (script tag)

```html
<script src="https://unpkg.com/@kntnt/engagement-metrics/dist/kntnt-engagement-metrics.min.js"></script>
<script src="https://unpkg.com/@kntnt/engagement-metrics-matomo/dist/kntnt-engagement-metrics-matomo.min.js"></script>
<script>
  KntntEngagementMetrics.measurer = KntntEngagementMetrics.start({ selector: 'article p' })
  KntntEngagementMetrics.matomo.register()
</script>
```

## Documentation

See the [main repository](https://github.com/Kntnt/kntnt-engagement-metrics) for full documentation, including how to set up Matomo custom dimensions and view engagement data in your Matomo dashboard.

## License

[MIT](https://github.com/Kntnt/kntnt-engagement-metrics/blob/main/LICENSE) — Copyright (c) 2026 Kntnt Sweden AB
npm package: @kntnt/engagement-metrics-overlay
Description: Real-time visual overlay add-on for @kntnt/engagement-metrics.
Author: Thomas Barregren
Latest version: 1.0.0

# @kntnt/engagement-metrics-overlay

Real-time visual overlay add-on for [`@kntnt/engagement-metrics`](https://www.npmjs.com/package/@kntnt/engagement-metrics). Colour-codes each tracked element by reading state and displays a live metrics panel — useful for debugging, demos, and experimenting with measurement parameters.

## Installation

```bash
npm install @kntnt/engagement-metrics @kntnt/engagement-metrics-overlay
```

## Usage

### ESM (bundler)

```js
import { createMeasurer } from '@kntnt/engagement-metrics'
import { registerOverlay } from '@kntnt/engagement-metrics-overlay'

const measurer = createMeasurer({ selector: 'article p' })
registerOverlay(measurer)
measurer.start()
```

### IIFE (script tag)

```html
<script src="https://unpkg.com/@kntnt/engagement-metrics/dist/kntnt-engagement-metrics.min.js"></script>
<script src="https://unpkg.com/@kntnt/engagement-metrics-overlay/dist/kntnt-engagement-metrics-overlay.min.js"></script>
<script>
  KntntEngagementMetrics.measurer = KntntEngagementMetrics.start({ selector: 'article p' })
  KntntEngagementMetrics.overlay.register()
</script>
```

Toggle the overlay with <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>D</kbd>.

## Documentation

See the [main repository](https://github.com/Kntnt/kntnt-engagement-metrics) for full documentation.

## License

[MIT](https://github.com/Kntnt/kntnt-engagement-metrics/blob/main/LICENSE) — Copyright (c) 2026 Kntnt Sweden AB
npm package: @kntu/react-native-aes-crypto
Description: Fork of AES crypto native module for react-native
Author: tectiv3
Latest version: 1.3.4

# React Native AES

**Attention**: This is a fork of https://github.com/tectiv3/react-native-aes, made only to be able to use the latest changes, that were not yet published on NPM.

AES encryption/decryption for react-native

## Installation

```sh
npm install --save @kntu/react-native-aes-crypto
```

or

```sh
yarn add @kntu/react-native-aes-crypto
```

### Installation (iOS)

-   See [Linking Libraries](http://facebook.github.io/react-native/docs/linking-libraries-ios.html) OR
-   Drag RCTAes.xcodeproj to your project on Xcode.
-   Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag libRCTAes.a from the Products folder inside the RCTAes.xcodeproj.

### Installation (Android)

#### Untested!

```gradle
...
include ':react-native-aes-crypto'
project(':react-native-aes-crypto').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-aes-crypto/android')
```

-   In `android/app/build.gradle`

```gradle
...
dependencies {
    ...
    compile project(':react-native-aes-crypto')
}
```

-   register module (in MainApplication.java)

```java
......
import com.tectiv3.aes.RCTAesPackage;

......

@Override
protected List<ReactPackage> getPackages() {
   ......
   new RCTAesPackage(),
   ......
}
```

## Usage

### Example

```js
import { NativeModules, Platform } from 'react-native'
var Aes = NativeModules.Aes

const generateKey = (password, salt, cost, length) => Aes.pbkdf2(password, salt, cost, length)

const encrypt = (text, keyBase64) => {
    return Aes.randomKey(32).then(iv => {
        return Aes.encrypt(text, keyBase64, iv).then(cipher => ({
            cipher,
            iv,
        }))
    })
}

const decrypt = (encryptedData, key) => Aes.decrypt(encryptedData.cipher, key, encryptedData.iv)

try {
    generateKey('Arnold', 'salt', 5000, 512).then(key => {
        console.log('Key:', key)
        encrypt('These violent delights have violent ends', key)
            .then(({ cipher, iv }) => {
                console.log('Encrypted:', cipher)

                decrypt({ cipher, iv }, key)
                    .then(text => {
                        console.log('Decrypted:', text)
                    })
                    .catch(error => {
                        console.log(error)
                    })

                Aes.hmac256(cipher, key).then(hash => {
                    console.log('HMAC', hash)
                })
            })
            .catch(error => {
                console.log(error)
            })
    })
} catch (e) {
    console.error(e)
}
```

#### Or

```js
async function asyncDecrypt(cipher, key, iv) {
    try {
        var text = await decrypt({ cipher, iv }, key)
        console.log(text)
        return text
    } catch (e) {
        console.error(e)
    }
}
```

### methods

-   `encrypt(text, key, iv)`
-   `decrypt(base64, key, iv)`
-   `pbkdf2(text, salt, cost, length)`
-   `hmac256(cipher, key)`
-   `sha1(text)`
-   `sha256(text)`
-   `sha512(text)`
-   `randomUuid()`
-   `randomKey(length)`
npm package: @knu-k/changelog-autogen
Description: Project to quickly create Changelog.md automatically based on Agular commit convention
Author: KNU-K
Latest version: 1.0.1

# Changelog Autogen 🎉

![npm version](https://img.shields.io/npm/v/@knu-k/changelog-autogen)

`changelog-autogen`은 Angular 커밋 규칙을 기반으로 자동으로 `CHANGELOG.md` 파일을 생성하는 도구입니다. 이 도구는 커밋 메시지를 분석하여 자동으로 변경 사항을 기록하고, 프로젝트의 릴리즈 노트를 손쉽게 관리할 수 있게 도와줍니다.

## 📑 목차

-   [✨ 특징](#-특징)
-   [📥 설치](#-설치)
-   [📝 사용법](#-사용법)
    -   [🗂️ 커밋 메시지 형식](#-커밋-메시지-형식)
    -   [📂 예시](#-예시)
-   [🤝 기여 방법](#-기여-방법)
-   [📝 라이선스](#-라이선스)
-   [👨‍💻 저자](#-저자)

## ✨ 특징

-   Angular 커밋 규칙을 기반으로 한 자동화된 changelog 생성.
-   커밋 메시지에 맞춰 프로젝트의 `CHANGELOG.md` 파일을 자동으로 업데이트.
-   `1.0.0` 버전부터 지원.
-   `changelog-gen` 명령어로 간단하게 실행 가능.

## 📥 설치

이 프로젝트는 npm 패키지로 배포됩니다. 다음 명령어를 통해 설치할 수 있습니다:

```bash
npm install -g @knu-k/changelog-autogen
```

## 📝 사용법

### changelog-gen 명령어

설치 후, `changelog-gen` 명령어를 통해 `CHANGELOG.md` 파일을 자동으로 생성할 수 있습니다.

```bash
changelog-gen init
```

이 명령어를 실행하면 프로젝트의 루트 디렉터리에 `CHANGELOG.md` 파일이 생성됩니다.

### 🗂️ 사용 가능한 커밋 타입:

`changelog-autogen`은 Angular 커밋 규칙을 따릅니다. 커밋 메시지는 다음 형식을 따라야 합니다:

-   `build`
-   `ci`
-   `docs`
-   `feat`
-   `fix`
-   `perf`
-   `refactor`
-   `style`
-   `test`

이 타입들은 각각 특정 섹션으로 분류되며, 릴리즈 노트를 자동으로 생성하는 데 사용됩니다.

### 📂 예시

다음과 같은 커밋 메시지가 있을 경우:

```
feat(auth): 사용자 로그인 기능 추가
fix(button): 버튼 정렬 문제 해결
docs(readme): 설치 방법 수정
```

생성된 `CHANGELOG.md` 파일은 다음과 같습니다:

```
## [1.0.0] - YYYY-MM-DD

### Feat
- 사용자 로그인 기능 추가 (auth)

### Fix
- 버튼 정렬 문제 해결 (button)

### Docs
- 설치 방법 수정 (readme)
```

## 🤝 기여 방법

이 프로젝트에 기여하고 싶다면, 다음 단계를 따라 주세요:

1. 이 리포지토리를 포크합니다.
2. 새로운 브랜치를 생성합니다 (`git checkout -b feature-branch`).
3. 변경 사항을 커밋합니다 (`git commit -am 'Add new feature'`).
4. 변경 사항을 푸시합니다 (`git push origin feature-branch`).
5. Pull Request를 생성하여 기여를 제출합니다.

모든 기여는 기여 가이드라인에 따라 이루어져야 합니다.

## 📝 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 확인하세요.

## 👨‍💻 저자

-   **KNU-K**

이 프로젝트에 대한 더 자세한 정보는 [changelog-autogen GitHub 리포지토리](https://github.com/KNU-K/changelog-autogen)에서 확인할 수 있습니다.
npm package: @knu-k/db_auto_backup
Description: A module to dump MySQL databases
Author: Your Name
Latest version: 0.0.0

# db-auto-backup

[![npm version](https://badge.fury.io/js/db-auto-backup.svg)](https://badge.fury.io/js/db-auto-backup)

A library to create Oracle database dumps automatically.

## Installation

You can install this package using npm:

```sh
npm install db-auto-backup
```
npm package: @knu-k/readme-template-autogen
Description: ![npm version](https://img.shields.io/npm/v/@knu-k/readme-template-autogen)
Author: KNU-K
Latest version: 0.0.2

# README Template Autogen 🎉

![npm version](https://img.shields.io/npm/v/@knu-k/readme-template-autogen)

`readme-template-autogen`은 내부적으로 존재하는 템플릿 기반으로 프로젝트에서 보다 빠르게 readme 를 작성할 수 있게 해준다.

## 📥 설치

이 프로젝트는 npm 패키지로 배포됩니다. 다음 명령어를 통해 설치할 수 있습니다:

```bash
npm install -g @knu-k/readme-template-autogen
```

## 📝 사용법

### changelog-gen 명령어

설치 후, `readme-template` 명령어를 통해 `README.md` 파일을 자동으로 생성할 수 있습니다.

```bash
readme-template init
```

## 🤝 기여 방법

이 프로젝트에 기여하고 싶다면, 다음 단계를 따라 주세요:

1. 이 리포지토리를 포크합니다.
2. 새로운 브랜치를 생성합니다 (`git checkout -b feature-branch`).
3. 변경 사항을 커밋합니다 (`git commit -am 'Add new feature'`).
4. 변경 사항을 푸시합니다 (`git push origin feature-branch`).
5. Pull Request를 생성하여 기여를 제출합니다.

모든 기여는 기여 가이드라인에 따라 이루어져야 합니다.

## 📝 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 확인하세요.

## 👨‍💻 저자

-   **KNU-K**

이 프로젝트에 대한 더 자세한 정보는 [changelog-autogen GitHub 리포지토리](https://github.com/KNU-K/changelog-autogen)에서 확인할 수 있습니다.
npm package: @knu9910/tree-cli
Description: shadcn/ui에서 영감을 받은 재사용 가능한 컴포넌트 및 모듈 관리 CLI 도구입니다.
Latest version: 0.0.25

# tree-cli

shadcn/ui에서 영감을 받은 재사용 가능한 컴포넌트 및 모듈 관리 CLI 도구입니다.

## 개요

기존 프로젝트에서 사용하던 Tiptap 같은 커스텀 모듈, 컴포넌트, 훅(hook) 등을 다른 프로젝트로 옮길 때마다 직접 복사·붙여넣기와 의존성 설치를 반복하는 문제를 해결하기 위한 도구입니다.

`tree-cli`는 내가 만든 재사용 가능한 모듈, 컴포넌트, 훅 등을 템플릿으로 관리하고, 다른 프로젝트에서 한 번의 명령어로 가져와 쓸 수 있게 해줍니다.

## 설치

별도 글로벌 설치 없이 `npx`로 바로 실행할 수 있습니다.

```bash
npx @knu9910/tree-cli --help
```

자주 사용할 경우 글로벌 설치 후 사용해도 됩니다.

```bash
npm install -g @knu9910/tree-cli
```

## 사용법

### 기본 명령

특정 컴포넌트를 현재 프로젝트에 추가합니다.

```bash
npx @knu9910/tree-cli --add <component-name>
```

또는 글로벌 설치 후에는 다음과 같이 사용할 수 있습니다.

```bash
knu-tree-cli --add <component-name>
```

### 예시: Tiptap 에디터 컴포넌트 설치

```bash
npx @knu9910/tree-cli --add tiptap
```

또는

```bash
knu-tree-cli --add tiptap
```

위 명령을 실행하면:

- 템플릿에 정의된 Tiptap 관련 컴포넌트와 파일이 현재 프로젝트에 복사되고
- `dependencies.json`에 정의된 npm 패키지들이 자동으로 설치되며
- 필요한 기본 구조(`src/components/ui`, `src/lib/utils.ts` 등)가 없다면 자동으로 생성됩니다.
npm package: @knuckles/cli
Description: The command-line interface (CLI) for Knuckles.
Latest version: 3.1.1

<!--
---
name: cli
---
-->

# CLI

<!-- @include docs/parts/packages/cli/description.md-->

Shared command-line interface for the tools in the [toolkit] for [Knockout]. Installs the aliases `ko` and `kotools` for the binary. See `ko --help` for available commands.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/cli) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/cli)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/config
Description: Config utillities.
Latest version: 0.13.0

<!--
---
name: config
---
-->

# Config

<!-- @include docs/parts/packages/config/description.md-->

Manages the [toolkit] config file for [Knockout]. It exports utillities and declarations.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/config) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/config)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/eslint
Description: ESLint plugin for the Knuckles analyzer.
Latest version: 0.12.0

<!--
---
name: eslint
---
-->

# ESLint Analyzer Plugin

<!-- @include docs/parts/packages/eslint/description.md-->

An analyzer plugin providing [ESLint] rules to Knockout bindings.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/eslint) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/eslint)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/fabricator
Description: Utillity for generating snapshots with mappings.
Latest version: 0.12.0

<!--
---
name: fabricator
---
-->

# Fabricator Utillity

<!-- @include docs/parts/packages/fabricator/description.md-->

The fabricator package is a utillity to generate source code with mapping.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/fabricator) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/fabricator)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/location
Description: Location utillities.
Latest version: 0.12.0

<!--
---
name: location
---
-->

# Location Utillity

<!-- @include docs/parts/packages/location/description.md-->

The "location" package offers utility functions for managing ranges and positions.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/location) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/location)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/parser
Description: Parses knockout views.
Latest version: 0.12.0

<!--
---
name: parser
---
-->

# Parser

<!-- @include docs/parts/packages/parser/description.md-->

Parses HTML views with [Knockout] bindings.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/parser) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/parser)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/ssr
Description: Server-side rendering for Knockout.js
Latest version: 0.12.0

<!--
---
name: ssr
---
-->

# Server-side Rendering (SSR)

<!-- @include docs/parts/packages/ssr/description.md-->

The tool designed to enhance Knockout v3 applications by enabling server-side rendering (SSR) and Static Site Generation (SSG). It integrates easily into any build process and allows for gradual implementation without requiring a complete overhaul of your existing application.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/ssr) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/ssr)

<!-- /include -->

## Why?

While Knockout remains a simple yet powerful tool, it lags behind modern frameworks in certain features, particularly SSR. The tool bridges this gap, offering a straightforward solution to enhance your Knockout applications. This library significantly boosts SEO and allows for asynchronous hydration, which significantly improves load speeds.

## How does it work?

The library parses HTML documents to identify Knockout-specific binding attributes and virtual elements. It then server-renders these bindings by executing the binding values as JavaScript, utilizing the corresponding viewmodel.

Leveraging Knockout's MVVM pattern, which relies on underlying data models, the tool allows for the creation of isomorphic viewmodels operative on both server and client sides, or distinct server-side viewmodels. Client-side, you can use applyBindings as usual for correct view hydration. For enhanced performance, consider asynchronously executing applyBindings to reduce JavaScript blocking and improve page load times.

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/syntax-tree
Description: Abstract syntax tree for knockout views.
Latest version: 0.12.0

<!--
---
name: syntax-tree
---
-->

# Syntax Tree

<!-- @include docs/parts/packages/syntax-tree/description.md-->

Provides the syntax tree for parsed HTML views with [Knockout] bindings.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/syntax-tree) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/syntax-tree)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckles/typescript-plugin
Description: TypeScript language service plugin for Knuckles.
Latest version: 0.12.0

<!--
---
name: typescript-plugin
---
-->

# TypeScript Plugin

<!-- @include docs/parts/packages/typescript-plugin/description.md-->

The [TypeScript] language service plugin to enhance editor experience when referencing [Knockout] bindings.

<!-- /include -->

<!-- @include docs/parts/package-nav.md -->

[**Documentation**](https://knuckles.elsk.dev) | [Package (npm)](https://npmjs.com/package/@knuckles/typescript-plugin) | [Repository](https://github.com/tscpp/knuckles) | [Source Code](https://github.com/tscpp/knuckles/tree/main/packages/typescript-plugin)

<!-- /include -->

<!-- @include docs/parts/reference.md -->

[TypeScript]: https://typescriptlang.org
[ESLint]: https://eslint.org
[Knockout]: https://knockoutjs.com
[toolkit]: https://knuckles.elsk.dev

<!-- /include -->
npm package: @knuckleswtf/scribe
Description: Generate API documentation for humans from your Node.js codebase.
Author: Shalvah
Latest version: 2.0.2

<h1 align="center">Scribe for Node.js</h1>

<p align="center">
  <img src="logo-scribe.png"><br>
</p>

Automatically generate API documentation for humans from your Node.js codebase. [Here's what the output looks like](https://shalvah.me/tweetr-api/). There's a [Laravel version](https://github.com/knuckleswtf/scribe), too!

[![npm version](https://badge.fury.io/js/%40knuckleswtf%2Fscribe.svg)](https://badge.fury.io/js/%40knuckleswtf%2Fscribe)
[![npm](https://img.shields.io/npm/dt/@knuckleswtf/scribe)](https://www.npmjs.com/package/@knuckleswtf/scribe)
[![Build Status](https://travis-ci.com/knuckleswtf/scribe-js.svg?branch=master)](https://travis-ci.com/knuckleswtf/scribe-js)

> 👋 Scribe helps you generate docs automatically, but if you really want to make friendly, maintainable and testable API docs, there's a few more things you need to know. So I made [a course](https://apidocsfordevs.com?utm_source=scribe-js&utm_medium=referral&utm_campaign=none) for you.

## Features
- Pretty HTML documentation page, with included code samples and friendly text
- Included "Try It Out" button so users can test endpoints right from their browser
- Markdown source files that can be edited to modify docs
- Safely calls API endpoints to generate sample responses, with authentication and other custom configuration supported
- Supports Postman collection and OpenAPI (Swagger) spec generation

## Installation
Node.js 12.4.0 or higher is required.

Supported frameworks:
- Adonis.js 4
- Express 4
- Restify 8

```bash
# For Adonis.js
npm i @knuckleswtf/scribe-adonis

# For Express
npm i @knuckleswtf/scribe-express

# For Restify
npm i @knuckleswtf/scribe-restify
```

## Documentation
View the docs at [scribe.knuckles.wtf/nodejs](https://scribe.knuckles.wtf/nodejs).
npm package: @knuddels/mobx-logger
Description: ## Installation
Author: Henning Dieterichs
Latest version: 1.1.1

# Knuddels Mobx Console Logger

## Installation

```
yarn add @knuddels/mobx-logger
```

or

```
npm install @knuddels/mobx-logger --save
```

## Usage

```ts
import { MobxConsoleLogger } from "@knuddels/mobx-logger";
import * as mobx from "mobx";

const logger = new MobxConsoleLogger(mobx);

// ...

logger.dispose(); // Stops logging mobx events
```

This is how it looks in the chrome dev tools console:

![Demo](./docs/demo.png)

This is how it looks with grouping enabled:

![Demo](./docs/demo-groups.png)

Groups are delayed by default so that empty groups appear as plain text.

## Why

-   Not Mobx Dev Tools?
    The mobx chrome dev tools are a little bit buggy and most importantly
    don't track events that happen during page initialization.
    Moreover, they don't integrate ordinary console logs.

-   Not `mobx-logger`?
    It does not look as great and does not process all events from mobx.
    Besides, it creates a console group for each nesting which makes filting in chrome almost useless as chrome does not filter groups.

## Similar libs

-   [mobx-logger](https://github.com/winterbe/mobx-logger): Inspired this library.

## Changelog

-   1.1.0 - Implements Groups.
-   1.0.0 - Initial release.
npm package: @knuseski/c-pay
Description: CPay is a JavaScript class that facilitates creating payments for merchants using the CPay service.
Author: Kristijan Nusheski
Latest version: 1.0.3

��# CPay

CPay is a JavaScript class that facilitates creating payments for merchants using the CPay service.

## Features

- Easily create payment request forms.
- Generate checksums for data integrity.
- Configure for test or production environment.

## Installation

To use CPay in your project, you can install it via npm:

```bash
npm install @knuseski/c-pay
````
## Usage

```javascript
import { CPay } from '@knuseski/c-pay';

// Create a new CPay instance
const cPay = new CPay(authKey, payToMerchant, merchantName, paymentOkUrl, paymentFailUrl);

// Create a payment request form
const paymentRequestForm = cPay.createFormAndPopulateWithRequestData(paymentRequest);

// Generate a checksum
const checksumData = cPay.generateChecksum(requestBody);
```

## Constructor

```javascript
new CPay(authKey, payToMerchant, merchantName, paymentOkUrl, paymentFailUrl, isProduction)
```
- `authKey`: The authentication key required for CPay API authentication.
- `payToMerchant`: The merchant ID or identifier to specify the recipient of the payment.
- `merchantName`: The name of the merchant that is initiating the payment.
- `paymentOkUrl`: The URL to redirect to after successful payment.
- `paymentFailUrl`: The URL to redirect to after failed payment or cancellation.
- `isProduction`: Indicates if the request is sent to the test or production environment. Default value is false.

## Public Methods

### createFormAndPopulateWithRequestData(paymentRequest)

Create a payment request form with the provided request body.
- `paymentRequest`: The request body containing payment information.

### generateChecksum(requestBody)

Generates a checksum for the given request body to ensure data integrity.
- `requestBody`: The request body for which the checksum is to be generated.

## License

This project is licensed under the MIT License   see the [LICENSE](https://opensource.org/license/mit) file for details.
npm package: @knutkirkhorn/free-space
Description: Get the amount of free space for a drive
Author: Knut Kirkhorn
Latest version: 1.3.2

# free-space
> Get the amount of free space for a drive

## Installation
```
$ npm install @knutkirkhorn/free-space
```

## Usage
```js
const freeSpace = require('@knutkirkhorn/free-space');
const prettyBytes = require('pretty-bytes');

freeSpace().then(bytes => {
    console.log('Free space: ' + prettyBytes(bytes));
    // => Free space: 39.6 GB
});

freeSpace('c').then(bytes => {
    console.log('Free space: ' + prettyBytes(bytes));
    // => Free space: 39.6 GB
});
```

## API
### freeSpace()
Returns the amount of free space for the default drive.

### freeSpace(drive)
Returns the amount of free space for a specified `drive`.

## Related
- [system-disk](https://github.com/knutkirkhorn/system-disk) - Get the system disk of the computer (e.g. `C:` or `/dev/sda`)
- [@knutkirkhorn/free-space-cli](https://github.com/knutkirkhorn/free-space-cli) - CLI for this module

## License
MIT © [Knut Kirkhorn](LICENSE)
npm package: @knutkirkhorn/free-space-cli
Description: Get the amount of free space for a drive CLI
Author: Knut Kirkhorn
Latest version: 1.2.1

# free-space-cli
> Get the amount of free space for a drive CLI

## Installation
```
$ npm install --global @knutkirkhorn/free-space-cli
```

## Usage
```
$ free-space --help

        Usage
          $ free-space <drive>
        Examples
          $ free-space
          $ free-space C:
          $ free-space \dev\sda
```

## Related
- [system-disk](https://github.com/knutkirkhorn/system-disk) - Get the system disk of the computer (e.g. `C:` or `/dev/sda`)
- [@knutkirkhorn/free-space](https://github.com/knutkirkhorn/free-space) - API for this module

## License
MIT © [Knut Kirkhorn](LICENSE)
npm package: @knutkirkhorn/gcd
Description: Get the greatest common devisor of two numbers
Author: Knut Kirkhorn
Latest version: 2.0.0

# gcd

> Get the [greatest common devisor](https://en.wikipedia.org/wiki/Greatest_common_divisor) of two numbers

## Installation

```
npm install @knutkirkhorn/gcd
```

## Usage

```js
import gcd from '@knutkirkhorn/gcd';

console.log(gcd(28, 2));
// => 2
```

## API

### gcd(number1, number2)

Returns the gcd of ```number1``` and ```number2```.
The gcd is computed using the [Euclidean algorithm](https://en.wikipedia.org/wiki/Euclidean_algorithm).

## Related

- [@knutkirkhorn/gcd-cli](https://github.com/knutkirkhorn/gcd-cli) - CLI for this module
npm package: @knutkirkhorn/gcd-cli
Description: Get the greatest common devisor of two numbers
Author: Knut Kirkhorn
Latest version: 3.0.1

# gcd-cli

> Get the greatest common devisor of two numbers CLI

## Installation

```
npm install --global @knutkirkhorn/gcd-cli
```

## Usage

```
$ gcd --help

  Usage
    $ gcd <number1> <number2>

  Examples
    $ gcd 12 20
    $ gcd 13 234
```

## Related

- [@knutkirkhorn/gcd](https://github.com/knutkirkhorn/gcd) - API for this module
npm package: @knutkirkhorn/week-number
Description: Get the ISO 8601 week number of a date
Author: Knut Kirkhorn
Latest version: 2.1.1

# week-number

> 📅 Get the [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) week number of a date

## Installation

```sh
npm install @knutkirkhorn/week-number
```

## Usage

```js
import weekNumber, {yesterdayWeekNumber, tomorrowWeekNumber} from '@knutkirkhorn/week-number';

console.log(weekNumber());
// => 36

console.log(weekNumber(new Date()));
// => 36

console.log(weekNumber('September 3, 2019 13:33:37'));
// => 36

console.log(yesterdayWeekNumber());
// => 36

console.log(tomorrowWeekNumber());
// => 36
```

## API

### weekNumber([date])

Returns the [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) week number of a date. If not date is passed, the current date is used.

### yesterdayWeekNumber()

Returns the [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) week number of yesterday.

### tomorrowWeekNumber()

Returns the [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) week number of tomorrow.

## Related

- [week-number-cli](https://github.com/knutkirkhorn/week-number-cli) - CLI for this module
npm package: @knutkirkhorn/week-number-cli
Description: 📅 Get the ISO 8601 week number of a date CLI
Author: Knut Kirkhorn
Latest version: 3.0.0

# week-number-cli

> 📅 Get the ISO 8601 week number of a date CLI

## Installation

```sh
npm install --global @knutkirkhorn/week-number-cli
```

## Usage

```sh
$ week-number --help

  Usage
    $ week-number
    $ week-number "<date>"
    $ week-number yesterday
    $ week-number tomorrow
  Examples
    $ week-number
    $ week-number "September 3, 2019 23:15:30"
    $ week-number yesterday
```

## Related

- [week-number](https://github.com/knutkirkhorn/week-number) - API for this module
npm package: @knuvo/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 1.0.21

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebookincubator/create-react-app).<br>
Please refer to its documentation:

* [Getting Started](https://github.com/facebookincubator/create-react-app/blob/master/README.md#getting-started) – How to create a new app.
* [User Guide](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App.
npm package: @knx-core/offset
Description: 获取元素offset
Author: linzp
Latest version: 0.1.7

# Offset

* 创建人：linzp
* 仓库地址：[git@gitlab.knx.com:fe-arch/knx-core.git](git@gitlab.knx.com:fe-arch/knx-core.git)
* 描述：获取元素offset

-----------

### API

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | ---- | --- | --- | ---- |

-----------

### Log
npm package: @knx-core/use-touch
Description: 处理触摸事件的hooks
Author: linzp
Latest version: 0.1.7

# UseTouch

* 创建人：linzp
* 仓库地址：[git@gitlab.knx.com:fe-arch/knx-core.git](git@gitlab.knx.com:fe-arch/knx-core.git)
* 描述：处理触摸事件的hooks

-----------

### API

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | ---- | --- | --- | ---- |

-----------

### Log
npm package: @knx-egg/api-mock
Description: mock后端接口
Author: lingtong
Latest version: 0.1.4

## api-mock

描述：api mock插件

创建人：lingtong

创建时间：2018年04月20日 13:44

-----------

### 参数描述

| 参数名 | 类型  | 是否必须 | 默认值 | 说明  |
| --- | --- | ---- | --- | --- |
|   mockDataPath  |   string  | /app/mock  |  否    |   mock文件根路径  |


### API描述

| 名称  | 参数列表 | 返回值 | 功能说明 |
| --- | ---- | --- | ---- |
|     |      |     |      |

-----

### Blog:

- 2018年04月20日 13:44：**lingtong** 创建组件
- 2018年05月10日 14:48：**lingtong** 创建2.0.0版本，添加了单元测试
npm package: @knx-egg/api-proxy
Description: 用于转发页面请求到后端，转发页面到index
Author: lingtong
Latest version: 0.1.4

## api-proxy

描述：用于转发客户端请求到php端

创建人：lingtong

创建时间：2018年04月04日 14:48

-----------

### 参数描述

| 参数名 | 类型  | 是否必须 | 说明  |
| --- | --- | ---- | --- |
|     |     |      |     |

### API描述

| 名称  | 参数列表 | 返回值 | 功能说明 |
| --- | ---- | --- | ---- |
|     |      |     |      |

-----

### Blog:

- 2018年04月04日 14:48：**lingtong** 创建组件
- 2018年05月10日 14:48：**lingtong** 创建2.0.0版本，添加了单元测试，让插件更加通用化
npm package: @knx-egg/paas-auth
Description: paas登录验证
Latest version: 0.2.4

# egg-paas-auth

[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/egg-paas-auth.svg?style=flat-square
[npm-url]: https://npmjs.org/package/egg-paas-auth
[travis-image]: https://img.shields.io/travis/eggjs/egg-paas-auth.svg?style=flat-square
[travis-url]: https://travis-ci.org/eggjs/egg-paas-auth
[codecov-image]: https://img.shields.io/codecov/c/github/eggjs/egg-paas-auth.svg?style=flat-square
[codecov-url]: https://codecov.io/github/eggjs/egg-paas-auth?branch=master
[david-image]: https://img.shields.io/david/eggjs/egg-paas-auth.svg?style=flat-square
[david-url]: https://david-dm.org/eggjs/egg-paas-auth
[snyk-image]: https://snyk.io/test/npm/egg-paas-auth/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/egg-paas-auth
[download-image]: https://img.shields.io/npm/dm/egg-paas-auth.svg?style=flat-square
[download-url]: https://npmjs.org/package/egg-paas-auth

<!--
Description here.
-->

## Install

```bash
$ npm i egg-paas-auth --save
```

## Usage

```js
// {app_root}/config/plugin.js
exports.paasAuth = {
  enable: true,
  package: 'egg-paas-auth',
};
```

## Configuration

```js
// {app_root}/config/config.default.js
exports.paasAuth = {
};
```

see [config/config.default.js](config/config.default.js) for more detail.

## Example

<!-- example here -->

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).

## License

[MIT](LICENSE)
npm package: @knx-egg/virtual-static
Description: 虚拟静态资源
Author: lingtong
Latest version: 0.1.2

## virtual-static

描述：virtual-static

创建人：lingtong

创建时间：2019年04月11日 14:59

仓库地址: git@gitlab.knx.com:fe-arch/knx-egg.git

[gitlab](http://gitlab.knx.com/fe-arch/knx-egg)

-----------

### 参数描述

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | --- | ---- | --- | --- |
|     |     |      |     |     |

### API描述

| 名称  | 参数列表 | 返回值 | 功能说明 |
| --- | ---- | --- | ---- |
|     |      |     |      |

-----------

### Blog:

- 2019年04月11日 14:59：**lingtong** 创建组件
npm package: @knx-engr/rewired-less
Description: 支持less
Author: lingtong
Latest version: 0.1.5

# RewiredLess

* 创建人：lingtong
* 仓库地址：[https://gitee.com/knx-paas/knx-engr.git](https://gitee.com/knx-paas/knx-engr.git)
* 描述：支持less

-----------

### API

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | ---- | --- | --- | ---- |

-----------

### Log
npm package: @knx-engr/run-tools
Description: eui组件开发工具集
Latest version: 0.1.5

## run-tools

描述：eui创建开发工具集合

仓库地址: [git@gitlab.knx.com:fe-arch/knx-engr.git](http://gitlab.knx.com/fe-arch/knx-engr)


## 命令集

 ```bash
  * run-tools <name|build>          无参数默认情况为创建模版
  * run-tools build    编译打包

  * ps build 可选参数 -spath= , 可指定scss中的公用文件    eg: run-tools build -spath='packages/_sass/index.scss'
 ```
npm package: @knx-ui/example-driver
Description: 组件示例文档驱动器
Author: lingtong
Latest version: 0.1.5

# ExampleDriver

* 创建人：lingtong
* 仓库地址：[]()
* 描述：组件示例文档驱动器

-----------

### API

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | ---- | --- | --- | ---- |

-----------

### Log
npm package: @knx-ui/form
Description: 表单
Author: lingtong
Latest version: 0.1.5

# Form

* 创建人：lingtong
* 仓库地址：[]()
* 描述：表单

-----------

### API

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | ---- | --- | --- | ---- |

-----------

### Log
npm package: @knx/core-framework
Description: 业务基础框架
Author: linzp
Latest version: 0.2.55

# core-framework

业务基础框架

## QuickStart

```bash
$ npm install
$ npm test
```

publish your framework to npm, then change app's dependencies:

```js
// {app_root}/index.js
require('core-framework').startCluster({
  baseDir: __dirname,
  // port: 7001, // default to 7001
});

```

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).