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

foldpak

v1.0.4

Published

A tiny CLI to package a folder into a zip archive

Readme

foldpak

A tiny CLI to package a folder into a zip archive with simple include, exclude, and .gitignore support.

Install

npm install -g foldpak

Or run directly with npx:

npx foldpak .

Usage

foldpak [source]

Options

  • -o, --output <file> — Output zip file path
  • --no-gitignore — Don't use .gitignore rules (by default, .gitignore is respected)
  • --ignore-file <file> — Load ignore patterns from custom file (can be repeated)
  • -i, --include <glob> — Include files matching glob (can be repeated)
  • -e, --exclude <glob> — Exclude files matching glob (can be repeated)
  • --verbose — Show detailed output

Examples

# Package current directory
foldpak .

# Package a specific directory
foldpak ./my-project

# Specify output file
foldpak . -o my-app.zip

# Ignore .gitignore rules
foldpak . --no-gitignore

# Include only specific files
foldpak . -i "src/**" -i "package.json"

# Exclude specific files (in addition to .gitignore)
foldpak . -e "dist/**" -e "node_modules/**"

# Combine options
foldpak . --include "dist/**" --exclude "**/*.map"

# Use custom ignore file
foldpak . --ignore-file .foldpakignore

# Use multiple ignore files
foldpak . --ignore-file .foldpakignore --ignore-file .dockerignore

Rule Summary

  • Files are archived relative to the source root
  • .gitignore rules are applied by default (use --no-gitignore to disable)
  • --include narrows the file set to matching files
  • --exclude removes matching files (always wins last)

Building

npm install
npm run build

The compiled CLI will be at dist/cli.js.

Testing

npm test

Roadmap

We are committed to making foldpak the most intuitive and versatile packaging tool for developers. Here are the features we are planning for future releases:

Archive Format Support

  • Tar & Tar.GZ — Support for .tar and .tar.gz archives for Unix-friendly workflows
  • 7-Zip — Support for .7z format with higher compression ratios
  • Tar.ZST — Support for Zstandard-compressed tarballs for modern compression speeds

Enhanced Functionality

  • Nested .gitignore Support — Respect .gitignore files recursively throughout the project tree
  • Config File Support — Per-project configuration via .foldpakrc or foldpak.config.js
  • Watch Mode — Auto-repackage on file changes during development

Developer Experience

  • Dry Run Mode — Preview what would be packaged without creating the archive
  • List Contents — View archive contents without extracting
  • Strip Root Option — Option to include/exclude the root directory in the archive
  • Progress Indicators — Visual feedback for large directories

Distribution & Integration

  • Prebuilt Binaries — Standalone executables for major platforms (no Node.js required)
  • GitHub Action — Official action for CI/CD workflows
  • Checksum Generation — Automatic SHA256 checksums for integrity verification

Have a suggestion? Open an issue — we'd love to hear from you!