Andy
e48bcd60ba
Treat 'yield;' as 'yield undefined;' ( #22297 )
...
* Treat 'yield;' as 'yield undefined;'
* Use undefinedWideningType
2018-03-08 15:41:04 -08:00
Andy
28e8c4f3b8
Factor out a getYieldedTypeOfYieldExpression helper ( #22416 )
2018-03-08 15:06:29 -08:00
Wesley Wigham
87d88e2ba3
Handle resolving and unknown symbols in getLiteralTypeFromPropertyName ( #22406 )
2018-03-08 13:35:55 -08:00
Sheetal Nandi
17b10dc2a9
Merge pull request #21243 from Microsoft/watchOptions
...
Different watchFile and watchDirectory options through environment variable
2018-03-08 12:44:53 -08:00
Nathan Shively-Sanders
a81f264d70
Call process.stdout._handle.setBlocking(true) ( #22389 )
...
* Call process.stdout._handle.setBlocking(true)
This prevents output from being truncated when the compiler can output
errors to stdout faster than it can receive them. This may slow down
performance for compilations for many errors, but those were already
quite slow.
* Disable tslint no-unnnecessary-type-assertion-2
It is wrong. It *is* necessary.
2018-03-08 12:38:30 -08:00
Sheetal Nandi
8378f692c7
Directly assign values for watchFile and watchDirectory in node System
2018-03-08 12:18:04 -08:00
Andy
a49e83ffa7
annotateWithTypeFromJSDoc: Use changes.insertTypeAnnotation instead of replaceNode ( #22404 )
2018-03-08 11:47:30 -08:00
Nathan Shively-Sanders
e4610e3418
Import types in JS with var x = require('./mod') ( #22161 )
2018-03-08 11:11:51 -08:00
Nathan Shively-Sanders
f8134d0b45
Merge branch 'master' into js-object-literal-assignments-as-declarations
2018-03-08 10:40:55 -08:00
Nathan Shively-Sanders
35730f2879
Improve error span:duplicate symbols cross-js/ts
...
when the JS symbol is a JS initializer
2018-03-08 10:33:38 -08:00
Nathan Shively-Sanders
04ceb3d9bd
Disallow JS/non-JS merge without crashing
...
Note that the error location is misleading because it's reported inside
the merge step for the js initializer.
2018-03-08 09:49:23 -08:00
Wesley Wigham
95862880fb
Filter symbol property names out of index signature assignability checks ( #22398 )
2018-03-08 09:30:25 -08:00
Andy
55bffba5fd
Use getTextOfNode over getTextOfNodeFromSourceText(getSourceFileOfNode(node)) ( #22387 )
2018-03-08 07:52:35 -08:00
Andy
2676786e7f
Add 'isNamedDeclaration' helper to reduce casts ( #22089 )
...
* Add 'isNamedDeclaration' helper to reduce casts
* Add assertion
* Remove assertion
2018-03-08 07:50:25 -08:00
Wesley Wigham
88ba1ef2de
Platform independent wildcard file include ordering ( #22393 )
...
* Resolve config wildcards result order in a platform independent manner
* Accept affected user test baseline
* Per reccomendation, just change matchFiles
* Add test asserting the same order on differing case sensitive platforms
2018-03-07 19:54:19 -08:00
Wesley Wigham
45eaf42006
Use single replacer for string escaping ( #22335 )
2018-03-07 17:36:31 -08:00
Nathan Shively-Sanders
239f214b1c
Address PR comments
...
1. Add documentation
2. Better organisation of concerns in utility functions
3. Better handling of module.exports and exports in the binder's new
code.
2018-03-07 16:26:29 -08:00
Nathan Shively-Sanders
d86440f94f
Merge branch 'master' into js-object-literal-assignments-as-declarations
2018-03-07 14:51:55 -08:00
Andy
1f7a5097fa
When every import is unused, error on the entire import declaration ( #22386 )
...
* When every import is unused, error on the entire import declaration
* Code review
* Store key in map value
2018-03-07 14:42:09 -08:00
Andy
e5804aefde
inferFromUsage: use ChangeTracker and typeToTypeNode ( #22379 )
...
* inferFromUsage: use ChangeTracker and typeToTypeNode
* Use typeToTypeNode with SymbolTracker
* Add comment
2018-03-07 14:40:50 -08:00
Andy
0be9ee2871
Increase size of span for unused declaration ( #22388 )
2018-03-07 14:14:11 -08:00
Andy
c0ac687a8f
Mark SymbolTracker as deprecated publicly ( #22384 )
2018-03-07 11:25:29 -08:00
Andy
a138985448
isValidMethodAccess: Instantiate signature this type if necessary ( #21722 )
2018-03-06 10:18:06 -08:00
Andy
e5f91f5948
Convert annotateWithTypeFromJSDoc refactor to a codefix ( #22336 )
...
* Convert annotateWithTypeFromJSDoc refactor to a codefix
* Compute isJsFile once at top
2018-03-06 07:49:21 -08:00
Josh Goldberg
7826b38426
Apply 'no-unnecessary-initializer' lint rule ( #22014 )
...
* Apply 'no-unnecessary-initializer' lint rule
Forbids `let`/`const` statements to be initialized to `undefined`, since that's the initial value by default anyway.
The auto-fixer also happened to remove two unnecessary `as number` casts in `src/harness/parallel/worker.ts`.
For historical data: to run with `--fix`, I modified the line in `Jakefile.js` that declared the `cmd` for running TSLint.
* Moved worker.ts type assertions to parameters
2018-03-06 07:30:40 -08:00
Andy
5e593acad9
Avoid cast by providing type predicate to isExternalModuleAugmentation ( #22119 )
...
* Avoid cast by providing type predicate to isExternalModuleAugmentation
* Break into isExternalModuleAugmentation and isModuleAugmentationExternal
2018-03-06 07:27:36 -08:00
Wesley Wigham
48b63187c6
Remove TypeFacts.Discriminatable ( #22346 )
2018-03-05 15:51:47 -08:00
Wesley Wigham
2f0a13c7c3
Use global NonNullable type for nonnull types ( #22096 )
...
* Use NonNullable type for nonnull types
* Add noLib test
* Remove conditional type fallback for when lib is not present
2018-03-05 14:52:06 -08:00
Andy
4ddf045d6a
For <div a= >, after =, do not try to parse an expression ( #21373 )
2018-03-05 14:38:55 -08:00
Wesley Wigham
16bf02991d
Allow indexing generics with unique symbols ( #22339 )
...
* Allow indexing generics with unique symbols
* Move condition to assert
2018-03-05 13:58:19 -08:00
Wesley Wigham
53ae507545
Add inference priority for mapped type keys ( #22246 )
...
* Add inference priority for mapped type keys
The new priority causes union inference, similarly to return type
* Rename priority
* Fix comment typo
2018-03-05 13:19:00 -08:00
Andy
2ac2291b84
Convert use-default-import refactor to a codefix ( #22334 )
2018-03-05 12:43:01 -08:00
Anders Hejlsberg
07ed899b46
Merge branch 'master' into checkInferredConstraints
2018-03-05 06:32:11 -08:00
Anders Hejlsberg
70818ae716
Merge pull request #22313 from Microsoft/fixDistributiveConditionalTypes
...
Fix distributive conditional types
2018-03-05 06:23:45 -08:00
Anders Hejlsberg
6fcc99e800
Properly check inferred constraints for 'infer X' type variables
2018-03-04 16:28:22 -08:00
Sheetal Nandi
ae8637c99f
Merge branch 'master' into watchOptions
2018-03-03 10:51:59 -08:00
Anders Hejlsberg
8dfcc364bb
Defer distributive conditional type when check type is generic
2018-03-03 09:26:40 -08:00
Sheetal Nandi
6e756b5907
Merge pull request #22308 from Microsoft/declarationEmitOfIndirectAlias
...
Fix incorrect error reported when using type from indirect module alias and current module is exported with "export default"
2018-03-02 19:10:36 -08:00
Wesley Wigham
1c93744a9c
Much better comment preservation ( #22141 )
...
* Retain comments on (and produce sourcemaps on) the equals token in initializers
* Improved comments/sourcemaps for await, yield, while, and for
* Retain comments on block curly-braces
* Emit comments for if statements
* Improved switch case comment emit
* Improve comment and sourcemap emit for try/catch, throw, and continue statements
* Improve sourcemap emit and comments for with statements
* More accurate sourcemaps+comments emit for new, typeof, void, and delete
* Improve comment emit for element access expressions
* Preserve more comments on imports and exports
* Make function a bit more defensive like other usages of emitTrailingCommentsOfPosition
* Support preserving comments within empty lists
* Handle leading comments of tokens, conditionally indent leading comments
* Stop heuristically sourcemapping tokens
When the transform was trivial it worked, but was unneeded, but when it was complex, it was brittle - best leave source mapping up to the transformers
* Fix unneeded +1
* Tighten up element access comments
* Handle comments on parenthesized expression tokens
* Fix nit
2018-03-02 17:23:59 -08:00
Yuichi Nukiyama
25525bc9d6
Change esnext.promise to es2018.promise ( #22292 )
...
* change esnest.promise to es2018.promise
* modify unit tests
* resolve conflict
* resolve conflict
2018-03-02 17:08:36 -08:00
Sheetal Nandi
9f10790023
Do not try to resolve alias for default symbol
...
Fixes #22257
2018-03-02 16:34:11 -08:00
Anders Hejlsberg
2d5be24669
Merge pull request #22300 from Microsoft/distributeKeyofIntersection
...
Distribute 'keyof' intersection types
2018-03-02 16:08:20 -08:00
Andy
87c3cca3f0
Make convertFunctionToEs6Class a codefix ( #22241 )
...
* Make convertFunctionToEs6Class a codefix
* Change diagnostic message
2018-03-02 12:57:29 -08:00
Andy
ba8879d005
Prefer 'return Debug.fail()' over 'throw Debug.fail()' ( #22092 )
2018-03-02 10:44:06 -08:00
Wenlu Wang
b15157356a
add spelling suggestion support for module import ( #22283 )
2018-03-02 10:24:55 -08:00
Andy
b90cdb2221
Reduce duplicate code for TextChange overlaps ( #22278 )
2018-03-02 10:22:52 -08:00
Anders Hejlsberg
fe075f26a2
Transform 'keyof (A & B)' to 'keyof A | keyof B'
2018-03-02 09:11:33 -08:00
Benjamin Lichtman
dfa1a90b25
Merge pull request #22135 from uniqueiniquity/jsxFragmentHash
...
Allow characters in JsxText inside JsxFragment that usually don't scan
2018-03-01 16:50:09 -08:00
Wesley Wigham
36bebe9487
Parenthesize computed names if not an assignment expression ( #22280 )
2018-03-01 16:49:56 -08:00
Wesley Wigham
10e3b73330
Debug assert on parent rebind, mitigate circularity in symbol access checking ( #22282 )
...
* Assert that symbol parents are never rebound to different parents
* mitigate circularities in symbol accessibility checking
2018-03-01 16:49:42 -08:00