445 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
efa274f722 When emitting all files, emit the changed file first (#18930)
* When emitting all files, emit the changed file first

* Export interface
2017-10-04 13:30:37 -07:00
Wesley Wigham
5c7a3d050d Keep comments in production tsserverlibrary builds (#18913) 2017-10-03 11:18:22 -07:00
Sheetal Nandi
6997e9b731 Merge pull request #17269 from Microsoft/watchImprovements
Watch improvements in tsserver
2017-10-02 17:38: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
Sheetal Nandi
9e08caebf5 Merge branch 'master' into watchImprovements 2017-09-29 10:43:05 -07:00
Andrew Casey
697bce74b8 Split range tests and helpers out of extractFunctions.ts 2017-09-26 17:29:36 -07:00
Andrew Casey
52ab05e99d Rename extractMethods.ts to extractFunctions.ts for consistency 2017-09-26 17:29:35 -07:00
Andrew Casey
2601bbcea7 Add simple tests for Extract Constant 2017-09-26 17:29:35 -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
Sheetal Nandi
23acff5bc8 Merge branch 'master' into watchImprovements 2017-09-25 16:18:26 -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
fd4a8d1516 Let the RWC harness iterate over files instead of building one big file (#18416)
* Let the RWC harness iterate over files instead of building one big file

* Handle duplicated-only-in-case outputs better in the type baseliner

* Always lowercase output names

* Move common code into helper function

* Always write .delete for missing files even if there were errors
2017-09-14 16:22:14 -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
Sheetal Nandi
fdb104b242 Merge branch 'master' into watchImprovements 2017-09-11 13:49:36 -07:00
Wesley Wigham
5c779b1edb Allow singleline string writer to be recursively used (#18297)
* Allow singleline string writer to be recursively used

* Add unit test exposing issue

* Fix lints
2017-09-06 21:56:16 -07:00
Sheetal Nandi
54f64a1695 Resolution is valid unless it is invalidated 2017-09-05 19:22:32 -07:00
Sheetal Nandi
17565d8407 Handle watches of missing directories and make project the module resolution host 2017-08-31 09:13:59 -07:00
Andrew Casey
49676c58f3 Merge pull request #17844 from amcasey/SymbolWalker
Resuscitate the SymbolWalker API
2017-08-23 13:32:21 -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
053b915061 Rebase SymbolWalker change onto master
From PR #9847.
2017-08-22 11:33:32 -07:00
Sheetal Nandi
d0a23bb876 Merge branch 'watchImprovements' into builder 2017-08-12 15:35:30 -07:00
Ryan Cavanaugh
c27ee81341 Merge branch 'master' into extract-method-2 2017-08-10 17:02:14 -07:00
Wesley Wigham
a6a27ab661 Do not inline sourcemaps in jake - source-map-support can't handle it (#17732)
* Do not inline sourcemaps - sourcemap support cant handle it

* Run gulp silently
2017-08-10 14:34:04 -07:00
Wesley Wigham
81e1e26a6c TSLint now realizes when you attempt to use a rule which is not present (#17688) 2017-08-08 17:20:25 -07:00
Sheetal Nandi
c814d8e847 Add tests for the tsc --watch 2017-08-07 11:24:07 -07:00
Ryan Cavanaugh
c7f665faa1 Extract Method (squash) 2017-08-04 16:10:33 -07:00
Ryan Cavanaugh
5272ec6309 Types Map WIP 2017-07-27 16:07:50 -07:00
Wesley Wigham
2d4938d5c0 Actually let you disable colors with jake (#17414)
* Actually let you disable colors with jake

* @andy-ms revision
2017-07-25 14:35:22 -07:00
Daniel Rosenwasser
1002974c92 Make the 'publish-nightly' target run tests in parallel. 2017-07-25 10:50:46 -07:00
Andrew Casey
0f683ac2ad Add missing file unit tests
1. Test `Program.getMissingFilePaths`
2. Test program structure reuse (i.e. that the appearance of a missing
file prevents complete reuse)
2017-06-29 10:39:32 -07:00
t_
51fb7e9a81 Add alwaysStrict option (#16562)
* Add alwaysStrict option

* Enable alwaysStrict

* Fix for strict mode

* keep whitespace
2017-06-28 19:44:15 -07:00
Sheetal Nandi
1f167786ad Merge branch 'master' into completionWithMeaning 2017-06-13 11:16:32 -07:00
Mohamed Hegazy
1a1d5ea5f5 Fix #16367: remove const modifier from tsserverlibrary.d.ts (#16381)
* Fix #16367: remove const modifier from tsserverlibrary.d.ts

* use a helper function to remove const enums
2017-06-08 17:18:58 -07:00
Ron Buckton
05b40da6c1 Use --inspect-brk for test debugging 2017-06-08 12:40:51 -07:00
Ron Buckton
2f6c6e6538 Merge branch 'master' into fix16086 2017-06-06 16:09:37 -07:00
Ron Buckton
8cb5333791 Verify JS function is constructor 2017-06-06 13:33:19 -07:00
Ron Buckton
b5f81f9ede Fix emit when type import merges with local value 2017-06-05 18:39:32 -07:00
Andrew Casey
e81a07e3b5 Delete dead code resulting from 20c11b4f3dc2ee36fd46edbdd6801d5a4298f901
Missed a comment in PR https://github.com/Microsoft/TypeScript/pull/16183
2017-06-02 15:01:38 -07:00
Sheetal Nandi
893ba1de15 Filter symbols based on the meaning at the location 2017-06-01 10:59:24 -07:00
Andrew Casey
ab2a72b486 Stop prepending file:// to sourcemap paths
Submitting on behalf of mhegazy
2017-05-31 16:30:12 -07:00
Mohamed Hegazy
159614315c Fix build breaks with the instrumenter 2017-05-25 16:13:34 -07:00
Andy
d052bb83ca Add project telemetry (#16050)
* Add project telemetry

* Respond to some PR comments

* Wrap event in a TelemetryEvent payload

* Replace paths with empty string instead of removing them entirely

* Add "version" property to payload

* Add telemetry for typeAcquisition settings

* Add "files", "include", "exclude", and "compileOnSave"

* Convert typingsOptions include and exclude to booleanss

* Add "extends", "configFileName", and "projectType"

* configFileName: Use "other" instead of undefined

* Add "languageServiceEnabled" telemetry
2017-05-25 13:30:27 -07:00
Donald Pipowitch
f309996b32 added es2017.intl (#15369) 2017-05-24 09:50:38 -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
e73fffd964 Lint custom lint rules 2017-04-07 13:17:50 -07:00
Kanchalai Tanglertsampan
04c71f0971 Include dom into default library files 2017-04-05 13:48:35 -07:00
Mohamed Hegazy
e408cad618 Merge branch 'master' into checkJSFiles 2017-03-22 15:45:27 -07:00