Commit graph

27092 commits

Author SHA1 Message Date
Nathan Shively-Sanders 32054f1c31
Forbid accessing block-scoped variables on globalThis (#30510)
* Forbid accessing const & let on globalThis

It's just an error; you still get the type of the property.

* Disallow access of blockscoped vars on globalThis

Also change Array, Function, String, et al from `const` to `var` so that
they remain accessible via `globalThis.String`.

* Update baselines after lib.d.ts change

Note especially the change in redefineArray, which is now allowed as
long as you provide a type that is assignable to ArrayConstructor.

* Remove blockscoped vars from typeof globalThis

Unlike forbidding them, this removes the properties entirely.

Unfortunately, this means that accessing these properties is only an
error with noImplicitAny, and that error is quite confusing.

Let's discuss our options. I see 3:

1. Forbid access of block-scoped vars as properties (in all flag
settings), but leave them on the type. Simple to implement.
2. Remove block-scoped vars from the globalThis type. Has the bad
error/flag behaviour described above, but simple to implement.
3. Remove block-scoped vars from the globalThis type. Also, forbid
accessing them by executing another resolveName lookup for failed
property accesses on globalThisSymbol. If the second lookup returns a
blockscoped var, issue an error instead of falling back to the index
signature. This seems too complex to me.

* Update baselines

* Better error for block-scoped usage on globalThis

So that value-space references have as clear an error as type-space
references.

* Update fourslash tests

* Fix semi-colon lint

* Don't copy so much when filtering blockscoped vars
2019-03-25 14:07:48 -07:00
Wesley Wigham e20b87f66d
Add script for posting perf results back to GH (#30526)
* Add script for posting perf results back to GH

* Slightly more logging, use html url, not api url, lol

* Log even more, nonzero exit code on error
2019-03-22 17:39:20 -07:00
Gabriela Araujo Britto 0f6f3b79b5
Fix find all references of inherited constructor (#30514)
* recursively look for inherited constructor references

* add test

* remove outdated comment

* add tests

* move function

* improve tests

* minor refactor

* fix convert params refactoring to deal with inherited constructor calls

* simplify refactor test
2019-03-22 15:17:50 -07:00
Wesley Wigham 1639a5a2c2
Handle huge unions better in createUnionOrIntersectionProperty (#30411)
* Handle huge unions better in createUnionOrIntersectionProperty

* Mimic first-in-wins behavior of pushIfUnique to retain order

* !props -> props.length === 0 (why dont we warn on that ffs)

* Avoid collection into an array if there are no properties
2019-03-22 09:56:39 -07:00
Wesley Wigham b86dea03f2
Fix crash caused by cyclic defaults (#30532) 2019-03-21 18:27:14 -07:00
Sheetal Nandi e72f006664
Merge pull request #30524 from Microsoft/moduleResolutionError
Report output file not built error for any module resolution that ends up to source file
2019-03-21 10:05:49 -07:00
Sheetal Nandi 8da384d32a Report output file not built error for any module resolution that ends up to source file
Fixes #29918
2019-03-21 08:55:12 -07:00
TypeScript Bot adf760acf0 Update user baselines (#30521) 2019-03-21 08:33:22 -07:00
Ron Buckton 2932421370
Merge pull request #30495 from Microsoft/fix29427
Adjust offset to account for 'this' parameter when emitting parameter decorators
2019-03-20 12:56:50 -07:00
Sheetal Nandi 800f7a3447
Merge pull request #30414 from Microsoft/jsSyntaxCompletions
Filter ts only keywords from js file completion
2019-03-20 10:38:11 -07:00
Sheetal Nandi fa9705455f
Merge pull request #30438 from Microsoft/tsconfigChangeDetection
Check oldest output time with tsconfig time to see if its out of date
2019-03-20 10:28:23 -07:00
Sheetal Nandi e94b7d8b37 Check extended tsconfig time with oldest output time to report not upto date 2019-03-19 17:19:15 -07:00
Sheetal Nandi 8cef0c592a Merge branch 'master' into tsconfigChangeDetection 2019-03-19 16:54:25 -07:00
Ron Buckton cfb0adeadf
Merge pull request #28609 from ajafff/class-decorator-generics
resolve TypeReference in class decorator at parent of class
2019-03-19 15:46:58 -07:00
Ron Buckton a0f122baa7
Merge pull request #30494 from Microsoft/fix29561
Prevent substitution of 'super' in async super helper
2019-03-19 15:42:20 -07:00
Sheetal Nandi 519426407b
Merge pull request #30492 from Microsoft/prettyBuild
Ensure --pretty with --build is passed correctly to create reporters
2019-03-19 12:11:09 -07:00
Ron Buckton 07bec2893f Adjust offset to account for 'this' parameter when emitting parameter decorators 2019-03-19 11:46:18 -07:00
Ron Buckton e19c7f1a45 Prevent substitution of 'super' in async super helper 2019-03-19 11:35:18 -07:00
Ron Buckton 4b3178cf77
Merge pull request #30491 from Microsoft/fix30066-master
Fix _superIndex emit when super access captured in async arrow
2019-03-19 11:26:40 -07:00
Sheetal Nandi 0bcc46a4e3 Ensure --pretty with --build is passed correctly to create reporters
Fixes #30282
2019-03-19 10:53:06 -07:00
Ron Buckton 4e54f30fb4 Fix _superIndex emit when super access captured in async arrow 2019-03-19 10:20:08 -07:00
Gabriela Araujo Britto 84087d0e0a
Use shorthand property assignment in convert parameters to object (#30468)
* create shorthand property assignment in argument object when possible

* add shorthand property assignment test

* don't offer refactor on jsdoc comment

* add jsdoc test

* improve jsdoc test

* use crlf
2019-03-19 09:28:09 -07:00
Wesley Wigham 9e28a811c5
Remove circularity fallback deferral in getConditionalType (#30470) 2019-03-18 16:35:41 -07:00
Wesley Wigham 3127962cd1
Fix authors script (#30440) 2019-03-18 12:26:27 -07:00
Sheetal Nandi e5521630fb
Merge pull request #30439 from Microsoft/forceBuild
Passing --force option to build, builds project from start
2019-03-18 11:15:25 -07:00
Gabriela Britto 10b9051624
Fix convert to named parameters rest parameter tuple (#30286)
* check if rest parameter is of tuple type in isOptionalParameter

* expose isArrayType and isTupleType in checker

* don't offer refactor if rest parameter type is neither array nor tuple type

* add tests for rest parameters

* fix tests for renamed refactor

* remove unnecessary conditional operator
2019-03-18 10:31:38 -07:00
TypeScript Bot d8591a82df Update user baselines (#30463) 2019-03-18 09:21:16 -07:00
Masahiro Wakame 18b8625ef8 fix error on globalThis type extend (#30460)
* Add test for extend globalThis

* Fix compile aborting
2019-03-18 09:18:27 -07:00
Anders Hejlsberg d0646a629a
Merge pull request #30084 from dragomirtitian/GH-26563
Improved argument description for parameters originating from tuples
2019-03-18 06:14:52 -10:00
Anders Hejlsberg 02963b4e17
Merge pull request #30443 from Microsoft/fixTypeInferenceLogicError
Fix logic error introduced in #30334
2019-03-18 08:49:16 -07:00
Anders Hejlsberg 36cf12fe0a
Merge pull request #30363 from Microsoft/fixTypeParameterPromotion
Higher order type parameter promotion fixes
2019-03-18 08:48:03 -07:00
Anders Hejlsberg e9eb73bfe6 Accept new baselines 2019-03-17 17:39:16 -10:00
Anders Hejlsberg b6aff98fd7 Add test relating type predicates with and without this parameters 2019-03-17 17:39:08 -10:00
Anders Hejlsberg 3dd0814069 Make IdentifierTypePredicate.parameterIndex index into signature.parameters 2019-03-17 15:58:13 -10:00
Nathan Shively-Sanders 658798032b
Fix globalThis completions (#30441)
* Fix, but with test not quite right

* Add missing completions to test

* Remove out-of-date comment
2019-03-15 19:10:39 -07:00
Anders Hejlsberg 084d14a399 Fix logic error introduced in #30334 2019-03-15 15:57:22 -10:00
Sheetal Nandi 52641c531a Passing --force option to build, builds project from start 2019-03-15 16:04:10 -07:00
Sheetal Nandi cabf72b514 Revert "Passing --force option to build, builds project from start"
This reverts commit 434fa94bdc.
2019-03-15 16:03:36 -07:00
Sheetal Nandi 434fa94bdc Passing --force option to build, builds project from start 2019-03-15 16:02:00 -07:00
Sheetal Nandi 3b607df658
Merge pull request #30437 from Microsoft/validSourceFile
Add more information when getValidSourceFile cant find the file in question.
2019-03-15 15:46:29 -07:00
Sheetal Nandi ce490e1c77 Check oldest output time with tsconfig time to see if its out of date
Fixes #26503
2019-03-15 15:45:51 -07:00
Sheetal Nandi 34a7b7bbd8 implements not a keyword in js 2019-03-15 15:21:38 -07:00
Sheetal Nandi e78f52d246 Add more information when getValidSourceFile cant find the file in question.
Log for #30180
2019-03-15 15:03:45 -07:00
Nathan Shively-Sanders 0f598db3e5
Fixes #29524, a merged UMD-global (#30403)
This kind of merged symbol causes crashes in two places because it's
marked BlockScoped, which makes us assume that it must be something that
is inside a SourceFile. However, block-scoped checks don't make sense
for this kind of symbol, so I exclude them by looking at the kind of
the valueDeclaration, as @mprobst suggested in the original bug.
2019-03-15 09:45:33 -07:00
Sheetal Nandi ad740f226e Duh!! Static is allowed in JS. 2019-03-15 09:07:23 -07:00
Wesley Wigham 563593b8be
Enable better error spans for async functions (#30413) 2019-03-14 17:10:42 -07:00
Sheetal Nandi f829f958a2 Filter ts only keywords from js file completion
Fixes #29212
2019-03-14 15:52:50 -07:00
Sheetal Nandi 81ed511de2
Merge pull request #30402 from Microsoft/resolveJsonModule
Handle json files included in the project from project reference redirect
2019-03-14 15:50:18 -07:00
Sheetal Nandi b7c8e0951d Merge branch 'master' into resolveJsonModule 2019-03-14 15:13:39 -07:00
Sheetal Nandi da48790dac
Merge pull request #30410 from Microsoft/fixNonDeterministicTest
Fix non deterministic test of tsbuild
2019-03-14 14:36:52 -07:00