Commit Graph

24590 Commits

Author SHA1 Message Date
Anders Hejlsberg
efdbbd1cf3 Add regression tests 2018-08-06 10:02:33 -07:00
Anders Hejlsberg
dc34c5e719 Use getReturnTypeFromAnnotation instead of ad hoc checks 2018-08-06 06:51:45 -07:00
Anders Hejlsberg
c367b91da7 Accept new baselines 2018-08-05 08:48:17 -07:00
Anders Hejlsberg
ab7defa5ea Clean up return type checking logic 2018-08-05 08:47:55 -07:00
Anders Hejlsberg
faed2d2c33 Accept new baselines 2018-08-04 11:34:45 -07:00
Anders Hejlsberg
ee721225ae Ensure type parameters are erased in contextual signature from @type tag 2018-08-04 11:30:20 -07:00
Anders Hejlsberg
539775779e Erase type parameters when fetching return type from JSDoc @type tag 2018-08-04 09:13:22 -07:00
Anders Hejlsberg
a75fe5194e Accept new baselines 2018-08-03 14:44:48 -07:00
Anders Hejlsberg
e4443bb993 Properly catch and error on circular function return types 2018-08-03 14:03:30 -07:00
Anders Hejlsberg
4bc7f1570b Merge pull request #26063 from Microsoft/mappedTypesArraysTuples
Improved mapped type support for arrays and tuples
2018-07-31 10:54:44 -07:00
Ryan Cavanaugh
03c7a19b07 Merge pull request #26093 from Microsoft/RyanCavanaugh-patch-1
Update CONTRIBUTING.md
2018-07-31 10:24:03 -07:00
Mohamed Hegazy
59e61090df Merge pull request #25944 from Microsoft/portGeneratedLibFiles
Port generated lib files
2018-07-31 10:20:36 -07:00
Ryan Cavanaugh
9d88798ab1 Update CONTRIBUTING.md 2018-07-31 09:29:02 -07:00
TypeScript Bot
6cd313b0e1 Update user baselines (#26088) 2018-07-31 09:22:33 -07:00
Sheetal Nandi
e2a8f996d0 Update the public API after PR #26032 2018-07-30 15:30:05 -07:00
Sheetal Nandi
b8c8e5527c Merge pull request #26032 from Microsoft/projectReferences
Keep the configured projects referenced during original location and project get, alive till the referencing project is alive
2018-07-30 14:47:20 -07:00
Sheetal Nandi
d65cb21fcd Keep the original configured project alive created during findAllReferences 2018-07-30 14:44:21 -07:00
Sheetal Nandi
f3b0a2de06 Move the original location getter to ProjectService.
This is in anticipation of work needed to keep original projects alive
2018-07-30 14:44:21 -07:00
Sheetal Nandi
1345a35e5f Merge pull request #26012 from Microsoft/compileOnSaveOptimization
If project name is specified in compile on save, do not update all projects to just use that project
2018-07-30 14:43:18 -07:00
Sheetal Nandi
7b405c4ad9 Test that verifies we arent updating all projects unnecessarily when called with compileOnSave and project 2018-07-30 14:10:56 -07:00
Nathan Shively-Sanders
4d84bde9b3 Only bind module.exports if no local definition exists (#25869)
* Only bind module.exports if no local definition exists

Note that this uses `lookupSymbolForNameWorker`, which is really a
best-effort check since it only knows about symbols that it has already
encountered.

As a side-effect, even when `module` is bound as part of a
`module.exports` reference, it only declares it once instead of one
declaration per reference.

* Only type module.exports inside module files

It is an error inside script files, but the binder sometimes creates a
ModuleExports symbol because we doesn't know whether we have a commonjs
module until after binding is done.

* Only bind module.exports in a commonjs module

Note that this, too, is a best-effort check since evidence of
commonjs-ness may be found after a *reference* to module.exports. (A
reference to module.exports alone is not enough evidence that a file is
commonjs. It has to have an assignment to it.)
2018-07-30 12:27:59 -07:00
Mohamed Hegazy
9e740deee8 Merge pull request #25965 from ajafff/expose-escapeleadingunderscores
expose escapeLeadingUnderscores
2018-07-30 12:05:33 -07:00
Sheetal Nandi
9196b7db33 Merge pull request #25851 from Microsoft/configFileDiag
Report compiler options errors as well as part of configFileDiag event
2018-07-30 11:07:07 -07:00
Anders Hejlsberg
efb6e0b842 Accept new baselines 2018-07-29 15:26:03 -07:00
Anders Hejlsberg
32a9ec6c30 Add tests 2018-07-29 15:25:54 -07:00
Anders Hejlsberg
df100957b6 Accept new baselines 2018-07-29 15:14:44 -07:00
Anders Hejlsberg
8eb24db0c0 Homomorphic mapped type support for arrays and tuples 2018-07-29 15:14:01 -07:00
Mohamed Hegazy
0923771606 Merge pull request #26029 from tschaub/fix-25916
Remove trailing whitespace from JSDoc comments
2018-07-28 11:40:10 -07:00
Tim Schaub
960800d1fe Remove trailing whitespace from JSDoc comments 2018-07-28 10:36:10 -06:00
Nathan Shively-Sanders
25fb5419c0 Support the JSDoc @enum tag (#26021)
* Support the JSDoc @enum tag

`@enum` is used on a variable declaration with an object literal
initializer. It does a number of things:

1. The object literal has a closed set of properties, unlike other
object literals in Javascript.
2. The variable's name is resolvable as a type, but it just has the
declared type of the enum tag.
3. Each property's type must be assignable to the enum tag's declared type,
which can be any type.

For example,

```js
/** @enum {string} */
const Target = {
  START: "START",
  END: "END",
  MISTAKE: 0, // error 'number' is not assignable to 'string' -- see (3)
}

Target.THIS_IS_AN_ERROR; // See (1)
/** @type {Target} See (2) */
var target = Target.START;
```

* Fix lint, add new test case, update API baselines
2018-07-28 07:53:08 -07:00
Sheetal Nandi
a26aff30e1 Merge pull request #25835 from Microsoft/getCurrentProgramOrUndefined
Reflect getCurrentProgram as Program|undefined in the ResolutionHostCache
2018-07-27 23:06:34 -07:00
Andy
5e1872f0c0 getDocCommentTemplateAtPosition: Return result if in empty comment (#26026) 2018-07-27 17:34:16 -07:00
Andy
644ceab02f Document ObjectLiteralElementLike (#26024) 2018-07-27 17:33:42 -07:00
Andy
57d425169a createJavaScriptSignatureHelpItems: Use array helpers and simplify (#26025) 2018-07-27 17:33:17 -07:00
Mohamed Hegazy
78ad21d33b Update authors for release 3.0.1 2018-07-27 16:55:47 -07:00
Sheetal Nandi
ab1b899cea Use isArray instead of isProjectsArray 2018-07-27 12:50:32 -07:00
Sheetal Nandi
399f497a32 Unify getProjects for compileOnSave and others like (navigation etc) 2018-07-27 12:47:47 -07:00
Andy
d40d54984e Support deleting all unused type parameters in a list, and deleting @template tag (#25748)
* Support deleting all unused type parameters in a list, and deleting @template tag

* Support type parameter in 'infer'
2018-07-27 11:55:31 -07:00
Sheetal Nandi
94033f212d If project name is specified in compile on save, do not update all projects to just use that project 2018-07-27 11:21:14 -07:00
Andy
3bfe91cdd8 navigationBar: Fix bug for shorthand ambient module (#25992) 2018-07-26 17:27:12 -07:00
Andy
af3f737451 Fix bug for isValidTrigger when contextToken is undefined (#25993) 2018-07-26 17:26:58 -07:00
Andy
0e5af11625 Fix bugs for go-to-definition on mapped type method (#25991) 2018-07-26 17:26:41 -07:00
Andy
998c911c49 Break createSignatureHelpItems into functions (#25948) 2018-07-26 17:26:29 -07:00
Andy
0227997fa5 Use import().T for import completions/fixes of pure types in JS files (#25852)
* Use `import().T` for import completions/fixes of pure types in JS files

* Don't call tryUseExistingNamespaceImport if position undefined
2018-07-26 16:16:57 -07:00
Wesley Wigham
d590d5bd0c Remove extraneous const, fixing #25714 (#25982) 2018-07-26 14:43:00 -07:00
Daniel Rosenwasser
6b60babeaf Merge pull request #25978 from Microsoft/capturedGlobalThis
Better error message for captured global 'this' in noImplicitThis
2018-07-26 13:20:05 -07:00
Wesley Wigham
d17efe69d1 Fix #25954 - Always retain export modifier if default modifier is present (#25974)
* Fix #25954 - Always retain export modifier if default modifier is present

* Also fix an issue with scope markers in ambient modules not affecting the modifiers required
2018-07-26 12:39:03 -07:00
Andy
673ae746da Simplify and inline getPropertySymbolsFromType (#25940)
* Simplify and inline getPropertySymbolsFromType

* Combine lambdas
2018-07-26 11:52:22 -07:00
Daniel Rosenwasser
36dac99db7 Accepted baselines. 2018-07-26 11:51:04 -07:00
Daniel Rosenwasser
64d01d8e8f Provide a better error on arrow functions that capture the global 'this'. 2018-07-26 11:51:04 -07:00