1 points | by sdotson 18 hours ago
2 comments
We migrated Calm’s large Rush.js monorepo away from tsc emit and onto Node’s new type stripping feature. Key lessons:
ESM migration was a prerequisite (imports, JSON, CJS compat).
Biggest blocker: thousands of Sinon stubs (solution: “stub classes, not modules”).
Some CJS → ESM package refactors needed (lodash → lodash-es).
Results: local dev tasks ~30–40% faster, CI jobs ~3–6 minutes faster.
Full write-up: https://www.calm.com/blog/engineering/how-we-migrated-our-ru...
Curious if others have tried type stripping in Node 22/23 yet.
Any chance to test your local development with Bun? This is their latest improvement and I can't wait to test it as soon as they release it! https://bun.com/blog/how-we-made-postMessage-string-500x-fas...
We migrated Calm’s large Rush.js monorepo away from tsc emit and onto Node’s new type stripping feature. Key lessons:
ESM migration was a prerequisite (imports, JSON, CJS compat).
Biggest blocker: thousands of Sinon stubs (solution: “stub classes, not modules”).
Some CJS → ESM package refactors needed (lodash → lodash-es).
Results: local dev tasks ~30–40% faster, CI jobs ~3–6 minutes faster.
Full write-up: https://www.calm.com/blog/engineering/how-we-migrated-our-ru...
Curious if others have tried type stripping in Node 22/23 yet.
Any chance to test your local development with Bun? This is their latest improvement and I can't wait to test it as soon as they release it! https://bun.com/blog/how-we-made-postMessage-string-500x-fas...