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

TypeScript
80%
AGPL 3.0

Postiz

Automation · Social Media

36,421

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
91
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 80%
JavaScript 11%
Updated 1 weeks ago
TypeScript
80%
AGPL 3.0

Postiz

Automation · Social Media

36,421

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
91
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 80%
JavaScript 11%
Updated 1 weeks ago
TypeScript
80%
AGPL 3.0

Postiz

Automation · Social Media

36,421

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

View details
91
Repo Health
70
Technical
63
Dependency
Built with
TypeScript 80%
JavaScript 11%
Updated 1 weeks ago
TypeScript
97%
MIT

Promptfoo

AI Development

25,506

An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.

View details
90
Repo Health
73
Technical
68
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
Rust
91%
Apache 2.0

Quickwit

Monitoring · Search

11,682

Cloud-native search engine for logs and traces, delivering sub-second search directly on S3, GCS, or Azure Blob storage at a fraction of Elasticsearch's cost.

View details
87
Repo Health
83
Technical
73
Dependency
Built with
Rust 91%
Updated 2 weeks ago
Rust
91%
Apache 2.0

Quickwit

Monitoring · Search

11,682

Cloud-native search engine for logs and traces, delivering sub-second search directly on S3, GCS, or Azure Blob storage at a fraction of Elasticsearch's cost.

View details
87
Repo Health
83
Technical
73
Dependency
Built with
Rust 91%
Updated 2 weeks ago
Rust
91%
Apache 2.0

Quickwit

Monitoring · Search

11,682

Cloud-native search engine for logs and traces, delivering sub-second search directly on S3, GCS, or Azure Blob storage at a fraction of Elasticsearch's cost.

View details
87
Repo Health
83
Technical
73
Dependency
Built with
Rust 91%
Updated 2 weeks ago
Python
46%
Other

Redash

Analytics · Data Engineering

28,817

Redash lets anyone connect to 35+ SQL and NoSQL data sources, write a query in the browser, and turn the result into a shared dashboard — no separate BI suite required.

View details
92
Repo Health
74
Technical
60
Dependency
Built with
Python 46%
JavaScript 30%
TypeScript 17%
Updated 1 weeks ago
Python
46%
Other

Redash

Analytics · Data Engineering

28,817

Redash lets anyone connect to 35+ SQL and NoSQL data sources, write a query in the browser, and turn the result into a shared dashboard — no separate BI suite required.

View details
92
Repo Health
74
Technical
60
Dependency
Built with
Python 46%
JavaScript 30%
TypeScript 17%
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