Commit graph

30988 commits

Author SHA1 Message Date
Nathan Shively-Sanders e350c357d2
Alias for module.exports.x = x (#40228)
* Alias for `module.exports.x = x`

This fixes #40155 in a surprisingly small amount of code.

* Treat any aliasable expression as an alias

* test internal references to exported class
2020-09-10 11:23:48 -07:00
csigs 0636b9bfc1
LEGO: Merge pull request 40480
LEGO: Merge pull request 40480
2020-09-10 11:10:57 -07:00
csigs 5753b4be22 LEGO: check in for master to temporary branch. 2020-09-10 18:10:32 +00:00
Wesley Wigham 683979246f
Fix JS declaration emit for acessors in a class/interface merge (#40456) 2020-09-10 10:39:41 -07:00
Nathan Shively-Sanders 156cb4c1f9
Fix see tag quickinfo (#40458)
* Add test

* Treat see tags same as param tags
2020-09-10 08:28:38 -07:00
csigs 6be21fe53e
LEGO: Merge pull request 40475
LEGO: Merge pull request 40475
2020-09-10 05:11:07 -07:00
csigs bb95c3566f LEGO: check in for master to temporary branch. 2020-09-10 12:10:26 +00:00
TypeScript Bot 0a1f1c864b Update package-lock.json 2020-09-10 06:20:09 +00:00
Anders Hejlsberg 6f0c91c4cb
Template literal types and mapped type 'as' clauses (#40336)
* Initial implementation of string template types

* Accept new API baselines

* Accept new baselines

* Unified checking for large cross product union types

* Accept new baselines

* Ensure errors from union type resolution are reported

* Accept new baselines

* Compute constraints for string template types

* Support `as T` clause in mapped types

* Accept new API baselines

* Add missing semicolon

* Add checking of `as T` clauses

* Support casing modifiers in string template types

* Accept new baselines

* Bump keyword maximum length

* fix anders

* Revert "fix anders"

This reverts commit b3178d4618.

* Properly handle 'as T' clause with keyof for mapped type

* Fix lint error

* Single character inferences and anchored end span matching

* Fewer array copy operations in template literal type resolution

* Handle cases where 'as T' maps multiple properties onto one

* Fix lint error

* Store key type instead of type mapper in MappedSymbol

* No constraint on `in T` type when `as N` clause present

* Rename from TemplateType to TemplateLiteralType

* Accept new API baselines

* Add tests

* Accept new baselines

* Address CR feedback

* Accept new API baselines

Co-authored-by: Erich Gamma <egamma@microsoft.com>
2020-09-09 17:23:22 -10:00
Vincent Boivin 96b0832cf6
fix(40322): bad completions for string literal type as indexed access type object (#40424)
* Added fourslash tests to work on the bug

* fix(40322): bad completions for string literal type as indexed access type object

* Added regression tests

* Using nodes instead of text

* Add verification for parenthesized nodes

* Using range check

* Change test markers
2020-09-09 15:26:35 -07:00
Wenlu Wang ee5f51bc0f
Add see tag support (#39760)
* Add see tag parser

* add baseline

* fix symbol resolve

* add more case

* fix unittests

* improve tests and parser

* accept baseline

* Adopt package-lock.json and npm ci

* Add a workflow to update package-lock.json daily

* Git ignore package-lock.json and forcibly update in workflow

* Update bot email address

* Delete extra npm update

* Update package-lock.json

* Add compactDisplay and signDisplay to NumberFormatOptions (#40039)

* Fix typo in (Readonly)Set.keys comment (fixes #40164) (#40176)

* fix(26325): use a unique name for reserved words in 'constructor like' function name (#39684)

* fix(25770): add diagnostic message for the possible mapped type used as an index (#39973)

* fix(31046): add new diagnostic message for incompatible constructor signature (#40073)

* Update package-lock.json

* Update package-lock.json

* Add rename support

* Accpet baseline

* wip

* fix anders

* Revert "fix anders"

This reverts commit b3178d4618.

* Fix call hierarchy item serialization and server tests (#40348)

* Avoid error

* accept baseline

* Add more tests

* Add signature name resolve

Co-authored-by: Andrew Casey <andrew.casey@microsoft.com>
Co-authored-by: TypeScript Bot <typescriptbot@microsoft.com>
Co-authored-by: Neil Kistner <neil.kistner@gmail.com>
Co-authored-by: cherryblossom000 <31467609+cherryblossom000@users.noreply.github.com>
Co-authored-by: Alexander T <alexander.tarasyuk@outlook.com>
Co-authored-by: Erich Gamma <egamma@microsoft.com>
Co-authored-by: Andrew Branch <andrewbranch@users.noreply.github.com>
2020-09-09 10:45:09 -07:00
Alex T 4584d6d470
fix(39676): skip removing unused parameters for functions used as callback references (#40299) 2020-09-09 08:23:53 -07:00
TypeScript Bot 2b0278a88f Update package-lock.json 2020-09-09 06:20:34 +00:00
Alex T 6aec7f4676
feat(25770): add Quick Fix to convert LiteralType to MappedType (#40226) 2020-09-08 14:18:53 -07:00
Alex T 6101fbca39
fix(40150): use parameter name for a Promise callback function (#40191) 2020-09-08 13:44:38 -07:00
Alex T 15084465b7
fix(40222): fix crash on using destructuring in a catch clause (#40240) 2020-09-08 11:49:45 -07:00
Orta Therox fa89ce6158
Remove assignability cases in getNarrowedType + an isArray improvement for readonly arrays (#39258)
* Explore using a different isArray declaration

* Add tests and the new isArray definition

* Baseline updates

* Upda the isArray type
2020-09-08 14:43:48 -04:00
EvilSpirit39 1d2278be05
Remove trailing space from Gulpfile.js comment (#40199) 2020-09-08 11:32:52 -07:00
csigs 42196df2f3
LEGO: Merge pull request 40437
LEGO: Merge pull request 40437
2020-09-08 11:11:49 -07:00
csigs 68d4505679 LEGO: check in for master to temporary branch. 2020-09-08 18:11:20 +00:00
Wesley Wigham 7838b0172a
Add errors when providing type arguments for intrinsic JSX tags (#40293) 2020-09-08 10:29:15 -07:00
Anders Hejlsberg cea1cfb82e
Consistently error when rest element isn't last in tuple type (#40254)
* Consistently error when rest element isn't last in tuple type

* Add regression test

* Accept new baselines

* Stricter circular recursion check in type inference

* Revert "Stricter circular recursion check in type inference"

This reverts commit 80e6df6230.

* Revert "Accept new baselines"

This reverts commit 355706dadc.

* Accept new baselines
2020-09-08 07:14:16 -10:00
Mohsen Azimi de5ef356b6
Remove Language specification link from README (#40407) 2020-09-08 08:53:03 -07:00
cherryblossom000 2ef393ba7d
Add full stops in diagnostic messages (#40165)
* Add full stops in diagnostic messages (fixes #37753)

* Accept baselines

* Fix whitespace
2020-09-08 08:47:52 -07:00
Wesley Wigham e5fd0dd1e3
Allow private symbols to be control flow narrowed (#39978)
* Allow private symbols to be control flow narrowed

* Add test with narrowing of inferred control flow type for completeness

* Reformat long line
2020-09-05 02:48:45 -07:00
Tim van der Lippe 8d7afc2b21
Add DockerFile for ChromeDevTools (#39624)
* Add DockerFile for ChromeDevTools

Note that I was not able to verify it fully works, as it throws an
authentication error on typescript/typescript on the Docker Hub.

This is part of #39568

CC @weswigham

* Fix run command

* Update run command
2020-09-05 02:35:38 -07:00
Wesley Wigham 6cd2dc9546
Accept baseline from test added since merged PR was made 2020-09-05 02:30:42 -07:00
Wesley Wigham 155610e114
Better support class instances assigned to the module object for JS declarations (#40037)
* Better support class instances assigned to the module object for JS declarations

* Extract constant
2020-09-05 02:23:12 -07:00
Alexander T 09d68efae1
fix(28516): forbid using async modifier with the abstract modifier (#39963) 2020-09-04 14:59:53 -07:00
Andrew Branch f6f2d36ee3
Add optionalReplacementSpan to completions response (#40347)
* Add optionalReplacementRange to completions response

* Get the name right

* Fix unit tests

* Fix comment typo

* Fix comment typo

* Baseline
2020-09-04 13:09:52 -07:00
Alexander T 8384018e68
fix(26141): show completions for string parenthesized types (#39697) 2020-09-04 12:15:16 -07:00
Justin Hutchings ea842c411e
Add CodeQL security scanning (#38939)
* Add CodeQL security scanning

* Add CodeQL configuration

Limiting analysis to the src folder only

* Add configuration file to codeql action workflow

* Update codeql-configuration.yml
2020-09-04 09:22:42 -07:00
Eric Anderson 79f919e8f5
Fixes stack overflow when exporting a lot in commonjs (#38994)
* Fixes stack overflow when exporting a lot in commonjs

Fixes #38691

* Add missing test files
2020-09-04 09:01:59 -07:00
ExE Boss 237b6f61f6
fix(lib/es2015): Remove Reflect.enumerate(…) (#38967) 2020-09-04 08:52:34 -07:00
Nathan Shively-Sanders 30cb20434a
Mark spec files as archived (#40373)
* Mark spec files as archived

Maybe then people won't try to edit them and submit PRs

* update README
2020-09-04 08:17:15 -07:00
Ron Buckton d5a646eb66
Remove optionality for Promise resolve callback (#39817) 2020-09-03 17:21:53 -07:00
Andrew Branch 8ffb7f083d
Reprioritize cross-project module specifier suggestions for auto-import (#40253)
* Add test

* Suggest `paths` module specifiers even when a node_modules path was available

* Fix some tests

* Fix remaining tests

* Add comments
2020-09-03 14:00:06 -07:00
Alexander T db5f519514
fix(31126): show completions in nested namespace name (#39663) 2020-09-03 13:32:03 -07:00
Ron Buckton d89635381a
Add support for vscode-js-debug's customDescriptionGenerators (#40308) 2020-09-02 20:05:50 -07:00
Alexander T 38cedc5b5f
fix(39410): don't remove variables with type definition during converting named export to default (#39505) 2020-09-02 17:00:43 -07:00
Wesley Wigham 3a75838cb7
include stdout in runSequence thrown error 2020-09-02 14:35:00 -07:00
Wesley Wigham 62a1b357c2
Unignore the package-lock.json in the root Dockerignore, fixing docker suite tests 2020-09-02 14:31:51 -07:00
Andrew Branch 838a5e6044
Fix call hierarchy item serialization and server tests (#40348) 2020-09-02 11:34:14 -07:00
Nathan Shively-Sanders b0011feee1
Checkjs implies allowjs (#40275)
* Passing --checkJs always sets --allowJS

Even if you have `"allowJs": false`. This is not a useful combination.

Changing this makes the compiler more friendly and easier to describe.

* only set allowjs if not explicitly set

* remove stray newline

* restore bad config error

* use an accessor function instead
2020-09-01 10:16:08 -07:00
Nathan Shively-Sanders d572dcb272
Fix crash intersecting dynamic import w/esModuleInterop (#40249)
* Fix crash intersecting dynamic import w/esModuleInterop

The dynamic import shim creates a symbol without some properties that
the intersection-creating code assumes are present as of #38673.

This PR adds the smallest possible set of properties to avoid the crash.
I'm not sure what others would be good to add.

* Use symbol's declarations instead

* Fix getResolvedMembersOrExportsOfSymbol instead

* comment from code review
2020-09-01 09:10:36 -07:00
Nathan Shively-Sanders 378083fcec
Nested assignment to a require alias isn't a declaration (#40186)
This is not something we can type correctly, and doesn't work in
Typescript either. Better to ignore it in JS.
2020-09-01 08:20:56 -07:00
csigs 5fd5a758a3
LEGO: Merge pull request 40339
LEGO: Merge pull request 40339
2020-08-31 23:12:15 -07:00
csigs 42164e91d9 LEGO: check in for master to temporary branch. 2020-09-01 06:11:11 +00:00
Andrew Branch 7a0f603b11
Fix extract symbol crash on unterminated literals; don’t offer to extract export = ... (#40272)
* Don’t offer to extract export assignment

* Terminate unterminated literals when extracting them

* Add test with regular expression ending in backslash

* Add test for string literal ending in backslash

* Remove unused parameter default
2020-08-31 14:17:09 -07:00
Vincent Boivin 21df16d385
Add missing description to CONTRIBUTING.md (#40329) 2020-08-31 14:16:52 -04:00