open-index/open-npm huggingface dataset:
npm package: @recipe-scope/quantity-parser
Description: Zero-dependency Japanese quantity string parser for recipe ingredients
Author: recipe-scope
Latest version: 0.1.0

# @recipe-scope/quantity-parser

Zero-dependency Japanese quantity string parser for recipe ingredients.

## Installation

```bash
npm install @recipe-scope/quantity-parser
```

## Usage

### Basic Parsing

```typescript
import { QuantityParser } from '@recipe-scope/quantity-parser';

// Simple quantities
QuantityParser.parse('100g');      // { value: 100, unit: 'g' }
QuantityParser.parse('大さじ1');    // { value: 1, unit: '大さじ' }
QuantityParser.parse('1/2カップ');  // { value: 0.5, unit: 'カップ' }

// Full-width numbers
QuantityParser.parse('３個');       // { value: 3, unit: '個' }

// Fractions
QuantityParser.parse('1と1/2カップ'); // { value: 1.5, unit: 'カップ' }
QuantityParser.parse('半個');        // { value: 0.5, unit: '個' }

// Ranges (uses minimum value)
QuantityParser.parse('1~2本');      // { value: 1, unit: '本' }

// Parentheses (extracts grams/ml)
QuantityParser.parse('なす(100g)'); // { value: 100, unit: 'g' }

// Tube measurements
QuantityParser.parse('チューブ3cm'); // { value: 3, unit: 'チューブcm' }
```

### Formatting

```typescript
import { QuantityFormatter } from '@recipe-scope/quantity-parser';

// Basic formatting
QuantityFormatter.format(100, 'g');    // '100 g'
QuantityFormatter.format(2, '個');      // '2 個'

// Spoon fractions
QuantityFormatter.format(1.5, '大さじ'); // '大さじ 1と1/2'
QuantityFormatter.format(0.5, '小さじ'); // '小さじ 1/2'

// Tube measurements
QuantityFormatter.format(3, 'チューブcm'); // 'チューブ3cm'

// Size prefixes
QuantityFormatter.format(2, '小個');    // '小2個'

// Ambiguous units
QuantityFormatter.format(0, '少々');    // '少々'
QuantityFormatter.format(0, '適量');    // '適量'
```

### Configuration

Access unit configuration for custom calculations:

```typescript
import { UNITS_CONFIG } from '@recipe-scope/quantity-parser';

// Standard volumes in ml
UNITS_CONFIG.STANDARD_VOLUME_ML['大さじ']; // 15
UNITS_CONFIG.STANDARD_VOLUME_ML['小さじ']; // 5
UNITS_CONFIG.STANDARD_VOLUME_ML['カップ']; // 200

// Countable unit aliases
UNITS_CONFIG.UNIT_SINGLE_ALIASES; // ['個', '本', '匹', '尾', '玉', '粒', '株']

// Ambiguous units
UNITS_CONFIG.AMBIGUOUS; // ['少々', '適量', 'ひとつまみ', '適宜', 'ひとつかみ']
```

## Features

- **Zero dependencies** - Pure TypeScript implementation
- **Full-width support** - Handles both half-width and full-width numbers
- **Fraction parsing** - Supports various fraction formats (1/2, 半, 1と1/2, 8分の1)
- **Range handling** - Extracts minimum value from ranges (1~2個 → 1)
- **Parentheses extraction** - Prioritizes gram/ml values in parentheses
- **Unit normalization** - Normalizes units (cc → ml, コ → 個)
- **Preprocessing** - Removes cutting instructions (みじん切り, 乱切り, etc.)

## License

MIT
npm package: @recipe-ui/legacy-theme
Description: ezCater's React UI Component library - the 'standard' theme from releases prior to Recipe v11
Latest version: 1.0.1

# @recipe-ui/legacy theme

This package provides the "standard" theme from Recipe releases prior to v11. This package is considered deprecated and is provided for backwards compatibility only.

This package is part of [@ezcater/recipe](https://github.com/ezcater/recipe). See the repo for more details.
npm package: @recipeapi/mcp
Description: Setup wizard to configure Recipe API MCP for Claude, Cursor & AI assistants
Latest version: 2.3.0

# @recipeapi/mcp

MCP (Model Context Protocol) server for [Recipe API](https://recipe-api.com). Gives Claude, Cursor, and other AI assistants access to 25,000+ recipes with nutrition data.

## Quick Setup

```bash
npx @recipeapi/mcp
```

The setup wizard will:
1. Help you choose a plan (Free tier available)
2. Open browser to get your API key
3. Auto-configure Claude/Cursor

## Manual Configuration

### Claude Code

Add to `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "recipe-api": {
      "command": "npx",
      "args": ["-y", "@recipeapi/mcp", "--server"],
      "env": {
        "RECIPE_API_KEY": "rapi_your_key_here"
      }
    }
  }
}
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "recipe-api": {
      "command": "npx",
      "args": ["-y", "@recipeapi/mcp", "--server"],
      "env": {
        "RECIPE_API_KEY": "rapi_your_key_here"
      }
    }
  }
}
```

## Available Tools

Once configured, Claude can use these tools:

| Tool | Description | Cost |
|------|-------------|------|
| `list_dietary_flags` | Get dietary options (Vegetarian, Gluten-Free, etc.) | Free |
| `list_cuisines` | Get available cuisines (Italian, Mexican, etc.) | Free |
| `search_recipes` | Search recipes by keyword | Free |
| `filter_recipes` | Filter by cuisine, dietary, difficulty, calories | Free |
| `get_recipe` | Get full recipe with ingredients & instructions | 1 credit |

## Example Prompts

After setup, try asking Claude:

- "What cuisines are available in the recipe API?"
- "Find me a vegetarian Italian dinner under 500 calories"
- "Search for quick chicken recipes"
- "Get the full recipe for [recipe ID]"

## Pricing

| Plan | Unique Recipes/mo | Price |
|------|-------------------|-------|
| Free | 100 | $0 |
| Hobby | 500 | $9/mo |
| Starter | 2,500 | $59/mo |
| Pro | 10,000 | $199/mo |

Get your API key at [recipe-api.com](https://recipe-api.com)

## Links

- [Recipe API Documentation](https://recipe-api.com/docs)
- [OpenAPI Spec](https://recipe-api.com/openapi.json)
- [LLM Context](https://recipe-api.com/llms.txt)

## License

MIT
npm package: @recipecloudapp/ingredient-parser
Description: Lightweight ingredient line parser (shared across web, cloud, iOS)
Latest version: 0.1.6

# @recipecloudapp/ingredient-parser

A lightweight, language-aware ingredient line parser.  
It normalizes quantities (fractions, ranges, decimals), units (tsp/tablespoon/cup/etc.), and extracts ingredient names plus notes.  
Built for use across Recipe Cloud’s web app, server functions, and iOS app (via JavaScriptCore).

Ships as ESM, CJS, and IIFE (global `window.IngParser`) for maximum compatibility.

## Install

```bash
npm i @recipecloudapp/ingredient-parser
# or: pnpm add @recipecloudapp/ingredient-parser
# or: yarn add @recipecloudapp/ingredient-parser
```

## Usage

```ts
import { parseLine, parseLines } from '@recipecloudapp/ingredient-parser';

const node = parseLine('1/2 cup tomato sauce (no salt)');
// → {
//   type: 'item',
//   quantity: 0.5,
//   unit: { canonical: 'cup', raw: 'cup', abbr: 'cup', display: 'cup' },
//   ingredient: 'tomato sauce',
//   postNote: 'no salt'
// }
```

Or in the browser (IIFE build):

```html
<script src="dist/index.iife.js"></script>
<script>
  const result = window.IngParser.parseLines([
    '1 teaspoon oregano, optional',
    'For the Quick Sauce:',
    '1/2 cup tomato sauce (no salt)'
  ]);
  console.log(result.items);
</script>
```

## Features

- Parses mixed numbers, fractions, and ranges (`1 1/2`, `½`, `1–2`).
- Normalizes units across multiple languages (`tsp`, `cda`, `cas`, etc.).
- Extracts and separates ingredient name, notes, and trailing parentheticals.
- Supports group headings like `For the sauce:`.

## License & Copyright

© 2025 Recipe Cloud LLC. All rights reserved.