Jest v30.3.0 Update: defineConfig, Timer Tick Mode & Key Fixes

Key Changes

Jest v30.3.0, released on March 10, 2026, introduces developer experience improvements that modernize Jest’s configuration story and enhance its fake timer capabilities. This release also fixes several long-standing issues.

defineConfig and mergeConfig Helpers

The headline feature is defineConfig and mergeConfig — type-safe configuration helpers inspired by Vite and Vitest:

// jest.config.ts
import { defineConfig } from 'jest-config';

export default defineConfig({
  testEnvironment: 'jsdom',
  transform: {
    '^.+\\.tsx?$': 'ts-jest',
  },
});

mergeConfig enables composing configurations from shared presets, making monorepo setups cleaner. This eliminates the guesswork of jest.config.ts — your IDE now autocompletes every option with full type safety.

Fake Timer Tick Mode

setTimerTickMode gives fine-grained control over how fake timers advance. This is useful when testing components that rely on specific timer behaviors — animation frames, debounced inputs, or polling intervals. The update also bumps sinon/fake-timers to v15 under the hood.

Critical Fixes

  • Dynamic imports with --experimental-vm-modules: Users can now utilize dynamic import() when running with the --experimental-vm-modules Node option. This was a blocker for teams migrating to ESM.
  • --onlyFailures with compilation errors: Failed tests due to compilation errors now correctly re-execute when using --onlyFailures, fixing a frustrating CI workflow issue.
  • GHA reporter console output: Console output now displays correctly when using the GitHub Actions reporter with silent: false.
  • Coverage output with --json: CLI coverage output is preserved when combining --json with --outputFile.

Maintenance

  • Replaced micromatch with picomatch across the codebase for better performance
  • Updated migration guide for jest.mock() case-sensitive path behavior in v30

Impact for QA Teams

The defineConfig helper is the biggest quality-of-life win — it brings Jest’s configuration experience in line with modern tooling standards. Teams maintaining complex Jest configs across multiple packages will benefit from mergeConfig. The ESM dynamic import fix unblocks migration paths for teams moving away from CommonJS. For a comprehensive guide on Jest setup, see our Jest testing tutorial.