-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configuration Inheritance #9941
Conversation
a652517
to
8f036a7
Compare
8f036a7
to
167d318
Compare
Since @alexeagle was concerned about editor support, I've manually tested this change within vscode - as expected, there are no changes required to vscode to make it work, you just drop in the new tsserver. 😉 Once this is merged and we do an LKG (so our |
Can @basarat test this on atom-typescript? |
also, cc: @paulvanbrenk to review this and check that VS should also be fine with this change. |
@@ -171,6 +171,20 @@ namespace ts { | |||
return result; | |||
} | |||
|
|||
export function mapObject<T, U>(object: Map<T>, f: (key: string, x: T) => [string, U]): Map<U> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jsdoc would be nice here, specifically calling out what happens when keys are mapped to the same key (looks like last one wins and earlier ones are discarded)
# Conflicts: # src/compiler/core.ts
@mhegazy Is there a reason multiple inheritance was undesirable? IMO, It was useful for mixing in a standard set of debug options into another config hierarchy to avoid duplication. |
sorry should have explained that before making the change. We have discussed it int he last design meeting. ppl felt that multiple inheritance complicates things and would not be super useful. if there are requests later on, we could add it back. Here are the notes: #10566 |
Fixes #9876
Implements with the semantics proposed in that issue.