open-index/open-npm huggingface dataset:
npm package: @rudderstack/rudder-integration-amplitude-react-native
Description: Rudder React Native SDK Amplitude Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.3.0

# rudder-integration-amplitude-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-amplitude-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-amplitude-react-native`

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-integration-amplitude-react-native` to your project.

## Usage

```javascript
import RudderIntegrationAppcenterReactNative from '@rudderstack/rudder-integration-amplitude-react-native';
```
npm package: @rudderstack/rudder-integration-appcenter-react-native
Description: Rudder React Native SDK Appcenter Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.3.0

# rudder-integration-appcenter-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-appcenter-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-appcenter-react-native`

{% hint style="info" %}
Make sure the `minSdkVersion` of your `build.gradle` in the root of `android` directory is atleast `21`
{% endhint %}

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-integration-appcenter-react-native` to your project.

## Usage

```javascript
import RudderIntegrationAppcenterReactNative from '@rudderstack/rudder-integration-appcenter-react-native';

// TODO: What to do with the module?
RudderIntegrationAppcenterReactNative;
```
npm package: @rudderstack/rudder-integration-appsflyer-react-native
Description: Rudder React Native SDK Appsflyer Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.8.0

# rudder-integration-appsflyer-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-appsflyer-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-appsflyer-react-native`

## Usage

```javascript
import RudderIntegrationAppsflyerReactNative from '@rudderstack/rudder-integration-appsflyer-react-native';

// TODO: What to do with the module?
RudderIntegrationAppsflyerReactNative;
```
npm package: @rudderstack/rudder-integration-braze-react-native
Description: Rudder React Native SDK Braze Device mode support for Android and iOS
Author: RudderStack
Latest version: 2.4.0

# rudder-integration-braze-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-braze-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-braze-react-native`

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-integration-braze-react-native` to your project.

## Usage

```javascript
import RudderIntegrationAppcenterReactNative from '@rudderstack/rudder-integration-braze-react-native';
```
npm package: @rudderstack/rudder-integration-clevertap-react-native
Description: Rudder React Native SDK CleverTap Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.3.0

# rudder-integration-clevertap-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-clevertap-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-clevertap-react-native`

## Usage

```javascript
import RudderIntegrationCleverTapReactNative from '@rudderstack/rudder-integration-clevertap-react-native';

// TODO: What to do with the module?
RudderIntegrationCleverTapReactNative;
```
npm package: @rudderstack/rudder-integration-facebook-react-native
Description: RudderStack React Native SDK Facebook Device mode integration for Android and iOS
Author: RudderStack
Latest version: 1.2.0

# rudder-integration-facebook-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-facebook-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-facebook-react-native`

## Usage

```javascript
import RudderIntegrationFacebookReactNative from '@rudderstack/rudder-integration-facebook-react-native';

// TODO: What to do with the module?
RudderIntegrationFacebookReactNative;
```
npm package: @rudderstack/rudder-integration-firebase-react-native
Description: Rudder React Native SDK Firebase Device mode support for Android and iOS
Author: RudderStack
Latest version: 2.2.0

# rudder-integration-firebase-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-firebase-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-firebase-react-native`

## Usage

```javascript
import firebase from '@rudderstack/rudder-integration-firebase-react-native';

const config = {
  dataPlaneUrl: TEST_DATAPLANE_URL,
  logLevel: RUDDER_LOG_LEVEL.VERBOSE,
  withFactories: [firebase],
};

await rc.setup(TEST_WRITE_KEY, config, options);
```
npm package: @rudderstack/rudder-integration-moengage-react-native
Description: Rudder React Native SDK Moengage Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.3.0

# rudder-integration-moengage-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-moengage-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-moengage-react-native`

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-integration-moengage-react-native` to your project.

## Usage

```javascript
import RudderIntegrationAppcenterReactNative from '@rudderstack/rudder-integration-moengage-react-native';
```
npm package: @rudderstack/rudder-integration-singular-react-native
Description: Rudder React Native SDK Singular Device mode support for Android and iOS
Author: RudderStack
Latest version: 1.3.0

# rudder-integration-singular-react-native

## Getting started

`$ npm install @rudderstack/rudder-integration-singular-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-integration-singular-react-native`

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-integration-singular-react-native` to your project.

## Usage

```javascript
import RudderIntegrationSingularReactNative from '@rudderstack/rudder-integration-singular-react-native';
```
npm package: @rudderstack/rudder-plugin-db-encryption-react-native
Description: Rudder React Native DBEncryption Plugin support for Android and iOS
Author: RudderStack
Latest version: 1.5.1

# rudder-plugin-db-encryption-react-native

## Getting started

`$ npm install @rudderstack/rudder-plugin-db-encryption-react-native --save`

### Mostly automatic installation

`$ react-native link rudder-plugin-db-encryption-react-native`

Run `pod install` inside the `ios` directory of your project adding `@rudderstack/rudder-plugin-db-encryption-react-native` to your project.

## Usage

```javascript
import RudderIntegrationAppcenterReactNative from '@rudderstack/rudder-plugin-db-encryption-react-native';
```
npm package: @rudeigerc/shiki-transformer-copy-button
Description: Shiki transformer that adds a copy-to-clipboard button
Author: Yuchen Cheng
Latest version: 0.1.1

# @rudeigerc/shiki-transformer-copy-button

## Installation

```shell
npm install @rudeigerc/shiki-transformer-copy-button
```

## Usage

```css
.shiki-code-block-btn-clipboard {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  background-color: rgb(55 65 81);
  color: rgb(209 213 219);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  z-index: 10;
  opacity: 0;

  &:hover {
    background-color: rgb(75 85 99);
    color: rgb(255 255 255);
    opacity: 1;
  }

  svg {
    width: 1rem;
    height: 1rem;

    &.icon-check {
      display: none;
    }
  }

  &.copied {
    background-color: rgb(22 163 74);
    color: rgb(255 255 255);
    opacity: 1;

    svg {
      &.icon-clipboard {
        display: none;
      }

      &.icon-check {
        display: block;
      }
    }
  }
}
```

With Tailwind CSS:

```css
.shiki-code-block-btn-clipboard {
  @apply absolute top-2 right-2 p-2 rounded-md bg-gray-700 hover:bg-gray-600 text-gray-300 hover:text-white transition-all duration-200 z-10 opacity-0;

  &:hover {
    @apply opacity-100;
  }

  svg {
    @apply w-4 h-4;

    &.icon-check {
      @apply hidden;
    }
  }

  &.copied {
    @apply bg-green-600 text-white opacity-100;

    svg {
      &.icon-clipboard {
        @apply hidden;
      }

      &.icon-check {
        @apply block;
      }
    }
  }
}
```

## References

- [@selemondev/shiki-transformer-copy-button](https://github.com/selemondev/shiki-transformer-copy-button)
- [shiki-transformer-copy-button](https://github.com/joshnuss/shiki-transformer-copy-button)
- [@rehype-pretty/transformers](https://github.com/rehype-pretty/rehype-pretty-code)

## License

MIT
npm package: @rudeigerc/shiki-transformer-title
Description: Shiki transformer that adds an extra file title
Author: Yuchen Cheng
Latest version: 0.2.1

# @rudeigerc/shiki-transformer-title

## Installation

```shell
npm install @rudeigerc/shiki-transformer-title
```

## Usage

```css
.shiki-code-block-title {
  margin-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}
```

With Tailwind CSS:

```css
.shiki-code-block-title {
  @apply mt-4 px-4 py-2 text-sm font-medium;
}
```

## License

MIT
npm package: @rudein/bs-searchable-multiselect
Description: Responsive multiselect with search bar built upon bootstrap
Author: rudein
Latest version: 2.2.7



# bs-searchable-multiselect  
  
## How to start  
  
 1. Import *bootstrap* and *jQuery*  
 2. Run *sms-generate-templates* in directory that you want to store your templates file
 3. Import *sms_templates.js* which was generated in last step  
 4. Import *sms.js*  
 5. Add `class='sms-select'` to your `<select>` tag.  
   
**Done!**  

 You can also add *sms-template-dark* to classes of your select, if you prefer darker colors.


## Using custom templates
If you want to further customize your select, there are a few simple steps that you have to perform:

 1. Create your custom template. You can start with the one from *sms_templates.html*
	 - Remember to give it at least two classes: *sms-searchable-multiselect* and one that starts with *sms-template*, eg. *sms-template-custom*
 2. Run *sms-generate-templates* with a path to your template as a first param. For example:
 `sms-generate-templates /foo/bar/custom_sms_templates.html`
 3. Add your new custom template class to your select. It should look like this:
 `<select class='sms-select sms-template-custom'>`

And that's all. *sms-generate-templates* updated *sms_templates.js* file, adding your new template to it.

**NOTE**: 
If you want to add more than one template, just put them all in one file, one after another.


## Constants
For now there is only one constant that you should be aware of - **sms_max_rows**. When this is set, there will be only that much visible rows. Rest of them will be wrapped with scrollable area.

Remember that this will work correctly only for templates that make use of bootstrap lists, or ones that have row height similar to them.


## Other mildly important things
You can also decide if you do not want to filter selected options. To do so, just add *sms-do-not-filter-chosen* class to your select.

> Written with [StackEdit](https://stackedit.io/).
npm package: @rudi23/koa-joi-router-docs
Description: OpenAPI(aka Swagger) API docs generator for koa-joi-router
Author: Krzysztof Rudowski
Latest version: 1.0.0

# koa-joi-router docs generator

[![NPM version][npm-image]][npm-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/@rudi23/koa-joi-router-docs.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@rudi23/koa-joi-router-docs
[download-image]: https://img.shields.io/npm/dm/@rudi23/koa-joi-router-docs.svg?style=flat-square
[download-url]: https://www.npmjs.com/package/@rudi23/koa-joi-router-docs
[koa-joi-router]: https://github.com/koa-better-modules/joi-router
[swagger]: https://swagger.io

This project is based on [chuyik/koa-joi-router-docs](https://github.com/chuyik/koa-joi-router-docs).

A node module for generating [Swagger 2.0][swagger] JSON definitions from existing [koa-joi-router][] routes.

## Installation

Install using [`npm`][npm-url]:

```bash
npm install @rudi23/koa-joi-router-docs
```

NodeJS `>= 12.0.0.` is required.

## Example
Visit [example/](./example) folder to see the full example.

## API

#### `new SwaggerAPI()`
Creates a new SwaggerAPI instance.

#### `swaggerAPI.addJoiRouter(router, options)`

Add a joi-router instance to the API. The router should already have all its
routes set up before calling this method (which pulls the route definitions
from the router's `.routes` property).

Options:
- `prefix`: prefix to add to Swagger path (use prefix from JoiRouter if not set)

#### `swaggerAPI.generateSpec(baseSpec, options)`

Create a Swagger specification for this API. A base specification should be
provided with an `info` object (containing at least the `title` and `version`
strings) and any other global descriptions.

Options:
- `defaultResponses`: xustom default responses
  ```js
  {
    200: {
      description: 'Success'
    }
  }
  ```
npm package: @rudimusmaximus/tiny
Description: Removes all spaces from a string
Author: rudimusmaximus
Latest version: 1.0.1

# @rudimusmaximus/tiny

[![npm (scoped)](https://img.shields.io/npm/v/@rudimusmaximus/tiny.svg)](https://www.npmjs.com/package/@rudimusmaximus/tiny)
[![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/@rudimusmaximus/tiny.svg)](https://www.npmjs.com/package/@rudimusmaximus/tiny)

Removes all spaces from a string.

## Install

```
$ npm install @rudimusmaximus/tiny
```

## Usage

```js
const tiny = require("@rudimusmaximus/tiny");

tiny("So much space!");
//=> "Somuchspace!"

tiny(1337);
//=> Uncaught TypeError: Tiny wants a string!
//    at tiny (<anonymous>:2:41)
//    at <anonymous>:1:1
```
npm package: @rudra-xyz/web3-plugin-multicall
Description: A web3.js 4.x Plugin for Interacting With Multicall Contract
Author: rudra
Latest version: 0.1.0

# web3-plugin-multicall

[![npm version](https://img.shields.io/badge/npm-0.1.0-brightgreen)](https://www.npmjs.com/package/@rudra-xyz/web3-plugin-multicall)

The Multicall Web3.js Plugin enhances the functionality of the Web3.js library, enabling smooth and efficient interaction with the [Multicall3](https://github.com/mds1/multicall).


## Prerequisites 

-   :gear: [NodeJS](https://nodejs.org/) (LTS/Fermium)
-   :toolbox: [Yarn](https://yarnpkg.com/)

## Installation

> Note: Make sure you have installed the [web3](https://www.npmjs.com/package/web3) version 4.0.3 or above.


```bash
yarn add @rudra-xyz/web3-plugin-multicall
```

## Basic Usage

This plugin completely supports the [Multicall3 contract functions](https://github.com/mds1/multicall/blob/main/src/Multicall3.sol).<br>
For detailed instructions on how to use the Multicall3 contract, please refer to [this repo](https://github.com/mds1/multicall?tab=readme-ov-file#usage).


```typescript
import { Web3 } from "web3";
import { MulticallPlugin } from '@rudra-xyz/web3-plugin-multicall';

import { ERC20_ABI } from "./abis/erc20";

const main = async () => {
    const web3 = new Web3("https://eth.public-rpc.com");
    web3.registerPlugin(new MulticallPlugin());

    const erc20 = new web3.eth.Contract(
        ERC20_ABI,
        "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984", // UNI Token on Ethereum mainnet
    );

    const calls = [
        {
            target: web3.multicall.contractAddress,
            callData: web3.multicall.getLastBlockHash().encodeABI(),
        },
        {
            target: erc20.options.address!,
            callData: erc20.methods.totalSupply().encodeABI(),
        },
    ];

    const results = await web3.multicall.aggregate(calls).call();

    console.log(results.returnData)
    /*
      [
        '0x6471e50c10d51e141a41fdaebe5e3a4ec76deac3534009ab7d009b0eab6dcfba',
        '0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000'
      ]
    */
};

main();
```


## Reference

- [web3.js plugin](https://docs.web3js.org/guides/web3_plugin_guide/plugin_authors)
- [mds1/multicall](https://github.com/mds1/multicall)


## License

This app is open-source and licensed under the MIT license. For more details, check the [License file](LICENSE).
npm package: @rudradubey/envguard
Description: A lightweight environment variable validator for Node.js projects.
Author: Rudra Dubey
Latest version: 1.0.1

# envguard

A lightweight tool to validate and manage environment variables in your Node.js projects.

### 🚀 Installation
bash
npm install envguard

### ⚡Usage

const envguard = require("envguard");

// Simple check
envguard(["MONGO_URL", "JWT_SECRET", "PORT"]);

// With default values
envguard({
  MONGO_URL: "mongodb://localhost:27017/test",
  JWT_SECRET: "abcd123",
  PORT: 4000,
});

### ✅ Features

Checks missing environment variables
Supports default values
Graceful error messages
Works in any Node project (CommonJS compatible)