open-index/open-npm huggingface dataset:
npm package: @jowtech/codemod
Description: Simple set of codemod transformations
Author: jow
Latest version: 1.2.2

# @jowtech/codemod

[![NPM Version](https://img.shields.io/npm/v/%40jowtech%2Fcodemod?style=for-the-badge&logo=npm&color=%23cb3837&cacheSeconds=60)](https://www.npmjs.com/package/@jowtech/codemod)

Simple set of codemod transformations created by [Jow](https://jow.com)'s tech team.

## Usage

```sh
npx @jowtech/codemod <transform> <path> [...options]
```

- `transform` - name of transform, see available transforms below.
- `path` - files or directory to transform (**use quotes**)
- use the `--dry` option for a dry-run and use `--print` to print the output for comparison

This will start an interactive wizard, and then run the specified transform.

All [jscodeshift's options](https://github.com/facebook/jscodeshift?tab=readme-ov-file#usage-cli) are supported, and defaults are the same than the one of jscodeshift's CLI.

> [!NOTE]
> jscodeshift's option defaults apply only to its CLI, its API has none, except the parser, which defaults to `@babel/parser` (see `babel5Compat.js`)
> All options are also passed to the transformer, which means you can supply custom options that are not listed here.

## Included Transforms

### Migrate to React 19

#### `react.func-default-props-to-params`

```sh
npx @jowtech/codemod react.func-default-props-to-params <path>
```

Converts functional components default props onto default parameters.

#### `react.forward-ref-to-prop`

```sh
npx @jowtech/codemod react.forward-ref-to-prop <path>
```

Converts `forwardRef` to regular `ref` prop.

## Testing

```sh
yarn test:run
## or
yarn test:watch
```
npm package: @jox51/my-boilerplate
Description: CLI tool to create new projects from my Laravel React Inertia boilerplate
Author: jox51
Latest version: 1.0.1

# @jox51/my-boilerplate

A CLI tool to create new projects from a Laravel React Inertia boilerplate.

## Quick Start (Recommended)

Create a new project instantly without installing:

```bash
npx @jox51/my-boilerplate my-app
```

## Alternative: Global Installation

If you plan to use this tool frequently:

```bash
npm install -g @jox51/my-boilerplate
create-my-boilerplate my-app
```

## Usage

This will create a new Laravel + React + Inertia project in a directory called `my-app`.

## Features

- Creates a new Laravel project with React and Inertia.js pre-configured
- Sets up a modern development environment
- Includes best practices and common configurations

## Requirements

- Node.js 18 or higher
- npm 6 or higher
- Git

## License

MIT
npm package: @jox51/purchases-boilerplate
Description: CLI tool to create new projects from the Laravel React Whop purchases boilerplate
Author: jox51
Latest version: 1.0.0

# @jox51/purchases-boilerplate

CLI tool to create new projects from the Laravel React Whop purchases boilerplate.

## Usage

```bash
npx @jox51/purchases-boilerplate my-project-name
```

This will:
- Clone the boilerplate repository
- Set up the project with your chosen name
- Configure `.env` with your project name
- Provide setup instructions

## What's in the boilerplate?

- Laravel 12 + React 18 + Inertia.js
- Whop one-time payment integration with server-side polling
- Automatic membership cancellation (enables repeat purchases)
- Email notifications (buyer + admin)
- Blog system with admin dashboard
- Authentication (login, register, email verification)
- Landing page with pricing, features, FAQ, testimonials
- Contact form (Formspree)
- Google Tag Manager
- SEO optimization

## After Setup

```bash
cd my-project-name
composer install
npm install
php artisan key:generate
# Edit .env with your database, Whop, and email credentials
php artisan migrate
php artisan serve & npm run dev
```

See the [full documentation](https://github.com/jox51/purchases-boilerplate#readme) for details.
npm package: @joyautomation/synapse
Description: Joy Automation MQTT Sparkplug B Client
Latest version: 0.0.71

# Synapse

Synpase is a an MQTT Sparkplug B Client for use with the project Kraken stack.

## Usage

### Host

To create a Sparkplug B host, wihch is meant to consume data and has the Primary
Host feature Sparkplug B uses for implementing Store & Forward.

```typescript
import { nanoid } from "npm:nanoid";
import { SparkplugCreateHostInput } from "../types.d.ts";
import { createHost } from "../stateMachines/host.ts";

const config: SparkplugCreateHostInput = {
  brokerUrl: "ssl://mqtt3.anywherescada.com:8883",
  username: Deno.env.get("MQTT_USERNAME") || "",
  password: Deno.env.get("MQTT_PASSWORD") || "",
  id: "test",
  clientId: `test-${nanoid(7)}`,
  version: "spBv1.0",
  primaryHostId: "testHost",
};

const host = await createHost(config);
```

### (Edge) Node

To create a Sparkplug B node, which is meant to publish real time Sparkplug B
data to hosts.

```typescript
import { nanoid } from "npm:nanoid";
import { createNode } from "../stateMachines/node.ts";
import {
  SparkplugCreateDeviceInput,
  SparkplugCreateNodeInput,
  SparkplugMetric,
} from "../types.d.ts";

const nodeMetrics: { [id: string]: SparkplugMetric } = {
  testNodeMetric1: {
    name: "testNodeMetric1",
    type: "Boolean",
    value: true,
    scanRate: 3000,
  },
  testNodeMetric2: {
    name: "testNodeMetric2",
    type: "Float",
    value: 1,
    scanRate: 1500,
  },
};

const metrics: { [id: string]: SparkplugMetric } = {
  testMetric: {
    name: "testMetric1",
    type: "Boolean",
    value: true,
    scanRate: 1000,
  },
  testMetric2: {
    name: "testMetric2",
    type: "Float",
    value: 1,
    scanRate: 1200,
  },
};

const devices: { [id: string]: SparkplugCreateDeviceInput } = {
  testDevice: {
    id: "testDevice",
    metrics,
  },
};

const config: SparkplugCreateNodeInput = {
  brokerUrl: "ssl://mqtt3.anywherescada.com:8883",
  username: Deno.env.get("MQTT_USERNAME") || "",
  password: Deno.env.get("MQTT_PASSWORD") || "",
  groupId: "test",
  id: "test",
  clientId: `test-${nanoid(7)}`,
  version: "spBv1.0",
  metrics: nodeMetrics,
  devices,
};

const node = await createNode(config);

setInterval(() => {
  if (typeof nodeMetrics["testNodeMetric1"].value === "number") {
    node.metrics["testNodeMetric1"].value =
      nodeMetrics["testNodeMetric1"].value + 1;
  }
  if (typeof metrics["testMetric"].value === "number") {
    metrics["testMetric"].value = metrics["testMetric"].value + 1;
  }
}, 5000);
```

## Environment Variables

SYNAPSE_LOG_LEVEL: set to `debug`, `info`, `warn`, or `error` to control which
logs are console logged.
npm package: @joyaya/joyutils
Description: Elegent & utility methods to facilitate common usage in JavaScript!
Author: YaYaPao
Latest version: 1.0.5

# JOYUTILS

> Elegent & utility methods to facilitate common usage in JavaScript!

### Why named export?

1. Module is a namespace. Default export often leads to function/component per file dogma and makes code less maintainable.
2. Interop with commonjs is broken in many cases or hard to maintain.
3. Show me any good language with default exports. It's historical javascriptism.

## API

✨ See more usages at [API Docs](https://y-lonely.github.io/ele-utility/)


## Develop

Clone the repo and run `npm install` to init the project!

After you have done some work, just run `npm run build` to generate the project, and all output will be found at `./npm`

**Solo with code!**
npm package: @joyboy-parser/core
Description: Core SDK and runtime for JoyBoy parser - Remote-first, no caching
Author: alaric-senpai
Latest version: 1.2.0


# @joyboy-parser/core

Core SDK and runtime for the JoyBoy parser ecosystem.

## Installation

```bash
npm install @joyboy-parser/core @joyboy-parser/types
```

## Features

- 🔌 Dynamic parser loading (static, dynamic, remote)
- 🔍 Type-safe interfaces  
- 🌐 Cross-platform (Node.js, Browser, React Native)
- 🔄 Built-in retry and error handling
- 💾 Optional caching layer
- 📦 Tree-shakeable ESM bundles

## Quick Start

```typescript
import { JoyBoy } from '@joyboy-parser/core';

// Load a parser
await JoyBoy.loadSource('@joyboy-parser/source-mangadex');

// Get the loaded source
const mangadex = JoyBoy.getSource('mangadex');

// Search for manga
const results = await mangadex.search('One Piece');
```

## API Reference

### JoyBoy Runtime

#### `JoyBoy.loadSource(source)`

Load a source parser dynamically.

```typescript
// From package name
await JoyBoy.loadSource('@joyboy-parser/source-mangadex');

// From instance
import MangaDexSource from '@joyboy-parser/source-mangadex';
await JoyBoy.loadSource(new MangaDexSource());

// From lazy loader
await JoyBoy.loadSource(() => import('@joyboy-parser/source-mangadex'));
```

#### `JoyBoy.getSource(id)`

Get a loaded source by ID.

```typescript
const mangadex = JoyBoy.getSource('mangadex');
```

#### `JoyBoy.listSources()`

Get all loaded sources.

```typescript
const sources = JoyBoy.listSources();
```

#### `JoyBoy.searchAll(query, sourceIds?)`

Search across multiple sources.

```typescript
const results = await JoyBoy.searchAll('One Piece');
// Returns Map<string, Manga[]>
```

### BaseSource

Abstract base class for creating parsers.

```typescript
import { BaseSource } from '@joyboy-parser/core';
import type { Manga, Chapter, Page } from '@joyboy-parser/types';

export default class MySource extends BaseSource {
  id = 'mysource';
  name = 'My Source';
  version = '1.0.0';
  baseUrl = 'https://example.com';

  async getMangaDetails(id: string): Promise<Manga> {
    // Implementation
  }

  async getChapters(mangaId: string): Promise<Chapter[]> {
    // Implementation
  }

  async getChapterPages(chapterId: string): Promise<Page[]> {
    // Implementation
  }
}
```

### Utilities

#### RequestManager

```typescript
protected async request<T>(url: string, options?: RequestOptions): Promise<T>
protected async fetchHtml(url: string, options?: RequestOptions): Promise<string>
```

#### Error Handling

```typescript
import { isSourceError, formatError } from '@joyboy-parser/core';

try {
  await source.search('query');
} catch (error) {
  if (isSourceError(error)) {
    console.error(formatError(error));
  }
}
```

## Creating a Custom Parser

See [Creating Custom Parsers](../../docs/creating-parsers.md) for detailed guide.

## License

MIT

#
npm package: @joyboy-parser/types
Description: TypeScript type definitions for JoyBoy parser ecosystem
Author: alaric-senpai
Latest version: 1.1.5


# @joyboy-parser/types

TypeScript type definitions for the JoyBoy parser ecosystem.

## Installation

```bash
npm install @joyboy-parser/types
```

## Types

### Entity Types

```typescript
import type { Manga, Chapter, Page } from '@joyboy-parser/types';
```

#### Manga

```typescript
interface Manga {
  id: string;
  title: string;
  altTitles?: string[];
  coverUrl?: string;
  author?: string;
  artist?: string;
  genres?: string[];
  description?: string;
  status?: MangaStatus;
  sourceId: string;
  url?: string;
  rating?: ContentRating;
  year?: number;
  metadata?: Record<string, any>;
}
```

#### Chapter

```typescript
interface Chapter {
  id: string;
  title: string;
  number?: number;
  volume?: number;
  date?: string;
  url?: string;
  pages?: number;
  scanlator?: string;
  language?: string;
}
```

#### Page

```typescript
interface Page {
  index: number;
  imageUrl: string;
  headers?: Record<string, string>;
  width?: number;
  height?: number;
}
```

### Source Types

```typescript
import type { Source, SourceInfo, SourceCapabilities } from '@joyboy-parser/types';
```

### Options

```typescript
import type { SearchOptions, RequestOptions } from '@joyboy-parser/types';
```

### Errors

```typescript
import { ErrorType, type SourceError } from '@joyboy-parser/types';
```

## License

MIT
npm package: @joychi-js/sdk
Description: Core functions for  Joychi JS SDK
Latest version: 0.5.1-beta-prerelease.6


# @joychi-js/sdk

## Core Features

The core `@joychi-js/sdk` is a set of convenience wrappers around invocation of JoyGotchi smart contract methods.

It also exposes a low-level isomorphic [execute](#execute) method that can be passed raw `NearContractCall` information.
npm package: @joycode-ide/resources-mcp
Description: MCP server for AI resources management
Author: niudaodao
Latest version: 1.0.12

# AI Resources MCP Server

一个用于AI资源管理的MCP（Model Context Protocol）服务器，提供资源列表查询和API信息获取功能。

## 功能特性

- 🔍 **资源列表查询**: 支持按关键词和分类搜索AI资源
- 📋 **API文档生成**: 根据资源ID获取详细信息并自动生成Markdown格式的API文档


## 工具说明

### 1. query_resource_list - 查询资源列表

查询AI资源列表，支持按关键词搜索。

**参数:**
- `query` (可选): 搜索关键词，用于模糊匹配资源名称和描述

**示例:**
```json
{
  "query": "京东云 TTS",
}
```

**返回数据**: 只展示核心字段，简化用户体验：
- `name`: 资源名称
- `pluginId`: 插件ID
- `pluginDesc`: 插件描述


### 2. get_resource_api - 获取资源API信息

根据资源ID获取对应的API接口详细信息，自动转换为标准化的API文档格式。

**参数:**
- `resourceId` (必需): 资源的唯一标识符ID

**示例:**
```json
{
  "resourceId": "6943"
}
```

**返回格式**: 自动生成完整的API文档，以Markdown格式展示


## MCP配置
```json
{
  "mcpServers": {
    "joycode-resources": {
      "command": "npx",
      "args": ["@joycode-ide/resources-mcp"],
      "env": {
        "RESOURCES_API_URL": "https://xxx",
        "RESOURCES_AUTHORIZATION": "your-api-key"
      }
    }
  }
}
```
npm package: @joyeecheung/eslint-config-node-core
Description: Sharable ESLint configurations following the style guide of Node.js core
Author: Joyee Cheung
Latest version: 1.1.0

# eslint-plugin-node-core

Sharable ESLint configurations following the style guide of Node.js core.

Original source code comes from
[the nodejs/node repo](https://github.com/nodejs/node/tree/master/.eslintrc.yaml).

Depends on [@joyeecheung/eslint-plugin-node-core](https://github.com/joyeecheung/eslint-plugin-node-core).

## Update

This project is generated with [update.js](./update.js).

```bash
git clone git@github.com:joyeecheung/eslint-config-node-core.git
cd eslint-config-node-core.git
npm install
# Generates base.json and lib.json
./update.js /path/to/node/project
```

## Usage

See [examples](./examples).

1. Install the peer dependencies

    ```
    npm install --save-dev eslint eslint-plugin-markdown babel-eslint @joyeecheung/eslint-plugin-node-core
    ```
2. In your `.eslintrc.json` (or `.eslintrc.yaml`, then you would need to use the yaml syntax for the configurations).

    ```json
    {
      "extends": "@joyeecheung/eslint-config-node-core"
    }
    ```

    Or if you want to use the styles of the [lib/](https://github.com/nodejs/node/tree/master/lib) directory in Node.js core:

    ```json
    {
      "extends": "@joyeecheung/eslint-config-node-core/lib"
    }
    ```