open-index/open-npm huggingface dataset:
npm package: @ruffy/ts-optional
Description: An Optional type inspired by Scala's Option for better undefined handling.
Author: Johan Ablett-Karlsson
Latest version: 1.1.1

![Node.js CI](https://github.com/ruffythepirate/ts-optional/workflows/Node.js%20CI/badge.svg)
[![codecov](https://codecov.io/gh/ruffythepirate/ts-optional/branch/master/graph/badge.svg)](https://codecov.io/gh/ruffythepirate/ts-optional)

# Optional

This repository provides an optional type that allows for cleaner code when dealing with operations that would otherwise return undefined

## Features

Refer to the [API documentation](https://ruffythepirate.github.io/ts-optional/globals.html) to see available classes and their functions.

## Requirements

* Node and npm
* To build or develop you will benefit from having `npx` https://github.com/npm/npx. This allows invoking of the other global npm requirements in the repository (Typescript, Jest) without having to install them.

## Usage

You can install the package using

```bash
npm i -S @ruffy/ts-optional
```

You can then use the classes direct as:
```typescript
Optional.of(undefined) === None.nil
Optional.of(2) === new Some(2)
```

or you can use the provided helper functions for cleaner code:
```typescript
optional(undefined) === none
optional(2) === some(2)
```

## Contributing

Contributions, if they are in line with Monad logic are welcome. Requirements for pull requests are:
* All code is tested
* Naming is consistent with project naming
* Commits are squashed and contain commit messages according to [RFC: Commit Message Guidelines](https://gist.github.com/abravalheri/34aeb7b18d61392251a2)

## License

[MIT](./LICENSE)
npm package: @ruforms/form
Description: Core form library for Ruforms
Author: RuForms Team
Latest version: 0.0.18

# @ruforms/form-inputs

A collection of high-quality React form input components built with TypeScript and Tailwind CSS

## 🚀 Installation

### Using shadcn CLI 3.0+ (Recommended)

**1. Add RuForms registry to your `components.json`:**

```json
{
  "registries": {
    "@ruforms": {
      "url": "https://your-cloudfront-domain/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${REGISTRY_TOKEN}"
      }
    }
  }
}
```

**2. Install components:**

```bash
npx shadcn@latest add @ruforms/input
npx shadcn@latest add @ruforms/textarea
npx shadcn@latest add @ruforms/button
npx shadcn@latest add @ruforms/select
```

**3. Set your registry token:**

```bash
export REGISTRY_TOKEN="your-license-key-here"
# Or add to .env file
```

### Manual Installation

```bash
npm install @ruforms/form-inputs
```

## 📦 Available Components

- **Input** - Text input with variants and validation
- **Textarea** - Multi-line text input
- **Button** - Action button with multiple styles
- **Select** - Dropdown selection component

## 🎨 Features

- **TypeScript** - Fully typed components
- **Tailwind CSS** - Utility-first styling
- **Accessible** - ARIA compliant
- **Customizable** - Easy to theme and extend
- **Lightweight** - Optimized bundle size

## 🔧 Development

```bash
# Install dependencies
pnpm install

# Build components
pnpm run build

# Development mode
pnpm run dev

# Lint and type check
pnpm run lint
pnpm run type-check
```

## 📝 License

MIT License - see [LICENSE](LICENSE) for details.

## 🤝 Contributing

This is part of the RuForms ecosystem. For questions and support, visit [ruforms.com](https://ruforms.com).

# Test comment
npm package: @ruforms/form-builder
Description: Builder UI for creating forms with Ruforms
Author: RuForms Team
Latest version: 0.0.18

# @ruforms/form-inputs

A collection of high-quality React form input components built with TypeScript and Tailwind CSS

## 🚀 Installation

### Using shadcn CLI 3.0+ (Recommended)

**1. Add RuForms registry to your `components.json`:**

```json
{
  "registries": {
    "@ruforms": {
      "url": "https://your-cloudfront-domain/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${REGISTRY_TOKEN}"
      }
    }
  }
}
```

**2. Install components:**

```bash
npx shadcn@latest add @ruforms/input
npx shadcn@latest add @ruforms/textarea
npx shadcn@latest add @ruforms/button
npx shadcn@latest add @ruforms/select
```

**3. Set your registry token:**

```bash
export REGISTRY_TOKEN="your-license-key-here"
# Or add to .env file
```

### Manual Installation

```bash
npm install @ruforms/form-inputs
```

## 📦 Available Components

- **Input** - Text input with variants and validation
- **Textarea** - Multi-line text input
- **Button** - Action button with multiple styles
- **Select** - Dropdown selection component

## 🎨 Features

- **TypeScript** - Fully typed components
- **Tailwind CSS** - Utility-first styling
- **Accessible** - ARIA compliant
- **Customizable** - Easy to theme and extend
- **Lightweight** - Optimized bundle size

## 🔧 Development

```bash
# Install dependencies
pnpm install

# Build components
pnpm run build

# Development mode
pnpm run dev

# Lint and type check
pnpm run lint
pnpm run type-check
```

## 📝 License

MIT License - see [LICENSE](LICENSE) for details.

## 🤝 Contributing

This is part of the RuForms ecosystem. For questions and support, visit [ruforms.com](https://ruforms.com).

# Test comment
npm package: @ruforms/form-inputs
Description: Builder UI for creating forms with Ruforms
Author: RuForms Team
Latest version: 0.0.18

# @ruforms/form-inputs

A collection of high-quality React form input components built with TypeScript and Tailwind CSS

## 🚀 Installation

### Using shadcn CLI 3.0+ (Recommended)

**1. Add RuForms registry to your `components.json`:**

```json
{
  "registries": {
    "@ruforms": {
      "url": "https://your-cloudfront-domain/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${REGISTRY_TOKEN}"
      }
    }
  }
}
```

**2. Install components:**

```bash
npx shadcn@latest add @ruforms/input
npx shadcn@latest add @ruforms/textarea
npx shadcn@latest add @ruforms/button
npx shadcn@latest add @ruforms/select
```

**3. Set your registry token:**

```bash
export REGISTRY_TOKEN="your-license-key-here"
# Or add to .env file
```

### Manual Installation

```bash
npm install @ruforms/form-inputs
```

## 📦 Available Components

- **Input** - Text input with variants and validation
- **Textarea** - Multi-line text input
- **Button** - Action button with multiple styles
- **Select** - Dropdown selection component

## 🎨 Features

- **TypeScript** - Fully typed components
- **Tailwind CSS** - Utility-first styling
- **Accessible** - ARIA compliant
- **Customizable** - Easy to theme and extend
- **Lightweight** - Optimized bundle size

## 🔧 Development

```bash
# Install dependencies
pnpm install

# Build components
pnpm run build

# Development mode
pnpm run dev

# Lint and type check
pnpm run lint
pnpm run type-check
```

## 📝 License

MIT License - see [LICENSE](LICENSE) for details.

## 🤝 Contributing

This is part of the RuForms ecosystem. For questions and support, visit [ruforms.com](https://ruforms.com).

# Test comment
npm package: @ruforms/primitives
Description: primitives for RuForms
Author: RuForms Team
Latest version: 0.0.11

# @ruforms/primitives

primitives for RuForms..

## Installation

```bash
pnpm add @ruforms/primitives
```

## Usage

```tsx
import { ExampleComponent } from "@ruforms/primitives";

function App() {
  return <ExampleComponent />;
}
```

## Development

```bash
# Install dependencies
pnpm install

# Start development mode
pnpm dev

# Build for production
pnpm build

# Run linting
pnpm lint

# Type check
pnpm type-check
```

## License

MIT
npm package: @rufus31415/monpremierpatron
Description: Mon premier essai de patron
Author: fg
Latest version: 0.0.2

# monpremierpatron

> Mon premier essai de patron

[![NPM](https://img.shields.io/npm/v/monpremierpatron.svg)](https://www.npmjs.com/package/monpremierpatron) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save monpremierpatron
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from 'monpremierpatron'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

 © [fg](https://github.com/fg)
npm package: @rugal.tu/gulp-initer
Description: Based on gulp, easy to use gulp for copy/clear npm folders/files
Author: Rugal Tu
Latest version: 2.1.3

# Gulp-Initer
## Based on gulp <br> Easy to use gulp for copy/clear npm folders/files
### How to use:

* Install Gulp-Initer from npm
* Create gulpfile.js 
* Include gulp-initer in your gulpfile.js
```js
const Initer = require('@rugal.tu/gulp-initer');
```

---

### Methods:

* #### `WithSourceRoot()`
* #### `WithTargetRoot()`

Set foloder source/target path, if not set the default root directory is used <br>
Default source/target root path is ```node_modules``` and ```wwwroot/npm```

```js
Initer
    .WithSourceRoot('node_modules')
    .WithTargetRoot('wwwroot/npm');
```

---

* #### `UseClearTarget()`

Enable/Disable clear task, if not set the default is enable ```true```

```js
Initer
    .UseClearTarget(true);
```

---

Add the folder/file that needs to be copied to the settings
You can use these to filter .js .ts .css files:
* #### `AddFolder_Js()`
* #### `AddFolder_Ts()`
* #### `AddFolder_Css()`

```js
Initer
    .AddFolder_Js('vue/dist')        //copy .js files from 'vue/dist' to 'vue/dist'
    .AddFolder_Ts('vue/dist', 'vue') //copy .ts files from 'vue/dist' to 'vue'
    .AddFolder_Css('bootstrap/dist');
```

You can also use ```AddFolder()``` to customize the file types to filter:
* #### `AddFolder()`
```js
Initer
    .AddFolder('bootstrap/dist', null, '*.+(js|css)') // copy .js .css files from 'bootstrap/dist' to 'bootstrap/dist'
    .AddFolder('vue/dist', 'vue', '*.+(js|ts)');      // copy .js .ts files from 'vue/dist' to 'vue'
```

---

* ### `InitTask()`
After completing the folder settings, just call `InitTask()` to create the task and set the task triggering time in `Task Explorer`
```js
Initer
    .AddFolder('vue/dist')
    .InitTask();
```
npm package: @rugal/pulumi-istio
Description: ## Usage
Latest version: 1.0.6

# Istio custom resource definition generated for Typescript

## Usage

### installation

```shell
yarn add @rugal/pulumi-istio
```

### create CRD just like K8S

```typescript
import * as istio from "@rugal/pulumi-istio";

const vs = new istio.networking.v1beta1.VirtualService(name, {
      metadata: {
        name,
        namespace: args.namespace,
      },
      spec: {
        gateways: args.gateway,
        hosts: args.hosts,
        http: [
          {
            match: [
              {
                uri: { prefix: "/" },
              },
            ],
            route: [
              {
                destination: {
                  host: this.service.metadata.name,
                  port: {
                    number: 80,
                  },
                },
              },
            ],
          },
        ],
      },
    }, {
      parent: this,
    });
```

## Contribution

1. Generate the base

   ```shell
   crd2pulumi --nodejsPath src istio/manifests/charts/base/crds/crd-all.gen.yaml
   ```
2. Replace ` | undefined>` with `>`

   ```shell
   sed -i 's/ | undefined>/>/g' src/*
   ```
3. Replace `pulumi.Output<ObjectMeta>` with `pulumi.Output<k8s.types.output.meta.v1.ObjectMeta>`;   
   Also add `import * as k8s from "@pulumi/kubernetes";` on the top of the changed files.  
   The later part is tedious, one must manually add it.
npm package: @rugdoc/uikit
Description: Set of UI components for rugdoc projects
Latest version: 0.35.0

# 🥞 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: @ruggedhaha/subgraph-pricing-utils
Description: Pricing Utils for Subgraph
Author: ruggedev
Latest version: 1.0.9

# subgrpah-pricing-utils

Simple `npm` pkg to get token price from different price source on TheGraph.

### 1. Install

```
$ npm install @ruggedhaha/subgraph-pricing-utils --save-dev
or
$ yarn add @ruggedhaha/subgraph-pricing-utils -D
```

### 2. Update `abis` inside your `subgraph.yaml`

```
abis:
    - name: ChainlinkOracle
      file: ../abis/ChainlinkOracle.json
    - name: ERC20
      file: ../abis/ERC20.json
    - name: JoeDexLens
      file: ../abis/JoeDexLens.json
    - name: Quoter
      file: ../abis/Quoter.json
    - name: UniswapV2Factory
      file: ../abis/UniswapV2Factory.json
    - name: UniswapV2Pair
      file: ../abis/UniswapV2Pair.json
    - name: UniswapV2Router
      file: ../abis/UniswapV2Router.json
    - name: UniswapV3Factory
      file: ../abis/UniswapV3Factory.json
    - name: UniswapV3Pool
      file: ../abis/UniswapV3Pool.json
```

### 3. (Optional) Update the default config

```javascript
const config = DefaultConfig
config.updateConfig(
   <UNIV2_ROUTER>,
   <UNIV3_FACTORY>,
   <UNIV3_QUOTER>,
   <JOE_LENS>
)
```

### 4. Get the token price

```javascript
import { Chainlink, UniswapV2, UniswapV3, DefaultConfig } from '@ruggedhaha/subgraph-pricing-utils'
// Default router set to UniswapV2
const wethPrice = UniswapV2.getTokenPrice([
  Address.fromString('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
  Address.fromString('0xdac17f958d2ee523a2206206994597c13d831ec7'),
])
// Custom price from any UniswapV2-like AMM
const wethPrice_sushi =UniswapV2.getCustomTokenPrice(Address.fromString('0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F') , // Sushi
    [
        Address.fromString('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
        Address.fromString('0xdac17f958d2ee523a2206206994597c13d831ec7'),
    ]),
```