open-index/open-npm huggingface dataset:
npm package: @ioiotv/serverless-associate-waf
Description: Associate a regional WAF with the AWS API Gateway used by your Serverless stack.
Author: IOIO.TV
Latest version: 1.2.2

# serverless-associate-waf

Based on: https://github.com/MikeSouza/serverless-associate-waf

Associate a regional WAF with the AWS API Gateway used by your Serverless stack.

## Install

`npm install serverless-associate-waf --save-dev`

## Configuration

Add the plugin to your `serverless.yml`:

```yaml
plugins:
  - serverless-associate-waf
```

### Associating a Regional WAF with the API Gateway

Add your custom configuration:

```yaml
custom:
  associateWaf:
    name: myRegionalWaf
    version: Regional #(optional) Regional | V2
```

| Property | Required | Type     | Default | Description                                                    |
|----------|----------|----------|---------|----------------------------------------------------------------|
| `name`   |  `true`  | `string` |         | The name of the regional WAF to associate the API Gateway with |
| `version`|  `false` | `string` | `Regional`| The AWS WAF version to be used|

### Disassociating a Regional WAF from the API Gateway

Remove the `name` property from your custom configuration but keep the `version` if specified, and then deploy the application. The plugin must stay in the plugins list of `serverless.yml` in order for the WAF to be disassociated.

## Usage

Configuration of your `serverless.yml` is all you need.

There are no custom commands, just run: `sls deploy`
npm package: @ioiotv/serverless-dependson-models-plugin
Description: Serverless plugin for executing API Gateway models creation in chain
Author: IOIO.TV
Latest version: 1.0.0

# serverless-dependson-models-plugin
Serverless plugin which chains API Gateway models creation

## Installation 
```
npm install "@ioiotv/serverless-dependson-models-plugin"
```


## Using plugin
Specify plugin 
```
plugins:
  - "@ioiotv/serverless-dependson-models-plugin"
```


Enable plugin usage in `serverless.yml` file 

```
    custom:
      dependsOnModels:
        enabled: true  
```
npm package: @iojcde/locomotive-scroll
Description: Detection of elements in viewport & smooth scrolling with parallax effects.
Author: Locomotive
Latest version: 5.0.0-beta.15

> **Warning** 
> 
> Locomotive Scroll v.5 is currently in **beta**. Be prepared for breaking changes compared to previous versions.

# Locomotive Scroll v.5

> Detection of elements in viewport & smooth scrolling with parallax effects.

Locomotive Scroll is an opinionated JavaScript library that provides smooth scrolling animations and advanced scroll interactions for web applications. It is designed to create engaging and interactive scrolling experiences with ease. Locomotive Scroll offers features such as smooth scrolling, parallax effects and scroll-based animations.

Read the [documentation](https://scroll.locomotive.ca/docs) for more details.

## Installation

You can install it via NPM by running the following command:

```bash
npm install locomotive-scroll@beta
```
Find more ways to install the package in our [Quick start](https://scroll.locomotive.ca/docs/#/quickstart?id=installation) guide.

## Features

| Name                        | Support | Description                                                                                                      |
| --------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| Lenis                       | ✅      | Built on top of [Lenis](https://github.com/studio-freight/lenis).                       |
| TypeScript                  | ✅      | For a better developer experience                                                                                |
| Built-in viewport detection | ✅      | Using browsers's native Intersection Observer API                                                                |
| Real time progress value    | ✅      | For flexible scroll-based animation                                                                              |
| Accessibility and performance  | ✅      | More than ever!                                                                                                  |
| Lightweight                 | ✅      | [8.3KB (gzip)](https://bundlephobia.com/package/locomotive-scroll@beta)                                                                                                     |

## Dependencies

| Name                                             | Description                  |
| ------------------------------------------------ | ---------------------------- |
| [Lenis](https://github.com/studio-freight/lenis) | How smooth scroll should be. |

## Related

-   [Lenis](https://github.com/studio-freight/lenis)
-   [Modularjs](https://github.com/modularorg/modularjs)
-   [Locomotive Boilerplate 🚂](https://github.com/locomotivemtl/locomotive-boilerplate)
npm package: @iokfine/dappeteer
Description: E2E testing for dApps using Puppeteer + MetaMask
Latest version: 1.0.3

# dAppeteer

E2E testing for dApps using Puppeteer + MetaMask

## Installation

```
$ npm install -s @chainsafe/dappeteer
$ yarn add @chainsafe/dappeteer
```

## Usage

```js
import puppeteer from 'puppeteer';
import dappeteer from '@chainsafe/dappeteer';

async function main() {
  const [metamask, page] = await dappeteer.bootstrap(puppeteer, { metamaskVersion: 'v10.15.0' });

  // you can change the network if you want
  await metamask.switchNetwork('ropsten');

  // you can import a token
  await metamask.addToken({
    tokenAddress: '0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa',
    symbol: 'KAKI',
  });

  // go to a dapp and do something that prompts MetaMask to confirm a transaction
  await page.goto('http://my-dapp.com');
  const payButton = await page.$('#pay-with-eth');
  await payButton.click();

  // 🏌
  await metamask.confirmTransaction();
}

main();
```

- All methods can be found on [API page](docs/API.md)  
- Instructions to setup [dAppeteer with Jest](docs/JEST.md)  
- Mocha example can be found [inside test folder](./test)
npm package: @ioki/node-ts-cache-storage-elasticsearch
Description: ElasticSearch storage module for node-ts-cache
Latest version: 7.0.1

# node-ts-cache-storage-elasticsearch

ElasticSearch storage module for [node-ts-cache](https://www.npmjs.com/package/node-ts-cache).

This module expects you to bring your own instance of ElasticSearch.

```bash
yarn add @ioki/node-ts-cache @ioki/node-ts-cache-storage-elasticsearch
```

```ts
import { ElasticSearchStorage } from "@ioki/node-ts-cache-storage-elasticsearch"
import { Cache, CacheContainer } from "@ioki/node-ts-cache"
import { Client } from "@elastic/elasticsearch";

const client = new Client({
    node: "http://localhost:9200",
    Connection: mock.getConnection(),
});

const storage = new ElasticSearchStorage(indexName, client);

const userCache = new CacheContainer(storage)

class MyService {
    @Cache(userCache, { ttl: 60 })
    public async getUsers(): Promise<string[]> {
        return ["Max", "User"]
    }
}
```
npm package: @ioki/node-ts-cache-storage-ioredis
Description: Redis storage module for node-ts-cache
Latest version: 8.0.1

# node-ts-cache-storage-ioredis

IoRedis storage module for [node-ts-cache](https://www.npmjs.com/package/node-ts-cache).

An IoRedis instance must be created and passed to the library.
See https://github.com/luin/ioredis#connect-to-redis for available options.

```bash
yarn add @ioki/node-ts-cache @ioki/node-ts-cache-storage-ioredis ioredis
```

```ts
import { Cache, CacheContainer } from "@ioki/node-ts-cache"
import { IoRedisStorage } from "@ioki/node-ts-cache-storage-ioredis"
import IoRedis from "ioredis"

const ioRedisInstance = new IoRedis({
    port: 6379, // Redis port
    host: "127.0.0.1", // Redis host
    family: 4, // 4 (IPv4) or 6 (IPv6)
    password: "auth",
    db: 0
})
const userCache = new CacheContainer(new IoRedisStorage(ioRedisInstance))

class MyService {
    @Cache(userCache, { ttl: 60 })
    public async getUsers(): Promise<string[]> {
        return ["Max", "User"]
    }
}
```
npm package: @ioki/node-ts-cache-storage-memory
Description: Memory storage module for node-ts-cache
Latest version: 8.0.1

# node-ts-cache-storage-memory

In-Memory storage module for [node-ts-cache](https://www.npmjs.com/package/@ioki/node-ts-cache).

```bash
yarn add @ioki/node-ts-cache
yarn add @ioki/node-ts-cache-storage-memory
```

```ts
import { Cache, CacheContainer } from "@ioki/node-ts-cache"
import { MemoryStorage } from "@ioki/node-ts-cache-storage-memory"

const userCache = new CacheContainer(new MemoryStorage())

class MyService {
    @Cache(userCache, { ttl: 60 })
    public async getUsers(): Promise<string[]> {
        return ["Max", "User"]
    }
}
```
npm package: @ioki/node-ts-cache-storage-node-fs
Description: Nodejs filesystem storage module for node-ts-cache
Latest version: 8.0.1

# node-ts-cache-storage-node-fs

Node.js file system storage module for [node-ts-cache](https://www.npmjs.com/package/@ioki/node-ts-cache).

```bash
yarn add @ioki/node-ts-cache @ioki/node-ts-cache-storage-node-fs
```

```ts
import { Cache, CacheContainer } from "@ioki/node-ts-cache"
import { NodeFsStorage } from "@ioki/node-ts-cache-storage-node-fs"

const userCache = new CacheContainer(new NodeFsStorage())

class MyService {
    @Cache(userCache, { ttl: 60 })
    public async getUsers(): Promise<string[]> {
        return ["Max", "User"]
    }
}
```
npm package: @ioki/node-ts-cache-storage-pg
Description: Postgres storage module for node-ts-cache
Latest version: 2.0.2

# node-ts-cache-storage-pg

Postgres storage module for [node-ts-cache](https://www.npmjs.com/package/node-ts-cache).

This module is driver-agnostic. It expects you to bring your own raw query method - something most of the postgres available drivers provide.
The driver needs to support the question-mark notation for [prepared statements](https://www.postgresql.org/docs/14/ecpg-commands.html#ECPG-PREPARED).

```bash
yarn add @ioki/node-ts-cache @ioki/node-ts-cache-storage-pg
```

In this example, node-postgres (pg) is being used.
You should to provide a table with the following columns:

```kv
* key: text
value: jsonb
```

The query function should return an array of objects: `{ key: string, value: CacheItem }[]`.

```ts
import { PgStorage } from "@ioki/node-ts-cache-storage-pg"
import { Cache, CacheContainer } from "@ioki/node-ts-cache"
import Client from "pg"

const client = new Client()

await client.connect()

const storage = new PgStorage(tableName, async (query) => (await new Client().query(query)).rows)

const userCache = new CacheContainer(storage)

class MyService {
    @Cache(userCache, { ttl: 60 })
    public async getUsers(): Promise<string[]> {
        return ["Max", "User"]
    }
}
```
npm package: @iolaus/common
Description: An opinionated semantic versioning system for lerna.
Latest version: 1.1.2

# @iolaus/common

![npm](https://img.shields.io/npm/v/@iolaus/common?style=flat-square)

Common internal functions and constants for `iolaus` packages.

See the [README](https://github.com/effervescentia/iolaus/blob/master/README.md) for documentation on `iolaus`.
npm package: @iolaus/core
Description: An opinionated semantic versioning system for lerna.
Latest version: 1.7.0

# @iolaus/core

![npm](https://img.shields.io/npm/v/@iolaus/core?style=flat-square)

The core library containing logic responsible for executing semantic releases.

See the [README](https://github.com/effervescentia/iolaus/blob/master/README.md) for documentation on `iolaus`.
npm package: @iold/babel-preset-old
Description: Babel preset for iOld CLI
Latest version: 1.0.8

@iold/babel-preset-old
---

Custom Babel Presets, based on [babel-preset-react-app](https://github.com/facebook/create-react-app/tree/master/packages/babel-preset-react-app), polyfill and transforms of jest included.

## Usage

```bash
npm i @iold/babel-preset-old -D
```

#### Babel Presets

In `.babelrc`:

```json
{
  "presets": ["react-app"]
}
```

#### Polyfill

```js
import '@iold/babel-preset-old/lib/polyfill';
// Or
require('@iold/babel-preset-old/lib/polyfill');
```
npm package: @iold/old-core
Description: Core
Latest version: 1.0.8

@iold/old-core
---

The core utils for platform and third-part developers.

## API

### Modules

 - chalk
 - fs
 - inquirer
 - yargs
 - semver
 - ora
 - npa
 - logSymbols
 - webpack
 - WebpackDevServer
 - boxen
 - changeCase
 - copy
 - debug

### Types

`./src/types.ts`

### Utils

`./src/utils.ts`
npm package: @iold/react-antd-theme
Description: 提供 less 变量文件，用于编译 antd 样式。
Latest version: 0.1.2

# iOld antd theme 主题包

提供 less 变量文件，用于编译 antd 样式。

## 安装

```
cnpm i @iold/react-antd-theme -S
```

## 使用

```
import theme from '@iold/react-antd-theme';

const config = theme({
    themeColor: 'red',
    borderRadius: 0,
});
```