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
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
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
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
Anders Hejlsberg
7a19b66cc0
Don't propagate 'never' types in type inference
2018-03-01 16:01:32 -08:00
Andy
16fc256823
Convert 'installTypesForPackge' refactor to a suggestion ( #22267 )
...
* Convert 'installTypesForPackge' refactor to a suggestion
* Have checker collect a list of suggestion diagnostics instead of redoing work in calculateSuggestionDiagnostics
* Add comment
* Add diagnostic even with `--allowJs`
2018-03-01 14:41:55 -08:00
Andy
a564912d9a
Apply 'no-unnecessary-qualifier' lint rule ( #22009 )
2018-03-01 14:20:18 -08:00
Andy
9acad22678
PropertyAssignment#initializer should be non-optional ( #22209 )
2018-03-01 13:13:59 -08:00
Andy
928ffaa1b5
Fix type of isIterationStatement ( #22065 )
2018-03-01 13:12:18 -08:00
Yuichi Nukiyama
c7f65e8725
support groups property ( #22176 )
...
* support groups property
* fix option unittests
2018-03-01 12:58:25 -08:00
Anders Hejlsberg
bb05122a50
Merge pull request #22197 from Microsoft/fixConditionalTypes
...
Conditional type fixes
2018-03-01 10:27:15 -08:00
Josh Goldberg
24d3035184
Added --preserveWatchOutput flag ( #21303 )
...
Description: "Whether to keep outdated console output in watch mode instead of clearing the screen."
Since the `pretty?` compiler options flag is marked as `@internal`, made this one too.
2018-03-01 09:55:58 -08:00
Anders Hejlsberg
9c965aa691
Merge branch 'master' into fixConditionalTypes
2018-03-01 06:29:02 -08:00
Wesley Wigham
c12fc0d6c3
Format unique symmbol string output with unique symbol and not typeof within checker ( #22247 )
...
* Accept baseline update to symbol test
* Set default node flag instead of accepting new error
2018-02-28 17:55:56 -08:00
Anders Hejlsberg
69580c4561
Filter outer type parameters (similar to anonymous types)
2018-02-28 16:57:25 -08:00
Wesley Wigham
ec249f7f67
Fix typo in inference ( #22243 )
2018-02-28 16:56:54 -08:00
Wesley Wigham
b8e0009c9b
Set syntheticLiteralTypeOrigin on synthetic undefined-type members ( #22216 )
...
* Have getNameOfSymbolAsWritten quote nonidentifier nonnumeric symbols all the time
* Revert checker changes
* Reuse synthetic origin to indicate that derived declaration name may need to be quoted
2018-02-28 16:03:05 -08:00
Wesley Wigham
1a43ad01a7
Lookup JSX namespace within factory function ( #22207 )
...
* Lookup JSX namespace within factory function
* Rename functions
2018-02-28 15:48:33 -08:00
Wesley Wigham
62185673fd
Emit unqiue symbols with typeof if possible before issuing an error ( #21403 )
2018-02-28 15:44:12 -08:00
Wesley Wigham
7a31192ecb
Stop binding type predicate types twice ( #22210 )
2018-02-28 15:43:13 -08:00
Sheetal Nandi
005a50f587
Merge pull request #22136 from Microsoft/moduleResolution
...
Use cache for the non-relative module resolution and enhance the watches for failed lookup locations
2018-02-28 14:39:22 -08:00
Benjamin Lichtman
ca12cdcb5f
Merge pull request #22138 from uniqueiniquity/conflictingDefinitionsError
...
Update category for TS4090 to Error
2018-02-28 14:22:41 -08:00