tsc-esm-fix VS ts-jest

Compare tsc-esm-fix vs ts-jest and see what are their differences.

tsc-esm-fix

Make Typescript projects compatible with esm/mjs requirements (by antongolub)

ts-jest

A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript. (by kulshekhar)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
tsc-esm-fix ts-jest
2 18
67 6,828
- -
8.2 8.0
about 1 month ago 5 days ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tsc-esm-fix

Posts with mentions or reviews of tsc-esm-fix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-09.
  • TypeScript is now officially 10 years old
    6 projects | news.ycombinator.com | 9 Oct 2022
    Probably because it compiles them to a pre-standard ES5-compatible implementation based on good ol' `Foo.prototype`. And since they've already handled them one way, they can't become spec-compliant without breaking backwards compatibility.

    The other place where this shines through particularly egregiously is the support of ESM static import/export. Everybody's build tools been compiling that back down to CJS so hard that Node.js 16+ introduced intentional incompatibilities between CJS and ESM modes just to get people to finally switch to the standards-compliant module system. So you end up in a situation where the library is written in TypeScript with ESM syntax but the only available browser build is a CJS blob which completely defeats the main touted benefit of static imports/exports, namely dead code elimination...

    So you decide what the hell, let's switch TSC to ESM and moduleResolution node16, and end up having to use something like https://github.com/antongolub/tsc-esm-fix because the only allowed fix for TSC doing the wrong thing is at the completely wrong level - https://www.typescriptlang.org/docs/handbook/esm-node.html - if you don't see what's wrong with that, you're one of today's lucky 10000...

  • TS and ts-jest meet “type”: “module”
    3 projects | dev.to | 11 May 2021

ts-jest

Posts with mentions or reviews of ts-jest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-13.
  • In-Depth guide for TypeScript Library
    4 projects | dev.to | 13 Nov 2023
    use ts-jest and set up Paths Re-Map
  • Is using Jest for anything other than React a bad idea?
    3 projects | /r/node | 12 Sep 2022
    ts-jest has had some strange performance issues and workarounds in the past, though I haven’t used it very recently so it might have fixed those by now.
  • Test-Driven Infrastructure Development with Pulumi and Jest
    8 projects | dev.to | 14 Jun 2022
    Since we're working with TypeScript, we can use ts-jest, which conveniently brings Jest along for the ride:
  • Improve your Testing with Custom Matchers in Jest
    2 projects | dev.to | 18 May 2022
    I want to save you from manually copying the snippets one by one, so here is a Gist with the complete test file. This can be easily executed with Jest (or ts-jest for TypeScript).
  • Testing Mongoose with Ts-Jest
    3 projects | dev.to | 20 Apr 2022
  • A complete guide to full-stack live reload
    9 projects | dev.to | 16 Mar 2022
    See the Jest configuration docs to learn more about Jest configuration. ts-jest also has good documentation.
  • Setup Jest to React Typescript Vite project, also SWC (part 1)
    13 projects | dev.to | 14 Mar 2022
    Using @swc/jest to compile code to CommonJS is much faster than babel-jest, ts-jest which have long cold starts when executing tests in a large project.
  • Component Testing in Svelte
    6 projects | dev.to | 19 Feb 2022
    ts-jest: A transformer for handling TypeScript files.
  • The Ultimate Guide to TypeScript Monorepos
    17 projects | dev.to | 26 Nov 2021
    Thankfully using TypeScript and TypeScript project references makes the intricate problem of using Jest easier since we can make use of the excellent ts-jest Jest transformer. All we need to do it point ts-jest to the respective tsconfig.json file for each package (see example jest.config.js). Since we have configured TypeScript to be composite and incremental, we do not need to recompile TypeScript for dependencies of a package we want to test, which significantly reduces the runtime for unit tests. ts-jest will also ensure that any error message will reference the line numbers in the source TypeScript files.
  • Testing Svelte components with Jest and Vite
    8 projects | dev.to | 18 Nov 2021
    We need to configure Jest to transform our files. We must explicitly set our test environment to jsdom, which we are using through Jest. Since v27 Jest's default test environment is node. I will put the configuration in a specific Jest configuration file called jest.config.json in the project root folder. If you create a configuration file called jest.config.js, Vite will complain as it expects only ESM JavaScript by default. Vite will recommend that you rename it to a ".cjs" file if you want to do it that way. You can look at the different ways to configure Jest if you are unsure about the file conventions. If you're using TypeScript, you need to configure svelte-preprocess and ts-jest also, see the svelte-jester docs for how to do that.

What are some alternatives?

When comparing tsc-esm-fix and ts-jest you can also consider the following projects:

jest - Super-fast alternative for babel-jest or ts-jest without type checking. Please use main repository for issues

esbuild - An extremely fast bundler for the web

tsup - The simplest and fastest way to bundle your TypeScript libraries.

bob-esbuild - Building and Running TypeScript projects efficiently with rollup + esbuild

svgr - Transform SVGs into React components 🦁 [Moved to: https://github.com/gregberge/svgr]

SvelteKit - web development, streamlined

svelte-preprocess - A ✨ magical ✨ Svelte preprocessor with sensible defaults and support for: PostCSS, SCSS, Less, Stylus, Coffeescript, TypeScript, Pug and much more.

svelte-vite-jest-template - Svelte template based on Vite's Svelte template, but includes unit testing setup (Jest and Svelte Testing Library).

vite - Next generation frontend tooling. It's fast!

parcel - The zero configuration build tool for the web. 📦🚀

plugins - 🍣 The one-stop shop for official Rollup plugins

TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.