open-index/open-npm huggingface dataset:
npm package: @favian/simplor
Description: Favian Simplor is a UI Kit consisting of basic components for creating a design system.
Author: tk2rush90
Latest version: 0.3.2

# Favian Simplor UI Kit

Favian Simplor is a UI Kit consisting of basic components for creating a design system.

# Documentation

[https://favian-simplor.github.io/](https://favian-simplor.github.io/)
npm package: @favorodera/nuxt-eslint-config
Description: ESLint configuration for my Nuxt projects
Latest version: 1.1.0

# Nuxt Eslint Config

## Installation

```bash
npm install @favorodera/nuxt-eslint-config
```

## Usage

```mjs
// eslint.config.mjs

import withNuxt from './.nuxt/eslint.config.mjs'
import config from '@favorodera/nuxt-eslint-config'

export default withNuxt(config)
```
npm package: @favware/ts-config
Description: Shareable TypeScript configuration for all Favware projects
Author: @favware
Latest version: 3.0.4
Deprecated: Deprecated in favour of @sapphire/ts-config so I do not have to maintain two extremely similar TypeScript configs

<div align="center">

<img src="https://cdn.favware.tech/img/tslogo.png" height="200" alt="logo"/>

# @favware/ts-config

**Standardized TSConfig for Favware projects**

[![GitHub](https://img.shields.io/github/license/favware/node-packages?logo=github&style=flat-square)](https://github.com/favware/node-packages/blob/main/LICENSE.md)
[![Coverage Status](https://coveralls.io/repos/github/favware/node-packages/badge.svg?branch=main)](https://coveralls.io/github/favware/node-packages?branch=main)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/favware/node-packages.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/favware/node-packages/alerts/)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/favware/node-packages.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/favware/node-packages/context:javascript)
[![Coverage Status](https://coveralls.io/repos/github/favware/node-packages/badge.svg?branch=main)](https://coveralls.io/github/favware/node-packages?branch=main)
[![npm](https://img.shields.io/npm/v/@favware/ts-config?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@favware/ts-config)
[![Depfu](https://badges.depfu.com/badges/30f62cdba0c569448b5f93d532dad8e4/count.svg)](https://depfu.com/github/favware/node-packages?project_id=15121)

</div>

## Install

Install with [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):

```sh
yarn add @favware/ts-config

# npm install @favware/ts-config
```

## Usage

In your `tsconfig.json`:

```json
{
  "extends": "@favware/ts-config",
  "compilerOptions": {
    "outDir": "dist/",
    "rootDir": "src/"
  },
  "include": ["src"]
}
```

## API Documentation

For the full API documentation please refer to the TypeDoc generated [documentation](https://favware.github.io/node-packages/modules/_favware_tsconfig.html).

## Buy us some doughnuts

Favware projects are and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!

We accept donations through Open Collective, Ko-fi, Paypal, Patreon and GitHub Sponsorships. You can use the buttons below to donate through your method of choice.

|   Donate With   |                      Address                      |
| :-------------: | :-----------------------------------------------: |
| GitHub Sponsors |  [Click Here](https://github.com/sponsors/Favna)  |
|      Ko-fi      |  [Click Here](https://donate.favware.tech/kofi)   |
|     Patreon     | [Click Here](https://donate.favware.tech/patreon) |
|     PayPal      | [Click Here](https://donate.favware.tech/paypal)  |
npm package: @favware/tslint-config
Description: TSLint configuration for Favware projects
Author: @favware
Latest version: 1.1.4
Deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.

<div align="center">

<h1> <b><i>DEPRECATED</i></b>

TSLint has been deprecated in favor of ESLint. Please see
<a href="https://github.com/palantir/tslint/issues/4534">this TSLint issue</a> for more information.

</h1>

---

  <p>
  <a href="https://favware.tech/tslint"><img src="https://storage.googleapis.com/data-sunlight-146313.appspot.com/website-project-icons/tslint.png" height="200" alt="logo"/></a>
  </p>

  <p>
<h1> @favware/tslint-config</h1>
<h3> Standard TSLint config for Favware projects written in TypeScript</h3>
  </p>
</div>

---

**Project Status**

[![GitHub](https://img.shields.io/github/license/favware/node-packages?logo=github&style=flat-square)](https://github.com/favware/node-packages/blob/master/LICENSE.md)
[![Codecov](https://img.shields.io/codecov/c/github/favware/node-packages?logo=codecov&style=flat-square)](https://codecov.io/gh/favware/node-packages)

**Bundle Sizes**

[![npm bundle size](https://img.shields.io/bundlephobia/min/@favware/tslint-config?label=tslint-config%20-%20minified&logo=webpack&style=flat-square)](https://bundlephobia.com/result?p=@favware/tslint-config)
[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@favware/tslint-config?label=tslint-config%20-%20minzipped&logo=webpack&style=flat-square)](https://bundlephobia.com/result?p=@favware/tslint-config)
[![npm](https://img.shields.io/npm/v/@favware/tslint-config?color=crimson&label=tslint-config%20version&logo=npm&style=flat-square)](https://www.npmjs.com/package/@favware/tslint-config)

**Social Media and Donations**

[![Join Discord server](https://img.shields.io/discord/512303595966824458?color=697EC4&label=Join%20Discord%20Server&logo=discord&logoColor=FDFEFE&style=flat-square)](https://favware.tech/redirect/server)
[![Twitter Follow](https://img.shields.io/twitter/follow/favna_?label=Follow%20@Favna_&logo=twitter&colorB=1DA1F2&style=flat-square)](https://twitter.com/Favna_/follow)
[![Patreon Donate](https://img.shields.io/badge/patreon-donate-brightgreen.svg?label=Donate%20with%20Patreon&logo=patreon&colorB=F96854&style=flat-square&link=https://www.patreon.com/bePatron?u=9336537)](https://www.patreon.com/bePatron?u=9336537)
[![PayPal Donate](https://img.shields.io/badge/paypal-donate-brightgreen.svg?label=Donate%20with%20Paypal&logo=paypal&colorB=00457C&style=flat-square&link=https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XMAYCF9SDHZ34)](https://www.patreon.com/bePatron?u=9336537)

---

# Install

Install with [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):

```sh
yarn add @favware/eslint-config

# npm install @favware/eslint-config
```

# Usage

```json
{
  "extends": ["@favware/eslint-config"]
}
```

## [API Documentation](https://favware.github.io/node-packages/modules/_favware_tslint_config.html)
npm package: @fawazahmed/js-infinite-median
Description: Calculate median of a stream of numbers using heap sort (with nlogn comlpexity).
Author: Fawaz Ahmed
Latest version: 0.0.1

![NPM Downloads](https://img.shields.io/npm/dm/@fawazahmed/js-infinite-median) ![NPM License](https://img.shields.io/npm/l/@fawazahmed/js-infinite-median) ![NPM Version](https://img.shields.io/npm/v/@fawazahmed/js-infinite-median)

# js-infinite-median
## TS/JS compatible
Calculate median of a stream of numbers using heap sort (with nlogn comlpexity)

### Installation

```
npm i @fawazahmed/js-infinite-median --save
```

or with yarn

```
yarn add @fawazahmed/js-infinite-median
```

### Usage

```javascript
import { InfiniteMedian } from '@fawazahmed/js-infinite-median';
// Using require:
// const { InfiniteMedian } = require("@fawazahmed/js-infinite-median")

// Create an instance of InfiniteMedian class
const instance = new InfiniteMedian()

// keep adding numbers from stream
instance.insert(1)
instance.insert(2)
instance.insert(3)
instance.insert(4)
instance.insert(5)

// fetch the median from instance
const median = instance.getMedian()
// median has a value 5
```

### Credits
- I would like to thank members of stackoverflow who posted relevant answers on [this thread](https://stackoverflow.com/questions/10657503/find-running-median-from-a-stream-of-integers)
- Creators of this amazing [package](https://www.npmjs.com/package/@datastructures-js/heap) for heap algo

### Applications
- Typically to fetch the median price of any stock/crypto/fiat or any other trades out there, this lib can be used, where you get stream of data and process in real time.

### Drawbacks
- Since the instance remains in memory, eventually the data will outgrow and crash the app due to memory overflow. To overcome this, there can be another wrapper or some code modification to remove a subset of data from memory periodically.
npm package: @fawen/gitmoji-commit-hook
Description: commit with local source emoji
Author: Oskar Karlsson
Latest version: 0.0.2

# Gitmoji-commit-hook

> Prepend the right emoji to your commit message from [Gitmoji](https://github.com/carloscuesta/gitmoji)

## Install

- Install gitmoji-commit-hook package

```
$ npm install -g @fawen/gitmoji-commit-hook
```

- Install the hook

```
$ cd any-git-initialized-directory
$ gitmoji-commit-hook --init
```

## Usage

![Demo](https://github.com/tjoskar/gitmoji-commit-hook/blob/master/demo.gif?raw=true)

## Config

You can put unwanted emojis in a blacklist section by adding the name in a blacklist array in your `package.json`:

```json
{
  "gitmoji": {
    "blacklist": [
      "card-file-box",
      "beers"
    ]
  }
}
```

## Emoji Meanings

A list of available emojis and their associated meanings can be found at [gitmoji.carloscuesta.me](https://gitmoji.carloscuesta.me/)

## KISS principle

This package follow KISS principle, the only thing it does is to allow you
to add an emoji from gitmojis list to your commit.

If you're looking for some other cool feature like search in gitmojis list,
please consider [gitmoji-cli](https://github.com/carloscuesta/gitmoji-cli)

## Develop

To run the linter: `npm run lint`

To run the unit test: `npm test`

To dry run the script:
```bash
node invoke.js --init # run the init setup

node invoke.js mock_hooks/COMMIT_EDITMSG # simulate a git commit
```

## License

The code is available under the [MIT](https://github.com/tjoskar/gitmoji-commit-hook/blob/master/LICENSE) license.
npm package: @fawkesjs/module-index-export-plugin
Description: 创建一个@/modules下的所有vue文件的索引文件
Author: cytra
Latest version: 0.0.1

# module-index-export-plugin

它会在moduleIndexFile位置创建一个文件索引，索引包含@/modules下的所有vue文件

## 使用方法

Host webpack.config

```javascript
const ModuleIndexExportPlugin = require('@fawkesjs/module-index-export-plugin')

const moduleIndexFile = './customFileName.js'

const config = {
  ...otherConfigs
  plugins: [
    new ModuleIndexExportPlugin({
      filePath: path.resolve(__dirname, `${moduleIndexFile}`)
    }),
    ...otherPlugins
  ]
}
```

## 模块联邦配合使用

Host webpack.config

```javascript
const ModuleIndexExportPlugin =  require('@fawkesjs/module-index-export-plugin')
const ModuleFederationPlugin = require('webpack').container.ModuleFederationPlugin

const moduleIndexFile = './customFileName.js'

const config = {
  ...otherConfigs
  plugins: [
    new ModuleIndexExportPlugin({
      filePath: path.resolve(__dirname, `${moduleIndexFile}`)
    }),
    new ModuleFederationPlugin({
      exposes: {
         './Modules': `${moduleIndexFile}`
      },
      ...otherModuleFederationPluginConfig
    })
  ]
}
```
npm package: @fawkesjs/remote-module-in-qiankun-plugin
Description: qiankun环境内子应用获取远程模块的容错
Author: cytra
Latest version: 0.0.2

# remote-module-in-qiankun-plugin

Host webpack.config

```javascript
const RemoteModuleInQiankunPlugin = require('@fawkesjs/remote-module-in-qiankun-plugin')
const ModuleFederationPlugin = require('webpack').container.ModuleFederationPlugin

const config = {
   ...otherConfigs
  plugins: [
    new ModuleFederationPlugin({
      ...
    }).
    new RemoteModuleInQiankunPlugin(),
  ]
}
```
npm package: @fawry_pay/fawry-food-ordering-sdk
Description: beverages ordering sdk by Fawry
Author: Ahmed Kamal
Latest version: 0.1.2

# fawry-food-ordering-sdk

beverages ordering sdk by Fawry

## Installation

```sh
npm install fawry-food-ordering-sdk
```

## Usage

```js
import { multiply } from 'fawry-food-ordering-sdk';

// ...

const result = await multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @faxinw/local-storage-wrapper
Description: Saving objects to localStorage or sessionStorage automatically as it changes. 
Author: faxinwang
Latest version: 1.0.6

# local-storage-wrapper

[![NPM Version](https://img.shields.io/npm/v/@faxinw/local-storage-wrapper.svg?style=flat)](https://www.npmjs.com/package/@faxinw/local-storage-wrapper)
[![](https://img.shields.io/npm/dt/@faxinw/local-storage-wrapper.svg)](https://www.npmjs.com/package/@faxinw/local-storage-wrapper)

Saving objects to localStorage or sessionStorage automatically as it changes. 


Supports:

1. [x] Typescript
1. [x] Default value
1. [x] localStorage
1. [x] sessionStorage
1. [x] any other storage that implements getItem() and setItem()
1. [x] debounce save to improve performance, default to dealy 100ms
1. [x] provide a save() method to save data manually.

## install

yarn
> yarn add @faxinw/local-storage-wrapper

npm
> npm install @faxinw/local-storage-wrapper -S

## usage

```typescript
import LocalStorageWrapper from '@faxinw/local-storage-wrapper'

function assert(a: any, b: any, msg: string=""){
    if(a === b){
        console.log(`assert equal passed: a=${a}, b=${b} `)
        return;
    }
    throw new Error(`assert equal failed: a=${a}, b=${b}. ${msg}`)
}

// the class name will be the key to get/set value from/to stroages.
class User{
    name:string = "zhangsan"
    age: number = 18
    gender: '男' | '女' = '男'
}

// the type `User` here is to tell `LocalStorageWrapper` that the return type is `User`
let user: User = LocalStorageWrapper(User, {debounceSaveDelay:1000})

// will fail after the first run if value has changed.
assert(user.name,'zhangsan')
assert(user.age, 18)
assert(user.gender, '男')

user.name = "lisi"
user.age = 20
user.gender = "女"

assert(user.name,'lisi')
assert(user.age, 20)
assert(user.gender, '女')

class MyState{
    id: string = "0123456"
    arr: number[] = []
    name: {
        firstName: string,
        lastName: string,
    }
}

let mystate:MyState = LocalStorageWrapper(MyState)

mystate.id = "0123"
mystate.arr.push(1)
mystate.name = {firstName: "bajie", lastName:"zhu"}

assert(mystate.id, '0123')
// will fail after the first run if value has changed.
assert(mystate.arr.length, 1)
assert(mystate.arr[0], 1)
assert(mystate.name.lastName, 'zhu')

// in this way, the proxy can not detect the state change, 
// so the state change may not be presisted once the debounce time has passed.
let arr = mystate.arr
setTimeout(()=>{
    arr.push(3)
    // after doing by this, you can use a save() method to manually save it state.
    // this method was bind to wrapper instance during creation.
    // @ts-ignore
    mystate.save();
},1000)

```
npm package: @faxjs/commitlint-config
Description: commitlint config of faxjs
Author: khan97z
Latest version: 1.0.8

# Commitlint Config of Faxjs

## Install

```shell
# with npm
npm i @faxjs/commitlint-conig -D

# with yarn
yarn add @faxjs/commitlint-conig -D

# with pnpm
pnpm add @faxjs/commitlint-conig -D
```

## Usage
```js
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');

// 这里的定义的是 src 下的目录作为范围，你可以定义任何文件夹下为范围，只要替换所有下面 src 即可
const scopes = fs.readdirSync(path.resolve(__dirname, 'src'))

const gitStatus = execSync('git status --porcelain || true')
  .toString()
  .trim()
  .split('\n')

const scopeComplete = gitStatus
  .find((r) => ~r.indexOf('M  src'))
  ?.replace(/(\/)/g, '%%')
  ?.match(/src%%((\w|-)*)/)?.[1];

const subjectComplete = gitStatus
  .find((r) => ~r.indexOf('M  src'))
  ?.replace(/\//g, '%%')
  ?.match(/src%%((\w|-)*)/)?.[1]

module.exports = {
  extends: ['@faxjs/commitlint-config']
  prompt: { 
    // 范围设置
    scopes: [...scopes], 
    // 设置 选择范围 中 为空选项(empty) 和 自定义选项(custom) 的 位置
    customScopesAlign: !scopeComplete ? 'top' : 'bottom',
    // 如果 defaultScope 与在选择范围列表项中的 value 相匹配就会进行星标置顶操作。
    defaultScope: scopeComplete,
    // 描述预设值
    defaultSubject: subjectComplete && `[${subjectComplete}] `
  }
};

```
npm package: @faxjs/eslint-config-base
Description: eslint base config of faxjs
Author: khan97z
Latest version: 1.0.7

# ESLint Base Config of Faxjs

## Install

```shell
# with npm
npm i faxjs/eslint-config-base -D

# with yarn
yarn add faxjs/eslint-config-base -D

# with pnpm
pnpm add faxjs/eslint-config-base -D
```

## Usage

```json
{
  "extends": ["@faxjs"]
}
```
npm package: @faxjs/eslint-config-react
Description: eslint react config of faxjs
Author: khan97z
Latest version: 1.0.9

# ESLint Typescript Config of Faxjs

## Install

```shell
# with npm
npm i faxjs/eslint-config-ts -D

# with yarn
yarn add faxjs/eslint-config-ts -D

# with pnpm
pnpm add faxjs/eslint-config-ts -D
```

## Usage

```json
{
  "extends": ["@faxjs/eslint-config-ts"]
}
```
npm package: @faxjs/eslint-config-ts
Description: eslint typescript config of faxjs
Author: khan97z
Latest version: 1.0.9

# ESLint Typescript Config of Faxjs

## Install

```shell
# with npm
npm i faxjs/eslint-config-ts -D

# with yarn
yarn add faxjs/eslint-config-ts -D

# with pnpm
pnpm add faxjs/eslint-config-ts -D
```

## Usage

```json
{
  "extends": ["@faxjs/eslint-config-ts"]
}
```
npm package: @faxjs/eslint-config-vue
Description: eslint vue config of faxjs
Author: khan97z
Latest version: 1.0.14

# ESLint Vue Config of Faxjs

## Install

```shell
# with npm
npm i faxjs/eslint-config-vue -D

# with yarn
yarn add faxjs/eslint-config-vue -D

# with pnpm
pnpm add faxjs/eslint-config-vue -D
```

## Usage

```json
{
  "extends": ["@faxjs/eslint-config-vue"]
}
```
npm package: @faxjs/prettier-config
Description: prettier config of faxjs
Author: khan97z
Latest version: 1.0.12

# Prettier Config of Faxjs

## Install

```shell
# with npm
npm i @faxjs/prettier-config -D

# with yarn
yarn add @faxjs/prettier-config -D

# with pnpm
pnpm add @faxjs/prettier-config -D
```

## Usage

```js
{
  ...require('@faxjs/prettier-config')
}
```
npm package: @faxjs/stylelint-config
Description: stylelint config of faxjs
Author: khan97z
Latest version: 1.0.10

# Stylelint Config of Faxjs

## Install

```shell
# with npm
npm i @faxjs/stylelint-config -D

# with yarn
yarn add @faxjs/stylelint-config -D

# with pnpm
pnpm add @faxjs/stylelint-config -D
```

## Usage

```json
{
  "extends": ["@faxjs/stylelint-config"]
}
```
npm package: @fay-react/lib
Description: fay react lib
Author: fay
Latest version: 0.0.1-alpha.40

# fay react lib
####工具库

# Usage
`npm i @fay-react/lib`

# fetch
```javascript
import {get, put, post, remove, getJson, putJson, postJson, removeJson} from '@fay-react/lib/fetch';
get({path, data, headers, type});
put({path, data, headers, defaultQuery, type});
post({path, data, headers, type});
remove({path, data, headers, type});
```
* getJson, putJson, postJson, removeJson对应get,put,post,remove的返回值转成JSON对象
npm package: @fay-react/react-redux-loadable
Description: fay react redux loadable
Author: fay
Latest version: 0.0.1-alpha.7

# fay react redux loadable

# Usage
`npm i @fay-react/react-redux-loadable`

```javascript
import React from 'react';
import {render} from 'react-dom';
import {Provider}  from '@fay-react/react-redux-loadable';

//all props exclude children are not required
render(
  <Provider
    initReducer={}//init reducer
    reduxMiddlewares={[]}// redux middlewares,eg:import { routerMiddleware } from 'connected-react-router'
    loadingBoundary={<div>loading...</div>}// show loading component when loading js files
    errorBoundary={({children}) => <div>...</div>}//show error
  >
    //...
    //{children}
  </Provider>,
  document.getElementById('app')
);
```

```javascript
import {Loadable}  from '@fay-react/react-redux-loadable';

export default Loadable({
  /*required*/
  view: () => import(/* webpackChunkName: "test", webpackPrefetch: true */'./views'),
  /*not required*/
  reducer: () => import(/* webpackChunkName: "test", webpackPrefetch: true */'./reducer'),
  /*not required*/
  saga: () => import(/* webpackChunkName: "test", webpackPrefetch: true */'./saga'),
});
//views、reducer、saga need export default
```
npm package: @faya/drowsy
Description: WordPress automation made with puppeteer and typescript
Latest version: 1.0.0

# Drowsy

WordPress automation made with `puppeteer` and `typescript`

## Install

`yarn add puppeteer typescript @faya/drowsy `

## Usage

see [example](./example/example.ts)


### Setup config

WordPress version is needed for selectors.

```typescript
import drowsy from '@faya/drowsy';

const config: drowsy.Config = {
    wp: {
        ver: '5.0.3',
        url: 'https://your.wordpress.com',
        user: '__username__',
        password: '__password__'
    },
    LaunchOptions: {
        headless: false
    }
};

```

### make new post content

```typescript
const newpost: drowsy.Post = {
    title: 'drowsy',
    type: 'blog',
    content: 'post this by drowsy!'
};
```

### Run it

```typescript
(async () => {
    const wp = await drowsy.launch(config);
    await wp.login();
    await wp.post(newpost);
    await wp.close();
})();
```
npm package: @faya/here
Description: nice logger
Latest version: 1.0.1

# Here

nice logger

## Install

`yarn add @faya/here`

or 

`npm install @faya/here`

## Screen Shot

![](./img/screenshot.png)

## Usage

### Basic

```js
import here from '@faya/here';

here.done("DONE");
//   xxxx-xx-xx xx:xx:xx --- ✨  DONE
here.ok("OK");
//   xxxx-xx-xx xx:xx:xx --- ✅  OK

here.error("FAILED");
//   xxxx-xx-xx xx:xx:xx --- ❌  FAILED

```

### Create custom logger

```js
const partyPopper = here.createLogger("🎉");

partyPopper("Eureka!");
//   xxxx-xx-xx xx:xx:xx --- 🎉  Eureka!
```