open-index/open-npm huggingface dataset:
npm package: @kuntiwar/fixora-sdk
Description: Fixora SDK - Capture frontend errors and get AI-powered fixes instantly.
Author: Kunal Tiwari
Latest version: 1.0.2

<div align="center">
  <img src="https://img.shields.io/badge/Fixora-AI%20Error%20Intelligence-4ade80?style=for-the-badge" alt="Fixora SDK" />
  <br/><br/>
  <h1>Fixora JavaScript SDK</h1>
  <p>Capture errors contextually. Understand instantly. Fix faster.</p>
  <a href="https://kunalt96.github.io/fixora/index.html"><strong>Explore the Live Website & Docs »</strong></a>
  <br/>
</div>

> **🚧 Fixora is currently in active development. Launching BETA soon!**
> For any details, email at [kunaltiwari5596@gmail.com](mailto:kunaltiwari5596@gmail.com)

---

Fixora is a next-generation, AI-driven error tracking and debugging platform. Instead of digging through endless stack traces, the Fixora SDK quietly captures anomalies inside your frontend JavaScript or React applications, pushes them to your multi-tenant backend, and delivers an exact, AI-generated solution detailing why the failure occurred and exactly what code blocks to correct.

## 🚀 Installation

Install the library using your preferred package manager:

```bash
npm install @kuntiwar/fixora-sdk
# OR
yarn add @kuntiwar/fixora-sdk
# OR
pnpm install @kuntiwar/fixora-sdk
```

## 🛠 Usage & Integration

Setting up Fixora requires just two lines of code. For maximum observability, you must initialize the SDK at the topmost level of your application (e.g., `index.js`, `main.js`, or `App.jsx`).

```javascript
import { init } from "@kuntiwar/fixora-sdk";

// Initialize to instantly attach window.onerror and unhandledrejection listeners
init({
  apiURL: "http://localhost:4000/api", // Replace with your production API URL
  apiKey: "your-fixora-api-key"        // Acquire this via your Fixora Administrator Dashboard
});
```

### What does it do?
Once `init()` is called, Fixora silently listens in the background. If any unhandled exceptions or rejected promises slip through your code, Fixora automatically scoops up the stack trace, the application state, and the URL environment, piping it down to the dashboard without interrupting your users.

## ✨ Features

- **Automated JavaScript Error Capturing:** Globals handlers to catch everything before the browser crashes.
- **Generative AI Diagnostics:** Don't just track the error—explain it and generate a code fix using Gemini Flash logic on the backend side.
- **Multi-tenant Architecture:** Completely isolated storage. 100% of errors are grouped to your specific `apiKey`.
- **Intelligent Deduplication:** Identical errors are grouped up to bump occurrence counters, avoiding log bloat.
- **Micro Latency:** Less than `2kb` packed. Performance first. Zero impact on load times.

## 🔗 Links

- **Documentation & UI Platform:** [https://kunalt96.github.io/fixora/index.html](https://kunalt96.github.io/fixora/index.html)
- **GitHub Repository:** [https://github.com/kunalt96/fixora](https://github.com/kunalt96/fixora)
- **Report an Issue:** [Fixora Issues](https://github.com/kunalt96/fixora/issues)

## 💡 License

This project is licensed under the MIT License - see the LICENSE file for details.
npm package: @kunukn/tween
Description: tween
Author: kunukn
Latest version: 1.0.2

# tween

Run a tween with fixed duration. Update callback is invoked on progress of the tween. The progress is a range value from [0;1]. 
The value 0 and 1 is guaranteed to be called during the tween.

## usage

examples

```
var tween = require("@kunukn/tween");
var log = console.log.bind(console);

function onComplete(arg){
  log(arg);
  log('** example done');
}

log('**  example start');
tween({ duration: 500, update: log, complete: onComplete });
```

```
import tween from '@kunukn/tween';
const onUpdate = range => console.log(range);
const onComplete = ({ startTime, now, elapsedTime }) => console.log(startTime, now, elapsedTime);
tween({ duration: 500, update: onUpdate, complete: onComplete, ensureLast: true });
```

tween arguments:

* duration in milli seconds
* update is a function called on tween update with range value between [0;1]
* complete is function called when the tween is done
* ensureLast is default true and ensures update(1) is called as the last step.


## npm

https://www.npmjs.com/package/@kunukn/tween

## cdn

https://unpkg.com/@kunukn/tween/
npm package: @kununu/eslint-config
Description: kununu's ESLint config
Author: kununu
Latest version: 7.1.1

# @kununu/eslint-config

> kununu config for ESLint v9 (Flat Config)

This package contains ESLint rules for consistent JS, JSX, TS, and TSX code across kununu's projects.

**Version 6.0.0+** uses ESLint v9 with the new flat config format.

## 📦 Installation

Add @kununu/eslint-config npm package as dev dependency to your project:

```console
npm install --save-dev @kununu/eslint-config
```

## 💻 Usage

### ESLint v9 (Flat Config)

Create an `eslint.config.cjs` file:

```javascript
import kununuConfig from '@kununu/eslint-config';

export default [
  ...kununuConfig,
  // Your custom config here
];
```

See [docs](https://eslint.org/docs/user-guide/getting-started) to find more detailed information on ESLint configuration and usage.

## ⚡️ Plugins

At kununu, [@kununu/eslint-config](https://www.npmjs.com/package/@kununu/eslint-config) and [@kununu/stylelint-config](https://www.npmjs.com/package/@kununu/stylelint-config) linters runs on every commit, but finding a lint error after push can be frustrating and waste time. In order to avoid it, editor plugins are available to warn you and validate as you code.

There's what we use and recommend:

### Visual Code Studio

- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)

### Atom

- [linter-eslint](https://atom.io/packages/linter-eslint)
npm package: @kununu/phraseapp-cli
Description: > > phraseapp-cli for <https://phraseapp.com/>
Author: kununu
Latest version: 5.1.0

# phraseapp-cli
>
> phraseapp-cli for <https://phraseapp.com/>

## Installation

### Add `@kununu/phraseapp-cli` to your project

```bash
npm install @kununu/phraseapp-cli --save
```

### Add `update-translations` to your project

Add to ```package.json```

```json
"update-translations": "node ./node_modules/@kununu/phraseapp-cli/index.js",
```

### Add env vars

Make sure PHRASEAPP_PROJECT_ID and PHRASEAPP_ACCESS_TOKEN are properly configured.

## Configuration file

You have to add the ```.phraseapp.json``` file

**For example**:

```json
{
  "project_id": "YOUR_PROJECT_ID",
  "path": "YOUR_TRANSLATIONS_PATH",
  "locales": [
    {
      "locale_id": "de_DE",
      "tags": [
        "TAG1",
        "TAG2",
        "TAG3"
      ]
    },
    {
      "locale_id": "de_AT",
      "tags": [
        (...)
      ],
      "fallback_locale_id": "de_DE"
    },
    (...)
  ]
}
```

## License

Apache-2.0 © [kununu](https://kununu.com)
npm package: @kunwarji/anime-quotes
Description: NPM package for getting quotes.
Author: KunwarVSuryavanshi
Latest version: 1.0.0

# Anime Quotes

## What is this?

NPM package that can be used to get quotes from Anime.
This package is built on the top of FrostIn's anime quotes data, where I added more quotes by scraping websites (logic for which is there in <a target="_blank" href="https://github.com/KunwarVSuryavanshi/anime-quotes-data">anime-quotes-data repo</a>). <br/>
As I find few more sites/time to scrape data for it, I'll update the repo their and use its data in this package. If you want to build your own api, you can use the csv file that is there in quotes data repo or simply host the one that I have built and use it.
<br/>
Currently this repo has near to `20K` quotes.

## Install

`npm install @kunwarji/anime-quotes`

## Usage

```javascript
import animeQuotes from "@kunwarji/anime-quotes";

// Get random quote
console.log(animeQuotes.randomQuote());

// Get 10 random quote
console.log(animeQuotes.randomQuote(10));

// Get quote by anime
console.log(animeQuotes.randomQuoteByAnime("naruto"));

// Get 10 quotes by anime
console.log(animeQuotes.randomQuoteByAnime("naruto", 10));

// Get quote by character
console.log(animeQuotes.randomQuoteByCharacter("itachi uchiha"));

// Get 20 quotes by character
console.log(animeQuotes.randomQuoteByCharacter("itachi uchiha", 20));
```

## Example Object

```json
{
	"anime": "Yahari Ore No Seishun Love Come Wa Machigatteiru",
	"id": 4462,
	"name": "Hachiman Hikigaya",
	"quote": "Hard work betrays none, but dreams betray many."
}
```
npm package: @kunwarji/react-to-pdf
Description: React to pdf converts the JSX of react component to pdf
Author: KunwarVSuryavanshi
Latest version: 1.3.1

# ReactToPDF

React to pdf helps one create a PDF file for any React component. There is already one npm pkg for acheiving this functionality, so why this one you ask?

1. Some of them were failing with newer version of react.
2. Wanted to add certain more feature which is already being provided by jsPdf and html2canvas, but were not there in other packages.

## Installing
 ` npm i @kunwarji/react-to-pdf `

## Usage
Creating reference for passing it down to ReactToPDF:-
```javascript
<div ref={refVar}>
  Something inside the component being rendered. Bazinga!
</div>
```

Calling component:-
```javascript
  <ReactToPDF element={refVar}>
    {(toPdf) => (
      <button type="button" onClick={toPdf}>
        Click me
      </button>
      )
    }
  </ReactToPDF>
```
Reference passed to an element prop.

### Other props
- `scale` - The scale to use for rendering. (Optional - Default value is 1)
- `cropX` - Crops canvas x-coordinate. (Optional - Default value is 0)
- `cropY` - Crop canvas y-coordinate. (Optional - Default value is 0)
- `printStart` - Array of [x, y] coordinate from where one wants the element to appear from on canvas. (Default - [0, 0])
- `fileName` - Name of the pdf file when it is downloaded. (Default - PDF_FILE) 
- `format` - Rarely needed, but the image used for printing whether it should be JPEG, PNG, WEBP.
- `compression` - compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW. (Optional - Default value is NONE)
- `backgroundColor` - Canvas background color, if none is specified in DOM. Set null for transparent. (Optional - Default value is null)
- `logging` - Enable logging for debug purposes. (Optional - Default value is false)
- `modifyFn` - Callback function which is called when the Document has been cloned for rendering, can be used to modify the contents that will be rendered without affecting the original source document. (Optional)
- `imageTimeout` - Timeout for loading an image (in milliseconds). (Optional - Default value is 0)
- `width` - The width of the canvas. (Optional)
- `height` - The height of the canvas. (Optional)

## Working
Basically it is using html2canvas (to take snap after traversing the DOM) and jsPDF (to generate pdf).
npm package: @kuochunchang/goose-code-review
Description: AI-assisted code review tool with local web UI - View, analyze and review code with AI-powered insights
Author: Kuo-Chun Chang
Latest version: 1.0.2

# Goose Code Review Tool

A local AI-assisted code review tool with a web-based interface.

## Features

- **CLI-based**: Run `goose` in any project directory to start the review tool
- **Local server**: Automatically starts a local server and opens the browser
- **Read-only**: View and analyze code without editing capabilities
- **AI analysis**: Automated code quality, security, and performance analysis
- **UML visualization**: Generate class diagrams and flowcharts from code

## Installation

### Install from npm (Recommended)

```bash
# Install globally
npm install -g @kuochunchang/goose-code-review

# Or use npx without installing
npx @kuochunchang/goose-code-review
```

### Install from Source (For Development)

```bash
# Clone the repository
git clone https://github.com/kuochunchang/code-review-goose.git
cd code-review-goose

# Install dependencies
npm install

# Build the project
npm run build

# Link globally for local development
npm link
```

## Quick Start

After installation, navigate to your project directory and run:

```bash
cd /path/to/your-project
goose
```

The tool will automatically start a local server and open your browser.

## Usage

```bash
# Start in your project directory
cd /path/to/your-project
goose

# Specify custom port
goose -p 8080

# Prevent automatic browser opening
goose --no-open

# View help
goose --help
```

The tool will automatically:

1. Start a local web server
2. Open your default browser
3. Display the code review interface

All data is stored locally in `.code-review/` directory within your project.

## Configuration

### AI Provider Setup

Before using AI analysis features, you need to configure your AI provider.

**Configure OpenAI API Key**:

- The first time you run `goose`, it will prompt you to enter your OpenAI API key
- Or manually create `.code-review/config.json` in your project directory:

```json
{
  "aiProvider": "openai",
  "openai": {
    "apiKey": "sk-your-api-key-here",
    "model": "gpt-4"
  }
}
```

**Get your OpenAI API Key**:

- Visit [OpenAI Platform](https://platform.openai.com/api-keys)
- Create a new API key
- Copy and paste it into the configuration

### Advanced Configuration

The `.code-review/config.json` file supports additional options:

```json
{
  "aiProvider": "openai",
  "openai": {
    "apiKey": "sk-your-api-key-here",
    "model": "gpt-4"
  },
  "ignorePatterns": ["node_modules", ".git", "dist", "build", "*.log"],
  "maxFileSize": 5242880
}
```

- `ignorePatterns`: Array of glob patterns to exclude from analysis
- `maxFileSize`: Maximum file size in bytes (default: 5MB)

## Development

For development setup and contribution guidelines, see:

- [Development Guide](./docs/DEVELOPMENT.md)

## License

MIT License
npm package: @kuonjialice/data-view-react
Description: React Large screen data display component library
Author: Duan Yu
Latest version: 1.2.6

[ENGLISH](./README_EN.md)

<p align="center">
  <img src="./icon.png">
</p>
<h1 align="center">DataV-React</h1>
<p align="center">
    <a href="https://github.com/DataV-Team/Datav-React/blob/master/LICENSE">
      <img src="https://img.shields.io/github/license/DataV-Team/datav-react.svg" alt="LICENSE" />
    </a>
    <a href="https://www.npmjs.com/package/@jiaminghi/data-view-react">
      <img src="https://img.shields.io/npm/v/@jiaminghi/data-view-react.svg" alt="LICENSE" />
    </a>
</p>

## DataV-React 是干什么的?

- DataV-React 是一个基于**React**的数据可视化组件库(当然也有[Vue 版本](https://github.com/DataV-Team/DataV))
- 提供用于提升页面视觉效果的**SVG**边框和装饰
- 提供常用的**图表**如折线图等
- 飞线图/轮播表等其他组件

### 注意事项

**使用了 React Hooks, 简化了许多内部工作。您需要 React 版本 16.8.0 及以上**

### npm 安装

```shell
$ npm install @jiaminghi/data-view-react
```

### 使用

```js
import * as datav from "@jiaminghi/data-view-react";

datav.BorderBox1;

// 或者
import { BorderBox1 } from "@jiaminghi/data-view-react";

// 按需引入
import BorderBox1 from "@jiaminghi/data-view-react/es/borderBox1";
```

详细文档及示例请移步[HomePage](http://datav-react.jiaminghi.com).

### UMD 版

`UMD`版可直接使用`script`标签引入，引入后通过**datav**命名空间使用对应的组件，引入`data-view-react`前请确保已引入`react 和 react-dom`。

[UMD 版使用示例](./umdExample.html)

### TODO

* **地图组件**
* **TS**重构组件库底层依赖

### 致谢

组件库的开发基于个人学习和兴趣，由于技术水平及经验的限制，组件尚有许多不完善之处，如有 BUG 可及时提交[issue](https://github.com/DataV-Team/DataV-React/issues/new?template=bug_report.md)或添加反馈群进行反馈，也欢迎提供指正和建议，感谢各位的支持。

### 反馈

![Feedback](./QQGroup.png)

### Demo

Demo 页面使用了全屏组件，请 F11 全屏后查看。

- [施工养护综合数据](http://datav-react.jiaminghi.com/demo/construction-data/index.html)

![construction-data](./demoImg/construction-data.jpg)

- [机电运维管理台](http://datav-react.jiaminghi.com/demo/manage-desk/index.html)

![manage-desk](./demoImg/manage-desk.jpg)

- [机电设备电子档案](http://datav-react.jiaminghi.com/demo/electronic-file/index.html)

![electronic-file](./demoImg/electronic-file.jpg)
npm package: @kuoruan/class-names
Description: A util for conditionally joining classNames together
Author: Xingwang Liao
Latest version: 1.0.0

# class-names

A util for conditionally joining classNames together

## Usage

```javascript
classNames('foo', 'bar'); // => 'foo bar'
classNames('foo', { bar: true }); // => 'foo bar'
classNames({ 'foo-bar': true }); // => 'foo-bar'
classNames({ 'foo-bar': false }); // => ''
classNames({ foo: true }, { bar: true }); // => 'foo bar'
classNames({ foo: true, bar: true }); // => 'foo bar'
```

With arrays:

```javascript
var arr = ['b', { c: true, d: false }];
classNames('a', arr); // => 'a b c'
```
npm package: @kuoruan/luci-types
Description: Typescript declaration files for OpenWrt LuCI2.
Author: Xingwang Liao
Latest version: 1.1.2

# luci-types

Typescript declaration files for OpenWrt LuCI2.


## Install

```sh
$ npm install --save @kuoruan/luci-types
```

Or with Yarn

```sh
$ yarn add @kuoruan/luci-types
```

## Usage

In ```tsconfig.json``` file, add ```node_modules/@kuoruan/luci-types/index.d.ts``` to include.

```json
{
  "compilerOptions": {
    ...
  },
  "include": [
    ...,
    "node_modules/@kuoruan/luci-types/index.d.ts"
  ]
}
```
npm package: @kuoruan/text-clamp
Description: Clamps an HTML element by adding ellipsis to it.
Author: Xingwang Liao
Latest version: 1.1.1

# text-clamp

Clamps an HTML element by adding ellipsis to it.

Copy from josephschmitt/Clamp.js and rewrite with typescript.

## Install

``` sh
$ npm install --save @kuoruan/text-clamp
```

Or with Yarn

``` sh
$ yarn add @kuoruan/text-clamp
```

## Useage

### throttle

``` js
import TextClamp from "@kuoruan/text-clamp";

const myHeader = document.getElementsByTagNames("h1")[0];

// Single line
TextClamp(myHeader, 1);

// Multi-line
TextClamp(myHeader, {clamp: 3});

// Auto-clamp based on a fixed element height
TextClamp(myHeader, {clamp: "35px"});
```

## Options

type: ```number | string | object```

### Option Object

```ts
type Options = {
  clamp?: number | string | "auto";
  useNativeClamp?: boolean;
  splitOnChars?: string[];
  animate?: boolean | number;
  truncationChar?: string;
  truncationHTML?: string;
  onClamped?: onClampedCallback;
};
```

#### clamp

Type: ```number | string | "auto"```

Optional: true

Default: ```2```

The lines or height of the Element.

#### useNativeClamp

Type: ```boolean```

Optional: true

Default: ```true```

Enables or disables using the native -webkit-line-clamp in a supported browser (ie. Webkit).

### truncationChar

Type: ```string```

Optional: true

Default: ```…```

The character to insert at the end of the HTML element after truncation is performed.

#### truncationHTML

Type: ```string```

Optional: true

A string of HTML to insert before the truncation character. This is useful if you'd like to add a "Read more" link or some such thing at the end of your clamped node.

#### splitOnChars

Type: ```string[]```

Optional: true

Default: ```[".", "-", "–", "—", " "]```

Determines what characters to use to chunk an element into smaller pieces.

#### animate

Type: ```boolean```

Optional: true

Default: ```false```

When set to true, will animate removing individual characters from the end of the element until the content fits.

#### onClamped

type: ```(el: HTMLElement, clampValue: number, maxHeight: number) => void```

Optional: true

Default: ```() => {}```

Callback when element clamped.
npm package: @kuoruan/throttle-debounce
Description: Typescript throttle and debounce
Author: Xingwang Liao
Latest version: 1.0.5

# throttle-debounce

Typescript version of throttle and debounce function.

## Install

``` sh
npm install --save @kuoruan/throttle-debounce
```

Or with Yarn

``` sh
yarn add @kuoruan/throttle-debounce
```

## Useage

### throttle

``` js
import { throttle } from "@kuoruan/throttle-debounce";

const onWindowResize = throttle(function(this: Window, e: Event) {
  console.log("resized", this.innerWidth, this.innerHeight);
}, 20);

window.addEventListener("resize", onWindowResize, false);
```

### debounce

``` ts
import { debounce } from "@kuoruan/throttle-debounce";

const input: HTMLInputElement = document.querySelector("#search");

const onInputChange = debounce(function(this: HTMLInputElement, e: Event) {
  console.log("Your input is: " + this.value);
}, 100);

input.addEventListener("change", onInputChange, false);
```

## API

### throttle

**function <T extends (...args: any[]) => any>(func: T, threshhold?: number, scope?: any): T;**

#### func

Type: ```T extends (...args: any[]) => any``` (Function)

Optional: false

The function to be throttled.

#### threshhold

Type: ```number```

Optional: true

Default: 20

The threshhold in milliseconds, must greater than zero.

#### scope

Type: any

Optional: true

The ```context``` or ```thisArg``` used by apply. See: [Function.prototype.apply()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply)

### debounce

**function <T extends (...args: any[]) => any>(func: T, delay?: number, scope?: any): T;**

#### func

Type: ```T extends (...args: any[]) => any``` (Function)

Optional: false

The function to be debounced.

#### delay

Type: ```number```

Optional: true

Default: 20

The delay in milliseconds, must greater than zero.

#### scope

Type: any

Optional: true

The ```context``` or ```thisArg``` used by apply. See: [Function.prototype.apply()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply)
npm package: @kuoruan/uuidv4
Description: A simple util to generate UUIDv4
Author: Xingwang Liao
Latest version: 1.0.0

# uuidv4

A simple util to generate UUIDv4 (0.5KB)

## Install

```sh
$ npm install --save @kuoruan/uuidv4
```

Or with Yarn

```sh
$ yarn add @kuoruan/uuidv4
```

## Usage

```javascript
import UUIDv4 from "@kuoruan/uuidv4";

console.log(UUIDv4()); // 367d3b57-0b29-445d-b3bd-a7a488e2b26d
```
npm package: @kuoruan/webp-supported
Description: Detect whether the browser supports WebP
Author: Xingwang Liao
Latest version: 1.0.0

# webp-supported

Detect whether the browser supports WebP (0.3KB)

## Install

```sh
$ npm install --save @kuoruan/webp-supported
```

Or with Yarn

```sh
$ yarn add @kuoruan/webp-supported
```

## Usage

```javascript
import WebPSupported from "@kuoruan/webp-supported";

if (WebPSupported()) {
  console.log("Load WebP");
} else {
  console.log("Load JPEG");
}
```