open-index/open-npm huggingface dataset:
npm package: @luna-park/eslint-config
Description: Luna Park eslint config
Author: Luna Park
Latest version: 1.2.6

# @luna-park/eslint-config

A comprehensive set of ESLint rules designed for Luna Park projects, providing consistency across TypeScript, Vue, and browser-based applications.

## Features

- **Standardized Rules**: Based on `@eslint/js` and `@stylistic/eslint-plugin`.
- **TypeScript Support**: Integration with `typescript-eslint` for robust typing.
- **Vue Integration**: Specialized rules for Vue components (extends TypeScript configuration).
- **Import Management**: Auto-sorting for imports and exports.
- **Key Sorting**: Enforces custom ordering for object keys and types.

## Installation

Install the package along with its peer dependencies:

```bash
npm install -D @luna-park/eslint-config eslint typescript typescript-eslint
```

Note: Ensure you have the necessary plugins installed if you are using specific configurations (e.g., `eslint-plugin-vue` for the Vue config).

## Usage

This package provides several entry points for different project types.

### TypeScript Configuration

Recommended for general TypeScript projects.

```javascript
// eslint.config.js
import lpConfigTs from "@luna-park/eslint-config/typescript";
import tseslint from "typescript-eslint";

export default tseslint.config(
    ...lpConfigTs
);
```

### Vue Configuration

Recommended for Vue.js projects. It includes browser globals and TypeScript rules.

```javascript
// eslint.config.js
import lpConfigVue from "@luna-park/eslint-config/vue";
import tseslint from "typescript-eslint";

export default tseslint.config(
    ...lpConfigVue
);
```

### Browser Configuration

Standalone browser configuration providing necessary globals.

```javascript
// eslint.config.js
import lpConfigBrowser from "@luna-park/eslint-config/browser";
import tseslint from "typescript-eslint";

export default tseslint.config(
    ...lpConfigBrowser
);
```
npm package: @luna-park/http-errors
Description: HTTP errors
Author: Luna Park
Latest version: 1.0.0

# @luna-park/http-errors

A lightweight, type-safe library for handling HTTP errors in TypeScript.

## Installation

```bash
pnpm add @luna-park/http-errors
```

## Usage

### Using the `httpError` proxy

The most ergonomic way to create HTTP errors is using the `httpError` proxy. It provides autocompletion for all standard HTTP status codes.

```typescript
import { httpError } from '@luna-park/http-errors';

// Throws an error with status code 404
throw httpError.NotFound('User not found');

// Throws an error with status code 400
throw httpError.BadRequest();

// Throws an error with status code 500
throw httpError.InternalServerError();
```

### Using the `HttpError` class

You can also use the `HttpError` class directly if you need more control.

```typescript
import { HttpError } from '@luna-park/http-errors';

const error = new HttpError('Custom message');
error.statusCode = 403;
error.expose = true;

throw error;
```

### Checking for HTTP Errors

Use the `isHttpError` helper to check if an error is an instance of `HttpError`.

```typescript
import { isHttpError } from '@luna-park/http-errors';

try {
    // ... code that might throw
} catch (error) {
    if (isHttpError(error)) {
        console.log(`HTTP Error ${error.statusCode}: ${error.message}`);
    }
}
```

### Status Codes

The `status` object contains all supported status codes and their names.

```typescript
import { status } from '@luna-park/http-errors';

console.log(status.OK.code); // 200
console.log(status.NotFound.name); // "Not Found"
```

## Features

- **Type-safe**: Built with TypeScript for excellent IDE support.
- **Ergonomic**: Easy-to-use proxy for common status codes.
- **Expose property**: Automatically sets `expose: true` for 4xx errors (client errors) and `false` for 5xx errors (server errors), which is useful for middleware that decides whether to send error details to the client.
- **Lightweight**: Zero dependencies (uses standard `Error` and `Proxy`).

## License

MIT (c) Luna Park
npm package: @luna-park/plugin-nuxt-ui
Description: Nuxt UI plugin for Luna Park
Author: Luna Park
Latest version: 1.3.1

# Nuxt UI Plugin for Luna Park

Nuxt UI is a collection of reusable components and utilities for building apps. This plugin integrates Nuxt UI components directly into Luna Park.

## Installation

This plugin can be installed directly from the Luna Park application:
1. Open your project in Luna Park.
2. Navigate to the **Library** menu.
3. Click on **Install Plugins**.
4. Search for "Nuxt UI" and install it.

## Configuration

You can configure the global appearance of the UI components in the plugin settings:

| Option | Description | Type | Default | Options |
|---|---|---|---|---|
| `primary` | Primary color theme | String | `green` | `red`, `orange`, `amber`, `yellow`, `lime`, `green`, `emerald`, `teal`, `cyan`, `sky`, `blue`, `indigo`, `violet`, `purple`, `fuchsia`, `pink`, `rose` |
| `neutral` | Neutral color shade | String | `slate` | `slate`, `gray`, `zinc`, `neutral`, `stone` |
| `colorMode`| Color mode preference | String | `auto` | `light`, `dark`, `auto` |
| `radius` | Global border radius | Number | `0.25` | 0 to 1 (step 0.125) |

## Components

This plugin provides a wide range of components organized into the following categories:

- **Chat**: Components for building chat interfaces.
- **Dashboard**: Widgets and layout elements for dashboards.
- **Data**: Components for displaying data (tables, lists, etc.).
- **Element**: Basic UI elements (buttons, badges, avatars).
- **Form**: Input fields, selects, checkboxes, and other form elements.
- **Layout**: Structural components for page layout.
- **Navigation**: Menus, breadcrumbs, and other navigation aids.
- **Overlay**: Modals, slide-overs, tooltips, and notifications.
- **Page**: High-level page structure components.
npm package: @luna-park/plugin-users
Description: Users plugin for Luna Park.
Author: Luna Park
Latest version: 1.0.3

# @luna-park/plugin-users

Users plugin for the **Luna Park** editor. This package adds user accounts, connections (OAuth2), and role-based management to your visual scripting environment.

## Features

- **User Management**: Signup, login, and session handling.
- **Role-Based Access Control**: Assign roles and verify permissions.
- **OAuth2 Integration**: Connect with external providers (e.g., Google, GitHub).
- **Security**: Argon2id hashing for secure password storage.
- **Built-in Storage**: Automatic initialization of `users` and `sessions` databases.

## Installation

This plugin is designed to be used within a Luna Park project.

```bash
pnpm add @luna-park/plugin-users
```

## Quick Start (Default Admin)

Upon mounting, the plugin automatically creates a default administrator account if no user database exists:

- **Login**: `admin`
- **Password**: `admin`

> [!IMPORTANT]
> Change the default administrator password immediately after the first login for security.

## Visual Scripting Nodes

The plugin adds the following nodes to the Luna Park editor:

### User
- `user/connect`: Authenticate a user via login and password. Supports `login`, `signup`, or `both`.
- `user/disconnect`: Terminate the current session or all active sessions.

### OAuth
- `oauth/connect`: Authenticate via an external OAuth2 provider.

### Roles & Permissions
- `roles/has-permission`: Checks if the current user has a specific permission.
- `roles/assert-permission`: Throws a `Forbidden` error if the user lacks the required permission.

### Hashing
- `hash/hash-argon2`: Hashes a string using the Argon2id algorithm.
- `hash/verify-argon2`: Verifies a password against an Argon2 hash.

## Configuration & Settings

The plugin adds two settings tabs to the Luna Park editor:

1.  **General**: Basic user and session configuration.
2.  **OAuth2**: Manage external authentication providers (Client IDs, Secrets, and Redirect URIs).

## Database Structure

The plugin manages two core file-based databases:

-   **Users**: Stores user profiles, credentials (hashed), and roles.
-   **Sessions**: Manages active user sessions.

---
Developed by [Luna Park](https://luna-park.app).