Commit graph

18968 commits

Author SHA1 Message Date
ikatyang
eee6851911 Retain literal type for prefix plus on number literal 2017-07-26 14:39:26 +08:00
Andy
f667357aad Use ReadonlyArray in utilities.ts (#17413) 2017-07-25 15:46:29 -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
Andy
30d973bdcb Rename symbol.name to escapedName and make name unescaped (#17412) 2017-07-25 14:22:26 -07:00
Andy
e515151ba4 Remove unnecessary MapLikes in commandLineParser (#17324)
* Remove unnecessary `MapLike`s in commandLineParser

* Fix typo

* Inline knownKeysCount
2017-07-25 14:19:17 -07:00
Nathan Shively-Sanders
58ad164813 Update baselines 2017-07-25 14:14:45 -07:00
Nathan Shively-Sanders
c55a043767 Address PR comments from Andy
I'll take a look at Wesley's next and see if those require any changes.
2017-07-25 14:14:12 -07:00
Andy
c1375d5422 generateTSConfig: Remove unnecessary variable (#17330) 2017-07-25 13:30:48 -07:00
Andy
eadd084c82 Add 'name' property to Identifier (#17329)
* Add 'name' property to Identifier

* Rename to unescapedText

* Rename 'id.text' to 'id.escapedText'

* Rename 'id.unescapedText' to 'id.text'

* Make escapeIdentifier and unescapeIdentifier do nothing
2017-07-25 13:16:34 -07:00
Andy
d4f8da0272 Revert #17074 (#17326)
* Revert #17074

* Also revert comment
2017-07-25 13:15:45 -07:00
Daniel Rosenwasser
109732a16a Merge pull request #17405 from Microsoft/publishParallel
Make the 'publish-nightly' target run tests in parallel.
2017-07-25 11:26:59 -07:00
Daniel Rosenwasser
1002974c92 Make the 'publish-nightly' target run tests in parallel. 2017-07-25 10:50:46 -07:00
Nathan Shively-Sanders
1fb6d349f1 Test:use type param constraints for computed prop types 2017-07-25 09:39:54 -07:00
Nathan Shively-Sanders
43981eaa48 Use type param constraints for computed prop types 2017-07-25 09:38:55 -07:00
vvakame
d1459f7e9c Add SpaceBetweenOpenParens rule 2017-07-25 18:24:04 +09:00
Ron Buckton
d74cb24640 Merge pull request #17354 from weswigham/fix-parameter-parsing-infinite-loop
Fix parameter parsing infinite loop
2017-07-24 18:21:10 -07:00
Andy
a70b50ae7c getResolvedModule: Don't need to call hasResolvedModule (#16423)
* getResolvedModule: Don't need to call hasResolvedModule

* Don't call tryGetModuleNameFromDeclaration on a synthesized importNode

* Apply suggested changes
2017-07-24 17:51:37 -07:00
Wesley Wigham
98d5830831
Use scanner position instead of node members 2017-07-24 17:51:35 -07:00
Anders Hejlsberg
1d9c3e1c22 Add repro 2017-07-24 17:07:24 -07:00
Anders Hejlsberg
a48b2229cb Accept new baselines 2017-07-24 17:07:11 -07:00
Anders Hejlsberg
f6ed29df3a Add tests 2017-07-24 17:06:45 -07:00
Wesley Wigham
06beee1cc8
Much simpler fix, rolls in really old fix, removed unused comment 2017-07-24 15:16:21 -07:00
Anders Hejlsberg
47e6aef858 Given T extends Foo, make Partial<T> related to Partial<Foo> 2017-07-24 13:59:43 -07:00
Andy
eee4c618e2 Indent list of open files (#17255) 2017-07-24 13:32:43 -07:00
Andy
7702d15cf3 Add current time to tsserver logs (#17268) 2017-07-24 13:32:23 -07:00
Wesley Wigham
7040df2094
Tests covering the bug 2017-07-21 17:30:01 -07:00
Wesley Wigham
e7bf44e820
Fix for loop which retains jsdoc behaviors 2017-07-21 17:20:56 -07:00
Nathan Shively-Sanders
59961394cb @param parsing:const enum to improve readability 2017-07-21 15:07:20 -07:00
Nathan Shively-Sanders
e942bbb6f2 Test: jsdoc @param type literals 2017-07-21 14:49:07 -07:00
Nathan Shively-Sanders
8d2d226aca Update JSDocParsing unit test baselines 2017-07-21 14:48:48 -07:00
Nathan Shively-Sanders
7ff91c1e1c Parse jsdoc type literals in params
Now Typescript supports the creation of anonymous types using successive
`@param` lines in JSDoc:

```js
/**
 * @param {object} o - has a string and a number
 * @param {string} o.s - the string
 * @param {number} o.n - the number
 */
function f(o) { return o.s.length + o.n; }
```

This is equivalent to the Typescript syntax `{ s: string, n: number }`,
but it allows per-property documentation, even for types that only need
to be used in one place. (`@typedef` can be used for reusable types.)

If the type of the initial `@param` is `{object[]}`, then the resulting
type is an array of the specified anonymous type:

```js
/**
 * @param {Object[]} os - has a string and a number
 * @param {string} os[].s - the string
 * @param {number} os[].n - the number
 */
function f(os) { return os[0].s; }
```

Finally, nested anonymous types can be created by nesting the pattern:

```js
/**
 * @param {Object[]} os - has a string and a number
 * @param {string} os[].s - the string
 * @param {object} os[].nested - it's nested because of the object type
 * @param {number} os[].nested.length - it's a number
 */
function f(os) { return os[0].nested.length; }
```

Implementation notes:

1. I refactored JSDocParameterTag and JSDocPropertyTag to
JSDocPropertyLikeTag and modified its parsing to be more succinct. These
changes make the overall change easier to read but are not strictly
required.
2. parseJSDocEntityName accepts postfix[] as in `os[].nested.length`,
but it doesn't check that usages are correct. Such checking would be
easy to add but tedious and low-value.
3. `@typedef` doesn't support nested `@property` tags, but does support
`object[]` types. This is mostly a practical decision, backed up by the
fact that usejsdoc.org doesn't document nested types for `@typedef`.
2017-07-21 14:04:14 -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
Andy
f0bd91c314 Convert Array to ReadonlyArray/Push in commandLineParser.ts (#17323) 2017-07-21 07:16:22 -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
98b14e34ca Fix quote styles to match 2017-07-20 15:10:29 -07:00
Armando Aguirre
fe86d2fc06 Merge pull request #17257 from armanio123/FixNodeModulesTodos
Added node_modules path check on getTodoComments method.
2017-07-20 14:58:36 -07:00
Ron Buckton
8fa1d2e3e6 Merge pull request #17141 from Microsoft/master-17060
Fix 17060 : incorrect emit for dynamic import inside elements of  export class declaration
2017-07-20 12:11:10 -07:00
Wesley Wigham
7cb8ce4346 Fix exceptions on empty tuple errors (#17311)
* Fix exceptions on empty tuple errors

* Remove bonus semicolon

* Invert condition
2017-07-20 10:09:55 -07:00
Andy
1f09af9ab6 simplify isFileSystemCaseSensitive test (#17169) 2017-07-20 10:02:59 -07:00
Andy
c60774b4c6 Make many 'static' variables readonly (#17306) 2017-07-20 08:54:47 -07:00
Nathan Shively-Sanders
759ee288f2 Merge pull request #17314 from gcnew/checkTypeGuardConstraintConformance
Check type guard constraint conformance
2017-07-20 07:49:39 -07:00
Andy
53e4040ceb Remove duplicate emptyArrays (#17305) 2017-07-20 06:45:22 -07:00
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