Commit Graph
4160 Commits
Author SHA1 Message Date
Mohamed Hegazy b2dd610e92 Fix ignore message indentation (#22340)
* Update baselines for user tests

* Add explicit indentation

* Fix https://github.com/Microsoft/TypeScript/issues/21355: Format `// @ts-ignore` added by quick fix

* Extract check to a separate function

* Consolidate checking for valid insert location

* Code review comments

* Do not return makeChange
2018-03-06 12:19:19 -08:00
Andy 2fb7e643f4 Simplify suppressLeadingAndTrailingTrivia (#22356) 2018-03-06 11:34:33 -08:00
Andy e5f91f5948 Convert annotateWithTypeFromJSDoc refactor to a codefix (#22336)
* Convert annotateWithTypeFromJSDoc refactor to a codefix

* Compute isJsFile once at top
2018-03-06 07:49:21 -08:00
Josh Goldberg 7826b38426 Apply 'no-unnecessary-initializer' lint rule (#22014)
* Apply 'no-unnecessary-initializer' lint rule

Forbids `let`/`const` statements to be initialized to `undefined`, since that's the initial value by default anyway.
The auto-fixer also happened to remove two unnecessary `as number` casts in `src/harness/parallel/worker.ts`.

For historical data: to run with `--fix`, I modified the line in `Jakefile.js` that declared the `cmd` for running TSLint.

* Moved worker.ts type assertions to parameters
2018-03-06 07:30:40 -08:00
Andy 5e593acad9 Avoid cast by providing type predicate to isExternalModuleAugmentation (#22119)
* Avoid cast by providing type predicate to isExternalModuleAugmentation

* Break into isExternalModuleAugmentation and isModuleAugmentationExternal
2018-03-06 07:27:36 -08:00
Andy 2ac2291b84 Convert use-default-import refactor to a codefix (#22334) 2018-03-05 12:43:01 -08:00
Andy 87c3cca3f0 Make convertFunctionToEs6Class a codefix (#22241)
* Make convertFunctionToEs6Class a codefix

* Change diagnostic message
2018-03-02 12:57:29 -08:00
Andy ba8879d005 Prefer 'return Debug.fail()' over 'throw Debug.fail()' (#22092) 2018-03-02 10:44:06 -08:00
Andy dd27288e5a Don't rename static 'this' when renaming class (#22235) 2018-03-02 10:23:08 -08:00
Andy 16fc256823 Convert 'installTypesForPackge' refactor to a suggestion (#22267)
* Convert 'installTypesForPackge' refactor to a suggestion

* Have checker collect a list of suggestion diagnostics instead of redoing work in calculateSuggestionDiagnostics

* Add comment

* Add diagnostic even with `--allowJs`
2018-03-01 14:41:55 -08:00
Andy a564912d9a Apply 'no-unnecessary-qualifier' lint rule (#22009) 2018-03-01 14:20:18 -08:00
Andy c12369b354 Fix bug where findAllReferences included a node outside of sourceFilesToSearch (#22062) 2018-03-01 13:44:53 -08:00
Andy 6c63dd25e6 breakpoints: Fix invalid cast (#22153) 2018-03-01 13:13:27 -08:00
Andy 0701ed5d4b isControlFlowEndingStatement: don't try to enumerate all possible parent kinds (#22131) 2018-03-01 13:12:53 -08:00
Andy 7b929e090d Remove unnecessary length check in getSyntacticDocumentHighlights (#22064) 2018-03-01 13:11:45 -08:00
Andy 0a72568e59 findAllReferences: Make definition info independent of search location (#21748) 2018-03-01 12:46:00 -08:00
Wesley Wigham 1a43ad01a7 Lookup JSX namespace within factory function (#22207)
* Lookup JSX namespace within factory function

* Rename functions
2018-02-28 15:48:33 -08:00
Andy fa4619c5c1 Add 'info' diagnostics (#22204)
* Add 'info' diagnostics

* Code review
2018-02-28 11:16:32 -08:00
Andy f4af74aae1 Simplify TextChanges#getChanges (#22157)
* Simplify TextChanges#getChanges

* Rename function and improve assert
2018-02-27 12:26:05 -08:00
Wesley Wigham 32c63a2628 Add support for transpiling per-file jsx pragmas (#21218)
* Add support for per-file jsx pragmas

* Add error for using jsx factory pragma with fragments

* More tests, use different regex class for pragma capture

* Unify all pragma parsing machinery
2018-02-26 16:10:00 -08:00
Andy 0b1e21794d fourslash diagnostics tests: use objects instead of strings (#22193) 2018-02-26 14:55:26 -08:00
Andrew Casey b31aa4e012 Merge pull request #22087 from amcasey/AmbientModuleImports
Organize imports in ambient modules
2018-02-23 17:43:28 -08:00
Wenlu Wang 30a96ba335 add support of codefix for Strict Class Initialization (#21528)
* add support of add undefined type to propertyDeclaration

* add support of add Definite Assignment Assertions to propertyDeclaration

* add support of add Initializer to propertyDeclaration

* remove useless parameter

* fix PropertyDeclaration emit missing exclamationToken

* merge fixes and fix

* fix unnecessary type assert
2018-02-23 07:25:50 -08:00
Andrew Casey 8ead7ab29c Organize imports within ambient module declarations 2018-02-22 16:30:57 -08:00
Andrew Casey 189eb505b9 Factor worker method out of ts.OrganizeImports.organizeImports 2018-02-22 16:30:56 -08:00
Andy e8fb587097 organizeImports: Avoid using full FindAllReferences (#22102)
* organizeImports: Avoid using full FindAllReferences

* Add parentheses
2018-02-22 16:26:37 -08:00
Andy 75fa945f00 Simplify findContainingList (#22128) 2018-02-22 15:52:43 -08:00
Andy 73947b6ca7 Minor cleanup in getRenameInfoForNode (#22130) 2018-02-22 15:52:10 -08:00
Andy bb2c58b977 Simplify uses of getPossibleSymbolReferencePositions (#22099) 2018-02-22 13:22:52 -08:00
Andy 790f65d15b Simplify isJumpStatementTarget and isLabelOfLabeledStatement users using type predicates (#22100) 2018-02-22 13:22:34 -08:00
Andy 8463b1e028 Fix bug: don't call addIndirectUser if we're not tracking indirect users (#22121) 2018-02-22 09:20:59 -08:00
Andrew Casey 72a7194b6c Merge pull request #22007 from amcasey/UnusedImports
Implement ts.OrganizeImports.removeUnusedImports
2018-02-21 13:35:43 -08:00
Andy 4f309702c1 Separate isGlobalCompletion from CompletionKind (#22074)
* Separate isGlobalCompletion from CompletionKind

* Fix comments
2018-02-21 13:12:13 -08:00
Andy 8a52eade2e Make getTextOfIdentifierOrLiteral and getEscapedTextOfIdentifierOrLiteral only accept Identifier | StringLiteralLike | NumericLiteral (#22002) 2018-02-21 11:05:43 -08:00
Andy dda4bd0d0b fixClassDoesnotImplementInheritedAbstractMember: Don't perform fix for same class twice (#22073) 2018-02-21 10:03:02 -08:00
Andy dd47f2492b getSemanticDocumentHighlights: Use toMultiMap helper (#22059)
* getSemanticDocumentHighlights: Use `toMultiMap` helper

* Rename to arrayToMultiMap and follow pattern of arrayToMap and arrayToNumericMap
2018-02-21 10:02:34 -08:00
Andrew Casey cc386d25a4 Filter FAR results to initial SourceFile 2018-02-20 14:35:01 -08:00
Andy b00c13b716 Fix bug: Handle QualifiedName in getMeaningFromRightHandSideOfImportEquals (#21779)
* Fix bug: Handle QualifiedName in getMeaningFromRightHandSideOfImportEquals

* Fix lint
2018-02-20 14:32:51 -08:00
Andrew Casey fee1df34ce Implement ts.OrganizeImports.removeUnusedImports
TODO: Still need to add support for organizing imports in ambient
modules
2018-02-20 10:21:25 -08:00
Andy b3edc8f9f4 Apply 'no-unnecessary-type-assertion' lint rule (#22005)
* Apply 'no-unnecessary-type-assertion' lint rule

* Fix type error

* Fix tsconfig.json

* Add --format back
2018-02-16 18:38:00 -08:00
Andy 8e078b9fde Add comment to isGlobalCompletion (#21973) 2018-02-16 16:48:42 -08:00
Andy 69abe49930 Supports more locations for completions contextual types (#21946) 2018-02-16 16:48:03 -08:00
Sergii Bezliudnyi b6f82adfed add template to jsdoc completion (#21978) 2018-02-16 16:27:57 -08:00
Andrew Casey 8341b1369d Merge pull request #22004 from amcasey/FARBadImport
Make FAR handle non-existent imported symbols
2018-02-16 16:17:04 -08:00
Andrew Casey b64eefdb20 Remove redundant null check 2018-02-16 15:50:12 -08:00
Andrew Casey 9c2b95dae3 Make FAR handle non-existent imported symbols 2018-02-16 14:49:23 -08:00
Andrew Casey 7a31394788 Group imports before sorting and coalescing 2018-02-16 13:15:07 -08:00
Andrew Casey 5c278cee17 Address PR feedback
Eliminate cancellation token

Add organizeImports.ts to tsconfig.json

Simplify ts.OrganizeImports.organizeImports

Simplify sortImports

Semantic change: all invalid module specifiers are now considered to be
equal.

Simplify comparisons using ||

Pull out imports with invalid modules specifiers

...for separate processing.  They are tacked on to the end of the
organized imports in their original order.

Bonus: downstream functions can now assume imports have valid module
specifiers.

Rename baseline folder with leading lowercase

Simplify coalesceImports

Remove some unnecessary null checks

Simplify baseline generation
2018-02-16 10:56:16 -08:00
Andrew Casey f4141ac6bf Separate OrganizeImports into its own namespace and file 2018-02-16 10:52:29 -08:00
Andrew Casey 979b14689e Fix lint errors 2018-02-16 10:52:21 -08:00