{"slug": "typescript-compiler", "name": "TypeScript compiler", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 8, "warners": 1, "score": 2.638, "rising": -0.98, "first": "2025-12-11", "latest": "2026-10-20", "why": "the performance was a cost I was more than willing to pay for giving me sanity in JS land.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 3, "compare": 1, "warn": 1}, "spark": [0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "the performance was a cost I was more than willing to pay for giving me sanity in JS land.", "kind": "", "icon": true, "domain": null, "github_repo": null, "official_url": "https://www.typescriptlang.org", "pricing": "", "aliases": ["tsc", "TypeScript compiler"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 781367248, "item_id": 48835453, "url": "https://news.ycombinator.com/item?id=48835453", "by": "MBCook", "date": "2026-07-08", "stance": "recommend", "quote": "the performance was a cost I was more than willing to pay for giving me sanity in JS land.", "excerpt": "I didn\u2019t care. Because to me the performance was a cost I was more than willing to pay for giving me sanity in JS land. Knowing you were passing the right types, right number of arguments, etc. Just the quality of documentation you got from having types at all above the nothing we had before was huge. I love they\u2019ve made it a ton faster. But I never thought about giving it up due to compiler performance.", "context": "", "use_case": "type checking JavaScript", "switched_from": "", "story": "TypeScript 7"}, {"id": 766214208, "item_id": 47888388, "url": "https://news.ycombinator.com/item?id=47888388", "by": "Philpax", "date": "2026-04-24", "stance": "recommend", "quote": "people are already going wild for its performance improvement", "excerpt": "For context, this is the author of https://craftinginterpreters.com/ , and https://gameprogrammingpatterns.com/ , and https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/ . I promise that he knows a thing or two about compilers and performance! For what it's worth, I agree with him. A recent example is the porting of the TypeScript compiler to Go: it hasn't been fully released yet, but ", "context": "", "use_case": "", "switched_from": "", "story": "Writing a C Compiler, in Zig"}, {"id": 753196832, "item_id": 47074802, "url": "https://news.ycombinator.com/item?id=47074802", "by": "jakejohnson", "date": "2026-02-19", "stance": "recommend", "quote": "Running tsc in a loop while generating code still catches type errors", "excerpt": "LLMs work great with Elixir. Running tsc in a loop while generating code still catches type errors introduced by an LLM and it\u2019s faster than generating additional tests. Elixir is also succinct and highly functional. If you can\u2019t find a specific library it\u2019s easier than ever to build out the barebones functionality you need yourself or use NIFs, ports, etc. https://dashbit.co/blog/why-elixir-best-language-for-ai", "context": "", "use_case": "Catch LLM type errors", "switched_from": "", "story": "Bridging Elixir and Python with Oban"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 802161186, "item_id": 50135074, "url": "https://news.ycombinator.com/item?id=50135074", "by": "jeswin", "date": "2026-10-17", "stance": "warn", "quote": "slow and runs Javascript", "excerpt": "I'll take a shot at this even though I have no connection to vercel or scriptc. I have been working on tsonic.org for a year - which is a transpiler which will let you transpile typescript to rust, c# and mojo instead of javascript. First, you can't get very far without self-hosting. You'll need many extensions and hooks into the compiler, and those are probably all in TypeScript. You can't use the mainline tsc v6 co", "context": "", "use_case": "", "switched_from": "", "story": "Tsc-ts: TypeScript written in TypeScript"}]}], "who": [], "tags": [], "use_cases": ["type error reporting", "type checking javascript", "catch llm type errors"], "compared": [{"slug": "typescript-go", "name": "typescript-go", "co": 4, "switched_from": 0, "switched_to": 1}, {"slug": "node-js", "name": "Node.js", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50165953", "title": "Tsrs: A Port of TypeScript to Rust", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50132911", "title": "Tsc-ts: TypeScript written in TypeScript", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48833715", "title": "TypeScript 7", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47873694", "title": "Writing a C Compiler, in Zig", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47072539", "title": "Bridging Elixir and Python with Oban", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47060052", "title": "Fastest Front End Tooling for Humans and AI", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"compare": 1, "neutral": 1}, "2026-01": {}, "2026-02": {"neutral": 1, "recommend": 1}, "2026-03": {}, "2026-04": {"recommend": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {"warn": 1, "neutral": 1}}, "quotes": [{"id": 802780850, "item_id": 50173803, "url": "https://news.ycombinator.com/item?id=50173803", "by": "austin-cheney", "date": "2026-10-20", "stance": "neutral", "quote": "I use the Typescript compiler to report errors to the shell, but that's it.", "excerpt": "I use the Typescript compiler to report errors to the shell, but that's it. Both Bun and Node.js will execute Typescript directly without a compile step. If you are able to write your own front-end bundler then the front-end code also gets the same type stripping from either Bun or Node.js. Since both Bun and Node.js start up my large applications about twice as fast as the Typescript compiler executes I don't see an", "context": "", "use_case": "type error reporting", "switched_from": "", "story": "Tsrs: A Port of TypeScript to Rust"}, {"id": 802161186, "item_id": 50135074, "url": "https://news.ycombinator.com/item?id=50135074", "by": "jeswin", "date": "2026-10-17", "stance": "warn", "quote": "slow and runs Javascript", "excerpt": "I'll take a shot at this even though I have no connection to vercel or scriptc. I have been working on tsonic.org for a year - which is a transpiler which will let you transpile typescript to rust, c# and mojo instead of javascript. First, you can't get very far without self-hosting. You'll need many extensions and hooks into the compiler, and those are probably all in TypeScript. You can't use the mainline tsc v6 co", "context": "", "use_case": "", "switched_from": "", "story": "Tsc-ts: TypeScript written in TypeScript"}, {"id": 781367248, "item_id": 48835453, "url": "https://news.ycombinator.com/item?id=48835453", "by": "MBCook", "date": "2026-07-08", "stance": "recommend", "quote": "the performance was a cost I was more than willing to pay for giving me sanity in JS land.", "excerpt": "I didn\u2019t care. Because to me the performance was a cost I was more than willing to pay for giving me sanity in JS land. Knowing you were passing the right types, right number of arguments, etc. Just the quality of documentation you got from having types at all above the nothing we had before was huge. I love they\u2019ve made it a ton faster. But I never thought about giving it up due to compiler performance.", "context": "", "use_case": "type checking JavaScript", "switched_from": "", "story": "TypeScript 7"}, {"id": 766214208, "item_id": 47888388, "url": "https://news.ycombinator.com/item?id=47888388", "by": "Philpax", "date": "2026-04-24", "stance": "recommend", "quote": "people are already going wild for its performance improvement", "excerpt": "For context, this is the author of https://craftinginterpreters.com/ , and https://gameprogrammingpatterns.com/ , and https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/ . I promise that he knows a thing or two about compilers and performance! For what it's worth, I agree with him. A recent example is the porting of the TypeScript compiler to Go: it hasn't been fully released yet, but ", "context": "", "use_case": "", "switched_from": "", "story": "Writing a C Compiler, in Zig"}, {"id": 753196832, "item_id": 47074802, "url": "https://news.ycombinator.com/item?id=47074802", "by": "jakejohnson", "date": "2026-02-19", "stance": "recommend", "quote": "Running tsc in a loop while generating code still catches type errors", "excerpt": "LLMs work great with Elixir. Running tsc in a loop while generating code still catches type errors introduced by an LLM and it\u2019s faster than generating additional tests. Elixir is also succinct and highly functional. If you can\u2019t find a specific library it\u2019s easier than ever to build out the barebones functionality you need yourself or use NIFs, ports, etc. https://dashbit.co/blog/why-elixir-best-language-for-ai", "context": "", "use_case": "Catch LLM type errors", "switched_from": "", "story": "Bridging Elixir and Python with Oban"}, {"id": 753074083, "item_id": 47067130, "url": "https://news.ycombinator.com/item?id=47067130", "by": "dcre", "date": "2026-02-18", "stance": "neutral", "quote": "I have been using tsc, vite, eslint, and prettier for years.", "excerpt": "I look at it and don't really have an issue with it. I have been using tsc, vite, eslint, and prettier for years. I am in the process of switching my projects to tsgo (which will soon be tsc anyway), oxlint, and oxfmt. It's not a big deal and it's well worth the 10x speed increase. It would be nice if there was one toolchain to rule them all, but that is just not the world we live in.", "context": "", "use_case": "", "switched_from": "", "story": "Fastest Front End Tooling for Humans and AI"}, {"id": 740323266, "item_id": 46270204, "url": "https://news.ycombinator.com/item?id=46270204", "by": "culi", "date": "2025-12-14", "stance": "neutral", "quote": "You can run `tsc` to do typechecking on a project typed with JSDoc", "excerpt": "We're talking about two different things here. All my examples work perfectly fine with TypeScript https://www.typescriptlang.org/play/?#code/PQKhCgAIUgBAXAngBwKaQN4ajSkDOANgK4DmAXJAAYAkG+8ATgJYB2pAvgPp2vEC2AI1SMOVANw48kZgBNKfISMnRIHSADJMBeAEN4xfAH5KAbQDGAe1moFA4YwA0keKgAe8SgxbsAuuLUOHGBwK1YGSHddfmRCdABebSIySgByXUFzLgBmABZU5zlKPLVJIA You are attempting to generate documentation from jsdoc comments using an npm packag", "context": "", "use_case": "", "switched_from": "", "story": "JSDoc is TypeScript"}, {"id": 739853393, "item_id": 46240837, "url": "https://news.ycombinator.com/item?id=46240837", "by": "tauchunfall", "date": "2025-12-11", "stance": "compare", "quote": "Maybe the `tsc` type-checker was already fast (so we only get some speed improvements in `tsgo`)", "excerpt": "The article is measuring full project build performance. That includes type-checking and compilation. Maybe the `tsc` type-checker was already fast (so we only get some speed improvements in `tsgo`), or the `tsc` compiler was not that fast (so we get a lot of speed improvements in `tsgo`)? *Update:* There was a performance regression in incremental type-checking between `tsgo` preview 20251209 and 20251211 [1]. But `", "context": "", "use_case": "", "switched_from": "", "story": "Deno 2.6"}]}