open-index/open-npm huggingface dataset:
npm package: @mmob/react-nice-dates
Description: A responsive, touch-friendly, and modular date picker library for React.
Author: Hernán Sartorio
Latest version: 3.2.3

# React Nice Dates

A responsive, touch-friendly, and modular date picker library for React.

Documentation and examples at [reactnicedates.hernansartorio.com](https://reactnicedates.hernansartorio.com).
npm package: @mmobeus/luadata
Description: Parse Lua data files and convert to JSON (native Node.js addon)
Latest version: 0.1.18

# @mmobeus/luadata

Native Node.js addon for parsing Lua data files and converting to JSON. Powered by Rust via N-API.

## Install

```
npm install @mmobeus/luadata
```

## Usage

```javascript
import { convertLuaToJson, convertLuaFileToJson } from "@mmobeus/luadata";

// Convert Lua data to a JSON string
const json = convertLuaToJson('playerName = "Thrall"');

// Parse into an object
const data = JSON.parse(convertLuaToJson(luaString));

// Convert a file
const json = convertLuaFileToJson("config.lua");

// With options
const json = convertLuaToJson(luaString, {
    emptyTable: "array",
    arrayMode: "sparse",
    arrayMaxGap: 10,
    stringTransform: { maxLen: 1024, mode: "truncate" },
});
```

Functions are synchronous and call the native Rust parser directly — no initialization step required. TypeScript type definitions are included.

## Options

All functions accept an optional options object with four groups:

- **Schema** (`schema`, `unknownFields`) — provide a JSON Schema string to guide type decisions, overriding heuristics
- **String transform** — limit string length during parsing (`truncate`, `empty`, `redact`, `replace`)
- **Array detection** — control how integer-keyed Lua tables map to JSON arrays (`sparse`, `index-only`, `none`)
- **Empty tables** — choose how empty Lua tables render in JSON (`null`, `omit`, `array`, `object`)

See the [full options documentation](https://github.com/mmobeus/luadata#options) for details and examples.

## Links

- [Luadata by Example](https://mmobeus.github.io/luadata/docs/) — guided tour with interactive examples
- [Live Converter](https://mmobeus.github.io/luadata/) — try it in your browser
- [GitHub](https://github.com/mmobeus/luadata)
npm package: @mmobeus/luadata-wasm
Description: Parse Lua data files and convert to JSON (WebAssembly)
Latest version: 0.1.18

# @mmobeus/luadata-wasm

WebAssembly build of luadata for parsing Lua data files and converting to JSON. Designed for browser projects using a bundler (webpack, vite, etc.).

For Node.js usage without a bundler, use [`@mmobeus/luadata`](https://www.npmjs.com/package/@mmobeus/luadata) instead.

## Install

```
npm install @mmobeus/luadata-wasm
```

## Usage

```typescript
import { init, convert } from "@mmobeus/luadata-wasm";

// Initialize the WASM module (call once before convert)
await init();

// Convert Lua data to a JSON string
const json = convert('playerName = "Thrall"');

// Parse into an object
const data = JSON.parse(convert(luaString));

// With options
const json = convert(luaString, {
    emptyTable: "array",
    arrayMode: "sparse",
    arrayMaxGap: 10,
    stringTransform: { maxLen: 1024, mode: "truncate" },
});
```

`init()` must be called once before `convert()` — it loads the WASM module. TypeScript type definitions are included.

## Options

The `convert` function accepts an optional options object with four groups:

- **Schema** (`schema`, `unknownFields`) — provide a JSON Schema string to guide type decisions, overriding heuristics
- **String transform** — limit string length during parsing (`truncate`, `empty`, `redact`, `replace`)
- **Array detection** — control how integer-keyed Lua tables map to JSON arrays (`sparse`, `index-only`, `none`)
- **Empty tables** — choose how empty Lua tables render in JSON (`null`, `omit`, `array`, `object`)

See the [full options documentation](https://github.com/mmobeus/luadata#options) for details and examples.

## Links

- [Luadata by Example](https://mmobeus.github.io/luadata/docs/) — guided tour with interactive examples
- [Live Converter](https://mmobeus.github.io/luadata/) — try it in your browser
- [GitHub](https://github.com/mmobeus/luadata)
npm package: @mmogib/kfupm-courses
Description: CLI tool to scrape KFUPM course offerings
Latest version: 1.0.0

# KFUPM Course Scraper

A TypeScript CLI tool to scrape course offerings from KFUPM's registrar website.

## Installation

### Local Development

1. Clone or download the repository
2. Install dependencies:
```bash
npm install
```

3. Install Playwright browsers:
```bash
npx playwright install chromium
```

### Global Installation

Once published to npm:

```bash
npm i -g @mmogib/kfupm-courses
```

This will also install the Chromium browser used by Playwright.

For local linking during development (no npm publish needed):

```bash
npm run setup
```
This installs dependencies, installs Playwright Chromium, builds, and links the CLI globally.

## Usage

### List Available Departments

```bash
kfupm-courses list-departments
# or
kfupm-courses list
# or
kfupm-courses depts
```

### Scrape Courses

There are multiple ways to scrape courses:

#### Option 1: Using explicit flags
```bash
kfupm-courses scrape --term 251 --dept "Mathematics"
kfupm-courses scrape -t 252 -d "Math"
```

#### Option 2: Using positional arguments
```bash
kfupm-courses 251 "Math"
kfupm-courses 252 "Computer Science"
```

#### Option 3: Specify custom output directory
```bash
kfupm-courses scrape -t 251 -d "Math" -o "/path/to/output"
kfupm-courses 252 "ICS" --output "C:\MyFolder"
```

### Department Shortcuts

You can use department shortcuts instead of full names:

- `Math` or `Mathematics` → Mathematics
- `CS` or `ICS` → Information & Computer Science
- `ME` or `Mechanical` → Mechanical Engineering
- `EE` or `Electrical` → Electrical Engineering
- `PE` or `Petroleum` → Petroleum Engineering
- And many more...

Use `kfupm-courses list` to see all available departments and their shortcuts.

## Examples

```bash
# Scrape Math courses for term 251
kfupm-courses 251 "Math"

# Scrape Computer Science courses for term 252
kfupm-courses scrape -t 252 -d "CS"

# Scrape Electrical Engineering with custom output
kfupm-courses 253 "EE" -o "D:\Courses"

# List all departments
kfupm-courses list-departments
```

## Output

CSV files are saved with the following format:
```
term{TERM}_{DEPT}_{TIMESTAMP}.csv
```

Example: `term251_mathematics_2024-12-07T15-30-45.csv`

Default output directory: the current working directory

## Development

### Available Scripts

```bash
# One-command setup (install, build, link)
npm run setup

# Build and link globally
npm run build-link

# Build only
npm run build

# Development mode (no build required)
npm run dev -- scrape -t 251 -d "Math"

# Test run (builds first)
npm start -- 251 "Math"
```

## CSV Format

The output CSV includes the following columns:
- Course-Sec
- Activity
- CRN
- Course Name
- Instructor
- Day
- Time
- Location
- Instructional Method

## Error Handling

The tool provides clear error messages for:
- Invalid term numbers
- Invalid department names
- Network errors
- Missing data

## Requirements

- Node.js >= 16
- npm >= 7
- Internet connection

## License

MIT
npm package: @mmogib/split-pdf
Description: A command line to split a pdf file into multiple files. Make sure you have python>3.6 available in your path.
Author: Mohammed Alshahrani @mmogib
Latest version: 0.1.5

# split-pdf

A command line to split a pdf file into multiple files

<!-- toc -->
* [split-pdf](#split-pdf)
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->

# Usage

<!-- usage -->
```sh-session
$ npm install -g @mmogib/split-pdf
$ split-pdf COMMAND
running command...
$ split-pdf (-v|--version|version)
@mmogib/split-pdf/0.1.4 linux-x64 node-v11.14.0
$ split-pdf --help [COMMAND]
USAGE
  $ split-pdf COMMAND
...
```
<!-- usagestop -->

# Commands

<!-- commands -->
* [`split-pdf help [COMMAND]`](#split-pdf-help-command)
* [`split-pdf start`](#split-pdf-start)

## `split-pdf help [COMMAND]`

display help for split-pdf

```
USAGE
  $ split-pdf help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v2.2.1/src/commands/help.ts)_

## `split-pdf start`

starts splitting your file. Make sure your pdf file and data file are both in the current directory.

```
USAGE
  $ split-pdf start

OPTIONS
  -h, --help  show CLI help
```

_See code: [src/commands/start.ts](https://github.com/mmogib/split-pdf/blob/v0.1.4/src/commands/start.ts)_
<!-- commandsstop -->
npm package: @mmomtchev/python-xpack
Description: A binary xPack with a standalone Python distribution
Author: Momtchil Momtchev
Latest version: 3.12.11-2

# `python-xpack`

A binary xPack with a standalone Python distribution

# Installation

```shell
npm install xpm
# with Python 3.12
npx xpm install @mmomtchev/python-xpack@3-12
# with Python 3.10
npx xpm install @mmomtchev/python-xpack@3-10
```

Then, as usual, everything launched from `xpm` scripts will automatically use this Python.

If you get SSL certificate validation problems on macOS, try pointing OpenSSL to the correct system certificate:

```shell
export SSL_CERT_FILE=/etc/ssl/cert.pem
```
npm package: @mmomtchev/xpm
Description: The xPack project manager command line tool
Author: Liviu Ionescu
Latest version: 0.21.1

*This fork adds features for the `hadron` build system*

[![GitHub package.json version](https://img.shields.io/github/package-json/v/mmomtchev/xpm-js)](https://github.com/mmomtchev/xpm-js/blob/master/package.json)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/mmomtchev/xpm-js)](https://github.com/mmomtchev/xpm-js/releases)
[![NPM Version](https://img.shields.io/npm/v/xpm?color=blue)](https://www.npmjs.com/package/xpm/)
[![license](https://img.shields.io/github/license/mmomtchev/xpm-js)](https://github.com/mmomtchev/xpm-js/blob/master/LICENSE)

# The xPack Project Manager

A tool to automate builds, tests and manage C/C++ dependencies, inspired by npm.

## Project documentation

For information on how to install and use this project, please refer to the
[project website](https://xpack.github.io/xpm/).

## Project source

The source code of the current release is available on
[GitHub tag v0.20.8 tree](https://github.com/xpack/xpm-js/tree/v0.20.8).

## License

Unless otherwise stated, the original content is released under the terms of the
[MIT License](https://opensource.org/licenses/mit),
with all rights reserved to
[Liviu Ionescu](https://github.com/ilg-ul).