Back to Dagger

Jest

docs/versioned_docs/version-1.0-beta/modules/jest.mdx

0.21.52.4 KB
Original Source

Jest

Official module: dagger/jest

Install with dagger mod install github.com/dagger/jest.

What It Is

The Jest module runs Jest tests for JavaScript and TypeScript projects.

Use it when Jest is already the test runner for the repo and you want tests to become a Dagger check.

Use It For

  • Run Jest in CI and Dagger Cloud.
  • Check one app or package in a larger workspace.
  • List discovered tests when you need to debug test selection.

Main Workflows

  • test: run the Jest suite.
  • list: show which tests Jest sees.

How to Use It

Install the module, then run its check:

bash
dagger mod install github.com/dagger/jest

dagger check          # run every check in the workspace
dagger check jest:test # run the Jest suite

test installs dependencies and runs the Jest suite over the workspace (excluding node_modules, dist, and build). It automatically registers an OpenTelemetry hook, so individual tests appear as spans in the Dagger TUI and Dagger Cloud without changing the project's Jest config.

Settings

List the current settings and their values with dagger settings jest, then set one with dagger settings jest <key> <value>. Settings are stored in .dagger/config.toml under [modules.jest.settings].

  • packageManager (default npm): the package manager used to install dependencies before testing. Set it to yarn or pnpm to match the project.
  • baseImageAddress (default node:25-alpine): the Node base image tests run in. Pin it to the project's Node version, for example node:22-alpine.
toml
[modules.jest.settings]
packageManager = "pnpm"
baseImageAddress = "node:22-alpine"

Test options

The jest:test check runs with default options. Call the test function directly with dagger function call to override them:

  • files: limit the run to specific test files.
  • build: run the project's build script before testing.
  • useEnv: use the project's own Jest environment instead of the module's automatic OpenTelemetry environment.
  • flags: extra flags passed through to jest.

Use list to print the tests Jest discovers when test selection is unclear.

Workspace Fit

Use this module when Jest is the test runner. Use Vitest instead for projects built around Vitest or Vite-first test workflows.

Source

Source repo: github.com/dagger/jest