Commit Graph

35940 Commits

Author SHA1 Message Date
Nathan Shively-Sanders 25454de2a3 Merge pull request #17313 from Microsoft/fix-tslint-typeOperatingSpacingRule
Fix typeOperatingSpacingRule:use ReadonlyArray
2017-07-19 17:58:53 -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
gcnew 0654fa285c Added tests 2017-07-20 02:59:33 +03:00
Nathan Shively-Sanders ca2a8e8518 Fix typeOperatingSpacingRule:use ReadonlyArray 2017-07-19 16:59:27 -07:00
gcnew e52ed1a23a Check the return type of type guard functions 2017-07-20 02:49:20 +03:00
Armando Aguirre 9bdd17e842 Added explanation comment for excluding files. 2017-07-19 15:42:01 -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
Andy d99694614a Simplify use of array helpers (#17301) 2017-07-19 11:23:41 -07:00
Andy d918b8ad4e Remove duplicate helper (#17296) 2017-07-19 11:23:14 -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 cfa94c2d34 Binder: handle JS property assignment that comes after a method declaration with the same name (#16830) 2017-07-19 09:11:50 -07:00
Andy ea0bce511b MultiStepOperation: No need to create a 'NextStep' object, just use self as the NextStep (#17174) 2017-07-19 07:52:18 -07:00
Wesley Wigham 8075353356 Appropriately parenthesize keyof and typeof queries in array types (#17272)
* Appropriately parenthesize keyof and typeof queries when they are array types

* Fix test and then the same bug in the symbol writer
2017-07-18 15:08:53 -07:00
Andy 08a57d82cd Add 'clear' helper (#17209) 2017-07-18 11:08:44 -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
Andy 80b19a09a1 Introduce a ReadonlyMap interface and use it in core.ts (#17161) 2017-07-18 10:26:11 -07:00
Andy 0a8ddca775 getJSDocParameterTags: no need to handle JSDocFunctionType, just return undefined (#16837)
* getJSDocParameterTags: no need to handle JSDocFunctionType, just return undefined

* Fix type error
2017-07-18 10:22:52 -07:00
Nathan Shively-Sanders fb89d47508 Merge pull request #17252 from Microsoft/contextually-type-this-in-object-literals-in-javascript
Contextually type this in object literals in JS
2017-07-18 10:18:10 -07:00
Nathan Shively-Sanders 95f5bc1ee0 Add unknown property to test of contextual this type 2017-07-18 10:01:22 -07:00
Andy 068b17a1b8 ParameterDeclaration: name may be undefined (#17074) 2017-07-18 09:47:19 -07:00
Wesley Wigham 695514290f Fix #17023 (#17180)
* Fix #17023

* Be more general when handling matching references through binding elements

* Better cache key, PR feedback

* Deeper tests, better cache key handling
2017-07-18 09:12:25 -07:00
Nathan Shively-Sanders 7d7a06dbc2 Merge pull request #17250 from Microsoft/quickfix-jsdoc-in-ts
Quickfix jsdoc in Typescript files
2017-07-18 08:59:19 -07:00
Nathan Shively-Sanders 1b7faf10ac Merge pull request #17254 from Microsoft/generic-Object-jsdoc-creates-index-signature
JSDoc:Object<string, T> creates index signature
2017-07-18 08:48:56 -07:00
Nathan Shively-Sanders 65e8da134c Add jsdoc to getNullableType now that it's public 2017-07-18 08:48:12 -07:00
Homa Wong e8f674fafb Update es5.d.ts 2017-07-18 00:58:05 -07:00
Wesley Wigham 8a1cd33451 Use jsdoc casts (#17251)
* Allow jsdoc casts of parenthesized expressions

* Feedback from #17211
2017-07-17 23:39:20 -07:00
Armando Aguirre 6f28f83f18 Added node_modules path check on getTodoComments method. 2017-07-17 17:35:46 -07:00
Sheetal Nandi ff34a77ab6 Merge branch 'master' into watchImprovements 2017-07-17 16:54:28 -07:00
Sheetal Nandi 2439e7affb Reduce the number of watched config files by watching the chain only in case of inferred root 2017-07-17 16:50:26 -07:00
Nathan Shively-Sanders 047ab9b0e3 Update name of getIntendedTypeFromJSDocTypeReference 2017-07-17 16:23:42 -07:00
Nathan Shively-Sanders 3b7a07c441 Fix lint 2017-07-17 16:21:54 -07:00
Nathan Shively-Sanders 1173dc104a Improve naming and style a little 2017-07-17 16:18:09 -07:00
Nathan Shively-Sanders 10a91c5426 JSDoc:Object<string, T> creates index signature
And `Object<number, T>` creates a numeric index signature. Other uses
still create `any` as before.
2017-07-17 16:14:42 -07:00
Nathan Shively-Sanders 08ae02263a Contextually type this in object literals in JS
Previously, `this` would only get a contextual type inside object
literals with `--noImplicitThis` turned on in Typescript files.
2017-07-17 15:59:18 -07:00
Nathan Shively-Sanders 73cfa64f44 Make sure not to truncate the stringified type from typeToString 2017-07-17 14:47:10 -07:00
Andy de9a67f2f3 Issue template: Recommend to run tsc directly (#17246)
* Issue template: Recommand to run `tsc` directly

* List some common build tools
2017-07-17 14:45:21 -07:00
Sheetal Nandi 54dfdd77fb Merge pull request #17210 from Microsoft/readfile
`readFile` may return undefined
2017-07-17 14:39:57 -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 cbe7b4dba3 Update jsdoc codefix tests; test function(...) syntax 2017-07-17 14:11:06 -07:00
Andy 5d46ca7118 Reuse stored types for any[] and Promise<any> instead of creating new ones (#17179)
* Reuse stored types for any[] and Promise<any> instead of creating new ones

* Don't store anyPromiseType
2017-07-17 12:56:58 -07:00
Andy 2a219af308 convertFunctionToEs6Class: Bail if this is not a JavaScript file (#17149) 2017-07-17 12:56:16 -07:00
Andy Hanson 2ce23909b2 Fix error message 2017-07-17 12:39:01 -07:00
Sheetal Nandi 62ef6b1cda Added another todo as now we are watching too many files 2017-07-17 12:37:36 -07:00
Andy 6cf30fbccf Fix bug in importTracker: getExportNode must verify that we are on the LHS of a VariableDeclaration (#17205) 2017-07-17 12:29:29 -07:00
Andy 555776eb3c Minor cleanups in builder (#17208)
* Minor cleanups in builder

* Use enumerateInsertsAndDeletes
2017-07-17 12:24:56 -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 e98ac8d970 Merge branch 'parse-jsdoc-with-ts-type-parser' into quickfix-jsdoc-in-ts 2017-07-17 08:42:00 -07:00
Nathan Shively-Sanders 240f1f1be4 Merge pull request #17176 from Microsoft/parse-jsdoc-with-ts-type-parser
Parse jsdoc with normal TS type parser
2017-07-17 08:41:06 -07:00