-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Closed
Closed
Copy link
Labels
Awaiting More FeedbackThis means we'd like to hear from more people who would be helped by this featureThis means we'd like to hear from more people who would be helped by this featureSuggestionAn idea for TypeScriptAn idea for TypeScript
Description
Search Terms
"Type error read"
"type errors unreadable"
Suggestion
Type checking, and type definitions errors could me made significantly easier to debug by flattening/boiling down the type definitions to something more resembling what developers think of them as.
- This first example shows the kind of errors I run into in actual development. It's totally unreadable.
- This second example shows the same effect
For this second example, it would be a lot more useful if instead it just showed what the type realistically is, and what it was missing. Ie:
Property "badProp" does not exist on type '{
requestId: string;
type: string;
id?: string;
createdAt?: Date;
data?: string;
}'
This would be a really nice thing to add to tsconfig.
Use Cases
Almost 100% of the time one works with advanced types. Anything involving unions or (worst of all) utility types creates a wall of text.
Examples
// ts.config
{
flattenTypesInMessaging: true
}
(I'll make a habit of posting all my most unreadable messages here)
Checklist
My suggestion meets these guidelines:
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
- This feature would agree with the rest of TypeScript's Design Goals.
Metadata
Metadata
Assignees
Labels
Awaiting More FeedbackThis means we'd like to hear from more people who would be helped by this featureThis means we'd like to hear from more people who would be helped by this featureSuggestionAn idea for TypeScriptAn idea for TypeScript


