Commit Graph

10118 Commits

Author SHA1 Message Date
Sheetal Nandi
9bea0dbdc2 Actually use cached semantic diagnostics 2017-10-18 15:28:20 -07:00
Sheetal Nandi
7e780c0a1a Do not cache the semantic diagnostics when compiler options has --out since we would anyways get all fresh diagnostics 2017-10-18 13:49:54 -07:00
Sheetal Nandi
835d7cb910 Simplify emit changed files further
Also use source file version as the signature of declaration file instead of computing it from text
2017-10-18 13:34:13 -07:00
Sheetal Nandi
8fbfb5ffc0 Modify api to emit affected files using callback instead of generating in memory output
Also marking few apis introduced during watch improvements changes that are suppose to be internal for now
2017-10-18 13:34:13 -07:00
Sheetal Nandi
f9c901ada7 Use get files affected by internally and hence use file paths as input 2017-10-18 13:34:13 -07:00
Bill Ticehurst
45ba0ac3b9 Set the scriptKind from the host configuration if present 2017-10-18 10:41:57 -07:00
Wesley Wigham
f9df4e69e6 Respect newLine compiler option in language service output (#19279) 2017-10-17 18:45:21 -07:00
Sheetal Nandi
e99e9333fa Merge pull request #19263 from Microsoft/directoryWatcherInsteadOfFileWatch
This fixes the issue with tsc --watch when module emit kind is none and directory watcher gets invoked instead of file
2017-10-17 15:08:08 -07:00
Andy
d05443bb1d Add quickfix and refactoring to install @types packages (#19130)
* Add quickfix and refactoring to install @types packages

* Move `validatePackageName` to `jsTyping.ts`

* Remove combinePaths overloads

* Respond to code review

* Update api baselines

* Use native PromiseConstructor

* Return false instead of undefined

* Remove getProjectRootPath

* Update api
2017-10-17 15:04:09 -07:00
Sheetal Nandi
bd0c2103cf Merge branch 'master' into directoryWatcherInsteadOfFileWatch 2017-10-17 14:34:40 -07:00
Sheetal Nandi
a5861af00e Handle when directory watcher is invoked on file change
Fixes #19206
2017-10-17 14:13:12 -07:00
Sheetal Nandi
314172a988 Merge pull request #19239 from Microsoft/reduceWatchedDirectories
Do not watch root folders for failed lookup locations and effective type roots
2017-10-17 13:05:46 -07:00
Andy
28509e1732 noUnusedLocals: Warn for recursive call to private method (#18920) 2017-10-17 11:57:47 -07:00
Nathan Shively-Sanders
487504da46 Merge pull request #19250 from Microsoft/mark-fresh-spread-types-with-ContainsObjectLiteral
Mark fresh spread types with ContainsObjectLiteral
2017-10-17 11:01:34 -07:00
Andy
2b566b9a53 Add exported members of all project files in the global completion list (#19069)
* checker.ts: Remove null check on symbols

* tsserverProjectSystem.ts: add two tests

* client.ts, completions.ts, types.ts: Add codeActions member to CompletionEntryDetails

* protocol.ts, session.ts: Add codeActions member to CompletionEntryDetails protocol

* protocol.ts, session.ts, types.ts: add hasAction to CompletionEntry

* session.ts, services.ts, types.ts: Add formattingOptions parameter to getCompletionEntryDetails

* completions.ts: define SymbolOriginInfo type

* completions.ts, services.ts: Add allSourceFiles parameter to getCompletionsAtPosition

* completions.ts, services.ts: Plumb allSourceFiles into new function getSymbolsFromOtherSourceFileExports inside getCompletionData

* completions.ts: add symbolToOriginInfoMap parameter to getCompletionEntriesFromSymbols and to return value of getCompletionData

* utilities.ts: Add getOtherModuleSymbols, getUniqueSymbolIdAsString, getUniqueSymbolId

* completions.ts: Set CompletionEntry.hasAction when symbol is found in symbolToOriginInfoMap (meaning there's an import action)

* completions.ts: Populate list with possible exports (implement getSymbolsFromOtherSourceFileExports)

* completions.ts, services.ts: Plumb host and rulesProvider into getCompletionEntryDetails

* completions.ts: Add TODO comment

* importFixes.ts: Add types ImportDeclarationMap and ImportCodeFixContext

* Move getImportDeclarations into getCodeActionForImport, immediately after the implementation

* importFixes.ts: Move createChangeTracker into getCodeActionForImport, immediately after getImportDeclarations

* importFixes.ts: Add convertToImportCodeFixContext function and reference it from the getCodeActions lambda

* importFixes.ts: Add context: ImportCodeFixContext parameter to getCodeActionForImport, update call sites, destructure it, use compilerOptions in getModuleSpecifierForNewImport

* importFixes.ts: Remove moduleSymbol parameter from getImportDeclarations and use the ambient one

* importFixes.ts: Use cachedImportDeclarations from context in getCodeActionForImport

* importFixes.ts: Move createCodeAction out, immediately above convertToImportCodeFixContext

* Move the declaration for lastImportDeclaration out of the getCodeActions lambda into getCodeActionForImport

* importFixes.ts: Use symbolToken in getCodeActionForImport

* importFixes.ts: Remove useCaseSensitiveFileNames altogether from getCodeActions lambda

* importFixes.ts: Remove local getUniqueSymbolId function and add checker parameter to calls to it

* importFixes.ts: Move getCodeActionForImport out into an export, immediately below convertToImportCodeFixContext

* completions.ts: In getCompletionEntryDetails, if there's symbolOriginInfo, call getCodeActionForImport

* importFixes.ts: Create and use importFixContext within getCodeActions lambda

* importFixes.ts: Use local newLineCharacter instead of context.newLineCharacter in getCodeActionForImport

* importFixes.ts: Use local host instead of context.host in getCodeActionForImport

* importFixes.ts: Remove dummy getCanonicalFileName line

* Filter symbols after gathering exports instead of before

* Lint

* Test, fix bugs, refactor

* Suggestions from code review

* Update api baseline

* Fix bug if previousToken is not an Identifier

* Replace `startsWith` with `stringContainsCharactersInOrder`
2017-10-17 10:20:11 -07:00
Nathan Shively-Sanders
08d7e182cd Mark fresh spread objects w/ContainsObjectLiteral 2017-10-17 09:56:04 -07:00
Sheetal Nandi
50628e73c5 Do not watch root folders for failed lookup locations and effective type roots
Fixes #19170
2017-10-16 18:40:21 -07:00
Ron Buckton
06fd5e0bfe Merge pull request #19230 from Microsoft/fix18186
Do not reduce subtypes of awaited union type
2017-10-16 15:17:30 -07:00
Ron Buckton
eebb0447ab Fix generated name scope when emitting async functions 2017-10-16 14:47:43 -07:00
Ron Buckton
9563246993 Do not reduce subtypes of awaited union type 2017-10-16 14:26:16 -07:00
Wesley Wigham
aea7e9a7a8 Fix instantiated generic mixin declaration emit (#19144)
* Fix #18545, dont use declared type of class expression

* Accept API Baselines

* Add thus far unused flag from node builder

* Accept baseline update
2017-10-16 14:17:55 -07:00
Andy
2cb0403e2d Support 'package.json' not in package root (#19133)
* Support 'package.json' not in package root

* Test "foo/@bar"

* More tests, and don't use "types" from the root package.json if not loading the root module
2017-10-16 13:02:15 -07:00
Wesley Wigham
40222d1a77 Fix for-in emit under systemjs (#19223) 2017-10-16 12:57:23 -07:00
Anders Hejlsberg
d4c0377395 Merge pull request #19185 from Microsoft/fixMappedTypesKeyofAny
Fix 'any' and 'keyof any' in mapped types
2017-10-14 12:12:25 -07:00
Mohamed Hegazy
1f63fbbc08 Merge branch 'fix11857' of https://github.com/RyanCavanaugh/TypeScript into RyanCavanaugh-fix11857 2017-10-14 11:31:39 -07:00
Anders Hejlsberg
fa65bd2062 Mapped type { [P in any]: T } should yield { [x: string]: T } 2017-10-14 09:53:51 -07:00
Anders Hejlsberg
07ff0fdb81 Properly handle mapped types with 'keyof any' 2017-10-13 16:54:57 -07:00
Daniel Rosenwasser
144026cd3b Merge pull request #19174 from Microsoft/correctlyScopedtaggedTemplates-master
Fix uniqueness for tagged template variables
2017-10-13 16:54:47 -07:00
Daniel Rosenwasser
50085bab27 Create truly unique names for tagged template strings. 2017-10-13 15:40:32 -07:00
Andy
769d202d4c In getContextuallyTypedParameterType, skip a this parameter when counting parameter index (#19155) 2017-10-13 14:53:52 -07:00
Nathan Shively-Sanders
22769d95e1 Merge pull request #18747 from Microsoft/refactor-jsdoc-types-to-typescript
Refactor jsdoc types to typescript
2017-10-13 10:21:54 -07:00
Wesley Wigham
de0e475c64 Recreate old decorator metadata behavior (#19089)
* Emulate pre 2.4 metadata behavior of eliding null and undefined from unions without strictNullChecks

* Accept baseline

* Update comment

* Update for second old baseline

* Respect strict
2017-10-12 15:05:04 -07:00
Nathan Shively-Sanders
c2c18a8d06 Merge branch 'master' into refactor-jsdoc-types-to-typescript 2017-10-12 14:18:28 -07:00
Andrew Casey
98f04e6cfd Merge pull request #19135 from amcasey/GH18626
Introduce and consume suppressLeadingAndTrailingTrivia
2017-10-12 14:10:28 -07:00
Wesley Wigham
9af21eb00e Transform nested dynamic imports (#18998)
* Fix nested dynamic imports when targeting es6

* Fixup nested dynamic imports when targeting downlevel

* Remove duplicated expressions in UMD emit

* Code review feedback, clone arg if need be

* More CR feedback, apply user quotemark styles

* Remove blank lines

* Use behavior of visitEachChild instead of enw codepath, add new test, use createLiteral to retain quotemarks

* Set lib flag for test
2017-10-12 12:53:12 -07:00
Nathan Shively-Sanders
123347d5c4 Convert @template tag to type parameters in refactor 2017-10-12 11:40:07 -07:00
Andrew Casey
4de6b0dd2d Introduce and consume suppressLeadingAndTrailingTrivia
Fixes #18626
2017-10-12 11:34:34 -07:00
Nathan Shively-Sanders
54ad9a6c82 Merge pull request #19112 from Microsoft/fill-missing-type-arguments-during-error-reporting
Fill missing type arguments during error reporting
2017-10-12 11:02:25 -07:00
Nathan Shively-Sanders
27b4417304 Assert:checkTypeArguments isn't passed too many type arguments 2017-10-12 10:38:02 -07:00
Mohamed Hegazy
260d37e8ea Merge branch 'master' into refactor-jsdoc-types-to-typescript 2017-10-12 10:23:21 -07:00
Mohamed Hegazy
4487917f89 Quick fix for no-implicit-any errors to add explicit type annotation (#14786)
* Infer from usage quick fix

* Change full function singature

* Add property/element access support

* Fix a few issues

* Some cleanup

* Expose getArrayType and getPromiseType

* Switch to collecting all usage before infering

* Infer array and promise type arguments

* Handel enums in binary operators

* consolidate usage of addCandidateTypes

* Handel rest paramters

* Properly handel `+=` and `+` inference for numbers and strings

* Add print quickfixes debug helper

* Add rest param tests

* Add optional paramter tests

* Handel set accessors

* Support getters

* Support no implicit any error for variable at use site

* Support properties

* Only offer quick fix if an infered type other than any is available

* Rename functions

* Move to a separate namespace

* Check cancellation token

* Cleanup

* Check for accesibile symbols where serializing types

* Remove JS support

* Reorganize functions

* Mark APIs as internal

* Fix lint errors

* Removed conflict markers.

* Update 'createSymbol' to use '__String'.

* Fixed most problems relating to '__String' and 'includeJsDocComments' in the fix itself.

* Addressed most API changes.

* Make all helpers internal

* Use a diffrent writer and not the built-in single line write

* Infer types for all parameters in a parameter list instead of one at a time

* Accept baselines

* Code review commments

* Respond to code review comments
2017-10-12 10:14:58 -07:00
Nathan Shively-Sanders
8ea13bef48 Fix lint 2017-10-12 10:11:09 -07:00
Nathan Shively-Sanders
da0c79f2a3 Simplify checkTypeArguments based on PR comments 2017-10-12 10:09:52 -07:00
Sheetal Nandi
5a776e28ba Merge pull request #19088 from Microsoft/resolutionCacheDefensiveChecks
Function to clear the per directory resolution
2017-10-12 08:55:17 -07:00
Anders Hejlsberg
728d2a92ce Merge pull request #19091 from Microsoft/fixAnonymousTypeInstantiation
Fix anonymous type instantiation
2017-10-12 00:54:14 +01:00
Andrew Casey
bada0095ed Merge pull request #18979 from amcasey/DeepClone
Introduce getSynthesizedDeepClone
2017-10-11 16:36:25 -07:00
Anders Hejlsberg
6cf41ae882 Merge pull request #19107 from Microsoft/fixRecursiveCallbacks
Fix checking of recursive callback types
2017-10-12 00:28:16 +01:00
Anders Hejlsberg
9ef417b846 Account for type queries in type literals 2017-10-11 16:02:58 -07:00
Nathan Shively-Sanders
d00ab417c6 checkTypeParameters now always calls fillMissingTypeArguments
And refactor checkTypeParameters to be easier to use and to read.
2017-10-11 15:58:54 -07:00
Wesley Wigham
b949245336 Add ValueModule as a valid object literal type, as they are immutable (#19090)
* Add ValueModule as a valid object literal type, as they are immutable

* Rename method based on usage
2017-10-11 15:13:33 -07:00