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

mimosa-web-package

v2.0.0

Published

Web App Packaging Module for Mimosa

Readme

mimosa-web-package

This is a Mimosa module for packaging web applications. It assumes that the mimosa-server module is also being used.

  • For more information regarding Mimosa, see http://mimosa.io
  • For information regarding packaging in Mimosa, see http://mimosa.io/commands.html#package

Usage

Add web-package as a string to your list of modules in the mimosa-config. When Mimosa starts up, it will install the module for you.

Functionality

If you are running mimosa build with the --package flag, mimosa-web-package will:

  • Remove the directory at webPackage.outPath if it already exists
  • Copy your entire project to the webPackage.outPath folder, omitting anything you have listed in webPackage.exclude
  • Re-write the package.json to not include any mimosa packages in the package.json depedencies array.
  • Write the parts of the fully-resolved and blown out mimosa-config that pertain to the server to the webPackage.outPath as config.js. Will set some config values, like live reload to production level settings. Will also turn normally absolute mimosa-config paths relative. To accommodate app hosting solutions like Heroku, config.js also re-figures the location of public assets.
  • Write a simple app.js file to webPackage.outPath. app.js exists to be a starting point for your app when Mimosa is not available to invoke your server. It simply reads the config, and calls your server.startServer method passing the config.
  • runs NPM install from inside the webpackage.outPath. The --production flag is used to avoid installing any packages in your package.json devDependencies. If your production app actually depends on any packages listed there, they should really be in dependencies.
  • By default a .tar.gz will be created for your packaged application. If archiveName is set to a .zip file, a .zip file will be created instead.

What you get as a result is an application that runs without Mimosa's aid by simply executing node app.js, as well as an archive file (.tar.gz/.zip) of the codebase.

If tar/zip isn't available as a command line utility on your system, no tar/zip file will be created.

If your application is using Mimosa's default server rather than a server of your own, web-package will not write an app.js and will not execute npm install.

Default Config

webPackage:
  archiveName: "app"
  configName: "config"
  useEntireConfig: false
  outPath: "dist"
  exclude: ["README.md","node_modules","mimosa-config.coffee","mimosa-config.js","assets",".git",".gitignore","mimosa-config-documented.coffee",".mimosa","bower.json"]
  appjs: "app.js"
  • archiveName: a string, the name of the output .tar.gz/.zip file. No archive will be created if archiveName is set to null. A .zip will only be created if the archiveName ends in .zip. Otherwise a tar file is assumed. The following rules only apply to .tars. If the default is changed away from app, web-package will use the changed config setting. If the default is left alone, web-package will check the for a name property in the package.json, and if it exists, it will be used. If the default is left as app, and there is no package.json.name property, the default is used.
  • configName: a string, the name of output configuration file without extension; it is also acceptable to define a subdirectory, although the subdirectory must exist and the path separator character ('/' or '') must be at the beginning (e.g. "config/settings"). The relevant portions of the mimosa-config are written to the outPath directory as configName + '.js'
  • useEntireConfig: a boolean, this module pulls out specific pieces of the mimosa-config that apply to what you may need with a packaged application. For instance, it does not include a coffeescript config, or a jshint config. If you want it to include the entire resolved mimosa-config flip this flag to true.
  • outPath: a string, the folder where mimosa-web-package will place your packaged app. Can be either relative to the root of your project or absolute.
  • exclude: an array, files, relative to the root of the project, to not include in the package. If it isn't listed in this array, it will be included in the package.
  • appjs: name of the output app.js file which bootstraps the application, when set to null, web-package will not output a bootstrap file