open-index/open-npm huggingface dataset:
npm package: @mntm/classnames
Description: A simple javascript utility for conditionally joining classNames together
Author: Anton Petrov
Latest version: 1.0.3

# @mntm/classnames [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/classnames/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/classnames)](https://bundlephobia.com/result?p=@mntm/classnames)

A simple javascript utility for conditionally joining classNames together.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/classnames
```

## License

@mntm/classnames is [MIT licensed](./LICENSE).
npm package: @mntm/eslint-config
Description: ESLint config with TypeScript support
Author: Anton Petrov
Latest version: 2.2.0

# @mntm/eslint-config [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/eolme/eslint-config/blob/master/LICENSE)

ESLint config with TypeScript support.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add -D typescript eslint @mntm/eslint-config
```

## Setup

### 1) Configure ESLint

Add `"extends": "@mntm"` to your ESLint config file.

An example `.eslintrc`:

```json
{
  "extends": "@mntm"
}
```

### 2) Configure the ESLint TypeScript parser

This config requires knowledge of your TypeScript config.

In your ESLint config, set [parserOptions.project](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#parseroptionsproject) to the path of your `tsconfig.json`.

For example:

```diff
 {
   "extends": "@mntm"
+  "parserOptions": {
+    "project": "./tsconfig.json",
+    "tsconfigRootDir": "."
+  }
 }
```

## License

@mntm/eslint-config is [MIT licensed](./LICENSE).
npm package: @mntm/graphql
Description: Simple GraphQL client
Author: Anton Petrov
Latest version: 5.1.0

# @mntm/graphql [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/graphql/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/graphql)](https://bundlephobia.com/result?p=@mntm/graphql)

**Docs:** RU | EN

Simple GraphQL client.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/graphql
```

## Contributing

Development of @mntm/graphql happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/graphql is [MIT licensed](./LICENSE).
npm package: @mntm/graphql-codegen
Description: Plugin for GraphQL Code Generator
Author: Anton Petrov
Latest version: 5.0.1

# @mntm/graphql-codegen [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/graphql/blob/master/LICENSE) ![npm (scoped)](https://img.shields.io/npm/v/@mntm/graphql-codegen)

**Docs:** RU | EN

[graphql-codegen](https://github.com/dotansimha/graphql-code-generator) plugin that generates hooks with TypeScript typings for [@mntm/graphql](https://github.com/maxi-team/graphql).

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/graphql-codegen
```

## Contributing

Development of @mntm/graphql-codegen happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/graphql-codegen is [MIT licensed](./LICENSE).
npm package: @mntm/graphql-request
Description: Simple GraphQL client
Author: Anton Petrov
Latest version: 1.0.0

# @mntm/graphql-request [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/graphql-request/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/graphql-request)](https://bundlephobia.com/result?p=@mntm/graphql-request)

**Docs:** RU | EN

Simple GraphQL client.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/graphql-request
```

## Contributing

Development of @mntm/graphql-request happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/graphql-request is [MIT licensed](./LICENSE).
npm package: @mntm/http
Description: Speed up any node.js server
Author: Anton Petrov
Latest version: 0.7.0

# @mntm/http [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/http/blob/master/LICENSE)

Speed up any node.js server. Implements [http.createServer](https://nodejs.org/api/http.html#httpcreateserveroptions-requestlistener) around [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js).

## Benchmark

|name             |req/sec  |
|-----------------|---------|
|low-http-server* |54272    |
|@mntm/http       |49882    |
|native           |39458    |

> low-http-server has a lack of implementation, but we are comparing with it because it too uses uWebsockets.js

## Introduction

There are many frameworks that use uWebSockets.js, including:

- [uwebsockets-express](https://github.com/colyseus/uWebSockets-express)
- [hyper-express](https://github.com/kartikk221/hyper-express)
- [nanoexpress](https://github.com/nanoexpress/nanoexpress)
- [sifrr](https://github.com/sifrr/sifrr)

This package implements native node.js `createServer`, which can be integrated with any framework, for example:

```js
import fastify from 'fastify';
import http from '@mntm/http';

const app = fastify({
  serverFactory: (handler, opts) => http.createServer(handler)
});
```

## Known limitations

This package doesn't rely on `IncomingMessage` and `ServerResponse` because request and response APIs are built from scratch. They cannot be replaced with an essentially incompatible foreign prototype. This means that [Express](https://github.com/expressjs/express/blob/master/lib/middleware/init.js#L35-L36) has poor compatibility.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/http
```

## Contributing

Development of @mntm/http happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/http is [MIT licensed](./LICENSE).
npm package: @mntm/metrika
Description: Analytics for VK Mini Apps.
Author: Anton Petrov
Latest version: 2.2.0

# @mntm/metrika [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/metrika/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/metrika)](https://bundlephobia.com/result?p=@mntm/metrika)

Analytics for VK Mini Apps.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/metrika
```

## License

@mntm/metrika is [MIT licensed](./LICENSE).
npm package: @mntm/multipart
Description: Probably the fastest most compatible lexer/parser/stringifier for multipart/form-data.
Author: Anton Petrov
Latest version: 2.0.2

# @mntm/multipart [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/multipart/blob/master/LICENSE)

Probably the fastest most compatible lexer/parser/stringifier for multipart/form-data.

## Usage

If you don't need to parse headers and encoding, use lexer:

```js
import { formLexer } from '@mntm/multipart';

const lexed = formLexer(buffer);
```

Otherwise use parser:

```js
import { formParser } from '@mntm/multipart';

const parsed = formParser(buffer);
```

For stiringify data to multipart/form-data:

```js
import { fromStringify, BOUNDARY } from '@mntm/multipart';

const body = fromStringify({});
```

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/multipart
```

## License

@mntm/multipart is [MIT licensed](./LICENSE).
npm package: @mntm/native-router
Description: A functional native-like router for VK Mini Apps
Author: Anton Petrov
Latest version: 1.0.1

# @mntm/native-router [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/native-router/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/native-router)](https://bundlephobia.com/result?p=@mntm/native-router)

**Docs:** RU | EN

A functional native-like router for VK Mini Apps.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/native-router
```

## License

@mntm/native-router is [MIT licensed](./LICENSE).
npm package: @mntm/painless-bridge
Description: A package for integrating VK Mini Apps with official VK clients for iOS, Android and Web
Author: Anton Petrov
Latest version: 5.1.1

# @mntm/painless-bridge [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/painless-bridge/blob/master/LICENSE) [![gzip bundle size](https://phobia.vercel.app/api/badge/gz/@mntm/painless-bridge)](https://phobia.vercel.app/p/@mntm/painless-bridge) [![brotli bundle size](https://phobia.vercel.app/api/badge/br/@mntm/painless-bridge)](https://phobia.vercel.app/p/@mntm/painless-bridge)

**Docs:** [RU](https://dev.vk.com/bridge/getting-started) | [EN](https://github.com/VKCOM/vk-bridge/blob/master/packages/core/README.md)

A package for integrating VK Mini Apps with official VK clients for iOS, Android and Web.

## Differences

- Fixes storage API
- Fixes token API
- Fixes platform-specific errors
- Fixes promise API resolution
- Fixes mvk request ids
- Generates stable request ids
- Allows you to use any method
- Supports tree-shaking

## Installation

We recommend to use [yarn](https://yarnpkg.com/getting-started) for dependency management:

```shell
yarn add @mntm/painless-bridge
```

## Contributing

Development of @mntm/painless-bridge happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/painless-bridge is [MIT licensed](./LICENSE).
npm package: @mntm/polyfill
Description: Web polyfills
Author: Anton Petrov
Latest version: 1.1.1

# @mntm/polyfill [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/polyfill/blob/master/LICENSE)

Web polyfills.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/polyfill
```

## Contributing

Development of @mntm/polyfill happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/polyfill is [MIT licensed](./LICENSE).
npm package: @mntm/react
Description: A React compatibility stub
Author: Anton Petrov
Latest version: 17.0.10

# @mntm/react [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/react-stub/blob/master/LICENSE)

A React compatibility stub.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/react
```

### License

@mntm/react is [MIT licensed](./LICENSE).
npm package: @mntm/router
Description: A flexible event based router for VK Mini Apps
Author: Anton Petrov
Latest version: 2.1.3

# @mntm/router [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/router/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/router)](https://bundlephobia.com/result?p=@mntm/router)

**Docs:** [RU](./docs/RU.md) | EN

A flexible event based router for VK Mini Apps.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/router
```

## License

@mntm/router is [MIT licensed](./LICENSE).
npm package: @mntm/shared
Description: Utility functions and constants shared across @mntm packages
Author: Anton Petrov
Latest version: 5.0.0

# @mntm/shared [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/shared/blob/master/LICENSE)

Utility functions and constants shared across `@mntm` packages.

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/shared
```

## Contributing

Development of @mntm/shared happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

## License

@mntm/shared is [MIT licensed](./LICENSE).
npm package: @mntm/vkui
Description: VKUI library built with @mntm/vkui-builder
Latest version: 5.3.2-20230327-eedd5636

# @mntm/vkui

[VKUI](https://npm.im/@vkontakte/vkui) built with [@mntm/vkui-builder](https://npm.im/@mntm/vkui-builder)


Documentation: https://vkcom.github.io/VKUI/

Changelog: https://github.com/VKCOM/VKUI/releases
npm package: @mntm/vkui-builder
Description: Enhanced component library builder.
Author: Anton Petrov
Latest version: 2.0.2

# @mntm/vkui-builder [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/vkui-builder/blob/master/LICENSE) [![build](https://github.com/mntm-lib/vkui-builder/actions/workflows/build.yml/badge.svg)](https://github.com/mntm-lib/vkui-builder/actions/workflows/build.yml)

**Docs:** RU | EN

Enhanced component library builder.

## Differences

- ES2018 for esm modules
- node12 for cjs modules
- Unprefixed css
- Minified source
- Faster load

## Prebuilt package

The prebuilt package is published in npm along with the release of the original package using GitHub Actions.

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/vkui
```

## Getting started

Importing styles:

```css
@import '@mntm/vkui/dist/styles/themes.css';
@import '@mntm/vkui/dist/styles/components.css';
```

Individual CommonJS modules exported from `/dist/node`, for example:

```js
const Alert = require('@mntm/vkui/dist/node/components/Alert');
```

## Installation

We recommend to use [yarn](https://classic.yarnpkg.com/en/docs/install/) for dependency management:

```shell
yarn add @mntm/vkui-builder
```

After installing you can build your version locally:

```shell
yarn run vkui-builder
```

## License

@mntm/vkui-builder is [MIT licensed](./LICENSE).
npm package: @mntu/matrix-bot-sdk
Description: TypeScript/JavaScript SDK for Matrix bots and appservices
Author: Element
Latest version: 0.7.4

# matrix-bot-sdk

[![npm version](https://badge.fury.io/js/@vector-im%2Fmatrix-bot-sdk.svg)](https://www.npmjs.com/package/@vector-im/matrix-bot-sdk)

TypeScript/JavaScript SDK for Matrix bots. For help and support, visit [#matrix-bot-sdk:t2bot.io](https://matrix.to/#/#matrix-bot-sdk:t2bot.io)

# Documentation

Documentation for the project is available [here](https://turt2live.github.io/matrix-bot-sdk/index.html).

# Matrix version support

The Matrix protocol is [versioned](https://spec.matrix.org/latest/#specification-versions) to ensure endpoints and
functionality can safely rotate in and out of the ecosystem. The bot-sdk will assume it is connected to a homeserver 
with support for at least one of the last 2 versions, at the time of the bot-sdk's release. This means that if you 
connect the bot-sdk to a homeserver which is 3 or more Matrix versions out of date, things might not work for you.

It is recommended to update the bot-sdk as frequently as spec releases themselves (or faster) to avoid this situation, 
and watch the repo for updates in the event a release is delayed.

**Note**: Currently the bot-sdk does not throw an error if the server appears to be incompatible, however this might
change in the future.
npm package: @mnui/btn
Description: Btn 按钮
Author: xiaoping
Latest version: 1.0.7

# Btn 按钮

## 说明

基于微信小程序第三方框架wepyjs开发，使用需要先安装wepyjs

## 使用

### 安装组件

> npm install @mnui/btn --save

### 引入组件

```js
// index.wpy
<template>
  <btn props="{{props}}"></btn>
</template>

<script>
import wepy from 'wepy'
import btn from '@mnui/btn'

export default class Index extends wepy.page {
  components = {
    btn
  }
}
</script>
```

## props参数

### type[String]

按钮样式，默认为default，可选plain

### size[String]

按钮大小，可选small，mini

### loading[Boolean]

是否显示loading

### disabled[Boolean]

是否disabled

### hoverClass[String]

点击态样式classname，默认为none

### style[Object]

自定义样式，对象格式

## event事件

### tap

点击事件
npm package: @mnui/copyright
Description: Copyright 版权信息
Author: xiaoping
Latest version: 1.0.7

# Copyright 版权信息

## 说明

基于微信小程序第三方框架wepyjs开发，使用需要先安装wepyjs

## 使用

### 安装组件

> npm install @mnui/copyright --save

### 引入组件

```
// index.wpy
<template>
  <copyright :textStyle="textStyle"></copyright>
</template>

<script>
import wepy from 'wepy'
import copyright from '@mnui/copyright'

export default class Index extends wepy.page {
  components = {
    copyright
  }
  data = {
    textStyle: {
      color: 'red'
    }
  }
}
</script>
```

## props参数

### text[String]

文字，默认：由奇点云提供技术支持

### textStyle[Object]

文字样式

### logo[String]

logo地址，默认：https://static.excaliburhan.com/xpmnui/copyright-logo.png

### logoStyle[Object]

logo样式
npm package: @mnui/iconfont
Description: Iconfont 图标
Author: xiaoping
Latest version: 1.0.7

# Iconfont 图标

## 说明

基于微信小程序第三方框架wepyjs开发，使用需要先安装wepyjs

## 使用

### 安装组件

> npm install @mnui/iconfont --save

### 引入组件

```js
// index.wpy
<template>
  <iconfont props="{{props}}"></iconfont>
</template>

<script>
import wepy from 'wepy'
import iconfont from '@mnui/iconfont'

export default class Index extends wepy.page {
  components = {
    iconfont
  }
}
</script>
```

## props参数

### type[String]

icon类型，支持的参数见http://www.iconfont.cn/manage/index?spm=a313x.7781069.1998910419.10&manage_type=myprojects&projectId=375015

### size[String, Number]

icon大小，单位为小程序的rpx，默认为44，实际大小为22px

### color[String]

icon颜色，默认为#666
npm package: @mnui/list
Description: List 列表
Author: xiaoping
Latest version: 1.0.7

# List 列表

## 说明

基于微信小程序第三方框架wepyjs开发，使用需要先安装wepyjs

## 使用

### 安装组件

> npm install @mnui/list --save

### 引入组件

```js
// index.wpy
<template>
  <list></list>
</template>

<script>
import wepy from 'wepy'
import list from '@mnui/list'

export default class Index extends wepy.page {
  components = {
    list
  }
}
</script>
```