tsc-esm-fix VS tsx

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

tsc-esm-fix

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

tsx

⚡️ TypeScript Execute: Node.js enhanced to run TypeScript & ESM (by privatenumber)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
tsc-esm-fix tsx
2 23
67 7,702
- 7.7%
7.8 9.2
6 days ago 3 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

tsx

Posts with mentions or reviews of tsx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-21.
  • Finally, a guide for Node.js and TypeScript and ESM that works
    18 projects | news.ycombinator.com | 21 Nov 2023
    I really enjoy frontend/node/typescript development. I roll my eyes whenever the HN-types complain about CSS or frontend development being a hellhole. Mostly the comments I see seem ignorant or impatient ("Why doesn't this thing work without be bothering to learn it?")

    However, the intersection of typescript, nodejs, and ES modules is consistently the most frustrating experience I ever have. Trying to figure out which magic incantation of tsconfig/esbuild/tsc/node options will let me just write code and run it is a fools errand. You might figure something out, and then you try to use Jest and then you descend into madness again.

    The biggest tip I can give people is to ditch ts-node and just use (the awkwardly named) tsx https://github.com/privatenumber/tsx, which pretty much just "mostly works" for running Typescript during dev for node.

    The problem mostly seems to stem for all the stakeholders being pretty dogmatic to whatever their goals are, rather than the pragmatic option of just meeting people where they are. I really wish the Node, Typescript, Deno/Bun, and maybe some bundler people would come together and figure out how to make this easier for people.

  • ERDIA: TypeORM entity specification documentation tool
    6 projects | dev.to | 28 Aug 2023
    If your TypeORM entity is written in TypeScript, you have to run ERDIA using ts-node or tsx as follows.
  • xtsz - a TS / JS file runner with support for HTTP/S imports
    5 projects | /r/node | 22 Apr 2023
    Want to import a package / file conveniently from esm.sh or unpkg or directly from a GitHub repo for a one-off script (for example). To do this I created a custom ESBuild plugin to handle HTTP imports - that worked for ,js files. To support running both ESM and CJS, I use tsx.
  • What is your must have npm package on any given project?
    15 projects | /r/webdev | 5 Apr 2023
    I prefer tsx honestly. Nodemon will detect that your using TypeScript and switch from node to ts-node but tsx is a no config necessary version of ts-node that also runs faster. Of course you can configure ts-node to use swc to be faster but then you're playing with config files to get things working.
  • Question about debugging TypeScript
    1 project | /r/typescript | 3 Apr 2023
    I highly recommend you give this a shot over ts-node
  • Jsx as a general templating language?
    1 project | /r/reactjs | 8 Mar 2023
    Dude I just worked on a PoC a few hours ago. What I did was use ReactDOM's renderToStaticMarkup and tsx to execute the script so I get jsx transpilation on the fly.
  • Thoughts about Deno?
    3 projects | /r/typescript | 25 Feb 2023
    I’ve been trying to adopt Deno into new projects, but I find Node through tsx good enough.
  • Will nodeJs ever have out of the box typescript support?
    6 projects | /r/node | 22 Feb 2023
    try tsx. it has support for watch mode and works great with esm module projects.
  • Why is this so hard to do? Help
    3 projects | /r/typescript | 19 Feb 2023
    This is the answer: https://github.com/esbuild-kit/tsx
  • <3 Deno
    11 projects | news.ycombinator.com | 12 Feb 2023
    Have a look at https://github.com/esbuild-kit/tsx

    _tsx is a CLI command (alternative to node) for seamlessly running TypeScript & ESM, in both commonjs & module package types.

    It's powered by esbuild so it's insanely fast._

What are some alternatives?

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

ts-jest - A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.

esbuild-runner - ⚡️ Super-fast on-the-fly transpilation of modern JS, TypeScript and JSX using esbuild

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

ts-node - TypeScript execution and REPL for node.js

react-pair - 🖇️ Util to help with the paired hook pattern

ts-runtime-comparison - Comparison of Node.js TypeScript runtimes

aleph.js - The Full-stack Framework in Deno.

esno - Alias to `tsx`

node-win32-api - win32 api

esbuild-node-tsc - Build your Typescript Node.js projects using blazing fast esbuild

rescript-compiler - The compiler for ReScript.

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