Products · Product
TypeScript
Raised as a usability problem by 173 people on Hacker News over 15 years (2012–2026), in 147 threads.
No issue was raised by at least 3 people in 3 threads this year.
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
Every issue, all time, most people first
Type errors are unreadable when several object types are involvedUnreviewed
20122026- Error messages are huge, archaic type gibberish that hide the actual problem2025-08-28
- Complex conditional types make type errors harder to understand when API misused2025-05-19
- Type error messages are so confusing it's hard to tell what's going on2025-04-14
Compile step slows the debug cycle on large projectsUnreviewed
20122026- Type checking is so slow that code must be restructured just to run it2024-08-14
- Compiler is too slow, waiting 2.5 seconds for simple files is painful2024-05-05
- Tsc takes a long time to start, forcing complex build setups2023-10-04
Elaborate type definitions are poorly documented and force reading sourceUnreviewed
20122026- Type syntax is ad-hoc and idiosyncratic, forcing constant spec and StackOverflow lookups2025-07-20
- Elaborate type definitions are impenetrable and poorly documented, forcing readers into source code2025-05-19
- Combining spread and type annotation syntax makes code difficult to read2024-05-04
Type system learning curve steepens sharply beyond the basicsUnreviewed
20122026- Steep learning curve; developers struggle with basic utility types, and signatures get verbose2025-11-22
- Type system learning curve gets very steep beyond the basics2022-08-23
- No beginner path; quickly hits complicated abstractions and confusing type errors2021-01-16
Complex type code makes the IDE show red squiggles everywhereUnreviewed
20122026- Overly complex type code makes the IDE show red squiggles everywhere2023-08-17
- Type-level code becomes unreadable, and IDEs fail to show types on hover2023-07-05
- Code is hard to read without IDE popups, deep layered types across many files2022-10-10
Imports must use a .js extension that doesn't exist on diskUnreviewed
20122026- Must choose between ESM and importing nonexistent-looking .js files everywhere2023-03-20
- Must import .ts files using a .js extension that doesn't exist on disk, which is counterintuitive2022-11-02
- Must import a .js file extension even though the source file is .ts2022-09-22
Typing React component props gives weird, confusing errorsUnreviewed
20122026- Compiler errors with React types are pages of unreadable gibberish, hard to act on2024-08-23
- Typing component props with TypeScript in React gives weird errors and is very frustrating2018-09-02
- Common React patterns are hard to express in TypeScript; HoC type signatures are complicated2018-09-02
Type errors point to wrong locations, hiding missing annotationsUnreviewed
20122026- Type definitions built with Omit and Partial are hard to read in tooltips2022-09-21
- Type annotations become a productivity drag and types grow hard to manage2021-02-15
- Type errors appear at wrong locations, making missing annotations hard to find2016-01-29
Getting test runners, Node and bundlers to work with TypeScript is painfulUnreviewed
20122026- Getting test runner, Node, and bundler to work with TypeScript and module formats is always painful2024-02-22
- Can't reference TypeScript files with their file extension in Node2022-05-12
- Spent days getting TypeScript, Babel and Webpack 2 to work together2017-02-23
Editor autocomplete and error checking lag as the language service restartsUnreviewed
20122026- Type checking slowed builds and made the editor language server randomly unresponsive2024-08-14
- Autocomplete stalls and freezes VSCode for a second in projects with large type definitions2021-04-19
- Editor autocomplete and error checking feel sluggish because the language service keeps restarting2020-11-24
Too many options for typing JS libraries, with confusing setupUnreviewed
20122026- Too many options for typing JS libraries, and confusing boilerplate setup2016-05-16
- Getting new JavaScript features needs custom transpilers, polyfills, typings and build setup2015-12-28
- Required definition files are often outdated, making it unusable with many JS libraries2013-08-07
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Hard to tell where a property comes from, requiring tracing through several layers2026-04-08
- Must know the object's type first to get autocomplete, requiring digging through types2026-03-07
- Clicking the sign-in button does nothing, and the layout is unclear2026-01-11
- Ctrl-click opens type declaration files instead of the actual source code2025-12-15
- Steep learning curve; developers struggle with basic utility types, and signatures get verbose2025-11-22
- Build setup is brittle, needs excessive configuration, and confuses people adding packages2025-10-26
- Error messages are huge, archaic type gibberish that hide the actual problem2025-08-28
- Type syntax is ad-hoc and idiosyncratic, forcing constant spec and StackOverflow lookups2025-07-20
- Forgetting await causes hidden crashes that the type system doesn't catch2025-07-17
- Type system feels confusing and like an obstacle, especially with third-party libraries2025-07-11
- Jump to definition is so slow in large repos it becomes unusable2025-05-26
- Clicking to a library function's definition lands in a .d.ts file, not the implementation2025-05-24
- Elaborate type definitions are impenetrable and poorly documented, forcing readers into source code2025-05-19
- Complex conditional types make type errors harder to understand when API misused2025-05-19
- Type error messages are so confusing it's hard to tell what's going on2025-04-14
- Inferred types make errors confusing, showing huge unreadable chains instead of a simple mismatch2025-03-22
- The TypeScript toolchain is horrible to work with because it compiles to JavaScript2025-03-18
- Hard to trace fields back to origin through deep type indirection2025-03-11
- Can't find documentation for a compiler flag; site search returns zero results2025-03-02
- IDE stalls for seconds or crashes on complex types, forcing manual TS server restarts2025-01-31
- No debugger to step through type propagation, so fixing type bugs requires tedious trial and error2024-12-19
- Requires installing Node, npm and TypeScript, unlike Go's single binary2024-10-27
- Type errors in computed types are hard to visually parse and debug2024-10-09
- Symbol search becomes too slow to use in large projects2024-09-03
- Compiler errors with React types are pages of unreadable gibberish, hard to act on2024-08-23
- Took days of struggling to learn how to type a class correctly2024-08-16
- Monolithic, nested types in app code are hard to navigate and understand2024-08-16
- Type checking slowed builds and made the editor language server randomly unresponsive2024-08-14
- Type checking is so slow that code must be restructured just to run it2024-08-14
- Only resets watch-mode console with Enter, making CLI app development in watch mode impossible2024-07-25
- Must restart the TypeScript language server after routine file edits and renames2024-07-11
- Composed Pick/Omit intersection types are hard to read compared to plain interfaces2024-05-30
- Compiler is too slow, waiting 2.5 seconds for simple files is painful2024-05-05
- Combining spread and type annotation syntax makes code difficult to read2024-05-04
- Misleadingly named strict flag and inconsistent configs across projects cause confusion2024-05-04
- Branded number increment compiles while other arithmetic forms error, confusing developers2024-04-25
- Getting test runner, Node, and bundler to work with TypeScript and module formats is always painful2024-02-22
- TypeScript's tooling ecosystem is practically unusable, driving people to choose Go instead2024-02-22
- Tooling around TypeScript is practically unusable, especially in large old codebases2024-02-22
- Developers wrestle with the type system more than with native development tools2024-02-04
- Official docs dumb down complex topics, so advanced concepts are hard to understand2024-01-07
- Overly DRY nested types require many clicks to understand what a type is2023-11-10
- Tsc takes a long time to start, forcing complex build setups2023-10-04
- Tsconfig and surrounding TypeScript tooling are a confusing disaster to work with2023-10-04
- Object.keys returns string[] so indexing the object with each key throws a type error2023-10-04
- TypeScript error messages are sometimes very hard to make sense of2023-09-07
- Huge type errors take significant effort to debug and derail focus2023-09-07
- TypeScript error messages are very hard to read and understand2023-09-06
- Must write verbose duplicate mapping, validation and decorator code for each model2023-08-30
- Overly complex type code makes the IDE show red squiggles everywhere2023-08-17