176 Commits

Author SHA1 Message Date
Andy
6bc04a9ab9 Use lowercased names for generated locale directories (#19581) 2017-10-30 19:20:17 -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
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
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
Wesley Wigham
dc8d47c51d Remove bisect.cmd, remove reference to missing dts, update usage (#18353) 2017-09-09 15:56:11 -07:00
Mohamed Hegazy
07e1d3b13d Ensure string enums are generated in protocol.d.ts (#17914) 2017-08-21 09:44:03 -07:00
Andy
ceae613e4c Add lint rule to check that Debug.assert calls do not eagerly interpolate strings (#17125)
* And lint rule to check that `Debug.assert` calls do not eagerly interpolate strings

* Use more specific 'assert' functions to avoid callbacks

* Respond to PR feedback
2017-08-08 07:56:14 -07:00
Wesley Wigham
2c2df9eec2 Fix runtests-browser in gulp, including RWC, remove into-stream (#17540) 2017-08-01 11:14:39 -07:00
Wesley Wigham
32d9292a83 Generate diagnostics without a leading comma, retain old spaces (#17534)
* Generate diagnostics without a leading comma, reatain space

* Add small assertion that we generate valid json
2017-07-31 12:51:25 -07:00
Andy
b81e71d905 processDiagnosticMessages: Simplify code and emit (#17463) 2017-07-28 10:11:57 -07:00
Andy
12acc141c0 processDiagnosticMessages: Simplify check for uniqueness of names (#17331)
* processDiagnosticMessages: Simplify check for uniqueness of names

* Be case-sensitive
2017-07-27 12:30:37 -07:00
Wesley Wigham
ed87b40902 Fix linter (#17312)
We just merged a change which makes the `.types` member of a union or intersection type a readonly array. Our lint rule's type annotation needs to reflect that.
2017-07-19 17:06:31 -07:00
Andy
f37d9068ff Fix configure-nightly script to match new contents of core.ts (#17014)
* Fix configureNightly script to match new contents of core.ts

* Use ts.Debug.assert

* Use a regexp for parsePackageJsonVersion
2017-07-19 14:47:25 -07:00
Wesley Wigham
f888c88f31 Cast identifier names to string in lint rule (#17027)
To be compatible with both the current version of the compiler and the nightly (which uses a branded string for the text member).
2017-07-07 16:30:02 -07:00
Yui T
ef3e7e6ab5 Add semi-colon 2017-06-16 11:12:31 -07:00
Yui T
4b21358582 Merge branch 'master' into fixRunParallel 2017-06-16 11:09:34 -07:00
Yui T
e9bbe866f5 Address comment: fix comment 2017-06-16 11:09:18 -07:00
Kanchalai Tanglertsampan
f82c45eb98 Address PR 2017-06-15 13:40:57 -07:00
Ryan Cavanaugh
f725d7de5f Rename function 2017-06-06 17:43:30 -07:00
Ryan Cavanaugh
1f3ef7df7a Refactor refactor 2017-06-06 14:58:18 -07:00
Kanchalai Tanglertsampan
f476ecec07 Wip-report error when sof happen while running in parallel 2017-06-05 20:23:23 -07:00
Andy
8ace7b826f importFixes: Support missing "React" at a JSXOpeningElement (#16066)
* importFixes: Support missing "React" at a JSXOpeningElement

* Fix nextLineRule linting

* Rename to resolveJsxNamespaceAtLocation

* Expose getJsxNamespace and resolveNameAtLocation separately
2017-06-05 14:23:39 -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
Ryan Cavanaugh
008cd89c0d Update booleanTriviaRule.ts 2017-04-05 11:29:47 -07:00
Ryan Cavanaugh
40393c59ea Update booleanTriviaRule.ts 2017-04-05 07:35:03 -07:00
Ryan Cavanaugh
e3bb5d3f28 Update linting to avoid typechecking for booleanTriviaRule 2017-04-04 22:34:51 -07:00
Andy Hanson
d58cfa238b Merge branch 'master' into lint_better 2017-03-06 06:20:48 -08:00
Vladimir Matveev
b1520345be use ES6 library when building tslint rules (#14474) 2017-03-05 15:41:47 -08:00
Andy Hanson
8371eb6401 Update tslint to latest (next is still on 4.3) and lint for BOM 2017-03-01 10:37:13 -08:00
Ryan Cavanaugh
aec310996c Language service extensibility 2017-02-14 13:35:16 -08:00
Andy Hanson
9e33585a80 Merge branch 'master' into map5 2016-12-27 12:56:05 -08:00
Kagami Sascha Rosylight
27ed5b8504 remove preferConstRule.ts 2016-12-19 13:30:32 +09:00
Andy Hanson
6b1cc8972d Use native maps when they're available 2016-12-08 06:40:31 -08:00
Vladimir Matveev
eaf791e328 update to tslint@next 2016-11-18 22:53:38 -08:00
Andy Hanson
12f6dcefa1 Revert "Merge pull request #11354 from Microsoft/map4"
This reverts commit adfdae0dc47db5ad8248d26929a7b31cb895a539, reversing
changes made to aad663cebf6a89f7029af57d8cb6a0a011854978.
2016-10-27 15:50:21 -07:00
Andy Hanson
bcc0807198 Respond to PR comments 2016-10-27 13:14:56 -07:00
Andy Hanson
f828bc3fae Merge branch 'master' into map4 2016-10-18 09:07:00 -07:00
Vladimir Matveev
05ebd1d5fb Merge pull request #11651 from Microsoft/vladima/literals-in-protocol
switch enums in protocol to unions of literal types
2016-10-17 15:46:55 -07:00
Andy Hanson
7292f9f67e Merge branch 'master' into map4 2016-10-17 06:49:53 -07:00
Vladimir Matveev
6417dab60b Merge pull request #11605 from Microsoft/vladima/convert-enums-to-const
convert all enums to const enums when building protocol.d.ts
2016-10-14 08:12:02 -07:00
Vladimir Matveev
92b63fa725 Merge pull request #11550 from Microsoft/vladima/generate-protocol
Automatically generate protocol.d.ts by pulling in necessary dependencies
2016-10-12 14:18:19 -07:00
Andy Hanson
3ad50ea957 Merge branch 'master' into map4 2016-10-07 08:38:43 -07:00
Andy Hanson
731ce345b3 Add any to allow us to cast a ModuleBlock to a Block 2016-10-07 08:24:54 -07:00
Andy Hanson
7217274746 Merge branch 'master' into map4 2016-10-07 06:17:26 -07:00
Ron Buckton
519095f585 Merge branch 'master' into syntaxKindLiterals 2016-10-06 13:41:16 -07:00
Andy Hanson
aadcbcc083 Use native maps when they're available 2016-10-06 13:29:18 -07:00