Commit Graph
23526 Commits
Author SHA1 Message Date
Sheetal Nandi 6d8fd79c62 Add SolutionBuilderHostBase.getCustomTransformers to be used when emitting. (#44496)
This allows not having to specify the transformers during normal watch scneario
Builds on top of #43984
2021-06-16 16:44:42 -07:00
TypeScript Bot 14231aff09 Bump version to 4.3.3 and LKG 2021-06-16 22:59:02 +00:00
TypeScript BotandWesley Wigham 89a171e308 Cherry-pick PR #44126 into release-4.3 (#44189)
Component commits:
99110e9d9d Consider inferences between mapped type templates lower priority

Co-authored-by: Wesley Wigham <t-weswig@microsoft.com>
2021-06-16 15:45:46 -07:00
TypeScript BotandPaul Gschwendtner 419f1e7fe8 Cherry-pick PR #44070 into release-4.3 (#44187)
Component commits:
d1920805b0 Do not incorrectly add line separators for non-synthetic nodes when emitting node list
As of 3c32f6e154, a line separator is
added between nodes if the nodes are not synthetic and on separate
lines. This it push s wrong and previously only happened if the non-synthetic
nodes were on different lines but had the same parent.

Fixes #44068.

Co-authored-by: Paul Gschwendtner <paulgschwendtner@gmail.com>
2021-06-16 15:28:44 -07:00
TypeScript BotandSheetal Nandi 60f6d7bb34 Cherry-pick PR #44394 into release-4.3 (#44431)
Component commits:
b6754e401b Add test showing how setting strict is not preserved in tsbuildinfo Test for #44305

d3b479e5ba Handle strict flag when writing tsbuildinfo Fixes #44305

cee9f40fd9 Apply suggestions from code review
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2021-06-04 15:26:37 -07:00
Daniel RosenwasserandNathan Shively-Sanders b60901da4f Fix duplicate visit of param tag comments (#44443) (#44444)
Fixes #44422

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2021-06-04 14:05:55 -07:00
TypeScript BotandOleksandr T 4f7fe4a1de Cherry-pick PR #44290 into release-4.3 (#44425)
Component commits:
f3bf29a71c fix(44273): preserves 'override' modifier in JavaScript output

Co-authored-by: Oleksandr T <oleksandr.tarasiuk@outlook.com>
2021-06-03 16:35:21 -07:00
Daniel RosenwasserandAnders Hejlsberg e425f573aa Fix unintended 'as const' name lookup error (#44311) (#44370)
* Fix logic for methods in isTypeParameterPossiblyReferenced

* Add regression tests

Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
2021-06-01 14:55:21 -07:00
28e3e6ff2f 🤖 Pick PR #44219 (Properly remove generic types that ...) into release-4.3 (#44243)
* Cherry-pick PR #44219 into release-4.3

Component commits:
4475012558 Improve getNonNullableType function

86f09ae87c Add tests

d45806a984 More closely match previous behavior

634b01ab3a Add non-strict mode test

* Update LKG

Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
Co-authored-by: typescript-bot <typescript@microsoft.com>
2021-05-25 11:40:42 -07:00
TypeScript BotandWesley Wigham d6e6fa728e Cherry-pick PR #44129 into release-4.3 (#44240)
Component commits:
7a9854c4a4 Ensure static index signatures have an errorNode available

626b4319cb Merge branch 'master' into error-node-static-index-signatures

a8327a0396 Lookup static index signature declarations in the right symbol table, stop checking prototype props

Co-authored-by: Wesley Wigham <t-weswig@microsoft.com>
2021-05-24 16:12:47 -07:00
TypeScript Bot 27d6e4490d Bump version to 4.3.2 and LKG 2021-05-23 08:34:14 +00:00
TypeScript BotandRon Buckton fed2315062 Cherry-pick PR #44186 into release-4.3 (#44188)
Component commits:
acdaf368c6 Move class name capture for private state until after declaration evaluates

Co-authored-by: Ron Buckton <rbuckton@microsoft.com>
2021-05-20 15:07:31 -07:00
Jesse Trinity dec8261174 Revert #43460 and #40884 (#44175) (#44177)
* Revert "Only issue matching token errors on non-dupe locations (#43460)"

This reverts commit 76a2ae3d69.

* Revert "Adding Diagnostic message for missing ']' and ')' in Array literal and conditional statements (#40884)"

This reverts commit 555ef73da8.

* re-add clobbered merge lines
2021-05-20 13:46:30 -07:00
TypeScript BotandAndrew Branch 22c3c24cf0 Cherry-pick PR #44125 into release-4.3 (#44136)
Component commits:
34b80a51af Don’t offer import statement completions at `from` position

afa4d051a9 Set isGlobalCompletion to false, use indexOf lookup

Co-authored-by: Andrew Branch <andrew@wheream.io>
2021-05-17 17:48:35 -07:00
TypeScript BotandSheetal Nandi 1d850c0927 Cherry-pick PR #44008 into release-4.3 (#44029)
Component commits:
8da9ed06f3 Test without change

5c1ae7a7ca Update showing fix in #44004 works

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2021-05-10 12:48:05 -07:00
TypeScript Bot d805ce877a Bump version to 4.3.1-rc and LKG 2021-05-09 07:27:07 +00:00
TypeScript Bot bab601b5e6 Merge remote-tracking branch 'origin/master' into release-4.3 2021-05-09 06:30:23 +00:00
Wenlu Wang 5b1e873b03 Update diagnostic message and quickfix for parameter property (#44010) 2021-05-08 23:22:20 -07:00
Sheetal Nandi e61d812cbb Update the type reference cache with correct project options (#44004) 2021-05-07 16:58:41 -07:00
Anders Hejlsberg 42f0cf6ffc Don't eagerly get apparent type of spread expression contextual type (#44002)
* Don't get apparent type of contextual type for spread expressions

* Add regression test
2021-05-07 15:44:17 -07:00
Ron Buckton cb9cd898d1 Revert #35877 - fix receiver on calls of imported and exported functions (#43993) 2021-05-07 13:42:12 -07:00
Sheetal Nandi e5395efe49 Add writeFile and customTransformers to build and buildReferences (#43984) 2021-05-07 12:13:17 -07:00
Orta Therox 6bb481c9d3 Support semantic highlights for JS files (#43992)
* Switches from never allowing semantic highlight on JS to only doing it if we have a valid source file

* Adds a way to test and validate that an arbitrary JS file gets semantic classification results

* Revert to just dropping the if statement
2021-05-07 20:02:26 +01:00
Sheetal Nandi cfed79b7a2 Correctly use ownMap from module resolution cache (#43986)
* Test showing the moduleResolutionCache reset issue with tsc --b --w

* Fix incorrect usage of ownMap by making it function returning ownMap instead of constant value
2021-05-07 09:56:29 -07:00
Nathan Shively-Sanders f6303652d2 Improve errors for incorrectly nested export default (#43967)
* Improve errors for incorrectly nested export default

The compiler and services don't handle incorrectly nested
`export default` well right now:

```ts
export = (x,y) => {
  export default { }
}
```

Asking for document highlights, find all references or quick info on
'export' or 'default' cause a crash. After the crash is fixed, the error
message is confusing and wrong: "An export assignment cannot be used outside a module."

This PR:

1. Skips document highlights for incorrectly nested export default.
2. Skips find all refs for incorrectly nested export default.
3. Switches the fallback binding for incorrectly nested export default
from Alias to Property. Neither is correct, but Property doesn't cause a
crash in alias resolution.
4. Improves the error message to reflect a post-ES module world, which
has export default and 'module' means 'ES module', not 'namespace'.

Fixes #40082 and the related bugs mentioned above.

* address PR comments
2021-05-07 08:09:38 -07:00
Andrew Casey 1ce15a4531 Fix perf regression from #42556 (#43949)
PR #42556 was a nice optimization that dramatically sped up comparisons of discriminated unions.  Unfortunately, the cost of determining whether a union is discriminated can be prohibitively high.  In particular, an internal team with a very large repo saw their type count double and their memory usage increase from 6GB to 9GB, breaking their build.  This changes splits the difference by not trying to compute the property types of intersection types - a notoriously slow operation.
2021-05-06 17:06:38 -07:00
Andrew Branch 96c48b746a Fix package.json auto imports for pnpm without project references (#43892)
* Fix package.json auto imports for pnpm without project references

* Make property optional

* Revert unnecessary unnittest change

* Set symlinked files when setting symlinked directories

* Update `typeDirectiveIsEqualTo`

* Consider symlinks found during type reference directive resolution into `discoverProbableSymlinks`

* Rename `originalFileName` to `originalPath`, make internal
2021-05-06 14:51:30 -07:00
Nathan Shively-Sanders 71f338bad6 Revert "typeRelatedToSomeType passes through intersectionState (#43707)" (#43983)
This reverts commit db09cb5951.
2021-05-06 13:12:36 -07:00
Wesley Wigham a5607a4eab Dont allow namespace reexport symbols when looking up valid local names (#43969) 2021-05-06 12:03:48 -07:00
Sheetal NandiandDaniel Rosenwasser 233f28ca27 When directory watcher is invoked with any file from node_modules package, invalidate for file paths in that package (#43974)
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2021-05-06 09:48:26 -07:00
Oleksandr T e0d7703cf3 fix(43939): forbid converting getters to async/await (#43944) 2021-05-06 01:48:54 -07:00
Ikko Ashimine 97f5c62956 Fix typo in system.ts (#43895)
assigment -> assignment
2021-05-06 01:40:00 -07:00
Wesley Wigham 456806b070 Allow filterType to consider union constraints of non-union types when determining never-ness (#43763)
* Allow filterType to consider union constraints of non-union types when determining never-ness

* Move impl to callback

* Baseline change in narrowing behavior into test, fix post-LKG build
2021-05-05 13:35:09 -07:00
Wesley Wigham b83148fe64 Unwrap substitutions on conditional check types before comparing them (#43888) 2021-05-05 13:33:45 -07:00
Wesley Wigham 84da19efc8 Add single-element fastpath to getSupertypeOrUnion (#43934) 2021-05-05 13:32:23 -07:00
Oleksandr T 6f8c3b0c99 fix(43957): insert Override keyword after static modifier (#43959) 2021-05-05 08:52:50 -07:00
Sheetal Nandi f7ef1540d3 Use options from referenced project for including resolved imports in the file when using sources of project reference (#43914)
* Test where allowJs present in referenced project affects picking up right set of import files

* use options from referened project for including resolved imports in the file when using sources of project reference
Fixes #43909
2021-05-03 11:35:21 -07:00
Nathan Shively-Sanders 7a8c5a0001 Displayparts resolves non-values in link tags (#43903)
Previously, the name resolution for link tags in displaypart generation
mistakenly required a valueDeclaration. Now it uses the first
declaration if there is no valueDeclaration, so that types and
namespaces will also resolve.

This is another instance of using valueDeclaration as "the default
declaration", which doesn't apply to types.

Fixes #43868
2021-04-30 14:17:54 -07:00
Sheetal Nandi 54096bdb96 Use project relative preference for declaration emit (#42232)
* Test where relative import isnt ideal in the declaration emit

* use project relative preference for declaration emit
Fixes #39117

* Fix incorrect path matching when calculating module specifier

* Use correct baseUrl for the module specifier
2021-04-30 13:22:05 -07:00
Sheetal Nandi c96b472e0b Handle localness in special cases by checking exported variable assignment (#43851)
* Handle localness in special cases by checking exported variable assignment
Fixes #42976

* Fix existing tests where arrow now behaves similar to function expression

* Update src/services/goToDefinition.ts
2021-04-30 13:17:59 -07:00
Nathan Shively-Sanders c9eb62fafb getExternalModuleMember:always resolve alias of moduleSymbol (#43718)
Previously, getExternalModuleMember passed through its received value of
`dontResolveAlias` to every function that accepted it. That includes (1)
resolution of the module symbol and (2) resolution of the module
specifier. However, in TS, the module symbol is never an alias anyway, so
dontResolveAlias doesn't make a difference. In JS, the module symbol
*can* be an alias, and it should always be resolved. That's what this PR
does.

Fixes #43713
2021-04-30 10:47:45 -07:00
Nathan Shively-Sanders 004b3ae018 Simplify arity errors, rewording spread errors (#43855)
* Scribbles + tests

The second test actually requires node types

* Basically working

The two simple fixes, in arity error reporting, are in, and the
simplification of arity error reporting is half-done. I haven't started
on any improvements to call assignability.

* trim out too-real test case

* Finish cleanup

And reword error a little.

* Simplify and reword spread errors

* handle spreads first

* update baselines

* Address PR comments
2021-04-29 14:38:50 -07:00
Xu Zhuo 4ecb563aa4 Complete constructor keyword after property declaration (#43654)
* Complete `constructor` keyword after property declaration.

* Fix logical errors.

* Fix for more universal situations.

* Only provide completions if property declaration is terminated.

* Simplify many logical conditions.

* Make the fix more reliable.

* Narrowing the fix.
2021-04-29 11:16:51 -07:00
Oleksandr T 3e25424652 fix(43408): emit nullable/optional types on getters (#43476) 2021-04-29 09:20:40 -07:00
Acy Watson b31b0eb05c Use single quotes consistently in diagnostic messages. (#43634) 2021-04-29 07:15:31 -07:00
Andrew Branch a14b22718a Enforce keyword order of abstract and override (#43829)
* Enforce keyword order of abstract and override

* Update baselines

* Update existing test
2021-04-28 16:41:28 -07:00
Andrew Branch 791c747e06 Allow override as parameter property (#43831)
* Allow `override` as parameter property

* Update other baseline

* Add test for override on normal parameter

* Copy typo fix

* Update baselines

* Update API baseline
2021-04-28 16:41:09 -07:00
Nathan Shively-Sanders db09cb5951 typeRelatedToSomeType passes through intersectionState (#43707)
* typeRelatedToSomeType passes through intersectionState

Previously it didn't, even though it should have.

* fix parameter name lint
2021-04-28 16:12:20 -07:00
Andrew Branch 58c54127a9 Fix node.getStart() for nodes spanning multiline JSDoc comments (#43854) 2021-04-28 11:37:27 -07:00
Wesley Wigham 7748694d60 Relate non-augmenting subtypes without resorting to structural comparison (#43624)
* Relate non-augmenting array subtypes without resorting to structural comparison

* Fix lint

* Generalize performance enhancement

* Cache results, feed through via getNormalizedType to remove error intermediates

* Use newly freed up object flags to limit member setting, fix crash with those object flags

* Move flags because there is no TypeFlags.Reference 🤦
2021-04-27 22:52:12 -07:00