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

@dxtmisha/zip

v0.1.2

Published

Library for creating and managing ZIP archives in the browser and Node.js environments.

Readme

@dxtmisha/zip

npm version License: MIT Node.js Version

@dxtmisha/zip is a lightweight and high-performance utility library for creating and managing ZIP archives in both browser and Node.js environments. Built on top of the incredibly fast fflate engine, it provides a clean, object-oriented API for handling compressed data.

Why this library?

Working with ZIP files in JavaScript often involves dealing with complex binary structures or bloated libraries that are hard to integrate. Projects frequently need to generate reports, export collections of images, or package data for download on the fly.

zip simplifies this by providing a dedicated Zip class that handles encoding, buffer management, and even browser-side downloads with a single method call. It's designed to be simple, predictable, and fully typed.

What does it do?

For archive management — a straightforward class to manage the lifecycle of a ZIP file. Add files, remove them if needed, set compression options, and track whether the archive actually contains any data before processing.

For browser integration — built-in support for DOM environments. The save() method automatically handles Blob creation, Object URL generation, and the "hidden link" trick to trigger a native browser download, cleaning up after itself to prevent memory leaks.

For data handling — automatic text encoding. When you add a string to the archive, the library automatically converts it to Uint8Array using TextEncoder, so you don't have to worry about character encoding manually.

For performance — utilizes fflate for synchronous compression. This ensures the smallest possible bundle size and the fastest execution time compared to other popular alternatives like JSZip.

Installation

npm install @dxtmisha/zip

Quick Start

import { Zip } from '@dxtmisha/zip'

// Create a new archive
const zip = new Zip('project-export.zip')

// Add files
zip.addFile('config.json', JSON.stringify({ version: '1.0' }))
zip.addFile('assets/logo.png', imageBuffer)

// Check state
if (zip.is()) {
  // Save/Download in browser
  zip.save()

  // Or get the buffer for manual processing (e.g., upload to server)
  const buffer = zip.get()
}

// Manage content
zip.removeFile('config.json')

Principles

  • Performance-first — leveraging fflate for maximum speed and minimum overhead.
  • Developer Experience — fluent API with method chaining and intuitive naming.
  • TypeScript-first — full type safety for all methods and options.
  • Lightweight — focused on doing one thing (ZIP management) exceptionally well.

Documentation

Full API reference, examples, and guides:

📖 https://dxtmisha.github.io/dxt-ui/

License

MIT