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

quilt

v0.1.3

Published

File stitcher

Downloads

26

Readme

About Quilt

Quilt is a simple way to stitch files together. Quilt on github.

Installation

npm install quilt

Usage

var config = {
  "local_path" : "<local path for versions>", // Required
  "remote_host" : "<remote host for fetching versions>", // Optional
  "remote_port" : "<remote port for fetching versions>", // Optional
  "remote_path" : "<base remote path for fetching versions>", // Optional
};
var quilt = require(quilt);
var myQuilt = quilt.create(config);
// selector = array of module names or selector function that takes a module name and returns true or
//            false depending on whether or not to include the module
// callback = function that takes two parameters:
//              the stitched string
//              the error if one exists, null if not
myQuilt.stitch(selector, "<version number>", callback);

Path Structure

local_path

local_path should point to a directory contains the following directory structure for each version:

<version name>/
<version name>/manifest.js

manifest.js has the following format:

module.exports = {
  "header" : "<header file>",
  "footer" : "<footer file>",
  "common" : [
    "<module file>",
    ...
  ],
  "optional" : {
    "<module file>" : [ "<dependancy module name>", ... ],
    ...
  }
};

Where each <module file> will point to a module to stitch. The filename should be <module name>.js

The modules will be stitched in the following order:

header
common (in the order they were present in the array)
optional (the only ordering that is guarenteed is: dependancies will be before their dependant modules)
footer

Circular dependancies will be shortcircuited and an error message will be sent to console.error.


remote_path

Note: This is optional.

remote_host, remote_port, and remote_path together should point to a server which contains version tarballs to download at the following path:

http://remote_host:remote_portremote_path/<version name>.tgz

Note that remote_path must contain the leading slash and the version archive should be a gzipped tarball. The archive should contain the same directory structure as specified in the local_path section.