open-index/open-npm huggingface dataset:
npm package: @meheduz/dev-jokes-cli
Description: Get random programming jokes in your terminal - instant mood booster for developers
Author: Meheduzzaman
Latest version: 2.0.1

# dev-jokes-cli

[![npm version](https://img.shields.io/npm/v/@meheduz/dev-jokes-cli.svg)](https://www.npmjs.com/package/@meheduz/dev-jokes-cli)
[![npm downloads](https://img.shields.io/npm/dm/@meheduz/dev-jokes-cli.svg)](https://www.npmjs.com/package/@meheduz/dev-jokes-cli)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> Get random programming jokes from the internet in your terminal - instant mood booster for developers!

## Quick Start

No installation needed! Just run:

```bash
npx @meheduz/dev-jokes-cli
```

Or install globally:

```bash
npm install -g @meheduz/dev-jokes-cli
dev-jokes-cli
```

## Example Output

```
Fetching a fresh joke...

Dev Joke of the Moment:
──────────────────────────────────────────────────

Q: Why do programmers prefer dark mode?
A: Because light attracts bugs!

──────────────────────────────────────────────────
Run again for another joke!
```

## Features

- **Live Internet Jokes** - Fetches fresh jokes from Official Joke API
- **Always Different** - New joke every time you run it
- **Colorful Output** - Beautiful terminal UI with chalk
- **Lightning Fast** - Instant jokes, minimal delay
- **Zero Config** - Works out of the box
- **NPX Ready** - No installation required
- **Cross-Platform** - Works on macOS, Linux, Windows

## Use Cases

- Take a quick break during coding sessions
- Lighten the mood during code reviews
- Start team meetings with a laugh
- Add to your terminal startup script
- Share with fellow developers

## Commands

```bash
dev-jokes-cli          # Show a random joke
dev-jokes-cli --help   # Show help
dev-jokes-cli --version # Show version
```

## Contributing

Contributions are welcome!

1. Fork the repo
2. Create your feature branch
3. Submit a PR

## Installation as Dependency

```bash
npm install @meheduz/dev-jokes-cli
```

```javascript
const { execSync } = require('child_process');
execSync('npx @meheduz/dev-jokes-cli', { stdio: 'inherit' });
```

## Show Your Support

Give a star if this project made you smile!

## License

MIT

## Links

- [NPM Package](https://www.npmjs.com/package/@meheduz/dev-jokes-cli)
- [GitHub Repository](https://github.com/meheduz/dev-jokes-cli)
- [Report Issues](https://github.com/meheduz/dev-jokes-cli/issues)

---

**Made by developers, for developers**

*Keep coding, keep laughing!*
npm package: @mehm8128/rehype-toc
Description: rehype plugin to generate a collapsible table of contents
Author: mehm8128
Latest version: 1.4.6

# rehype-toc

[![CI on main](https://github.com/mehm8128/rehype-toc/actions/workflows/main.yml/badge.svg)](https://github.com/mehm8128/rehype-toc/actions/workflows/main.yml)
[![NPM Version](https://img.shields.io/npm/v/@mehm8128/rehype-toc)](https://www.npmjs.com/package/@mehm8128/rehype-toc)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

rehype plugin to generate a table of contents from headings in your markdown.

You can create the table of contents as follows.

![A table of contents whose each items are anchor link.](assets/toc.png)

## Installation

```bash
pnpm add @mehm8128/rehype-toc
```

## Usage

### astro.config.mjs

```ts
import { rehypeCollapsibleToc } from "@mehm8128/rehype-toc";

export default defineConfig({
  markdown: {
    rehypePlugins: [rehypeCollapsibleToc],
  },
});
```

### rehype

```ts
import { rehype } from "rehype"
import { rehypeCollapsibleToc } from "@mehm8128/rehype-toc";

const input = "<h2 id="heading-id"><a href="#heading-id">Heading</a></h2>";
const { value } = await rehype().use(rehypeCollapsibleToc).process(input);
```
npm package: @mehmetkartal/jwtwallet
Description: JWTWallet Protocol - Server-side JWKS generation and management
Author: Mehmet Emin Kartal
Latest version: 0.1.0

# jwtwallet

Server-side JWKS generation and management for the [JWTWallet Protocol](https://github.com/jwtwallet/protocol).

## Installation

```bash
npm install jwtwallet
# or
yarn add jwtwallet
```

## Usage

### Create a Wallet

```typescript
import { JWTWallet } from 'jwtwallet';

// Create with default platform (jwtwallet.com)
const wallet = await JWTWallet.create();

// Or with custom platform
const wallet = await JWTWallet.create({
  platform: 'keys.mycompany.com',
});

console.log(wallet.accountId);  // "abc123..." → use as subdomain
console.log(wallet.issuer);     // "https://abc123.jwtwallet.com"
```

### Add Signing Keys

```typescript
import * as jose from 'jose';

// Generate key pair (you keep the private key!)
const { publicKey, privateKey } = await jose.generateKeyPair('ES256');
const publicJWK = await jose.exportJWK(publicKey);

// Add only the public key to wallet
wallet.addSigningKey({
  kid: 'my-key-1',
  alg: 'ES256',
  publicKey: publicJWK,
});
```

### Export Signed JWKS

```typescript
const jwks = await wallet.signAndExportJwtWalletJWKS();
// {
//   keys: [{ kty: 'EC', ... }],
//   jwtwallet: {
//     version: 1,
//     accountPublicKey: { ... },
//     signature: "...",
//     revoked: []
//   }
// }

// Host this at: https://{accountId}.{platform}/.well-known/jwks.json
```

### Revoke Keys

```typescript
wallet.revokeKey('my-key-1');

const jwks = await wallet.signAndExportJwtWalletJWKS();
// jwks.jwtwallet.revoked = ['my-key-1']
```

### Backup & Restore

```typescript
// Export (includes account private key)
const backup = await wallet.export();
// Store backup securely!

// Import
const restored = await JWTWallet.import(backup);
```

### Validate JWKS

```typescript
import { validateJWKS } from 'jwtwallet';

const result = await validateJWKS(jwks, 'https://abc123.jwtwallet.com');
if (!result.valid) {
  console.error(result.error);
}

// Or self-validate
const result = await wallet.validate();
```

## How It Works

1. **Account Key**: Each wallet has an account key pair (ES256). The public key hash becomes your account ID (subdomain).

2. **Signing Keys**: You generate signing keys externally and register only the public keys with your wallet.

3. **JWKS Signing**: When you export, the wallet signs `canonical(keys) || canonical(accountPublicKey) || issuer` with the account private key.

4. **Verification**: Clients use [jwtwallet-jose](https://github.com/jwtwallet/jwtwallet-jose) to verify the JWKS trust chain before using keys.

## Related

- [jwtwallet-jose](https://github.com/jwtwallet/jwtwallet-jose) - Client-side JWKS verification
- [JWTWallet Protocol](https://github.com/jwtwallet/protocol) - Protocol specification

## License

MIT
npm package: @mehmetkircal/hash-base
Description: abstract base class for hash-streams
Author: Kirill Fomichev
Latest version: 3.1.0

# hash-base

[![NPM Package](https://img.shields.io/npm/v/hash-base.svg?style=flat-square)](https://www.npmjs.org/package/hash-base)
[![Build Status](https://img.shields.io/travis/crypto-browserify/hash-base.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/hash-base)
[![Dependency status](https://img.shields.io/david/crypto-browserify/hash-base.svg?style=flat-square)](https://david-dm.org/crypto-browserify/hash-base#info=dependencies)

[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

Abstract base class to inherit from if you want to create streams implementing the same API as node crypto [Hash][1] (for [Cipher][2] / [Decipher][3] check [crypto-browserify/cipher-base][4]).

## Example

```js
const HashBase = require('hash-base')
const inherits = require('inherits')

// our hash function is XOR sum of all bytes
function MyHash () {
  HashBase.call(this, 1) // in bytes

  this._sum = 0x00
}

inherits(MyHash, HashBase)

MyHash.prototype._update = function () {
  for (let i = 0; i < this._block.length; ++i) this._sum ^= this._block[i]
}

MyHash.prototype._digest = function () {
  return this._sum
}

const data = Buffer.from([ 0x00, 0x42, 0x01 ])
const hash = new MyHash().update(data).digest()
console.log(hash) // => 67
```
You also can check [source code](index.js) or [crypto-browserify/md5.js][5]

## LICENSE

MIT

[1]: https://nodejs.org/api/crypto.html#crypto_class_hash
[2]: https://nodejs.org/api/crypto.html#crypto_class_cipher
[3]: https://nodejs.org/api/crypto.html#crypto_class_decipher
[4]: https://github.com/crypto-browserify/cipher-base
[5]: https://github.com/crypto-browserify/md5.js