open-index/open-npm huggingface dataset:
npm package: @romanzipp/tailwindcss-text-shadow
Description: Text shadow plugin for tailwindcss
Latest version: 1.0.6

# Tailwind CSS Text Shadow

[![Latest Stable Version](https://img.shields.io/npm/v/@romanzipp/tailwindcss-text-shadow?style=flat-square)](https://www.npmjs.com/package/@romanzipp/tailwindcss-text-shadow)
[![Total Downloads](https://img.shields.io/npm/dy/@romanzipp/tailwindcss-text-shadow?style=flat-square)](https://www.npmjs.com/package/@romanzipp/tailwindcss-text-shadow)
[![GitHub Build Status](https://img.shields.io/github/workflow/status/romanzipp/tailwindcss-text-shadow/Lint?style=flat-square)](https://github.com/romanzipp/tailwindcss-text-shadow/actions)

## Install

Install the plugin from npm:

```shell
yarn add -D @romanzipp/tailwindcss-text-shadow
```

Then add the plugin to your `tailwind.config.js` file:

```js
const textShadow = require('@romanzipp/tailwindcss-text-shadow');

module.exports = {
    theme: {
        // ...
    },
    plugins: [
        textShadow,
        // ...
    ],
};
```

## Usage

```html
<div class="text-shadow text-shadow-red-500 text-shadow-opacity-50">
    Your awesome headline
</div>

```
```
.text-shadow
```

### Sizes

```
.text-shadow-sm
.text-shadow-md
.text-shadow-lg
.text-shadow-xl
```

### Colors

```
.text-shadow-red-400
.text-shadow-red-500
.text-shadow-red-600
```

### Opacity

```
.text-shadow-opacity-5
.text-shadow-opacity-10
.text-shadow-opacity-20
.text-shadow-opacity-25
.text-shadow-opacity-30
.text-shadow-opacity-40
.text-shadow-opacity-50
.text-shadow-opacity-60
.text-shadow-opacity-70
.text-shadow-opacity-75
.text-shadow-opacity-80
.text-shadow-opacity-90
.text-shadow-opacity-95
.text-shadow-opacity-100
```

## // TODO

- [ ] Support color `/` syntax
- [ ] Support JIT values

## Authors

- [Roman Zipp](https://github.com/romanzipp)
npm package: @romanzubenko_afternoon/quickbooks
Description: QuickBooks JavaScript Client
Author: Roman Zubenko
Latest version: 0.0.15

# QuickBooks JavaScript Client

JavaScript client for QuickBooks. Easily connect to the QuickBooks API. Make queries and create objects. TypeScript definitions are built in.

### Install

```
npm i @balancer-team/quickbooks
```

### Configure

```js
import { QuickBooks } from '@balancer-team/quickbooks'

export const qb = new QuickBooks({
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  redirectUri: 'YOUR_REDIRECT_URI',
  environment: 'SANDBOX_OR_PRODUCTION',
})
```

### Get Auth URL

Begin the OAuth 2.0 flow by getting the auth url.

```js
const authUrl = qb.getAuthUrl()
```

### Get Access Token from Grant

Complete the OAuth 2.0 flow by using the grant details to retrieve the access token.

```js
const token = await qb.getTokenFromGrant({
  code: 'GRANT_CODE',
  state: 'STATE_STRING',
  realmId: 'REALM_ID',
})
```

### Access and Refresh Tokens

The `token` is an object that includes the access and refresh tokens, the realm ID, expirations, and other metadata. Tokens aren't stored in the `qb` instance. You must write your own application logic to manage tokens. This makes it easier to create multi-tenant applications, where different tokens have to be used for different users.

Intuit's access tokens are valid for one hour, and refresh tokens are valid for 100 days. You should ensure you are using an active access token by calling the following function. If the access token is still valid, it will simply return the token. If it needs to be refreshed, it will send the request to Intuit and obtain the refreshed token.

```js
const validToken = await qb.getValidToken(staleToken) // -->
// {
//   access_token: 'eyJlbmMiOiJBMTI4...',
//   refresh_token: 'AB11734177244q21...',
//   token_type: 'bearer',
//   realm_id: '8241451349686734',
//   expires_in: 3600,
//   expires_at: 1725454384,
//   x_refresh_token_expires_in: 8726400,
//   x_refresh_token_expires_at: 1733918044,
// }
```

### General-purpose Query Request

The QuickBooks API uses queries to access resources. Unlike most APIs, It is not necessary to specify an endpoint when retrieving a resource. Instead, the resource is specified in a SQL-like query language. Refer to the [API Explorer](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account) for structuring your queries.

```js
const vendors = await qb.query({
  token: token,
  query: 'select * from Vendor',
})
```

### General-purpose Post Request

Use any endpoint and create any object using a general-purpose post request. Refer to the [API Explorer](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account) for endpoints and object structures.

```js
const createdJournalEntry = await qb.post({
  token: token,
  endpoint: '/journalentry',
  body: newJournalEntry,
})
```
npm package: @romanzy/lit-router
Description: Simple router for lit
Author: Roman Volovoy
Latest version: 1.0.5

# @romanzy/lit-router

A simple router for lit. Dive into [here](example) to see how it works.

Still an early version of the library. Expect breaking changes!

# Features

TODO

# Installation

```bash
npm i @romanzy/lit-router
```

# Usage

TODO

# API

# Testing

Before running make sure to install example

```bash
cd ./example && yarn install
```

```bash
npm t
```
npm package: @romanzy/web-event-emitter
Description: Typescript implementation of Node event emitter for the browser
Author: Roman Volovoy
Latest version: 1.1.0

# @romanzy/web-event-emitter

Browser based event emitter with full typescript support.

# Installation

```bash
npm i @romanzy/web-event-emitter
```

# Usage

Create an event map

```typescript
export type MyEventMap = {
  ready: () => void;
  error: (message: string) => void;
};
```

Extend your class from `WebEventEmitter`. Now all events are typed.

```typescript
export class MyClass extends WebEventEmitter<MyEventMap> {}
```

Additionally provides `waitFor` method. It works the same way as `once`, but returns a promise instead

## API

```typescript
  /**
   * Emits an event
   * @param event Event name
   * @param args Arguments to emit with
   */
  public emit<E extends keyof Events>(event: E, ...args: Arguments<Events[E]>): boolean

  /**
   * Subscribes to an event
   * @param event Event name
   * @param listener Callback function to execute when event is emitted
   * @returns
   */
  public on<E extends keyof Events>(event: E, listener: Events[E]): this

  /**
   * Subscribes to event once
   * @param event Event name
   * @param listener Callback function to execute when event is emitted
   * @returns
   */
  public once<E extends keyof Events>(event: E, listener: Events[E]): this

  /**
   * Waits for event to complete, currently never rejects
   * @param event Event name
   * @returns In async context returns event data as an array
   */
  public async waitFor<E extends keyof Events>(event: E): Promise<Arguments<Events[E]>>

  /**
   * Unsubscribes from event
   * @param event Event name
   * @param listener Callback function used when subscribed
   */
  public off<E extends keyof Events>(event: E, listener: Events[E]): this

  /**
   * Unsubscribes all from event. If no arguments are passed,
   * all events with given name are removed
   * @param event Event name
   * @returns
   */
  public offAll<E extends keyof Events>(event?: E): this
```

# TODO

- [ ] add "asIterator" method. useful to be used as

# Credits

Event emitter from [peer-light](https://github.com/skyllo/peer-lite) was used as base for this package
npm package: @romaric_npm/components
Description: Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).
Author: Romaric Hoffmann
Latest version: 0.4.0

# Svelte library

Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).

Read more about creating a library [in the docs](https://svelte.dev/docs/kit/packaging).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```sh
# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app
```

To recreate this project with the same configuration:

```sh
# recreate this project
npx sv@0.12.8 create --template library --types ts --add prettier eslint playwright tailwindcss="plugins:none" sveltekit-adapter="adapter:node" devtools-json mcp="ide:claude-code,cursor,vscode+setup:remote" --install npm romaric-components
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```sh
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.

## Building

To build your library:

```sh
npm pack
```

To create a production version of your showcase app:

```sh
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.

## Publishing

Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).

To publish your library to [npm](https://www.npmjs.com):

```sh
npm publish
```
npm package: @romatech/order-by
Description: Provides array functions
Author: RomaTech/Leandro Romanelli
Latest version: 1.1.1

# @romatech/order-by

🧠 A lightweight utility that extends `Array.prototype` with:

- ✅ `orderBy` / `orderByDesc`
- ✅ `thenBy` / `thenByDesc`
- ✅ `distinct` / `distinctBy`

Chainable, immutable, fully typed, and compatible with CommonJS and ES Modules.
>🧩 This package adds safe, non-enumerable methods to `Array.prototype`.

## 🚀 Installation

```bash
npm install @romatech/order-by
```

## 📦 Usage

> ✅ You must import the package once to enable prototype extensions.

### CommonJS  
```js
require('@romatech/order-by');

const users = [
  { name: 'Alice', age: 30 },
  { name: 'Bob', age: 25 },
  { name: 'Charlie', age: 30 },
];

const sorted = users
  .orderBy(u => u.age)
  .thenBy(u => u.name);

console.log(sorted);
```

### ES Modules
```js
import '@romatech/order-by';

const products = [
  { price: 100, rating: 4.5 },
  { price: 100, rating: 4.8 },
  { price: 90, rating: 4.2 },
];

const sorted = products
  .orderByDesc(p => p.price)
  .thenBy(p => p.rating);

console.log(sorted);
```

## 🧠 API
### Sorting
`array.orderBy(fn)`
Sort ascending by selector

`array.orderByDesc(fn)`
Sort descending by selector

`array.thenBy(fn)`
Chain secondary ascending sort

`array.thenByDesc(fn)`
Chain secondary descending sort

```js
const arr = [
  { name: 'A', age: 25 },
  { name: 'B', age: 30 },
  { name: 'C', age: 30 },
];

const sorted = arr
  .orderBy(x => x.age)
  .thenBy(x => x.name);

```
### Uniqueness

`array.distinct()`
Removes deep-equal duplicates (via `JSON.stringify`)

`array.distinctBy(fn)`
Removes duplicates based on selector return value

```js
const arr = [
  { id: 1, name: 'A' },
  { id: 1, name: 'A' },
  { id: 2, name: 'B' },
];

arr.distinct();
// → [{ id: 1, name: 'A' }, { id: 2, name: 'B' }]

arr.distinctBy(x => x.id);
// → [{ id: 1, name: 'A' }, { id: 2, name: 'B' }]

```

## 🧱 TypeScript Support

Includes full typings via `index.d.ts`.
```ts
type Selector<T> = (item: T) => any;

interface OrderedArray<T> extends Array<T> {
  thenBy(fn: Selector<T>): OrderedArray<T>;
  thenByDesc(fn: Selector<T>): OrderedArray<T>;
}

interface Array<T> {
  orderBy(fn: Selector<T>): OrderedArray<T>;
  orderByDesc(fn: Selector<T>): OrderedArray<T>;
  distinct(): T[];
  distinctBy(fn: Selector<T>): T[];
}
```
## ✅ Compatibility

-   Node.js LTS (≥ v18)
    
-   Works in browsers (via bundlers like Vite/Webpack)
    
-   Fully compatible with CommonJS and ESM

## 🧪 Tests

```bash
npm  install
npm  test
```

All tests are implemented with [Jest](https://jestjs.io) and validate sorting logic and method chaining behavior.

## ⚠️ Prototype Extension Warning

This package **extends `Array.prototype`** with non-enumerable methods:
-   `orderBy`, `orderByDesc`

-   `thenBy`, `thenByDesc`  

-   `distinct`, `distinctBy`
> ✅ Safe in most applications.  
> ❌ Avoid in libraries where global prototype changes are discouraged.
## 🪪 License
MIT © RomaTech/Leandro Romanelli
npm package: @romchik38/tasksrunner
Description: Run your task nice and gracefull
Author: Romchik38
Latest version: 1.0.0

#  Async Task Runner

## Что может делать этот скрипт

### Ход выполнения
* Вы заготавливаете несколько задач в виде функций
* Готовите для них config (см. пример)
* Подготавливаете options (благо их немного)
* запускаете taskrunner и передаете ему все это на выполнение

### Функциональность
* Неограниченное количество задач
* Возможность указать для каждой задачи количество вызовов (если не указано, то до потери пульса)
* Можно задавать интервал запуска каждой задачи
* Логирование запуска и окончания для каждой задачи
* Логирование запуска вхолостую (idle) когда новая задача уже должна выполняться, а предыдущая еще не выполнилась.
* Возможность указать для каждой задачи количество запусков(окончаний), которые будут показаны в случае terminate shutdown. Это нужно для того, чтобы увидеть, какая задача не закончила выполнение.   
* gracefull shutdown (correct) при отправке 1 SIGINT
* terminate shutdown (not correct) при отправке 2-го SIGINT
* возможность отправлять SIGINT из своей программы при наступлении какого-то условия

### Ограничения
* Переданные задачи (функции) должны быть асинхронными:
  - async (){}
  - new Promise()
* Задачи должны в конце своей работы отдавать такие коды:
  - 0 если успешное завершение задачи
  - 1 если неуспешное завершение задачи
* Если задача вернула 0, то только после этого, несмотря на интервал, запускается новая.
* Если задача вернула 1, то эта задача прекращает выполняться вовсе.
* Вы всегда должны отдавать 0 или 1. Иначе новая задача никогда не начнется.

## Примеры

* example.js - пример вашей программы
* tasksExample.js - пример составления задач и конфига для них

## Контракт

### taskrunner
  - стрелочная функция (не асинхронная)
  - принимает два аргумента
    * tasks - набор компонентов для запуска каждой задачи
    * options - опции, которые влияют на taskrunner в целом.
  - возвращает экземплят класса Control с:
    * методом stop() для остановки taskrunner

### tasks
  tasks - это [] (массив элементов), каждый элемнт которого состоит из объектов с полями:
  - config - программный модуль, который будет передан в job
  - job - задача, которая должны выполниться
  - taskName - имя задачи, которое будет видно в логах
  - taskInterval - период с которым будет запускаться задача
  - taskCount(необязательное) - количество запусков
  - unitOptions - дополнительные опции для запуска задачи

### options
  - logIdle (по умолчанию false) - печатать сообщение о холостом запуске задачи. Если true, то будет печатать. Влияет на все задачи.
npm package: @romellogoodman/flow-field
Description: A library for generating flow fields.
Author: Romello Goodman
Latest version: 0.0.4

# flow-field

[![npm version](https://badge.fury.io/js/@romellogoodman%2Fflow-field.svg)](https://badge.fury.io/js/@romellogoodman%2Fflow-field)

A library for generating flow fields.

Demo: [Codesandbox Demo](https://codesandbox.io/s/flow-field-demo-kkzmg)

Resources for learning more about flow fields and noise:

- [Flow Fields by Tyler Hobbs](https://tylerxhobbs.com/essays/2020/flow-fields)
- [Noise by Varun Vachhar](https://varun.ca/noise/)

## Table of contents

- [Usage](#usage)
- [API Reference](#api)
- [Contributing](#contributing)

## Usage

### Install

npm

```
npm i @romellogoodman/flow-field
```

unpkg

```
<script src="https://unpkg.com/@romellogoodman/flow-field"></script>
```

### Use

```js
import {generateField} from '@romellogoodman/flow-field';

const field = generateField({count: 100, height: 1000, width: 1000});
```

## API

### generateParticles

Creates the particles for a flow field.

- `@param {Number} count` Number of particles in the field.
- `@param {Number} height` Height of space.
- `@param {Number} margin` Percent of height/width to create a padding.
- `@param {String} seed` Random (random-js) seed.
- `@param {Number} width` Width of space.
- `@return {Array}` List of particle objects containing the starting x and y coordinates.

### moveParticle

Computes the new position for a particle and adds it to the `particle.line` array.

- `@param {Number} amplitude` Controls the range of values we get from the noise function.
- `@param {Number} damping` Slows down the particle (think friction).
- `@param {Number} frequency` Controls how quickly/slowly the noise function is "evolving over time".
- `@param {Number} lengthOfStep` Amount to move the coordinate.
- `@param {Object} particle` Particle object containing the.
- `@return {Void}` Operates on the particle and returns nothing.

### generateField

Creates a flow field with particles and lines.

- `@param {Number} amplitude` Controls the range of values we get from the noise function. Default to `5`.
- `@param {Number} count` Number of particles in the field. Default to `1000`.
- `@param {Number} damping` Percentage that slows down the particle (think friction). Default to `0.1`.
- `@param {Number} height` Height of space.
- `@param {Number} margin` Percent of height/width to create a padding. Default to `0.1`.
- `@param {Object} particles` List of particles to use instead of generating them.
- `@param {String} scale` Used to compute frequency, number of steps and step length. Default to `1`.
- `@param {String} seed` Random (random-js) seed.
- `@param {Number} width` Width of space.
- `@return {Array}` List of particle objects containing the line coordinates.

## Contributing

All contributors and all contributions both big and small are welcome in this project.
npm package: @romellogoodman/voronoi
Description: A library for generating voronoi diagrams.
Author: Romello Goodman
Latest version: 0.0.5

# voronoi

[![npm version](https://badge.fury.io/js/@romellogoodman%2Fvoronoi.svg)](https://badge.fury.io/js/@romellogoodman%2Fvoronoi)

A library for generating [voronoi diagrams](https://en.wikipedia.org/wiki/Voronoi_diagram).

This library borrows from the work of George Does Code:

- [Crafting Organic Patterns With Voronoi Tessellations](https://georgefrancis.dev/writing/crafting-organic-patterns-with-voronoi-tessellations)
- [generative-utils Library Voroni Code](https://github.com/georgedoescode/generative-utils/blob/master/src/createVoronoiDiagram.js)

## Table of contents

- [Usage](#usage)
- [API Reference](#api)
- [Contributing](#contributing)

## Usage

### Install

npm

```
npm i @romellogoodman/voronoi
```

unpkg

```
<script src="https://unpkg.com/@romellogoodman/voronoi"></script>
```

### Use

```js
import {generateVoronoiDiagram} from '@romellogoodman/voronoi';

const field = generateVoronoiDiagram({  width: 1024, height: 1024, points: [], relaxIterations: 8});

## API

Tk.

## Contributing

All contributors and all contributions both big and small are welcome in this project.
```
npm package: @romeovs/frame
Description: Frame.js is an opinionated static site builder that uses React as a templating system.  The goal of this project is to build sites that are easy to host, have a small initial footprint, but are still fun to write thanks to React.
Latest version: 0.0.10-alpha.22

# 🖼 Frame.js

Frame.js is an opinionated static site builder that uses React as a templating
system.  The goal of this project is to build sites that are easy to host,
have a small initial footprint, but are still fun to write thanks to React.
npm package: @romeria/_
Description: A package used to store exchange data from all the Romeria framework.
Author: Pedro Pérez Furio
Latest version: 1.0.0

# @romeria/_
This is a placeholder package merely used to get a safe place where the [Romeria Framework](https://github.com/Romeria/romeria) can write temporary files

> **Advice:** This repository isn't made to be manually required, in any case, if any of the Romeria Framework components need it, they will be responsible of its requirement.
npm package: @romeria/autoload-classmapper
Description: Package that exports a class mapping for the Romeria Framework.
Author: Pedro Pérez Furio
Latest version: 0.1.1

# @romeria/autoload-classmapper
Exports the proyect dependencies and source as a classmap. Part of the [Romeria Framework](https://github.com/Romeria/romeria).

> **Advice:** This repository isn't made to be manually required, in any case, if any of the Romeria Framework components need it, they will be responsible of its requirement.
npm package: @romeswap-libs/eslint-config-pancake
Description: Eslint config for PancakeSwap
Author: RabbitDoge
Latest version: 1.0.0

# eslint-config-pancake

**This repository is not used anymore. See the [Pancake toolkit](https://github.com/pancakeswap/pancake-toolkit) instead**

Pancake Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @pancakeswap-libs/eslint-config-pancake
```

Add `"extends": "@pancakeswap-libs/eslint-config-pancake"` to your eslint config file.
npm package: @romeswap-libs/sdk
Description: 🛠 An SDK for building applications on top of pancakeswap.
Latest version: 1.0.9


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: @romeswap-libs/uikit
Description: Set of UI components for pancake projects
Latest version: 0.11.2

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