open-index/open-npm huggingface dataset:
npm package: @giacomogaglione/tempura-kit
Description: Set of UI components for tempura projects
Latest version: 0.14.4

# 🥞 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: @giact/eslint-formatter-github-annotations
Description: An ESLint formatter to report as GitHub Checks annotations
Author: engineering@able.co
Latest version: 0.1.2

# @giact/eslint-formatter-github-annotations

An [ESLint](https://eslint.org/) formatter to report as GitHub Checks annotations with a bonus command line tool to format [Prettier](https://prettier.io/) output as GitHub Checks annotations.

## Usage

1. Add `@giact/eslint-formatter-github-annotations` to your dependencies:

   ```shell
   npm install --save-dev @giact/eslint-formatter-github-annotations
   ```

2. Create a GitHub action workflow with this formatter:

   ```yaml
   name: Lint
   on:
     pull_request:
   jobs:
     eslint:
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v3
         - uses: actions/setup-node@v3
           with:
             node-version: 18
             cache: npm
         - run: npm ci
         - name: Prettier
           run: npx prettier --list-different . | npx prettier-formatter-github
         - name: ESLint
           if: always()
           run: npx eslint -f @giact/eslint-formatter-github-annotations .
   ```

## Testing

```shell
npm run test
```

## Contributing

Contributions are welcome. Please check out the [Contributing guide](CONTRIBUTING.md) for the guidelines you need to follow.

Please read our [Code of Conduct](CODE_OF_CONDUCT.md) so that you can understand the kind of respectful behavior we expect of all participants.

## License

Open Source Project is released under the MIT license. See [LICENSE](LICENSE) for the full license text.
npm package: @giakki/encrypt-webpack-plugin
Description: Webpack plugin to encrypt sources
Author: Giacomo Martino
Latest version: 0.0.1

# Encrypt Webpack Plugin

_Not sure why you'd want this, but here it is..._

## Installation

```sh
npm i @giakki/encrypt-webpack-plugin
```

## Simple usage

```js
{
    entry: {
        privateCss: path.resolve(__dirname, 'src/index.css'),
        privateJs: path.resolve(__dirname, 'src/index.js'),
    },
    plugins: [
        encryptPlugin({ assets: ['privateCss.css', 'privateJs.js'], key: process.env.SECRET_KEY }),
    ]
}
```

## Options

The simplest way to use the plugin is to specify the assets and the secret key to use, as show above.
If used this way, the plugin wil derive a key using `100000` passes of `pbkdf2` using a random salt, and then encrypt
the assets using `aes-256-cbc`.
The output will be the base-64 concatenation of `[salt, iv, cyphertext]`.

The `key` argument also accepts configurable `pbkdf2` options, as such:

```js
{
    assets: [...],
    key: {
        digest: 'sha512',
        iterations: 100000,
        password: SECRET,
        salt: crypto.randomBytes(16),
    }
}
```

Where `password` and `salt` can either be `String`s or `Buffer`s.
npm package: @giakki/responsive-adapter-ext
Description: Custom adapter for responsive-loader
Author: Giacomo Martino
Latest version: 0.0.3

# responsive-adapter-ext

Custom [Sharp](https://github.com/lovell/sharp) adapter for [responsive-loader](https://github.com/dazuaz/responsive-loader).

## Installation

```sh
npm install --save-dev responsive-adapter-ext responsive-loader sharp
```

## Usage

```ts
import { adapter} from 'responsive-loader-ext';

...

{
    test: /\.(jpe?g|png)$/i,
    loader: 'responsive-loader',
    options: {
        adapter,
    },
}
```

## Supported operations

In addition to the standard operations supported by `responsive-loader`, this adapter supports resizing by aspect ratio and by height.

For example, starting with this reference image (512x512 pixels):

![Original](./test/fixtures/lenna.png 'Original image')

### Resizing and cropping by aspect ratio

```js
require('lenna.png?resize=true&width=512&aspectRatio=7/5');
```

![Image cropped by aspect ratio](./test/fixtures/aspect-ratio.png 'Image cropped by aspect ratio')

### Resizing and cropping by height

```js
require('lenna.png?resize=true&height=100');
```

![Image resized by height](./test/fixtures/height.png 'Image resized by height')

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @gianbue/uniswap-sdk-v2-0404
Description: 🛠 An SDK for building applications on top of Uniswap.
Latest version: 3.0.3

# 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/Uniswap/uniswap-sdk/workflows/CI/badge.svg)](https://github.com/Uniswap/uniswap-sdk)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/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/Uniswap/uniswap-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: @giancarl021/async-stream
Description: Tools for dealing with streaming data from AsyncIterableIterators
Author: Giancarlo Fontela da Luz
Latest version: 0.1.2

# AsyncStream

Tools for dealing with streaming data from `AsyncIterableIterators`

For example, suppose you have an async generator that yields all the natural numbers:

```typescript
async function* naturalNumbers() {
    let n = 1;
    while (true) {
        yield n++;
    }
}
```

You can use `AsyncStream` to create a stream of natural numbers and then apply various transformations to it:

```typescript
import AsyncStream from '@giancarl021/async-stream';

const stream = new AsyncStream(naturalNumbers());

const result = await stream
    .filter(n => n % 2 === 0) // Keep only even numbers
    .map(n => n * n) // Square the numbers
    .pack(2) // Group into pairs
    .take(5) // Take the first 5 pairs
    .collect(); // Collect the results into an array

console.log(result); // Outputs: [ [ 4, 16 ], [ 36, 64 ], [ 100, 144 ], [ 196, 256 ], [ 324, 400 ] ]
```

## Documentation and Source Code

The source code and documentation for this project can be found on [GitHub](https://github.com/Giancarl021/AsyncStream).
npm package: @giancarl021/browser-cache
Description: Simple caching service for frontend applications
Author: Giancarlo Fontela da Luz
Latest version: 0.1.4

# Browser-Cache

Simple caching service for frontend applications.
## Similar projects

* [TinyCache](https://www.npmjs.com/package/tinycache) - In-memory cache service;

* [Node-Cache](https://www.npmjs.com/package/node-cache) - For NodeJS, but works with polyfills.

## Why?

This package aims to provide a simple cache service with expiration time for browser applications, utilizing the [Storage API](https://developer.mozilla.org/en-US/docs/Web/API/Storage) to store the data.

This allows for a simple caching service that can be used in any browser application, without the need to install any additional dependencies, but, if needed, can be extended to use a different implementation of the default `localStorage` and `sessionStorage`.

## Documentation and Source-Code

You can find the full documentation and source-code of this package [here](https://github.com/Giancarl021/Browser-Cache).
npm package: @giancarl021/cli-core
Description: CLI wrapper to make easier to create tools
Author: Giancarlo Fontela da Luz
Latest version: 1.0.7

# CLI Core

CLI Toolkit for building command-line applications in Node.js.
The library provides a flexible way to define commands, providing automatic parsing of arguments, flags, stdio handling and help generation. It also provides a rich extension system to extend the functionality of the final application.

## Documentation and Source Code

The source code and documentation for this project can be found on [GitHub](https://github.com/Giancarl021/cli-core).
npm package: @giancarl021/cli-core-docs-generator
Description: Generate Markdown files from a help descriptor file of a cli-core project
Author: Giancarlo Fontela da Luz
Latest version: 0.1.2

# cli-core-docs-generator

Generate Markdown files from a help descriptor file of a [@giancarl021/cli-core](https://www.npmjs.com/package/@giancarl021/cli-core) project.

## Installation

You can install this package globally on [NPM](https://www.npmjs.com/package/@giancarl021/cli-core-docs-generator).

## Documentation and Source-Code

You can find the full documentation and source-code of this package [here](https://github.com/Giancarl021/cli-core-docs-generator).
npm package: @giancarl021/cli-core-vault-extension
Description: Plain and secure storage extension for the @giancarl021/cli-core npm package
Author: Giancarlo Fontela da Luz
Latest version: 1.0.3

# CLI Core Vault Extension

Vault extension for CLI Core that provides persistent object storage capabilities. It allows the developer to store and retrieve data in a structured manner, using TypeScript Types as Schemas. Using three main storage methods:

- Persistent
- Temporary
- Secret

## Documentation and Source Code

The source code and documentation for this project can be found on [GitHub](https://github.com/Giancarl021/cli-core-vault-extension).
npm package: @giancarl021/code-viewer
Description: View code from a local folder through a webserver
Author: Giancarlo Fontela da Luz
Latest version: 0.1.4

# Code-Viewer

CLI tool to view code from a local folder through a webserver.

## Installation

```bash
npm install --global @giancarl021/code-viewer
```

## Usage

The application have a single command: `serve`, which starts the webserver and routes the local files to the browser.

The description of this command is the following:

```plaintext
code-viewer serve [<path/to/expose>]
  Description: Exposes a path on the given port, default path is current working directory       
  Flags:
    -p | --port: The port to serve the application on, default PORT environment variable or 3000 
      Values: <port>
    -t | --tunnel: Create a tunnel to the internet with the localtunnel service
```

Supposing you want to expose the `src` directory in the current working directory on port 8080, you can run the following command:

```bash
code-viewer serve src --port 8080
```
npm package: @giancarl021/locate
Description: Get a path from root of project or cwd
Author: Giancarlo Fontela da Luz
Latest version: 0.1.7

# locate
Locate a file based on root of project or cwd

## Installation

npm:
```bash
npm install --save @giancarl021/locate
```

yarn:
```bash
yarn add @giancarl021/locate
```

## Usage

From root:
```js
const locate = require('@giancarl021/locate');

const databasePath = locate('data/database');
// Will return <root>/data/database, independent of the file who calls it
```

From CWD:
```js
const locate = require('@giancarl021/locate');

const package = locate('package.json', true);
// Will return <process.cwd()>/package.json, independent of the file who calls it
```
npm package: @giancarl021/path-like-resolver
Description: Generates a tree structure using a list of UNIX-like paths, with support for custom payloads.
Author: Giancarlo Fontela da Luz
Latest version: 0.1.3

# Path-Like Resolver

Generate tree structure from a list of UNIX-like paths, with support for custom payloads.

## Why?

This package allows simple transformations on path lists to a tree structure, which can be used in a file explorer, for example. The package is very simple and lightweight, and it's written in TypeScript, allowing generics for payloads or no payloads at all.

## Documentation and Source-Code

You can find the documentation and source-code on [GitHub](https://github.com/Giancarl021/path-like-resolver).