open-index/open-npm huggingface dataset:
npm package: @luminable/logger
Description: Idiomatic logger API supporting custom formatting and transports
Latest version: 1.3.1

# @luminable/logger

Idiomatic logger API supporting custom formatting and transports.

## Highlights

- 🔥 Zero dependencies
- 🗜 Tidy and compact
- 💻 Works in browser
- 📦 Standard implementations in the box

## Usage

```ts
const logger = new ConsoleLogger();
// Logs with level "below" warn (debug, info) will not be emitted
logger.level = 'warn';
logger.info('Something happened, nothing to see here');
logger.warn('User account has been suspended', { accountId: '123' });
```
npm package: @luminable/metrics
Description: Idiomatic API for collecting application metrics
Latest version: 1.3.1

# @luminable/metrics

Idiomatic API for collecting application metrics.

## Usage

### Metrics collection

1. Use counters, gauges and histograms to collect metrics in your application.

    ```ts
    export class MyService {

        @metric()
        importantEvents = new CounterMetric('my_service_important_events_total', 'Total number of times something important happened.');

        doSomething() {
            // ...
            importantEvents.incr();
        }

    }
    ```

### Generating Prometheus report

Generate a Prometheus report from all metrics defined in your mesh:

```ts
const report = generateMetricsReport(mesh);
// Serve as text/plain
```
npm package: @luminable/pathmatcher
Description: Path matching utils for pathname-based routing
Latest version: 1.3.1

# @luminable/pathmatcher

Path matching utils for pathname-based routing.

## Key features

- 🔥 Zero dependencies
- 👗 Very slim — just few hundred bytes gzipped
- ⚡️ Blazing fast
- 💻 Works in browser
- 🗜 Tidy and compact
- 🌳 Ergonomic
- 🔬 Strongly typed
- 💎 Very strict feature set

## Usage

```ts
matchPath('/users/{name}', '/users/joe');   // { name: 'joe' }
matchPath('/users/{name}', '/users/', );    // null — no match
matchPath('/users', '/users');              // {} — match with no parameters
matchPath('/users/', '/users');             // {} — note: trailing slashes are ignored both ways

// Prefix mode — match only the beginning of the path
matchPath('/users', '/users/foo', true);    // {} — match with no parameters
```
npm package: @luminable/pointer
Description: Simple Object Get/Set via JSON Pointer or dot-delimited formats
Latest version: 1.3.1

# Luminable Pointer

Simple library for getting and setting object values via [JSON Pointer](https://www.rfc-editor.org/rfc/rfc6901.html) or dot-delimited formats.

## Highlights

- 🔥 Zero dependencies
- 💻 Works in browser
- 🗜 Tidy and compact, only ~500 bytes minified uncompressed
- ⚡️ Blazing fast

## Usage

```ts
import * as pointer from '@luminable/pointer';

const object = {
    foo: {
        items: [
            { bar: 'one' },
            { bar: 'two' },
            { bar: 'three' },
        ]
    }
};

// If pointer starts with /, then it's interpreted
// as RFC6901 compliant JSON Pointer
pointer.get(object, '/foo/items/1/bar'); // 'two'

// Otherwise it's a dot-delimited path
pointer.get(object, 'foo.items.0'); // { bar: 'one' }

// Set modifies the object, creating additional objects and arrays as needed
const newObj = {}
pointer.set(newObj, 'foo.items.0.bar', '123');
// newObj is now { foo: { items: [{ bar: '123' }] } }
```

## Spec

Luminable Pointer aims to implement all the features from [RFC6901](https://www.rfc-editor.org/rfc/rfc6901.html) whilst also extending it to provide the following features:

1. Dot-delimited paths:

    ```ts
    get({ foo: { bar: { baz: 123 }}}, 'foo.bar.baz')
    // 123
    ```

2. Wildcard syntax to access array content:

    ```ts
    // Single level
    get({
        users: [
            { name: 'Joe' },
            { name: 'Jane' },
        ]
    }, 'users.*.name');
    // ['Joe', 'Jane']

    // Multiple levels
    get({
        items: [
            {
                tags: [{ value: 1 }, { value: 2 }],
            },
            {
                tags: [{ value: 3 }],
            },
        ]
    }, 'items.*.tags.*.value');
    // [ [ 1, 2 ], [ 3 ] ]
    ```

3. Push values into array:

    ```ts
    const obj = {};
    set(obj, '/items/-', 'foo');
    // { items: ['foo' ] }
    ```
npm package: @luminafe/cli
Description: Batch upload photos from local disk to GitHub object storage used by Lumina.
Latest version: 0.1.0

# @luminafe/cli

Batch upload photos from local disk to GitHub object storage used by Lumina.

## Install

```bash
npm i -g @luminafe/cli
```

## Commands

- `lumina-upload upload <input...>`
- `lumina-upload resume`
- `lumina-upload validate <input...>`

## Example

```bash
lumina-upload \
  --owner your-owner \
  --repo your-repo \
  --token ghp_xxx \
  --branch main \
  --concurrency 4 \
  upload ./photos
```

## Manifest

Default manifest file: `.lumina-upload-manifest.json`.
Use `resume` to continue unfinished uploads.

## Maintainer Release

```bash
pnpm run cli:build
pnpm run cli:pack
pnpm run cli:publish
```
npm package: @luminal/amplitude-plugin
Description: <div align="center">   <p>     <img src="../../.github/luminal-analytics.svg" alt="Luminal Analytics" />   </p>   <h1 align="center">@luminal/amplitude-plugin</h1> </div>
Latest version: 0.1.26

<div align="center">
  <p>
    <img src="../../.github/luminal-analytics.svg" alt="Luminal Analytics" />
  </p>
  <h1 align="center">@luminal/amplitude-plugin</h1>
</div>

## Description
npm package: @luminal/browser
Description: <div align="center">   <p>     <img src="../../.github/luminal-analytics.svg" alt="Luminal Analytics" />   </p>   <h1 align="center">@luminal/browser</h1> </div>
Latest version: 0.1.26

<div align="center">
  <p>
    <img src="../../.github/luminal-analytics.svg" alt="Luminal Analytics" />
  </p>
  <h1 align="center">@luminal/browser</h1>
</div>

## Description