open-index/open-npm huggingface dataset:
npm package: @keller_/router-sdk
Description: An sdk for routing swaps using Uniswap v2 and Uniswap v3.
Latest version: 1.0.1-beta.6

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap Swap Router SDK

This SDK is meant to facilitate interactions with the contracts in [swap-router-contracts](https://github.com/Uniswap/swap-router-contracts).
npm package: @keller_/sdk-core
Description: ⚒️ An SDK for building applications on top of Uniswap V3
Latest version: 1.0.1-beta.6

# Uniswap SDK Core

[![npm version](https://img.shields.io/npm/v/@keller_/sdk-core/latest.svg)](https://www.npmjs.com/package/@keller_/sdk-core/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@keller_/sdk-core/latest.svg)](https://bundlephobia.com/result?p=@keller_/sdk-core@latest)

This code is shared across Uniswap TypeScript SDKs.
npm package: @keller_/v2-sdk
Description: 🛠 An SDK for building applications on top of Uniswap V2
Latest version: 1.0.1-beta.6

# Uniswap V2 SDK

[![npm version](https://img.shields.io/npm/v/@keller_/v2-sdk/latest.svg)](https://www.npmjs.com/package/@keller_/v2-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@keller_/v2-sdk/latest.svg)](https://bundlephobia.com/result?p=@keller_/v2-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).
npm package: @keller_/v3-sdk
Description: ⚒️ An SDK for building applications on top of Uniswap V3
Latest version: 1.0.1-beta.6

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap V3 SDK

[![npm version](https://img.shields.io/npm/v/@keller_/v3-sdk/latest.svg)](https://www.npmjs.com/package/@keller_/v3-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@keller_/v3-sdk/latest.svg)](https://bundlephobia.com/result?p=@keller_/v3-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://docs.uniswap.org/).
npm package: @kellerkinder/stylelint-config
Description: Kellerkinder Stylelint configuration
Author: Kellerkinder GmbH
Latest version: 1.1.0

# Kellerkinder Stylelint Config

[![npm version](https://badge.fury.io/js/%40kellerkinder%2Fstylelint-config.svg)](https://badge.fury.io/js/%40kellerkinder%2Fstylelint-config)

This package provides the Kellerkinder Stylelint configuration supporting SCSS as well as [TailwindCSS](https://tailwindcss.com).
It is based on the [Stylelint Standard](https://github.com/stylelint/stylelint-config-standard)
with slight alterations.

## Requirements
This config has been developed and tested with the following requirements:
* NodeJS >= 12
* Stylelint >= 13.0.0

## Installation
In order to use this configuration, run the following scripts in your NodeJS project:

```bash
$ npm i -D stylelint stylelint-config-standard @kellerkinder/stylelint-config
```

## Usage
You can use this configuration by creating an `.stylelintrc.json` inside your
project's root directory that is extending this configuration.

```json
{
    "extends": ["@kellerkinder/stylelint-config"]
}
```

You can now execute Stylelint by running the following script:

```bash
$ npx stylelint src/
```

The `src/` directory can be replaced with the directory or file you want to lint.

If you want Stylelint to try to fix the errors it found, execute the following command:

```bash
$ npx stylelint src/ --fix
```

Alternatively, refer to your IDE's documentation to find out, if and how Stylelint
is integrated.

## Changelog
This project adheres to [Semantic Versioning](https://semver.org/). 
Please refer to the [CHANGELOG.md](CHANGELOG.md) for detailed changes and
migration instructions.

## License
MIT
npm package: @kellerkinder/tailwind-config
Description: Kellerkinder corporate design tailwind config
Author: Kellerkinder GmbH
Latest version: 2.0.0

# Kellerkinder TailwindCSS Config

[![npm version](https://badge.fury.io/js/%40kellerkinder%2Ftailwind-config.svg)](https://badge.fury.io/js/%40kellerkinder%2Ftailwind-config)

This package provides the Kellerkinder [TailwindCSS](https://tailwindcss.com) configuration.

## Requirements
This config has been developed and tested with the following requirements:
* NodeJS >= 12
* TailwindCSS >= 3.0.0
* PostCSS >= 8.0.0
* Autoprefixer >= 10.0.0

## Installation
In order to install this configuration, run the following scripts in your NodeJS project:

```bash
$ npm i tailwindcss postcss autoprefixer @kellerkinder/tailwind-config
```

## Usage
In order to use this configuration, you can implement it as a preset in your `tailwind.config.js`:

```js
// tailwind.config.js
const createK10rPreset = require('@kellerkinder/tailwind-config');

module.exports = {
    presets: [
        createK10rPreset(),
    ],
    // ... rest of your config
};
```

## Features
This preset offers the following features.

### Tailwind Forms
The plugins `@tailwindcss/forms` is included in this configuration to provide out-of-the-box support for [TailwindUI](https://tailwindui.com).

### Corporate Identity Colors
The [Kellerkinder](https://kellerkinder.de) corporate identity colors are provided.

**Primary color**: `#171c21`

* Shades
  * `gray-100`
  * `gray-80`
  * `gray-60`
  * `gray-40`
  * `gray-20`
* Aliases
  * `primary`

**Secondary color**: `#f56600`

* Shades
  * `orange-100`
  * `orange-80`
  * `orange-60`
  * `orange-40`
  * `orange-20`
* Aliases
  * `secondary`
  * `accent`

## Changelog
This project adheres to [Semantic Versioning](https://semver.org/).
Please refer to the [CHANGELOG.md](CHANGELOG.md) for detailed changes and
migration instructions.

## License
MIT
npm package: @kelley-sharp/react-hooks
Description: A useful set of custom React hooks
Author: Kelley Sharp
Latest version: 0.0.2

# React Hooks

This package contains a set of my favorite custom React hooks that I use on nearly every project. The only dependency is React.

## Hooks

### usePrevious

This is a hook that caches the value of _anything_ you want on the previous render. It is helpful to determine when something changed what the exact value was on the most recent render.

```tsx
function Counter() {
  const [count, setCount] = useState(0);
  const prevCount = usePrevious(count);

  useEffect(() => {
    if (count - prevCount > 1) {
      console.log("You just jumped the count by more than 1 at a time!");
    }
  }, [count, prevCount]);
}
```

### useDidChange

This hook will take any value and determine whether it has changed since the last render. It returns `true` if the value is different.
For objects, it uses the `JSON.stringify` method for simple comparisons.

```tsx
function ToggleSwitch() {
  const [toggled, setToggled] = useState(false);
  const wasToggled = useDidChange(toggled);

  useEffect(() => {
    if (wasToggled){
      console.log("the switch was toggled between the previous and current render");
    }
  }, [toggled, wasToggled]);
}
```
npm package: @kelleyvanevert/ascii-morph
Description: Tim Holman's AsciiMorph library in an npm package
Author: Kelley van Evert
Latest version: 0.0.1

## AsciiMorph
AsciiMorph is a small stand alone javascript library for rendering ascii art and creations into elements, allowing for them to be changed out with a morphing transition.

### Demo
Here's a gif of it in action. You can also play with the [demo live here](http://codepen.io/tholman/full/BQLQyo).

![Ascii Morph in action](https://s3.amazonaws.com/tholman.com/static-assets/ascii-morph-demo.gif)

### Usage

You'll need an `dom` element for the ascii's to be rendered within.

```html
<!-- Pre elements are perfect for this. -->
<pre class="ascii-element">
</pre>
```

Next up, you will want to initialize the library. The second parameter is the `width` and `height` properties you want in your rendering square. The ascii will be rendered centered within them, and fill the rest with white space. Naturally this looks best with monospace fonts.

```javascript
// Initialize AsciiMorph
var element = document.querySelector('pre');
AsciiMorph(element, {x: 50,y: 25});
```

Then you can get to the fun, rendering elements, and morphing between them.

```javascript

// First, define some ascii art.
var bird = [
 "                             /",
 "                            /",
 "                           /;",
 "                          //",
 "                         ;/",
 "                       ,//",
 "                   _,-' ;_,,",
 "                _,'-_  ;|,'",
 "            _,-'_,..--. |",
 "    ___   .'-'_)'  ) _)\\|      ___",
 "  ,'\"\"\"`'' _  )   ) _)  ''--'''_,-'",
 "-={-o-  /|    )  _)  ) ; '_,--''",
 "  \\ -' ,`.  ) .)  _)_,''|",
 "   `.\"(   `------''     /",
 "     `.\\             _,'",
 "       `-.____....-\\\\",
 "                 || \\\\",
 "                 // ||",
 "                //  ||",
 "            _-.//_ _||_,",
 "              ,'  ,-'/"
 ]

var mona = [
 "         ____",
 "        o8%8888,",
 "      o88%8888888.",
 "     8'-    -:8888b",
 "    8'         8888",
 "   d8.-=. ,==-.:888b",
 "   >8 `~` :`~' d8888",
 "   88         ,88888",
 "   88b. `-~  ':88888",
 "   888b ~==~ .:88888",
 "   88888o--:':::8888",
 "   `88888| :::' 8888b",
 "   8888^^'       8888b",
 "  d888           ,%888b.",
 " d88%            %%%8--'-.",
 "/88:.__ ,       _%-' ---  -",
 "    '''::===..-'   =  --.  `",
 ]
 
// Then, you can render (will render instantly)
AsciiMorph.render(bird);

// Then morph, to a new creation
AsciiMorph.morph(mona);

```

### License

Copyright (c) 2016 Tim Holman - http://tholman.com

[The MIT License](https://github.com/tholman/ascii-morph/blob/master/license.md)
npm package: @kellyclaude/mcpshield-core
Description: Core functionality for MCPShield: registry client, lockfile manager, types
Latest version: 0.1.3

# @kellyclaude/mcpshield-core

Core functionality for MCPShield, including:

- **RegistryClient**: Fetch server metadata from MCP Registry API
- **Types**: TypeScript interfaces for servers, packages, lockfiles, and security
- **Utilities**: Helper functions for validation and data extraction

## Usage

```typescript
import { RegistryClient, RegistryServerResponse } from '@kellyclaude/mcpshield-core';

const client = new RegistryClient();

// Fetch server metadata
const response = await client.getServer('postmark');
console.log(response.server.description);

// Check verification status
const isVerified = client.isVerified(response);
console.log(`Verified: ${isVerified}`);

// Extract publisher identity
const identity = client.extractPublisherIdentity(response);
console.log(`Status: ${identity.status}`);
```

## API

### RegistryClient

#### `constructor(options?: RegistryClientOptions)`

Create a new registry client.

Options:
- `baseUrl`: Registry base URL (default: `https://registry.modelcontextprotocol.io`)
- `timeout`: Request timeout in ms (default: 30000)
- `retries`: Number of retries on failure (default: 2)
- `headers`: Additional HTTP headers

#### `async getServer(name: string): Promise<RegistryServerResponse>`

Fetch server metadata by name.

Throws:
- `RegistryError` on network errors or invalid responses
- Status code 404: Server not found
- Status code 429: Rate limit exceeded
- Status code 5xx: Registry service unavailable

#### `extractPublisherIdentity(response: RegistryServerResponse)`

Extract publisher identity information from registry metadata.

Returns:
- `status`: 'official' | 'verified' | 'community'
- `github`: { owner, repo } if repository is on GitHub
- `npm`: { package } if server uses npm packages

#### `isVerified(response: RegistryServerResponse): boolean`

Check if server has official or verified status.

#### `getVersion(response: RegistryServerResponse): string`

Get server version (defaults to '1.0.0' if not specified).

#### `validateServerResponse(response: RegistryServerResponse): boolean`

Validate that response has required structure.

## Development

```bash
# Build
npm run build

# Test
npm test

# Clean
npm run clean
```