How hyperz111/npsze works
npsze is an npm package-size checker, offered through a browser interface and a versioned JSON API. The main workflow takes a package name and optional version, resolves package metadata and a matching version, computes unpacked size (fetching and unpacking the archive when metadata lacks it), and recursively totals dependency sizes for the install estimate. The browser presents the result or an error. The README also documents version tags and ranges. Source excerpts show the principal runtime wiring; the production cache is shown, but the development store implementation was not inspected.
Main entry points: core.ts Metadata and version resolver · main.ts Search and page state · index.ts Package endpoint · elements.ts Results and suggestions
Components 12
Browser experience
- Search and page state
src/main.ts - Results and suggestions
src/elements.ts - DOM helpers
src/html.ts
API routing
- Netlify API adapter
src/api/function.ts - API version mount
src/api/index.ts - Package endpoint
src/api/v0/index.ts
Package analysis
- Metadata and version resolver
src/api/v0/core.ts - Archive unpack and sizing
src/api/v0/core.ts - Dependency size rollup
src/api/v0/core.ts
Cached metadata
- Package metadata cache
src/api/v0/store-production.ts
Other components
- Package checker user
- npm registry and tarballs
Connections 14
- Package checker user → Search and page state: enters package
README.md - Search and page state → Results and suggestions: renders states
src/main.ts - Search and page state → DOM helpers: updates DOM
src/main.ts - Results and suggestions → DOM helpers: builds elements
src/elements.ts - Search and page state → Package endpoint: requests package
src/main.ts - Netlify API adapter → API version mount: serves app
src/api/function.ts - API version mount → Package endpoint: mounts v0
src/api/index.ts - Package endpoint → Metadata and version resolver: resolves request
src/api/v0/index.ts - Metadata and version resolver → Package metadata cache: checks and stores
src/api/v0/core.ts - Metadata and version resolver → npm registry and tarballs: fetches metadata
src/api/v0/core.ts - Metadata and version resolver → Archive unpack and sizing: sizes missing data
src/api/v0/core.ts - Archive unpack and sizing → npm registry and tarballs: fetches tarball
src/api/v0/core.ts - Dependency size rollup → Metadata and version resolver: resolves dependencies
src/api/v0/core.ts - Package endpoint → Dependency size rollup: returns size result
src/api/v0/index.ts