jest

Delightful JavaScript testing with zero-config setup, snapshots, mocking, and coverage

Tool
npm
v30.5.2
45,465 stars
MIT License

Repository Health

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

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
87 /100 Excellent
Architecture 92
Code Quality 90
Innovation 85
Learning Curve 82

Jest is a JavaScript test runner and testing framework that works out of the box for most JavaScript projects with minimal configuration. It bundles a test scheduler, an assertion library (expect), snapshot testing, built-in mocking (module, function, and timer mocks), code coverage collection, and a fast, parallelized, watch-mode test runner into a single cohesive tool, making it the most widely used test framework in the Node.js and React ecosystem.

Originally created at Facebook and now maintained under the community-led jestjs organization, Jest is structured as a monorepo of dozens of composable packages (jest-cli, @jest/core, jest-runtime, jest-circus, expect, and more) that are consumed together through the top-level jest package, but can also be used independently by other tools (e.g. expect is used standalone by non-Jest test runners).

What You Get

  • A CLI test runner (jest) with parallelized execution, interactive watch mode, and test-file pattern filtering
  • The expect assertion library with an extensive built-in matcher set and support for custom matchers
  • Built-in snapshot testing for capturing and diffing serialized output (components, objects, DOM trees)
  • Automatic mocking of modules, functions, and timers with jest.fn(), jest.mock(), and fake timer utilities
  • Code coverage reporting (via Istanbul) with no additional tooling required
  • Pluggable test environments (jsdom, node) and transform pipelines (Babel, TypeScript via ts-jest or babel-jest)

Common Use Cases

  • Unit and integration testing for Node.js backend services and libraries
  • Component testing for React and other UI frameworks, often paired with Testing Library
  • Snapshot testing to catch unintended changes in rendered output or serialized data structures
  • Monorepo test orchestration where a single Jest config runs suites across multiple packages

Under The Hood

Architecture: Jest is organized as a monorepo where the top-level jest package is a thin entry point delegating to jest-cli, which drives @jest/core to discover test files (jest-haste-map), spin up isolated jest-runtime module registries per test file inside worker processes (jest-worker), execute tests through a pluggable test framework (jest-circus by default, jest-jasmine2 historically), and aggregate results via jest-reporters — a layered design that lets each concern (resolution, mocking, running, reporting) live in its own package and be swapped independently. Tech Stack: The whole monorepo is TypeScript, built and tested with its own Jest instance, uses jest-config/jest-resolve for project setup, Babel and ts-jest/babel-jest for transforms, and jest-environment-jsdom/jest-environment-node for pluggable execution sandboxes. Code Quality: Every package has a co-located __tests__ directory and the project dogfoods itself (Jest tests Jest), with strict TypeScript typing, ESLint enforcement, and a long-standing CI matrix across Node versions — a mature, heavily-tested codebase reflecting its status as critical infra for the ecosystem. API Design: The public describe/it/expect API is deliberately Jasmine-compatible for near-zero migration friction, matcher names read as natural assertions (toBe, toEqual, toHaveBeenCalledWith), and a project typically needs no config file at all to get first tests running.

Used by 317 apps in this directory

Go
37%
MIT

ezBookkeeping

Invoicing Finance

5,673

Lightweight self-hosted personal finance manager with AI receipt scanning, multi-currency support, and MCP integration for complete data privacy.

View details
88
Repo Health
80
Technical
71
Dependency
Built with
Go 37%
Vue 34%
TypeScript 26%
Updated 1 weeks ago
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,787

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
66
Dependency
Built with
TypeScript 75%
Updated 1 weeks ago
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,787

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
66
Dependency
Built with
TypeScript 75%
Updated 1 weeks ago
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,787

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
66
Dependency
Built with
TypeScript 75%
Updated 1 weeks ago
Go
65%
AGPL 3.0

Fider

Customer Support · Product Management

4,545

Open-source feedback portal where customers submit, vote on, and track feature requests so product teams build what actually matters.

View details
89
Repo Health
85
Technical
71
Dependency
Built with
Go 65%
TypeScript 28%
Updated 1 weeks ago
Go
65%
AGPL 3.0

Fider

Customer Support · Product Management

4,545

Open-source feedback portal where customers submit, vote on, and track feature requests so product teams build what actually matters.

View details
89
Repo Health
85
Technical
71
Dependency
Built with
Go 65%
TypeScript 28%
Updated 1 weeks ago
Go
65%
AGPL 3.0

Fider

Customer Support · Product Management

4,545

Open-source feedback portal where customers submit, vote on, and track feature requests so product teams build what actually matters.

View details
89
Repo Health
85
Technical
71
Dependency
Built with
Go 65%
TypeScript 28%
Updated 1 weeks ago
Go
52%
AGPL 3.0

Filestash

File Storage

14,734

A self-hosted file management platform that unifies access to S3, SFTP, SMB, FTP, WebDAV, NFS, Git, SharePoint, and 20+ other storage backends through a single extensible web interface.

View details
79
Repo Health
67
Technical
67
Dependency
Built with
Go 52%
JavaScript 34%
Updated 2 weeks ago
TypeScript
73%
AGPL 3.0

Firecrawl

AI Development · Developer Tools

185,614

Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.

View details
89
Repo Health
83
Technical
65
Dependency
Built with
TypeScript 73%
Python 13%
Updated 1 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