Commit Graph
26450 Commits
Author SHA1 Message Date
Sheetal NandiandGitHub 9100047f84 Merge pull request #26723 from Microsoft/buildCleanSourcemaps
Add js source maps to list of outputs when doing --build
2018-08-29 10:21:25 -07:00
csigs 983b0b4f95 LEGO: check in for master to temporary branch. 2018-08-29 16:10:32 +00:00
Anders Hejlsberg a2d2f5aee6 Merge branch 'master' into complexRestParameterTypes 2018-08-29 07:51:07 -07:00
Wenlu WangandNathan Shively-Sanders f67d7e01cf add test case and fix regression (#26726) 2018-08-29 06:58:55 -07:00
Anders Hejlsberg 9f4ae5f5ea Fix typo 2018-08-29 06:57:21 -07:00
王文璐 597bb0e764 Merge branch 'master' into strictParameter 2018-08-29 18:28:36 +08:00
Nathan Shively-SandersandGitHub 30f611b055 Add survey event (#26455)
* Start adding survey event

* Add surveyReady event

* Remove old notes

* Move event, simplify type, add test

1. Move the survey event to sendProjectTelemetry so that it happens on
open instead of on editing tsconfig.
2. Remove URL from the survey type; VS code should control this
information.
3. Add test based on large files event test. I'm not sure it's in the
right place, though.

* Fix tests and update API baseline

* Split survey sending from telemetry

Based on tests requested during review.

* Add additional assertion
2018-08-28 19:57:39 -07:00
Ron Buckton 5f6a2cbf69 Merge branch 'master' into typesVersions 2018-08-28 17:37:23 -07:00
Ron Buckton 37c33f4369 Use semver ranges 2018-08-28 17:24:02 -07:00
AndyandGitHub cff04e6050 Ensure JsonSourceFile has all the non-optional properties of SourceFile (#26162)
* Ensure JsonSourceFile has all the non-optional properties of SourceFile

* Set properties in parseSourceFile
2018-08-28 16:43:14 -07:00
Sheetal Nandi 723e64ba3b Add js source maps to list of outputs when doing --build
Fixes #26619
2018-08-28 16:17:10 -07:00
Sheetal Nandi 03bb5d170e Use protocol.UserPreferences in server to store UserPreferences 2018-08-28 15:53:00 -07:00
Sheetal Nandi 52fef42baa Merge branch 'master' into lazyConfiguredProjectsFromExternalProject 2018-08-28 14:49:00 -07:00
Sheetal Nandi fc90b8f98b lazyConfiguredProjectsFromExternalProject as userpreference instead of command line option 2018-08-28 14:41:22 -07:00
AndyandGitHub 9106fdbc47 Support signature help for type parameters of a type (#26702) 2018-08-28 14:21:09 -07:00
Ron Buckton 04a524511e Add semver range parsing support 2018-08-28 14:11:01 -07:00
AndyandGitHub 552bd1c8a2 Support import fix/completions for export = (#25708) 2018-08-28 13:04:11 -07:00
AndyandGitHub b94061c587 getEditsForFileRename: Avoid changing import specifier ending (#26177)
* getEditsForFileRename: Avoid changing import specifier ending

* Support .json and .jsx extensions

* Restore typeRoots tests

* Fix json test

* When --jsx preserve is set, import ".tsx" file with ".jsx" extension

* Support ending preference in UserPreferences
2018-08-28 13:03:24 -07:00
Sheetal Nandi 96e61407c5 Add option --lazyConfiguredProjectsFromExternalProject to enable lazy load of configured projects referenced by external project
Fixes #26696
2018-08-28 12:49:09 -07:00
Ron Buckton 37ec065d93 Add path back-reference tests 2018-08-28 11:44:40 -07:00
AndyandGitHub 3931b72118 noUnusedLocals: Destructuring assignment is a write (#26365)
* noUnusedLocals: Destructuring assignment is a write

* Code review

* Clarify test
2018-08-28 11:43:45 -07:00
Sheetal NandiandGitHub 530a530ac0 Merge pull request #26590 from Microsoft/buildRefactoring
Refactor ts build and report watch status when doing --build --watch
2018-08-28 11:43:35 -07:00
Ryan CavanaughandGitHub 6c2e851689 Merge pull request #26317 from Kingwl/parameter-initializer-lookup-fix
add special check for parameter initializer lookup if targeting es2015+
2018-08-28 11:33:58 -07:00
Sheetal Nandi 868cf3e6de renames per PR feedback 2018-08-28 11:21:35 -07:00
AndyandGitHub b183418124 Fix bug: Don't go to *any* constructor signature for jsx element (#26715) 2018-08-28 11:06:14 -07:00
AndyandGitHub 1b1ca9ebf0 Memoize collecting set of all imported packages (#26263) 2018-08-28 09:41:46 -07:00
Ron Buckton dc5cd9676b Switch to paths-like pattern matching 2018-08-28 09:33:03 -07:00
csigs fb0cd6c0e0 LEGO: check in for master to temporary branch. 2018-08-28 16:10:36 +00:00
王文璐 f1c5fa5b35 Merge branch 'master' into strictParameter 2018-08-28 17:37:58 +08:00
王文璐 8869f39c25 accept more case 2018-08-28 16:41:26 +08:00
王文璐 d758075597 add special check for parameter initializer lookup if targeting es2015+ 2018-08-28 15:02:28 +08:00
Anders HejlsbergandGitHub ac0d5da631 Merge pull request #26679 from Microsoft/improveGetTypeOfExpression
Improve control flow analysis of type assertions
2018-08-27 18:30:16 -07:00
Anders HejlsbergandGitHub bd40583beb Merge pull request #26698 from Microsoft/indexedAccessConstraints
Improve indexed access type relations
2018-08-27 18:14:43 -07:00
AndyandGitHub 7223945666 Use array helper in computeCommonSourceDirectory and remove two unnecessary tests (#26416) 2018-08-27 17:03:30 -07:00
Nathan Shively-SandersandGitHub a2e4a282e7 Get [type] parameter types from @type tag (#26694)
* Get [type] parameter types from @type tag

Previously only the return type was used in cases like this:

```js
/** @type {<T>(param?: T) => T | undefined} */
function g(param) {
  return param;
}
```

Now the type parameters from the type tag are used, and the compiler
gets the type of the parameter by using the position in the signature of
the type tag.

Fixes #25618

* Fix split ifs according to PR comments
2018-08-27 16:52:35 -07:00
AndyandGitHub 4cf5774c5e Add tsserver test for completions and avoid excess properties (#25622) 2018-08-27 16:04:02 -07:00
Anders Hejlsberg eeabd527ca Examine all constraints of indexed access types in relations 2018-08-27 15:50:26 -07:00
csigs dfd6aa878c LEGO: check in for master to temporary branch. 2018-08-27 22:10:39 +00:00
Nathan Shively-SandersandGitHub b50c37de78 No assert for nameless typedefs (#26695)
The assert is over-optimistic and should be removed until we can parse
every possible thing that people might put in a JSDoc type position.

Fixes #26693
2018-08-27 14:12:14 -07:00
Wesley WighamandGitHub 0dbad04c3f Distribute indexed accesses when simplifying them (#26281)
* unknownify accesses

* Move to simplify to break less with fewer changes

* Accept baselines for now

* Always propegate any as an index type

* Fix flow control in the presence of simplifiable types

* Add spy repro from #25181

* Retain errorType when it is used as a marker for the lack of a constraint

* Small refinement

* Add new test

* Move most potentially recursive types from isIdenticalTo into structuredTypeRelatedTo to match the non-identity relations

* Fix nits

* Doesnt need to be undefineable at all
2018-08-27 13:32:01 -07:00
AndyandGitHub 0a59da1a2c In pickLongestCandidateSignature, instantiate using inferred type arguments (#26646) 2018-08-27 10:30:25 -07:00
Nathan Shively-SandersandGitHub 6419240ab2 Declaration emit includes function properties (#26499)
* Declaration emit includes function properties

It does this by printing the type as an object literal type:

```ts
function f() { }
f.p = 1
```

Appears in a d.ts as

```ts
declare var f: {
  (): void;
  p: number;
}
```

It would also be possible to represent it as a namespace merge. I'm not
sure which is better.

```ts
declare function f(): void;
declare namespace f {
  export var p: number;
}
```

In order to avoid a private-name-used error (though I think it was
actually *unused*), I also had to change the nodeBuilder code to match.
This is arguably harder to read. So it's possible that I should instead
keep the nodeBuilder version as `typeof f` and make an exception for
private name use.

* Emit namespace merge instead of object type

This makes the change smaller, overall.

* Fix isJSContainerFunctionDeclaration+namespace merges

Also improve emit style to match other namespace emit.

* Add isPrivate + test case from PR comments
2018-08-27 10:29:53 -07:00
AndyandGitHub e411381266 Fix bug: Don't let empty signature documentation override other documentation (#26638) 2018-08-27 09:38:52 -07:00
王文璐 78444bb724 improve test case 2018-08-27 11:47:10 +08:00
Anders Hejlsberg e852627df0 Add early out for type assertions in getTypeOfExpression 2018-08-25 18:25:02 -07:00
Anders Hejlsberg 9c551a107a Ignore parameters when inferring from return type only signature 2018-08-25 16:09:08 -07:00
Nathan Day 3ec2c45f5f include leading non-ASCII horizontal whitespace in SyntaxKind.WhitespaceTrivia token 2018-08-25 13:15:56 -04:00
Anders Hejlsberg f5f61335ee Revise complex rest parameter handling in relations and inference 2018-08-25 07:29:15 -07:00
Ryan CavanaughandGitHub b5998d9b49 Merge pull request #26625 from ajafff/revert-destructuring-private-computed-name
Revert #26360: Don't error on destructure of private property with computed property syntax
2018-08-24 15:54:34 -07:00
Anders Hejlsberg 9ef65ef3a4 Use getSpreadArgumentType when relating to complex rest parameter types 2018-08-24 13:29:28 -07:00