open-index/open-npm huggingface dataset:
npm package: @nireno/reasonably-typed
Description: Experimenting with some bucklescript bindings for nodejs packages I use.
Author: nireno
Latest version: 0.18.1

# reasonably-typed

Experimenting with some bucklescript bindings for nodejs packages I use.

# Get started

```
let (instance, logger) = Pino.make();
logger.info("Hello");
```

See tests and examples for more.

## Testing - Setup postgres session store database

```
sudo -s -u postgres
createuser --pwprompt throwaway
createdb --owner throwaway throwaway
psql --host 127.0.0.1 -U throwaway -d throwaway

CREATE TABLE "session" (
  "sid" varchar NOT NULL COLLATE "default",
	"sess" json NOT NULL,
	"expire" timestamp(6) NOT NULL
)
WITH (OIDS=FALSE);

ALTER TABLE "session" ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE;

CREATE INDEX "IDX_session_expire" ON "session" ("expire");
```
npm package: @nirguna/plugin-bundler-fasm
Description: 🐊nirguna plugin adds ability to bandle fasm
Author: coderaiser
Latest version: 1.2.0

## putout-plugin-bundler-fasm

Transforms:

- ✅[`apply-async`](https://putout.cloudcmd.io/#/gist/b5e39a2094c16efbccae0f2d71d09af5/74736e10bfc9ac03428853f22eac58348d4a0f08);
- ✅[`add-use-directive`](https://putout.cloudcmd.io/#/gist/3398ee792339e93c078972e42e366090/5697e2509e79dc10ac630e38428f0646d5a1ddf8);
- ✅[`apply-debug`](https://putout.cloudcmd.io/#/gist/671e988a7fb5e4664fac90c240b04c65/f7ba006fcfff02b63d72ad56f250cca08c201747);
- ✅[`replace-section-code-with-functions`](https://putout.cloudcmd.io/#/gist/d921a3f8d8d5cbb74375e7249072f90b/5b89930d7d76e64104a670e0fbda8c76d3dfddd2);
- ✅[`replace-section-const-with-equ`](https://putout.cloudcmd.io/#/gist/ec655a05b5566519b46e77aa10fad1e3/94da259261f1a4011c29bbf42e922acb3d2b02e3);
- ✅[`replace-section-data-with-let`](https://putout.cloudcmd.io/#/gist/c7870c4c36c28ce52670bbb779cf8736/4f67243979c3e9624ab424c2757e330dd9bdb0e3);
npm package: @nirguna/plugin-nemesis
Description: Nirguna plugin adds ability to transform Nemesis
Author: coderaiser
Latest version: 1.1.0

## putout-plugin-nemesis

Transforms:

- ✅[`convert-get-char-to-int-0xff`](https://putout.cloudcmd.io/#/gist/42fe266583e24b282f0d96e6c9756ac1/8fed2362fa547c025a3cd93b95542747dcebccf3);
- ✅[`convert-printf-to-int-0xff`](https://putout.cloudcmd.io/#/gist/1d20463027c9f8ef0926d0031a602b5c/c347707d4b5bc41bc764705b36679e55203d7204);
- ✅[`remove-useless-imports`](https://putout.cloudcmd.io/#/gist/7d513c2f0b80435db5c6191ebd535efe/8c7c6075eb0a9878d223637b0fd86c7d50ea535a);
- ✅[`convert-set-cursor-to-int-0xff`](https://putout.cloudcmd.io/#/gist/e35f9d22c2e219227e2b06caf9be08d4/81cbdb1367607e9dda83594958ac0d6b346e67eb);
- ✅[`convert-read-sector-to-int-0xff`](https://putout.cloudcmd.io/#/gist/6ae8820756ba1af043f93f3bdb49360e/0be46185f32f36c3f5126a1af753c3f741388cd0);
- ✅[`convert-find-file-to-int-0xff`](https://putout.cloudcmd.io/#/gist/2418e874e298b187a04d245a8351f66f/2d2e4b1f8caa652aab613162bd81f0b6e460a1fa);
- ✅[`convert-set-screen-size-to-0xff`](https://putout.cloudcmd.io/#/gist/38fafd9ef79f96fccbf78966ad912508/a75089d6a7fcd3c96efe36dc1890a54b02ad40e0);
- ✅[`convert-read-first-to-0xff`](https://putout.cloudcmd.io/#/gist/473ebf06c3a5b17523adca09ca3240a9/dc4e3d59a06be51985d0b002f8199e0f3618274e);
- ✅[`convert-set-color-to-int-0xff`](https://putout.cloudcmd.io/#/gist/a2dfbe8d6cf1f79328c572d5f10b201c/7b0f12fb1e4a61bac0914e3697eff75678bcb707);
- ✅[`convert-gets-to-0xff`](https://putout.cloudcmd.io/#/gist/ac0146b899433d90ba83214a20865db0/4fce39e0d68031b05a65a68aa817c29d46560f4f);
- ✅[`convert-debug-to-printf`](https://putout.cloudcmd.io/#/gist/2bc7d9ead127236ae4593c8abe150538/5993e8fe1355acbab1778f1cf70b2311c21913b1);
- ✅[`convert-clear-screen-to-int-0xff`](https://putout.cloudcmd.io/#/gist/693fcd438d105d74a243636662d79011/a722a5729204527189e5dc1b2a867e053cf2e0f5);
- ✅[`remove-useless-declarations`](https://putout.cloudcmd.io/#/gist/9045b99fbb58a53047dec060d3f143cf/646d41281b8010f6b4429b81cc4ba6987c12a041);
npm package: @nirguna/plugin-nirguna
Description: 🐊nirguna plugin adds ability to optimize wasm
Author: coderaiser
Latest version: 1.0.1

## putout-plugin-wasm

Transforms:

- ✅[`apply-function-declaration`](https://putout.cloudcmd.io/#/gist/b64d0e114b30b86d71253ff4ca5941d4/b615bbbb1e1d84eb1d009761a744503387e300f3);
npm package: @nirguna/plugin-optimizer-fasm
Description: 🐊nirguna plugin adds ability to optimize fasm
Author: coderaiser
Latest version: 1.0.0

## putout-plugin-optimizer-fasm

Transforms:

- ✅[`apply-lodsb`](https://putout.cloudcmd.io/#/gist/a68eea4d5c924a359ac0aea23d302eb9/40dc03da2148c6f751fbb216d6884c7f79ad92c4);
- ✅[`convert-cmp-to-test`](https://putout.cloudcmd.io/#/gist/abcb985d118b501a8c4e3bdbc0cb2c24/530029e4df82bbab0590679d9d21212ed51b485d);
- ✅[`convert-mov-to-xor`](https://putout.cloudcmd.io/#/gist/4c51bf6ba61b95c0eed96c271be058be/b9a1fc091fcfa0e71ebfe01bef609616092cf3fe);
- ✅[`convert-jz-to-jmp`](https://putout.cloudcmd.io/#/gist/c4d7131fdfd26cdf6aabc6d8025166ec/b8baa6e498f8dce88c79b852ca7e4489f82ac003);
- ✅[`merge-one-byte-regs-assign`](https://putout.cloudcmd.io/#/gist/1dd7d4b79bb278edf45110f1366c914b/fa4e281f050ac1c24efd2732f860000efa47f63a);
- ✅[`remove-duplicate-operations`](https://putout.cloudcmd.io/#/gist/63631cc244747a33dfa8dc35683052a1/e815bb2efbf9442f11118fb55c9b87ce4f892891);
- ✅[`remove-useless-ret`](https://putout.cloudcmd.io/#/gist/454918cb89efe8618807e82b0d29dd9b/297e4d8e42fca69b21b0ca446324359ba3136697);
- ✅[`remove-useless-mov`](http://putout.cloudcmd.io/#/gist/5bb619a820137a843bb23fe0bcb4c7a0/a81316a1e973cd8cc47764e16dadfbdb63acd68a);
- ✅[`remove-useless-condition`](https://putout.cloudcmd.io/#/gist/0aa4bd34bbcd79c44a0c6e601ab70144/ab04a3b4ab0572703392224c0a3f4af058260569);
- ✅[`remove-useless-nop`](http://putout.cloudcmd.io/#/gist/c8e30a751bf179c3de9cd88ffc71d625/f9244a1032046ef98fdeb2f79d2419c2c9a1adcb);
- ✅[`remove-useless-jmp`](https://putout.cloudcmd.io/#/gist/bdc2f1fdc6f8ffedbb94582cc5daae4b/b08c0cb3da1a2e12ed9b5b33585a487f48325d0a);
- ✅[`remove-useless-xchg`](https://putout.cloudcmd.io/#/gist/4d5e395fabdfd4c7eab9719e5885467b/2894a08f2a96995893d1f74801a2972d45268c86);
- ✅[`merge-labels-of-duplicate-instructions`](https://putout.cloudcmd.io/#/gist/c84c8f82f4b2fa014507882c6c24e59d/c960d71c72159356d050727ef3fefa5ab0fa0474);
npm package: @nirguna/plugin-optimizer-wasm
Description: 🐊nirguna plugin adds ability to optimize wasm
Author: coderaiser
Latest version: 1.0.0

## putout-optimizer-wasm

Transforms:

- ✅[`apply-eqz`](https://putout.cloudcmd.io/#/gist/cfb22ba3e2fa6e3ef5341b3e0a5b0d1a/9ba4447e14ce974fed6274946e8f8e05b61de77d);
- ✅[`remove-useless-return`](https://putout.cloudcmd.io/#/gist/516ecfe01866bf39901056309705e95f/564ef6835edd8d3285f7a242199e2bd960eb4841);
- ✅[`remove-useless-if`](http://putout.cloudcmd.io/#/gist/b487d0102df1426342c9ea3c4027e625/231c25457e1fc4d75fd007197f5149c2087c8934);
npm package: @nirguna/plugin-wasm
Description: 🐊nirguna plugin adds ability to optimize fasm
Author: coderaiser
Latest version: 1.2.0

## putout-plugin-wasm

Transforms:

- ✅[`apply-types`](https://putout.cloudcmd.io/#/gist/cca677845eccb731d1d618f5a585a718/770ccc047ae0710d2fc5891ff16a6804c8bfd47f);
- ✅[`apply-i32-const`](https://putout.cloudcmd.io/#/gist/cc1bb27ea12aea64b296010de764e66d/98a661ae056f454a357ca8ea4a6839a0fa0e9c8e);
- ✅[`apply-eq`](https://putout.cloudcmd.io/#/gist/3be37704bcd5db870906021546b49b4f/45a39b298ee52fde9ea064ccd026bcb238ccd0c8);
- ✅[`convert-binary-to-call`](https://putout.cloudcmd.io/#/gist/5e3f3260fcd10398c2249231ada8cb06/b28fa3069226fcf347926a25f43adfbd5aff75b1);
- ✅[`convert-const-to-local`](https://putout.cloudcmd.io/#/gist/6d8ad12a1ccfb0b36eee7a4a612ec574/c8bbab02a4844c7da1dbb59ac6f307b0b2ba93d4);
- ✅[`convert-export-memory-to-call`](https://putout.cloudcmd.io/#/gist/921e66339ea459d0f3b44fbeb635520d/964250541bb5a7d154582022c3d32189cd4287a3);
- ✅[`convert-await-to-call`](https://putout.cloudcmd.io/#/gist/a2f0c04234dd4bd49e79b6b0e337d4f7/7d044fbb4309c2fba18044bb35650a49907f8c10);
- ✅[`apply-i32-local`](https://putout.cloudcmd.io/#/gist/da191803cc8c7de00f43c224ef7ab5d7/b185b773c1a498ab96adea5daf1f56513937cc49);
- ✅[`apply-wasm-import`](https://putout.cloudcmd.io/#/gist/17388f93e2ee59c99dc5dff60b799424/0e37752251b20d8aeabb6818196a623af8e153e3);
- ✅[`apply-wasm-memory`](https://putout.cloudcmd.io/#/gist/921e66339ea459d0f3b44fbeb635520d/eaa5d72007d2328303cfa046a5c0ff5c23e8af5c);
- ✅[`apply-data-address-type`](https://putout.cloudcmd.io/#/gist/699af5f7a2e6492cfdeee49fd38c2035/2a588d7c092ae5bb46d06b92e5dd1376e6fb0b5e);
- ✅[`convert-string-to-identifier-inside-call`](https://putout.cloudcmd.io/#/gist/41ffbb75ea0c86c1f8778c5720c1c5dc/a3b2395905d59a26baafeac46a8dfa47222f2c17);
- ✅[`move-local-on-top`](https://putout.cloudcmd.io/#/gist/207d2b33db1158fde79a161fdc9fdc9f/10c07fb9523d89b2ec5a2a37fba9a809929e1090);
- ✅[`remove-useless-declarations`](https://putout.cloudcmd.io/#/gist/309a5376cb7f05ae945ddd73233ba110/67a3df9179b22fd7617a8008bb49729f41e40992);
- ✅[`remove-useless-esbuild-suffix`](https://putout.cloudcmd.io/#/gist/c99566a7448b40b6473705749346693e/d148b9b36eabe9f24ec99e477cb546c7eb278541);
npm package: @nirholas/crypto-news
Description: TypeScript SDK for Free Crypto News API - 100% FREE, no API keys required
Author: nirholas
Latest version: 1.0.1

# Free Crypto News TypeScript SDK

100% FREE TypeScript SDK for the Free Crypto News API. No API keys required!

## Installation

```bash
npm install @nirholas/crypto-news
```

## Usage

```typescript
import { CryptoNews } from '@nirholas/crypto-news';

const client = new CryptoNews();

// Get latest news
const articles = await client.getLatest(10);

// Search for specific topics
const ethNews = await client.search('ethereum, ETF');

// Get DeFi news
const defiNews = await client.getDefi(10);

// Get Bitcoin news
const btcNews = await client.getBitcoin(10);

// Get breaking news (last 2 hours)
const breaking = await client.getBreaking(5);

// Check API health
const health = await client.getHealth();
```

## Analytics & Trends

```typescript
// Get trending topics
const trending = await client.getTrending(10, 24);
trending.trending.forEach(t => {
  console.log(`${t.topic}: ${t.count} mentions (${t.sentiment})`);
});

// Get API statistics
const stats = await client.getStats();

// Analyze news with sentiment
const analysis = await client.analyze(20, 'bitcoin', 'bullish');
console.log(`Market: ${analysis.summary.overall_sentiment}`);
```

## Historical & Sources

```typescript
// Get archived news
const archive = await client.getArchive('2024-01-15', 'SEC', 20);

// Find original sources
const origins = await client.getOrigins('binance', 'exchange', 10);
origins.items.forEach(item => {
  console.log(`${item.title} - Original: ${item.likely_original_source}`);
});
```

## Convenience Functions

```typescript
import { getCryptoNews, searchCryptoNews, getDefiNews } from '@nirholas/crypto-news';

const news = await getCryptoNews(10);
const results = await searchCryptoNews('bitcoin');
const defi = await getDefiNews(5);
```

## Types

All types are exported and fully documented:

```typescript
import type { 
  NewsArticle, 
  NewsResponse, 
  SourceInfo, 
  HealthStatus,
  SourceKey,
  TrendingResponse,
  StatsResponse,
  AnalyzeResponse,
  ArchiveResponse,
  OriginsResponse
} from '@nirholas/crypto-news';
```

## Custom Configuration

```typescript
const client = new CryptoNews({
  baseUrl: 'https://your-self-hosted-instance.com',
  timeout: 60000, // 60 seconds
});
```

## API Reference

| Method | Description |
|--------|-------------|
| `getLatest(limit?, source?)` | Get latest news |
| `search(keywords, limit?)` | Search by keywords |
| `getDefi(limit?)` | DeFi-specific news |
| `getBitcoin(limit?)` | Bitcoin-specific news |
| `getBreaking(limit?)` | Breaking news (last 2h) |
| `getSources()` | List all sources |
| `getHealth()` | API health status |
| `getTrending(limit?, hours?)` | Trending topics |
| `getStats()` | API statistics |
| `analyze(limit?, topic?, sentiment?)` | Sentiment analysis |
| `getArchive(date?, query?, limit?)` | Historical archive |
| `getOrigins(query?, category?, limit?)` | Find original sources |
| `getRSSUrl(feed?)` | Get RSS feed URL |

## License

MIT
npm package: @nirholas/web3auth-examples
Description: [![npm version](https://img.shields.io/npm/v/@nirholas/web3auth-examples.svg)](https://www.npmjs.com/package/@nirholas/web3auth-examples)
Author: nirholas
Latest version: 1.0.0

# Web3Auth Plug and Play Examples

[![npm version](https://img.shields.io/npm/v/@nirholas/web3auth-examples.svg)](https://www.npmjs.com/package/@nirholas/web3auth-examples)


[Web3Auth](https://web3auth.io) is a pluggable auth infrastructure for Web3 wallets and applications. It streamlines onboarding for both mainstream and crypto-native users within minutes by providing familiar authentication experiences.

This repository contains ready-to-use examples for integrating Web3Auth across various frameworks, blockchains, and authentication providers.

## 🚀 Getting Started

### Prerequisites
- Node.js 20+
- npm
- A Web3Auth Client ID from the [Web3Auth Dashboard](https://dashboard.web3auth.io)

### Quick Setup

1. Clone the repository:
    ```bash
    git clone https://github.com/Web3Auth/web3auth-examples.git
    cd web3auth-examples
    ```

2. Choose an example that matches your tech stack

3. Setup the example:
    ```bash
    cd <example-directory>
    cp .env.example .env
    # Update .env with your Web3Auth Client ID
    ```

4. Install dependencies and run:
    ```bash
    npm install
    npm start
    ```

## 🧩 Example Directory

### Quick Starts

| Framework    | Example | Description |
|-------------|---------|-------------|
| **React**    | [React Quick Start](quick-starts/react-quick-start) | Basic EVM integration with React |
| **Next.js**  | [Next.js Quick Start](quick-starts/nextjs-quick-start) | Server-side rendering with Next.js |
| **Vue.js**   | [Vue Quick Start](quick-starts/vue-quick-start) | Vue.js integration with Web3Auth |
| **Angular**  | [Angular Quick Start](quick-starts/angular-quick-start) | Angular framework integration |
| **VanillaJS**| [VanillaJS Quick Start](quick-starts/vanillajs-quick-start) | Plain JavaScript implementation |
 
## 📘 Understanding the Examples

Each example follows a similar structure:

1. **Setup**: Initialize Web3Auth with your Client ID
2. **Authentication**: Implement login/logout functionality
3. **Blockchain Integration**: Connect to the specific blockchain
4. **User Operations**: Perform blockchain operations like transactions

## 📚 Resources

- [Web3Auth Documentation](https://web3auth.io/docs)
- [SDK References](https://web3auth.io/docs/sdk)
- [Developer Dashboard](https://dashboard.web3auth.io)
- [Web3Auth Community](https://web3auth.io/community)

## 📄 License

MIT
npm package: @nirinasp/cordova-plugin-nfilepath
Description: Resolve native file paths from content URLs for Cordova platforms
Author: Ramesh Nair
Latest version: 1.6.0

# cordova-plugin-filepath

**PLEASE NOTE: This plugin is no longer actively maintained.**

This plugin allows you to resolve the native filesystem path for Android content
URIs and is based on code in the [aFileChooser](https://github.com/iPaulPro/aFileChooser/blob/master/aFileChooser/src/com/ipaulpro/afilechooser/utils/FileUtils.java) library.

Original inspiration [from StackOverflow](http://stackoverflow.com/questions/20067508/get-real-path-from-uri-android-kitkat-new-storage-access-framework).

## Installation

```bash
$ cordova plugin add cordova-plugin-filepath
```

## Supported Platforms

* Android

## Usage

Once installed the plugin defines the `window.FilePath` object. To resolve a
file path:

```js
window.FilePath.resolveNativePath('content://...', successCallback, errorCallback);
```

##### successCallback
Returns the ``file://`` file path.

##### errorCallback
Returns the following object:
```js
{ code: <integer>, message: <string> }
```
Possible error codes are:
* ``-1`` - describes an invalid action
* ``0`` - ``file://`` path could not be resolved
* ``1`` - the native path links to a cloud file (e.g: from Google Drive app)

## LICENSE

Apache (see LICENSE.md)
npm package: @niriumagents/sdk
Description: Official TypeScript SDK for the Nirium autonomous DeFi agent on Stellar
Latest version: 0.2.1

# @niriumagents/sdk

Official TypeScript SDK for the **Nirium Protocol** — autonomous DeFi agent on Stellar/Soroban.

## Install

```bash
npm install @niriumagents/sdk
```

## Quick Start

```typescript
import { Agent } from '@niriumagents/sdk';

const agent = new Agent({
  apiKey: 'sk_inst_your_key_here',
  baseUrl: 'https://api.nirium.xyz',
});

// Health check
const alive = await agent.ping();
console.log('Agent alive:', alive);

// Real market data from Stellar Horizon
const market = await agent.getMarket();
console.log('XLM Price:', market.xlmPrice);

// Execute a strategy
const result = await agent.execute('flash-loan-arb', 'XLM-USDC', { amount: 5000 });
console.log('Profit:', result.profit);

// Real-time signals via WebSocket
agent.subscribe((signal) => {
  console.log('Signal:', signal.signal_type, signal.data.details);
});
```

## API Coverage

| Category | Methods |
|---|---|
| Health | `ping()`, `health()`, `systemHealth()` |
| Execution | `execute()`, `executeDemo()` |
| Market | `getMarket()`, `getLoopStatus()`, `startLoop()`, `stopLoop()`, `triggerScan()` |
| Signals | `createSubscription()`, `getRecentSignals()` |
| Skills | `getSkills()`, `installSkill()`, `uninstallSkill()` |
| Webhooks | `registerWebhook()`, `getWebhooks()`, `deleteWebhook()`, `testWebhook()` |
| WebSocket | `subscribe()`, `onLog()`, `disconnect()` |

## Authentication

```typescript
// API Key for REST endpoints
const agent = new Agent({
  apiKey: 'sk_inst_...',
  baseUrl: 'https://api.nirium.xyz',
});

// With JWT token for WebSocket (optional)
const agent = new Agent({
  apiKey: 'sk_inst_...',
  baseUrl: 'https://api.nirium.xyz',
  token: 'eyJhbG...', // JWT from /api/auth/token
});
```

### Endpoint Access Model

| Access | Endpoints |
|---|---|
| **Public** (no key) | `health`, `loop/status`, `execute-demo`, `signals/recent`, `skills` list |
| **Protected** (API key) | `execute`, `market`, `loop/start\|stop\|scan`, `subscriptions`, `skills/install`, `webhooks` |
| **WebSocket** (JWT) | `/ws/signals` — real-time signal stream |

## Requirements

- Node.js >= 18
- TypeScript >= 5.0

## License

MIT — Nirium Protocol
npm package: @nirmalparmar/monaco-editor-core
Description: A browser based code editor
Author: Microsoft Corporation
Latest version: 0.0.2

# monaco-editor-core

> This npm module is a building block for the [monaco-editor](https://www.npmjs.com/package/monaco-editor)
npm module and unless you are doing something special (e.g. authoring a monaco editor language that can be shipped
and consumed independently), it is best to consume the [monaco-editor](https://www.npmjs.com/package/monaco-editor) module
that contains this module and adds languages supports.

The Monaco Editor is the code editor that powers [VS Code](https://github.com/microsoft/vscode). Here is a good page describing some [editor features](https://code.visualstudio.com/docs/editor/editingevolved).

This npm module contains the core editor functionality, as it comes from the [vscode repository](https://github.com/microsoft/vscode).

## License

[MIT](https://github.com/microsoft/vscode/blob/main/LICENSE.txt)
npm package: @nirmalparmar/resize-image
Description: JavaScript/TypeScript package for resizing images in the browser.
Latest version: 1.0.0

# resize-image

[![Website](https://img.shields.io/badge/Try%20it-online-blue)](https://resizeimages.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

Lightweight browser image resize utility with TypeScript types. Build targets ESM and CJS.

> Try it online: [resizeimages.org](https://resizeimages.org)

## Install

```bash
npm install @nirmalparmar/resize-image
```

## Usage

```ts
import { resizeToDimensions, resizePngToTarget, convertFormat } from '@nirmalparmar/resize-image';

const fileInput = document.querySelector('input[type=file]')!;
fileInput.onchange = async () => {
  const file = fileInput.files?.[0];
  if (!file) return;

  const out = await resizeToDimensions(file, {
    maxWidth: 1024,
    maxHeight: 1024,
    mimeType: 'image/jpeg',
    quality: 0.9,
    downscaleOnly: true,
  });

  // Do something with out.blob
  const url = URL.createObjectURL(out.blob);
  const img = new Image();
  img.src = url;
  document.body.appendChild(img);
};
```

## API

```ts
type ResizeOptions = {
  width?: number;
  height?: number;
  maxWidth?: number;
  maxHeight?: number;
  mimeType?: 'image/png' | 'image/jpeg' | 'image/webp' | 'image/avif' | 'image/gif';
  quality?: number; // 0..1
  background?: string;
  downscaleOnly?: boolean;
};

type ResizeOutput = {
  blob: Blob;
  width: number;
  height: number;
};
```

## Contributing

1. Clone the repo
2. Install deps: `npm install`
3. Dev build: `npm run dev`
4. Run tests: `npm test`

## License

MIT © Contributors

## About

This library powers parts of the web app at [resizeimages.org](https://resizeimages.org), a fast, privacy-first image resizing and conversion tool. If you find this package useful, consider sharing the site.
npm package: @nirnatan/ebank-cli
Description: CLI for Israeli bank and credit card transaction data
Latest version: 0.0.1

# ebank-cli

CLI for fetching Israeli bank and credit card transaction data.

## Features

- Add and manage multiple accounts.
- Store account credentials encrypted with a master password.
- Scrape transactions for a single account or all accounts.
- Output as `table`, `json`, or `csv`.
- Persist transactions locally and deduplicate across runs.

## Requirements

- Node.js 18+ (recommended: latest LTS)
- pnpm

## Install

```bash
pnpm install
pnpm build
```

Run in development:

```bash
pnpm dev -- --help
```

Run compiled CLI:

```bash
pnpm start -- --help
```

Or install globally from this folder:

```bash
pnpm link --global
ebank --help
```

## Usage

### Add an account

Interactive:

```bash
ebank add-account
```

Non-interactive:

```bash
ebank add-account \
  --name my-leumi \
  --company leumi \
  --credentials '{"username":"123456789","password":"secret"}'
```

Optional: pass master password using `-p` or `EBANK_MASTER_PASSWORD`.

### List accounts

```bash
ebank list-accounts
ebank ls
```

### Remove an account

```bash
ebank remove-account my-leumi
ebank rm my-leumi -y
```

### Scrape transactions

Single account:

```bash
ebank scrape my-leumi
```

All accounts:

```bash
ebank scrape --all
```

From specific date:

```bash
ebank scrape my-leumi --from 2026-01-01
```

JSON or CSV output:

```bash
ebank scrape my-leumi --format json
ebank scrape my-leumi --format csv --output ./transactions.csv
```

Disable local save:

```bash
ebank scrape my-leumi --no-save
```

## Data and Configuration

- Config directory: `~/.ebank-cli`
- Encrypted accounts file: `~/.ebank-cli/accounts.json`
- Stored transactions: `~/.ebank-cli/data/*.json`

Credential payloads are encrypted before being written to disk.

## Notes

- If `--from` is not provided, scraping starts from:
  - one day before the latest stored transaction date (if available), or
  - one month back from today.
- Account names should be unique.

## License

MIT
npm package: @niror/n8n-nodes-redstag-community
Description: Red Stage Dialog node for N8N
Author: Nir Orpaz
Latest version: 1.0.0

# n8n-nodes-360dialog

This Custom Node for [360 Dialog](https://docs.360dialog.com/whatsapp-api/whatsapp-api/).

Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/).

Contact Me for need help this community node:
[ilhamakbarki@gmail.com](mailto:ilhamakbarki@gmail.com)

## License

[MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)