Commit Graph

235 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
63cb84f3d1 Codefix jsdoc types for anything with a .type
That means type parameters and type arguments are still not handled.
2017-08-29 10:38:16 -07:00
Nathan Shively-Sanders
16ccb66377 Provide jsdoc type code fixes for all variable-like decls
This includes 3 SyntaxKinds I missed earlier: Parameter,
PropertyDeclaration and PropertyAssignment.
2017-08-28 16:09:09 -07:00
Ron Buckton
09487b8a1d Added tests, pr feedback 2017-08-11 15:31:09 -07:00
Ron Buckton
e3b6df64b3 Add support to infer the quote style for import quick fixes 2017-08-11 14:26:25 -07:00
Ryan Cavanaugh
c27ee81341 Merge branch 'master' into extract-method-2 2017-08-10 17:02:14 -07:00
Wesley Wigham
6221d7089e Fix import addition location (#17327)
* Add test with bug

* Fix for import placement

* Consolidate comment recognition functions into utilities

* Add another test with all 3 kinds

* Recognize path directives as part of triple slash directives

* Also handle no-default-lib triple-slash comments

* Test for all the triple-slash kinds

* Keep import-placement logic in the quickfix, since its not really a node start; accept new baselines

* Work in not-ES6, use a real no-lib comment

* Remove no default lib triple slash comment, it disables checking and thereby quick fixes

* Copy regex rather than have a regex copy
2017-08-09 14:03:37 -07:00
Ryan Cavanaugh
c7f665faa1 Extract Method (squash) 2017-08-04 16:10:33 -07:00
Mine Starks
84c579586c Merge pull request #17536 from minestarks/fix15223
Missing import codefix: Take scoped packages (@foo/bar) into consideration
2017-07-31 14:09:37 -07:00
Mine Starks
16112c358d Missing import codefix: Take scoped packages (@foo/bar) into consideration 2017-07-31 13:28:55 -07:00
Daniel Rosenwasser
afdbf00d53 Add check to ensure that property access suggestions are only performed on the accessed property. 2017-07-27 18:12:20 -07:00
Daniel Rosenwasser
0dc74245e2 Added codefix for replacing qualified names with indexed access types. 2017-07-27 12:42:11 -07:00
Mine Starks
89994111bd Missing import code fix - include export assignment properties when looking for module exports (#17376)
* Include export assignment properties when looking for module exports

* Create new API function for tryGetMemberInModuleExportsAndProperties

* Cleanup based on review feedback
2017-07-26 16:17:01 -07:00
Andy
30d973bdcb Rename symbol.name to escapedName and make name unescaped (#17412) 2017-07-25 14:22:26 -07:00
Mine Starks
441daa4e19 Merge pull request #17302 from minestarks/removeimportfix
Bugs in missing import codefix
2017-07-21 10:22:24 -07:00
Mine Starks
9f6ec635a4 Cleaner path splitting, refine file extension and case sensitivity handling 2017-07-20 16:12:07 -07:00
Mine Starks
15d294d350 Bugs in missing import codefix
- We didn't locate the package.json correctly in cases where the module to be imported is in a subdirectory of the package
- We didn't look at the types element in package.json (just typings)
- We didn't remove /index.js from the path if the main module was in a subdirectory

Fixes #16963
2017-07-19 11:02:49 -07:00
Andy
194c2bc2ca Make NodeArray readonly (#17213)
* Make NodeArray readonly

* Fix bug: use emptyArray instead of undefined

* Fix bug: Don't expose MutableNodeArray

* Undo trailing whitespace changes
2017-07-18 10:38:21 -07:00
Nathan Shively-Sanders
73cfa64f44 Make sure not to truncate the stringified type from typeToString 2017-07-17 14:47:10 -07:00
Nathan Shively-Sanders
b13de0547e JSDoc codefix:getTypeFromTypeNode >>> typeToString
Instead of trying to walk the type structure in the codefix, I changed
to call getTypeFromTypeNode in the checker and then calling
typeToString. Together, these two functions normalise out JSDoc.

Note that you only get `T | null` for `?T` if you have --strict on. This
is technically correct -- adding a null union does nothing without
strict -- but it would still serve as documentation.
2017-07-17 14:11:35 -07:00
Nathan Shively-Sanders
f9e5576d58 Codefix for ?! pre/postfix JSDoc types
For ?, provide two code fixes, one for jsdoc/closure semantics
(`?t -> t | null)` and one for flow semantics
(`?t -> t | null | undefined`).

The current way of doing this is the hackiest thing you can imagine, but
it was easier than lifting everything into the list monad for a code fix
that I might not actually keep.
2017-07-17 11:06:20 -07:00
Nathan Shively-Sanders
3776b0b58b Codefix for Array.<number> -> Array<number> 2017-07-17 10:33:04 -07:00
Nathan Shively-Sanders
dba552d071 Transform trees rather than produce strings
1. Still pretty janky.
2. Type Reference code doesn't work yet.
3. Other transforms just aren't done.
4. Always replaces, even when there isn't any transformation of JSDoc
types. (This probably isn't an issue since we wouldn't issue an error unless there were
some JSDoc to change.)
2017-07-17 10:02:29 -07:00
Nathan Shively-Sanders
efdba54deb Add codefix for jsdoc types in Typescript
It only handles a few simple types right now, but the skeleton is there.
2017-07-14 16:27:36 -07:00
Andy
680bfbb705 Combine moduleHasNonRelativeName with isExternalModuleNameRelative (#16564) 2017-07-13 13:46:04 -07:00
Mine Starks
fd2dd2edc0 Merge pull request #17078 from minestarks/removeimportfix
Code fix to remove unused named import should preserve default import
2017-07-13 10:53:35 -07:00
Andy
69d3ca774a When adding completions for a module, don't get the type of the module if not necessary. (#16768)
* When adding completions for a module, don't get the type of the module if not necessary.

* Use SymbolFlags.Module alias
2017-07-13 09:20:40 -07:00
Mine Starks
3915d46913 Fix case where we can return [undefined] 2017-07-11 15:10:04 -07:00
Mine Starks
80b64de1e4 Fix comment behavior in remove unused named bindings 2017-07-11 14:53:08 -07:00
Mine Starks
bb063f1b5c Remove incorrect comment 2017-07-11 14:52:48 -07:00
Mine Starks
39e4b1f9e3 Code fix to remove unused import should preserve default import 2017-07-10 14:23:18 -07:00
Andy
e7dc2a67ca Enable "object-literal-shorthand" lint rule (#16987) 2017-07-07 07:26:58 -07:00
Wesley Wigham
4e6b2f3c93 Created a branded type for identifier-escaped strings (#16915)
* Created a branded type for escaped strings

Then flowed it throughout the compiler, finding and fixing a handful of
bugs relating to underscore-prefixed identifiers in the process.
Includes a test for two cases noticed - diagnostics from conflicting
symbols from export *'s, and enum with underscore prefixed member emit.

* Correctly double underscores WRT mapped types

* Add fourslash tests for other fixed issues

* use function call over cast

* Update forEachEntry type accuracy

* Just use escaped names for ActiveLabel

* Remove casts from getPropertyNameForPropertyNameNode

* This pattern has occurred a few times, could use a helper function.

* Remove duplicated helper

* Remove unneeded check, use helper

* Identifiers list is no longer escaped strings

* Extract repeated string-getting code into helper

* Rename type and associated functions

* Make getName() return UnderscoreEscapedString, add getUnescapedName()

* Add list of internal symbol names to escaped string type to cut back on casting

* Remove outdated comments

* Reassign interned values to nodes, just in case

* Swap to string enum

* Add deprecated aliases to escapeIdentifier and unescapeIdentifier

* Add temp var

* Remove unsafe casts

* Rename escaped string type as per @sandersn's suggestion, fix string enum usages

* Reorganize double underscore tests

* Remove jfreeman from TODO

* Remove unneeded parenthesis
2017-07-06 14:45:50 -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
Arthur Ozga
b9885eed5a Only add underscore in
* for-in
* for-of
* parameters
2017-06-08 18:43:02 -07:00
Arthur Ozga
ce5f7072a1 prefix identifiers 2017-06-06 15:23:10 -07:00
Arthur Ozga
f17a612de8 rename codeFix 2017-06-06 13:13:46 -07:00
Arthur Ozga
c179d9a22d Merge pull request #16045 from aozgaa/codeFixAddMissingMethod
Code fix add missing method
2017-06-05 16:50:46 -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
Arthur Ozga
2fb9ab798c repond to feedback 2017-06-01 16:06:53 -07:00
Arthur Ozga
c1d466a716 suppress type annotations in js file 2017-06-01 14:12:25 -07:00
Arthur Ozga
f2163fecbd use length helper 2017-06-01 11:09:08 -07:00
Arthur Ozga
5030d0f468 Use factory for all fixes 2017-06-01 10:49:08 -07:00
Arthur Ozga
21fc30f69b Add support across files and static, js methods 2017-05-31 17:41:35 -07:00
Arthur Ozga
f56be99b11 cleanup 2017-05-23 13:51:00 -07:00
Arthur Ozga
15c029189c testing 2017-05-23 13:32:41 -07:00
Arthur Ozga
420279b99d add missing method 2017-05-23 13:06:15 -07:00
Arthur Ozga
567b10d71c Merge pull request #15545 from aozgaa/atTypesPrefixAndImportSuffix
At types prefix and import suffix
2017-05-22 16:53:04 -07:00
Andy Hanson
dc40f5d6b9 Merge branch 'master' into jsdoc 2017-05-17 07:17:32 -07:00
Andy Hanson
38784b761a Support for JSDoc in services 2017-05-15 14:45:30 -07:00
Arthur Ozga
62dbf12825 Merge branch 'master' into typeToStringViaTypeNode 2017-05-12 13:09:43 -07:00