33106 Commits

Author SHA1 Message Date
Oleksandr T
4a58fbce17
fix(48081): omit error on importing variables defined with require() (#48115) 2022-03-14 09:55:12 -07:00
Mateusz Burzyński
ca65a1a05b
Add boolean to supported literals within Object.freeze (#48117) 2022-03-14 09:07:31 -07:00
TypeScript Bot
995e0a0601 Update package-lock.json 2022-03-14 06:06:27 +00:00
TypeScript Bot
6f0dd47a88 Update package-lock.json 2022-03-12 06:06:33 +00:00
Andrew Casey
ce9657d5e2
Introduce set with custom equals and getHashCode (#48169)
* Implement set with custom equals and getHashCode

* Adopt custom set in session

* Add doc comment

* Initially store buckets as non-arrays
2022-03-11 16:17:54 -08:00
Wesley Wigham
93c3a30edc
Add assertion on invalid cache set (#43845) 2022-03-11 10:57:22 -08:00
Wesley Wigham
d1fa945261
Add moduleDetection compiler flag to allow for changing how modules are parsed (#47495)
* Add moduleDetection compiler flag to allow for changing how modules are parsed

The default setting is 'auto', where JSX containing files under react-jsx and react-jsxdev are
always parsed as modules, and esm-format files under module: node12+ are always parsed as modules,
in addition to the 'legacy' detection mode's conditions for other files. (Declaration files are exempt from
these new conditions)

The 'legacy' mode preserves TS's behavior prior to the introduction of this flag - a file is
parsed as a module if it contains an import, export, or import.meta expression.

In addition, there is a 'force' mode that forces all non-declaration files to be parsed as modules.
(Declaration files are still only modules if they contain a top-level import or export.)

This technically breaks the parser API, but it's kinda-sorta backwards compatible so long
as you don't need the functionality associated with more recent compiler flags.

* Fix post-merge lint

* Rename function

* Update default value documentation

* PR feedback

* Fix lint and typo
2022-03-11 10:36:00 -08:00
Anders Hejlsberg
0271738047
Properly reduce intersections to never in identity relation (#48111)
* Exclude types that may simplify to other forms

* Add regression test
2022-03-11 10:18:04 -08:00
Mateusz Burzyński
04238e6f52
Fix/dependent parameters obj methods (#48110)
* Add failing test for dependent destructured variables within obj methods

* Fixed an issue with dependent parameters within obj methods
2022-03-11 09:46:30 -08:00
Jake Bailey
5fd0b6432e
Clean up a load of unused dependencies, broken jake script (#48214) 2022-03-11 09:36:03 -08:00
Ryan Cavanaugh
a4f5555e09
Move hasOwn from Object instance to Object constructor (#48207)
Fixes #48206
2022-03-10 15:28:47 -08:00
Wesley Wigham
3f63804878
Make direct assignments to cjs exports considered literal contexts (#39816)
* Make direct assignments to cjs exports considered literal contexts

* Style feedback from PR

* Trailing whitespaaaaace
2022-03-09 13:27:39 -08:00
Wesley Wigham
f76452cb27
Fix conditional type type parameter leak (#31455)
* Fix conditional type type parameter leak

* Monkey with comment text per code review

* Conditionally clone type param

* Reuse input array and avoid making mapper where possible
2022-03-09 13:25:14 -08:00
Wesley Wigham
fc82c67357
Don't eagerly simplify reducible generic union index types (#46812) 2022-03-09 12:02:11 -08:00
Wesley Wigham
ea4791d4d7
Preserve the homomorphism of inlined mapped types in declaration emit (#48091) 2022-03-09 10:31:54 -08:00
Wesley Wigham
c70be8b501
Handle nonmaster branches in user suite tests (#48128)
* Handle nonmaster branches in user suite tests

* Fix remaining changed default branches, vscode & vue-next docker install scripts

* NPM reformats these on install now, comitting so it doesnt need to be ignored

* Accept current user suite baselines

* Fix many trivially fixable user suite tests
2022-03-09 10:31:16 -08:00
Nathan Shively-Sanders
918f0ef404
Rename SyntaxKind.JSDocComment -> JSDoc (#44416)
* Rename SyntaxKind.JSDocComment -> JSDoc

Early on, I made the mistake of using the syntax kind JSDocComment for
the type JSDoc. This arose because
I hadn't decided on the terminology of "jsdoc" for the C-style comment
that is attached to a declaration. "comment"
for the text that follows a tag. By the time I settled on those terms
consistently, a version had already shipped with `interface JSDoc`
having `SyntaxKind.JSDocComment`.

However, there is now a `type JSDocComment` that represents the possible
contents of the comment text (strings and various kinds of `@link`), so
it's doubly confusing that this type has a union of four kinds instead
of SyntaxKind.JSDocComment.

Although this is a public API break, I don't think it's hard to recover
from, and the JSDoc API has accessors for individual tag types, so I
suspect few people refer directly to SyntaxKind.JSDocComment.

* Add deprecate JSDocComment alias to JSDoc

For backward compatibility

* Make JSDoc an alias of JSDocComment

Improves output of JSDocParsing tests without having to make its code
smarter.

* update API baselines
2022-03-09 09:51:29 -08:00
Jack Bates
94a7ec17e0
🤖 Sync option descriptions <- website (#46465)
* 🤖 Sync option descriptions <- jablko/TypeScript-Website@a9df5139f2

https://github.com/jablko/TypeScript-Website/actions/runs/1953829438

* Update Baselines and/or Applied Lint Fixes

Co-authored-by: jablko/TypeScript-Website:.github/workflows/sync-option-descriptions.yml <bot@typescriptlang.org>
Co-authored-by: TypeScript Bot <typescriptbot@microsoft.com>
2022-03-08 15:55:13 -08:00
Ryan Cavanaugh
af027f34fa
Bail on 0- and 1-length lists in removeSubtypes to avoid spurious circularity problems (#46981)
* Creates a reasonable workaround for #46939

* Remove unrelated newline

* Do the cheap length check ahead of the cache check

* Actually do it.
2022-03-08 08:50:07 -08:00
Jake Bailey
d8b21a8d6c
Don't crash on non-literal computed property names during getPropertyAssignment (#48079) 2022-03-07 14:18:55 -08:00
Andrew Casey
418989b3c3
Tidy up navto and find-file-references (#48106)
They were using the same helpers as FAR and rename, but they actually behave differently.  Decoupling them helps avoid some unnecessary work and will make it easier to clean up FAR in the future.

Scoping NavTo results to a single project (rather than, e.g. all loaded projects) makes the behavior more logical and the implementation simpler.
2022-03-07 10:56:04 -08:00
csigs
20c93d3b1d
LEGO: Merge pull request 48129
LEGO: Merge pull request 48129
2022-03-05 02:50:20 -08:00
jihndai
5f6ebf9d78
Show error when trying to instantiate a union of abstract and concrete constructors (#48114)
* check composite signatures for abstract flag

* add tests and baselines

* refactor someSignature into a single function
2022-03-04 17:39:05 -08:00
Mateusz Burzyński
c1783b28e7
Add a test for emit of a computed property based on an aliased symbol (#47978) 2022-03-04 17:35:19 -08:00
jihndai
857889a4e6
Fix crash when this is typed as a generic T with no type constraints (#47991)
* fix this type validations for protected fields

* update previous baselines

* add new tests and baselines

* ClassOrInterface can be returned as enclosingClass

* inline function code and remove unnecessary blank lines

* refactor enclosingClass checks
2022-03-04 17:08:44 -08:00
Oleksandr T
82fc9b19ba
fix(43154): emit typeof type for static methods with a computed name (#46923) 2022-03-04 17:07:38 -08:00
Jack Bates
d12020d8b0
Describe jsxFragmentFactory option default value (#46798) 2022-03-04 17:03:55 -08:00
Oleksandr T
162713fac9
fix(40617): handle uninitialized class member with computed key (#45974) 2022-03-04 16:03:36 -08:00
Zzzen
f9ae305dda
support generic type when checking implicit conversion of symbol to string (#44578)
Co-authored-by: Wesley Wigham <wewigham@microsoft.com>
2022-03-04 15:57:34 -08:00
Nathan Shively-Sanders
774899f8b9
Note git's core.longpaths in CONTRIBUTING (#45069)
* Note git's core.longpaths in CONTRIBUTING

So people will be able to clone the repo on Windows.
However, I'm not sure whether this addresses running tests.

* Address PR comments
2022-03-04 15:45:10 -08:00
Erik Brinkman
751c114126
Fix contextual discrimination for omitted members (#43937)
In short, the fix I submitted looked at the union ofproperties, but it
really should have looked at the intersection.

Two sytlistic notes. I couldn't find the best way to get the unique
strings of an array like `[...new Set()]` would, so I created a small
helper function, but didn't put it in a great place. Also, before the
second concatenated array of discriminators at least matched the first
in complexity, but now it's much worse. I don't think that section is
particularly easy to read, but I also don't see a significantly reusable
part.

fixes #41759
2022-03-04 14:07:37 -08:00
liewrichmond
ae62da9413
Fixes #35735: Avoids listing missing properties for types with only call/construct signatures (#40973)
* Fixes #35735

* fixes #35735

* PR feedback

Co-authored-by: Wesley Wigham <wewigham@microsoft.com>
2022-03-04 13:54:38 -08:00
Oleksandr T
5f9f9e3752
fix(44477): emit full path to access expressions in comments (#44545)
Co-authored-by: Wesley Wigham <wewigham@microsoft.com>
2022-03-04 11:22:46 -08:00
Jake Bailey
4abad556be
Prevent crash on code fixes on default keyword (#48028) 2022-03-04 10:43:04 -08:00
jihndai
1f52ca8441
Require tag parameter and allow Locale object as argument to Intl.Locale() constructor (#48019)
* mark tag as required, and can accept another Locale object

* add tests and baselines

* update baselines
2022-03-04 09:04:57 -08:00
csigs
39013f1a78
LEGO: Merge pull request 48119
LEGO: Merge pull request 48119
2022-03-04 02:50:09 -08:00
Wesley Wigham
ddad61e1b0
Add an overload to Object.freeze that preserves literal types (#33767)
* Add an overload to Object.freeze that preserves literal types

* Accept changes baselines

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2022-03-03 14:23:41 -08:00
PaulHan
0a24dee97d
fix: add this type for Reflect.defineProperty (#33544)
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2022-03-03 11:01:12 -08:00
Jake Bailey
112dd24ede
Add test for call (#48015) 2022-03-03 09:40:10 -08:00
magic-akari
06d426c966
Fix const enum comments (#47990)
* chore: add test case

* fix: const enum comment

* fix: replace all unsafe pattern

* chore: run regex only if element access
2022-03-03 09:10:02 -08:00
Wesley Wigham
f82d0cb329
Add explicit assertion on somewhat commonly incorrectly passed argument (#48078)
* Add explicit assertion on somewhat commonly incorrectly passed argument

* PR feedback
2022-03-02 09:13:42 -08:00
Wesley Wigham
ea0db9e031
Add import assertions to type only imports and import types to force the resolution mode of the specifier (#47807)
* Add import assertions for type-only imports and import types to change resolver modes

* By popular request, only allow mode assertions on top-level type only imports

* Add specifier options parameter to specifier generation
2022-03-02 08:54:10 -08:00
Wesley Wigham
ff1f7b15b7
Esm imports of cjs files should unconditionally have a default patched on (#48062) 2022-03-02 08:53:31 -08:00
TypeScript Bot
ed45f058df Update package-lock.json 2022-03-02 06:06:38 +00:00
Oleksandr T
063714886e
fix(47946): check literal types in export assignments with declared JSDoc types (#47951) 2022-03-01 14:44:36 -08:00
Gabriela Araujo Britto
e64f04bd8c
Fix modifier order for class member completions (#48066)
* fix modifier order & tests

* remove empty replacement span from tests
2022-03-01 10:05:24 -08:00
Jake Bailey
e4fe50cca4
Fix incorrect parser error assumption in semicolon handling leading to incremental parser brokenness (#48067) 2022-02-28 17:05:32 -08:00
Wesley Wigham
71918750f9
Use full isReadonlySymbol check rather than declaration flags (#48064)
* Use full `isReadonlySymbol` check rather than declaration flags

* Limit subtype readonly consistency check to strict subtype relation

* Update comment
2022-02-28 14:35:33 -08:00
jihndai
1abc47b882
Add Intl.Locale parameter type to toLocale[X]String signatures. (#47811)
* add Intl.Locale param type to locales argument in BigInt, Number, and Date methods

* update baselines

* add test for locales object arguments

* fix indentation
2022-02-28 14:10:18 -08:00
Wesley Wigham
03c11c8f70
Add missing getReducedType call in getConditionalTypeInstantiation (#48061) 2022-02-28 13:41:10 -08:00