ADM-ZIP

A pure JavaScript zip compression library for Node.js, with no native dependencies

Library
npm
v0.6.1
2,184 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
84 /100 Excellent
Development Activity 88
Maintenance 72
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
71 /100 Good
Architecture 74
Code Quality 70
Innovation 58
Learning Curve 82

ADM-ZIP is a pure JavaScript implementation of zip data compression for Node.js. It lets applications decompress zip files directly to disk or in-memory buffers, compress files into .zip archives or compressed buffers, and update the content of an existing zip archive — adding, replacing, or deleting entries — without shelling out to a native zip/unzip binary.

Because it has no other Node.js library dependencies and no native bindings, ADM-ZIP works consistently across platforms, including inside Electron apps, where its README documents specific filesystem-access considerations.

What You Get

  • Zip reading and extraction to disk or in-memory buffers, including password-protected entries
  • Zip creation from files, directories, or raw buffers, with per-entry comments
  • In-place archive editing: adding, deleting, or replacing entries in an existing .zip file
  • Zero runtime dependencies on other Node.js packages or native binaries
  • Documented Electron filesystem-access support for apps that need zip handling inside an Electron renderer/main process

Common Use Cases

  • Extracting uploaded .zip archives (e.g. plugin bundles, dataset uploads) server-side without invoking a system unzip
  • Packaging build output or generated files into a downloadable .zip archive from a Node.js script or API endpoint
  • Reading specific files out of a zip archive in memory without extracting the whole archive to disk
  • Programmatically patching an existing .zip file — adding or removing entries — as part of a build or release pipeline

Under The Hood

Architecture - the library is organized around three core files: adm-zip.js (994 lines) exposes the public AdmZip class and orchestrates reading/writing/updating, zipFile.js (456 lines) models the zip container and its central directory, and zipEntry.js (390 lines) models an individual archive entry (name, compressed/uncompressed data, header); the methods/ directory isolates the compression codecs (deflater.js, inflater.js) and zipcrypto.js for password-protected entries behind a small index.js facade. Tech Stack - plain CommonJS JavaScript with a hand-authored types.d.ts for TypeScript consumers, zero third-party runtime dependencies (README explicitly calls this out), and a headers/ module implementing the zip file format’s binary header structures directly per the bundled APPNOTE.md (the official PKWARE zip spec) reference doc. Code Quality - the test/ directory has 23 test files, CI runs via GitHub Actions on every push, and a SECURITY.md documents a vulnerability-reporting process, but there is no visible fuzz-testing or property-based testing for the binary parsing logic, which is a common risk area for hand-written archive-format parsers. API Design - the AdmZip class centers on a small number of intention-revealing methods (getEntries, readAsText, extractEntryTo, extractAllTo, addFile, writeZip) that cover the read/write/update use cases without requiring the caller to understand the zip format internals, though the API predates modern async/Promise conventions and remains largely synchronous.

Used by 25 apps in this directory

TypeScript
96%
Other

Amplication

AI Code Assistants · Automation · Developer Tools

16,015

Create production-ready backend services with your organization's standards baked in — generating NestJS, Prisma, and GraphQL code that you own and control.

View details
58
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 96%
Updated 3 months ago
JavaScript
95%
MIT

AnythingLLM

AI Assistants · Automation · Developer Tools

66,533

The all-in-one AI platform for private document chat, no-code agents, and local LLMs with zero setup friction.

View details
90
Repo Health
78
Technical
64
Dependency
Built with
JavaScript 95%
Updated 6 days ago
TypeScript
92%
GPL 3.0

Blinko

Knowledge Management · Note Taking

11,049

A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.

View details
75
Repo Health
69
Technical
63
Dependency
Built with
TypeScript 92%
Updated 1 months ago
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

52,202

All-in-one AI desktop client with 300+ assistants and multi-model support

View details
89
Repo Health
84
Technical
70
Dependency
Built with
TypeScript 99%
Updated 4 days ago
TypeScript
99%
Apache 2.0

Codebuff

AI Code Assistants

12,842

An open-source AI coding assistant that coordinates specialized agents to edit your codebase from natural language — including Freebuff, a free, ad-supported version powered entirely by open-source models like DeepSeek and Kimi.

View details
85
Repo Health
71
Technical
67
Dependency
Built with
TypeScript 99%
Updated 4 days ago
TypeScript
99%
Apache 2.0

Colanode

Collaboration · Knowledge Management · Team Chat

5,152

Local-first, self-hosted workspace that combines real-time chat, Notion-style pages, and structured databases — all synced via CRDTs so you work offline without losing a keystroke.

View details
46
Repo Health
73
Technical
70
Dependency
Built with
TypeScript 99%
Updated 6 months ago
TypeScript
84%
Apache 2.0

Continue

AI Code Assistants · AI Development · Automation

36,049

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
73
Repo Health
88
Technical
62
Dependency
Built with
TypeScript 84%
Updated 5 days ago
TypeScript
45%
Other

Convex Backend

Databases · Developer Tools

12,617

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript 45%
Rust 43%
Updated 6 days ago
TypeScript
93%
AGPL 3.0

CourseLit

Blogging · Ecommerce

1,268

Open-source, self-hosted LMS for selling online courses, digital downloads, and building communities on your own branded website.

View details
77
Repo Health
74
Technical
68
Dependency
Built with
TypeScript 93%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers