Commit Graph

26317 Commits

Author SHA1 Message Date
Sheetal Nandi 17ee9231b7 Write first test with --build and --watch 2018-08-21 13:41:30 -07:00
Ryan Cavanaugh 13bd4788d9 Merge pull request #26569 from dsherret/issue26535_FixNullableDocumentRegistryTarget
Document Registry - Provide a default script target
2018-08-21 13:29:12 -07:00
Matt McCutchen 6835a48917 Fixes to the advice for untyped module imports from unknown packages:
- For a sub-module, the `declare module` statement needs to refer to the
  sub-module.

- For an import of "./node_modules/foo", don't show advice to install
  "@types/foo" or `declare module "foo"` because it won't help.

Fixes #26581.
2018-08-21 14:20:35 -04:00
David Sherret 0baf7465a5 Remove todo. 2018-08-21 13:29:32 -04:00
Andy 72886512a6 When --noImplicitAny is enabled, don't report errors suggesting that a 'void' function can be 'new'ed (#26579) 2018-08-21 10:02:02 -07:00
Ron Buckton 42c9208fd1 Merge pull request #26564 from Microsoft/fix26497
Emit lib reference directives in declaration output
2018-08-21 09:48:07 -07:00
Anders Hejlsberg 7c2644a676 Perform depth check for all type instantiations 2018-08-21 06:30:47 -07:00
Ron Buckton aa04ef5ce7 Adjust subModuleName 2018-08-20 20:49:52 -07:00
David Sherret d00ad19bd7 Provide a default script target for the document registry. 2018-08-20 20:59:06 -04:00
Ron Buckton 8398a87da7 Base version test on 'versionMajorMinor' 2018-08-20 17:50:28 -07:00
Ron Buckton 6f7a37c99a Added fourslash test 2018-08-20 17:44:34 -07:00
Ron Buckton 015babb6f7 Initial support for 'typesVersions' 2018-08-20 16:57:18 -07:00
Ron Buckton 1de8cd3f62 Emit lib reference directives in declaration output 2018-08-20 16:54:51 -07:00
Anders Hejlsberg 6a81d4c129 Merge branch 'master' into fixInfiniteConstraints 2018-08-20 16:30:32 -07:00
Anders Hejlsberg 15eaba254b Covariant inferences (other than never) preferred over contravariant 2018-08-20 16:04:11 -07:00
Anders Hejlsberg 103f894d38 Merge pull request #26425 from mattmccutchen/issue-26405
Go back to old narrowing algorithm but don't narrow in cases like #26130
2018-08-20 15:18:29 -07:00
Anders Hejlsberg 44ada08e02 Guard against infinite type instantiations and constraints 2018-08-20 12:41:31 -07:00
Andy 435a12e476 Remove some duplicate code in convertToAsyncFunction unit tests (#26527) 2018-08-17 18:41:18 -07:00
Matt McCutchen cc1c2ab6b2 Go back to the old narrowing algorithm (pre #26143) and avoid #26130 by
skipping narrowing if the old algorithm produces a type to which the
assigned type is not assignable.

This also means we'll no longer narrow for erroneous assignments where
the assigned type is not assignable to the declared type.  This is the
reason for the numericLiteralTypes3 baseline change.

Fixes #26405.
2018-08-17 21:35:03 -04:00
Wesley Wigham d433c6ed05 Track late bound names in binding patterns (#26336) 2018-08-17 16:30:01 -07:00
Wesley Wigham d58b1f664b mark error type in baselines very not-aggressively (#26346) 2018-08-17 15:45:14 -07:00
Sheetal Nandi 8e2c422f2b Disable apis for tsc --build till we have the actual API figured out with tests 2018-08-17 14:38:29 -07:00
Andy 60b8f8c206 Remove unnecessary callback in runBaseline (#26500) 2018-08-17 12:51:30 -07:00
Sheetal Nandi 0f97620b9c Merge pull request #25884 from Microsoft/optimizeOpenExternalProject
Delay load configured project referenced from external project when opening it
2018-08-17 12:26:14 -07:00
Anders Hejlsberg 3e201e7809 Merge pull request #26517 from Microsoft/fixMappedArrayTypeConstraint
Fix mapped array type constraint
2018-08-17 10:52:42 -07:00
Anders Hejlsberg b746da2a68 Merge pull request #26481 from Microsoft/simplifyResolveCall
Simplify call resolution logic
2018-08-17 10:51:12 -07:00
Anders Hejlsberg 9b6f06d83c Correct apparent type for homomorphic mapped types applied to array types 2018-08-17 09:45:09 -07:00
Andy ee25cdecbc Update LKG and remove newly unnecessary non-null assertions (#26515) 2018-08-17 09:13:43 -07:00
Tim Schaub 6fd725f3ea Skip whitespace or asterisk in JSDoc param type and name (#26067) 2018-08-16 16:16:09 -07:00
Andy 746e39e9e9 Set "rootDir" for cancellationToken project (#26498) 2018-08-16 15:12:38 -07:00
Ryan Cavanaugh 7a658256a2 Merge pull request #26431 from mattmccutchen/issue-26430
Mapped types like Pick<T, K> should adopt property documentation from T.
2018-08-16 13:35:55 -07:00
Sheetal Nandi 0ca9a36610 Merge pull request #26420 from Microsoft/largeNonTsFiles
Check large file size only for non ts files
2018-08-16 10:28:24 -07:00
Nathan Shively-Sanders 56f82563ae Check SymbolFlags instead 2018-08-16 08:38:41 -07:00
Anders Hejlsberg 178f792f18 Merge pull request #26340 from Microsoft/neverIndexedAccess
T[K] should be 'never' when T is 'never'
2018-08-15 16:07:11 -07:00
Ron Buckton a901930723 Ensure for-in loop variable is checked 2018-08-15 16:03:28 -07:00
Sheetal Nandi 969b46e44b Merge pull request #26458 from Microsoft/pathMappingResultsToNodeModules
When path mapping results to file in node_modules, mark it as external library
2018-08-15 15:28:50 -07:00
Anders Hejlsberg bfe7f02068 Fix lint errors 2018-08-15 15:25:31 -07:00
Nathan Shively-Sanders cc67ce1141 Property assignments in Typescript (#26368)
* Allow special property assignments in TS

But only for functions and constant variable declarations initialised with
functions.

This specifically excludes class declarations and class expressions,
which differs from Javascript. That's because Typescript supports
`static` properties, which are equivalent to property assignments to a
class.

* Improve contextual typing predicate

Don't think it's right yet, but probably closer?

* More fixes.

The code is still fantastically ugly, but everything works the way it
should.

Also update baselines, even where it is ill-advised.

* Cleanup

* Remove extra whitespace

* Some kind of fix to isAnyDeclarationName

It's not done yet.

Specifically, in TS:
Special property assignments are supposed to be declaration sites (but not all
top-level assignments), and I think I
got them to be. (But not sure).

In JS:
Special property assignments are supposed to be declaration sites (but not all
top-level assignments), and I'm pretty sure ALL top-level assignments
have been declaration sites for some time. This is incorrect, and
probably means the predicate needs to be the same for both dialects.

* Add fourslash and improve isAnyDeclarationName

Now JS behaves the same as TS.

* Cleanup from PR comments
2018-08-15 15:25:25 -07:00
Nathan Shively-Sanders 08eb99d8ec For a this-property assignment with an empty object initializer, use type annotation if present (#26428)
* This-property w/empty object init: use type annotation

* JS initializer type doesn't apply to this-property assignments

* Move getJSExpandoType into getWidenedType* functions

Plus some cleanup.

* Improved style from PR comments

* Parameters are not expando
2018-08-15 14:53:30 -07:00
Daniel Rosenwasser dfef227b18 Merge pull request #26473 from Microsoft/doGlobalImplicitThisRight
Fix bad message for captured global 'this'.
2018-08-15 13:08:38 -07:00
Anders Hejlsberg b96c4cb7b2 Use synthetic arguments instead of GetEffectiveArgumentXXX functions 2018-08-15 12:23:13 -07:00
Sheetal Nandi fea1667002 Use string contains and nodeModulesPathPart const for "/node_modules/" 2018-08-15 11:47:16 -07:00
Sheetal Nandi b983da55fd Merge pull request #26457 from Microsoft/baseUrlPathMappingResolveJsonModule
Do not include json file unless --resolveJsonModule is specified
2018-08-15 11:43:01 -07:00
Andy fd948ac6d2 Fix invalid cast (#26462) 2018-08-15 10:17:18 -07:00
Nathan Shively-Sanders 2bfd919b6a Narrow on element access of literal (#26424)
* Narrow literal element accesses

This means that, for example, the tuple `[number, string?]` allows its
second element to be narrowed with element access:

```ts
export function f(pair: [number, string?]): string {
  return pair[1] ? pair[1] : 'nope';
}
```

* Update baselines

* Cleanup

* More cleanup

* Test dashes in property names

* More cleanup

* Delete undead code
2018-08-15 09:58:39 -07:00
Daniel Rosenwasser dac00d97b7 Do it correctly. 2018-08-15 09:00:23 -07:00
Daniel Rosenwasser d8c82a84e5 Make it better. 2018-08-14 22:55:06 -07:00
Sheetal Nandi b9bd0d9a3f Merge pull request #26451 from Microsoft/nonRecursiveOnHostsWithoutRecursiveSupport
Return the nonrecursive directory watcher correctly on platforms that  dont support recrusive directory watching
2018-08-14 17:12:48 -07:00
Sheetal Nandi 1dd3cd288e Make file as externalLibrary import if path contains node_modules 2018-08-14 16:27:18 -07:00
Sheetal Nandi af71d55a49 Do not include json file unless --resolveJsonModule is specified
Fixes #26402
2018-08-14 16:23:13 -07:00