open-index/open-npm huggingface dataset:
npm package: @smrtnyk/eslint-plugin-prefer-early-return
Description: ESLint plugin that enforces early returns over full-body conditional wrapping. Compatible with ESLint 9+ flat config.
Author: Makarychev Andrey
Latest version: 1.2.0

# ESLint Plugin Prefer Early Return

This is a maintained fork of [@regru/eslint-plugin-prefer-early-return](https://github.com/regru/eslint-plugin-prefer-early-return), which extracted the prefer-early-return rule from Shopify's `eslint-plugin-shopify`.

The original regru fork is no longer maintained, lacks unit tests, doesn't support auto-fix, and is not compatible with ESLint 9's flat config format.

## What's Different

This fork adds:

- **Auto-fix capability** with smart condition inversions
- **Comprehensive unit tests**
- **TypeScript type definitions** for better IDE support
- **ESLint 9+ flat config support**
- **ESM module format**
- **No unwanted dependencies**
- **Modern Node.js (22+) compatibility**

## Installation

```bash
npm install @smrtnyk/eslint-plugin-prefer-early-return --save-dev
```

## Usage

```js
import preferEarlyReturn from '@smrtnyk/eslint-plugin-prefer-early-return';

export default [
  {
    plugins: {
      'prefer-early-return': preferEarlyReturn,
    },
    rules: {
      'prefer-early-return/prefer-early-return': ['error', {
        maximumStatements: 1,
      }],
    },
  },
];
```

## Rule: prefer-early-return

Enforces early returns over full-body conditional wrapping in function declarations.

### Options

- `maximumStatements` (default: `1`): Maximum number of statements allowed inside the if block before requiring an early return pattern.

### Examples

This rule will automatically fix violations when you run ESLint with the `--fix` flag.

#### Invalid (will be auto-fixed)

```js
function processUser(user) {
  if (user) {
    console.log(user.name);
    saveUser(user);
  }
}
```

#### Valid (after auto-fix)

```js
function processUser(user) {
  if (!user) {
    return;
  }
  console.log(user.name);
  saveUser(user);
}
```

For more details, see [prefer-early-return](docs/rules/prefer-early-return.md)

## Development

```bash
npm test
```
npm package: @smrubin/lazy-load-image
Description: A module to lazy load images using the Intersection Observer API
Author: Sam Rubin
Latest version: 0.1.0

## lazy-load-image

[![GitHub license](https://img.shields.io/github/license/smrubin/lazy-load-image.svg)](https://github.com/smrubin/lazy-load-image/blob/master/LICENSE)


A module to lazy load images using the Intersection Observer API. Targets images with a specified DOMString selector. Specify distances from viewport at which to actually make the HTTP request to load the image(s).

#### Example

Install:

```
npm i -S lazy-load-image
```

Add `data-lazyload` attribute to img elements to be lazy loaded. Leave src attribute as empty string or use a loading indicator.

```html
<body>
	<img class="targetSelector" src="" data-lazyload="http://placekitten.com/200/200" />
	<img class="targetSelector" src="" data-lazyload="./dog.png" />

    <img class="targetSelector" src="loading.gif" data-lazyload="./big_dog.png" />
</body>
```

Import and invoke the module.

```js
import LazyLoad from 'lazy-load-image';

new LazyLoad('.targetSelector');

```

#### Options

```
new LazyLoad(selector, rooMargin)
```

selector - Required. A DOMString containing one or more selectors to match against.

rootMargin - Optional. Margin around the root (viewport). Can have values similar to the CSS margin property, e.g. "10px 20px 30px 40px". The values can be percentages. Defaults to 200px. With respect to lazy loading the image, how much margin between the element and the viewport before the image load is performed.
npm package: @smruti_ranjan_bhuyan/humanize
Description: A typed utility library to humanize raw data into readable text formats.
Author: SMRUTI RANJAN BHUYAN
Latest version: 1.0.1

# 🧠 @smruti_ranjan_bhuyan/humanize

A lightweight, fully-typed utility library for converting raw values (like bytes, booleans, durations, etc.) into **human-readable** formats.

[![npm](https://img.shields.io/npm/v/@smruti_ranjan_bhuyan/humanize)](https://www.npmjs.com/package/@smruti_ranjan_bhuyan/humanize)
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)

---

## ✨ Features

- 📦 Modular: Import only what you need
- 🧪 Type-safe: Built with TypeScript
- 🌍 Universal: Works in Node.js, browser, and modern bundlers
- 🧩 Covers common formatting: durations, file sizes, booleans, lists, dates, and time

---

## 📦 Installation

```bash
npm install @smruti_ranjan_bhuyan/humanize
npm package: @sms77.io/botbuilder-adapter-sms
Description: Connect Botkit or BotBuilder to send SMS via Sms77
Author: André Matthies
Latest version: 1.0.0

![Sms77.io Logo](https://www.sms77.io/wp-content/uploads/2019/07/sms77-Logo-400x79.png "Sms77.io Logo")

# Installation

**Via NPM** `npm i @sms77.io/botbuilder-adapter-sms`

**Via Yarn** `yarn add @sms77.io/botbuilder-adapter-sms`

## Example

See the examples in /demo folder.

### Support

Need help? Feel free to [contact us](https://www.sms77.io/en/company/contact/).

[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE)
npm package: @sms77.io/counter
Description: Counts the SMS character usage in browser as well as NodeJS environments.
Author: sms77 e.K.
Latest version: 1.5.0

![](https://www.sms77.io/wp-content/uploads/2019/07/sms77-Logo-400x79.png "sms77 Logo")

# SMS Counter by Sms77

Counts the SMS character usage for a textarea or text input.

## Installation

### For Browsers

```html

<script src='https://unpkg.com/@sms77.io/counter/dist/index.js'></script>
```

### For NodeJS

#### Yarn `yarn add @sms77.io/counter`

#### NPM `npm install @sms77.io/counter`

```javascript
import '@sms77.io/counter'
```

## Usage

```html
<textarea data-sms77-sms></textarea>
<input data-sms77-sms/>
```

For advanced usage see the [examples](examples).

- [textarea](examples/textarea.html)
- [input](examples/input.html)
- [CSS Selector](examples/selector.html)
- [stats](examples/stats.html)
- [getCounterStats](examples/counterStats.js)

## Options

Set the window object before loading the library.

```javascript
window.SMS77IO_COUNTER_OPTIONS = {
    initEvent: string = 'DOMContentLoaded', // the DOM event for init
    position: InsertPosition = 'afterend', // where to add the counter stats span relative to the input
    selector: string = '*[data-sms77-sms]', // the inputs selector
    standalone: boolean = false, // stop attaching input listeners
    stats: boolean = false, // whether to output stats or not - also accepts HTMLElement or CSS selector
}
```

## Support

Need help? Feel free to [contact us](https://www.sms77.io/en/company/contact/).

[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE.txt)
npm package: @sms77.io/shared-inbound-numbers
Description: Shared Inbound Numbers for the seven SMS Gateway
Author: seven communications GmbH & Co. KG
Latest version: 2.0.0
Deprecated: use API instead

![Sms77.io Logo](https://www.sms77.io/wp-content/uploads/2019/07/sms77-Logo-400x79.png "Sms77.io Logo")

# Shared Inbound Numbers for the [Sms77.io](https://sms77.io/) SMS Gateway

### License

[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](./LICENSE)
npm package: @sms77.io/strapi
Description: Strapi plugin for sending SMS via Sms77.
Author: sms77 e.K.
Latest version: 0.0.1

![Sms77.io Logo](https://www.sms77.io/wp-content/uploads/2019/07/sms77-Logo-400x79.png "Sms77.io Logo")
# Official package for [strapi](https://strapi.io/)

## Prerequisites
- An API key from Sms77.io - [get one for free](https://app.sms77.io/anmelden)
- [Roles & Permissions plugin](https://strapi.io/documentation/developer-docs/latest/development/plugins/users-permissions.html)
- Field `phone_number` on collection `users-permissions_user` (see [screenshots](/._screenshots)) (can be changed by setting process.env.SMS77_STRAPI_PHONE_ATTRIBUTE)

### Installation via NPM

`cd path/to/the/strapi/root/directory`

`npm i @sms77.io/strapi`

#### Support

Need help? Feel free to [contact us](https://www.sms77.io/en/company/contact/).

[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](./LICENSE)
npm package: @smslidev/client
Description: Presentation slides for developers
Author: antfu
Latest version: 0.49.14

# @smslidev/client

[![NPM version](https://img.shields.io/npm/v/@smslidev/client?color=3AB9D4&label=)](https://www.npmjs.com/package/@smslidev/client)

Client code for [Slidev](https://sli.dev). Shipped with [`@slidev/cli`](https://www.npmjs.com/package/@slidev/cli).

## License

MIT License © 2021 [Anthony Fu](https://github.com/antfu)
npm package: @smslidev/parser
Description: Markdown parser for Slidev
Author: antfu
Latest version: 0.49.14

# @smslidev/parser

[![NPM version](https://img.shields.io/npm/v/@smslidev/parser?color=3AB9D4&label=)](https://www.npmjs.com/package/@smslidev/parser)

Slides markdown parser for [Slidev](https://sli.dev).

Learn more about the [Syntax](https://sli.dev/guide/syntax.html)

Refer to the TypeScript definitions for API.

## License

MIT License © 2021 [Anthony Fu](https://github.com/antfu)
npm package: @smslidev/types
Description: Shared types declarations for Slidev
Author: antfu
Latest version: 0.49.14

# @smslidev/types

[![NPM version](https://img.shields.io/npm/v/@smslidev/types?color=3AB9D4&label=)](https://www.npmjs.com/package/@smslidev/types)

Shared types for [Slidev](https://sli.dev).

## License

MIT License © 2021 [Anthony Fu](https://github.com/antfu)
npm package: @smsnm/bookit
Description: BOOKit (Backend Object Oriented Kit) is a strongly typed backend framework based on OOP principles
Author: Samsonium
Latest version: 1.2.1

![BOOKit Logotype](./docs/Logotype.png)

[![](https://img.shields.io/npm/v/@smsnm/bookit)](https://www.npmjs.com/package/@smsnm/bookit)
![](https://github.com/samsonium/bookit/actions/workflows/deploy.yml/badge.svg)
![](https://snyk.io/test/github/samsoniunm/bookit/badge.svg)


### Description
This project will allow you to quickly set up backend services in TypeScript. 
The main point is to use decorators to automatically declare routers and paths.

### How to use
1. Install BOOKit as dependency
    - By npm: `npm i @smsnm/bookit`
    - By yarn: `yarn add @smsn/bookit`
    - By pnpm: `pnpm add @smsn/bookit`
2. Write a class to be used as a router:
   ```typescript
   import { Router } from '@smsnm/bookit';
   
   @Router()
   export default class MainRouter {}
   ```
3. Add method with decorator (for example GET):
   ```typescript
   import { Router, Get } from '@smsnm/bookit';
   
   @Router()
   export default class MainRouter {
   
      @Get()
      hello() {
         return '<h1>Hello, BOOKit!</h1>';
      }
   }
   ```
4. In main script initialize common class and add the router:
   ```typescript
   import { Bookit } from '@smsnm/bookit';
   import MainRouter from 'path/to/router';
   
   const kit = new Bookit();
   kit.addRouters(MainRouter);
   kit.start(7910, 'Server started!');
   ```
5. Run!

### Documentation
Documentation can be found at: https://samsonium.github.io/bookit/
This is a temporary documentation, which, in the future, will be replaced by the normal 🙃

### Contributing
Contribution guide is under development...
npm package: @smt-lib/bdparse
Description: 百度小程序富文本解析工具bdParse，改造自wxparse，支持html转换成百度小程序富文本节点
Author: 腾石建站
Latest version: 1.0.1

# bdParse

#### 项目介绍
百度小程序富文本解析工具bdParse，改造自wxparse，支持html转换成百度小程序富文本节点。


#### 安装教程

1. 下载整个全部文件，放到你的小程序根目录下
2. 在小程序页面的js种直接引入代码:`var bdParse = require('../../bdParse/bdParse.js')`;
   对应css中引入`@import "../../bdParse/bdParse.css"`;
3. 在需要的字段使用baparse，代码：（注意：article和content不要重复）
   ` that.setData({
          content:bdParse.bdParse('article', 'html', content, that, 5),
    })`
4. swan页面引入模板，`<import src="../../bdParse/bdParse.swan" />`
  然后在需要显示富文本的地方调用：`<template is="bdParse" data="{{ {bdParseData:article.nodes} }}" />` (注意：data调用改为和wxParse一致写法，注意是三个大括号，原先的直接写{{article}}不再支持，请注意修改)

#### 使用说明

1. swan调用模板的data="{{ {bdParseData:article.nodes} }}"和setData中的article保持一致。
2. 调用bdparse组件的时候，组件已经把富文本内容赋值（即setData）给了article；{{ {bdParseData:article.nodes} }} 这种写法的意思是：把article.nodes的内容赋值给bdParseData,bdParse.swan中调用的是bdParseData。

#### 其他说明

1. bdParse是在wxParse的基础上改造的，只是把wxParse替换换成了bdParse，包含js，swan, css
2. wxml修改后缀改成swan，并且修改了全部模板传值的调用方式，符合百度小程序的使用。
3. 修复了其他百度小程序的专有组件，比如s-for，s-if,s-elif,s-for-index等等
4. 修复其他问题，比如去掉`<template name="wxParseImg">`重复的mode以及去掉data-from，给所有的s-for-index添加idx（好像不能为空）。
5. 其他修改，不再赘述
6. 因为直接批量替换内容，基本文章可以满足使用，其他没有做过多测试，欢迎大家反馈bug


#### 参与贡献

 * 开发者：腾石建站
 * 官网:http://www.tengcee.com
 * bdParse.swan改造自wxParse.wxml
 * wxParse的原作者github地址: https://github.com/icindy/wxParse

#### 码农不易，多多支持

如果你觉得bdParse帮你解决了问题，请不要忘了打赏，你的支持是我们最大的动力。

![输入图片说明](https://images.gitee.com/uploads/images/2018/1005/135406_e0d03cd0_1544331.png "支付二维码.png")
npm package: @smtech97/sm-utils
Description: Funciones útiles para manejar diferentes acciones en Javascript
Author: Stalin Maza
Latest version: 1.0.2

# SmUtilsJs

Utilidades para trabajar con JSON, Números, ETC que me han sido útiles en el momento de desarrollar.

## Uso

**Typescript**

```TypeScript
import IsJsonString from "@smtech97/sm-utils/json";

IsJsonString('{"name": "Juan"}')
```

**Javascript**

```JavaScript
const smUtils = require('@smtech97/sm-utils/json');

smUtils.IsJsonString('{"name": "Juan"}');
```


**Mas información**

[Todas las Funciones](https://github.com/StalinMazaEpn/SM-UTILS-JS//blob/main/functions.md)

## Autor
> Stalin Maza
npm package: @smthubakgale/simple360player
Description: A simple HTML5 360° video player using Three.js
Author: Thubakgale Mabalane Samuel
Latest version: 1.0.2

WARNING: this project is a really simple demo on how to build a 360 video player using three.js.
If you want to use a comprehensive npm package that provides tools to integrate 360 players in your project, check out this project: https://github.com/gbentaieb/simple-360-player

# simple360Player

simple360Player is a HTML5 360 video player.
It shows how to simply build such a player using the three.js javascript framework.

## Installation

To use the simple360Player, simply clone the project locally.
Then reach the root of the project and run: ` npm install ` and ` browserify 360-player.js -o bundle.js `

Start a local webserver from the root directory of the repository, for instance: ` python -m SimpleHTTPServer 8080 `, and open http://localhost:8080/ in your favorite browser.

## Other platform

To check how to build a simple360Player for iOS check this project: https://github.com/Aralekk/simple360player_iOS
npm package: @smtih/storybook-platform-specific-extensions
Description: Allows react and react native to access storybook using platform specific extensions
Author: David Smith
Latest version: 1.0.1

# storybook-platform-specific-extensions
Allows react and react native to access storybook using platform specific extensions

Storybook Platform Specific extensions
=========

A small library that allows react and react native to access storybook using platform specific extensions

## Installation

  `npm install @smtih/storybook-platform-specific-extensions`

## Usage

    import { storybookComponent } from "@smtih/storybook-platform-specific-extensions"
npm package: @smtmt2021/enlite
Description: Enlite for smart meter
Author: KINOSHITA minoru
Latest version: 0.1.0

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Node.js CI](https://github.com/smtmt2021/enlite/actions/workflows/node.js.yml/badge.svg)](https://github.com/smtmt2021/enlite/actions/workflows/node.js.yml)
# Enlite for smart meter

```
+-------------------------------------------+
|                 Your Apps                 |
+-------------------------------------------+
|               >>> Enlite <<<              |
+-------------------------------------------+
|           WSUN Adaptor Interface          |
+-------------------------------------------+
|                          |  UDP  |  PANA  |
|        WSUN Adaptor      | IPv6 / 6LoWPAN |
|                          |  IEEE802.15.4  |
+-------------------------------------------+
                       :
+-------------------------------------------+
|         A smart meter of your home        |
+-------------------------------------------+
```

## Usage

* Here is a very brief code:
```typescript
import { EnliteGetInstance, SmartElectricEnergyMeter, CLASS } from 'enlite';
// write your own app
class MySmartMeter extends SmartElectricEnergyMeter {
  startPolling() {
    this.timer = setInterval(async () => {
      const watt = await this.getInstantaneousElectricEnergey();
      console.log(`${watt}W`);
    }, 60 * 1000);
  }
}
// get a framework which is provided by this project
const enlite = EnliteGetInstance();
// register the app you wrote above
enlite.addDeviceClass(CLASS.LOW_VOLTAGE_SMART_ELECTRIC_ENERGY_METER, MySmartMeter);
// prepare code to activate measuring
enlite.once('device-created', device => {
  // start polling to get a current value of your smart meter
  device.startPolling();
});
// let's go
enlite.open();
```
* see the [concrete examples (./examples)](./examples/README.md) as well.

## Test

- `npm test`
- then, open `./coverage/lcov-report/index.html` to see the coverage.

## Debug

- Specify following environment variables (e.g. `export DEBUG=enlite/enlite`)
to display debug information;

File or module                    | Environment variable
----------------------------------|---------------------
`src/enlite-impl.ts`              | `enlite/enlite`
`src/nodeprofile.ts`              | `enlite/nodeprofile`
`src/controller.ts`               | `enlite/controller`
`src/device.ts`                   | `enlite/device`
`src/node.ts`                     | `enlite/node`
`wsun-adaptor`                    | `wsun/adaptor`, `wsun/socket`

## License
- MIT license
- Copyright (c) 2021 KINOSHITA minoru, All Rights Reserved.
npm package: @smtmt2021/smartmeter-logger
Description: a data logger for your smart electric meter
Author: KINOSHITA minoru
Latest version: 0.0.1

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Node.js CI](https://github.com/smtmt2021/enlite-logger/actions/workflows/node.js.yml/badge.svg)](https://github.com/smtmt2021/enlite-logger/actions/workflows/node.js.yml)
[![Node.js Package](https://github.com/smtmt2021/enlite-logger/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/smtmt2021/enlite-logger/actions/workflows/npm-publish.yml)
# Data logger module for your smart electric meter

```
+-------------------------------------------+
|                    Apps                   |
+-------------------------------------------+
|             >>> Data Logger <<<           |
+-------------------------------+-+---------+
|             Enlite            | | TypeORM |
+-------------------------------+ +---------+
|     WSUN Adaptor Interface    |      :
+-------------------------------+      :
|              .  UDP  |  PANA  |      :
| WSUN Adaptor . IPv6 / 6LoWPAN |      :
|              .  IEEE802.15.4  |      :
+-------------------------------+      :
                :                      :
+-------------------------------+ +----------+
|   A smart meter of your home  | | Database |
+-------------------------------+ +----------+
```
## Usage

## Test

- `npm test`
- open `./coverage/lcov-report/index.html` to see the coverage.

## Debug

- Specify following environment variables (e.g. `export DEBUG=logger/smartmeterlogger`) to display debug information;

File or module                    | Environment variable
----------------------------------|---------------------
`src/index.ts`                    | `logger/smartmeterlogger`
`src/entity/counter-constant.ts`  | `logger/constant`
`src/entity/electric-meter.ts`    | `logger/counter`
`src/entity/watt-meter.ts`        | `logger/wattmeter`
`src/logger/`                     | `logger/logger`
`src/smart-meter/`                | `logger/smartmeter`

- see [visionmedia/debug](https://github.com/visionmedia/debug#readme) in details.

## Build
- `npm run build`

## License
- MIT license
- Copyright (c) 2021 KINOSHITA minoru, All Rights Reserved.
npm package: @smtmt2021/wsun-adaptor
Description: WSUN Adaptor Interface
Author: KINOSHITA minoru
Latest version: 0.1.0

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Node.js CI](https://github.com/smtmt2021/wsun-adaptor/workflows/Node.js%20CI/badge.svg)](https://github.com/smtmt2021/wsun-adaptor/actions?query=workflow%3A%22Node.js+CI%22)

# WSUN Adaptor Interface

It provides an interface to WSUN adaptor,
and act as PaC in order to access a remote PAA coordinator.

```
+-------------------------------------------+
|                 Your Apps                 |
+-------------------------------------------+
|       >>> WSUN Adaptor Interface <<<      |
+-------------------------------------------+
|                          |  UDP  |  PANA  |
|        WSUN Adaptor      | IPv6 / 6LoWPAN |
|                          |  IEEE802.15.4  |
+-------------------------------------------+
                       :
+-------------------------------------------+
|         A smart meter of your home        |
+-------------------------------------------+
```

## Usage

```typescript
// Let's start!
const adaptor = WsunGetAdaptor('a model name of adaptor, e.g. BP35A1');
// find and connect a remote PAA coordinator
const descriptor = 
  await adaptor.open('/dev/serialport', {id: 'your id', password: 'your password'});
// make a socket to communicate with remote devices
const socket = adaptor.createSocket();
// wait for messages from remote devices
socket.on('message', (msg, rinfo) => {
  console.log(`received ${msg.toString()} from ${rinfo.address}`);
});
await socket.bind(3610);
// send a message to a remote device
await socket.send(Buffer.from('1081...', 'hex'), 3610, descriptor.addr);
// end of communication
await socket.close();
await adaptor.close();
```
- see [`./examples`](./examples) as well.

## Test

- `npm test`
- open `./coverage/lcov-report/index.html` to see the coverage.

## Debug

- Specify following environment variables (e.g. `export DEBUG=wsun/adaptor`) to display debug information;

File or module                    | Environment variable
----------------------------------|---------------------
`src/wsun-bp35a1.ts`              | `wsun/adaptor`
`src/wsun-socket.ts`              | `wsun/socket`
`wsun-adaptor-mock`               | `wsun/robot`
`serialport`                      | e.g. `serialport/stream`

- see [visionmedia/debug](https://github.com/visionmedia/debug#readme) in details, and [SerialPort](https://serialport.io/docs/guide-debugging) as well.

## Build
- `npm run build`

## Supported adaptor

| Model name | Manufacturer
-------------|-------------
| `BP35A1`   | ROHM

## License
- MIT license
- Copyright (c) KINOSHITA minoru <smtmt2021@gmail.com>, All Rights Reserved.
npm package: @smtmt2021/wsun-adaptor-mock
Description: just a mock for wsun-adaptor
Author: KINOSHITA minoru
Latest version: 0.1.2

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

# wsun-adaptor-mock

is a mock for testing wsun-adaptor.

## License
- MIT license
- Copyright (c) 2021 KINOSHITA minoru <smtmt2021@gmail.com>, All Rights Reserved.
npm package: @smuada/elysia
Description: Fast, and friendly Bun web framework
Author: saltyAom
Latest version: 0.5.23

<br>
<p align=center>
  <img width=480 src=https://user-images.githubusercontent.com/35027979/205498891-b75dc404-3232-4929-b216-823aa7373b71.png alt='Elysia label' />
</p>

<p align=center>Fast and friendly <a href=https://bun.sh>Bun</a> web framework.</p>

<p align=center>
    <a href=https://elysiajs.com>Documentation</a> | <a href=https://discord.gg/eaFJ2KDJck>Discord</a>
</p>

<h6 align=center>
    Former known as <a href="https://github.com/saltyaom/kingworld">KingWorld</a>
</h6>

## Philosophies
Building on top of 3 philosophies:

- Performance
    - You shall not worry about the underlying performance
- Simplicity
    - Simple building blocks to create an abstraction, not repeating yourself
- Flexibility
    - You shall be able to customize most of the library to fit your needs

Designed with TypeScript in mind, you don't need to understand TypeScript to gain the benefit of TypeScript with Elysia. The library understands what you want and automatically infers the type from your code.

⚡️ Elysia is [one of the fastest Bun web frameworks](https://github.com/SaltyAom/bun-http-framework-benchmark)

## Documentation
The documentation is available on [elysiajs.com](https://elysiajs.com).

## Contributing
See [Contributing Guide](CONTRIBUTING.md) and please follow our [Code of Conduct](CODE_OF_CONDUCT.md).

## Discord
Come join the [Discord channel~](https://discord.gg/eaFJ2KDJck)
npm package: @smugswap/pcs-sdk
Description: 🛠 An SDK for building applications on top of Pancakeswap.
Latest version: 2.4.0

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @smugswap/pcs-uikit
Description: Set of UI components for pancake projects
Latest version: 0.10.7

# 🥞 Pancake UIkit

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @smugswap/sdk
Description: 🛠 An SDK for building applications on top of Smugswap.
Latest version: 2.1.1

# Uniswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/VenomProtocol/venomswap-sdk/workflows/CI/badge.svg)](https://github.com/VenomProtocol/venomswap-sdk)
[![npm version](https://img.shields.io/npm/v/@venomswap/sdk/latest.svg)](https://www.npmjs.com/package/@venomswap/sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@venomswap/sdk/latest.svg)](https://bundlephobia.com/result?p=@venomswap/sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/VenomProtocol/venomswap-sdk.git
```

Move into the uniswap-sdk working directory

```sh
cd uniswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @smugswap/sdk-extra
Description: 🛠 A specific SDK/toolkit for building applications on top of Smugswap.
Latest version: 2.12.0

# Venomswap SDK Extra

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/VenomProtocol/venomswap-sdk-extra/workflows/CI/badge.svg)](https://github.com/VenomProtocol/venomswap-sdk-extra)
[![npm version](https://img.shields.io/npm/v/@venomswap/sdk-extra/latest.svg)](https://www.npmjs.com/package/@venomswap/sdk-extra/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@venomswap/sdk-extra/latest.svg)](https://bundlephobia.com/result?p=@venomswap/sdk-extra@latest)

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/VenomProtocol/venomswap-sdk-extra.git
```

Move into the venomswap-sdk-extra working directory

```sh
cd venomswap-sdk-extra/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```
npm package: @smukherj/cdk-constructs
Description: You should explore the contents of this project. It demonstrates a CDK Construct Library that includes a construct (`CdkConstructs`) which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
Latest version: 1.1.0

# Welcome to your CDK TypeScript Construct Library project!

You should explore the contents of this project. It demonstrates a CDK Construct Library that includes a construct (`CdkConstructs`)
which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.

The construct defines an interface (`CdkConstructsProps`) to configure the visibility timeout of the queue.

## Useful commands

 * `npm run build`   compile typescript to js
 * `npm run watch`   watch for changes and compile
 * `npm run test`    perform the jest unit tests