open-index/open-npm huggingface dataset:
npm package: @sopres/core
Description: Core types and utilities for soPres
Author: Steffen Oepke
Latest version: 1.0.21

# @sopres/core

Core types and utilities for soPres packages.

## Installation

```bash
npm install @sopres/core
```

## Usage

```typescript
import { ContentStatus, UserRole, ApiResponse } from "@sopres/core";

// Types
interface Page {
  id: string;
  title: string;
  status: ContentStatus;
}

// Constants
console.log(ContentStatus.PUBLISHED);
console.log(UserRole.ADMIN);
```

## Exports

- **Types**: `ContentStatus`, `UserRole`, `ApiResponse`, `PaginatedResponse`
- **Errors**: `BaseError`, `ValidationError`, `NotFoundError`
- **Validation**: Zod schemas for common data structures
- **Constants**: Status codes, roles, permissions

## License

MIT
npm package: @sopres/sdk
Description: Official JavaScript/TypeScript SDK for soPres - Headless CMS Client
Author: Steffen Oepke
Latest version: 1.0.21

# @sopres/sdk

TypeScript SDK for soPres CMS API.

## Installation

```bash
npm install @sopres/sdk
```

## Usage

```typescript
import { SopresClient } from "@sopres/sdk";

const client = new SopresClient({
  baseUrl: "https://your-sopres-instance.com/api",
  apiKey: "your-api-key",
});

// Fetch content
const pages = await client.content.list();
const page = await client.content.get("page-slug");

// Media
const media = await client.media.list();

// Patterns
const patterns = await client.patterns.list();
```

## API Reference

### Content API

- `client.content.list()` - List all content
- `client.content.get(slug)` - Get content by slug
- `client.content.create(data)` - Create content
- `client.content.update(id, data)` - Update content
- `client.content.delete(id)` - Delete content

### Media API

- `client.media.list()` - List media files
- `client.media.upload(file)` - Upload file
- `client.media.delete(id)` - Delete file

### Patterns API

- `client.patterns.list()` - List patterns
- `client.patterns.get(id)` - Get pattern

## License

MIT
npm package: @sopres/utils
Description: Utility functions and helpers for soPres
Author: Steffen Oepke
Latest version: 1.0.21

# @sopres/utils

Utility functions for soPres applications.

## Installation

```bash
npm install @sopres/utils
```

## Usage

```typescript
import {
  isValidEmail,
  isValidSlug,
  sanitizeHtml,
  formatDate,
  parseQueryString,
} from "@sopres/utils";

// Validators
isValidEmail("user@example.com"); // true
isValidSlug("hello-world"); // true
isValidUrl("https://example.com"); // true

// Sanitization
sanitizeHtml('<script>alert("xss")</script>'); // escaped

// Helpers
parseQueryString("?page=1&limit=10"); // { page: '1', limit: '10' }
```

## Functions

### Validators

- `isValidEmail(email)` - Email validation
- `isValidUrl(url)` - URL validation
- `isValidSlug(slug)` - Slug validation
- `isStrongPassword(password)` - Password strength check
- `sanitizeHtml(html)` - XSS sanitization

### Helpers

- `parseQueryString(query)` - Parse query string
- `buildQueryString(params)` - Build query string
- `getFileExtension(filename)` - Extract file extension
- `getMimeType(filename)` - Get MIME type

## License

MIT
npm package: @sops-node/qr-crypto
Description: Secure QR code encryption utility for Sops
Latest version: 1.1.4

# @sops-node/qr-crypto 🔐

Secure QR code encryption and terminal visualization utility designed for the Sops ecosystem.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](https://github.com/Techathecary/backend)

## 🌟 Features

- **AES-256-GCM Encryption**: Military-grade, tamper-proof encryption with built-in data integrity (AuthTag).
- **Specialized Handlers**: Pre-defined interfaces and methods for **Drugs**, **Patients**, and **Pharmacists**.
- **Terminal Visualization**: Instant QR code generation in your terminal for rapid development and debugging.
- **Type-Safe**: Written in TypeScript with full ESM and CJS support.
- **Compact & Secure**: Optimized payload format to ensure high-density QR scan rates.

## 🚀 Installation

```bash
npm install @sops-node/qr-crypto
```

## 🛠️ Usage

### Initialize
The library requires a **32-byte hex key** (64 characters).

```typescript
import { QrCrypto } from '@sops-node/qr-crypto';

// Generate a secure key if you don't have one:
// openssl rand -hex 32
const ENCRYPTION_KEY = process.env.QR_ENCRYPTION_KEY; 
```

### 💊 Specialized Drug Handling
```typescript
const drugPayload = {
  id: "uuid-123",
  name: "Panadol",
  barcode: "622123456789",
  price: 15.50
};

// Encrypt
const qrToken = QrCrypto.encryptDrug(drugPayload, ENCRYPTION_KEY);

// Visualize in Terminal
QrCrypto.generateTerminalQr(qrToken);

// Decrypt & Validate
const data = QrCrypto.decryptDrug(qrToken, ENCRYPTION_KEY);
console.log(data.name); // Panadol
```

### 👤 Patient & Pharmacist Handling
The library provides similar specialized methods for `Patient` and `Pharmacist` types to ensure payload consistency across the platform.

- `encryptPatient` / `decryptPatient`
- `encryptPharmacist` / `decryptPharmacist`

### 🏗️ Generic Encryption
For any other data structures:
```typescript
const data = { custom: "data" };
const token = QrCrypto.encrypt(data, ENCRYPTION_KEY);
const original = QrCrypto.decrypt(token, ENCRYPTION_KEY);
```

## 🔒 Security Requirements

1. **Key Length**: Must be exactly 32 bytes (64 hex characters).
2. **Key Storage**: Never hardcode your keys. Use environment variables or a secret management service.
3. **Algorithm**: Uses `aes-256-gcm` which provides both confidentiality and authenticity.

## 🧪 Development & Testing

We use Jest for unit testing to ensure data integrity and cryptographic correctness.

```bash
# Run tests
npm test

# Build from source
npm run build
```

## 📄 License

MIT © [Youssef Hassan](https://github.com/JOYoussefHassan)
npm package: @sopt-makers/icons
Description: sopt-makers의 frontend repository에 사용되는 icons를 제공해요.
Author: sopt-makers
Latest version: 1.1.0

# Turborepo starter

This is an official starter Turborepo.

## Using this example

Run the following command:

```sh
npx create-turbo@latest
```

## What's inside?

This Turborepo includes the following packages/apps:

### Apps and Packages

- `docs`: a [Next.js](https://nextjs.org/) app
- `web`: another [Next.js](https://nextjs.org/) app
- `ui`: a stub React component library shared by both `web` and `docs` applications
- `eslint-config-custom`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `tsconfig`: `tsconfig.json`s used throughout the monorepo

Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).

### Utilities

This Turborepo has some additional tools already setup for you:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting

### Build

To build all apps and packages, run the following command:

```
cd my-turborepo
pnpm build
```

### Develop

To develop all apps and packages, run the following command:

```
cd my-turborepo
pnpm dev
```

### Remote Caching

Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:

```
cd my-turborepo
npx turbo login
```

This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

```
npx turbo link
```

## Useful Links

Learn more about the power of Turborepo:

- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)
npm package: @soptq/solidity-docgen
Description: Solidity API documentation automatic generator.
Latest version: 0.5.1-7.a2

# `solidity-docgen`

**Documentation generator for smart contract libraries.** Use the inline
documentation in your Solidity code for generating websites or any sort of
document.

The output is completely customizable through Handlebars templates that provide
easy access to all the metadata of your smart contract.

## Usage

> **Note:** Detailed usage information is not available yet. Please be patient!

```sh
npm install solidity-docgen
```

`solidity-docgen` takes as input a directory of contracts and `README`
documents. This directory is specified using the `--input`/`-i` flag,
defaulting to `./contracts`. It produces a set of files that it will place in
the output directory specified by `--output`/`-o`, defaulting to `./docs`.

```
solidity-docgen [ -i <input-dir> ] [ -o <output-dir> ] [ -t <templates-dir> ]
```

[NatSpec]: https://solidity.readthedocs.io/en/develop/natspec-format.html

### Solidity 0.7

The built in compiler remains solc 0.6, but users who want to use the newer compiler version can do so by installing the desired solc version and using the flag `--solc-module`. Here's an example using npm aliases:
```
npm install -D solc-0.7@npm:solc@^0.7.0
npx solidity-docgen --solc-module solc-0.7
```