open-index/open-npm huggingface dataset:
npm package: @lumjs/web-url-hash
Description: A library for working with web browser URL hashes (the part after the '#' character.)
Latest version: 1.2.0

# lum.web-url-hash.js

A library for working with web browser URL hashes (the part after the '#' character.)

## Official URLs

This library can be found in two places:

 * [Github](https://github.com/supernovus/lum.web-url-hash.js)
 * [NPM](https://www.npmjs.com/package/@lumjs/web-url-hash)

## Author

Timothy Totten <2010@totten.ca>

## License

[MIT](https://spdx.org/licenses/MIT.html)
npm package: @lumjs/web-user-data
Description: Super minimal web browser user-info library.
Latest version: 1.0.0

# lum.web-user-data.js

Super minimal web browser user-info library.

## Official URLs

This library can be found in two places:

 * [Github](https://github.com/supernovus/lum.web-user-data.js)
 * [NPM](https://www.npmjs.com/package/@lumjs/web-user-data)

## Author

Timothy Totten <2010@totten.ca>

## License

[MIT](https://spdx.org/licenses/MIT.html)
npm package: @lumjs/webpack-helper
Description: A helper for building modular Webpack configuration files.
Latest version: 1.1.0

# lum.webpack-helper.js

A helper for building modular Webpack configuration files.

## INACTIVE

While I think it was a cool idea, this thing is a mess and can't come close
to handling the complexities of what Webpack is capable of, so I am archiving it.

## Official URLs

This library can be found in two places:

 * [Github](https://github.com/supernovus/lum.webpack-helper.js)
 * [NPM](https://www.npmjs.com/package/@lumjs/webpack-helper)

## Author

Timothy Totten <2010@totten.ca>

## License

[MIT](https://spdx.org/licenses/MIT.html)
npm package: @lumjs/when-events
Description: Some super simple event handing helpers.
Latest version: 1.0.0

# lum.when-events.js

Some super simple event handing helpers.

## Official URLs

This library can be found in two places:

 * [Github](https://github.com/supernovus/lum.when-events.js)
 * [NPM](https://www.npmjs.com/package/@lumjs/when-events)

## Author

Timothy Totten <2010@totten.ca>

## License

[MIT](https://spdx.org/licenses/MIT.html)
npm package: @lumjs/wrapper
Description: A class for creating compatibility wrappers when new versions of libraries come out and break existing code.
Latest version: 1.0.0

# lum.wrapper.js

A class for creating compatibility wrappers when new versions of libraries
come out and break existing code.

Can directly assign the new methods, or use the `Proxy` class.

## Official URLs

This library can be found in two places:

 * [Github](https://github.com/supernovus/lum.wrapper.js)
 * [NPM](https://www.npmjs.com/package/@lumjs/wrapper)

## Author

Timothy Totten <2010@totten.ca>

## License

[MIT](https://spdx.org/licenses/MIT.html)
npm package: @lumnn/sharp-loader
Description: Webpack loader for processing images with sharp
Author: @lumnn
Latest version: 0.1.0

# sharp-loader

A webpack loader that utilises sharp library and allows to resize images by putting size in query string

## Getting Started

Start with installing this package and `sharp` library

`npm install --save-dev @lumnn/sharp-loader sharp`

`sharp-loader` just passes the image through `sharp` library and performs actions on it (currently only resize). It still requires a `file-loader` or something similar to output file.

Add this to a list of loaders in your webpack.config.js

```
      {
        test: /\.(png|jpe?g|gif|svg)$/,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[name]-[hash:8].[ext]',
            }
          }
        ]
      },
      {
        test: /\.(png|jpe?g|gif|tiff)$/,
        loader: '@lumn/sharp-loader',
      }
```

file-loader should be setup with `hash` placeholder in name to avoid filename conflicts when same image is processed multiple times.

## License

[MIT](LICENSE.md)
npm package: @lumnsh/node
Description: Official Lumn Node.js SDK — provider-agnostic payment orchestration
Latest version: 0.2.0

# @lumnsh/node

Official Lumn Node.js SDK — provider-agnostic payment orchestration.

## Installation

```bash
npm install @lumnsh/node
```

## Quick Start

```ts
import Lumn from '@lumnsh/node';

const lumn = new Lumn({ apiKey: 'your_secret_key' });

// List customers
const customers = await lumn.customers.list();

// Check entitlement
const check = await lumn.entitlements.check({ customerId: 'cus_xxx', featureKey: 'pro' });

// Create checkout session
const session = await lumn.checkout.create({
  customerId: 'cus_xxx',
  productId: 'prod_xxx',
  successUrl: 'https://example.com/success',
  cancelUrl: 'https://example.com/cancel',
});
```

## Resources

| Resource | Methods |
|----------|---------|
| `customers` | `list`, `create`, `retrieve` |
| `products` | `list`, `create`, `retrieve` |
| `features` | `list`, `create` |
| `entitlements` | `check` |
| `subscriptions` | `list` |
| `payments` | `list` |
| `checkout` | `create` |
| `events` | `list` |
| `meter` | `record` |
| `sync` | `trigger` |
| `connections` | `list`, `create` |
| `apiKeys` | `list`, `create`, `revoke` |

## Configuration

```ts
const lumn = new Lumn({
  apiKey: 'your_secret_key',
  baseUrl: 'https://app.lumn.dev', // default
  timeout: 30_000,                 // default: 30s
  maxRetries: 2,                   // default: 2
});
```

## Error Handling

```ts
import Lumn, { LumnApiError, LumnAuthenticationError } from '@lumnsh/node';

try {
  await lumn.customers.retrieve('cus_invalid');
} catch (err) {
  if (err instanceof LumnAuthenticationError) {
    // Invalid API key
  } else if (err instanceof LumnApiError) {
    console.error(err.status, err.code, err.message);
  }
}
```

## License

MIT
npm package: @lumnsh/react
Description: Lumn React SDK — provider-agnostic payment components and hooks
Latest version: 0.1.2

# @lumnsh/react

Lumn React SDK — entitlements, pricing, and checkout components.

## Installation

```bash
pnpm add @lumnsh/react @lumnsh/node
```

## LumnProvider

Wrap your app with `LumnProvider`. In Next.js App Router, add it to your root layout:

```tsx
// app/layout.tsx
import { LumnProvider } from '@lumnsh/react';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html>
      <body>
        <LumnProvider apiKey={process.env.NEXT_PUBLIC_LUMN_PUBLISHABLE_KEY!} baseUrl="https://app.lumn.dev">
          {children}
        </LumnProvider>
      </body>
    </html>
  );
}
```

Place `LumnProvider` as close to the root as needed—it must wrap any component that uses `useLumnContext`, `useEntitlements`, `useSubscriptions`, `usePricing`, `LumnGate`, `LumnCheckout`, or `LumnPricing`.

## Next.js App Router

All SDK components and hooks are client components (`'use client'`). Import them directly; no `dynamic(..., { ssr: false })` needed.

```tsx
// app/dashboard/page.tsx
'use client';

import { LumnGate, LumnPricing } from '@lumnsh/react';

export default function DashboardPage() {
  return (
    <>
      <LumnGate feature="pro" customerId="cus_xxx" loadingFallback={<div>Loading…</div>}>
        <ProFeature />
      </LumnGate>
      <LumnPricing customerId="cus_xxx" />
    </>
  );
}
```

## SSR behavior

| Component / Hook | SSR | Hydration |
|------------------|-----|-----------|
| LumnProvider | Renders children as-is | No API calls |
| LumnGate | Renders `loadingFallback` or `null` | `useEffect` fetches entitlement after mount; updates UI when result arrives |
| LumnPricing | Renders `loadingComponent` or "Loading…" | `usePricing` fetches products on mount |
| LumnCheckout | Renders placeholder | Checkout session created on user action |
| useEntitlements / useSubscriptions / usePricing | N/A (hooks) | Call API when invoked on the client |

`LumnGate` does not block SSR; it shows `loadingFallback` (or nothing) until the client hydrates and the entitlement API returns. Use `loadingFallback` to avoid layout shift.

## Exports

- **Provider:** `LumnProvider`, `useLumnContext`
- **Components:** `LumnGate`, `LumnCheckout`, `LumnPricing`
- **Hooks:** `useEntitlements`, `useSubscriptions`, `useLumn` (entitlements + subscriptions), `usePricing`
npm package: @lumoflo.com/cf-images-lib
Description: Unoffical Cloudflare Images Upload Library
Author: @lumoflo
Latest version: 1.9.0


### Features

- Cloudflare Images Upload with image URL
- Cloudflare Images Upload with image base64 string

Important : **The second key is private dont use it on public.**

**CF_ACCOUNT_ID**
CloudFlare Dashboard > Images >Overview >(on right side) Developer Resources > Account ID

**CF_API_TOKEN**
CloudFlare Dashboard > (Top Right  Profile Icon) My profile > (Left Side) API Tokens > Create Token > Read and write to Cloudflare Stream and Images (User Template) > Continue to summary > Create Token 

##### Installation
```
npm i cloudflare-images-lib
```

#### base64 Upload


```javascript
import Uploader from "cloudflare-images-lib"
const uploader = new Uploader(
    'CF_ACCOUNT_ID',
    'CF_API_TOKEN'
)

    await uploader
        .fromBase64(
            'iVBORw...ORK5CYII=', // base64 string without data:***/***;base64 tag
            'test1234', // filename (optional if you dont provide random string will be generated)
            'png' // (optional default : png)
        )
        .then((res) => console.log(res.data))
        .catch((err) => {
            console.log(err)
        })
```

#### URL Upload

```javascript
import Uploader from "cloudflare-images-lib"
const uploader = new Uploader(
    'CF_ACCOUNT_ID',
    'CF_API_TOKEN'
)
    await uploader
        .fromURL(
            'https://cdn.pixabay.com/photo/2015/04/19/08/32/marguerite-729510_1280.jpg'
        )
        .then((res) => console.log(res.data))
        .catch((err) => console.log(err))
```

#### Example Response

```javascript
{
  result: {
    id: '2e8fe0d7******200',
    filename: 'marg*******0.jpg',
    uploaded: '2023-0****62Z',
    requireSignedURLs: false,
    variants: [
      'https://imagedelivery.net/3PeG***********/public'
    ]
  },
  success: true,
  errors: [],
  messages: []
}
```
Notes:
##### This is not an Offical Library
npm package: @lump/less
Description: Part of the [Lump](https://github.com/miljan-aleksic/lump) collection.
Author: Miljan Aleksic
Latest version: 0.3.0

# @lump/less

Part of the [Lump](https://github.com/miljan-aleksic/lump) collection.

## Changelog

**0.2.0**

 - Make optional `src/dest` allowing to render less directly

**0.1.0**

 - Initial Release