open-index/open-npm huggingface dataset:
npm package: @jasonxia23/is
Description: JavaScript type testing library
Author: jasonxia23
Latest version: 0.2.1

# IS

[![Downloads](https://img.shields.io/npm/dm/@jasonxia23/is.svg)](https://npmjs.com/package/@jasonxia23/is)
[![Version](https://img.shields.io/npm/v/@jasonxia23/is.svg)](https://npmjs.com/package/@jasonxia23/is)
[![License](https://img.shields.io/npm/l/@jasonxia23/is.svg)](https://npmjs.com/package/@jasonxia23/is)

## Install

```bash
# Using npm
npm install @jasonxia23/is

# Using yarn
yarn add @jasonxia23/is
```

Note: Updating your npm and clean the cache may fix the errors during installing.

```bash
npm install -g npm && npm clean cache
```

## Usage

Library provide a case-insensitive API, which means you can use either `isObject` or `isobject` to check whether it is a object.

```javascript
var is = require('@jasonxia23/is')

is.Object({})
// => true

is.Array([])
// => true

is.Promise(new Promise(() => {}))
// => true

is.Json('{}')
// => true

is.RegExp(/\d/)
// => true
```

## API

### Basic

```javascript
is.Null
is.Undefined
is.Defined
is.String
is.Number
is.Boolean
is.Object
is.Array
is.Function
is.Arguments
is.JSON
is.RegExp
is.Date
```

### ES6

```javascript
is.Symbol
is.Map
is.Set
is.Promise
is.GeneratorFunction
is.AsyncFunction
```

### Client side check

```javascript
is.Window
is.HTMLDivElement
is.NodeList
is.HTMLCollection
is.Location
is.DocumentFragment
```

## Test

```bash
npm install
npm test
```

Since `async` is supported since Node 7.x, update your Node before running test.

## TODO

* is.Document
* is.Element

## License

[MIT license](http://opensource.org/licenses/MIT).
npm package: @jasonzhang15/line-noise
Description: js addon based on c library linenoise used in redis
Author: JasonZhang
Latest version: 0.1.5

# line-noise

this is a nodejs addon based on c library linenoise which is used in Redis.

# feature

- input hint
- input completion when press Tab key
- multiline edit in your terminal
- like `readline`
- support both .cjs and .mjs on Node environment
- support typescript
- not support windows; macOS or linux is ok

## quick look

MP4:
<video controls preload="none">

  <source src="https://zhangzhuang15.github.io/line-noise-demo.mp4" type="video/mp4"></source>
  if quick look video cannot load, please give a look at .gif image below.
</video>

<br>
<br>

GIF:
![line-noise demo](https://zhangzhuang15.github.io/line-noise-demo.gif)

# install

1. make sure that you have Rust environment, otherwise, please visit Rust official website and install.it's not difficult at all.

2. run `npm install @jasonzhang15/line-noise`

# usage

```js
const lineNoise = require("@jasonzhang15/line-noise");

// ESModule:
// import lineNoise from "@jasonzhang15/line-noise";

const argv = process.argv.slice(2);

if (argv.includes("--keyboard-playground")) {
  lineNoise.enterKeycodesPlayground();
  process.exit();
}

lineNoise.loadCompletionConfig();
lineNoise.loadHintConfig();
lineNoise.setHistoryCapacity(5);

let input = "";
while (1) {
  input = lineNoise.prompt("JasonZhang> ");

  // add your command to history, so that
  // you can press ⬆️ or ⬇️ to walk commands
  lineNoise.rememberCommand(input);

  if (input === "quit") {
    console.log("quit now");
    break;
  } else if (input === "single-line") {
    lineNoise.openMultilineMode(0);
  } else if (input === "multi-line") {
    lineNoise.openMultilineMode(1);
  } else {
    console.log("your input: ", input);
  }

  if (input === "mask") {
    lineNoise.mask_your_input();
  } else if (input === "unmask") {
    lineNoise.unmask_your_input();
  }
}

// it's not important what suffix of the history file,
// this function only save your memory command history to
// disk.
lineNoise.saveCommandHistoryIntoFile("./my_command.history");
```

there is a wonderful .d.ts for this package, so every API has rich comment when you write code on Visual Studio Code.

talk is cheap, please take a try!
npm package: @jasonzhang15/webpack-plugin-check-import
Description: A webpack plugin helps you check import statement, make webpack building failed if there is undefined variable or function in your import statement
Author: JasonZhang
Latest version: 0.1.0

## Description
When you use an undefined variable from your import statement, webpack still works.But in runtime, your code will crash because
of this. You have to set `module.strictExportPresence` true in
your webpack config file, make webpack failed to build if it
find that a variable is undefined in your import statement.

In this way, it also brings another problem:
```js
import * as M from "./mod.js"

if (M.jack) {
    M.jack()
}
```
You want to access variable which is mounted on M dymatically,
but webpack will say no to you, and build failed.

To solve this conflict, here is this plugin.

## Usage
You don't need to set `module.strictExportPresence`, just import
plugin like this:
```js 
// webpack.config.js
const JasonZhangCheckImportPlugin = require("@jasonzhang15/webpack-plugin-check-import");

module.exports = {
    plugins: [new JasonZhangCheckImportPlugin()]
}
```

it's done!

```js 
// src/main.js

import { A, B } from "./mod"
import * as M from "./mod"

// assume that only B is undefined

// dont make webpack failed
if (M.B) {
    M.B()
}

A()

// make webpack failed
B()
```

## Caveat
If this plugin makes sure that there is undefined variable in your
import statement(not `M.jack`, just `import { jack } from "./mod.js"`), it will make webpack failed.


## Future
Right now, I just support commonjs, but esm is not far.
npm package: @jasonzhangf/claude-code-router-enhanced
Description: Use Claude Code without an Anthropics account and route it to another LLM provider. Includes built-in k2cc transformer for CodeWhisperer compatibility with multi-token management and concurrency control.
Author: musistudio
Latest version: 1.0.38-k2cc

# Claude Code Router Enhanced

> **Fork of [musistudio/claude-code-router](https://github.com/musistudio/claude-code-router)** with enhanced retry functionality for improved reliability.

## ✨ Enhanced Features

-   **Automatic Retry**: Added exponential backoff retry mechanism (max 3 attempts) for third-party API failures
-   **Simplified Error Messages**: Clean, user-friendly error responses without exposing detailed third-party errors
-   **All Original Features**: Maintains all functionality from the original project including model routing, multi-provider support, transformers, and dynamic model switching

## 🚀 Installation

### Prerequisites

```shell
npm install -g @anthropic-ai/claude-code
```

### Install Enhanced Version

```shell
npm install -g @jasonzhangf/claude-code-router-enhanced
```

### Usage

```shell
# Basic usage with default settings (3 retries)
ccr code

# Configure retry attempts
ccr start --retry 5    # Max 5 retries
ccr start --retry 0    # Disable retry
ccr code --retry 2     # Use 2 retries for this session

# Check service status
ccr status
```

## 🔧 Configuration

For detailed configuration instructions, please refer to the original project documentation: [musistudio/claude-code-router](https://github.com/musistudio/claude-code-router)

Basic setup:
1. Copy `config.example.json` to `~/.claude-code-router/config.json`
2. Add your API keys and configure providers
3. The enhanced version will automatically apply retry logic to all external API calls

## 🔄 Retry Enhancement Details

- **Configurable Attempts**: Use `--retry N` to set retry attempts (default: 3, use 0 to disable)
- **Backoff Strategy**: Exponential backoff (1s, 2s, 4s, 8s...)
- **Retryable Errors**: Network timeouts, 5xx server errors, rate limits (429)
- **Error Simplification**: Returns clean error messages instead of detailed third-party error responses
- **HTML Error Detection**: Properly handles Cloudflare and proxy error pages

## 📚 Original Project

For complete documentation, configuration examples, and advanced features, please visit:
**[musistudio/claude-code-router](https://github.com/musistudio/claude-code-router)**

## 📝 License

MIT License - Same as original project
npm package: @jasper-mui/me-check-link
Description: A CLI to check link of html pages
Author: YOUR_AUTHOR
Latest version: 1.2.2

# me-check-links
A simple command-line tool to check the status of links


<h2>Installation</h2>
npx @jasper-mui/me-check-link

<br/>or<br/>

npm: <br/>
npm i @iasper-mui/me-check-link -g<br/>

<br/>or<br/>

manually:
1. Download files via the zip file or using git<br/>
2. To install dependencies:<br/>
   `npm install`<br/>  
3. To create a symlink for the command:<br/>
   `npm link`
   
<h2>What is it for?</h2>
MCl command is used to quickly find bad links of HTTP status of 400 or 404. (Please do not rely on this tool as it is not robust enough to do so. Use it as an aid) 

<h2>How to use</h2>
MCL - a command to check links of a HTML page<br/>
      if no arguments are supplied, a help message will be displayed<br/>
Options:<br/>
-v or /v,  to get the version number and name of the tool<br/> 
-u or /u,  to check the links of a HTML page of supplied URL<br/> 
-j or /j,  change output to json format, all links display in green no long follows color rules<br/> 
-b or /b,  this flag will only show bad links, no flag specified will show all links<br/> 
-g or /g,  this flag will onyl show good links, no flag specified will show all links<br/> 
-i or /i,  mcl -i  &lt ignore &gt &lt file &gt<br/> 
   &nbsp;&nbsp;&nbsp;first file ignores links that are in the file which is space delimited <br/> 
   &nbsp;&nbsp;&nbsp;only valid links are allowed in the file and lines that start with # will be ignored<br/> 
           
<h2>Feature</h2>

* The result of the links shows up in color to display the status of links. Does not apply to -j option as all links will show in green<br/>  
1. Green links are good links with an HTTP status of 200.<br/> 
2. Red links are bad links of HTTP status 400 or 404.<br/> 
3. Grey links are unknown with any other HTTP status.<br/> 

* The command can check HTML pages links via URL using -u option and supplying a valid HTTP URL.<br>

* The tool can check multiple URLs or HTML files to be checked at once if more than enter one URL or HTML file is entered one after another, separated by a space.<br/>
But url and html cannot be mixed together in a single command.<br/>
The -u option is still required when checking multiple URLs.<br/>

* Handles Unix and windows style of args -u or /u<br/>

* Handles links that cause timeouts smoothly

* Output in JSON format

* Flags to choice to only show good or bad links
npm package: @jasperalani/mysql-query-builder
Description: MySQL Query Builder
Author: Jasper Alani
Latest version: 1.0.0

## MySQL Query Builder

Functions that values and return SQL ready to be queried.

### Languages
- Javascript
- Typescript
- Go

In the future:
- PHP

### Functions
`select`
`insert`
`update`
`delete`

### Todo

- Create test files
- Improve typescript syntax

### Usage

Javascript:

```javascript
queryBuilder.select(['id', 'name'], 'my_table', 'id = 6');

queryBuilder.insert(['name', 'deleted'], ['Jasper', false], 'my_table');

queryBuilder.update(['name', 'deleted'], ['Yasper', true], 'id = 6', 'my_table');

queryBuilder.delete('id = 6', 'my_table');
```

Typescript:
```typescript
const columns: Columns = {
    columns: [
        {value: 'id'},
        {value: 'name'},
        {value: 'deleted'}
    ]
}

const values: Values = {
    values: [
        {value: 6},
        {value: 'value'},
        {value: false}
    ]
}

queryBuilder.insert(columns, values, 'my_table');

queryBuilder.select(columns, 'my_table', 'id = 6');

queryBuilder.update(columns, values, 'id = 6', 'my_table');

queryBuilder.delete('id = 6', 'my_table');
```