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 🙏

© 2025 – Pkg Stats / Ryan Hefner

harmonica

v1.2.2

Published

A module that allows use of Node.js --harmony flags, programmatically.

Downloads

10

Readme

harmonica Build Status

A module that allows use of Node.js --harmony flags, programmatically.

Harmonica

Harmonica allows developers to use --harmony flags programmatically. That means an end to specifying command-line options for experimental "harmony" features of Node.js/V8. If you've ever wanted to use experimental features within Gulp tasks, or have a need to run an app through wrappers like forever, this module takes the command-line headache out of the equation.

screenshot

Node Version Requirements

Harmonica should work with Node.js version 4.6.2 and higher. However, specifying flags which don't exist for a particular version will likely result in an error.

Usage

Install the module:

npm install harmonica

Initialize the module. By default, harmonica will use the --harmony flag, which will enable all harmony, in-progress features.

require('harmonica')();

Specifying Flags

Should you need only specific flags, pass an Array of strings representing the flags you want to enable, without the leading hyphens, as the first parameter.

require('harmonica')([
  'harmony-array-values',
  'harmony-async-await'
]);

Syntax Flags

Some flags, such as --harmony-async-await, enable syntax features in Node.js. Should you require flags meant to extend the syntax, you must create an entry point in a separate file from which to initialize harmonica. You can then require the main script for your app, which contains the body of code.

Please see the tests for an example which uses the async / await syntax.

Listing Available Flags

If you have the need to view all available harmony flags for your version of node, you may do so by executing the following in a terminal:

node --v8-options | grep "in progress"

API

default([flags], [options])

flags

Optional
Type: Array
Default: undefined

See Specifying Flags

options

Optional
Type: Object
Default: { silent: false }

Example Usage of all options:

require('harmonica')({ silent: true });

Or, if you need to specify flags:

require('harmonica')([
    'harmony-array-values',
    'harmony-async-await'
  ],
  { silent: true });
silent

Type: Boolean
Default: false

Should you wish to silence harmonica's output, set a silent property on options to false.

Attribution

dcodeIO wrote and published the wonderful harmonize module. Harmonica is a complete rewrite of harmonize, but follows the same principles.

@stuk was kind enough to allow me to use the 'harmonica' module name in the NPM registry.

Harmonica vector base by saicreative.

License

MIT © Andrew Powell