124 Commits

Author SHA1 Message Date
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
Andy
d384a6adb6 Fix location of generateLocalizedDiagnosticMessages.js (#18923) 2017-10-03 16:38:47 -07:00
Andy
d4cbdc4985 Fix gulp lint (#18921) 2017-10-03 13:28:20 -07:00
Wesley Wigham
5c7a3d050d Keep comments in production tsserverlibrary builds (#18913) 2017-10-03 11:18:22 -07:00
Wesley Wigham
7f7d0c6c7b Baseline public API (#18897)
* Add unit test which tracks public API changes

* Accept strict function types updates

* 100% Linefeeds, no carriage returns

* How were these missing?

* That would be why they were there

* Extract and comment

* Accept comment changes
2017-10-02 17:37:40 -07:00
Mohamed Hegazy
a8b7f7d1e5 Include localized diagnostics (#18702)
* Add lcl files

* Add loclalization script

* Add localization build targets

* use async exists, and add assert

* Generate lcg file

* Add localize task to gulpFile

* Only run loclaize if the generated files neededs update. Also run localize as part of local

* Fix lint errors

* Linter love

* Respond to code review comments
2017-10-02 17:16:08 -07:00
Wesley Wigham
6ffee104ca Split rwc input files (#18772)
* Handle translation between new and old log format styles

* Iteration

* Strip all backcompat

* Remove new parenthesis

* Handle directories in the test perf heuristic measurement

* Optional catch bindings!
2017-09-26 15:55:21 -07:00
Wesley Wigham
1821735136 Add custom formatter which has clickable links, reduce error duplication in gulp output (#18613) 2017-09-21 08:36:50 -07:00
Wesley Wigham
d1c4754b37 Better-scheduled parallel tests (#18462)
* Out with the old...

* Brave new world

* Throttle console output

* Batches test messages on large inputs initially

* Move parallel runner code into seperate files
2017-09-14 15:42:06 -07:00
Andy
2b4b629f9b Remove largeSource argument to convertMap.fromSource (#18098) 2017-08-30 10:02:30 -07:00
Wesley Wigham
8d44e48dd0 Fix instrumenter target + deprecation warning (#17973) 2017-08-22 15:39:10 -07:00
Ryan Cavanaugh
43b8ce664c Merge 2017-08-22 14:31:49 -07:00
Wesley Wigham
2c2df9eec2 Fix runtests-browser in gulp, including RWC, remove into-stream (#17540) 2017-08-01 11:14:39 -07:00
Ryan Cavanaugh
253cde4907 Fix tests 2017-07-27 16:59:31 -07:00
Ryan Cavanaugh
f2a801e49c Add gulpfile support 2017-07-27 16:22:10 -07:00
Ryan Cavanaugh
5272ec6309 Types Map WIP 2017-07-27 16:07:50 -07:00
Daniel Rosenwasser
1002974c92 Make the 'publish-nightly' target run tests in parallel. 2017-07-25 10:50:46 -07:00
Andy
e7dc2a67ca Enable "object-literal-shorthand" lint rule (#16987) 2017-07-07 07:26:58 -07:00
Wesley Wigham
dc81b456e2 gulp-typescript does handles config extension correctly now (#16992) 2017-07-06 15:58:22 -07:00
Wesley Wigham
2a4b9c70e7 Use correct source root for tests (#16982)
I noticed my error messages while testing were names like `"E:\Github\compiler\binder.ts"` - with this change, they originate from the correct location (are are thus clickable links in the console). The previous path may have been required as a workaround for some old version of the tools we use, but is apparently no longer needed.
2017-07-06 15:56:59 -07:00
Sheetal Nandi
1f167786ad Merge branch 'master' into completionWithMeaning 2017-06-13 11:16:32 -07:00
Ron Buckton
05b40da6c1 Use --inspect-brk for test debugging 2017-06-08 12:40:51 -07:00
Sheetal Nandi
65a48ca15d Encorporting feedback 2017-06-06 11:27:31 -07:00
Donald Pipowitch
f309996b32 added es2017.intl (#15369) 2017-05-24 09:50:38 -07:00
Nathan Shively-Sanders
56d04429b3 Add target and lib references for tsc-instrumented
I think they were previously provided implicitly.
2017-05-16 11:30:30 -07:00
Andy
72feaad893 Merge pull request #14001 from Microsoft/refactor_findallrefs
Refactor findAllReferences. Now supports renamed exports and imports.
2017-04-14 09:57:54 -07:00
Yui
ee52477798 Merge pull request #15037 from Microsoft/master-14401
[Master] Include dom into default library files
2017-04-12 13:42:40 -07:00
Andy Hanson
c7d51a3053 Merge branch 'master' into refactor_findallrefs 2017-04-12 11:27:58 -07:00
Andy Hanson
7347e5e4fd Merge branch 'master' into lint-linter 2017-04-11 14:34:38 -07:00
Andy Hanson
ed5eca2b7b boolean-trivia lint rule: Enforce space between comment and argument 2017-04-11 09:44:58 -07:00
Andy Hanson
e73fffd964 Lint custom lint rules 2017-04-07 13:17:50 -07:00
Andy Hanson
7320891933 boolean-trivia lint rule: Lint for null/undefined too 2017-04-07 13:13:39 -07:00
Kanchalai Tanglertsampan
04c71f0971 Include dom into default library files 2017-04-05 13:48:35 -07:00
Ryan Cavanaugh
e3bb5d3f28 Update linting to avoid typechecking for booleanTriviaRule 2017-04-04 22:34:51 -07:00
Andy Hanson
aa1c860f08 Merge branch 'master' into refactor_findallrefs 2017-03-27 11:31:07 -07:00
Andy Hanson
1b2cd3e01a Remove unused test files 2017-03-21 12:42:53 -07:00
Andy
d5c1b71429 Merge pull request #14710 from Microsoft/lint
Fix lint errors
2017-03-20 14:50:36 -07:00
Andy Hanson
0152e8c4bb Fix lint scripts 2017-03-20 09:58:37 -07:00
Andy Hanson
76ffba60fb Fix gulp runtests-browser 2017-03-20 09:09:01 -07:00
Andy Hanson
ec558b8080 Merge branch 'master' into refactor_findallrefs 2017-03-17 08:04:04 -07:00
Andy Hanson
7f85c228e8 Fix tslint compilation in gulp 2017-03-07 11:47:26 -08:00
Nathan Shively-Sanders
0c53b539c8 Fix more gulp.dests to use the relative path of the tsconfig 2017-03-07 09:52:45 -08:00
Andy Hanson
aac3d80fc4 Merge branch 'master' into refactor_findallrefs 2017-03-01 08:45:41 -08:00
Andy Hanson
c8aa257a30 Fix gulp-typescript usage now that it is set to latest 2017-03-01 07:58:31 -08:00
mihailik
d7461c874b Promise is a duplicate here - fails to build 2017-02-27 08:39:01 +00:00
Ron Buckton
4db86f78b0 Merge branch 'master' into publicTransformers 2017-02-16 17:52:57 -08:00
Andy Hanson
42a832ad3d Refactor findAllReferences. Now supports renamed exports and imports. 2017-02-16 06:48:00 -08:00
Ron Buckton
2f624f5df3 Expose transformations as public API 2017-02-07 14:36:15 -08:00
Ron Buckton
5d415cac52 Merge branch 'master' into asyncGenerators 2017-02-02 12:11:44 -08:00
Andy Hanson
128b84d1db Add "workers" option in gulpfile.
This allows e.g. `gulp runtests-parallel --w 3`.
2017-01-25 09:13:00 -08:00