open-index/open-npm huggingface dataset:
npm package: @moldesurf/tiny
Description: Removes all spaces from a string
Latest version: 2.0.1

# @Moldieman/tiny

[![npm (scoped)](https://img.shields.io/npm/v/@bamblehorse/tiny.svg)](https://www.npmjs.com/package/@bamblehorse/tiny)
[![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/@bamblehorse/tiny.svg)](https://www.npmjs.com/package/@bamblehorse/tiny)

Removes all spaces from a string.

## Install

```
$ npm install @moldesurf/tiny
```

## Usage

```js
const tiny = require("@moldesurf/tiny");

tiny("So much space!");
//=> "Somuchspace!"

tiny(1337);
//=> Uncaught TypeError: Tiny wants a string!
//    at tiny (<anonymous>:2:41)
//    at <anonymous>:1:1
```
npm package: @moldy93/smard-x402-mcp
Description: Hosted MCP/HTTP server for SMARD day-ahead electricity prices (x402 paywall)
Latest version: 0.0.1

# SMARD Energy Prices (x402)

Paywalled SMARD day‑ahead electricity prices (DE‑LU, 15‑minute resolution) via x402 on Base mainnet. Hosted MCP (streamable‑http) + HTTP endpoint.

## Homepage
https://smard-energy-prices-x402.favo.workers.dev

## Endpoints
- **HTTP**: `GET https://smard-energy-prices-x402.favo.workers.dev/prices`
- **MCP**: `POST https://smard-energy-prices-x402.favo.workers.dev/mcp`

## Pricing
**$0.001 per call (USDC on Base)**. Requires `X-PAYMENT` header (exact scheme).

## MCP Connect (example)
```json
{
  "mcpServers": {
    "smard-x402": {
      "url": "https://smard-energy-prices-x402.favo.workers.dev/mcp",
      "headers": {
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}
```

## Node.js Example (x402)
```js
import { createWalletClient, http } from "viem";
import { base } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";
import { createPaymentHeader, selectPaymentRequirements } from "x402/client";

const url = "https://smard-energy-prices-x402.favo.workers.dev/prices";

// 1) Get payment requirements
const res = await fetch(url);
const data = await res.json();
const req = selectPaymentRequirements(data.accepts, "base", "exact");

// 2) Create payment header
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const client = createWalletClient({ account, chain: base, transport: http("https://mainnet.base.org") });
const xPayment = await createPaymentHeader(client, data.x402Version, req);

// 3) Call API with payment
const paid = await fetch(url, { headers: { "X-PAYMENT": xPayment } });
console.log(await paid.json());
```

## Notes
- MCP endpoint uses streamable‑http. Send `Accept: application/json, text/event-stream`.
- Data source: SMARD (DE‑LU), 15‑minute resolution.
npm package: @mole-hill/jest-mocha-formatter
Description: During jest testing, it was used to generate mochawesome compliant json formatted reports.
Author: ChoGathK
Latest version: 0.1.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Molehill Jest Mocha Formatter

*During `jest` testing, it was used to generate `mochawesome` compliant json formatted reports.*

[![Npm](https://img.shields.io/npm/v/@mole-hill/jest-mocha-formatter)](https://www.npmjs.com/package/@mole-hill/jest-mocha-formatter)
[![Known Vulnerabilities](https://snyk.io/test/github/mole-hill/jest-mocha-formatter/badge.svg?targetFile=package.json)](https://snyk.io/test/github/mole-hill/jest-mocha-formatter?targetFile=package.json)
[![Npm](https://img.shields.io/npm/dm/@mole-hill/jest-mocha-formatter)](https://www.npmjs.com/package/@mole-hill/jest-mocha-formatter)
[![License](https://img.shields.io/github/license/mole-hill/jest-mocha-formatter)](LICENSE)

## Installation

```sh
npm install --save-dev @mole-hill/jest-mocha-formatter
```

## Usage

**Typically, I would add the testResultsProcessor property stated in `JEST` to with the `CI/CD` execution and pass it in to take effect.**

First, you should define the test commands in the `package.json` file beforehand.

```json
{
  "scripts": {
    "test": "jest",
    "test:coverage": "jest --coverage"
  }
}
```

And

```sh
npm run test --ci --testResultsProcessor="@mole-hill/jest-mocha-formatter"
```

### Output

The reporter writes to `report.json` by default. The `JEST_REPORT_JSON` environment variable can be used to alter the file name.

Just like this.

```sh
JEST_REPORT_JSON="./coverage/report.json" npm run test:coverage --ci --testResultsProcessor="@mole-hill/jest-mocha-formatter"
```

## License

Molehill Jest Mocha Formatter is [MIT licensed](LICENSE).
npm package: @mole-inc/bin-wrapper
Description: Binary wrapper that makes your programs seamlessly available as local dependencies
Latest version: 8.0.1

# bin-wrapper [![Node CI](https://github.com/mole-inc/bin-wrapper/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/bin-wrapper/actions/workflows/nodejs.yml)

> Binary wrapper that makes your programs seamlessly available as local dependencies

[![Downloads](https://badgen.net/npm/dm/@mole-inc/bin-wrapper)](https://www.npmjs.com/package/@mole-inc/bin-wrapper)
[![Version](https://badgen.net/npm/v/@mole-inc/bin-wrapper)](https://www.npmjs.com/package/@mole-inc/bin-wrapper)
[![codecov](https://codecov.io/gh/mole-inc/bin-wrapper/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/bin-wrapper)

## Install

```
$ npm install @mole-inc/bin-wrapper
```


## Usage

```js
import {BinWrapper} from '@mole-inc/bin-wrapper';

const base = 'https://github.com/imagemin/gifsicle-bin/raw/master/vendor';
const bin = new BinWrapper()
	.src(`${base}/macos/gifsicle`, 'darwin')
	.src(`${base}/linux/x64/gifsicle`, 'linux', 'x64')
	.src(`${base}/win/x64/gifsicle.exe`, 'win32', 'x64')
	.dest(path.join('vendor'))
	.use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle')
	.version('>=1.71');

(async () => {
	await bin.run(['--version']);
	console.log('gifsicle is working');
})();
```

Get the path to your binary with `bin.path`:

```js
console.log(bin.path);
//=> 'path/to/vendor/gifsicle'
```

> if you have the requested binary installed globally, this one will be used instead (if everything works)

## API

### `new BinWrapper(options)`

Creates a new `BinWrapper` instance.

#### options

Type: `Object`

##### skipCheck

Type: `boolean`<br>
Default: `false`

Whether to skip the binary check or not.

##### filename

Type: `string`<br>
Default: `undefined`

Set the binary filename.

##### gotOptions

Type: `object`<br>
Default: `undefined`

Any of the [`https.request`](https://nodejs.org/api/https.html#https_https_request_options_callback) options.

https://github.com/sindresorhus/got/tree/v11#options

### .src(url, [os], [arch])

Adds a source to download.

#### url

Type: `string`

Accepts a URL pointing to a file to download.

#### os

Type: `string`

Tie the source to a specific OS.

#### arch

Type: `string`

Tie the source to a specific arch.

### .dest(destination)

#### destination

Type: `string`

Accepts a path which the files will be downloaded to.

### .use(binary)

#### binary

Type: `string`

Define which file to use as the binary.

### .path

Returns the full path to your binary.

### .version(range)

#### range

Type: `string`

Define a [semver range](https://github.com/isaacs/node-semver#ranges) to check
the binary against.

### .run([arguments])

Runs the search for the binary. If no binary is found it will download the file
using the URL provided in `.src()`.

#### arguments

Type: `Array`<br>
Default: `['--version']`

Command to run the binary with. If it exits with code `0` it means that the
binary is working.


## License

This is a fork of [kevva/bin-wrapper](https://github.com/kevva/bin-wrapper).

see LICENSE file.
npm package: @mole-inc/cwebp-bin
Description: cwebp wrapper that makes it seamlessly
Latest version: 9.0.5

# cwebp-bin [![Node CI](https://github.com/mole-inc/cwebp-bin/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/cwebp-bin/actions/workflows/nodejs.yml)

> [WebP](https://developers.google.com/speed/webp/) is a new image format that provides lossless and lossy compression for images on the web. WebP lossless images are 26% smaller in size compared to PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at equivalent SSIM index.

You probably want [`imagemin-webp`](https://github.com/mole-inc/imagemin-webp) instead.

[![Downloads](https://badgen.net/npm/dm/@mole-inc/cwebp-bin)](https://www.npmjs.com/package/@mole-inc/cwebp-bin)
[![Version](https://badgen.net/npm/v/@mole-inc/cwebp-bin)](https://www.npmjs.com/package/@mole-inc/cwebp-bin)
[![codecov](https://codecov.io/gh/mole-inc/cwebp-bin/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/cwebp-bin)

## Install

```
$ npm install @mole-inc/cwebp-bin
```


## Usage

```js
import {execFile} from 'child_process';
import {cwebpBin} from '@mole-inc/cwebp-bin';

execFile(cwebpBin.path, ['input.png', '-o', 'output.webp'], err => {
	if (err) {
		throw err;
	}

	console.log('Image is converted!');
});
```


## CLI

```
$ npm install --global @mole-inc/cwebp-bin
```

```
$ cwebp --help
```


## License

This is a fork of [imagemin/cwebp-bin](https://github.com/imagemin/cwebp-bin) licensed under the MIT License.

see license file and vendor/cwebp-license.txt file.
npm package: @mole-inc/imagemin-jpegoptim
Description: Imagemin plugin for jpegoptim
Latest version: 7.0.0

# imagemin-jpegoptim ![Node CI](https://github.com/mole-inc/imagemin-jpegoptim/workflows/Node%20CI/badge.svg)

> [Imagemin](https://github.com/imagemin/imagemin) plugin for [jpegoptim](https://github.com/tjko/jpegoptim)


[![Downloads](https://badgen.net/npm/dm/@mole-inc/imagemin-jpegoptim)](https://www.npmjs.com/package/@mole-inc/imagemin-jpegoptim)
[![Version](https://badgen.net/npm/v/@mole-inc/imagemin-jpegoptim)](https://www.npmjs.com/package/@mole-inc/imagemin-jpegoptim)
[![codecov](https://codecov.io/gh/mole-inc/imagemin-jpegoptim/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/imagemin-jpegoptim)


## Install

```
$ npm install @mole-inc/imagemin-jpegoptim
```

See [`jpegoptim-bin`'s install section](https://github.com/mole-inc/jpegoptim-bin#install) for requirements.


## Usage

```js
const imagemin = require('imagemin');
const imageminJpegoptim = require('@mole-inc/imagemin-jpegoptim');

(async () => {
	await imagemin(['images/*.jpg'], 'build/images', {
		use: [
			imageminJpegoptim()
		]
	});

	console.log('Images optimized');
})();
```


## API

### imageminJpegoptim([options])(buffer)

Returns a `Promise<Buffer>`.

#### options

Type: `Object`

##### progressive

Type: `boolean`<br>
Default: `false`

Lossless conversion to progressive.

##### max

Type: `number`

Set maximum image quality factor. (`0`-`100`).

##### size

Type: `number` `string`

Try to optimize file to given size. Target size is specified either in kilo bytes (`1`-`n`) or as percentage (`1%`-`99%`).

##### stripAll

Type: `boolean`<br>
Default: `true`

Strip all markers from output file.

**Note**: If you want to control what markers are stripped, this *must* be set to `false`.

##### stripCom

Type: `boolean`<br>
Default: `true`

Strip comment markers from output file.

##### stripExif

Type: `boolean`<br>
Default: `true`

Strip EXIF markers from output file.

##### stripIptc

Type: `boolean`<br>
Default: `true`

Strip IPTC/Photoshop (APP13) markers from output file.

##### stripIcc

Type: `boolean`<br>
Default: `true`

Strip ICC profile markers from output file.

##### stripXmp

Type: `boolean`<br>
Default: `true`

Strip XMP markers markers from output file.


#### buffer

Type: `buffer`

Buffer to optimize.


## License

This is a fork of [imagemin/imagemin-jpegoptim](https://github.com/imagemin/imagemin-jpegoptim).

see license file.
npm package: @mole-inc/imagemin-mozjpeg
Description: Imagemin plugin for mozjpeg
Latest version: 9.0.0

# imagemin-mozjpeg ![Node CI](https://github.com/mole-inc/imagemin-mozjpeg/workflows/Node%20CI/badge.svg)

> [Imagemin](https://github.com/imagemin/imagemin) plugin for [mozjpeg](https://github.com/mole-inc/mozjpeg)


## Install

```
$ npm install @mole-inc/imagemin-mozjpeg
```


## Usage

```js
const imagemin = require('imagemin');
const imageminMozjpeg = require('@mole-inc/imagemin-mozjpeg');

(async () => {
	await imagemin(['images/*.jpg'], 'build/images', {
		use: [
			imageminMozjpeg()
		]
	});

	console.log('Images optimized');
})();
```


## API

### imageminMozjpeg(options?)(buffer)

Returns a `Promise<Buffer>`.

#### options

##### quality

Type: `number`

Compression quality, in range `0` (worst) to `100` (perfect).

##### progressive

Type: `boolean`<br>
Default: `true`

`false` creates baseline JPEG file.

##### targa

Type: `boolean`<br>
Default: `false`

Input file is Targa format (usually not needed).

##### revert

Type: `boolean`<br>
Default: `false`

Revert to standard defaults instead of mozjpeg defaults.

##### fastCrush

Type: `boolean`<br>
Default: `false`

Disable progressive scan optimization.

##### dcScanOpt

Type: `number`<br>
Default: `1`

Set DC scan optimization mode.

- `0` One scan for all components
- `1` One scan per component
- `2` Optimize between one scan for all components and one scan for 1st component plus one scan for remaining components

##### trellis

Type: `boolean`<br>
Default: `true`

[Trellis optimization](https://en.wikipedia.org/wiki/Trellis_quantization).

##### trellisDC

Type: `boolean`<br>
Default: `true`

Trellis optimization of DC coefficients.

##### tune

Type: `string`<br>
Default: `hvs-psnr`

Set Trellis optimization method. Available methods: `psnr`, `hvs-psnr`, `ssim`, `ms-ssim`

##### overshoot

Type: `boolean`<br>
Default: `true`

Black-on-white deringing via overshoot.

##### arithmetic

Type: `boolean`<br>
Default: `false`

Use [arithmetic coding](https://en.wikipedia.org/wiki/Arithmetic_coding).

##### dct

Type: `string`<br>
Default: `int`

Set [DCT](https://en.wikipedia.org/wiki/Discrete_cosine_transform) method:

- `int` Use integer DCT
- `fast` Use fast integer DCT (less accurate)
- `float` Use floating-point DCT

##### quantBaseline

Type: `boolean`<br>
Default: `false`

Use 8-bit quantization table entries for baseline JPEG compatibility.

##### quantTable

Type: `number`

Use predefined quantization table.

- `0` JPEG Annex K
- `1` Flat
- `2` Custom, tuned for MS-SSIM
- `3` ImageMagick table by N. Robidoux
- `4` Custom, tuned for PSNR-HVS
- `5` Table from paper by Klein, Silverstein and Carney

##### smooth

Type: `number`

Set the strength of smooth dithered input. (1...100)

##### maxMemory

Type: `number`

Set the maximum memory to use in kilobytes.

##### sample

Type: `string[]`

Set component sampling factors. Each item should be in the format `HxV`, for example `2x1`.

#### buffer

Type: `buffer`

Buffer to optimize.


## License

This is a fork of [imagemin/imagemin-mozjpeg](https://github.com/imagemin/imagemin-mozjpeg).

see license file.
npm package: @mole-inc/imagemin-optipng
Description: Imagemin plugin for OptiPNG
Latest version: 8.0.0

# imagemin-optipng ![Node CI](https://github.com/mole-inc/imagemin-optipng/workflows/Node%20CI/badge.svg)

> Imagemin plugin for OptiPNG


## Install

```
$ npm install @mole-inc/imagemin-optipng
```


## Usage

```js
const imagemin = require('imagemin');
const imageminOptipng = require('@mole-inc/imagemin-optipng');

(async () => {
	await imagemin(['images/*.png'], 'build/images', {
		use: [
			imageminOptipng()
		]
	});

	console.log('Images optimized!');
})();
```


## API

### imageminOptipng(options?)(buffer)

Returns a `Promise<Buffer>`.

#### options

Type: `object`

##### optimizationLevel

Type: `number`<br>
Default: `3`

Select an optimization level between `0` and `7`.

> The optimization level 0 enables a set of optimization operations that require minimal effort. There will be no changes to image attributes like bit depth or color type, and no recompression of existing IDAT datastreams. The optimization level 1 enables a single IDAT compression trial. The trial chosen is what. OptiPNG thinks it’s probably the most effective. The optimization levels 2 and higher enable multiple IDAT compression trials; the higher the level, the more trials.

Level and trials:

1. 1 trial
2. 8 trials
3. 16 trials
4. 24 trials
5. 48 trials
6. 120 trials
7. 240 trials

##### bitDepthReduction

Type: `boolean`<br>
Default: `true`

Apply bit depth reduction.

##### colorTypeReduction

Type: `boolean`<br>
Default: `true`

Apply color type reduction.

##### paletteReduction

Type: `boolean`<br>
Default: `true`

Apply palette reduction.

##### interlaced

Type: `boolean | undefined | null`<br>
Default: `false`

Enable [Adam7](https://en.wikipedia.org/wiki/Adam7_algorithm) PNG interlacing on any images that are processed. Interlaced images look better when they're loaded partially, but usually interlace makes compression less efficient. Set to `undefined` or `null` to keep the same interlacing as the input image.

##### errorRecovery

Type: `boolean`<br>
Default: `true`

A reasonable amount of effort will be spent to try to recover as much data as possible of a broken image, but the success cannot generally be guaranteed.

#### buffer

Type: `Buffer`

Buffer to optimize.


## License

This is a fork of [imagemin/imagemin-optipng](https://github.com/imagemin/imagemin-optipng).

see license file.
npm package: @mole-inc/imagemin-pngquant
Description: Imagemin plugin for `pngquant`
Latest version: 12.0.0

# imagemin-pngquant [![Node CI](https://github.com/mole-inc/imagemin-pngquant/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/imagemin-pngquant/actions/workflows/nodejs.yml)

> [Imagemin](https://github.com/imagemin/imagemin) plugin for [`pngquant`](https://github.com/mole-inc/pngquant)

[![Downloads](https://badgen.net/npm/dm/@mole-inc/imagemin-pngquant)](https://www.npmjs.com/package/@mole-inc/imagemin-pngquant)
[![Version](https://badgen.net/npm/v/@mole-inc/imagemin-pngquant)](https://www.npmjs.com/package/@mole-inc/imagemin-pngquant)
[![codecov](https://codecov.io/gh/mole-inc/imagemin-pngquant/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/imagemin-pngquant)

## Install

```
$ npm install @mole-inc/imagemin-pngquant
```


## Usage

```js
const imagemin = require('imagemin');
const imageminPngquant = require('@mole-inc/imagemin-pngquant');

(async () => {
	await imagemin(['images/*.png'], 'build/images', {
		plugins: [
			imageminPngquant()
		]
	});

	console.log('Images optimized');
})();
```

```js
const fs = require('fs');
const {pngquantStream} = require('@mole-inc/imagemin-pngquant');

const src = fs.createReadStream('foo.png');
const dest = fs.createWriteStream('bar.png');
pngquantStream({quality: [0.3, 0.5]})(src).pipe(dest);
```


## API

### imageminPngquant(options?)(input)

Returns `Promise<Buffer>`.

#### options

Type: `object`

##### speed

Type: `number`<br>
Default: `4`<br>
Values: `1` (brute-force) to `11` (fastest)

Speed `10` has 5% lower quality, but is about 8 times faster than the default. Speed `11` disables dithering and lowers compression level.

##### strip

Type: `boolean`<br>
Default: `false`

Remove optional metadata.

##### quality

Type: `Array<min: number, max: number>`<br>
Values: `Array<0...1, 0...1>`<br>
Example: `[0.3, 0.5]`

Instructs pngquant to use the least amount of colors required to meet or exceed
the max quality. If conversion results in quality below the min quality the
image won't be saved.

Min and max are numbers in range 0 (worst) to 1 (perfect), similar to JPEG.

##### dithering

Type: `number | boolean`<br>
Default: `1` (full)<br>
Values: `0...1`

Set the dithering level using a fractional number between 0 (none) and 1 (full).

Pass in `false` to disable dithering.

##### posterize

Type: `number`

Truncate number of least significant bits of color (per channel). Use this when image will be output on low-depth displays (e.g. 16-bit RGB). pngquant will make almost-opaque pixels fully opaque and will reduce amount of semi-transparent colors.

##### verbose

Type: `boolean`<br>
Default: `false`

Print verbose status messages.

#### input

Type: `Buffer | Stream`

Buffer or stream to optimize.

### pngquantStream(options?)(input)

Returns `Readable`.

## License

This is a fork of [imagemin/imagemin-pngquant](https://github.com/imagemin/imagemin-pngquant).

see license file.
npm package: @mole-inc/imagemin-webp
Description: WebP imagemin plugin
Latest version: 7.0.0

# imagemin-webp [![Node CI](https://github.com/mole-inc/imagemin-webp/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/imagemin-webp/actions/workflows/nodejs.yml)

> WebP [imagemin](https://github.com/mole-inc/imagemin) plugin


## Install

```
$ npm install @mole-inc/imagemin-webp
```


## Usage

```js
const imagemin = require('imagemin');
const imageminWebp = require('@mole-inc/imagemin-webp');

(async () => {
	await imagemin(['images/*.{jpg,png}'], 'build/images', {
		use: [
			imageminWebp({quality: 50})
		]
	});

	console.log('Images optimized');
})();
```


## API

### imageminWebp(options?)(buffer)

Returns a `Promise<Buffer>` with the optimized image.

#### options

Type: `object`

##### preset

Type: `string`<br>
Default: `default`

Preset setting, one of `default`, `photo`, `picture`, `drawing`, `icon` and `text`.

##### quality

Type: `number`<br>
Default: `75`

Set quality factor between `0` and `100`.

##### alphaQuality

Type: `number`<br>
Default: `100`

Set transparency-compression quality between `0` and `100`.

##### method

Type: `number`<br>
Default: `4`

Specify the compression method to use, between `0` (fastest) and `6` (slowest). This parameter controls the trade off between encoding speed and the compressed file size and quality.

##### size

Type: `number`<br>

Set target size in bytes.

##### sns

Type: `number`<br>
Default: `80`

Set the amplitude of spatial noise shaping between `0` and `100`.

##### filter

Type: `number`<br>

Set deblocking filter strength between `0` (off) and `100`.

##### autoFilter

Type: `boolean`<br>
Default: `false`<br>

Adjust filter strength automatically.

##### sharpness

Type: `number`<br>
Default: `0`

Set filter sharpness between `0` (sharpest) and `7` (least sharp).

##### lossless

Type: `boolean`<br>
Default: `false`

Encode images losslessly.

##### nearLossless

Type: `number`<br>
Default: `100`

Encode losslessly with an additional [lossy pre-processing step](https://groups.google.com/a/webmproject.org/forum/#!msg/webp-discuss/0GmxDmlexek/3ggyYsaYdFEJ), with a quality factor between `0` (maximum pre-processing) and `100` (same as `lossless`).

##### crop

Type: `object { x: number, y: number, width: number, height: number }`

Crop the image.

##### resize

Type: `object { width: number, height: number }`

Resize the image. Happens after `crop`.

##### metadata

Type: `string | string[]`<br>
Default: `none`<br>
Values: `all` `none` `exif` `icc` `xmp`

A list of metadata to copy from the input to the output if present.

#### buffer

Type: `Buffer`

Buffer to optimize.


## License

This is a fork of [imagemin/imagemin-webp](https://github.com/imagemin/imagemin-webp).

see license file.
npm package: @mole-inc/jpegoptim-bin
Description: jpegoptim wrapper that makes it seamlessly
Latest version: 7.0.0

# jpegoptim-bin [![Node CI](https://github.com/mole-inc/jpegoptim-bin/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/jpegoptim-bin/actions/workflows/nodejs.yml)

> [jpegoptim](https://github.com/tjko/jpegoptim) is a utility for optimizing JPEG files that provides lossless optimization (based on optimizing the Huffman tables) and "lossy" optimization based on setting a maximum quality factor

You probably want [`imagemin-jpegoptim`](https://github.com/mole-inc/imagemin-jpegoptim) instead.

[![Downloads](https://badgen.net/npm/dm/@mole-inc/jpegoptim-bin)](https://www.npmjs.com/package/@mole-inc/jpegoptim-bin)
[![Version](https://badgen.net/npm/v/@mole-inc/jpegoptim-bin)](https://www.npmjs.com/package/@mole-inc/jpegoptim-bin)
[![codecov](https://codecov.io/gh/mole-inc/jpegoptim-bin/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/jpegoptim-bin)

## Install

```
$ npm install @mole-inc/jpegoptim-bin
```

Make sure you have the correct version of libjpeg. See [jpegoptim's README](https://github.com/tjko/jpegoptim#readme) for more information.


## Usage

```js
import {execFile} from 'child_process';
import jpegoptim from '@mole-inc/jpegoptim-bin';

const args = [
	'--overwrite',
	'--strip-all',
	'--strip-iptc',
	'--strip-icc',
	'--all-progressive',
	'--dest=build',
	'input.jpg'
];

execFile(jpegoptim, args, err => {
	console.log('Image minified');
});
```


## CLI

```
$ npm install --global @mole-inc/jpegoptim-bin
```

```
$ jpegoptim --help
```


## License

This is a fork of [imagemin/jpegoptim-bin](https://github.com/imagemin/jpegoptim-bin) licensed under the MIT License.

see license file and vendor/jpegoptim-license.txt file.
npm package: @mole-inc/lqip
Description: Low Quality Image Placeholders (LQIP) Module for Node
Author: Zouhir Chahoud
Latest version: 5.0.0

![LQIP: Low Quality Images](https://raw.githubusercontent.com/mole-inc/lqip/master/.github/logo.png)

# LQIP: Low Quality Images Placeholder

[![Downloads](https://badgen.net/npm/dm/@mole-inc/lqip)](https://www.npmjs.com/package/@mole-inc/lqip)
[![Version](https://badgen.net/npm/v/@mole-inc/lqip)](https://www.npmjs.com/package/@mole-inc/lqip)
[![License](https://badgen.net/npm/license/@mole-inc/lqip)](https://www.npmjs.com/package/@mole-inc/lqip)
[![codecov](https://codecov.io/gh/mole-inc/lqip/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/lqip)

## Installation

```
npm install @mole-inc/lqip
```

## Usage Example

Generating Base64 from an image:

```js
import lqip from "@mole-inc/lqip"

const file = `./dest/to/file/riding-a-bike.jpg`;

const res = await lqip(file).catch(err => {
  console.error(err);
});
console.log(res);
// {
//   content: Buffer...,
//   metadata: {
//     originalWidth: 1400,
//     originalHeight: 700,
//     width: 14,
//     height: 7,
//     type: "jpeg",
//     dataURIBase64: "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhY.....",
//   }
// }
//
// e.g. `<img src="${res.metadata.dataURIBase64}" lazy-src="${file}" >`

// or use `then`

lqip(file).then(res => {
  console.log(res);
}).catch(err => {
  console.error(err);
});
```

## API Documentation

### `lqip(source: string | Buffer, options?: LqipOpitons): Promise<LqipResult>`

default function

Name      | Description
--------- | ---------------------------------------
`source`  | Path to image file or `Buffer`
`options` | LqipOpitons (optional)

##### `LqipOpitons`

```ts
export interface LqipOpitons {
  width?: number;
  forceJimp?: boolean;
}
```

Field       | Default       | Description
----------- | ------------- | -------------------------------------------------------------------------------
`width`     | 14            | resize width
`forceJimp` | `false`       | When this is a falsy, use [sharp](https://sharp.pixelplumbing.com/) to resize if installed.

#### `LqipResult`

```ts
export interface LqipResult {
  content: Buffer;
  metadata: {
    originalWidth: number;
    originalHeight: number;
    width: number;
    height: number;
    type: string;
    dataURIBase64: string;
  };
}
```

## Inspired by

- [Medium web app](https://medium.com/cucumbertown-magazine/the-beginners-guide-to-composition-in-food-photography-how-to-transform-your-food-photos-from-good-39613ab78bf2)
- [Instagram native mobile app](https://www.instagram.com/)
- [Polymer shop project](https://shop.polymer-project.org/)

## Remarkable Mentions

- Essential Image Optimization, An eBook by Addy Osmani [link](https://images.guide/)

## Notes, Credits & License

This is a maintained fork of [zouhir/lqip](https://github.com/zouhir/lqip).  
Original [lqip](https://github.com/zouhir/lqip) is released under The MIT License by [Zouhir Chahoud](https://zouhir.org/).

Please see LICENSE file
npm package: @mole-inc/mozjpeg
Description: mozjpeg wrapper that makes it seamlessly
Latest version: 8.0.0

# mozjpeg-bin [![Node CI](https://github.com/mole-inc/mozjpeg-bin/actions/workflows/nodejs.yml/badge.svg)](https://github.com/mole-inc/mozjpeg-bin/actions/workflows/nodejs.yml)

> [mozjpeg](https://github.com/mozilla/mozjpeg) is a production-quality JPEG encoder that improves compression while maintaining compatibility with the vast majority of deployed decoders

You probably want [`imagemin-mozjpeg`](https://github.com/mole-inc/imagemin-mozjpeg) instead.


[![Downloads](https://badgen.net/npm/dm/@mole-inc/mozjpeg)](https://www.npmjs.com/package/@mole-inc/mozjpeg)
[![Version](https://badgen.net/npm/v/@mole-inc/mozjpeg)](https://www.npmjs.com/package/@mole-inc/mozjpeg)
[![codecov](https://codecov.io/gh/mole-inc/mozjpeg-bin/branch/master/graph/badge.svg)](https://codecov.io/gh/mole-inc/mozjpeg-bin)


## Install

```
$ npm install @mole-inc/mozjpeg
```


## Usage

```js
import {execFile} from 'child_process';
import mozjpeg from '@mole-inc/mozjpeg';

execFile(mozjpeg, ['-outfile', 'output.jpg', 'input.jpg'], err => {
	console.log('Image minified!');
});
```


## CLI

```
$ npm install --global @mole-inc/mozjpeg
```

```
$ mozjpeg --help
```


## License

This is a fork of [imagemin/mozjpeg-bin](https://github.com/imagemin/mozjpeg-bin) licensed under the MIT License.

see license file and vendor/mozjpeg-license.txt file.
npm package: @mole-inc/optipng-bin
Description: OptiPNG wrapper that makes it seamlessly
Latest version: 7.0.0

# optipng-bin ![Node CI](https://github.com/mole-inc/optipng-bin/workflows/Node%20CI/badge.svg)

> [OptiPNG](http://optipng.sourceforge.net) is a PNG optimizer that recompresses image files to a smaller size, without losing any information

You probably want [`imagemin-optipng`](https://github.com/mole-inc/imagemin-optipng) instead.

[![Downloads](https://badgen.net/npm/dm/@mole-inc/optipng)](https://www.npmjs.com/package/@mole-inc/optipng)
[![Version](https://badgen.net/npm/v/@mole-inc/optipng)](https://www.npmjs.com/package/@mole-inc/optipng)

## Install

```
$ npm install --save @mole-inc/optipng-bin
```


## Usage

```js
const {promisify} = require('util');
const {execFile} = require('child_process');
const optipng = require('@mole-inc/optipng-bin');

const execFileP = promsify(execFile);

(async () => {
	await execFile(optipng, ['-out', 'output.png', 'input.png']);
	console.log('Image minified!');
})();
```


## CLI

```
$ npm install --global @mole-inc/optipng-bin
```

```
$ optipng --help
```


## License

This is a fork of [imagemin/optipng-bin](https://github.com/imagemin/optipng-bin) licensed under the MIT License.

see license file.
OptiPNG is licensed under the [zlib license](http://optipng.sourceforge.net/license.txt).
npm package: @mole-inc/webp-loader
Description: WebP image loader & converter for Webpack
Latest version: 2.0.0

# webp-loader

[WebP](https://developers.google.com/speed/webp/) image loader & converter loader for Webpack.

## Install

```sh
npm install @mole-inc/webp-loader --save-dev
```

## Usage

Here is the example of using `webp-loader` along with common [file-loader](https://github.com/webpack/file-loader):

```javascript
loaders: [
  {
    test: /\.(jpe?g|png)$/i,
    loaders: [
      'file-loader',
      '@mole-inc/webp-loader'
    ]
  }
]
```

Unfortunately, if you wish to pass an options for internal [imagemin-webp](https://github.com/mole-inc/imagemin-webp) you should pass a options in JSON form:

```javascript
loaders: [
  {
    test: /\.(jpe?g|png)$/i,
    loaders: [
      'file-loader',
      '@mole-inc/webp-loader?{quality: 13}'
    ]
  }
]
```

Normally you don't want to convert all of your images to WebP format, you just want to make alternate versions. You can use [multi-loader](https://github.com/webpack-contrib/multi-loader) to achieve it:

```javascript
loaders: [
  {
    test: /\.(jpe?g|png)$/i,
    loader: multi(
      'file-loader?name=[name].[ext].webp!webp-loader?{quality: 95}'
      'file-loader?name=[name].[ext]',
    )
  },
]
```

## Options

For all possible options please visit "API" section of the official [imagemin-webp README](https://github.com/mole-inc/imagemin-webp#imagenwebpoptions).

## Inspiration

`webp-loader` is heavily inspired by [tcoopman/image-webpack-loader](https://github.com/tcoopman/image-webpack-loader).

## License

This is a fork of [kavu/webp-loader](https://github.com/kavu/webp-loader).

see license file.
npm package: @molecuel/generator-generator
Description: Molecuel generator for core version 2.x
Author: Dominic Böttger
Latest version: 0.4.0

# generator-generator [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coverage percentage][coveralls-image]][coveralls-url]

> Molecuel module generator for core version 2.x - Creates everything needed to get started with molecuel module development

## Installation

First, install [Yeoman](http://yeoman.io) and generator-generator using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).

```bash
npm install -g yo
npm install -g @molecuel/generator-generator
```

Then generate your new project:

```bash
yo @molecuel/generator
```

## License

MIT © [Dominic Böttger]()


[npm-image]: https://badge.fury.io/js/%40molecuel%2Fgenerator-generator.svg
[npm-url]: https://npmjs.org/package/@molecuel/generator-generator
[travis-image]: https://travis-ci.org/molecuel/generator.svg?branch=master
[travis-url]: https://travis-ci.org/molecuel/generator
[daviddm-image]: https://david-dm.org/molecuel/generator.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/molecuel/generator
[coveralls-image]: https://coveralls.io/repos/molecuel/generator/badge.svg
[coveralls-url]: https://coveralls.io/r/molecuel/generator
npm package: @molecuel/theme
Description: @molecuel/mlcl_theme is the theming module for the molecuel application framework. It provides a dependency injectional approach for registering themes.
Author: Dominic Böttger
Latest version: 0.0.6

# @molecuel/mlcl_theme [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coverage percentage][coveralls-image]][coveralls-url]

# Theme module for the Molecuel Framework

@molecuel/mlcl_theme is the theming module for the molecuel application framework. It provides a dependency injectional approach for registering themes.

[npm-image]: https://badge.fury.io/js/%40molecuel%2Fmlcl_theme.svg
[npm-url]: https://npmjs.org/package/@molecuel/mlcl_theme
[travis-image]: https://travis-ci.org/molecuel/mlcl_theme.svg?branch=master
[travis-url]: https://travis-ci.org/molecuel/mlcl_theme
[daviddm-image]: https://david-dm.org/molecuel/mlcl_theme.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/molecuel/mlcl_theme
[coveralls-image]: https://coveralls.io/repos/molecuel/mlcl_theme/badge.svg
[coveralls-url]: https://coveralls.io/r/molecuel/mlcl_theme
npm package: @moleculejs/molecule-jsx
Description: Build MoleculeElements using JSX
Author: DiiLord
Latest version: 0.14.1

# MoleculeJsx

<p align="center"><a href="https://moleculejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://moleculejs.org/molecules.svg" alt="Molecule logo"></a></p>

<p align="center">
  <a href="https://travis-ci.org/Molecule-JS/MoleculeJS"><img src="https://travis-ci.org/Molecule-JS/MoleculeJS.svg?branch=master" alt="Build Status"></a>
  <a href="https://codecov.io/gh/Molecule-JS/MoleculeJS">
    <img src="https://codecov.io/gh/Molecule-JS/MoleculeJS/branch/master/graph/badge.svg" alt="Coverage">
  </a>
  <a href="https://www.npmjs.com/package/@moleculejs/molecule-jsx"><img src="https://badge.fury.io/js/%40moleculejs%2Fmolecule-jsx.svg" alt="Version"></a>
  <a href="https://github.com/Molecule-JS/MoleculeJS/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
  <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/Molecule-JS/MoleculeJS.svg" alt="Greenkeeper badge"></a>
  <a href="https://app.codacy.com/app/DerDrodt/MoleculeJS?utm_source=github.com&utm_medium=referral&utm_content=Molecule-JS/MoleculeJS&utm_campaign=Badge_Grade_Dashboard"><img src="https://api.codacy.com/project/badge/Grade/f28f115aeadf4538ac046a8885c6e7c5" alt="Codacity Badge"></a>
</p>

## Overview

Molecule is a JavaScript library for building user interfaces using web components.

This package provides a base class for creating Custom Elements that renders JSX.

## Installation

The `@moleculejs/molecule-jsx` package can be installed using npm or yarn:

```bash
npm install --save @moleculejs/molecule-jsx
```

```bash
yarn add @moleculejs/molecule-jsx
```

## Documentation

See the full documentation at [MoleculeJS.org](https://moleculejs.org).

## Examples

Let's start with a simple Example:

```jsx
class HelloWorld extends MoleculeJsx.Element {
  static get properties() {
    return {
      name: String,
      attribute: true,
      value: 'John Doe',
    };
  }
  render({ name }) {
    <div>Hello ${name}</div>;
  }
}

customElements.define('hello-world', HelloWorld);
```

This creates a new Custom Element called `hello-world`, which can now be used anywhere in your application using `<hello-world>`.

This new element will also keep the _property_ `name` in sync with the _attribute_ `name`, meaning that the element will look like this in the DOM:

```html
<hello-world name="John Doe"></hello-world>
```

If you change the attribute or the property, both will be kept in sync and the element will be rerendered.

## Premade Base Classes

There are several other base classes for Molecule with different rendering methods, like lit-html or JSX. A complete list of official packages for Molecule can be found in the [full documentation](https://moleculejs.org/guide/packages.html)

## Contributing

Coming soon!
npm package: @moleculejs/molecule-lit
Description: Molecule elements with lit-html
Author: DiiLord
Latest version: 0.13.1

# MoleculeLit

<p align="center"><a href="https://moleculejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://moleculejs.org/molecules.svg" alt="Molecule logo"></a></p>

<p align="center">
  <a href="https://travis-ci.org/Molecule-JS/MoleculeJS"><img src="https://travis-ci.org/Molecule-JS/MoleculeJS.svg?branch=master" alt="Build Status"></a>
  <a href="https://codecov.io/gh/Molecule-JS/MoleculeJS">
    <img src="https://codecov.io/gh/Molecule-JS/MoleculeJS/branch/master/graph/badge.svg" alt="Coverage">
  </a>
  <a href="https://www.npmjs.com/package/@moleculejs/molecule-lit"><img src="https://badge.fury.io/js/%40moleculejs%2Fmolecule-lit.svg" alt="Version"></a>
  <a href="https://github.com/Molecule-JS/MoleculeJS/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
  <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/Molecule-JS/MoleculeJS.svg" alt="Greenkeeper badge"></a>
  <a href="https://app.codacy.com/app/DerDrodt/MoleculeJS?utm_source=github.com&utm_medium=referral&utm_content=Molecule-JS/MoleculeJS&utm_campaign=Badge_Grade_Dashboard"><img src="https://api.codacy.com/project/badge/Grade/f28f115aeadf4538ac046a8885c6e7c5" alt="Codacity Badge"></a>
</p>

## Overview

Molecule is a JavaScript library for building user interfaces using web components.

This package provides a base class for creating Custom Elements that renders using [lit-html](https://github.com/Polymer/lit-html).

## Installation

The `@moleculejs/molecule-lit` package can be installed using npm or yarn:

```bash
npm install --save @moleculejs/molecule-lit
```

```bash
yarn add @moleculejs/molecule-lit
```

## Documentation

See the full documentation at [MoleculeJS.org](https://moleculejs.org).

## Examples

Let's start with a simple Example:

```js
class HelloWorld extends MoleculeLit.Element {
  static get properties() {
    return {
      name: String,
      attribute: true,
      value: 'John Doe',
    };
  }
  render({ name }) {
    html`
      <div>Hello ${name}</div>
    `;
  }
}

customElements.define('hello-world', HelloWorld);
```

This creates a new Custom Element called `hello-world`, which can now be used anywhere in your application using `<hello-world>`.

This new element will also keep the _property_ `name` in sync with the _attribute_ `name`, meaning that the element will look like this in the DOM:

```html
<hello-world name="John Doe"></hello-world>
```

If you change the attribute or the property, both will be kept in sync and the element will be rerendered.

## Premade Base Classes

There are several other base classes for Molecule with different rendering methods, like lit-html or JSX. A complete list of official packages for Molecule can be found in the [full documentation](https://moleculejs.org/guide/packages.html)

## Contributing

Coming soon!
npm package: @moleculejs/molecule-router
Description: Dynamic Router for MoleculeJS
Author: DiiLord
Latest version: 0.14.0

# MoleculeRouter

<p align="center"><a href="https://moleculejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://moleculejs.org/molecules.svg" alt="Molecule logo"></a></p>

<p align="center">
  <a href="https://travis-ci.org/Molecule-JS/MoleculeJS"><img src="https://travis-ci.org/Molecule-JS/MoleculeJS.svg?branch=master" alt="Build Status"></a>
  <a href="https://codecov.io/gh/Molecule-JS/MoleculeJS">
    <img src="https://codecov.io/gh/Molecule-JS/MoleculeJS/branch/master/graph/badge.svg" alt="Coverage">
  </a>
  <a href="https://www.npmjs.com/package/@moleculejs/molecule-router"><img src="https://badge.fury.io/js/%40moleculejs%2Fmolecule-router.svg" alt="Version"></a>
  <a href="https://github.com/Molecule-JS/MoleculeJS/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
  <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/Molecule-JS/MoleculeJS.svg" alt="Greenkeeper badge"></a>
  <a href="https://app.codacy.com/app/DerDrodt/MoleculeJS?utm_source=github.com&utm_medium=referral&utm_content=Molecule-JS/MoleculeJS&utm_campaign=Badge_Grade_Dashboard"><img src="https://api.codacy.com/project/badge/Grade/f28f115aeadf4538ac046a8885c6e7c5" alt="Codacity Badge"></a>
</p>

## Overview

MoleculeRouter allows for easily creating Single Page Applications (SPAs) with Web Components. It is currently still experimental.

## Installation

The `@moleculejs/molecule-router` package can be installed using npm or yarn:

```bash
npm install --save @moleculejs/molecule-router
```

```bash
yarn add @moleculejs/molecule-router
```

## Documentation

See the full documentation at [MoleculeJS.org](https://moleculejs.org).

## Examples

To use MoleculeRouter we have to create one, ideally at your app's root:

```jsx
import { Router } from '@moleculejs/molecule-router';

class MyApp extends MoleculeJsx.Element {
  // ...

  connected() {
    this.router = new Router(this);
  }

  // ...
}
```

Next we add some Links and Routes for basic matching:

```jsx
import { Router, Link, Route } from '@moleculejs/molecule-router';

import { Home, About, Topics } from './my-views';

class MyApp extends MoleculeJsx.Element {
  // ...

  connected() {
    this.router = new Router(this);
  }

  render() {
    return (
      <div>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/about">About</Link>
          </li>
          <li>
            <Link to="/topics">Topics</Link>
          </li>
        </ul>

        <hr />

        <Route exact path="/" element={Home} />
        <Route path="/about" element={About} />
        <Route path="/topics" element={Topics} />
      </div>
    );
  }
}
```

## Contributing

Coming soon!
npm package: @moleculeone/dagre-plus
Description: Graph layout for JavaScript
Author: Chris Pettitt
Latest version: 0.8.5-pre

# dagre - Graph layout for JavaScript

[![Build Status](https://secure.travis-ci.org/dagrejs/dagre.svg?branch=master)](http://travis-ci.org/dagrejs/dagre)

Dagre is a JavaScript library that makes it easy to lay out directed graphs on
the client-side.

For more details, including examples and configuration options, please see our
[wiki](https://github.com/dagrejs/dagre/wiki).

## License

dagre is licensed under the terms of the MIT License. See the LICENSE file
for details.
npm package: @moleculer-d1soft/core
Description: Core interfaces and moleculer extendings
Author: d1soft
Latest version: 0.1.3

# Moleculer d1soft / Core

Base application interfaces and moleculer extendings.

- Optional broker call function
- Extended Meta (with API GW and other features)
- Cookies helpers
- CRUD-s interfaces

## Install

```sh
npm add -E @moleculer-d1soft/core
```
npm package: @moleculer-d1soft/typeorm
Description: Moleculer TypeORM mixin
Author: d1soft
Latest version: 0.2.2

# Moleculer d1soft / TypeORM

TypeORM mixin for moleculer.  
Also includes some useful helpers.

## Install

```sh
npm add -E typeorm @moleculer-d1soft/core @moleculer-d1soft/typeorm
```

## Example

```ts
import { Service as MoleculerService, ServiceBroker, ServiceSettingSchema } from 'moleculer';
import { Service } from 'moleculer-decorators';
import { TypeORMMixin, DataSource, TypeORMMixinOptions } from '@bukusaya/typeorm';

interface SomeServiceSettings extends ServiceSettingSchema, RedisMixinOptions {}

@Service({
    name: 'some-service',
    version: 1,
    settings: {
      db: {
        type: 'postgres',
        password: process.env.DB_PASSWORD,
        host: process.env.DB_HOST,
        username: process.env.DB_USER,
        database: process.env.DB_NAME,
        name: 'some-service',
        applicationName: 'some-service',
        entities: [/** Entity, AnotherEntity **/],
        synchronize: true,
        logging: true
      },

      $secureSettings: ['db.password', 'db.username']
    },
    mixins: [new TypeORMMixin()]
})
export default class SomeService extends MoleculerService<SomeServiceSettings> {
  protected connection?: DataSource;

	public constructor(public broker: ServiceBroker) {
		super(broker);
	}
}

```