open-index/open-npm huggingface dataset:
npm package: @hendrickson-tyler/eslint-config
Description: An opinionated, personalized collection of ESLint configs for different languages and frameworks
Author: Tyler Hendrickson
Latest version: 19.0.0

# Lint Rules

[![CodeQL](https://github.com/hendrickson-tyler/eslint-config/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/hendrickson-tyler/eslint-config/actions/workflows/codeql-analysis.yml)

## Description

This package contains a set of ESLint configs for a variety of languages, libraries, and frameworks. This is meant to ensure each of my personal projects has the same set of rules to keep them consistent. You are welcome to use these for your own projects.

## Configs

Config files exist for the following use cases and are summarized below. You can mix and match these as needed and several configs inherit other configs automatically.

- `javascript` - Recommended rules for projects using JavaScript.
- `typescript` - Recommended rules for projects using TypeScript.
  - Includes and modifies the rules from `javascript` as TypeScript is a superset of JavaScript.
- `angular` - Recommended rules for projects using Angular.
  - Includes and modifies the rules from `typescript` and `rxjs` as Angular uses TypeScript and RxJS by default.
- `angular-html` - Recommended template (HTML) rules for projects using Angular.
  - Used in conjunction with `@angular-eslint/template-parser`.
- `rxjs` - Recommended rules for projects using the RxJS library.

## Installation

From the root folder of your project, install the package with the following command:

```javascript
npm i @hendrickson-tyler/eslint-config --save-dev
```

## Angular Support

| Package Version | Angular Version Support |
| --------------- | ----------------------- |
| 1.x.x           | 13                      |
| 2.x.x           | 14                      |
| 3.x.x           | 15                      |
| 4.x.x           | 16                      |

For Angular 17 and above, the version number will match the Angular version number.

## Usage

Once the package is installed, add the desired configs to the `"extends"` section of the `eslintrc.json` in the root of your project:

```javascript
{
    "root": true,
    "ignorePatterns": [
        "projects/**/*"
    ],
    "overrides": [
        {
            "files": [
                "*.ts"
            ],
            "parserOptions": {
                "project": [
                    "tsconfig.json"
                ],
                "createDefaultProgram": true
            },
            "extends": [
                "@hendrickson-tyler/eslint-config/angular"
            ],
            ...
        }
        ...
    ]
}
```

Afterwards, you will be able to run your desired lint command to use the newly-imported lint rules.

> **NOTE: Keeping this package up to date is highly recommended. Be sure that the version number in your `package.json` contains a `^` before the version number to update to the newest minor version when using `npm update`.**

**Example:**

```javascript
"devDependencies": {
    ...
    "@hendrickson-tyler/eslint-config": "^18.0.0",
    ...
}
```
npm package: @hendrikniemann/dataupdater
Description: Batch updates to the same entity into a single update, similar to dataloader
Author: Hendrik Niemann
Latest version: 1.0.1

# Dataupdater

This is a library that is inspired by [Dataloader](https://github.com/graphql/dataloader). Dataupdater batches and merges updates to the same key in a single object and calls the update function for every key-update pair once.We use Dataupdater to batch the updates to the same entity and run a single SQL query.

## Usage

Pretty much like Dataloader, but instead of an array of keys, the batch function gets a single object with the properties `key` and `value`.

```ts
const updater = new Dataupdater((update: { a: string; b: string }) => {
  console.log(update);
  return update.value;
});

const a1 = updater.update(1, { a: "a1" });
const b1 = updater.update(1, { b: "b1" });
const a2 = updater.update(2, { a: "a2" });

await Promise.all([a1, b1, a2]);
// logs to console:
// { key: 1, value: { a: "a1", b: "b1" } }
// { key: 2, value: { a: "a2" } }
```
npm package: @hendrikprinsza/basic-tts-player
Description: Play text string through device speakers
Author: Hendrik Prinsloo
Latest version: 0.2.3

# basic-tts-player [![NPM version](https://badge.fury.io/js/%40hendrikprinsza%2Fbasic-tts-player.png?branch=master)](http://badge.fury.io/js/%40hendrikprinsza%2Fbasic-tts-player) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](#licensemit) [![Downloads](https://img.shields.io/npm/dt/%40hendrikprinsza%2Fbasic-tts-player.svg)](https://npmjs.org/package/%40hendrikprinsza%2Fbasic-tts-player)

Convert text to speech and play the sound

```
npm i @hendrikprinsza/basic-tts-player
```

## Install

```
npm i @hendrikprinsza/basic-tts-player
```

## Usage

```javascript
var bTtsPlayer = require('basic-tts-player');

bTtsPlayer("Hello, this is a test string");
```

## CLI

Install:

```bash
$ npm install -g @hendrikprinsza/basic-tts-player
```

Use:

```text
Usage: basic-tts-player [string]

Text to speech to speaker

Options:

  -h, --help           output usage information
  -v, --version        output version number

Usage Example
$ basic-tts-player "Hello, this is a simple string"
```

## License: MIT
npm package: @heneise/auth0-get-token
Description: Getting an access token for your API
Author: Patrick Heneise
Latest version: 1.0.1

[![Build Status](https://travis-ci.com/heneise/auth0-get-token.svg?branch=master)](https://travis-ci.com/heneise/auth0-get-token)

# Auth0 Token

Getting an access token for your API.

This can be used for integration testing, to dynamically obtain tokens when needed. No hardcoded accessTokens, no mocking.

## Auth0 Setup

![auth0 grant settings](https://user-images.githubusercontent.com/74390/59589705-39a3ce80-90f3-11e9-8a82-f56cbb283eae.png)

- In your [Auth0 Dashboard](https://manage.auth0.com/dashboard/) create a new API if you didn't already do so (you can copy the API Identifier right away and paste into the config)
- Head over to "Applications", there should be a Machine-to-Machine application with the same name as your API and "(Test Application)"
- Click on the Test Application to see the settings
- In the very bottom, click "Show Advanced Settings"
- Go to the tab "Grant Types"
- Select "Password" (this enables user/password requests for this library)


## Usage

From the auth0 API, copy:

- API IDENTIFIER (ie. "auth0-get-token") as `AUTH0_AUDIENCE`

From the auth0 Application, copy:

- Domain as `AUTH0_BASE_URL` (add `https://`)
- Client ID as `AUTH0_CLIENT_ID`
- Client Secret as `AUTH0_CLIENT_SECRET`

Then, you can retrieve a token:

    const getToken = require('auth0-get-token')
    const tokens = await getToken('username', 'test-password')
npm package: @heng1025/epub-parse
Description: - 支持小程序和web - web端需要fetch支持
Author: heng1025
Latest version: 0.0.1

### epub文件解析(just epub xml,never .epub file)
- 支持小程序和web
- web端需要fetch支持

### 使用方法
- 解析epub路径
`parseEpubBook(epubUri).then(bkEpub => bkEpub)`
- 获取每章内容
`const { spine,manifest,packageDirectory } = kEpub;`
`loadEpubChapter(epubUri,packageDirectory,spine,manifest,spinePos) #spinePos表示章节序号`


> 参考 https://github.com/dariocravero/parse-epub.git
npm package: @hengam/dayjs-jalali-plugin
Description: Persian (Jalali, Khorshidi) Plugin for Day.js
Author: ph98
Latest version: 0.0.7

# Dayjs-Jalali-Plugin
[![npm (scoped with tag)](https://img.shields.io/npm/v/@hengam/dayjs-jalali-plugin/latest.svg?style=flat-square)](https://www.npmjs.com/package/@hengam/dayjs-jalali-plugin)
[![npm](https://img.shields.io/npm/dt/@hengam/dayjs-jalali-plugin.svg?style=flat-square)](https://www.npmjs.com/package/@hengam/dayjs-jalali-plugin)


Persian (Jalali, Khorshidi) Plugin for [Day.js](https://github.com/iamkun/dayjs), This package add multi-calendar functionality to Day.js core regardless for of locale, so we can have Gregorian calendar is Persian locale of Jalali calendar in English locale
Unlike moment and becuase of immutablity of dayjs, there is no need for formats like `jYYYY` or `jMM`, in Jalaliday all formats are same and standard

>

## Installation
NPM
```
npm install --save @hengam/dayjs-jalali-plugin
```
YARN
```
yarn add @hengam/dayjs-jalali-plugin
```

## Usage
```javascript
import dayjs from 'dayjs'
import jalaliPlugin from '@hengam/dayjs-jalali-plugin'

dayjs.extend(jalaliPlugin)
```

### Changing calendar
If you want to all new instanses of dayjs use `jalali` calendar, you can set default calendar
```javascript
dayjs.calendar('jalali') // Jalali Calendar
// OR
dayjs.calendar('gregory') // Gregorian Calendar
```
also you can create a jalali date without changing default calendar
```javascript
const date = dayjs()
const jalaliDate = date.calendar('jalali')
```

### Parse Date
- Parse Gregory date
```js
const date = dayjs('2018-04-04T16:00:00.000Z');
```
- Parse Jalali date
```js
const date = dayjs('1398-10-17', { jalali: true });
```

### Multiple Locale
with combination of `calendar` and `locale` we have multi language for real
```javascript
dayjs().toCalendar('jalali').locale('en').format('DD MMMM YYYY') // '13 Shahrivar 1397'
dayjs().toCalendar('gregory').locale('fa').format('DD MMMM YYYY') // '04 سپتامبر 2018'
```