Commit Graph
22461 Commits
Author SHA1 Message Date
Ron Buckton 8eba362a01 Fix for relating covered discriminants in unions 2020-07-02 11:09:14 -07:00
csigs 3d4422adf1 LEGO: check in for master to temporary branch. 2020-07-02 10:10:42 +00:00
Ron BucktonandGitHub 7b942b4fa8 Revert the type change to ts.Map (#39366) 2020-07-01 17:00:26 -07:00
csigs 222d47e878 LEGO: check in for master to temporary branch. 2020-07-01 16:10:50 +00:00
Nathan Shively-SandersandGitHub df5981319f Fix crash on completion in jsdoc namepath (#39347)
contextToken may be undefined, so the isAssertionExpression call in
filterGlobalCompletion needs to check for undefined.
2020-06-30 15:53:13 -07:00
Nathan Shively-SandersandGitHub 0f9d4c78d4 JSDoc uses same newlines as normal scanner (#39351)
* JSDoc uses same newlines as normal scanner

Previously, scanJsDocToken treated each newline character separately, so
the sequence \r\n would be treated as two lines. This is unexpected, and
not the way the normal scanner does it.

This change makes the jsdoc scanner behave the same as the normal
scanner.

* fix lint in test
2020-06-30 15:16:45 -07:00
Andrew BranchandGitHub e2c5a90cc3 Disable signature help on unresolved bare identifiers; add more declaration info on other unresolved calls (#39352)
* Disable signature help on unresolved bare identifiers; add more declaration info on unresolvedproperty access

* Remove stray ts-ignore
2020-06-30 14:25:27 -07:00
Wesley WighamandGitHub ff1f449b99 Fix type of computed name following spread (#39319) 2020-06-30 13:37:59 -07:00
Alexander TandGitHub 8b6a88700e fix(32297): add quick-fix action to delete parameter destructuring elements (#38764) 2020-06-30 11:44:47 -07:00
Daniel RosenwasserandGitHub a812a7449d Merge pull request #38792 from microsoft/reportBaseAgainstBooleans 2020-06-30 01:58:51 -07:00
Daniel RosenwasserandGitHub 1bbd5ef36b Merge pull request #38754 from a-tarasyuk/feat/25259
feat(25259): Better error report for equals instead of colon in object literals
2020-06-30 01:56:26 -07:00
Daniel 40c3ffec91 Add assertion. 2020-06-30 01:33:32 -07:00
Daniel ef40ed1ee6 Exempt bare 'boolean's from the check. 2020-06-30 01:12:45 -07:00
Alexander T 21a26ca08a feat(25259): add better error to report for equals instead of the colon in object literals 2020-06-30 10:33:56 +03:00
Daniel RosenwasserandGitHub 619658bd44 Merge pull request #39109 from Kingwl/lambda_span
Add outlining spans for call expression or arrow body
2020-06-29 23:33:04 -07:00
Anders HejlsbergandGitHub 784396ce95 Infer implied arity before inferring from 'this' argument (#39328)
* Infer implied arity before inferring from 'this' argument

* Add regression test
2020-06-29 17:38:41 -07:00
Anders HejlsbergandGitHub 9458f8acab Consistent narrowing to 'never' in conditional and switch statements (#39191)
* Allow unions and unit types to narrow to 'never'

* Remove odd check for TypeFlags.NotUnionOrUnit

* Accept new baselines

* Accept new API baselines
2020-06-29 15:25:00 -07:00
Anders HejlsbergandGitHub b448540644 No speculative inferences for variadic tuples (#39281)
* No speculative inferences to types like [...T, U?]

* Add tests
2020-06-29 15:24:32 -07:00
Daniel RosenwasserandGitHub 57dd722ab6 Merge pull request #38776 from a-tarasyuk/bug/29890
fix(29890): JSX: "extract to constant" generates invalid code
2020-06-29 14:09:52 -07:00
Wesley WighamandGitHub 99bec5067b Use mapped rest type member when expanding rest parameter names (#39317)
* Use mapped rest type member when expanding rest parameter names

* Add test for #39228 which is also fixed by parameters having unique names
2020-06-29 12:30:23 -07:00
Alexander TandGitHub ee5c3fa57d fix(39047): handle extra spaces after the catch statement (#39306) 2020-06-29 10:10:44 -07:00
Andrew BranchandGitHub 58ed610ef1 Allow distinct string enum members with identical property names to form unions in mapped types (#39101) 2020-06-29 10:08:17 -07:00
csigs 5f04915ccb LEGO: check in for master to temporary branch. 2020-06-29 16:10:37 +00:00
csigs 6ed9d56cca LEGO: check in for master to temporary branch. 2020-06-28 16:10:45 +00:00
Alexander T c75af697af fix(29890): wrap variable/method/property to jsx expression 2020-06-28 10:51:11 +03:00
csigs 80482e4af8 LEGO: check in for master to temporary branch. 2020-06-26 22:11:14 +00:00
Andrew BranchandGitHub 3d22a4fd72 Preserve newlines between try/catch/finally, if/else, do/while (#39280)
* Preserve newlines between try/catch, if/else, do/while

* Update baselines
2020-06-26 14:48:19 -07:00
ShuiRuTianandGitHub 4601a786aa not narrow static property without type annotation in constructor. (#39252)
* fix #39226

* fix lint.
2020-06-26 11:08:35 -07:00
Ron BucktonandGitHub eb2f4e2337 Switch to ES Map/Set internally (#33771)
* Add full implemention of Map and Set to shims

* Update default Map interface

* Remove WeakMap/WeakSet

* Add tests for set shim

* Update most usages of Map<K, true> to Set

* PR Feedback

* Fix lint issues

* Change key in fsWatchCallback

* Simpler shim, more tests

* Fix typo in collection shim
2020-06-26 10:12:47 -07:00
Alexander TandGitHub 95690c0aca fix(38840): omit completions for a spread like argument in a function definition (#38897) 2020-06-26 09:38:05 -07:00
Alexander TandGitHub 59f80970d9 fix(38785): include in NavigationBar child items from default exported functions (#38915) 2020-06-26 09:35:27 -07:00
csigs 02d7c1ea1b LEGO: check in for master to temporary branch. 2020-06-26 16:10:42 +00:00
csigs bf128ed7c9 LEGO: check in for master to temporary branch. 2020-06-26 04:10:37 +00:00
Wenlu WangandGitHub 6b4d0bff40 Avoid effect of element access expression (#39174)
* Avoid effect of element access expression

* Avoid unnecessary copy

* Add more tests
2020-06-25 17:38:05 -07:00
Anders HejlsbergandGitHub ee4aee0531 Handle 'keyof' for generic tuple types (#39218)
* Handle keyof T where T is generic tuple type

* Add tests

* Accept new baselines

* Address CR feedback

* Accept new baselines
2020-06-25 13:49:20 -07:00
Anders HejlsbergandGitHub 8df85b5cae Disable unsound T[K] rule in subtype relations (#39249)
* Disable unsound T[K] rule in subtype relations

* Add test
2020-06-25 10:22:48 -07:00
csigs 4eea47e830 LEGO: check in for master to temporary branch. 2020-06-25 16:10:42 +00:00
Ron BucktonandGitHub cc7cb9eadb Upgrade typescript-eslint version (#39242)
* Upgrade typescript-eslint version

* Update TS version used by typescript-eslint
2020-06-24 16:43:03 -07:00
Wesley WighamandGitHub a3ee09ddc9 Handle recursive type references up to a certain level of expansion in inference (#38011)
* Handle recursive type references up to a certain level of expansion in inference

* Move object cases into the same conditional branch
2020-06-24 14:24:34 -07:00
Wesley WighamandGitHub d1ebf126d2 Do not consider binding patterns in contextual types for return type inference where all the signature type parameters have defaults (#39081) 2020-06-24 13:45:17 -07:00
csigs 038f0115c6 LEGO: check in for master to temporary branch. 2020-06-24 16:10:43 +00:00
Wesley WighamandGitHub 7893c9fc7e Do not add reexported names to the exportSpecifiers list of moduleinfo (#39213) 2020-06-23 17:56:44 -07:00
Ron BucktonandGitHub 0b1d4a9c96 Leverage syntax cursor as part of reparse (#39216) 2020-06-23 17:32:58 -07:00
csigs 906d2172c9 LEGO: check in for master to temporary branch. 2020-06-23 04:10:38 +00:00
Anders HejlsbergandGitHub d4792062bf Variadic tuple types (#39094)
* Initial implementation of variadic tuple types

* Accept new baselines

* Handle variadic elements in tuple type inference

* Special case inference between tuples with matching structure

* Restore check that rest element is last element

* Handle variadic tuples in relationship checking

* Accept new baselines

* Infer readonly constraints when inferring from readonly tuples

* Fix lint issues

* T assignable to readonly [...T] and [...T] assignable to T

* Consistent tuple normalization

* Create variadic tuple types from array literal expressions

* Accept new baselines

* Array literals have tuple types when contextual type is readonly

* Accept new baselines

* Optional elements before required elements become required elements

* Update logic for rest parameters and spread arguments

* Revert special case of contextual readonly array type

* Accept new baselines

* Fix lint issue

* Switch entirely to createTupleType based on element flags

* Don't infer readonly tuple types when inferring to variadic elements

* Handle mapped types applied to generic tuple types

* Handle constraint of indexed access type with generic tuple type

* Accept new baselines

* Address CR feedback

* Simplify indexed access types involving generic tuple types

* Propagate checkMode into getSpreadArgumentType

* Guard against missing globalArrayType

* Inference to [...T, ...U] based on implied arity of T

* Accept new baselines

* Add tests

* Emit .d.ts from tests

* Address CR feedback
2020-06-22 18:35:43 -07:00
Daniel RosenwasserandGitHub e6aedfd38b Merge pull request #37907 from Jack-Works/feat/class-to-classname
feat: add a codefix to fix class to className in react & add spelling suggest for JSX attributes
2020-06-22 18:32:24 -07:00
Jack Works 8dc4f7e3d2 chore: resolve suggestions 2020-06-23 08:06:46 +08:00
086e00de91 Expand auto-import to all package.json dependencies (#38923)
* Start experiment

* Add logging

* Go back to a single program

* Fix forEachExternalModuleToImportFrom

* Move auxiliary program to language service

* Add logging

* Don’t use resolution cache

* Fix(?) containingProjects for ScriptInfo in auxiliary program

* Fix ScriptInfo project inclusion

* Add test for default project of auto-importable ScriptInfo

* Add fourslash server test

* Don’t create auto import provider inside node_modules

* Add monorepo-like test

* WIP

* Naively ensure autoImportProvider is up to date after package.json change

* Start limiting when auto update provider gets updated

* Respond to changes in node_modules

* Don’t create auto-import provider until a file is open that would use it

e.g., don’t create them during cross-project find-all-refs

* Clean up naming, @internal marking, and fix empty project creation bug

* Drop devDependencies, include peerDependencies

* Add additional compiler options

* Fix interaction with importSuggestionsCache

* Move option to UserPreferences, allow inclusion of devDependencies

* Don’t filter out peerDependencies

* Watch unparseable package.jsons

* But don’t filter packages out due to an invalid package.json

* Update test

* Don’t use autoImportProvider in codefixes where it can never be used (or any refactors)

* Add CompletionEntry property for telemetry

* Add assertion for isPackageJsonImport to fourslash

* Fix missing pushSymbol argument

* Add isPackageJsonImport to tests and API baselines

* Fix unit test

* Host auto import provider in new Project kind

* Fix InferredProject attaching on AutoImportProvider-included files, load eagerly

* Update Public APIs

* Simplify PackageJsonCache host

* Remove unneeded markAsDirty

* Defer project finished event until after AutoImportProvider is created

* Make AutoImportProviderProject always report isOrphan = true

* Close and remove AutoImportProviderProject when host project closes

* Don’t set pendingEnsureProjectForOpenFiles

* Use hasAddedOrRemovedFiles instead of hasNewProgram

* Use host-wide watchOptions for package.json watching

* Add to `printProjects`

* Clean up

* Get autoImportProvider directly from LanguageServiceHost

* Clean up

* Clean up

* Close auto import provider on disableLanguageService

* Move AutoImportProvider preload to project updateGraph

* Clear auto import suggestion cache when provider program changes

* Fix tests

* Revert yet-unneeded change

* Use projectService host for module resolution host

* Don’t re-resolve type directives if nothing has changed

* Update src/server/project.ts

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>

* Use ts.emptyArray

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2020-06-22 16:34:27 -07:00
Nathan Shively-Sanders ac87e82f08 inline local functions 2020-06-22 15:11:30 -07:00
d76e85d94e Update bigint declaration file (#38526)
* update toLocalString function signature

* update test.

* fix lint

* follow review advice.

* format and better comment.

* format

* add case

* fix symbol.

* remove subtype and string union in interface.

* remove useless code.

Co-authored-by: Song Gao <song.gao@laserfiche.com>
2020-06-22 14:55:04 -07:00