open-index/open-npm huggingface dataset:
npm package: @jlmorgan/lodash-extras
Description: A collection of extras for lodash.
Author: Justin Morgan
Latest version: 1.1.1

# Lodash Extras

Extensions for [lodash][] primarily targeting [Node.js][] applications.

## Installation

Using npm:

```bash
npm install --save @jlmorgan/lodash-extras
```

## Methods

* [`and`](docs/and.md)
* [`append`](docs/append.md)
* [`coalesce`](docs/coalesce.md) (alias: `alt`)
* [`copy`](docs/copy.md)
* [`ifThenElse`](docs/ifThenElse.md)
* [`invokeWith`](docs/invokeWith.md)
* [`isAll`](docs/isAll.md)
* [`isAny`](docs/isAny.md)
* [`isBlank`](docs/isBlank.md)
* [`isFalse`](docs/isFalse.md)
* [`isInstanceOf`](docs/isInstanceOf.md)
* [`isSome`](docs/isSome.md)
* [`isNone`](docs/isNone.md)
* [`isTrue`](docs/isTrue.md)
* [`isTypeOf`](docs/isTypeOf.md)
* [`modulo`](docs/modulo.md)
* [`or`](docs/or.md)
* [`prepend`](docs/prepend.md)
* [`setProperty`](docs/setProperty.md)
* [`setValue`](docs/setValue.md)
* [`tryCatch`](docs/tryCatch.md)

[lodash]: https://lodash.com/
[Node.js]: https://nodejs.org/
npm package: @jlmorgan/promise-extras
Description: Collection of extras for Promises.
Author: Justin Morgan
Latest version: 2.1.1

# Promise Extras

[Docs][]

> Collection of extras for Promises.

## Installation

Using [`npm`][npm]:

```bash
npm install --save @jlmorgan/promise-extras
```

## Usage

### Node.js

```javascript
const { rejectIf } = require("@jlmorgan/promise-extras");
// or
const { resolveIf } = require("@jlmorgan/promise-extras/resolveIf");
```

### Typescript

```typescript
import { rejectIf } from "@jlmorgan/promise-extras";
// or
import { resolveIf } from "@jlmorgan/promise-extras/resolveIf";
```

[Docs]: ./docs/
[npm]: https://npmjs.com/
npm package: @jlmurphysa/rate-limiter
Description: [![Build Status](https://travis-ci.org/jlmurphysa/rate-limiter.svg?branch=master)](https://travis-ci.org/jlmurphysa/rate-limiter) [![Coverage Status](https://coveralls.io/repos/github/jlmurphysa/rate-limiter/badge.svg?branch=master)](https://coveralls.io/
Author: Oliver Haase
Latest version: 0.0.6

# rate-limiter
[![Build Status](https://travis-ci.org/jlmurphysa/rate-limiter.svg?branch=master)](https://travis-ci.org/jlmurphysa/rate-limiter)
[![Coverage Status](https://coveralls.io/repos/github/jlmurphysa/rate-limiter/badge.svg?branch=master)](https://coveralls.io/github/jlmurphysa/rate-limiter?branch=master)
[![Standard Version](https://img.shields.io/npm/v/npm.svg)](https://img.shields.io/npm/v/npm.svg)

A powerful rate-limiter with annotation and channel support written for TypeScript.

## Features
* Annotation/decorator support with `@throttle`
* Implements the token-bucket algorithm for flexible rate options.
* Support for independent configurable `Channels` that are isolated from each other.

## Installation
`$ npm install @jlmurphysa/rate-limiter`

## Usage

### Simple default channel
```typescript
import { throttle, Channels } from '@jlmurphysa/rate-limiter'

class API {
    @throttle()
    static async request() {
        return 'OK';
    }
}
Channels.create(10, 'second')
```

### Simple named channels
```typescript
import { Channels, throttle } from '@jlmurphysa/rate-limiter'

class API {
    @throttle('google-places')
    static async requestToPlaces() {
        return 'OK';
    }

    @throttle('google-translate')
    static async requestToAnother() {

    }
}
Channels.create('google-places', 10, 'second')
Channels.create('google-translate', 20, 'hour')
```

### Advanced
```typescript
import {
    Channel,
    Channels,
    throttle
} from '@jlmurphysa/rate-limiter'

Channels.add('google-places', new Channel({
    interval: 1000,         // Token refresh interval
    bucketSize: 25,         // Max tokens the bucket will hold
    tokensPerInterval: 10,  // Number of tokens we receive per interval
    tokens: 25              // Initial tokens
})

const throttleOpts = {
    channel: 'google-places',
    cost: 5,    // The token cost of each call
    ttl: 5000   // Throw if we'll have to wait more than 5s.
}

class API {
    @throttle(throttleOpts)
    static async requestToPlaces() {
        return 'OK'
    }

    @throttle({...throttleOpts, cost: 8})
    static async requestToPlacesRich() {
        return 'OK!'
    }
}
```

## Future Work
+ **'priority' option** - not exactly trivial in the current implementation.
npm package: @jlmx/starter
Description: Scaffold new projects with jlmx's preferred stack
Author: jlmx
Latest version: 1.2.2

# @jlmx/starter

CLI to scaffold new projects with my preferred stack, optimized for Cloudflare deployment.

## Usage

Interactive mode — prompts for all options:

```bash
bunx @jlmx/starter
```

Pass a project name to skip the name prompt:

```bash
bunx @jlmx/starter my-app
```

One-liner with flags — fully non-interactive:

```bash
bunx @jlmx/starter my-app --template nextjs --features tailwind,fonts,cloudflare --bindings d1,r2 --ai claude
```

Accept all defaults with no prompts:

```bash
bunx @jlmx/starter my-app --yes
```

## Options

| Flag | Values | Description |
|------|--------|-------------|
| `--template` | `tanstack-start`, `nextjs` | Framework template |
| `--features` | `tailwind,fonts,auth,cloudflare` | Comma-separated feature list |
| `--bindings` | `d1,r2,kv,ai,queues` | Cloudflare bindings (requires `cloudflare` feature) |
| `--ai` | `none`, `agents`, `claude`, `both` | AI coding assistant instructions |
| `-y, --yes` | — | Accept all defaults, skip all prompts |
| `-h, --help` | — | Show help |
| `-v, --version` | — | Show version |

Defaults (used with `--yes`): `tanstack-start`, features `tailwind,fonts,cloudflare`, no bindings, no AI instructions.

## Templates

- **TanStack Start** - Full-stack React with TanStack Router
- **Next.js** - Full-stack React with App Router

## Features

All projects include:
- **Biome** - Fast linting and formatting (replaces ESLint + Prettier)
- **Logger** - Structured logging utility
- **Result Type** - Explicit error handling (neverthrow pattern)

Optional:
- **Tailwind CSS** - Custom design system with `tailwindcss-animate`
- **Custom Fonts** - Inter + JetBrains Mono via Fontsource
- **Authentication** - Better Auth + Drizzle ORM
- **Cloudflare Workers** - Edge deployment with D1, R2, KV, AI, Queues
- **AI Instructions** - AGENTS.md and/or CLAUDE.md for coding assistants

## Cloudflare Bindings

When `cloudflare` is selected, you can enable:

| Binding | Description |
|---------|-------------|
| `d1` | SQLite database at the edge |
| `r2` | S3-compatible object storage |
| `kv` | Key-value storage |
| `ai` | Workers AI models |
| `queues` | Message queues |

## Development

```bash
# Run locally
bun run dev

# Build
bun run build

# Lint
bun run lint
```

## License

MIT
npm package: @jlndk/observable-list
Description: Lightweight, powerful & framework-agnostic JavaScript state management in less than 1.5KB!
Author: Jonas Lindenskov Nielsen
Latest version: 0.1.3

# ObservableList
> Lightweight, powerful & framework-agnostic JavaScript state management in less than 1.5KB!

`ObservableList` is a simple, but flexible way of storing data in Single Page Applications, based on the paradigm of *stores*, presented by [Svelte](https://svelte.dev/docs#svelte_store).
The goal is to make it as simple to work with arrays as with primitive data-types, such as integers, booleans and strings, while still offering reactivity, persistance and sharability between application components.

Also includes helper for syncronising data with LocalStorage.

## Demo
@TODO

## Installing

The package can be installed with NPM or Yarn.

**Yarn**
```
yarn add @jlndk/ObservableList
```

**NPM**
```
npm install @jlndk/ObservableList
```

## Usage
See [Wiki](https://github.com/jlndk/ObservableList/wiki/Usage).

**TL;DR:**
```js
import {list} from '@jlndk/observable-list';
const list = list(); // or list(["initial", "values"]);
const unsubscribe = list.subscribe(updatedList => {
    //Do what you want with updated list...
    console.log(updatedList[0]); //new value
});
list.push("new value");
```
**Notice: Make sure to call the `unsubscribe` method when your component is destroyed to prevent memory leaks.**

## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request

## Tests
@TODO
npm package: @jlnstack/store
Description: Type-safe store
Author: jln13x
Latest version: 0.0.1

# @jlnstack/store

Type-safe store for React.

Inspired by [TkDodo's Zustand best practices](https://tkdodo.eu/blog/working-with-zustand).

[Documentation](https://jlnstack.com/docs/store)