Commit Graph

32018 Commits

Author SHA1 Message Date
Sheetal Nandi 57925d4e35 Instead of checking if file exists before file read, handle exceptions from file read (#36244)
Fixes #36236
2020-01-16 17:24:03 -08:00
Anders Hejlsberg 8517df6fa2 Fix erroneous optional chain narrowing (#36145)
* Not all optional chains are narrowable references

* Add regression test
2020-01-16 16:49:51 -08:00
Sheetal Nandi b2a7d42032 Handle untitled files from vscode which are of format: untitled:^Untitled-1 (#36240)
* Test for #36200

* Handle dynamic files by vscode
Fixes #36200
2020-01-16 15:38:55 -08:00
Andrew Branch 797c5362a2 Codefix: Don’t return a fixId if there’s definitely nothing else that can be fixed (#35765)
* Start fixing fixId

* Fix tests

* Add comment

* Fix unit tests, remove fixAllDescription when unavailable

* Add codeFixAllAvailable to fourslash harness
2020-01-16 10:07:37 -08:00
Alexander T eeff036519 fix(35954): Change spelling for private field incorrectly fixes to a string property (#36079)
* fix(35954): code fix incorrectly fixes private properties spelling issues

* remove duplicate function calls
2020-01-16 09:01:21 -08:00
Alexander T dbd55b3928 fix(35944): show spell checking quick fix for non-existent private named property access (#36195) 2020-01-15 16:56:40 -08:00
Andrew Casey f99072593d Move individual duration properties into a performanceData object (#36210) 2020-01-15 16:48:00 -08:00
Klaus Meinhardt f220e62ce7 importsNotUsedAsValue affects semantic diagnostics (#36001)
* importsNotUsedAsValue affects semantic diagnostics

* add tests
2020-01-15 15:08:16 -08:00
Andrew Branch 81a942e7b9 Fix completions triggered on existing private identifier property access (#36191) 2020-01-15 13:13:11 -08:00
Andrew Casey a9cbea4259 Use fs.existsSync to check for cancellation (#36190)
Unlike statSync, it doesn't throw if the file doesn't exist, saving both
time and allocations.
2020-01-15 12:53:40 -08:00
Anders Kaseorg 64704a160d sys: Use readdir withFileTypes option to skip lots of stat syscalls (#35286)
This makes walking large directory trees much more efficient on Node
10.10 or later.

See:
https://lwn.net/Articles/606995/
https://www.python.org/dev/peps/pep-0471/
https://github.com/nodejs/node/pull/22020
https://nodejs.org/en/blog/release/v10.10.0/

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-01-15 12:42:38 -08:00
Orta 1dafd09a06 Revert "Add related diagnostic to "used before defined" if type is a function that returns a union with undefined (#33171)" (#35751)
This reverts commit be960fa356.
2020-01-15 12:50:52 -05:00
Klaus Meinhardt 6e3ab1529f remove private named properties from rest and spread types (#35950)
* remove private named properties from rest and spread types

Fixes: #35943

* code review
2020-01-14 14:47:39 -08:00
Alexander T daf786ecd0 throw an error when no default export present (#35815) 2020-01-14 11:38:48 -08:00
Wesley Wigham 91ffa1c752 Update LKG (#36164) 2020-01-13 13:11:29 -08:00
Wesley Wigham 08014bca05 Fix lints 2020-01-13 12:50:20 -08:00
Wesley Wigham 69ab1d5ecd Handle Identifier declarations in getDeclarationSpaces (#36136) 2020-01-13 10:29:37 -08:00
Sheetal Nandi 76ee0214f9 Use watch invoked with node_modules/.staging as watch for refreshing complete node_modules, so that npm install is reflected correctly (#36039)
* Add test that demonstrates npm install watch behaviour some times

* Use watch invoked with `node_modules/.staging` as watch for refreshing complete node_modules, so that npm install is reflected correctly
Fixes #35966
2020-01-10 14:58:01 -08:00
Sheetal Nandi 0c3019e3b3 Handle invalid package.json typings fields when generating specifiers (#36137)
Fixes #35437
2020-01-10 14:51:23 -08:00
Sheetal Nandi 00b21efcb0 Remove the check that if base file name starts with ^ is dynamic file name since those files can exist (#36109)
Fixes #35734
2020-01-10 10:57:44 -08:00
Nathan Shively-Sanders 13cddae3f7 Allow references to uninitialized ambient properties (#36112)
Previously these were incorrectly treated just like normal properties:

```ts
class Parent {
    a: any;
    constructor(arg: any) {
        this.a = arg;
    }
}
class Child extends Parent {
    declare a: number;
    constructor(arg: number) {
        super(arg);
        console.log(this.a);  // Property 'a' is used before being assigned. (2565)
    }
}
```

Fixes #35327
2020-01-10 10:50:05 -08:00
Anders Hejlsberg 357f715382 Check combined intersection properties against target index signatures (#35143)
* Check combined intersection properties against target index signatures

* Add tests

* Accept new baselines

* Less aggressive check for index signatures

* Track intersection membership state for both source and target

* Minor fixes
2020-01-10 10:46:10 -08:00
Nathan Shively-Sanders 517d6eea28 Get jsdoc host from chained assignment (#36111)
* Get jsdoc host from chained assignment

getSourceOfAssignment previously only checked one level of binary
expression instead of following binary expressions all the way to the
right. This meant that binding of `@constructor` would fail in the
following example:

```js
/** @constructor */
a = b = function () { }
```

* cleanup lint

* use existing utility
2020-01-10 10:09:39 -08:00
Anders Hejlsberg 94271aa753 Remove CFA discriminant check restrictions (#36114)
* Remove unnecessary containsMatchingReferenceDiscriminant logic

* Accept new baselines
2020-01-10 09:41:16 -08:00
Jean Pierre 79dcd3dba1 Correctly resolve tags for function overloads (#30253)
* Correctly resolve tags for function overloads. Fixes #30181

* Better fix for #30181. Added more unit tests

* Fix commentsOverloads tests

* Fallback to first signature when doc and tags are empty
2020-01-10 08:54:26 -08:00
M.Yoshimura 5fc917be2e Fixes broken emit with useDefineForClassFields + private field (#35898)
* Fixes broken emit with useDefineForClassFields + private field

* use simpler function for condition
2020-01-09 10:21:49 -08:00
Nathan Shively-Sanders 66b5c47854 Fix crash in codefixes re: braces of class body (#36087)
* Fix crash in codefixes re: braces of class body

Previously, the code that finds braces of a class body assumed they were
always there. This is not always the case, so this code checks for
that.

* fix semicolon lint
2020-01-09 08:46:00 -08:00
TypeScript Bot 21316e551a Update user baselines (#36046) 2020-01-08 16:44:13 -08:00
Anders Hejlsberg 0aab63b7ff Fix narrowing of optional chains (#36089)
* Check for definitely not undefined instead of maybe not undefined

* Fix comment

* Add tests
2020-01-08 15:37:27 -08:00
Titian Cernicova-Dragomir 3e4578c9f4 Fixed unreported strict property initialization violations. (#35891) 2020-01-08 15:15:20 -08:00
Andrew Casey 071819bb37 Report time spent in updateGraph (#35675)
Add a response property indicating how much of the elapsed time (from
`onMessage` to `doOutput`) was spent in `updateGraph` calls.  If there's
no `updateGraph` call, the property is undefined, to save space (with
the downside that it's harder to tell whether a given telemetry event
could have had the property).

Fixes #34774
2020-01-08 14:41:34 -08:00
Eli Barzilay ab1458ac55 Tweak the test and add more duplicate name assignment tests
(Both valid and invalid.)
2020-01-08 14:21:28 -05:00
Klaus Meinhardt 38b53790af Allow destructuring the same property multiple times
Fixes: #35939
2020-01-08 14:21:28 -05:00
Sheetal Nandi 9889c74939 Disable declaration emit for json files (#36066) 2020-01-08 09:54:32 -08:00
Daniel Rosenwasser 78748c0a35 More actionable "must have annotation" message (#35839)
* Give an actionable elaboration.

* Accepted baselines.

* Less words.

* Accepted baselines.
2020-01-07 16:46:14 -08:00
Joey Watts f84b2d20a9 Parse error on private identifier optional chain (#35987)
Previously, this error was reported in the checker, so JS files with
checkJs: false were not erroring on this invalid syntax.
2020-01-07 16:00:15 -08:00
Ben Lichtman d59c6f3e6a Make unchecked property assertion optional 2020-01-07 14:40:47 -08:00
Eli Barzilay 9fbcdb1edb Resurrect SuppressAnyReturnType, but make it used only at the toplevel 2020-01-07 17:12:43 -05:00
Eli Barzilay 724f426468 Remove SuppressAnyReturnType
Following a discussion with Ryan, it seems best to leave any `any`s in
the generated code.
2020-01-07 17:12:43 -05:00
Eli Barzilay 0c467d095f Fix signatureToSignatureDeclarationHelper
Even if `SuppressAnyReturnType` is on, don't supress it if it's a function.

Fixes #35508.
2020-01-07 17:12:43 -05:00
Ben Lichtman 509d243ea5 Add test 2020-01-07 13:07:52 -08:00
Ben Lichtman 49f7f2532c Rename new property 2020-01-07 13:02:21 -08:00
Ben Lichtman 1bc387938a Add property for unchecked completions 2020-01-07 10:59:19 -08:00
Alexander T 8ed92dcecd fix(31909): show suggestions for second type argument of generic (#36024) 2020-01-07 11:03:22 +00:00
Wesley Wigham 88677de380 Do not omit the anyFunctionType from intersections (#35658)
* Do not omit the anyFunctionType from intersections

* Move check into isEmptyResolvedType
2020-01-07 00:39:28 -08:00
Daniel Rosenwasser d044e0680a Renamed references to 'configurePrerelease'. (#35997) 2020-01-06 16:38:46 -08:00
Daniel Rosenwasser f807b57356 Add s to importsNotUsedAsValue (#36037)
* Pluralize end of 'importsNotUsedAsValue'.

* Updated baselines.
2020-01-06 13:23:47 -08:00
Anders Hejlsberg f8bfc6f5d6 Contextually typed binding element initializers (#35855)
* Binding element initializers contextually typed by parent initializers

* Accept new baselines

* Literal type widening should be last step in inference

* Accept new baselines

* Add tests
2020-01-06 12:53:23 -08:00
Anders Hejlsberg df3b5bbdab Fix ThisParameterType<T> type (#36013)
* Simplify ThisParameterType<T> type

* Add tests
2020-01-06 08:55:34 -10:00
Nathan Shively-Sanders 28319a541a CustomElementConstructor: should be construct signature (#36030)
Was previously incorrectly a call signature. Had to override it
manually.
2020-01-06 10:09:03 -08:00