npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rhcp/mimir_transforms

v0.7.2

Published

A WebAssembly build of Mimir transforms, suitable for use in Nodejs and browsers.

Downloads

375

Readme

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.