{"id":27072,"library":"jest-esbuild","title":"jest-esbuild","description":"A Jest transformer that uses esbuild to compile TypeScript/JavaScript files during test execution. Current stable version is 0.4.0, released in 2021 with no recent updates (maintenance mode). It provides fast compilation by leveraging esbuild's speed, significantly faster than ts-jest. It requires Jest 27+ and supports ESM/CJS via esbuild's loader. Key differentiator: minimal configuration and speed compared to ts-jest or babel-jest. Not recommended for projects needing type checking, as esbuild strips types without validation.","status":"maintenance","version":"0.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/hannoeru/jest-esbuild","tags":["javascript","typescript"],"install":[{"cmd":"npm install jest-esbuild","lang":"bash","label":"npm"},{"cmd":"yarn add jest-esbuild","lang":"bash","label":"yarn"},{"cmd":"pnpm add jest-esbuild","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Correct usage in jest config; options object is not required but can be passed as second element in array.","wrong":"transform: {\n  '^.+\\\\.tsx?$': ['jest-esbuild', {}]\n}","symbol":"jest-esbuild (default)","correct":"module.exports = {\n  transform: {\n    '^.+\\\\.tsx?$': 'jest-esbuild'\n  }\n}"},{"note":"Options must be inline in array, not separate field.","wrong":"transform: {\n  '^.+\\\\.tsx?$': 'jest-esbuild',\n  esbuildOptions: { loaders: { '.js': 'jsx' } }\n}","symbol":"jest-esbuild (with options)","correct":"module.exports = {\n  transform: {\n    '^.+\\\\.tsx?$': ['jest-esbuild', { loaders: { '.js': 'jsx' } }]\n  }\n}"},{"note":"Export is named; default export is the transformer itself in CJS but named export exists.","wrong":"const createTransformer = require('jest-esbuild');","symbol":"createTransformer (named export)","correct":"const { createTransformer } = require('jest-esbuild');\nmodule.exports = { transform: { '^.+\\\\.tsx?$': createTransformer() } };"}],"quickstart":{"code":"// Install: npm install -D jest-esbuild\n// jest.config.js\nmodule.exports = {\n  transform: {\n    '^.+\\\\.tsx?$': 'jest-esbuild'\n  }\n};\n\n// Example test (sum.test.ts)\nconst sum = (a: number, b: number) => a + b;\ntest('adds 1 + 2 to equal 3', () => {\n  expect(sum(1, 2)).toBe(3);\n});","lang":"typescript","description":"Basic setup to transform .ts/.tsx files with jest-esbuild; test file written in TypeScript."},"warnings":[{"fix":"Run tsc separately or add type checking step in CI.","message":"jest-esbuild does not type-check; it only transforms code. Type errors will be ignored, potentially masking bugs.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Migrate to @swc/jest (recommended) or esbuild-jest.","message":"jest-esbuild is no longer actively maintained. Consider alternatives like @swc/jest or esbuild-jest.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Refer to esbuild API docs; use known options like 'loader', 'jsxFactory', 'target'.","message":"Options for esbuild are not well documented; configuration errors can cause silent failures.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"If using createTransformer, verify import path; recommended: use string transformer in config.","message":"Version 0.4.0 changed from default export to named export? (Unconfirmed breaking change anecdotal)","severity":"breaking","affected_versions":">=0.4.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use require('jest-esbuild').createTransformer or import { createTransformer } from 'jest-esbuild'.","cause":"Incorrect import of named export; using default import for createTransformer.","error":"TypeError: (0 , _jestEsbuild.createTransformer) is not a function"},{"fix":"Upgrade Jest to 27 or later.","cause":"Jest version < 27 is used.","error":"Error: jest-esbuild: Expected a jest version >= 27"},{"fix":"Add options: { loaders: { '.tsx': 'tsx' } } in transform array.","cause":"JSX files not transformed; missing loader configuration.","error":"SyntaxError: Unexpected token <"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}