{"slug": "typescript", "name": "TypeScript", "category": "other", "category_name": "Other software", "description": "", "recommenders": 3, "commenters": 4, "warners": 0, "score": 2.918, "rising": 0.35, "first": "2025-12-15", "latest": "2026-10-08", "why": "Now, is it nutty that we're using TypeScript for JSON validation? A little. But it's extremely powerful.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 1, "compare": 0, "warn": 0}, "spark": [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "Now, is it nutty that we're using TypeScript for JSON validation? A little. But it's extremely powerful.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://www.typescriptlang.org", "pricing": "", "aliases": ["TypeScript"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 800063377, "item_id": 50003961, "url": "https://news.ycombinator.com/item?id=50003961", "by": "Benjamin_Dobell", "date": "2026-10-08", "stance": "recommend", "quote": "Now, is it nutty that we're using TypeScript for JSON validation? A little. But it's extremely powerful.", "excerpt": "It's extremely useful if your distribution platform is the web. However, I find it much more valuable as a type checker than a compiler. I use TypeScript extensively (in several projects) for defining schemas types. For example, in the Breaka Club (https://breaka.club/) editor, which is not presently exposed to kids yet, we define behaviors for characters, props, mosaics (terrain tiles) and items in JSON. But the JSO", "context": "builds the Breaka Club editor", "use_case": "JSON schema validation", "switched_from": "", "story": "Port of the TypeScript compiler, checker and lsp to Rust, by LLM"}, {"id": 749513952, "item_id": 46844622, "url": "https://news.ycombinator.com/item?id=46844622", "by": "socalgal2", "date": "2026-02-01", "stance": "recommend", "quote": "having been writing lots of typescript in the last 3 years there are so many things I love about it.", "excerpt": "I don't know that many languages but, having been writing lots of typescript in the last 3 years there are so many things I love about it. It infers types. If I do const data = [ { name: 'bob', age: 35, state: 'CA' }, { name: 'jill', age: 37, state: 'MA' }, { name: 'sam', age: 23, state: 'NY' }, ]; Typescript knows data is an array of { name: string, age: number, state: string }. I don't have to tell it. Further, if ", "context": "", "use_case": "typed JavaScript development", "switched_from": "", "story": "The history of C# and TypeScript with Anders Hejlsberg | GitHub"}, {"id": 740351649, "item_id": 46271978, "url": "https://news.ycombinator.com/item?id=46271978", "by": "w3news", "date": "2025-12-15", "stance": "recommend", "quote": "So for me typescript is not a language anymore, I use only the tool to validate the types.", "excerpt": "Thanks, I use JSDoc for several years, and also validate it with Typescript. So I just write plain Javascript with JSDoc, with no build step. Typescript only validates the types, and not transforming the code. Did you also know that you can import Typescript types/interfaces in JSDoc? So for me typescript is not a language anymore, I use only the tool to validate the types. Best thing for me was not removing the code", "context": "", "use_case": "validating types in JSDoc", "switched_from": "", "story": "JSDoc is TypeScript"}]}], "caveats": [], "who": [{"by": "Benjamin_Dobell", "context": "builds the Breaka Club editor", "url": "https://news.ycombinator.com/item?id=50003961", "date": "2026-10-08"}], "tags": [], "use_cases": ["json schema validation", "type checking", "typed javascript development", "validating types in jsdoc"], "compared": [{"slug": "jsdoc", "name": "JSDoc", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "flow", "name": "flow", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50000676", "title": "Port of the TypeScript compiler, checker and lsp to Rust, by LLM", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48473662", "title": "Port React Compiler to Rust", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46782872", "title": "The history of C# and TypeScript with Anders Hejlsberg | GitHub", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46266102", "title": "JSDoc is TypeScript", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1}, "2026-01": {}, "2026-02": {"recommend": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"neutral": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 800063377, "item_id": 50003961, "url": "https://news.ycombinator.com/item?id=50003961", "by": "Benjamin_Dobell", "date": "2026-10-08", "stance": "recommend", "quote": "Now, is it nutty that we're using TypeScript for JSON validation? A little. But it's extremely powerful.", "excerpt": "It's extremely useful if your distribution platform is the web. However, I find it much more valuable as a type checker than a compiler. I use TypeScript extensively (in several projects) for defining schemas types. For example, in the Breaka Club (https://breaka.club/) editor, which is not presently exposed to kids yet, we define behaviors for characters, props, mosaics (terrain tiles) and items in JSON. But the JSO", "context": "builds the Breaka Club editor", "use_case": "JSON schema validation", "switched_from": "", "story": "Port of the TypeScript compiler, checker and lsp to Rust, by LLM"}, {"id": 775587057, "item_id": 48474191, "url": "https://news.ycombinator.com/item?id=48474191", "by": "__jonas", "date": "2026-06-10", "stance": "neutral", "quote": "Typescript won the ecosystem in terms of broad adoption in the end.", "excerpt": "Are you sure? The React compiler is a fairly new addition to React, Flow is Facebook's old alternative to Typescript, but Typescript won the ecosystem in terms of broad adoption in the end. I think Flow is barely used today, I would be really surprised if they choose it for a new tool, even for a Facebook project. You may be thinking about React itself, not the new compiler? I'm sure there must be some flow in there ", "context": "", "use_case": "type checking", "switched_from": "", "story": "Port React Compiler to Rust"}, {"id": 749513952, "item_id": 46844622, "url": "https://news.ycombinator.com/item?id=46844622", "by": "socalgal2", "date": "2026-02-01", "stance": "recommend", "quote": "having been writing lots of typescript in the last 3 years there are so many things I love about it.", "excerpt": "I don't know that many languages but, having been writing lots of typescript in the last 3 years there are so many things I love about it. It infers types. If I do const data = [ { name: 'bob', age: 35, state: 'CA' }, { name: 'jill', age: 37, state: 'MA' }, { name: 'sam', age: 23, state: 'NY' }, ]; Typescript knows data is an array of { name: string, age: number, state: string }. I don't have to tell it. Further, if ", "context": "", "use_case": "typed JavaScript development", "switched_from": "", "story": "The history of C# and TypeScript with Anders Hejlsberg | GitHub"}, {"id": 740351649, "item_id": 46271978, "url": "https://news.ycombinator.com/item?id=46271978", "by": "w3news", "date": "2025-12-15", "stance": "recommend", "quote": "So for me typescript is not a language anymore, I use only the tool to validate the types.", "excerpt": "Thanks, I use JSDoc for several years, and also validate it with Typescript. So I just write plain Javascript with JSDoc, with no build step. Typescript only validates the types, and not transforming the code. Did you also know that you can import Typescript types/interfaces in JSDoc? So for me typescript is not a language anymore, I use only the tool to validate the types. Best thing for me was not removing the code", "context": "", "use_case": "validating types in JSDoc", "switched_from": "", "story": "JSDoc is TypeScript"}]}