open-index/open-npm huggingface dataset:
npm package: @mash-a/timepicker-react
Description: A React TimePicker component based on jquery-timepicker.
Latest version: 1.0.9

# TimePicker

A React TimePicker component based on [jquery-timepicker](https://github.com/jonthornton/jquery-timepicker)

## Peer Dependencies

- [React](https://reactjs.org/) (>= 16)
- react-dom (>= 16)

## Installation

```node
npm i timepicker-react
yarn add timepicker-react
```

## Usage

```javascript
import * as React from 'react';
import { TimePicker } from "@mash-a/timepicker-react";

const options = {
	disableTextInput: 'bool',
	step: 'integer',
	timeFormat: 'string',
	enableSelect: 'bool'
}

const Demo = () => (
	const [timeString, setTimeString] = React.useState('');

	const handleChange = value => {
		setTimeString(value);
		// …
	}

	return (
		<TimePicker
			value={timeString}
			onChange={handleChange} 
			options={options}
			/>
	)
);
```
## Options

- **disableTextInput**
Prevents the user from using the input and the dropdown. Primarily for displaying time.
*default: false*

- **step**  
The amount of time, in minutes, between each item in the dropdown.
*default: 30*

- **timeFormat**
Use [php's date formatting syntax](https://www.php.net/manual/en/function.date.php#example-2058)
*default: 'g:ia'*
npm package: @mash-up-web-toolkit/command
Description: mash-up-web-toolkit command line interface
Author: brightbong92
Latest version: 0.0.20

# @mash-up-web-toolkit/command

- Mash-Up Web Toolkit의 CLI 인터페이스입니다.
- API 생성, 설정 파일 생성 등의 작업을 자동화하는 도구를 제공합니다.

## Documentation

-[시작하기](https://mash-up-web-toolkit-docs.vercel.app/docs/category/installation)

## Related Dependencies

- [@mash-up-web-toolkit/generate-api](https://www.npmjs.com/package/@mash-up-web-toolkit/generate-api) - API 생성 기능 제공
- [@mash-up-web-toolkit/generate-api-config](https://www.npmjs.com/package/@mash-up-web-toolkit/generate-api-config) - API 생성 instance 파일 제공
- [@mash-up-web-toolkit/generate-config](https://www.npmjs.com/package/@mash-up-web-toolkit/generate-config) - 설정 파일 생성 기능 제공

## Usage

```bash
# pnpm
pnpm mash-up-web

# API 생성 명령어
pnpm mash-up-web gen:api
pnpm mash-up-web gen:api --type axios || fetch

# 설정 파일 생성 명령어
pnpm mash-up-web gen:config

#npm
npx mash-up-web


```
npm package: @mash-up-web-toolkit/generate-api
Description: API client code generator used by @mash-up-web-toolkit/command
Author: brightbong92
Latest version: 0.0.15

# @mash-up-web-toolkit/generate-api

- OAS를 기반으로 API 클라이언트 코드를 자동 생성합니다. (axios / fetch 지원)

## Documentation

-[시작하기](https://mash-up-web-toolkit-docs.vercel.app/docs/category/api-generator)

## Options

```
  -p, --path <path>             path/url to swagger scheme
  -o, --output <output>         output path of typescript api file (default: "./")
  -n, --name <name>             name of output typescript api file (default: "Api.ts")
  -t, --templates <path>        path to folder containing templates
  -d, --default-as-success      use "default" response status code as success response too.
                                some swagger schemas use "default" response status code
                                as success response type by default. (default: false)
  -r, --responses               generate additional information about request responses
                                also add typings for bad responses (default: false)
  --union-enums                 generate all "enum" types as union types (T1 | T2 | TN) (default: false)
  --route-types                 generate type definitions for API routes (default: false)
  --no-client                   do not generate an API class
  --enum-names-as-values        use values in 'x-enumNames' as enum values (not only as keys) (default: false)
  --js                          generate js api module with declaration file (default: false)
  --extract-request-params      extract request params to data contract (default: false)
                                Also combine path params and query params into one object
  --module-name-index <number>  determines which path index should be used for routes separation (default: 0)
                                (example: GET:/fruites/getFruit -> index:0 -> moduleName -> fruites)
  --module-name-first-tag       splits routes based on the first tag
  --modular                     generate separated files for http client, data contracts, and routes (default: false)
  --disableStrictSSL            disabled strict SSL (default: false)
  --clean-output                clean output folder before generate api. WARNING: May cause data loss (default: false)
  --axios                       generate axios http client (default: false)
  --single-http-client          Ability to send HttpClient instance to Api constructor (default: false)
  --silent                      Output only errors to console (default: false)
  --default-response <type>     default type for empty response schema (default: "void")

```
npm package: @mash-up-web-toolkit/generate-api-config
Description: Generate API config File for @mash-up-web-toolkit/generate-api
Author: brightbong92
Latest version: 0.0.3

# @mash-up-web-toolkit/generate-api-config

- `@mash-up-web-toolkit/generate-api`에서 사용하는 `{httpClient}/instance.ts` 파일을 생성합니다.

## documentation

-[시작하기](https://mash-up-web-toolkit-docs.vercel.app/docs/cli/generate-api/generate-api-config)
npm package: @mash-up-web-toolkit/generate-config
Description: Create config for @mash-up-web-toolkit/command
Author: brightbong92
Latest version: 0.0.9

# @mash-up-web-toolkit/generate-config

- `@mash-up-web-toolkit/command`에서 사용하는 `mash-up.config.ts` 파일을 생성합니다.

## documentation

- [시작하기](https://mash-up-web-toolkit-docs.vercel.app/docs/category/installation)
npm package: @mash-up-web-toolkit/util-types
Description: Utility types for Mash-Up Web Team
Author: brightbong92
Latest version: 0.0.2

# @mash-up-web-toolkit/util-types

- 다양한 타입, 인터페이스, 유틸리티 타입을 제공합니다.

## Install

```bash
npm install @mash-up-web-toolkit/util-types
# or
yarn add @mash-up-web-toolkit/util-types
# or
pnpm add @mash-up-web-toolkit/util-types
```
npm package: @mash43/can-i-extend
Description: A lightweight TypeScript library to check if a given URL is available for Chrome extension features.
Author: mash43
Latest version: 0.1.0

# @mash43/can-i-extend

[![npm version](https://img.shields.io/npm/v/@mash43/can-i-extend.svg)](https://www.npmjs.com/package/@mash43/can-i-extend) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)

A lightweight TypeScript library to check if a given URL is available for Chrome extension features.

## Features

- 🚀 **Lightweight & Fast**: Zero dependencies.
- 🛡️ **Secure**: Accurately identifies restricted pages such as `chrome://`, `about:`, and `devtools://`.
- ⚙️ **Customizable**: Allows adding custom URL patterns via options.
- 📦 **TypeScript**: Fully typed.

## Installation

```bash
npm install @mash43/can-i-extend
```

## Usage

### Basic Check

```typescript
import { canIExtend } from "@mash43/can-i-extend";

// Regular websites are allowed
console.log(canIExtend("https://google.com")); // true

// Chrome internal pages are restricted
console.log(canIExtend("chrome://extensions")); // false
console.log(canIExtend("about:blank")); // false
console.log(canIExtend("view-source:https://example.com")); // false

// Chrome Web Store is also restricted
console.log(canIExtend("https://chromewebstore.google.com/")); // false
```

### Customization via Options

You can add your own restricted URL patterns.

```typescript
import { canIExtend } from "@mash43/can-i-extend";

const options = {
  restrictedUrls: [/^https:\/\/example\.com\/.*/]
};

console.log(canIExtend("https://example.com/blocked", options)); // false
console.log(canIExtend("https://google.com", options)); // true
```

## Default Restricted Patterns

The following patterns are restricted by default:
- `chrome://*`
- `about:*`
- `view-source:*`
- `devtools://*`
- `chrome-error://*`
- `chrome-extension://*`
- `https://chromewebstore.google.com/*`

## License

MIT
npm package: @mash43/solid-theme
Description: A theme for SolidJS applications.
Author: mash43
Latest version: 0.0.1

<p>
  <img width="100%" src="https://assets.solidjs.com/banner?type=@mash43/solid-theme&background=tiles&project=%20" alt="@mash43/solid-theme">
</p>

# @mash43/solid-theme

[![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-cc00ff.svg?style=for-the-badge&logo=pnpm)](https://pnpm.io/)

A simple and flexible theming library for SolidJS. It makes it easy to add theme functionality like dark mode, persist user preferences, and sync with system settings.

## Features

*   **Theme Persistence**: Saves the user's selected theme to `localStorage` (under the key 'theme'), maintaining it across browser sessions.
*   **Two Application Methods**:
    *   Set a `data-theme` attribute on the `<html>` element (`attr`).
    *   Add a class name to the `<html>` element (`class`).
*   **System Theme Sync**: Supports a `system` theme that follows the OS's color scheme.
*   **FOUC Prevention**: Prevents the "Flash of Unstyled Content" on initial page load by injecting a small script that reads the stored theme from `localStorage` and applies it before your SolidJS application fully loads.
*   **Simple API**:
    *   `ThemeProvider`: A component to wrap your entire application and provide theme management.
    *   `useTheme`: A hook to access the current theme and the function to change it from within any component.

## Quick start

Install it:

```bash
npm i @mash43/solid-theme
# or
yarn add @mash43/solid-theme
# or
pnpm add @mash43/solid-theme
```

## Usage

1.  **Wrap your application with `ThemeProvider`**

    Wrap your root component with the `ThemeProvider` to provide theme context to your entire application. You need to pass a list of available `themes` and a `method` (`'attr'` or `'class'`).

    ```tsx
    // index.tsx (e.g., in your root file)
    import { MetaProvider } from '@solidjs/meta'
    import { ThemeProvider } from '@mash43/solid-theme'

    // ...
    <MetaProvider>
      <ThemeProvider themes={['light', 'dark']} method="attr">
        {/* Your SolidJS application components */}
      </ThemeProvider>
    </MetaProvider>
    // ...
    ```

2.  **Use the `useTheme` hook in your components**

    Use the `useTheme` hook to access the current `theme`, a `setTheme` function, and the list of available `themes`.

    ```tsx
    // YourComponent.tsx
    import { useTheme } from '@mash43/solid-theme'
    import type { JSX } from 'solid-js'

    function YourComponent(): JSX.Element {
      const { theme, setTheme } = useTheme()

      return (
        <div>
          <p>Current theme: {theme()}</p>
          <button onClick={() => setTheme('dark')}>Set Dark</button>
          <button onClick={() => setTheme('light')}>Set Light</button>
        </div>
      )
    }
    ```
npm package: @mashakujou/autofix-cli
Description: Autocorrector inteligente para comandos mal escritos en terminal
Author: Mar
Latest version: 1.1.0

# @mashakujou/autofix-cli

Autofix CLI es una utilidad que corrige automáticamente comandos mal escritos en la terminal. Sirve como autocorrector de comandos como `cf` → `cd`, `nodd` → `node`, entre muchos otros. Funciona en sistemas Linux, Termux, WSL, VPS por SSH, y entornos como Kali Linux.

## Instalación

Instala el paquete globalmente con:

```
npm install -g @mashakujou/autofix-cli
```

## Uso

### Modo automático (recomendado)

Para activar la corrección automática sin necesidad de ejecutar `autofix` manualmente, ejecuta:

```
autofix setup
```

Este comando modificará tu archivo `.bashrc`, `.zshrc` o `.bash_profile` (el primero que encuentre) y añadirá una línea como esta:

```
trap 'autofix "$BASH_COMMAND"' DEBUG
```

Luego de ejecutar `setup`, reinicia tu terminal para aplicar los cambios.

> El comando `setup` pedirá confirmación antes de modificar tu archivo de configuración.

### Modo manual (sin modificar el bash)

Si prefieres no modificar archivos del sistema, puedes usarlo de forma manual:

```
autofix "cf"
```

El comando anterior sugerirá: `cd`

## ¿Cómo funciona?

Detecta errores comunes de tipeo en comandos de terminal y sugiere el comando correcto. La base de datos incluye errores frecuentes en:

- Comandos básicos (`cd`, `ls`, `mkdir`, etc)
- Herramientas como `node`, `npm`, `git`, `npx`, `python`, etc
- Editores como `nano`, `vim`, `micro`
- Comandos de sistemas como `apt`, `pkg`, `sudo`, `exit`
- Soporte extendido para Termux, Kali Linux, WSL y sesiones SSH

## Desinstalación del hook automático

Si deseas desactivar el hook automático, puedes editar tu archivo `.bashrc`, `.zshrc` o `.bash_profile` y eliminar la línea:

```
trap 'autofix "$BASH_COMMAND"' DEBUG
```

Guarda los cambios y reinicia la terminal.

## Licencia

MIT

## Autor

Desarrollado por Mar – https://www.npmjs.com/~mar-222
npm package: @mashakujou/manhwaweb-scraper
Description: Scraper ligero para obtener datos de capítulos de Manhwaweb desde su API pública
Author: Mashakujou
Latest version: 2.0.1

# ManhwaWeb Scraper

Este proyecto es un scraper para obtener información, imágenes y capítulos de manhwas desde ManhwaWeb usando su API pública.

---

## Requisitos

- Node.js (v14+ recomendado)  
- npm o yarn  
- Conexión a Internet

---

## Instalación

1. Instala las dependencias:

```bash
npm install axios
```

---

## Archivos principales

- `index.js`: Código principal con funciones para buscar manhwas, obtener capítulos, imágenes, info de series y capítulos previos/siguientes.  


---

## Uso básico

1. Importa las funciones desde `index.js`:

```js
const api = require('./index');
```

2. Opcional: activa el modo debug para ver detalles del proceso:

```js
api.setDebug(true);
```

3. Buscar manhwas por texto:

```js
const { results, totalPages } = await api.search('School', 0, true);
console.log(results);
```

- El tercer parámetro opcional `true` hace que también incluya el link al primer capítulo en cada resultado (`firstChapterUrl`).

4. Usar el link de capítulo para obtener información:

```js
const chapterUrl = results[0].firstChapterUrl;

const fullData = await api.full(chapterUrl);
console.log(fullData.title);
console.log(fullData.imgs); // Array de URLs de imágenes

const imgs = await api.images(chapterUrl);
console.log(imgs);

const pn = await api.prevNext(chapterUrl);
console.log(pn.prev, pn.next);
```

5. Obtener información de la serie (usa el ID o URL de la serie):

```js
const idSerie = results[0].url.split('/').pop();
const info = await api.seriesInfo(idSerie);
console.log(info);
```

---

## Funciones disponibles

- `search(q, p = 0, includeFirstChapter = false)`  
  Busca manhwas por texto `q`. Devuelve resultados y total páginas. Si `includeFirstChapter` es true, cada resultado incluye el link al capítulo 1.

- `full(urlCapitulo)`  
  Obtiene título, imágenes y capítulos previos/siguientes del capítulo indicado.

- `images(urlCapitulo)`  
  Devuelve solo las imágenes del capítulo.

- `prevNext(urlCapitulo)`  
  Devuelve URLs de capítulos previos y siguientes.

- `seriesInfo(idSerie | urlSerie)`  
  Obtiene información general de la serie.

---
npm package: @mashakujou/ytdownload
Description: Descarga videos o audio de YouTube fácilmente desde Node.js.
Author: mashakujou
Latest version: 1.0.4

# ytdownload

**@mashakujou/ytdownload**  
Módulo de Node.js para descargar contenido de YouTube en formatos como MP3, MP4, M4A o WEBM.  
Ideal para scripts personalizados, integraciones con bots o utilidades backend.

---

## ?? Instalación

Desde npm:

```bash
npm install @mashakujou/ytdownload
```

---

## ⚙️ Requisitos

- Node.js v16 o superior  
- Archivo `cookies.txt` en formato Netscape  
- Conexión válida a YouTube sin bloqueo regional o CAPTCHA

---

## ⚠️ Advertencia sobre cookies

Para evitar errores como 403 o bloqueos por verificación de bots, **debes reemplazar** el archivo `cookies.txt` por tus propias cookies exportadas del navegador.  
Puedes usar extensiones como: [Get cookies.txt](https://chrome.google.com/webstore/detail/get-cookiestxt/).

Ubica el archivo `cookies.txt` en la raíz del proyecto.

Después de agregarlo, se recomienda ejecutar:

```bash
node correct.js
```

Esto limpia espacios innecesarios y evita errores.

---

## ✅ Uso

```js
import { downloadYouTube } from '@mashakujou/ytdownload'

const url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
const formato = 'mp3' // También puedes usar: 'mp4', 'm4a', 'webm'

downloadYouTube(url, formato)
  .then((archivo) => console.log(`Descargado: ${archivo}`))
  .catch((err) => console.error('Error:', err))
```

---

##  Estructura

Este paquete incluye:

- `index.js`: función principal de descarga
- `cookies.txt`: archivo requerido (debes reemplazarlo por el tuyo)
- `correct.js`: limpia y corrige el archivo `cookies.txt`

---

##  Licencia

MIT © mashakujou
npm package: @mashakujou/ytsearch
Description: Scraper público para obtener información básica de videos de YouTube sin usar la API oficial.
Author: Masha
Latest version: 2.1.0

# @mashakujou/ytsearch

Scraper simple para obtener información de videos de YouTube sin usar la API oficial.

## Instalación

```bash
npm install @mashakujou/ytsearch
```

## Uso

```js
const yt = require('@mashakujou/ytsearch');

yt('https://www.youtube.com/watch?v=dQw4w9WgXcQ').then(console.log);
```

### Ejemplo de salida

```js
{
  title: 'Rick Astley - Never Gonna Give You Up (Official Video)',
  description: 'The official video for “Never Gonna Give You Up”…',
  channel: 'Rick Astley',
  views: 'Desconocidas',
  thumbnail: 'https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg',
  player: null
}
```

## Características

- No requiere API key
- Sin dependencias pesadas
- Compatible con Node.js 16 o superior
- Puede romperse si YouTube cambia su HTML

## Licencia

MIT
npm package: @mashangshuijiao/canvas-editor
Description: rich text editor by canvas/svg
Author: Hufe
Latest version: 0.9.129

# canvas-editor (forked version)

This package is based on the original project:
https://github.com/Hufe921/canvas-editor

Changes:
- Added table paging feature
- Merged latest main branch

All credit goes to the original author.
npm package: @masheev/mcp
Description: Masheev MCP Server — Model Context Protocol server for AI assistants to interact with Masheev APIs
Author: Masheev
Latest version: 0.1.0

# Masheev MCP Server

A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that gives AI assistants (Claude, Cursor, etc.) structured access to Masheev APIs. The server dynamically discovers endpoints from your OpenAPI specification, so no manual endpoint mapping is required.

## Installation

```bash
npm install -g @masheev/mcp
```

Or run directly with npx:

```bash
npx @masheev/mcp
```

## Configuration

### Claude Desktop

Add to your Claude Desktop configuration (`~/.claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "masheev": {
      "command": "npx",
      "args": ["@masheev/mcp"],
      "env": {
        "MASHEEV_API_BASE_URL": "https://api.masheev.com",
        "MASHEEV_API_TOKEN": "your-api-token-here"
      }
    }
  }
}
```

### Cursor

Add to your Cursor MCP configuration:

```json
{
  "mcpServers": {
    "masheev": {
      "command": "masheev-mcp",
      "env": {
        "MASHEEV_API_BASE_URL": "https://api.masheev.com",
        "MASHEEV_API_TOKEN": "your-api-token-here"
      }
    }
  }
}
```

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `MASHEEV_API_BASE_URL` | No | `http://localhost:3015` | Base URL of the Masheev API |
| `MASHEEV_API_TOKEN` | No | — | API token for authenticated requests |
| `API_PORT` | No | `3015` | Port override for local development |

## Available Tools

### `list_api_endpoints`

Search and discover available API endpoints.

**Parameters:**
- `query` (optional) — Search by summary, description, tags, or path
- `category` (optional) — Filter by category (use `get_api_categories` first)
- `tag` (optional) — Filter by tag
- `requiresAuth` (optional) — Filter by authentication requirement

### `get_api_endpoint_schema`

Get detailed schema and documentation for a specific endpoint.

**Parameters:**
- `endpointId` (required) — Endpoint ID from `list_api_endpoints`

### `execute_api_endpoint`

Execute an API endpoint with parameters.

**Parameters:**
- `endpointId` (required) — Endpoint ID to execute
- `parameters` (optional) — Object of parameters to pass

### `get_api_categories`

Get all available API categories with their descriptions. No parameters required.

## Local Development

```bash
# Start the Masheev API server (port 3015)
pnpm api:dev

# In another terminal, start the MCP server in watch mode
pnpm --filter @masheev/mcp dev
```

## License

[MIT](./LICENSE)

## Links

- [Masheev](https://masheev.com)
- [Repository](https://github.com/masheev/masheev.git)
- [Model Context Protocol](https://modelcontextprotocol.io)