open-index/open-npm huggingface dataset:
npm package: @jome/core
Description: The core functions used by the compiled javascript code of Jome files.
Author: Pascal Rainville
Latest version: 0.0.4

# Jome-lib

This is a work in progress. This is the easy way right now. I call functions in a custom lib.

I would like to optimize and avoid using these functions. For example, instead of using write.js, I would like
the compiler to use fs.write directly.

But it's overkill for now, so let's do it this way.

Contains all the code snippets to be used by Jome utilities.

This library will probably grow to be quite big.

At one point, it will probably be a good idea to split this library into smaller ones, so if you don't use
some utils you don't need to install the whole library.

TODO: Find the good balance between being lightweight and having a lot of functionality.
Ideally, split this lib into many.

mdToHtml with it's mardown-it and highlight.js and my custom jome highlight dependencies should be in another librairy.

But let's wait until splitting, it will make more sense where to split later on.
npm package: @jomkv/keybud-v2-contracts
Description: Shared TypeScript contracts for KeyBud V2
Author: Jom Karlo Verzosa
Latest version: 2.0.1

# KeyBud V2 Contracts

Shared TypeScript contracts and type definitions for KeyBud V2.

## Overview

This package contains shared contracts for WebSocket events, payloads, and other common types used across the KeyBud V2 ecosystem. It ensures type safety and consistency between the
two repositories.

## Installation

```sh
pnpm add @jomkv/keybud-v2-contracts
```

## Usage

```typescript
import {
  AUTH_EVENT_NAMES,
  MESSAGE_EVENT_NAMES,
  type AuthClientToServerEvents,
  type MessageServerToClientEvents,
  type NewMessagePayload,
} from "@jomkv/keybud-v2-contracts";
```

## Structure

### WebSocket Contracts

#### Authentication (`ws/auth`)

Handles authentication-related WebSocket events:

- **Event Names**: `AUTH_EVENT_NAMES`
  - `SUBSCRIBE` - Client subscribes to auth events
  - `SUBSCRIBE_SUCCESS` - Server confirms subscription
  - `COMPLETE` - Client completes login

- **Events**:
  - `AuthClientToServerEvents` - Client-to-server event types
  - `AuthServerToClientEvents` - Server-to-client event types

- **Payloads**: `AuthSubscribePayload`, `AuthSubscribeSuccessPayload`

#### Messages (`ws/messages`)

Handles messaging-related WebSocket events:

- **Event Names**: `MESSAGE_EVENT_NAMES`
  - `SUBSCRIBE` - Client subscribes to messages
  - `NEW_MESSAGE` - Server sends new message

- **Events**:
  - `MessageClientToServerEvents` - Client-to-server event types
  - `MessageServerToClientEvents` - Server-to-client event types

- **Payloads**: `MessageSubscribePayload`, `NewMessagePayload`

## Development

### Prerequisites

- Node.js >= 14.17
- pnpm 10.17.0

### Scripts

```sh
# Run tests (not yet implemented)
pnpm test
```

### Project Configuration

- **TypeScript**: Strict mode enabled with modern module resolution
- **Package Manager**: pnpm with workspace support
- **Module System**: ES Modules

## Contributing

1. Fork the repository
2. Create your feature branch
3. Add your contracts to the appropriate directory under `src/`
4. Export new contracts from `src/index.ts`
5. Submit a pull request

## License

MIT © Jom Karlo Verzosa

## Repository

[https://github.com/jomkv/keybud-v2-contracts](https://github.com/jomkv/keybud-v2-contracts)

```

```