Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Merge master into release 2.1 - #12160

Merged
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2
Nov 10, 2016
Merged

Merge master into release 2.1#12160
Mohamed Hegazy (mhegazy) merged 295 commits into
release-2.1from
mergeMasterIntoRelease-2.1-2

Conversation

@mhegazy

Copy link
Copy Markdown
Contributor

No description provided.

Andy Hansonand others added 30 commits October 12, 2016 07:56
switch was missing the rule for converting literal types to the literal
base type if needed.
Since all callers need this check -- it's how equality is supposed to
work everywhere.
There are more literal types in error messages because error reporting
no longer has the advantage of calls to getBaseLiteralType
…moduleNameResolver responsible for omitting files based on compiler options
… avoid using resolution.resolvedFileName if the diagnostic is defined.
…e` and `resolvedJsFileName` optional properties
(but still automatically infer one of them to supply if the host supplied neither)
 Report all the js file errors and skip only the nodes that are not allowed in JS file
Previously it crashed in the binder.
…s-for-__rest
Import helpers reports errors for __rest
* add es2017.string.d.ts for String.prototype.{padStart,padEnd}
* append es2017.string.d.ts into es2017.d.ts
* add es2017.string into commandLineParser
* append es2017.string into error message for unit tests of commandLineParser
* append es2017.string into Gulpfile
* append es2017.string into Jakefile
…mentOfIdenticallyNamedTypes
Adds error message for incompatible assignment of identically named type
…12118)
* Exclude js files in non-configured projects CoS emitting
* remove unnecessary method
* Update LKG
* Update version
* Update LKG
* Skip overloads with too-short function parameters
If the parameter of an overload is a function and the argument is also a
function, skip the overload if the parameter has fewer arguments than
the argument does. That overload cannot possibly apply, and should not
participate in, for example, contextual typing.
Example:
```ts
interface I {
(a: number): void;
(b: string, c): void;
}
declare function f(i: I): void;
f((x, y) => {});
```
This code now skips the first overload instead of considering.
This was a longstanding bug but was only uncovered now that more
functions expressions are context sensitive.
* Test skip overloads w/too-short function params
1. Update changed baseline.
2. Add a new test with baseline.
* Minor style improvements
* Ignore optionality when skipping overloads
* Do not use contextual signatures with too few parameters
* isAritySmaller runs later: getNonGenericSignature
* rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call
* linter
* Update LKG
* Fix emit inferred type which is a generic type-alias both fully and partially fill type parameters
* Add tests and baselines
* Skip trying to use alias if there is target type
* Update baselines
* Add diagnostics to remind adding tsconfig file for certain external project (#11932)
* Add diagnostics for certain external project
* Show tsconfig suggestion
* fix lint error
* Address pr
* fix comment
* Update error message
* Flag for not overwrite js files by default without generating errors (#11980)
* WIP
* Properly naming things
* refactor
* apply the option to all files and check out options
* Fix typo
* Update LKG
* lockLinter
* use local registry to check if typings package exist (#12014) (#12032)
use local registry to check if typings package exist
* Add test for #11980 (#12027)
* add test for the fix for overwrite emitting error
* cr feedback
* enable sending telemetry events to tsserver client (#12034) (#12051)
enable sending telemetry events
* Update LKG
* Reuse subtree transform flags for incrementally parsed nodes (#12088)
* Update LKG
* Update version
* Update LKG
* Do not emit "use strict" when targeting es6 or higher or module kind is es2015 and the file is external module
* Add tests and baselines
* [Release 2.1] fix11754 global augmentation (#12133)
* Exclude global augmentation from module resolution logic
* Address PR: check using string literal instead of NodeFlags.globalAugmentation
* Remove comment
@mhegazy
Mohamed Hegazy (mhegazy) merged commit 245a998 into release-2.1Nov 10, 2016
@mhegazy
Mohamed Hegazy (mhegazy) deleted the mergeMasterIntoRelease-2.1-2 branch November 10, 2016 23:43
@microsoftMicrosoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@mhegazy@jkillian@msftclas@sandersn@rbuckton@ahejlsberg@vladima@jramsay@arusakov@sheetalkamat@mylesmegyesi@imcotton