open-index/open-npm huggingface dataset:
npm package: @funboxteam/scss-vars-loader
Description: SCSS variables for BEM blocks
Author: Igor Adamenko
Latest version: 2.2.0

# @funboxteam/scss-vars-loader

[![npm](https://img.shields.io/npm/v/@funboxteam/scss-vars-loader.svg)](https://www.npmjs.com/package/@funboxteam/scss-vars-loader)

Webpack loader that injects `$b` variable declaration to the processed files with the name of the current BEM block
as a value.

[По-русски](./README.ru.md)

## Rationale

When we develop web apps we use BEM on filesystem. Sometimes blocks become too huge to handle them easily,
and when you suddenly need to rename one, you have to rewrite the name in every file. To make it a bit easier
we decided to unify block name in SCSS files by `$b` variable.

At the same time it allows us to generate SCSS files using templates and not to care about the proper name 
of the selector there. 

## Getting Started

Install the loader in your project:

```bash
npm install --save-dev @funboxteam/scss-vars-loader
```

Add it into the project's Webpack config so that it is called before sass-loader:

```js
module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [
          // ...
          'sass-loader',
          '@funboxteam/scss-vars-loader',
          // ...
        ],
      },
    ],
  },
};
```

## Usage

Use `$b` to construct SCSS selectors:

```scss
.#{$b}__elem_mod_value {
  color: red;
}
```

## Implementation details

At the build stage this line is added into the each processed file:

```scss
$b: 'blockname';
```

To find out the name of the current BEM block properly, the loader goes though the path of the processed file
from right to left and searches the first directory name which does not start with `_` and uses such directory
as a value for `$b`.

[![Sponsored by FunBox](https://funbox.ru/badges/sponsored_by_funbox_centered.svg)](https://funbox.ru)
npm package: @funboxteam/stylelint-rules
Description: A collection of SCSS rules missing in stylelint-scss
Author: Natalia Andreychenko
Latest version: 3.0.0

# @funboxteam/stylelint-rules

[![npm](https://img.shields.io/npm/v/@funboxteam/stylelint-rules.svg)](https://www.npmjs.com/package/@funboxteam/stylelint-rules)

[Stylelint](https://stylelint.io/) plugin with custom rules.

[По-русски](./README.ru.md)

## Installation

```
npm install --save-dev @funboxteam/stylelint-rules
```

Obviously Stylelint should be installed too.

## Rules

- [declarations-before-nesting](./docs/rules/declarations-before-nesting.md) — forces block rules be placed above the nested blocks.
- [no-transition-all](./docs/rules/no-transition-all.md) — prevents use `all` value for `transition` & `transition-property` props.
- [rgba-hex-color-only](./docs/rules/rgba-hex-color-only.md) — prevents use `rgba` function with non-hex color as a first argument.
- [selector-max-type](./docs/rules/selector-max-type.md) — limit the number of type selectors in a selector (compatible with [@funboxteam/scss-vars-loader](https://github.com/funbox/scss-vars-loader)).

[![Sponsored by FunBox](https://funbox.ru/badges/sponsored_by_funbox_centered.svg)](https://funbox.ru)
npm package: @funbrew/pdf
Description: FUNBREW PDF API client for Node.js
Latest version: 1.2.0

# @funbrew/pdf

Official Node.js client library for the [FUNBREW PDF API](https://pdf.funbrew.cloud). Includes TypeScript type definitions.

[日本語ドキュメント](README.ja.md)

## Installation

```bash
npm install @funbrew/pdf
```

## Quick Start

```js
const { FunbrewPdf } = require('@funbrew/pdf');

const pdf = new FunbrewPdf('sk-your-api-key');

// HTML to PDF
const result = await pdf.fromHtml('<h1>Hello World</h1>');
console.log(result.data.download_url);

// URL to PDF
const result = await pdf.fromUrl('https://example.com');

// Markdown to PDF
const result = await pdf.fromMarkdown('# Hello World', 'modern');

// List available Markdown themes
const themes = await pdf.markdownThemes();

// Template to PDF
const result = await pdf.fromTemplate('invoice', {
  company_name: 'Acme Inc.',
  amount: '1,000',
});
```

## Features

```js
// Generate PDF and send via email
const result = await pdf.fromHtmlWithEmail(
  '<h1>Invoice</h1>',
  'customer@example.com',
  'Your invoice is ready',
);

// Test mode (no count, TEST watermark)
const result = await pdf.test('<h1>Test</h1>');

// File operations
const info = await pdf.info('uuid.pdf');
const buffer = await pdf.download('uuid.pdf');
require('fs').writeFileSync('output.pdf', buffer);
await pdf.delete('uuid.pdf');

// Batch generate
const batch = await pdf.batch([
  { type: 'html', html: '<h1>Doc 1</h1>' },
  { type: 'html', html: '<h1>Doc 2</h1>' },
]);

// Merge PDFs
const merged = await pdf.merge(['file1.pdf', 'file2.pdf']);

// Usage stats
const usage = await pdf.usage();
```

## Options

```js
const result = await pdf.fromHtml('<h1>Hello</h1>', {
  options: { 'page-size': 'A3', orientation: 'Landscape', engine: 'quality' },
  expiration_hours: 168,
  max_downloads: 5,
  password: 'secret',
  watermark: 'CONFIDENTIAL',
});
```

## TypeScript

Full type definitions are included. No need for `@types` packages.

```ts
import { FunbrewPdf, PdfResult } from '@funbrew/pdf';

const pdf = new FunbrewPdf('sk-your-api-key');
const result: PdfResult = await pdf.fromHtml('<h1>Hello</h1>');
```

## Error Handling

```js
const { FunbrewPdf, FunbrewError } = require('@funbrew/pdf');

try {
  const result = await pdf.fromHtml('<h1>Hello</h1>');
} catch (e) {
  if (e instanceof FunbrewError) {
    console.error(e.message);     // Error message
    console.error(e.statusCode);  // HTTP status code
  }
}
```

## License

MIT
npm package: @funbrew/pdf-cli
Description: CLI for FUNBREW PDF API — generate PDFs from HTML, URLs, Markdown, and templates
Latest version: 1.0.0

# fbpdf

Command-line tool for the [FUNBREW PDF API](https://pdf.funbrew.cloud). Generate PDFs from HTML, URLs, Markdown, and templates — right from your terminal.

## Install

```bash
npm install -g fbpdf
```

## Quick Start

```bash
# Set your API key
fbpdf config set-key YOUR_API_KEY

# Generate a PDF from HTML
fbpdf html "<h1>Hello World</h1>" -o hello.pdf

# Test your connection
fbpdf test
```

## Commands

### PDF Generation

```bash
# From HTML (string or file)
fbpdf html "<h1>Hello</h1>" -o output.pdf
fbpdf html page.html -o output.pdf

# From URL
fbpdf url https://example.com -o example.pdf

# From Markdown (string or file)
fbpdf markdown README.md -o doc.pdf
fbpdf markdown README.md --theme github -o doc.pdf

# From template
fbpdf template invoice --data '{"name":"John"}' -o invoice.pdf
fbpdf template invoice --data data.json -o invoice.pdf
```

### Common Options

| Flag | Description |
|------|-------------|
| `-o, --output <path>` | Save PDF to file (auto-downloads) |
| `--format <size>` | Paper size: `A4`, `Letter`, etc. |
| `--landscape` | Landscape orientation |
| `--header <html>` | Header HTML |
| `--footer <html>` | Footer HTML |
| `--json` | Output raw JSON response |

### File Operations

```bash
fbpdf info <file-id>         # File info
fbpdf download <file-id>     # Download PDF
fbpdf delete <file-id>       # Delete PDF
fbpdf merge id1 id2 id3      # Merge PDFs
```

### Other

```bash
fbpdf themes                 # List Markdown themes
fbpdf usage                  # Show API usage
fbpdf test                   # Test API connection
```

## Configuration

```bash
# Save API key (stored in ~/.fbpdf/config.json)
fbpdf config set-key YOUR_API_KEY

# Custom base URL (self-hosted)
fbpdf config set-url https://your-server.com

# Show current config
fbpdf config show
```

You can also use environment variables:

```bash
export FUNBREW_API_KEY=your-api-key
export FUNBREW_BASE_URL=https://your-server.com  # optional
```

Environment variables take precedence over config file.

## Examples

```bash
# Generate a report and save it
fbpdf html report.html --format A4 --landscape -o report.pdf

# Convert Markdown docs with a theme
fbpdf markdown docs/guide.md --theme github -o guide.pdf

# Quick test with raw JSON output
fbpdf html "<p>test</p>" --json

# Use in scripts
FUNBREW_API_KEY=xxx fbpdf url https://example.com -o page.pdf
```

## License

MIT
npm package: @func-chain/core
Description: This package provides the core functionality for func-chain.
Author: Waredoer
Latest version: 1.0.1

<p align="center">
    <img src="https://func-chain.s3.amazonaws.com/func-chain.png" title="func-chain" alt="func-chain" />
</p>

This package provides the core functionality for *func-chain*.

## Installation

### Yarn
```
yarn add @func-chain/core
```

### NPM
```
npm install -S @func-chain/core
```

## Usage

### Basic
```javascript
import funcChain from '@func-chain/core';

const foo = (arg1, arg2) => {
    if (arg2 === true) {
        arg1.qux++;
    }
};

const bar = (arg1, arg2) => {
    return arg1.qux; // 2
};

const baz = (arg1, arg2) => {
    return (arg3) => {
        return arg3 * 2;
    };
};

const handler = funcChain([foo, bar, baz]);

await handler({ qux: 1 }, true); // 4
```

### Error Handling
```javascript
import funcChain from '@func-chain/core';

const foo = () => {
    throw new Error('Oops');
};

const bar = () => {
    return true;
};

const errorHandler = (err) => {
    return {
        success: false,
    };
};

const handler = funcChain([foo, bar], errorHandler);

await handler(); // {success: false}
```

### Using a Function Signature
```typescript
import funcChain from '@func-chain/core';

type CustomArg = {
    prop1: string;
    prop2: number;
};

type CustomFunc = (arg1: CustomArg) => any;

const foo = (arg1: CustomArg) => {
    //
};

const bar = (arg1: CustomArg) => {
    //
};

const handler = funcChain<CustomFunc>([foo, bar]);

await handler({ prop1: 'baz', prop2: 100 });
```