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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@whide/hwhile-wrapper

v1.8.0

Published

A Node.js interface to the HWhile interpreter

Readme

= HWhile Wrapper Alaric Whitehead [email protected], Supervisor: Dr Bernhard Reus [email protected] 1.0, 14 November, 2020 :doctype: article :icons: font //Local URL aliases: :license: ./LICENSE.md :wiki: ./wiki //URL aliases: :chai: https://www.npmjs.com/package/chai :conventionalcommits: https://www.conventionalcommits.org/en/v1.0.0/ :electron: https://www.electronjs.org/ :git: https://git-scm.com/ :github-ssh: https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ :github-ssh-instructions: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh :hwhile: https://github.com/alexj136/HWhile :mocha: https://www.npmjs.com/package/mocha :n: https://www.npmjs.com/package/n :node: https://nodejs.org/en/ :stack: https://docs.haskellstack.org/en/stable/install_and_upgrade/ :whide: https://github.com/sonrad10/Whide

This module is a JavaScript/TypeScript wrapper around the link:{hwhile}[HWhile] interpreter for Dr Reus' WHILE language. It is primarily developed for use in the link:{whide}[Whide IDE] for the same language.

[#sect:getting-started] == Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

[#subsect:prerequisites] === Prerequisites

  • link:{git}[Git] - for downloading the repository.

Preferably with SSH access configured; see link:{github-ssh}[GitHub's post] about requiring tokens for git operations. You can set up SSH access using link:{github-ssh-instructions}[these instructions].

  • link:{node}[Node.js 12.19 and NPM 6.14] or newer - for running the code.

After you have a version of npm installed, I recommend using the link:{n}[n package] to manage node/npm versions and updates.

  • link:{hwhile}[HWhile] - For running WHILE programs

See <sect:install-hwhile> for a quick installation guide with solutions to some common issues.

[#subsect:installing] === Installing

. Clone the repository: + Using SSH: + [source]

git clone https://github.com/sonrad10/hwhile-wrapper

Or using a username/password: + [source]

git clone https://github.com/sonrad10/hwhile-wrapper

. Navigate into the cloned directory + [source]

cd hwhile-wrapper/

. Optionally, switch to the development branch: + [source]

git checkout development

. Install the dependencies + [source]

npm install

. Run the tests + [source]

npm run test

[#subsect:testing] == Running the tests

Simply run the following command to run the tests:

[source]

npm run test

Testing is done using the link:{mocha}[mocha] testing framework, and the link:{chai}[chai] assertion library.

[#subsect:program-information] == Program Information

//TODO: Write program information section

TODO: Write this

[#sect:install-hwhile] == Installing HWhile

=== Installing Haskell Stack

  • The recommended install method is to use the link:{stack}[Haskell Stack]. On Linux, use the following command:

[source]

curl -sSL https://get.haskellstack.org/ | sh

  • Run

[source]

stack init

  • You should also make sure +~/.local/bin+ is in your +$PATH+ as this is where the installed programs will be placed.

=== Installing dependencies

If this is your first time installing HWhile, you may need to install the +happy+ and +alex+ packages:

[source]

stack install happy alex

=== Installing HWhile

Finally, to install HWhile, run this command:

[source]

stack install --resolver=lts-8.0 hwhile

Using the default resolver causes dependency issues, which are not present with this version.

NOTE: Stack's installed programs are removed from the path when you log out. If you get a command not found error, simply run this command again.

== Contributing

This repository uses standard-version to maintain the version number. As such, commits should follow the link:{conventionalcommits}[Conventional Commits] specification.

Any changes should be opened in their own branch, then merged into master through a pull request.

Once a branch is merged into master, npm run release should be used to update the version number and changelog.

[#subsect:license] == License

This project is licensed under the MIT License - see link:{license}[LICENSE.md] file for details.

[#subsect:acknowledgments] == Acknowledgments

  • The link:resources/[WHILE programs] used in the tests are sourced from AlexJ's link:{hwhile}[HWhile] interpreter