Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/node-libraries/wasm-webp-encoder


https://github.com/node-libraries/wasm-webp-encoder

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# @node-libraries/wasm-webp-encoder

# Overview

Provides the ability to encode WebP using WebAssembly and WebWorker.

Remix(esbuild) and Next.js(webpack) are supported.

# types

```ts
encode(params:{data: BufferSource, width: number, height: number, quality?: number}): Promise
```

```ts
encode(params:{data: ImageData, quality?: number}): Promise
```

# usage

```ts
import { encode } from '@node-libraries/wasm-webp-encoder';

// Next.js(webpack)
const encodedValue = await encode({ data: ctx.getImageData(0, 0, img.width, img.height) });
const encodedValue2 = await encode({ data: arrayBuffer, width, height });

// Remix(esbuild)
// Files need to be installed manually
// node_modules/@node-libraries/wasm-webp-encoder/dist =>
// public/webp/worker.js
// public/webp/webp.js
// public/webp/webp.wasm
const encodedValue3 = await encode({ data: arrayBuffer, width, height, worker: '/webp/worker.js' });
```

# Sample when used with Next.js

- https://github.com/SoraKumo001/next-webp