open-index/open-npm huggingface dataset:
npm package: @miladsoft/mini-apps-core
Description: Minimally useful custom Telegram Mini Apps implementation.
Author: Vladislav Deryabkin
Latest version: 0.0.2

# @miladsoft/mini-apps-core

[![npm version](https://img.shields.io/npm/v/%40miladsoft%2Fmini-apps-core?style=flat&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-core)
[![bundle size](https://img.shields.io/bundlephobia/minzip/%40miladsoft%2Fmini-apps-core?style=flat&label=minzip&labelColor=18181b&color=51a2dd)](https://bundlephobia.com/package/@miladsoft/mini-apps-core)
[![downloads](https://img.shields.io/npm/dm/%40miladsoft%2Fmini-apps-core?style=flat&label=downloads&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-core)
[![license](https://img.shields.io/github/license/miladsoft/mini-apps?style=flat&label=license&labelColor=18181b&color=51a2dd)](https://github.com/miladsoft/mini-apps)
npm package: @miladsoft/mini-apps-sdk
Description: Custom Telegram Mini Apps SDK.
Author: Vladislav Deryabkin
Latest version: 0.0.2

# @miladsoft/mini-apps-sdk

[![npm version](https://img.shields.io/npm/v/%40miladsoft%2Fmini-apps-sdk?style=flat&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-sdk)
[![bundle size](https://img.shields.io/bundlephobia/minzip/%40miladsoft%2Fmini-apps-sdk?style=flat&label=minzip&labelColor=18181b&color=51a2dd)](https://bundlephobia.com/package/@miladsoft/mini-apps-sdk)
[![downloads](https://img.shields.io/npm/dm/%40miladsoft%2Fmini-apps-sdk?style=flat&label=downloads&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-sdk)
[![license](https://img.shields.io/github/license/miladsoft/mini-apps?style=flat&label=license&labelColor=18181b&color=51a2dd)](https://github.com/miladsoft/mini-apps)

## Installation

To install the `@miladsoft/mini-apps-sdk` library using npm, run the following command:

```sh
npm install @miladsoft/mini-apps-sdk
```

## Usage

To use the library in your project, follow these steps:

1. **Import the Library:**

   First, you need to import the necessary modules from the library. Use the following import statement in your JavaScript or TypeScript file:

   ```js
   import { init } from '@miladsoft/mini-apps-sdk'
   ```

2. **Initialize the SDK:**

   Call the `init` function to initialize the SDK and get access to various features and components provided by the library:

   ```js
   const {
     ready,
     mainButton,
     close,
   } = init()
   ```

3. **Prepare the App:**

   Use the `ready` method to signal that your app is ready. This is usually done after all initial setup is complete:

   ```js
   ready()
   ```

4. **Configure the Main Button:**

   You can customize the main button's text and define its behavior when clicked. For example, to set the text to "CLOSE MINI APP" and close the app when clicked, you can do the following:

   ```js
   mainButton.text = 'CLOSE MINI APP'
   mainButton.onClick(() => close())
   ```

Here is a complete example that puts all the steps together:

```js
import { init } from '@miladsoft/mini-apps-sdk'

// Initialize the SDK
const {
  ready,
  mainButton,
  close,
} = init()

// Signal that the app is ready
ready()

// Configure the main button
mainButton.text = 'CLOSE MINI APP'
mainButton.onClick(() => close())
```

By following these steps, you can successfully integrate and use the `@miladsoft/mini-apps-sdk` library in your project.
npm package: @miladsoft/mini-apps-utils
Description: Internal utility functions and types for Telegram Mini Apps SDK.
Author: Vladislav Deryabkin
Latest version: 0.0.2

# @miladsoft/mini-apps-utils

[![npm version](https://img.shields.io/npm/v/%40miladsoft%2Fmini-apps-utils?style=flat&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-utils)
[![bundle size](https://img.shields.io/bundlephobia/minzip/%40miladsoft%2Fmini-apps-utils?style=flat&label=minzip&labelColor=18181b&color=51a2dd)](https://bundlephobia.com/package/@miladsoft/mini-apps-utils)
[![downloads](https://img.shields.io/npm/dm/%40miladsoft%2Fmini-apps-utils?style=flat&label=downloads&labelColor=18181b&color=51a2dd)](https://www.npmjs.com/package/@miladsoft/mini-apps-utils)
[![license](https://img.shields.io/github/license/miladsoft/mini-apps?style=flat&label=license&labelColor=18181b&color=51a2dd)](https://github.com/miladsoft/mini-apps)
npm package: @milahu/solid-blocks-vanillajs
Description: UI building blocks for SolidJS
Author: Alex Lohr
Latest version: 0.0.1

# Solid-Blocks

<svg xmlns="http://www.w3.org/2000/svg" width="4em" height="4em" viewBox="0 0 110 100">
<defs>
  <linearGradient id="a" gradient-transform="rotate(-20)">
    <stop stop-color="#3771c8" offset="0%" />
    <stop stop-color="#87aade" offset="100%" />
  </linearGradient>
  <linearGradient id="b" gradient-transform="rotate(-20)">
    <stop stop-color="#214478" offset="0%" />
    <stop stop-color="#3771c8" offset="100%" />
  </linearGradient>
</defs>
<path fill="url(#a)" d="M 0,4 H 80 L 110,54 H 30 Z" />
<path fill="url(#b)" d="M 0,46 H 80 L 110,96 H 30 Z" />
</svg>

UI building blocks for [SolidJS](https://solidjs.com)

## Core concepts

### Valuable components instead of components without added value

Wrapping elements like headers, text, or images in custom Components is just wasteful. Components will only be provided if they have added value over their native elements. The added value may be

- user experience
- accessibility
- developer experience
- performance

If none of these advantages can be provided, it is preferable to use native HTML elements or SolidJS' abilities like Portal effectively.

### Components with style instead of styled components

Directly using CSS is frowned upon nowadays, but not rightfully so. Well crafted CSS will easily outperform styled components. It should do so with

- minimal bleeding (class prefix `sb-[component]`, CSS reset, basic styles, theme variables)
- semantic class names, i.e. `.primary.sb-button`
- careful consideration of a11y
- works as much as possible in non-JS environments (SSR)
- theme-able, dark mode, inline mode switch possible
- TODO: responsive layout

### Usage

```shell
yarn
yarn dev
```

To use the components

```tsx
import { Accordion, AccordionHeader } from "solid-blocks";

const MyApp = () => {
  return (
    <Accordion>
      <AccordionHeader>Accordion</AccordionHeader>
      <p>Hidden</p>
    </Accordion>
  );
};
```
npm package: @milahu/solidjs-blocks-vanillajs
Description: UI building blocks for SolidJS
Author: Alex Lohr
Latest version: 0.0.1

# solidjs-blocks-vanillajs

<svg xmlns="http://www.w3.org/2000/svg" width="4em" height="4em" viewBox="0 0 110 100">
<defs>
  <linearGradient id="a" gradient-transform="rotate(-20)">
    <stop stop-color="#3771c8" offset="0%" />
    <stop stop-color="#87aade" offset="100%" />
  </linearGradient>
  <linearGradient id="b" gradient-transform="rotate(-20)">
    <stop stop-color="#214478" offset="0%" />
    <stop stop-color="#3771c8" offset="100%" />
  </linearGradient>
</defs>
<path fill="url(#a)" d="M 0,4 H 80 L 110,54 H 30 Z" />
<path fill="url(#b)" d="M 0,46 H 80 L 110,96 H 30 Z" />
</svg>

UI building blocks for [SolidJS](https://solidjs.com)

## Core concepts

### Valuable components instead of components without added value

Wrapping elements like headers, text, or images in custom Components is just wasteful. Components will only be provided if they have added value over their native elements. The added value may be

- user experience
- accessibility
- developer experience
- performance

If none of these advantages can be provided, it is preferable to use native HTML elements or SolidJS' abilities like Portal effectively.

### Components with style instead of styled components

Directly using CSS is frowned upon nowadays, but not rightfully so. Well crafted CSS will easily outperform styled components. It should do so with

- minimal bleeding (class prefix `sb-[component]`, CSS reset, basic styles, theme variables)
- semantic class names, i.e. `.primary.sb-button`
- careful consideration of a11y
- works as much as possible in non-JS environments (SSR)
- theme-able, dark mode, inline mode switch possible
- TODO: responsive layout

### Install

```
npm install @milahu/solidjs-blocks-vanillajs
```

or add to `package.json`

```json
  "devDependencies": {
    "@milahu/solidjs-blocks-vanillajs": "*"
  }
```

and then

```js
import { Accordion, AccordionHeader } from "@milahu/solidjs-blocks-vanillajs";
```

#### Install with alias

so imports are compatible with the original [solid-blocks](https://github.com/atk/solid-blocks)

```
npm install solid-blocks@npm:@milahu/solidjs-blocks-vanillajs
```

or add to `package.json`

```json
  "devDependencies": {
    "solid-blocks": "npm:@milahu/solidjs-blocks-vanillajs@*"
  }
```

and then

```js
import { Accordion, AccordionHeader } from "solid-blocks";
```

### Usage

```shell
yarn
yarn dev
```

To use the components

```tsx
import { Accordion, AccordionHeader } from "solid-blocks";

const MyApp = () => {
  return (
    <Accordion>
      <AccordionHeader>Accordion</AccordionHeader>
      <p>Hidden</p>
    </Accordion>
  );
};
```
npm package: @milai/mapbox-layer-render
Description: a layer render for mapbox.js
Author: zxwen
Latest version: 0.0.5

# @milai/mapbox-layer-render

## 内部使用, 不建议您拿去直接用
## mapbox 图层叠加

## 使用

### import * as mapboxLayerRender from "@milai/mapbox-layer-render"
npm package: @milandadhaniya/local-storage-hook
Description: Typed and logger-integrated localStorage utility
Author: Milan Dadhaniya
Latest version: 1.0.2

# @milandadhaniya/local-storage-hook

A simple and typed utility for interacting with `localStorage` in the browser using TypeScript. Built-in support for structured key-value storage, nested field manipulation, custom event dispatching, and optional logging using [`@milandadhaniya/tiny-logger-js`](https://www.npmjs.com/package/@milandadhaniya/tiny-logger-js).

---

## 📦 Installation

```bash
npm install @milandadhaniya/local-storage-hook
```

---

## 📚 API

```ts
import {
  setItem,
  getItem,
  removeItem,
  clearStorage
} from '@milandadhaniya/local-storage-hook';
```

---

## 🧪 Usage Examples

### ✅ `setItem`

Sets a value in localStorage. Returns `true` if successful, `false` otherwise.

```ts
// Set a raw value
setItem('AppSettings', null, {
  themeOptions: ['dark', 'light'],
  language: 'en',
  notifications: {
    enabled: true,
    sound: true,
    vibration: false
  },
  font: {
    family: 'Arial'
  }
});

// Set an object field
setItem('AppSettings', 'font', {
  size: '16px',
  family: 'Arial'
});

// Enable logging (Default: false)
setItem('SelectedTheme', null, 'dark', true);
```

### 📥 `getItem`

Retrieves a value from localStorage. Returns the requested value or `undefined` if not found.

```ts
// Get the raw value
const raw = getItem('AppSettings');

// Get nested field from object
const notifications = getItem('AppSettings', 'notifications');
```

### 🗑️ `removeItem`

Removes an item from localStorage. Returns `true` if successful, `false` otherwise.

```ts
// Remove specific field from an object (Enable logging)
removeItem('AppSettings', 'font', true);

// Remove the full key
removeItem('AppSettings');
```

### 🧹 `clearStorage`

Clears all items from localStorage. Returns `true` if successful, `false` otherwise.

```ts
// Clear everything
clearStorage();

// With logging
clearStorage(true);
```

### 🎧 Listen for Changes

```ts
const handler = (e: CustomEvent) => {
  console.log('Storage event fired:', e.detail);
};

window.addEventListener('local-storage-change', handler);

// Later, to clean up
window.removeEventListener('local-storage-change', handler);
```

---

## 📄 License

MIT License — © 2025 Milan Dadhaniya
npm package: @milandadhaniya/tiny-logger-js
Description: A tiny logger for both Node.js and browser environments, with configurable log levels and console output methods.
Author: Milan Dadhaniya
Latest version: 1.0.3

# @milandadhaniya/tiny-logger-js

A tiny, extensible logger for both browser and Node.js environments, written in TypeScript.

## Installation

```bash
npm install @milandadhaniya/tiny-logger-js
```
## Usage

```javascript
import logger, { TinyLogger, LoggerConfig } from '@milandadhaniya/tiny-logger-js';

// Using default logger instance
logger.log({ title: 'Init', msg: 'Application started' });
logger.info({ msg: 'Fetching data...' });
logger.warn({ title: 'Warning', msg: 'Deprecated method used' });
logger.debug({ title: 'Debug', msg: { userId: 123, status: 'active' } });
logger.trace('Trace message');
logger.table({ msg: [{ name: 'Alice' }, { name: 'Bob' }] });

logger.group('My Group');
logger.log({ msg: 'Inside group' });
logger.groupEnd();

logger.time('Load Time');
setTimeout(() => {
  logger.timeEnd('Load Time');
}, 500);

// Custom logger with restricted allowed log types
const config: LoggerConfig = { allowed: new Set(['log', 'error']) };
const customLogger = new TinyLogger(config);
customLogger.log({ msg: 'This will print' });
customLogger.info({ msg: 'This will NOT print' });
// Force override allowed log types to print
customLogger.info({ msg: 'This will print - info', force: true });
```
## API
| Method     | Description                       |
| ---------- | --------------------------------- |
| `log`      | General logs (console.log)        |
| `info`     | Informational logs (console.info) |
| `warn`     | Warnings (console.warn)           |
| `error`    | Errors (console.error)            |
| `debug`    | Debugging logs (console.debug)    |
| `trace`    | Trace stack trace (console.trace) |
| `table`    | Logs table format (console.table) |
| `group`    | Start log group (console.group)   |
| `groupEnd` | End log group (console.groupEnd)  |
| `time`     | Start timer (console.time)        |
| `timeEnd`  | End timer (console.timeEnd)       |

## Configuration
You can pass an optional `LoggerConfig` object to `TinyLogger` constructor to control allowed log types
```typescript
const logger = new TinyLogger({ allowed: new Set(['log', 'error']) });
```
## License
MIT © Milan Dadhaniya
npm package: @milangress/web-crawl-doc-ai
Description: Crawls websites and save markdown files for ai embedding
Author: Milan Gress
Latest version: 1.2.1

# Web Crawl Doc AI

## Overview

Web Crawl Doc AI is a versatile website crawler and content extractor designed to crawl websites and save the content as markdown files. This tool is particularly useful for creating AI-friendly (embeddable) documentation from existing web content.

## Features

- Crawl websites starting from a specified URL
- Extract content using Readability
- Convert HTML content to Markdown
- Save crawled content as HTML and/or Markdown files
- Configurable crawl parameters
- Command-line interface for easy use

## Installation

To install the package globally, run:

```bash
npm install -g @milangress/web-crawl-doc-ai
```

## NPX (recommended)
Alternatively, you can use npx to run the package.
This allows you to use the latest version of the package without installing it globally.

```bash
npx @milangress/web-crawl-doc-ai crawl <startUrl> [options]
#eg:
npx @milangress/web-crawl-doc-ai crawl https://threejs.org/docs/ --format=markdown
```

## Usage

### As a CLI tool

The primary way to use this tool is through the command line interface:

```bash
web-crawl crawl <startUrl> [options]
```

Options:
- '--format': Output format (markdown, html, or both) (default: markdown)
- '--skipPaths': Array of path fragments to skip during crawling
- '--basePathOrGlobs': Base paths or globs for crawling (default: startUrl)
- '--projectDir': Directory to save crawled data (default: hostname of startUrl)
- '--overwriteProjectDir': Overwrite project directory if it exists (default: true)
- '--maxRequestsPerCrawl': Maximum number of requests per crawl
- '--waitForTimeout': Timeout to wait for each page load (default: 3000ms)

Example:
```bash
web-crawl crawl https://example.com --format=markdown --skipPaths=/blog /news
```