@rhcp/mimir_transforms_web
TypeScript icon, indicating that this package has built-in type declarations

0.7.2 • Public • Published

Mimir's transforms packaged for WebAssembly

This is a WebAssembly build of Mimir's transforms. Two packages are provided, @rhcp/mimir_transforms for use in Nodejs and @rhcp/mimir_transforms_web for use in browsers (with a caveat).

Using the nodejs package

Add the dependency:

npm i @rhcp/mimir_transforms

Import & use it:

import { headingHash } from "@rhcp/mimir_transforms";

console.log(headingHash("#hello"));

Prints:

# hello

Using the web package

npm i @rhcp/mimir_transforms_web

Import the package, initialize it, and log a transformed string.

import { default as init, headingHash } from "@rhcp/mimir_transforms";
await init();
console.log(headingHash("#hello"))

Prints:

# hello

Please note that this example assumes you have a bundler which will resolve the name @rhcp/mimir_transforms.

Web usage note

The Nodejs-focused mimir_transforms package is the intended way to use these transforms. The client-side mimir_transforms_web package is provided for one use case: live editor preview. The reason for preferring server-side or build-time transforms is due to the size of the wasm file. In short, users should not have to download a 1MB wasm file in order to view 10kB of content.

List of transforms

There is currently no auto-generated documentation for these transforms, however there is a type definition file which can be consulted for the list of transforms and their descriptions. It also allows easy discovery of transforms and their descriptions in your editor.

Initial setup for contributors

Install wasm-pack. The wasm-pack site recommends curling into your shell to install, but I prefer using cargo:

cargo install wasm-pack

Once wasm-pack is installed, you can build & test this package.

🛠️ Build packages for web and node

Command Purpose Directory
make dev_web Create a dev build of the transforms for use in web browsers. web
make build_web Create an optimized build of the transforms for use in web browsers. web
make dev_node Create a dev build of the transforms for use in nodejs. node
make build_node Create an optimized build of the transforms for use in nodejs. node
make clean Clean the wasm builds' target directories. node & web
make publish Clean, build, and publish to npm. Note: update the version number in Cargo.toml first! node & web

For more information about the commands, see the Makefile and wasm-pack build docs.

🔬 Running tests

wasm-pack test --headless --firefox
wasm-pack test --headless --chrome
wasm-pack test --headless --safari
wasm-pack test --node

Leave off --headless to run the tests in a live browser.

Also see wasm-pack test docs.

Readme

Keywords

none

Package Sidebar

Install

npm i @rhcp/mimir_transforms_web

Weekly Downloads

15

Version

0.7.2

License

MIT

Unpacked Size

2.93 MB

Total Files

6

Last publish

Collaborators

  • bexter89
  • dfaucette
  • rlahoda
  • cgatyas
  • caramelcode
  • mwcz
  • kylebuch8