ADM-ZIP

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

Library
npm
v0.6.0
2,178stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
81/100Excellent
Development Activity84
Maintenance64
Community76
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
71/100Good
Architecture74
Code Quality70
Innovation58
Learning Curve82

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

Developer Tools · AI Code Assistants · Automation

16,010

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
61
Repo Health
84
Technical
60
Dependency
Built with
TypeScript96%
Updated 1 months ago
JavaScript
95%
MIT

AnythingLLM

Developer Tools · Automation · AI Assistants

64,914

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

View details
91
Repo Health
78
Technical
68
Dependency
Built with
JavaScript95%
Updated today
TypeScript
92%
GPL 3.0

Blinko

Knowledge Management · Note Taking

10,880

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
83
Repo Health
69
Technical
65
Dependency
Built with
TypeScript92%
Updated 2 weeks ago
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

50,753

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

View details
88
Repo Health
84
Technical
71
Dependency
Built with
TypeScript99%
Updated today
TypeScript
98%
Apache 2.0

Codebuff

AI Code Assistants

9,981

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
84
Repo Health
71
Technical
68
Dependency
Built with
TypeScript98%
Updated today
TypeScript
99%
Apache 2.0

Colanode

Knowledge Management · Team Chat · Collaboration

5,018

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
47
Repo Health
73
Technical
73
Dependency
Built with
TypeScript99%
Updated 4 months ago
TypeScript
84%
Apache 2.0

Continue

Developer Tools · AI Development · AI Code Assistants

35,532

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

View details
87
Repo Health
88
Technical
65
Dependency
Built with
TypeScript84%
Updated today
TypeScript
45%
Other

Convex Backend

Developer Tools · Databases

12,394

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
88
Repo Health
82
Technical
70
Dependency
Built with
TypeScript45%
Rust43%
Updated today
TypeScript
93%
AGPL 3.0

CourseLit

Ecommerce · Blogging

1,255

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

View details
78
Repo Health
74
Technical
72
Dependency
Built with
TypeScript93%
Updated 4 weeks 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

Search