open-index/open-npm huggingface dataset:
npm package: @soyhenry/commons
Description: Common components and functions for Henry Apps.
Latest version: 0.5.12

# henry-common

Common components and functions for Henry Apps.

---

## Instalación:

```shell
yarn add @soyhenry/commons
```

## Ejemplo Practico:

```tsx
import React from 'react';
import { Button, ThemeProvider, GithubIcon } from '@soyhenry/commons';

export default function App() {
  return (
    <ThemeProvider>
      <Button LeftIcon={<GithubIcon />} variant="secondary">
        Ingresar con Github
      </Button>
    </ThemeProvider>
  );
}
```

---

## [Test the components online with Storybook](https://henry-devs.github.io/common)
npm package: @soyhuce/bob.capitalize
Description: Capitalize a string
Author: Soyhuce
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @soyhuce/bob.capitalize

> Capitalize function from [Bob library](../bob).

## Installation

```bash
pnpm add @soyhuce/bob.capitalize
```

## Usage

```js
import capitalize from '@soyhuce/bob.capitalize'

const stringToCapitalize = 'hello world 😃'
const capitalizedString = capitalize(stringToCapitalize)
console.log(capitalizedString)

/*

 Output:

'Hello world 😃'

*/
```

## License
MIT
npm package: @soyhuce/bob.case-converter
Description: Convert kebabcase, snakecase and camelcase
Author: Soyhuce
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @soyhuce/bob.capitalize

> Case converter function from [Bob library](../bob).

## Installation

```bash
pnpm add @soyhuce/bob.case-converter
```

## Usage

```ts
import caseConverter from '@soyhuce/bob.case-converter'

console.log(
    caseConverter.stringCaseConverter<string>(
        'helloWorld',
        Cases.CAMEL_CASE,
        Cases.KEBAB_CASE
    )
)
/*

 Output:

'hello-world'

*/

interface MyObject extends Record<string, unknown> {
    'my_property1': boolean
    'my_property2': string
    'my_property3': number
}

console.log(caseConverter.objectCaseConverter<MyObject>({
    'my_property1': false,
    'my_property2': 'hello world',
    'my_property3': 14000
}, Cases.SNAKE_CASE, Cases.CAMEL_CASE))
/*

Output:

{
  'myProperty1': false,
  'myProperty2': 'hello world'
  'myProperty3': 14000
}

*/
```

## License
MIT
npm package: @soyhuce/bob.laravel-request-wrapper
Description: Request Wrapper for Laravel
Author: Soyhuce
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.


# @soyhuce/bob.laravel-request-wrapper

> Laravel Request Wrapper function from [Bob library](../bob).

## Installation

```bash
pnpm add @soyhuce/bob.laravel-request-wrapper
```

## Usage

```ts
import laravelRequestWrapper, { Methods } from '@soyhuce/bob.laravel-request-wrapper'

;(async () => {
  await laravelRequestWrapper(
    'path/to/api',
    Methods.GET,
  )
})()
```

## License
MIT
npm package: @soyhuce/bob.sum-objects-by-key
Description: Sum objects by key
Author: Soyhuce
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.



# @soyhuce/bob.sum-objects-by-key

> Sum Objects By Key function from [Bob library](../bob).

## Installation

```bash
pnpm add @soyhuce/bob.sum-objects-by-key
```

## Usage

```ts
import sumObjectsByKey from '@soyhuce/bob.sum-objects-by-key'

console.log(
  sumObjectsByKey(
    { first: 4, second: 6 },
    { first: 7, second: 5 }
  )
)

/*
Output:

{
  first: 11,
  second: 11
}

*/
```

## License
MIT
npm package: @soyhuce/openapi-to-ts
Description: > Generate types from openapi file
Latest version: 0.0.1

# @soyhuce/openapi-to-ts

> Generate types from openapi file

## Usage

```ts
import { openapiToTs } from '@soyhuce/openapi-to-ts'

openapiToTs('./openapi.yaml', './types.ts', {})
```
npm package: @soyjavi/eslint
Description: ### Package.json devDependencies in your host project
Latest version: 0.1.9

# @soyjavi/eslint

### Package.json devDependencies in your host project

```
"eslint": "^8.9",
"eslint-config-prettier": "^8.3",
"eslint-formatter-codeframe": "^7.32",
"eslint-plugin-babel": "^5.3",
"eslint-plugin-import": "^2.25",
"eslint-plugin-jsx-a11y": "^6.5",
"eslint-plugin-prettier": "^4.0",
"eslint-plugin-react": "^7.28",
"eslint-plugin-react-hooks": "^4.3"
```
npm package: @soyjesus/capacitor-video-recorder
Description: Records video
Latest version: 5.0.6

# Capacitor Video Recorder

A video recording plugin for Capacitor that allows applications to use the native camera and microphone and display the recording interface either below or above their application.

#### Installation
`npm install @teamhive/capacitor-video-recorder`

#### Platform Support
- iOS
- Android

> On a web browser, we will fake the behavior to allow for easier development.

## Example Usage

feature.module.ts
> Import the plugin as defined below to allow the plugin to register correctly to the feature module.
```typescript
import '@teamhive/capacitor-video-recorder';
```

### Initializing Camera

In order to initialize the camera feed (**note**: you are not recording at this point), you must first specify a config to the video recorder.

> Note: To overlay your web UI on-top of the camera output, you must use stackPosition: back and make all layers of your app transparent so that the camera can be seen under the webview.

```typescript
import { VideoRecorderCamera, VideoRecorderPreviewFrame } from '@teamhive/capacitor-video-recorder';

const { VideoRecorder } = Plugins;

const config: VideoRecorderPreviewFrame = {
    id: 'video-record',
    stackPosition: 'front', // 'front' overlays your app', 'back' places behind your app.
    width: 'fill',
    height: 'fill',
    x: 0,
    y: 0,
    borderRadius: 0
};
await VideoRecorder.initialize({
    camera: VideoRecorderCamera.FRONT, // Can use BACK
    previewFrames: [config]
});
```

### Recording

Starts recording against the capture device.

```typescript
VideoRecorder.startRecording();
```

### Stop Recording / Getting Result

Stops the capture device and returns the path of the local video file.

``` typescript
const res = await VideoRecorder.stopRecording();
// The video url is the local file path location of the video output.
return res.videoUrl;
```

### Destroying Camera

Used to disconnect from the capture device and remove any native UI layers that exist.

```typescript
VideoRecorder.destroy();
```

### Example Implementations

|iOS|Android|
|---|---|
|<img src="https://user-images.githubusercontent.com/13732623/70366156-52e83500-1863-11ea-96f0-c53bdd12ebea.gif" />|<img src="https://user-images.githubusercontent.com/13732623/70366162-61365100-1863-11ea-8376-fe76cf147a73.gif" />|
npm package: @soyjuanmalopez/kube-pod-toolkit
Description: Node and pod menus for OpenLens
Latest version: 0.2.6

# OpenLens Node/Pod Menu Extension

This OpenLens extension adds back the node and pod menu functionality that was removed from OpenLens itself in 6.3.0.

# Installing this extension

Follow these steps to install a custom plugin in OpenLens using a .tgz file:

1. Download the plugin file (e.g., `soyjuanmalopez-openlens-node-pod-menu-0.2.6.tgz`) from the source.

2. Open OpenLens on your system.

3. Navigate to the Extensions menu:
   - On Windows/Linux: File > Extensions
   - On macOS: OpenLens > Extensions

4. In the Extensions view, click on the "Install" button.

5. Browse to the location where you saved the .tgz file and select it.

6. Click "Open" to start the installation process.

7. Once installed, the plugin should appear in your list of installed extensions.

8. Restart OpenLens to ensure the plugin is properly loaded.

9. After restarting, you should be able to use the new functionality provided by the plugin.

```
@soyjuanmalopez/openlens-node-pod-menu
```

Click "Install", and after a few moments, the plugin should appear in the list of installed extensions and be enabled.

# How to build this extension locally

From the root of this repository:

```sh
# Choose the same version of Node that is used in the Electron version
# that OpenLens uses. It might work with other (newer) versions of
# Node but I haven't tested it.
nvm install 16.14.2

npm ci
npm run build
npm pack
```

Version 0.2.6

Add feature upload / download file from pod :)



The tarball for the extension will be placed in the current directory. In OpenLens, navigate to the Extensions list and provide the path to the tarball to be loaded, or drag and drop the extension tarball into the OpenLens window. After loading for a moment, the extension should appear in the list of enabled extensions.

# License

Like the OpenLens repository itself at the point from which this extension is based upon, the content of this repository is released under the MIT license. See the file `LICENSE` for details.
npm package: @soyjuanmalopez/openlens-node-pod-menu
Description: Node and pod menus for OpenLens
Latest version: 0.2.6

# OpenLens Node/Pod Menu Extension

This OpenLens extension adds back the node and pod menu functionality that was removed from OpenLens itself in 6.3.0.

# Installing this extension

Follow these steps to install a custom plugin in OpenLens using a .tgz file:

1. Download the plugin file (e.g., `soyjuanmalopez-openlens-node-pod-menu-0.2.6.tgz`) from the source.

2. Open OpenLens on your system.

3. Navigate to the Extensions menu:
   - On Windows/Linux: File > Extensions
   - On macOS: OpenLens > Extensions

4. In the Extensions view, click on the "Install" button.

5. Browse to the location where you saved the .tgz file and select it.

6. Click "Open" to start the installation process.

7. Once installed, the plugin should appear in your list of installed extensions.

8. Restart OpenLens to ensure the plugin is properly loaded.

9. After restarting, you should be able to use the new functionality provided by the plugin.

```
@soyjuanmalopez/openlens-node-pod-menu
```

Click "Install", and after a few moments, the plugin should appear in the list of installed extensions and be enabled.

# How to build this extension locally

From the root of this repository:

```sh
# Choose the same version of Node that is used in the Electron version
# that OpenLens uses. It might work with other (newer) versions of
# Node but I haven't tested it.
nvm install 16.14.2

npm ci
npm run build
npm pack
```

Version 0.2.6

Add feature upload / download file from pod :)



The tarball for the extension will be placed in the current directory. In OpenLens, navigate to the Extensions list and provide the path to the tarball to be loaded, or drag and drop the extension tarball into the OpenLens window. After loading for a moment, the extension should appear in the list of enabled extensions.

# License

Like the OpenLens repository itself at the point from which this extension is based upon, the content of this repository is released under the MIT license. See the file `LICENSE` for details.
npm package: @soyjuanmlopez/openlens-node-pod-menu
Description: Node and pod menus for OpenLens
Latest version: 0.2.6

# OpenLens Node/Pod Menu Extension

This OpenLens extension adds back the node and pod menu functionality that was removed from OpenLens itself in 6.3.0.

# Installing this extension

Follow these steps to install a custom plugin in OpenLens using a .tgz file:

1. Download the plugin file (e.g., `soyjuanmalopez-openlens-node-pod-menu-0.2.6.tgz`) from the source.

2. Open OpenLens on your system.

3. Navigate to the Extensions menu:
   - On Windows/Linux: File > Extensions
   - On macOS: OpenLens > Extensions

4. In the Extensions view, click on the "Install" button.

5. Browse to the location where you saved the .tgz file and select it.

6. Click "Open" to start the installation process.

7. Once installed, the plugin should appear in your list of installed extensions.

8. Restart OpenLens to ensure the plugin is properly loaded.

9. After restarting, you should be able to use the new functionality provided by the plugin.

```
@soyjuanmalopez/openlens-node-pod-menu
```

Click "Install", and after a few moments, the plugin should appear in the list of installed extensions and be enabled.

# How to build this extension locally

From the root of this repository:

```sh
# Choose the same version of Node that is used in the Electron version
# that OpenLens uses. It might work with other (newer) versions of
# Node but I haven't tested it.
nvm install 16.14.2

npm ci
npm run build
npm pack
```

Version 0.2.6

Add feature upload / download file from pod :)



The tarball for the extension will be placed in the current directory. In OpenLens, navigate to the Extensions list and provide the path to the tarball to be loaded, or drag and drop the extension tarball into the OpenLens window. After loading for a moment, the extension should appear in the list of enabled extensions.

# License

Like the OpenLens repository itself at the point from which this extension is based upon, the content of this repository is released under the MIT license. See the file `LICENSE` for details.
npm package: @soykje/lscss
Description: A lightweight front-end framework
Author: soykje
Latest version: 1.1.6

## Browser support
- Firefox 52+
- Chrome 57+
- IE 10+, Edge 12+
- Safari 10.1+ / iOS Safari 10.3+
- Opera 44+

## Installation
The recommended way is to use npm, through the `npm install @soykje/lscss` command. Then you'll just have to import the files into your project:

#### SASS customizable version...
To customize LSCSS, import the SCSS version: `@import "node_modules/@soykje/lscss/src/sass/lscss";`. You'll have to compile your SCSS file(s) using a tool like PostCSS Autoprefixer (to add browser prefixes).

#### ... or CSS minified version
To use LSCSS as it goes, just import the CSS minified version: `@import "node_modules/@soykje/lscss/public/css/lscss";`

#### JS
`import '@soykje/lscss';`

_You can just include the compiled files (minified) directly into you HTML._

## Development
Just run `npm install` to install the project for development, then:
- `npm start` for development mode
- `npm run build` for production mode
npm package: @soymaycol/maybailyes
Description: Hecho por SoyMaycol - MayBailyes
Author: SoyMaycol
Latest version: 1.0.4

# ADVERTENCIA

Esta Bailyes tiene Licencia "MIT License"
> Si detecta que está eliminando el
> nombre del creador se le tumbara.


<h1><img alt="Baileys logo" src="https://files.catbox.moe/k7x02e.png" height="75"/></h1>

# MayBaileys

Â¡Hola! Este es un fork personalizado del proyecto [Baileys](https://github.com/WhiskeySockets/Baileys).  
Mi idea es entender el core de WhatsApp Web API y aÃ±adir mis mejoras o adaptaciones personales para futuros proyectos.  
<!--- NO QUITAR CREDITOS --->
Creado con amor por **SoyMaycol** UwU
<!--- NO QUITAR CREDITOS --->

## Objetivos

- Aprender el funcionamiento interno del protocolo WA Web
- Personalizar la arquitectura para futuros bots
- Terminar con el LID

## Instalacion

```bash
npm install @soymaycol/maybailyes
```

## Uso
Una nueva guia esta¡ disponible en: https://baileys.wiki

---

> Proyecto basado en el trabajo increible de [@WhiskeySockets](https://github.com/WhiskeySockets/Baileys)

---

PROYECTO INDIVIDUAL
npm package: @soymaycol/mayhtml
Description: Módulo para capturar screenshots de HTML usando CatBox y NightAPI
Author: SoyMaycol
Latest version: 1.0.0

# MayHTML 📸

Un módulo de Node.js que captura screenshots de contenido HTML usando CatBox y NightAPI.


## 🔧 Instalación

```bash
npm install mayhtml
```

## 📖 Uso Básico

### Capturar HTML directo

```javascript
const MayHTML = require('mayhtml');

const mayhtml = new MayHTML();

const htmlContent = `
<!DOCTYPE html>
<html>
<head>
    <title>Mi Página</title>
    <style>
        body { 
            font-family: Arial; 
            background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
            padding: 40px;
        }
    </style>
</head>
<body>
    <h1>¡Hola Mundo!</h1>
    <p>Este HTML será capturado como imagen</p>
</body>
</html>
`;

async function capturar() {
    try {
        const rutaImagen = await mayhtml.captureHTML(
            htmlContent,
            './screenshots/',  // Directorio de descarga
            'mi-captura'       // Nombre del archivo
        );
        
        console.log('Imagen guardada en:', rutaImagen);
    } catch (error) {
        console.error('Error:', error.message);
    }
}

capturar();
```

### Capturar desde archivo HTML

```javascript
const mayhtml = new MayHTML();

async function capturarArchivo() {
    try {
        const rutaImagen = await mayhtml.captureFromFile(
            './mi-pagina.html',    // Archivo HTML
            './capturas/',         // Directorio de descarga
            'captura-especial'     // Nombre personalizado
        );
        
        console.log('Captura guardada:', rutaImagen);
    } catch (error) {
        console.error('Error:', error.message);
    }
}

capturarArchivo();
```

---


Hecho ️por SoyMaycol con ♥ para la comunidad de desarrolladores
npm package: @soymaycol/mayreplit
Description: Mantén tu Replit activo 24/7 sin APIs - Creado por SoyMaycol
Author: SoyMaycol
Latest version: 1.0.0

# @soymaycol/MayReplit

Mantén tu Replit activo 24/7 sin necesidad de APIs o servidores Express. Simple, eficiente y fácil de usar.

**Creado por:** SoyMaycol  
**GitHub:** [SoySapo6](https://github.com/SoySapo6)

## 🚀 Instalación

```bash
npm install @soymaycol/mayreplit
```

## 📋 Requisitos

- Node.js 16+
- Un archivo de cookies de Replit (`cookies.json`)

## 🎯 Uso Básico

```javascript
import MayReplit from '@soymaycol/mayreplit'

const mayReplit = new MayReplit()

// Configurar tu Replit
mayReplit
  .setReplitUrl('https://replit.com/@tuusuario/TuProyecto')
  .setCookiesPath('./mis-cookies.json')
  .setScreenshotInterval(5 * 60 * 1000) // 5 minutos

// Iniciar el mantener activo
mayReplit.start().catch(console.error)
```

## ⚙️ Configuración Avanzada

```javascript
import MayReplit from '@soymaycol/mayreplit'

const mayReplit = new MayReplit({
  replitUrl: 'https://replit.com/@tuusuario/TuProyecto',
  cookiesPath: './cookies.json',
  screenshotInterval: 3 * 60 * 1000, // 3 minutos
  headless: true // false para ver el navegador
})

mayReplit.start().catch(console.error)
```

## 📸 Obtener Screenshots

```javascript
// Después de iniciar
setTimeout(() => {
  const screenshot = mayReplit.getScreenshot()
  if (screenshot) {
    console.log('📸 Screenshot disponible:', screenshot.length, 'bytes')
  }
}, 10000) // Esperar 10 segundos
```

## 🛑 Detener el Servicio

```javascript
// Para detener correctamente
process.on('SIGINT', async () => {
  await mayReplit.stop()
  process.exit(0)
})
```

## 📁 Configuración de Cookies

1. Inicia sesión en Replit en tu navegador
2. Abre las herramientas de desarrollador (F12)
3. Ve a la pestaña "Application" → "Cookies"
4. Copia las cookies y guárdalas en un archivo JSON:

```json
[
  {
    "name": "nombre_cookie",
    "value": "valor_cookie",
    "domain": ".replit.com",
    "path": "/",
    "expires": 1234567890,
    "httpOnly": false,
    "secure": true,
    "sameSite": "Lax"
  }
]
```

## 📖 API

### Constructor

```javascript
new MayReplit(options)
```

**Opciones:**
- `replitUrl` (string): URL de tu Replit
- `cookiesPath` (string): Ruta al archivo de cookies (default: `'./cookies.json'`)
- `screenshotInterval` (number): Intervalo de screenshots en ms (default: `5 * 60 * 1000`)
- `headless` (boolean): Ejecutar navegador sin interfaz (default: `true`)

### Métodos

- `setReplitUrl(url)`: Establece la URL del Replit
- `setCookiesPath(path)`: Establece la ruta de las cookies
- `setScreenshotInterval(ms)`: Establece el intervalo de screenshots
- `setHeadless(boolean)`: Configura modo headless
- `start()`: Inicia el servicio
- `getScreenshot()`: Obtiene el último screenshot
- `stop()`: Detiene el servicio

**Creado con ❤️ por SoyMaycol**
npm package: @soymaycol/maytelegram
Description: Telegram Bot API
Author: SoyMaycol
Latest version: 0.66.0

<h1 align="center">MayTelegram</h1>

<div align="center">

Módulo de Node.js para interactuar con la [API oficial de Bot de Telegram](https://core.telegram.org/bots/api).


</div>

## 📦 Instalación

```sh
npm install @soymaycol/maytelegram
```

<br/>

## 🚀 Uso

```js
const TelegramBot = require('@soymaycol/maytelegram');

// reemplaza el valor de abajo con el token de Telegram que recibes de @BotFather
const token = 'TU_TOKEN_DEL_BOT_DE_TELEGRAM';

// Crea un bot que usa 'polling' para obtener nuevas actualizaciones
const bot = new TelegramBot(token, {polling: true});

// Coincide con "/echo [lo que sea]"
bot.onText(/\/echo (.+)/, (msg, match) => {
  // 'msg' es el Mensaje recibido de Telegram
  // 'match' es el resultado de ejecutar la expresión regular arriba en el contenido de texto
  // del mensaje

  const chatId = msg.chat.id;
  const resp = match[1]; // el "lo que sea" capturado

  // envía de vuelta el "lo que sea" coincidente al chat
  bot.sendMessage(chatId, resp);
});

// Escucha cualquier tipo de mensaje. Hay diferentes tipos de
// mensajes.
bot.on('message', (msg) => {
  const chatId = msg.chat.id;

  // envía un mensaje al chat confirmando la recepción de su mensaje
  bot.sendMessage(chatId, 'Recibí tu mensaje');
});
```

## 📚 Documentación

* [Uso][usage]
* [Ejemplos][examples]
* [Tutoriales][tutorials]
* [Información de Ayuda][help]
* Referencia de API: ([api-release](../master/doc/api.md) / [desarrollo][api-dev] / [experimental][api-experimental])
* [Contribuir al Proyecto][contributing]
* [Características Experimentales][experimental]

_**Nota**: El desarrollo se realiza contra la rama **development**.
El código para la última versión se encuentra en la rama **master**.
Las características experimentales se encuentran en la rama **experimental**._
npm package: @soymaycol/maytube
Description: 📥 Módulo para descargar videos o audios de YouTube fácilmente usando dos APIs secretas
Author: SoyMaycol
Latest version: 2.0.1

# ╰┈➤ MAYTUBE 
> 📥 Módulo minimalista y potente para descargar fácilmente audio y video de YouTube en tus proyectos Node.js.

## 📦 Instalación

```bash
npm install @soymaycol/maytube
```

## 🧩 Métodos disponibles

- `yta(url)` → Devuelve Un Json del audio (formato MP3)
- `ytv(url)` → Devuelve Un Json del video (formato MP4)

## 🧪 Ejemplo de código

```js
import { yta, ytv } from '@soymaycol/maytube';

const res = await yta('https://youtu.be/dQw4w9WgXcQ');

```

o tambien puede ser

```
import MayTube from '@soymaycol/maytube';

const res = await MayTube.ytv('https://youtu.be/dQw4w9WgXcQ');
```

---

Hecho con (⁠◍⁠•⁠ᴗ⁠•⁠◍⁠)⁠❤ por **@SoyMaycol**  
Sígueme para más módulos mágicos ✨
npm package: @soyuka/clone
Description: Clone objects recursively by dropping circular references
Author: soyuka
Latest version: 1.0.1

# Clone

[![Build Status](https://travis-ci.org/soyuka/clone.svg?branch=master)](https://travis-ci.org/soyuka/clone)

This module clones a Javascript object in safe mode (eg: drops circular values) recursively. Circular values are replaced with a string: `'[Circular]'`.

Ideas from [tracker1/safe-clone-deep](https://github.com/tracker1/safe-clone-deep). I improved the workflow a bit by:
- refactoring the code (complete rewrite)
- fixing node 6+
- minor performance tweaks
- use of `Array.isArray` and `Buffer.isBuffer`

## Installation

```
npm install @soyuka/clone
# or
bower install soyuka-clone
```

## Usage

```
const clone = require('@soyuka/clone')

let a = {b: a, c: 'hello'}
let o = clone(a)

console.log(o)
// outputs: { c: 'hello', b: '[Circular]' }
```

## Browser

You can use bower or npm.

Amd defines 'soyuka-clone'
It'll be `window.clone` if amd is not used or `require('@soyuka/clone')`