open-index/open-npm huggingface dataset:
npm package: @longlost/scroll-fab
Description: This fab enters after page has been scrolled a bit, smoothly scrolls window back to top when clicked
Author: Longlost Dev longlostdev@gmail.com
Latest version: 2.1.1

# \<scroll-fab\>

This fab enters after page has been scrolled a bit, smoothly scrolls window back to top when clicked

## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @longlost/shipping-inputs
Description: common shipping address inputs
Author: Longlost Dev longlostdev@gmail.com
Latest version: 1.0.3

# \<shipping-inputs\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @longlost/view-404
Description: simple view for 404's on lazy imports
Author: Longlost Dev longlostdev@gmail.com
Latest version: 1.0.0

# \<view-404\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @longlost/wasm-imagemagick
Description: Inspired by the https://github.com/KnicKnic/WASM-ImageMagick library. The module utilizes ES imports to simplify the api and removes the Web Worker abstraction.
Author: Longlost Dev longlostdev@gmail.com
Latest version: 2.2.1

# wasm-imagemagick

This utility is based off the [WASM-ImageMagick](https://github.com/KnicKnic/WASM-ImageMagick) library.  

Inspiration for creating this tool came from the need to support mobile devices.

Support for node and shell environments has been dropped in order to reduce the footprint of the generated emscripten glue code for faster load times on mobile. 

Also this utility does not have a built in web worker abstraction, allowing the developer to control concurrence and worker termination, since battery life is a concern with mobile development.

It is HIGHLY recommended to run this code in a Web Worker thread! I suggest using the wonderful [Comlink](https://github.com/GoogleChromeLabs/comlink) library, to make working with Web Workers a breeze.


### Api

Since ImageMagick can work with multiple input image files, `magick` accepts an array of file items.
This must coincide with the number of input files in the `commands` array.

`inputName` and `outputName` tell `magick` where to read/write to the virtual File System stub provided by emscripten, since this is how ImageMagic handles files in an OS environment.

`commands` are identical to the standard ImageMagic commands api.


`magick` outputs a File object for `convert` and `mogrify` processes. 
An array of one or more strings is returned for `identify` processes.


### Example usage.

npm install --save @longlost/wasm-imagemagick

or

yarn add @longlost/wasm-imagemagick


```
// processor.js

import magick from '@longlost/wasm-imagemagick/wasm-imagemagick.js';

const processor = async file => {
  try {

    // This example creates a new image in an attempt to reduce 
    // the file size without sacrificing too much fidelity.
    
    const inputName  = file.name;  
    const outputName = `small_${file.name};
    const fileItem   = {file, inputName};

    const commands  = [
      'convert', inputName,
      '-auto-orient',
      '-sampling-factor', '4:2:0',
      '-strip', 
      '-auto-gamma', 
      '-adaptive-resize', '60%', 
      '-quality', '82', 
      '-unsharp', '0x0.75+0.75+0.008', 
      outputName
    ];

    const processedFile = await magick({
      commands,
      fileCollection: [fileItem], 
      outputName,
      outputType: file.type
    });

    return processedFile;
  } 
  catch (error) {
    // Do something clever with the error...
  }
};

export default processor;


// app.js

import processor from './processor.js';

(async function() {

  const file = someJSFileObject; /* Procure a Javascript File Object. */
  
  const processed = await processor(file);

  const tempUrl = window.URL.createObjectURL(processed);  
  const img     = document.querySelector('#my-image-element');
  
  img.onload = () => {
    window.URL.revokeObjectURL(tempUrl);
  };
  
  img.src = tempUrl;
  
}());

```
npm package: @longlost/worker
Description: promise based web worker implementation that handles calls to db and batches image processing and uploading
Author: Longlost Dev longlostdev@gmail.com
Latest version: 6.0.0

# worker


## runner.js

This utility handles running multiple Web Worker instances.  

### Concurrence

Under the hood, it spreads work out in parallel, accross as many logical processors as the workload demands, up to the maximum number allowed by the browser, determined by `navigator.hardwareConcurrency`. When the workload becomes greater than the available number of concurrent processes, the runner enqueues incomming jobs, matching them with recycled workers or recently vacated cores as soon as they become available. Concurrence is the default behavior, but can be defeated by setting `options.concurrence` to `false`, when calling the factory function.

### Performance vs. Battery Life

Worker instances are allowed to remain idle for a short period before being automatically terminated. This is an attempt to lower the performance hit accrued by initializing new Worker instances. The default idle period of 2000ms can be changed by setting `options.idle`, when creating a new runner instance.

### Simple Example

Since runner.js uses the incredible [Comlink](https://github.com/GoogleChromeLabs/comlink) library to simplify Web Worker i/o, you will need to import it into each of your worker files and include each function that you wish to call from the main thread in its expose method.

npm install --save comlink @longlost/worker

or

yarn add comlink @longlost/worker

```
// Web Worker thread.
// my-cool-worker.js

import * as Comlink from 'comlink';


const myCoolFunction1 = (a, b, c) => {
	// ...some long running task.
};

const myCoolFunction2 = (a, b) => {
	// ...some long running task.
};


Comlink.expose({myCoolFunction1, myCoolFunction2});



// Main thread.
// app.js

import runner 	     from '@longlost/worker/runner.js';
import coolWorker    from './my-cool-worker.js';
import awesomeWorker from './my-awesome-worker.js';


(async function() {

	// These tasks will run in parallel, given the browser exposes more than one virtual core.
	const coolRunner = runner(coolWorker).run;

	// Optionally, force runner to run these tasks in series, with a one second idle time.
	const awesomeRunner = runner(awesomeWorker, {concurrence: false, idle: 1000}).run;


	const coolArgs1 = ['a', 'b', 'c'];

	const myCoolAndAwesomeResults = await Promise.all([
		coolRunner('myCoolFunction1', ...coolArgs1),
		coolRunner('myCoolFunction2', 'foo', 'bar'),
		awesomeRunner('myAwesomeFunction1', {baz: 'baz', qux: 'qux'}),
		awesomeRunner('myAwesomeFunction2')
	];

}());

```
npm package: @longmo-utils/lib
Description: Longmoo Utils - Universal utility library combining browser, common, and node utilities
Latest version: 1.0.1

# longmo-utils

统一的工具库包，整合了 browser、common 和 node 三个子包的所有功能。

## 特性

- 📦 一次安装，获得所有工具函数
- 🌍 支持浏览器和 Node.js 环境
- ⚡ 完整的 TypeScript 类型支持
- 🌳 支持tree-shaking，只打包使用的代码

## 安装

```bash
pnpm install longmo-utils
```

## 使用

```typescript
// Common 工具（所有环境可用）
import { deepClone, debounce } from 'longmo-utils'

// 浏览器工具（需要 DOM/BOM API）
import { querySelector, addClass } from 'longmo-utils'

// Node.js 工具（需要 Node.js 环境）
import { readFile, writeFile } from 'longmo-utils'

// 或者直接导入所有
import * as utils from 'longmo-utils'
```

## 子包

- `@longmo-utils/common` - 通用工具函数（无平台依赖）
- `@longmo-utils/browser` - 浏览器专用工具（DOM/BOM）
- `@longmo-utils/node` - Node.js 专用工具（文件系统等）

## Tree-shaking

由于依赖了三个子包，打包工具（如 Vite、Webpack、Rollup）会自动进行 tree-shaking，只将你实际使用的代码打包进最终产物。

例如，如果你只使用了 `debounce` 函数，即使导入了整个包，最终产物也只会包含 `debounce` 的代码。

## 性能说明

- **安装体积**: 约 58KB（包含三个子包）
- **最终产物体积**: 取决于实际使用的函数（tree-shaking 优化）
- **构建时间**: 与单独安装子包相比增加约 0.1s

## 与子包对比

| 场景 | 推荐方案 |
|------|---------|
| 快速原型开发 | longmo-utils（统一包） |
| 生产环境精确控制 | @longmo-utils/*（单独包） |
| 需要全部功能 | longmo-utils（统一包） |
| 仅浏览器功能 | @longmo-utils/browser |
| 仅通用功能 | @longmo-utils/common |

## 许可证

MIT
npm package: @longnc/themartec-esdoc
Description: Good Documentation Generator For JavaScript
Author: Long Nguyen
Latest version: 1.0.0

<!--![Owner Status](https://img.shields.io/badge/owner-busy-red.svg)-->
[![Build Status](https://travis-ci.org/esdoc/esdoc.svg?branch=master)](https://travis-ci.org/esdoc/esdoc)
[![Coverage Status](https://codecov.io/gh/esdoc/esdoc/branch/master/graph/badge.svg)](https://codecov.io/gh/esdoc/esdoc)
[![Document](https://doc.esdoc.org/github.com/esdoc/esdoc/badge.svg?t=0)](https://doc.esdoc.org/github.com/esdoc/esdoc)

# ESDoc

ESDoc is a documentation generator for JavaScript.<br/>
Please <a href="https://try.esdoc.org">try it out</a>!

<img class="screen-shot" src="https://raw.githubusercontent.com/esdoc/esdoc/master/manual/asset/image/top.png" width="500px" style="max-width: 500px; border: 1px solid rgba(0,0,0,0.1); box-shadow: 1px 1px 1px rgba(0,0,0,0.5);">

# Features
- Generates good documentation.
- Measures documentation coverage.
- Integrate test codes into documentation.
- Integrate manual into documentation.
- Parse ECMAScript proposals.
- [ESDoc Hosting Service](https://doc.esdoc.org)

# Users
- [ESDoc](https://doc.esdoc.org/github.com/esdoc/esdoc/) (self-hosting)
- [RxJS](http://reactivex.io/rxjs/)
- [Sketch API](http://developer.sketchapp.com/reference/api/)

And [more](https://github.com/search?o=desc&q=esdoc+filename%3Apackage.json+-user%3Ah13i32maru+-user%3Aesdoc+-user%3Aes-doc&ref=searchresults&s=indexed&type=Code&utf8=%E2%9C%93).

# Quick Start
```sh
# Move to a your project directory.
cd your-project/

# Install ESDoc and standard plugin.
npm install --save-dev @longnc/themartec-esdoc @longnc/themartec-esdoc-standard-plugin

# Create a configuration file.
echo '{
  "source": "./src",
  "destination": "./docs",
  "plugins": [{"name": "@longnc/themartec-esdoc-standard-plugin"}]
}' > .esdoc.json

# Run ESDoc.
./node_modules/.bin/esdoc

# View a documentation
open ./docs/index.html
```

# Document
please visit [esdoc.org](https://esdoc.org) to see more documentation.

# License
MIT

# Author
[Long Nguyen <long.nguyen@themartec.com>](https://github.com/longthemartec)
npm package: @longnc/themartec-esdoc-brand-plugin
Description: A brand plugin for ESDoc
Author: Long Nguyen
Latest version: 1.0.2

# ESDoc Brand Plugin

## Install
```bash
npm install @longnc/themartec-esdoc-brand-plugin

# Or

yarn add @longnc/themartec-esdoc-brand-plugin
```

## Config
This plugin takes a title and a repository from `package.json (name, repsitory)`.
```json
{
  "source": "./src",
  "destination": "./doc",
  "package.json": "./package.json",
  "plugins": [
    {
      "name": "themartec-esdoc-brand-plugin",
      "option": {
        "logo": "./logo.png",
        "title": "My Library",
        "description": "this is awesome library",
        "repository": "https://github.com/foo/bar",
        "site": "http://my-library.org",
        "author": "https://twitter.com/foo",
        "image": "http://my-library.org/logo.png"
      }
    }
  ]
}
```

- `logo` default is `null`
- `title` default is `name` of `package.json`
- `description` default is `description` of `package.json`
- `repository` default is `repository` of `package.json`
- `site` default is `homepage` of `package.json`
- `author` default is `author` of `package.json`
- `image` default is `null`. support an aspect ratio of 1:1

## LICENSE
MIT

## Author
[Long Nguyen <long.nguyen@themartec.com>](https://github.com/themartec)
npm package: @longnc/themartec-esdoc-publish-html-plugin
Description: A publish HTML plugin for ESDoc
Author: Long Nguyen
Latest version: 1.0.1

# ESDoc Publish HTML Plugin

## Install
```bash
npm install @longnc/themartec-esdoc-publish-html-plugin

# Or

yarn add @longnc/themartec-esdoc-publish-html-plugin
```

## Config
```json
{
  "source": "./src",
  "destination": "./doc",
  "plugins": [
    {
	    "name": "themartec-esdoc-publish-html-plugin"
    }
  ]
}
```

## Custom Template
To use a custom template (ex `my-template` placed in the working directory):
```json
{
	"name": "themartec-esdoc-publish-html-plugin", 
	"option": {
		"template": "my-template"
	}
}
```

We recommend that you base on [the original template](https://github.com/themartec/esdoc-plugins/tree/master/esdoc-publish-html-plugin/src/Builder/template).

## LICENSE
MIT

## Author
[Long Nguyen <long.nguyen@themart.com>](https://github.com/themartec)
npm package: @longnc/themartec-nodemailer-sendgrid-transport
Description: SendGrid transport for Nodemailer
Author: Long Nguyen
Latest version: 1.0.0

![SendGrid Logo](https://uiux.s3.amazonaws.com/2016-logos/email-logo%402x.png)

[![BuildStatus](https://travis-ci.org/sendgrid/nodemailer-sendgrid-transport.svg?branch=master)](https://travis-ci.org/sendgrid/nodemailer-sendgrid-transport)
[![npm](https://img.shields.io/npm/l/express.svg)]()
[![NPM version](https://badge.fury.io/js/nodemailer-sendgrid-transport.svg)](http://badge.fury.io/js/nodemailer-sendgrid-transport)
[![Twitter Follow](https://img.shields.io/twitter/follow/sendgrid.svg?style=social&label=Follow)](https://twitter.com/sendgrid)
[![GitHub contributors](https://img.shields.io/github/contributors/sendgrid/nodemailer-sendgrid-transport.svg)](https://github.com/sendgrid/nodemailer-sendgrid-transport/graphs/contributors)

# Important Announcement

**As of June 1, 2016, SendGrid will no longer support this library.**

Please direct any questions to the [Developer Experience](mailto:dx@sendgrid.com) team.

# nodemailer-sendgrid-transport

This module is a transport plugin for [Nodemailer](https://github.com/andris9/Nodemailer) that makes it possible to send through [SendGrid's Web API](https://sendgrid.com/docs/API_Reference/Web_API/mail.html)!

## Table of Contents
- [Usage](#usage)
- [Deploying](#deploying)
- [License](#license)

<a name="usage"></a>
## Usage
[Library Usage Documentation](USAGE.md)

<a name="license"></a>
## License
[The MIT License (MIT)](LICENSE.txt)
npm package: @longnc/themartec-react-native-version-check
Description: A version checker for react-native applications
Author: Long Nguyen
Latest version: 1.0.0

# react-native-version-check

[![npm version][npm-image]][npm-url]
[![npm downloads][downloads-image]][downloads-url]
[![Build Status][ci-image]][ci-url]
[![DevDependencies Status][dev-dependencies-image]][dev-dependencies-url]
[![Known Vulnerabilities][vulnerabilities-image]][vulnerabilities-url]

> A version checker for react-native applications

### Looking for maintainers!
I have almost zero experience in ios development, and I am no longer working on mobile app development(doing backend and devops works mainly and some web frontend). It makes me hard to maintain this library actively. Hope to have someone to help maintaining react-native-version-check!

[Github](https://github.com/themartec/react-native-version-check)

[npm-image]: https://img.shields.io/npm/v/react-native-version-check.svg
[npm-url]: https://npmjs.org/package/react-native-version-check
[downloads-image]: https://img.shields.io/npm/dm/react-native-version-check.svg
[downloads-url]: https://npmjs.org/package/react-native-version-check
[ci-image]: https://circleci.com/gh/kimxogus/react-native-version-check.svg?style=svg
[ci-url]: https://circleci.com/gh/kimxogus/react-native-version-check
[dev-dependencies-image]: https://david-dm.org/kimxogus/react-native-version-check/dev-status.svg
[dev-dependencies-url]: https://david-dm.org/kimxogus/react-native-version-check?type=dev
[vulnerabilities-image]: https://snyk.io/test/github/kimxogus/react-native-version-check/badge.svg
[vulnerabilities-url]: https://snyk.io/test/github/kimxogus/react-native-version-check
npm package: @longnc/themartec-term-schemes
Description: Parse and normalize common terminal emulator color schemes
Author: Long Nguyen
Latest version: 1.0.0

> Parse and normalize common terminal emulator color schemes

# term-schemes

* Supports **10** formats
* Normalizes to common structure
* Works well with svg-term
* TypeScript support

## Example

```js
const termSchemes = require('@longnc/themartec-term-schemes');
const fs = require('fs');
const util = require('util');
const readFile = util.promisify(fs.readFile);

async function main() {
  const raw = String(await readFile('./Seti.itermcolors'));
  const scheme = termSchemes.iterm2(raw); // => {0: [50, 50, 50], .., background: [17, 18, 19]}
}

```

## API

```ts
// Available methods
export iterm2: Parser;
export konsole: Parser;
export remmina: Parser;
export terminal: Parser;
export terminator: Parser;
export termite: Parser;
export tilda: Parser;
export xfce: Parser;
export xresources: Parser;
export xterm: Parser;

type Parser = (input: any) => TermScheme;

/** RGB Color: [R, G, B], each item number between 0 and 255 */
type TermSchemeColor = [number, number, number];

interface TermScheme {
  /** Black */
  0: TermSchemeColor;
  /** Red */
  1: TermSchemeColor;
  /** Green */
  2: TermSchemeColor;
  /** Yellow */
  3: TermSchemeColor;
  /** Blue */
  4: TermSchemeColor;
  /** Magenta */
  5: TermSchemeColor;
  /** Cyan */
  6: TermSchemeColor;
  /** White */
  7: TermSchemeColor;
  /** Bright Black */
  8: TermSchemeColor;
  /** Bright Red */
  9: TermSchemeColor;
  /** Bright Green */
  10: TermSchemeColor;
  /** Bright Yellow */
  11: TermSchemeColor;
  /** Bright Blue */
  12: TermSchemeColor;
  /** Bright Magenta */
  13: TermSchemeColor;
  /** Bright Cyan */
  14: TermSchemeColor;
  /** Bright White */
  15: TermSchemeColor;
  /** Background color */
  background: TermSchemeColor;
  /** Bold text color */
  bold: TermSchemeColor;
  /** Cursor background color */
  cursor: TermSchemeColor;
  /** Text color */
  text: TermSchemeColor;
}
```

## Supported formats

* [x] Hyper `.js`
* [x] iTerm2 `.itermcolors`
* [x] Konsole `.colorscheme`
* [x] Remmina `.colors`
* [x] Terminal `.terminal`
* [x] Terminator `.config`
* [x] Termite ` `
* [x] Tilda `.config_0`
* [x] Xfce `.theme`
* [x] XTerm `.xrdb`, `Xresources`

## License

Copyright Long Nguyen. @longnc/themartec-term-schemes is released under the MIT license.

## Related

* Test fixtures sourced from [mbadolato/iTerm2-Color-Schemes](https://github.com/mbadolato/iTerm2-Color-Schemes)

## Development

```
npx yarn install
npx yarn start
```
npm package: @longnt0901/drawing-tool-google-maps-v3
Description: A handy measurement widget for Google Maps API v3.
Author: Nguyen Thanh Long
Latest version: 1.0.7

# drawing-tool-google-maps-v3

## Features

## Demo
[Demo page](https://lnguyen0901.github.io/drawing-tool-google-maps-v3/)

![demo screen shot](demo.jpg)
npm package: @longo-andrea/eslint-base
Description: Basic ES Lint configuration
Author: longo-andrea
Latest version: 0.4.6

# Personal ES Lint configurations (@longo-andrea)

Personal ES Lint configuration

-   🧱 Basic ES Lint configuration
-   ⚙️ Typescript specific ES Lint configuration
-   👗 Prettier config, configured to work with ESLint

## Available packages

-   `@longo-andrea/eslint-base`: basic ES Lint configuration
-   `@longo-andrea/eslint-typescript`: extends `@longo-andrea/eslint-base` and add some more rules Typescript's related
-   `@longo-andrea/prettier`: defines Prettier configuration

## Get started

1. Install the packages you want to use

```shell
pnpm add -D eslint @longo-andrea/eslint-base
```

2. Add the configuration on the project, `.eslintrc`:

```js
{
    extends: [ '@longo-andrea/eslint-base' ]
}
```

# License

[MIT](./LICENSE) License &copy; 2022-PRESENT [Andrea Longo](https://github.com/longo-andrea)
npm package: @longo-andrea/eslint-typescript
Description: Basic ES Lint Typescript configuration
Author: longo-andrea
Latest version: 0.4.6

# Personal ES Lint configurations (@longo-andrea)

Personal ES Lint configuration

-   🧱 Basic ES Lint configuration
-   ⚙️ Typescript specific ES Lint configuration
-   👗 Prettier config, configured to work with ESLint

## Available packages

-   `@longo-andrea/eslint-base`: basic ES Lint configuration
-   `@longo-andrea/eslint-typescript`: extends `@longo-andrea/eslint-base` and add some more rules Typescript's related
-   `@longo-andrea/prettier`: defines Prettier configuration

## Get started

1. Install the packages you want to use

```shell
pnpm add -D eslint @longo-andrea/eslint-base
```

2. Add the configuration on the project, `.eslintrc`:

```js
{
    extends: [ '@longo-andrea/eslint-base' ]
}
```

# License

[MIT](./LICENSE) License &copy; 2022-PRESENT [Andrea Longo](https://github.com/longo-andrea)
npm package: @longphung/react-native-paper-dropdown
Description: Dropdown component using React Native Paper TextInput and Menu, now also with multiselect
Author: Phung Nguyen
Latest version: 1.3.2

# react-native-paper-dropdown

[![npm version](https://img.shields.io/npm/v/react-native-paper-dropdown.svg?style=for-the-badge)](https://www.npmjs.com/package/react-native-paper-dropdown)
[![npm downloads](https://img.shields.io/npm/dm/react-native-paper-dropdown.svg?style=for-the-badge)](https://www.npmjs.com/package/react-native-paper-dropdown)
[![npm](https://img.shields.io/npm/dt/react-native-paper-dropdown.svg?style=for-the-badge)](https://www.npmjs.com/package/react-native-paper-dropdown)
[![npm](https://img.shields.io/npm/l/react-native-paper-dropdown?style=for-the-badge)](https://github.com/fateh999/react-native-paper-dropdown/blob/master/LICENSE)

This is a fork of the original react-native-paper-dropdown library, because looks like the original project is now unmaintained.

Material Design Dropdown Component using React Native Paper, now also with multiselect

## Dependencies

    react-native-paper

## Installation

```bash

yarn add react-native-paper-dropdown

```

or

```

npm i react-native-paper-dropdown

```

## Documentation :

- [https://fateh999.github.io/react-native-paper-dropdown](https://fateh999.github.io/react-native-paper-dropdown)

## Demo

![Demo](Demo.gif)

<p><a href="https://www.buymeacoffee.com/fateh999"> <img align="left" src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="50" width="210" alt="fateh999" /></a></p><br><br><br>
npm package: @longpoll/telegram-webapp-types
Description: TS typings for Telegram WebApps. https://core.telegram.org/bots/webapps
Author: Anton Karpovich
Latest version: 7.7.3

# Telegram Web App TypeScript Typings

TypeScript typings for Telegram Web Apps. These typings provide type information for developing applications that interact with Telegram's Web App. For more information on Telegram Web Apps, please visit the [official documentation](https://core.telegram.org/bots/webapps).

## Installation

You can install these TypeScript typings via npm:

```bash
npm install @longpoll/telegram-webapp-types
```

## Usage

### TypeScript Project

If you are working on a TypeScript project, follow these steps to include the Telegram Web App types in your project:

1. Make sure you have installed the typings using npm.

2. Open your `tsconfig.json` file and update the `compilerOptions` section to include the path to the type definitions. Add `"typeRoots"` with an array containing the following paths:

```diff
{
  "compilerOptions": {
    // ... other options
   "typeRoots": [
+     "./node_modules/@longpoll/telegram-webapp-types"
    ]
  }
}
```

## Documentation

For more detailed information on using these typings, please refer to the [official Telegram Web Apps documentation](https://core.telegram.org/bots/webapps).

## License

This module is licensed under the [Your License Name] License. See the [LICENSE](LICENSE) file for details.

## Support

If you have any questions or encounter any issues, please feel free to [open an issue](https://github.com/longpoll/telegram-webapp-types/issues) on our GitHub repository. We'd be happy to assist you.