# PkgPulse — Complete Reference > PkgPulse is a free, open data platform for comparing npm packages. It provides health scores, bundle sizes, download trends, security vulnerability checks, and side-by-side comparisons for JavaScript/TypeScript packages. PkgPulse helps developers make informed decisions when choosing between npm packages by aggregating data from the npm registry, Bundlephobia, and other sources into a unified analysis. ## How It Works PkgPulse fetches real-time data from multiple sources: 1. **npm Registry** — package metadata, version history, license, maintainers 2. **npm Downloads API** — weekly download counts and historical trends 3. **Bundlephobia** — minified and gzipped bundle sizes, dependency count 4. **Security Advisories** — known vulnerabilities by severity This data is combined into a composite **Health Score** (0-100) with five sub-dimensions: - **Maintenance Score** — release frequency, issue responsiveness - **Popularity Score** — download volume, community adoption - **Quality Score** — documentation, code patterns - **Security Score** — vulnerability count and severity - **Stability Score** — API consistency, breaking change frequency ## Page Types ### Homepage (/) Interactive search interface. Enter 2+ package names to see side-by-side comparison cards. Features popular comparison links and example searches. ### Comparison Pages (/compare/[slug]) Pre-generated pages for 70+ common package matchups. Each page includes: - Package cards with health scores, downloads, bundle sizes, vulnerability counts - Download trend sparklines - Health score breakdowns (5 sub-dimensions) - Enriched article content analyzing the comparison - FAQ section - Related comparison links Format: `/compare/package1-vs-package2` (alphabetically sorted) ### Guides (/guides) Data-driven articles about npm packages and the JavaScript ecosystem. MDX-powered with structured data. ## All Comparison Categories ### Frontend Frameworks - react vs vue, react vs svelte, angular vs react, preact vs react - solid-js vs svelte, lit vs svelte, qwik vs react ### Meta-Frameworks - next vs nuxt, next vs remix, astro vs next - gatsby vs next, next vs sveltekit, nuxt vs remix ### Backend Frameworks - express vs fastify, express vs koa, express vs hono - fastify vs hono, express vs nest, fastify vs koa ### Build Tools - vite vs webpack, esbuild vs vite, rollup vs webpack - esbuild vs rollup, turbopack vs vite, parcel vs webpack ### Testing - jest vs vitest, jest vs mocha, cypress vs playwright - playwright vs puppeteer, ava vs jest, jasmine vs jest ### State Management - mobx vs redux, recoil vs zustand, jotai vs zustand - redux vs zustand, mobx vs zustand, pinia vs vuex ### CSS & Styling - sass vs tailwindcss, emotion vs styled-components - bootstrap vs tailwindcss, bulma vs tailwindcss ### Date & Time - date-fns vs dayjs, dayjs vs moment, date-fns vs luxon ### HTTP Clients - axios vs node-fetch, got vs node-fetch, axios vs got, axios vs ky ### Database & ORM - drizzle-orm vs prisma, knex vs prisma, sequelize vs typeorm ### Validation - ajv vs zod, joi vs zod, yup vs zod ### Utilities - lodash vs ramda, lodash vs underscore, immer vs immutable ### Logging - bunyan vs winston, pino vs winston ### Monorepo - lerna vs turborepo, lerna vs nx ### Package Managers - npm vs pnpm, pnpm vs yarn ## Data Schema Each package analysis returns this data structure: ``` PackageAnalysis: name: string (npm package name) version: string (latest version) description: string downloads: number (weekly) bundleSize: size: number (bytes, minified) gzip: number (bytes, gzipped) dependencyCount: number health: overallScore: number (0-100) maintenanceScore: number (0-100) popularityScore: number (0-100) qualityScore: number (0-100) securityScore: number (0-100) stabilityScore: number (0-100) vulnerabilities: array of {severity, title} lastUpdated: ISO date string license: string ``` ## Structured Data All pages include Schema.org JSON-LD: - Homepage: WebSite + Organization - Comparison pages: WebPage + ItemList (SoftwareApplication) + BreadcrumbList + FAQPage - Guides posts: Article + BreadcrumbList ## Links - Website: https://www.pkgpulse.com - Sitemap: https://www.pkgpulse.com/sitemap.xml - Guides: https://www.pkgpulse.com/guides