Commit Graph
35940 Commits
Author SHA1 Message Date
ToxyxerandDaniel Rosenwasser f8cacf97e1 Issue/34870 (#35586)
* Add new error message when missing brace

* Add test for missing close brace

* Update other tests which were affected
2019-12-09 16:31:23 -08:00
Andrew BranchandGitHub 64a886700f Fix spelling codefix for optional chain property access (#35583) 2019-12-09 11:31:47 -08:00
Andrew BranchandGitHub 9a9baebdd6 Sort extract constant above extract function (#35580) 2019-12-09 10:33:28 -08:00
Wesley WighamandGitHub a78342a160 Move most harness globals into namespaces (#35530)
* Move most harness globals into namespaces

* Remove forward declaration from `createMapShim` and move all `Map` declarations into one file

* A small pile of more changes to get the harness transforming
2019-12-06 15:20:49 -08:00
TypeScript BotandNathan Shively-Sanders 2b567b2699 Update user baselines (#35535) 2019-12-06 08:27:22 -08:00
TypeScript BotandWesley Wigham 02e79a1832 Update user baselines (#35532) 2019-12-05 18:06:13 -08:00
TypeScript BotandWesley Wigham 1a1c8cb602 Update user baselines (#35500) 2019-12-05 18:05:55 -08:00
TypeScript BotandNathan Shively-Sanders 52d1b2fff8 Update user baselines (#35519) 2019-12-05 15:57:12 -08:00
Andrew BranchandGitHub f050750cc6 Don’t auto-import undefined (#35504) 2019-12-05 14:47:51 -08:00
Wesley WighamandGitHub 27616dd523 Move codefix types into services/types.ts (#35506)
* Move codefix types into services/types.ts

* Also split apart refactorProvider

* Move all meanings of DocumentHighlights into one file

* Use setter for object allocator

* Remove unneeded namespace reference

* Remove some shorthand references to nonlocal namespace variables

* Convert WatchType string enum to a structure that can be merged across modules

* Rename harness to harnessIO

* Move accidental globals into namespace

* Remove unused globals

* Suppress lints - these qualifiers are needed for the migration to go smoothly

* Hide global declaration
2019-12-05 10:51:31 -08:00
Pierre-Antoine MillsandNathan Shively-Sanders 9a766c3197 test(ts-toolbelt): recursive iteration types (#33810)
* test: recursive iteration types for ts-toolbelt

* fix: implementation details

* fix: comment

* Update index.ts
2019-12-05 09:47:25 -08:00
Anders HejlsbergandGitHub 09271f107d Make no inferences from binding patterns with no defaults (#35454)
* Use nonInferrableAnyType in types inferred from binding patterns

* Add regression tests

* Accept new baselines
2019-12-05 07:09:45 -08:00
Andrew BranchandGitHub b39b4e05be Use namespace import for esnext when esModuleInterop is off (#35475) 2019-12-04 12:07:25 -08:00
Nathan Shively-SandersandGitHub a816162923 Remove unneeded Array and Promise JS rewrites (#35482)
Type-argument defaulting is handled elsewhere in the compiler.
This is a small drive-by improvement, so I didn't change the handling of
'array' or 'promise'; they still manually create `any[]` and
`Promise<any>`, respectively.
2019-12-04 09:06:42 -08:00
TypeScript BotandNathan Shively-Sanders 7e572b6585 Update user baselines (#35490) 2019-12-04 08:31:39 -08:00
Wesley WighamandGitHub e8748f8162 Add nested global member creation to shim (#35473) 2019-12-03 11:31:30 -08:00
OrtaandGitHub a08d6ba4cf Update config.yml (#35388) 2019-12-03 10:59:11 -05:00
TypeScript BotandWesley Wigham 2ab1b71fff Update user baselines (#35450) 2019-12-02 13:46:59 -08:00
Wesley WighamandGitHub 7bfffa745f Remove redundant checker functions and use patterns more friendly to modules (#35399)
* Remove redundant checker functions, use patterns more friendly to modules

* Also use a helper for localizedDiagnosticMessages

* Move types into same file as consts

* Accept slightly changed api baseline

* Whitespace!
2019-12-02 13:44:25 -08:00
Wesley WighamandGitHub 85ec9bf175 Remove duplicate definition of Push (#35397)
It's also defined in `corePublic.ts` - there's no errors because they're (almost) identical and merge (creating a redundant overload for `push`). Ironically, while this definition was internal, the other is public (and more complete).
2019-12-02 11:47:42 -08:00
TypeScript BotandWesley Wigham facafc7cb0 Update user baselines (#35436) 2019-12-02 11:41:33 -08:00
Andrew BranchandGitHub 97aba45d6f Emit unused identifier suggestion diagnostics in declaration files and ambient nodes (#35119) 2019-12-02 09:52:40 -08:00
TypeScript BotandWesley Wigham 7c14aff093 Update user baselines (#35401) 2019-11-27 16:19:26 -08:00
Eli Barzilay d6740cf410 Fix getTypeFromJSDocValueReference
When using `{import('./b').FOO}` which is defined as a string literal,
`valueType` doesn't have a `symbol`.  Leave it for the fallback value
for now.

This was exposed in 8223c0752.

Fixes #34869.
2019-11-27 17:53:11 -06:00
Eli Barzilay d6bd3ac552 Don't filter away private completions if in the same context
Fixes #34405, which was introduced in PR #16953.
2019-11-27 17:41:58 -06:00
Wesley Wigham c84afa1b9e Fix build from incomplete merge 2019-11-27 14:08:16 -08:00
Sheetal NandiandGitHub d02531f650 Fix compileOnSaveEmit when using source of project reference redirect with --out (#35335)
* Fix compileOnSaveEmit when using source of project reference redirect with --out
Fixes #35226

* Fix typo
2019-11-27 13:47:19 -08:00
Wesley WighamandGitHub c447ebc59c Refactor: No more than 1 namespace declaration per file (#35373)
* Refactor: No more than 1 namespace declaration per file

* Simplify refs where possible
2019-11-27 13:44:31 -08:00
Anders HejlsbergandGitHub 1320c36165 Fix control flow analysis for break/continue with label (#35377)
* Use existing 'continue' target labels for labeled statements

* Use linked list for active labels

* Add regression test

* Accept new baselines
2019-11-27 12:28:06 -08:00
Sheetal NandiandGitHub 25ec62f892 Handle when output file would be in subFolder specified by outDir/declarationDir (#35366)
Fixes #35328
2019-11-27 09:36:52 -08:00
Anders HejlsbergandGitHub ea4e6b31ba Improve control flow type caching (#35332)
* Cache getTypeOfExpression results when CFA was invoked

* Add tests

* Accept new baselines
2019-11-25 15:10:09 -08:00
Anders HejlsbergandGitHub 0c2c58c42f Create returnOnlySignature only when inferences will possibly be made (#35173)
* Create returnOnlySignature only when inferences will possibly be made

* Add regression test

* Accept new baselines
2019-11-25 15:05:53 -08:00
Alexander TandDaniel Rosenwasser 0c17476d09 assign error to method definition node if a return type is empty (#35309) 2019-11-24 20:18:04 -08:00
Wesley WighamandGitHub b9689228b5 When calculating spreads, merge empty object into nonempty object to … (#34853)
* When calculating spreads, merge empty object into nonempty object to produce partial object to reduce complexity

* Actually accept remainder of baselines

* Limit simplification to single prop or partial types
2019-11-22 17:19:17 -08:00
Anders HejlsbergandGitHub 58a05f3e87 Normalize type references before relating them (#35266)
* Normalize type references before relating them in isRelatedTo

* Add comments

* Accept new baselines

* Add regression tests

* Accept new baselines

* Use aliases when available in error reporting

* Accept new baselines
2019-11-22 15:40:18 -08:00
Nathan Shively-SandersandGitHub 369900bb07 Emit defineProperty calls before param prop assignments (#34987)
* Emit defineProperty calls before param prop assignments

Note that I restricted this to --useDefineForClassFields is true.
Nothing changes when it's off. I think this is the correct fix for a
patch release.

However, in principal there's nothing wrong with moving parameter
property initialisation after property declaration initialisation. It
would be Extremely Bad and Wrong to rely on this working:

```ts
class C {
  p = this.q // what is q?
  constructor(public q: number) { }
}
```

But today it does, and probably somebody relies on it without knowing.

* Put parameter property initialiser into defineProperty's value

* Combine ES5/ESNext into one test
2019-11-22 15:37:24 -08:00
Nathan Shively-SandersandDaniel Rosenwasser 2075f74fef useDefineForClassFields skips emit of ambient properties (#35058)
* useDefineForClassFields skips emit of ambient properties

Previously:

```ts
class C {
  declare p
}
```

would incorrectly emit

```js
class C {
    constructor() {
        Object.defineProperty(this, "p", {
            enumerable: true,
            configurable: true,
            writable: true,
            value: void 0
        });
    }
}
```

when useDefineForClassFields was turned on (for targets <ESNext).

* Fix bug for ESNext as well

This moves the check earlier in the pipeline.

* update baselines
2019-11-22 14:52:29 -08:00
Daniel RosenwasserandGitHub 3da85df511 Clean up error messages for using TypeScript syntax in JavaScr… (#35254)
* Fix up quotation marks in error messages in JavaScript files.

* Accepted baselines.

* Typescript -> TypeScript

* Accepted baselines.

* Migrate syntactic diagnostics tests to baselining tests.

* Accepted baselines.

* Update diagnosticMessages.json

* Removed markers.

* Add ability to baseline both semantic and syntactic diagnostics.

* Fix up broken diagnostics when using a server LS.

* Accepted baselines.

* Lints.

* Fake up sourcefile objects in the tsserver session client instead.

* Fewer allocations.
2019-11-22 14:51:22 -08:00
Wesley WighamandGitHub 3e329469c1 Actually use the moer complete update function in visitEachChild (#35301) 2019-11-22 14:36:22 -08:00
Jack BatesandWesley Wigham 1388f873a3 Add fp-ts to .gitignore (#35295) 2019-11-22 13:15:17 -08:00
Eli Barzilay f017fa04c4 Scan types of yield expressions in classes too
Also, drop the other cases where they were ignored, since they're
forbidden in enums, and the others are fine wrt the comment that was
there.

Fixes #34892
2019-11-22 08:51:00 -05:00
Eli Barzilay 20b246c83a Fix getIntrinsicAttributesTypeFromJsxOpeningLikeElement
Use `getIndexTypeOfType`+`getDeclaredTypeOfSymbol` instead of `getIndexInfoOfSymbol`.

Fixes #34730.
2019-11-22 08:43:24 -05:00
Eli Barzilay cfefe841b7 Allow --inspect=port in gulp runtests
Makes it possible to run two debuggers side-by-side.
2019-11-22 08:42:38 -05:00
Wesley Wigham dc1c45aa9b Fix azure-sdk dockerfile for latest rush 2019-11-21 17:02:57 -08:00
Nathan Shively-SandersandGitHub 02348895c9 Add fp-ts to user tests (#35249) 2019-11-21 16:07:55 -08:00
Wesley WighamandGitHub 663a42be94 Allow references to globalThis to be made in declaration emit (#35279) 2019-11-21 15:21:35 -08:00
Wesley WighamandGitHub cfa367d7f9 Have definite assignment assertions on property signatures mark them as typescript (#35270) 2019-11-21 13:13:46 -08:00
TypeScript BotandWesley Wigham 9b78599c63 Update user baselines (#35275) 2019-11-21 13:10:21 -08:00
Anders HejlsbergandGitHub 94d4023043 Add inference priority level for conditional types in contravariant positions (#35199)
* Add inference priority level for conditional types in contravariant positions

* Accept new API baselines

* Add regression tests

* Accept new baselines
2019-11-21 13:05:44 -08:00
TypeScript BotandWesley Wigham 84c84d8dbc Update user baselines (#35272) 2019-11-21 12:36:55 -08:00