open-index/open-npm huggingface dataset:
npm package: @rabbitcc/postcss-selector-parser
Description: > Selector parser with built in methods for working with selector strings.
Latest version: 6.0.9

# postcss-selector-parser [![Build Status](https://travis-ci.org/postcss/postcss-selector-parser.svg?branch=master)](https://travis-ci.org/postcss/postcss-selector-parser)

> Selector parser with built in methods for working with selector strings.

## Install

With [npm](https://npmjs.com/package/postcss-selector-parser) do:

```
npm install postcss-selector-parser
```

## Quick Start

```js
const parser = require('postcss-selector-parser');
const transform = selectors => {
    selectors.walk(selector => {
        // do something with the selector
        console.log(String(selector))
    });
};

const transformed = parser(transform).processSync('h1, h2, h3');
```

To normalize selector whitespace:

```js
const parser = require('postcss-selector-parser');
const normalized = parser().processSync('h1, h2, h3', {lossless: false});
// -> h1,h2,h3
```

Async support is provided through `parser.process` and will resolve a Promise
with the resulting selector string.

## API

Please see [API.md](API.md).

## Credits

* Huge thanks to Andrey Sitnik (@ai) for work on PostCSS which helped
  accelerate this module's development.

## License

MIT
npm package: @rabbitcc/react-router-redux
Description: Redux bindings for React Router
Latest version: 5.0.0-alpha.9

# react-router-redux

[![npm version](https://img.shields.io/npm/v/react-router-redux/next.svg?style=flat-square)](https://www.npmjs.com/package/react-router-redux)  [![npm downloads](https://img.shields.io/npm/dm/react-router-redux.svg?style=flat-square)](https://www.npmjs.com/package/react-router-redux) [![build status](https://img.shields.io/travis/reactjs/react-router-redux/master.svg?style=flat-square)](https://travis-ci.org/reactjs/react-router-redux)

> **Keep your state in sync with your router** :sparkles:

This is beta software, it needs:

1. A working example
2. Some people to try it out and find bugs
3. A strategy for working with the devtools
   - (issue describing a different approach to what we've seen previously coming soon)
   
## Versions

This (react-router-redux 5.x) is the version of react-router-redux for use with react-router 4.x. 
Users of react-router 2.x and 3.x want to use react-router-redux found at [the legacy repository](https://github.com/reactjs/react-router-redux).

## Installation

```
npm install --save react-router-redux@next
npm install --save history
```

## Usage

Here's a basic idea of how it works:

```jsx
import React from 'react'
import ReactDOM from 'react-dom'

import { createStore, combineReducers, applyMiddleware } from 'redux'
import { Provider } from 'react-redux'

import createHistory from 'history/createBrowserHistory'
import { Route } from 'react-router'

import { ConnectedRouter, routerReducer, routerMiddleware, push } from 'react-router-redux'

import reducers from './reducers' // Or wherever you keep your reducers

// Create a history of your choosing (we're using a browser history in this case)
const history = createHistory()

// Build the middleware for intercepting and dispatching navigation actions
const middleware = routerMiddleware(history)

// Add the reducer to your store on the `router` key
// Also apply our middleware for navigating
const store = createStore(
  combineReducers({
    ...reducers,
    router: routerReducer
  }),
  applyMiddleware(middleware)
)

// Now you can dispatch navigation actions from anywhere!
// store.dispatch(push('/foo'))

ReactDOM.render(
  <Provider store={store}>
    { /* ConnectedRouter will use the store from Provider automatically */ }
    <ConnectedRouter history={history}>
      <div>
        <Route exact path="/" component={Home}/>
        <Route path="/about" component={About}/>
        <Route path="/topics" component={Topics}/>
      </div>
    </ConnectedRouter>
  </Provider>,
  document.getElementById('root')
)
```
npm package: @rabbitcoin/sdk
Description: 🛠 An SDK for building applications on top of RabbitCoin.
Latest version: 2.4.4

# RabbitCoin SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## 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/RabbitCoinSwap/rabbitcoin-sdk.git
```

Move into the rabbitcoin-sdk working directory

```sh
cd rabbitcoin-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: @rabbitholegg/questdk
Description: <br/>
Latest version: 2.0.0-alpha.55

<br/>

<p align="center">
  <a href="https://rabbithole.gg/#">
      <picture>
        <source media="(prefers-color-scheme: dark)" srcset="https://github.com/rabbitholegg/questdk/assets/2935356/8bca331c-4c88-4084-98ce-35c547cfcc4d">
        <img alt="questdk logo" src="https://github.com/rabbitholegg/questdk/assets/2935356/48ca4d95-3e4a-40ae-b3a7-a02f42a14ad4" width="auto" height="80">
      </picture>
  </a>
</p>

<p align="center">
  <code> 0.0.0-alpha </code>
</p>

<br/>

<p align="center">
      <picture>
        <img src="https://github.com/rabbitholegg/questdk/assets/2935356/c7e21457-7a7a-4ec8-af26-7f8a6bb8726e" width="60%">
      </picture>
<br />
<br />
<code>Go instead where there is no path and leave a trail.</code>
</p>
<br/>


## Set up the codebase

### Set up pnpm

Install `pnpm` globally:

```bash
npm install -g pnpm
```

### Install dependencies

```bash
pnpm install
```

## Developing

### Build the codebase

```bash
pnpm build
```

### Run the tests

```bash
pnpm test
```

## Publishing
In order to publish you need to make sure that the pull request you're submitting has a changeset. If you don't want to publish this isn't needed.
In order to generate a changeset run `pnpm changeset`, select a change type [major,minor,patch], and draft a small summary of the changeset.

After this all you need to do is push and merge the pull request and the Github Action will handle the process of versioning, and publishing.
npm package: @rabbithouse/eslint-config
Description: Essential ESLint presets.
Author: Jiahao Guo
Latest version: 6.0.39

# eslint-config

Essential ESLint presets.

## Install

`pnpm add -D @rabbithouse/eslint-config`.

## Presets

- `react-app`: React, TypesSript, Web.
- `node`: TypesSript, Node.js.

## Usage

Go to local `.eslintrc.js`:

```js
/**
 * @type {import("eslint").Linter.Config}
 */
module.exports = {
  extends: ['@rabbithouse/eslint-config/node'],
  // if TypeScript is used,
  // add `tsconfigRootDir` like this to local config.
  parserOptions: { tsconfigRootDir: __dirname },
}
```
npm package: @rabbitio/ui-kit
Description: Rabbit.io react.js components kit
Author: admin@rabbit.io
Latest version: 1.0.0-beta.131

# Installation
~~~bash
npm install --save @rabbitio/ui-kit
~~~

# Using library
1. To use components or base modules for web:
* import the following way
~~~javascript
import { Button, AmountUtils } from "@rabbitio/ui-kit";
~~~
* add top-level styles import
~~~javascript
import "@rabbitio/ui-kit/index.css";
~~~
2. To use components or base modules for next.js import the following way and add "@rabbitio/ui-kit" to transpilePackages inside your next.config.js:

~~~javascript
import { Button } from "@rabbitio/ui-kit/next";
import { AmountUtils } from "@rabbitio/ui-kit";
~~~
* add "@rabbitio/ui-kit" to transpilePackages in next.config.js
~~~javascript
transpilePackages: ["@rabbitio/ui-kit"],
~~~
* Import styles inside pages/_app.js
~~~javascript
import "@rabbitio/ui-kit/index.css";
~~~

# Adding new component
1. Add a directory for component under the semantically corresponding subdirectory inside **./src/components** and add **<Component>.js**, **<Component>.module.scss** to this directory
2. Under the **./stories** directory repeat the directories structure from **./src/components** and implement **<Component>.stories.js** there
3. Add the implemented component import to barrel file **./stories/index.js**
~~~javascript
export { default as <Component> } from "./path/to/<Component>";
~~~

# Running storybook
~~~bash
sudo docker build -t storybook-app .
~~~
~~~bash
sudo docker run -d -p 6006:6006 storybook-app
~~~

# Publishing
1. Increase version number
2. Run npm run build. Ensure that all the uncommitted changes are planned to be published as build command will build them all into the bundle.  
3. Commit and push changes
4. Run:
~~~bash
npm login
npm publish --access public
~~~

# Dev details
1. The repository uses husky to assure
   1. each commit message ends with task_id=<id>
   2. there is no uncommitted changes when pushing (to avoid pushing not built changes)
2. The repository follows git-flow branching model
3. There is a basic CI/CD setup
4. Integration tests require environment variables. Copy `.env.exampl`e to `.env` and fill in the required values (e.g. `GOEXME_API_KEY=<YOUR_TOKEN>`). These variables are supplied by `CI` automatically, but are mandatory locally for tests to pass.
npm package: @rabbitlock/runtime
Description: RabbitLock runtime CLI for decrypting SOPS JSON to env vars.
Latest version: 0.1.3

# @rabbitlock/runtime

Minimal RabbitLock runtime helpers for decrypting `env.sops.json` into runtime
environment variables.

## Why this exists

Teams want Git-native secrets without a central vault. SOPS lets you keep
encrypted secrets in the repo, but you still need a safe way to decrypt them at
runtime without writing plaintext to disk. This package provides that last
step, using the same RabbitLock identity seed that encrypted the SOPS file.

## Why SOPS

- Git-native: encrypted files live with your code.
- Auditable: diffs show which keys changed without exposing values.
- No vault lock-in: any environment can decrypt with the right key.
- Works offline: decryption happens locally.

## How RabbitLock (UI) fits

Use the RabbitLock web app to manage `env.sops.json`:

1. Open the SOPS tab and import `.env` or an existing SOPS file.
2. Decrypt, edit, and re-encrypt in the browser.
3. Download the updated `env.sops.json` and commit it to your repo.
4. Store `RABBITLOCK_SEED_HEX` in your secrets manager for runtime use.

The runtime CLI in this package uses that same seed to decrypt the file in your
app environment.

## Install

```bash
npm install @rabbitlock/runtime
```

Requires Node.js.

## Usage (CLI)

```bash
export RABBITLOCK_SEED_HEX=...
set -a
eval "$(npx rabbitlock-env --in env.sops.json --export)"
set +a
```

```bash
npx rabbitlock-env --in env.sops.json --json
```

```bash
npx rabbitlock-env --in env.sops.json --write-env .env
```

## Usage (Python helper)

```python
from rabbitlock_env import load_env_dict, load_env_into_os

env = load_env_dict(seed_hex="...", sops_path="env.sops.json")
load_env_into_os(seed_hex="...", sops_path="env.sops.json")
```

Note: the Python helper shells out to Node.js.
Paths are resolved from your current working directory; pass an absolute
`sops_path` if needed.

## Using in apps

Shell or Node startup:

```bash
export RABBITLOCK_SEED_HEX=...
set -a
eval "$(npx rabbitlock-env --in env.sops.json --export)"
set +a
node server.js
```

Python app startup:

```bash
export RABBITLOCK_SEED_HEX=...
PYTHONPATH=node_modules/@rabbitlock/runtime python app.py
```

Inside `app.py`:

```python
from rabbitlock_env import load_env_into_os

load_env_into_os(seed_hex="...", sops_path="env.sops.json")
```

## Security notes

- Keep `RABBITLOCK_SEED_HEX` in a secrets manager, never in Git.
- Prefer the `--export` + `eval` flow to avoid writing plaintext to disk.
- Use `--write-env` only for local debugging.

## Notes

- This package bundles the Wasm crypto artifacts in `pkg/`.
- The CLI reads the SOPS file from the current working directory unless `--in`
  is provided.
npm package: @rabbitracker/sdk
Description: Advanced privacy-first tracking SDK with fingerprinting and security detection
Author: RabbitTracker Team
Latest version: 3.2.4

<p align="center">
  <br>
  <a href="https://rabbitracker.com">
    <img src="https://rabbitracker.com/logo.svg" alt="RabbitTracker logo" width="312px" />
  </a>
</p>

Makes a website visitor identifier from a browser fingerprint.
Unlike cookies and local storage, fingerprint stays the same in incognito/private mode and even when browser data is purged.
100% cookieless analytics tracking with GDPR/LGPD compliance and advanced bot detection.

## Quick start

Get a workspace token:

1. Register a new account at [rabbitracker.com/signup](https://rabbitracker.com/signup)
2. After registration go to the [dashboard](https://rabbitracker.com/workspaces) and create a new workspace
3. Go to the "API Keys" page, create and copy your workspace token

### Install from NPM

```bash
npm i @rabbitracker/sdk
# or
yarn add @rabbitracker/sdk
```

```js
import RabbitTrackerSDK from "@rabbitracker/sdk";

// Initialize an agent at application startup.
const tracker = new RabbitTrackerSDK({
  token: "your-workspace-token",
  debug: true, // Enable for development
});

// Track page views (automatic)
// tracker.trackPageView() is called automatically

// Track conversions
tracker.trackPurchase({
  value: 99.99,
  currency: "USD",
  productId: "product-123",
});

// Track custom events
tracker.trackCustomEvent("button_click", {
  button_id: "signup",
  page: "homepage",
});

// Get visitor data
console.log("Visitor ID:", tracker.getUserData().fingerprint);
```

### Alternatively you can install from CDN

##### Note: Installing via a script tag may interfere with SDK functionality for users with ad blockers enabled.

```html
<script src="https://cdn.jsdelivr.net/npm/@rabbitracker/sdk@3/dist/sdk.min.js"></script>
<script>
  // Initialize the agent at application startup.
  const tracker = new RabbitTracker({
    token: "your-workspace-token",
  });

  // Track custom events
  tracker.trackCustomEvent("page_interaction", {
    element: "header_button",
    action: "click",
  });

  // Get visitor identifier
  const userData = tracker.getUserData();
  console.log("Visitor ID:", userData.fingerprint);
</script>
```

Note that you need to replace `your-workspace-token` with a workspace token from the [dashboard](https://rabbitracker.com/workspaces).
npm package: @rabbitswap/uikit
Description: Set of UI components for rabbitswap projects
Latest version: 0.1.3

# 🥞 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/)

<sub><sup>forked from pancakeswap/pancake-uikit</sup></sub>