14561 Commits

Author SHA1 Message Date
Sheetal Nandi
012dedcfa3 Handle the folder create/delete in the configured project 2017-11-07 11:15:16 -08:00
Sheetal Nandi
4854d98f14 Add test case when inside wild card watched directory folder is renamed 2017-11-07 11:15:00 -08:00
Andy
618efc0b1f
Add hyphen in completionEntryDetails-full (#19808) (#19814) 2017-11-07 10:17:44 -08:00
Andy
45594d11db
Fix assertion -- an import may come from a require() call (#19667) (#19810)
* Fix assertion -- an import may come from a require() call

* Add test for `import("./a")`
2017-11-07 09:17:55 -08:00
Sheetal Nandi
6baf1680af Add testcase for non existent file without absolute path when opened with/without projectRoot 2017-11-06 12:27:11 -08:00
Sheetal Nandi
2cb14e5e8e Handle the script infos that are opened with non rooted disk path
Fixes #19588
2017-11-06 12:26:36 -08:00
Sheetal Nandi
11d46130ae Test where script info path and program path differ because of current directory 2017-11-06 12:23:07 -08:00
Mohamed Hegazy
138accd1ac Port generated lib files (#19772) 2017-11-06 10:31:38 -08:00
Andy
e2c6db2e20
For getCompletionsAtPosition, require a flag to provide completions with code actions (#19687) (#19731)
* For getCompletionsAtPosition, require a flag to provide completions with code actions

* Change name

* Increase API version

* Update API baselines

* Add comment

* Update API baseline
2017-11-03 16:38:35 -07:00
Andy
c074c77348
Add CompletionDetailsFull request (#19689) (#19727)
* Add CompletionDetailsFull request

* Update API baselines

* Make internal
2017-11-03 15:54:42 -07:00
Mohamed Hegazy
2da8014efa
Port master into release-2.6 11/2 (#19699)
* Port generated lib files (#19690)

* Handle cases when npm install doesnt get triggered with the actual file added
Fixes #19597

* Add regression test for #19395

Thanks to @mjbvz for finding it and @sandersn for reducing it.

* Correct typo - pass correct argument

All of the other calls in extractSymbol are already correct.

* Assert that enclosing declaration is not synthesized
2017-11-02 17:43:47 -07:00
Andy
3ac5daa5d2 Support completion details for special JsDoc completions (#19494) (#19512) 2017-11-02 13:53:10 -07:00
Mohamed Hegazy
4e41dd3230
Update version (#19674) 2017-11-02 11:03:31 -07:00
Andy
0f32f55b75 Make getCompletionEntryDetails and getCompletionEntrySymbol parameters non-optional (#19507) (#19592)
* Make getCompletionEntryDetails and getCompletionEntrySymbol parameters non-optional

* Increment servicesVersion

* Update api baselines
2017-10-30 19:16:12 -07:00
Andy
a7e172bfa0 Support multiple completions with the same name but different source module (#19455) (#19496)
* Support multiple completions with the same name but different source module

* Use optional parameters for source

* Simplify use of `uniques`

* Update test

* Fix `undefined` error
2017-10-26 14:03:03 -07:00
Sheetal Nandi
96c66a61b4 Add test case to verify reload works without open project 2017-10-25 15:48:25 -07:00
Sheetal Nandi
b16e6d43d1 Reload contents of file from disk irrespective of project presence and file already containing its own text
Fixes #19336
2017-10-25 15:48:21 -07:00
Sheetal Nandi
4e56347d58 Set the files found during node_modules search correctly when reusing existing program structure
This marks files reused correctly as from external library resulting in not using them for files to be emitted and computed for output structure
Fixes #19327
2017-10-24 10:40:33 -07:00
Sheetal Nandi
aaaa280df7 Add the test case that fails and reports error for files not in root directory in watch mode
Test case for #19327
2017-10-24 10:40:28 -07:00
Mohamed Hegazy
3134111fd1 Merge pull request #19434 from Microsoft/port-master-10-23
Port fixes from master to release-2.6 10/23
2017-10-24 10:01:50 -07:00
Mohamed Hegazy
a362bbf43a Fix lint error 2017-10-24 09:23:19 -07:00
Andy
02cc07c7f8 For @types installing quickfix, only activate for implicit-any module (#19394) (#19429) 2017-10-24 08:05:13 -07:00
Mohamed Hegazy
b9182d1dc3 Check for noImplicitAny + strict correctelly 2017-10-23 15:12:17 -07:00
Mohamed Hegazy
97eabde79d Check for --strict along with --noImplicitAny for code fix 2017-10-23 15:07:46 -07:00
Mohamed Hegazy
809674d66e Port generated lib files 2017-10-23 15:07:37 -07:00
Nathan Shively-Sanders
2dcc6607bf Consolidate jsdoc node getters
They are now used both in getJSDocCommentsAndTagsWorker and in
geParameterSymbolFromJSDoc.
2017-10-19 19:38:09 -07:00
Nathan Shively-Sanders
cae12cb144 Fix getParameterSymbolFromJSDoc 2017-10-19 19:37:55 -07:00
Mohamed Hegazy
0a6715757e Merge branch 'master' into release-2.6 2017-10-19 15:44:14 -07:00
csigs
fd3ededf09 LEGO: check in for master to temporary branch. 2017-10-19 22:10:33 +00:00
Andy
c1b4d59752 Fixup line and offset of rename location of refactor (#19265)
* Fixup line and offset of rename location of refactor

* Fixes

* Handle "\r" only documents

* Update api baselines

* Fix error if an edit comes *after* the rename location

* Add bounds check

* Simpler implementation: get new text, then calculate line starts the usual way
2017-10-19 14:31:23 -07:00
Mohamed Hegazy
8475e307f2 Port master into release-2.6 10/19 (#19348)
* Adding test case where opened file included in project is not added to ref count of configured project

* Fix the way configured project's reference is managed so that the open file

* Do not watch root folders for failed lookup locations and effective type roots
Fixes #19170

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* Mark fresh spread objects w/ContainsObjectLiteral

* Test excess property checks of spreads of unions.

* 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`

* Dont try to run unit tests with rwc tests again (#19240)

* In tsserver, indent logged JSON (#19080)

* noUnusedLocals: Warn for recursive call to private method (#18920)

* Added test for windows style paths watched directories

* Handle when directory watcher is invoked on file change
Fixes #19206

* 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

* This wasnt required before... (#19262)

* Collapse jsdoc annotation refactors to one

Previously there were two, and two always fired.

* Update baselines

* Fix #19257: Ensure a generated signature has a return type (#19264)

* Fix #19257: Ensure a generated signature has a return type

* Ensure generated properties have types

* Use the same context for multiple inferences to the same property access

* Respect newLine compiler option in language service output (#19279)

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* Disambiguate same-named refactors using description (#19267)

Disambiguate same-named refactors using actionName

* Set the scriptKind from the host configuration if present

* Update API baselines

* Remove erroneous error for JSDoc object literals

appears with checkJS.

* Update annotateWithTypeFromJSDoc tests

1. Object literals are single-line now.
2. Index signatures transform to TS index signatures.
3. The refactoring is only available when it could add types.

* Add a better test for jsdoc index signatures.

The test case shows that the errorenous error no longer appears.

* Fix bugs in jsdoc annotation refactor

1. Transform index signatures to TS index signatures.
2. Print object literals on a single line.
3. Only offer the refactor when it could add types. (There must not be a
type annotation already, and there must be a JSDoc that applies.)

* Move isJSDocIndexSignature to utilities

* Add failing testcase where when d.ts file is in program, the files get emitted multiple times with --out setting

* 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

* Use get files affected by internally and hence use file paths as input

* Simplify emit changed files further
Also use source file version as the signature of declaration file instead of computing it from text

* Do not cache the semantic diagnostics when compiler options has --out since we would anyways get all fresh diagnostics

* make getCurrentDirectory required (#19303)

* LEGO: check in for master to temporary branch.

* Actually use cached semantic diagnostics

* Fix tsc-instrumented

1. Make recursiveCreateDirectory correctly handle relative paths.
2. Remove dependency on Harness
3. Correctly increment iocapture0, iocapture1, ... iocaptureN.
4. Stop double-nesting baseline files.

* Fix lint

* Fix https://github.com/Microsoft/TypeScript/issues/19270: ensure output name is a valid locale name (#19308)

* Fix https://github.com/Microsoft/TypeScript/issues/19270: ensure output name is a valid locale name

* Use const instead of var

* Add comment

* Fix typo

* Split the concat logic for generatedLCGFile

* findAllRefs: Support anonymous default export (#19302)

* Fix undefined error using `getEffectiveTypeRoots` (#19300)

* Remove extra blank line in logs (#19307)

* Use Promise instead of PromiseLike (#19305)

* Workaround for nonnull operator on indexed accesses (#19275)

* Quick and dirty workaround

* Add third case to show current behavior

* Rename variable, replace elaboration from comment with links

* Remove some unnecessary `undefined` checks in extractSymbol (#19256)

* Fix "noStringLiteral" lint errors (#19310)

* LEGO: check in for master to temporary branch.

* Rename locale outputs

* Update LKG
2017-10-19 13:13:57 -07:00
csigs
5a6e5e7f79 LEGO: check in for master to temporary branch. 2017-10-19 16:10:06 +00:00
Andy
1f282f19e0 Fix "noStringLiteral" lint errors (#19310) 2017-10-19 08:15:48 -07:00
Andy
a53d3bb5aa Remove some unnecessary undefined checks in extractSymbol (#19256) 2017-10-19 08:15:01 -07:00
Wesley Wigham
8212c962cd Workaround for nonnull operator on indexed accesses (#19275)
* Quick and dirty workaround

* Add third case to show current behavior

* Rename variable, replace elaboration from comment with links
2017-10-18 17:39:05 -07:00
Nathan Shively-Sanders
d8373c3dbb Merge pull request #19314 from Microsoft/fix-tsc-instrumented
Fix four tsc-instrumented bugs
2017-10-18 16:41:40 -07:00
Sheetal Nandi
8fc651870e Merge pull request #19306 from Microsoft/doNoWriteFilesMultipleTimes
Fixes the issue with emit where in same file is emitted multiple times
2017-10-18 16:12:36 -07:00
Andy
0f55f4a701 Use Promise instead of PromiseLike (#19305) 2017-10-18 16:04:42 -07:00
Andy
6c1afba389 Remove extra blank line in logs (#19307) 2017-10-18 16:04:18 -07:00
Andy
f1abe3c284 Fix undefined error using getEffectiveTypeRoots (#19300) 2017-10-18 15:47:15 -07:00
Andy
e5f8287e5c findAllRefs: Support anonymous default export (#19302) 2017-10-18 15:46:39 -07:00
Nathan Shively-Sanders
79c672424e Fix lint 2017-10-18 15:32:24 -07:00
Nathan Shively-Sanders
93c2b10f68 Fix tsc-instrumented
1. Make recursiveCreateDirectory correctly handle relative paths.
2. Remove dependency on Harness
3. Correctly increment iocapture0, iocapture1, ... iocaptureN.
4. Stop double-nesting baseline files.
2017-10-18 15:29:11 -07:00
Sheetal Nandi
9bea0dbdc2 Actually use cached semantic diagnostics 2017-10-18 15:28:20 -07:00
csigs
7d23ed152b LEGO: check in for master to temporary branch. 2017-10-18 22:10:31 +00:00
Wesley Wigham
75a687b524 make getCurrentDirectory required (#19303) 2017-10-18 14:57:18 -07:00
Nathan Shively-Sanders
b40e18df00 Merge pull request #19304 from Microsoft/dedupe-jsdoc-annotation-refactors
Fixes for refactor "Annotate with type from JSDoc"
2017-10-18 14:50:13 -07:00
Sheetal Nandi
f59241971d Merge pull request #19138 from Microsoft/configuredProjectRef
Handle the configured project lifetime to account for files added to the project after config file gets reloaded
2017-10-18 14:23:25 -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