0.7.2 • Published 2 months ago

@rhcp/mimir_transforms v0.7.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

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

CommandPurposeDirectory
make dev_webCreate a dev build of the transforms for use in web browsers.web
make build_webCreate an optimized build of the transforms for use in web browsers.web
make dev_nodeCreate a dev build of the transforms for use in nodejs.node
make build_nodeCreate an optimized build of the transforms for use in nodejs.node
make cleanClean the wasm builds' target directories.node & web
make publishClean, 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.

0.7.2

2 months ago

0.7.1

2 months ago

0.7.0

2 months ago

0.6.0

2 months ago

0.5.0

4 months ago

0.3.0

7 months ago

0.2.0

9 months ago

0.4.1

6 months ago

0.4.0

6 months ago

0.3.1

7 months ago

0.1.3

1 year ago

0.1.2

1 year ago