tsc-esm-fix
react-pair
tsc-esm-fix | react-pair | |
---|---|---|
2 | 1 | |
75 | 9 | |
- | - | |
7.8 | 0.0 | |
25 days ago | over 1 year ago | |
TypeScript | TypeScript | |
MIT License | - |
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
-
TypeScript is now officially 10 years old
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”
react-pair
-
The paired hook pattern
The function is so simple, you could write it yourself, the only difference is that I'm testing it, adding devtools integration, and typing with TypeScript for you. You can check the source here. The usage is quite simple, react-pair provides a pair function that you can use to create a component that gives you access to the hook in a component context (without breaking the rules of hooks):
What are some alternatives?
ts-jest - A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.
ranges-set - Set operations on human-friendly ranges.
tsx - ⚡️ TypeScript Execute | The easiest way to run TypeScript in Node.js
regex-vis - 🎨 Regex visualizer & editor
ts2esm - Transforms CommonJS projects into ESM.
skott - All-in-one devtool to automatically analyze, search and visualize project modules and dependencies from JavaScript, TypeScript (JSX/TSX) and Node.js (ES6, CommonJS)
node-win32-api - win32 api
react-raw-hooks - A collection of react hooks, served raw
proposal-type-annotations - ECMAScript proposal for type syntax that is erased - Stage 1
frontlink - React realtime collaboration and updates through your backend
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
bumpgen - bumpgen is an AI agent that upgrades npm packages