Commit Graph

22689 Commits

Author SHA1 Message Date
Andrew Branch
3b332792a6 Fix call hierarchy item serialization and server tests 2020-09-01 14:32:20 -07:00
Erich Gamma
8cac241f9e Revert "fix anders"
This reverts commit b3178d4618.
2020-09-01 20:51:34 +02:00
Erich Gamma
b3178d4618 fix anders 2020-09-01 20:39:27 +02: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
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
Andrew Branch
bfb00eb164 Fix misplaced comma in auto imported specifier (#40273) 2020-08-31 10:54:53 -07:00
csigs
2faf505cfd LEGO: check in for master to temporary branch. 2020-08-29 18:11:10 +00:00
Alexander T
01362a3ac1 feat(part of 40169): add spelling suggestion/quick fix for module/namespace exported members (#40211) 2020-08-29 01:01:06 -07:00
Ron Buckton
10fb9c9381 Treat trailing 'void' as optional for assignability (#40231) 2020-08-28 09:12:09 -07:00
Ryan Cavanaugh
b969b58399 Use a correct Object.entries polyfill (#40268)
* Use a correct Object.entries polyfill

Fixes #40243

* Update src/compiler/core.ts

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>

* Added parentheses, DANIEL.

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2020-08-28 09:09:55 -07:00
Alexander T
fa5e9807e8 fix(40010): add outlining for comments before variables statements (#40016) 2020-08-27 16:29:05 -07:00
csigs
3002d694d2 LEGO: check in for master to temporary branch. 2020-08-27 18:11:06 +00:00
Josh Goldberg
0298033db7 Specified error diagnostic for invalid variable names (#40105)
* Specified error diagnostic for invalid variable names

* Use callback directly, and isKeyword
2020-08-27 10:58:12 -07:00
Wesley Wigham
4dd9f69866 Disable diagnostic consistency checking for large tests (#40280) 2020-08-27 00:44:18 -07:00
csigs
67d7ece526 LEGO: check in for master to temporary branch. 2020-08-27 06:11:07 +00:00
csigs
5ee2d52cb3 LEGO: check in for master to temporary branch. 2020-08-27 00:11:33 +00:00
Eli Barzilay
746bdb7946 Fix getContextualTypeForBindingElement for arrays
When handling an array type, the lookup should use the position index
instead of the identifier name.

Also uncomment the tests in the `staticFieldWithInterfaceContext.ts`
test which failed because of this bug.

Fixes #40158.
2020-08-26 16:28:50 -04:00
csigs
669c4153c0 LEGO: check in for master to temporary branch. 2020-08-26 18:11:08 +00:00
csigs
4170007ed3 LEGO: check in for master to temporary branch. 2020-08-26 00:11:49 +00:00
Kyℓe Hensel
c5446d1a47 don't emit "unused @ts-expect-error" in unchecked js files (#40046)
* don't emit unused ts-expect-error in unchecked js files

* simplify code
2020-08-25 11:04:23 -07:00
csigs
41349977ea LEGO: check in for master to temporary branch. 2020-08-25 06:11:11 +00:00
Nathan Shively-Sanders
4aadd5af41 Fix commonjs require of ES export (#40221)
The commonjs-specific code for resolving access expressions on `require`
assumes a fake commonjs export. For real exports, it needs to call
resolveSymbol since it's outside the normal alias-resolving
infrastructure.
2020-08-24 12:37:25 -07:00
Alexander T
2dd7a4bf93 fix(31046): add new diagnostic message for incompatible constructor signature (#40073) 2020-08-22 13:26:13 -07:00
Alexander T
9569198df6 fix(25770): add diagnostic message for the possible mapped type used as an index (#39973) 2020-08-21 10:42:48 -07:00
Alexander T
6ec3629ef4 fix(26325): use a unique name for reserved words in 'constructor like' function name (#39684) 2020-08-21 09:47:37 -07:00
cherryblossom000
e8dbc2dd07 Fix typo in (Readonly)Set.keys comment (fixes #40164) (#40176) 2020-08-21 09:15:29 -07:00
Neil Kistner
585603e934 Add compactDisplay and signDisplay to NumberFormatOptions (#40039) 2020-08-21 00:49:22 -07:00
Eli Barzilay
f9e360d44b Add missing contextual type to static PropertyDeclarations
Makes it possible to type class static fields.

Fixes #33897.
2020-08-20 19:12:55 -04:00
Ron Buckton
598e9b2e88 Allow trailing params of 'undefined', 'unknown', and 'any' to be optional in non-strictNullChecks JS (#40057) 2020-08-20 13:38:14 -07:00
Joost Koehoorn
2f2b679436 Optimize external source maps without full cache (#40130) 2020-08-19 16:05:32 -07:00
Nathan Shively-Sanders
55ca5e91b9 Fixes crash on chained property access on require (#40135)
From the user tests:

```js
const x = require('y').z.ka
```

would cause the crash because I forgot to call
getLeftMmostPropertyAccessExpression in one place.

Note that this doesn't fix the alias, it just stops the crash.
2020-08-19 12:59:22 -07:00
Wesley Wigham
44d2350e5f Fix tuple name homogeneity check (#40118) 2020-08-19 12:08:17 -07:00
Daniel Rosenwasser
31f4957494 Revert "Optimize source mapping into external source map sources (#40055)" (#40126)
This reverts commit 1e84ffc703.
2020-08-19 11:46:52 -07:00
devsnek
a0d457e14c Add missing properties to stdlib (#38678) 2020-08-18 23:05:38 -07:00
csigs
f27a11d0df LEGO: check in for master to temporary branch. 2020-08-19 04:10:48 +00:00
Joost Koehoorn
1e84ffc703 Optimize source mapping into external source map sources (#40055) 2020-08-18 18:09:05 -07:00
csigs
a9277b7e02 LEGO: check in for master to temporary branch. 2020-08-18 22:11:06 +00:00
Andrew Casey
5ff1b75aff Merge pull request #40043 from gluxon/uvException-hotspot
Set stackTraceLimit to 0 in fileSystemEntryExists
2020-08-18 13:54:58 -07:00
Nathan Shively-Sanders
6fea7ff536 Add unit tests for VersionRange (#40114)
* Add unit tests for VersionRange

Make it easier to understand the intended semantics next time I have to
read this code.

* I miss prettier
2020-08-18 13:06:17 -07:00
Andrew Branch
dbab46c363 The falsy part of any/unknown is any/unknown (#39529) 2020-08-18 11:06:44 -07:00
csigs
c191f10ed6 LEGO: check in for master to temporary branch. 2020-08-18 16:10:44 +00:00
csigs
9bf6b7bf53 LEGO: check in for master to temporary branch. 2020-08-18 10:10:53 +00:00
Alexander T
9f3af67929 fix(10019): allow renaming labels (#40064) 2020-08-18 01:04:49 -07:00
Wesley Wigham
f9cca25cd7 Fix lack of error on default export of nonexistant name (#40094)
* Modify test harness so it can report underlying issue, fix small parent pointer issue

* Fix underlying export asignment check issue and fix lints

* Ensure class/function duplicate declaration errors are reported regarless of which is encountered first

* Ensure flag conflict errors are reported regardless of which declaration is encountered first
2020-08-17 15:30:19 -07:00
csigs
e0b494b34a LEGO: check in for master to temporary branch. 2020-08-17 22:11:16 +00:00
Nathan Shively-Sanders
c3d41bbb73 Alias for commonjs require in JS (#39770)
* First attempt at aliases for require

* test+initial support for const x=require

* 1st round of baseline improvements

* 2nd round of baseline updates

* support property access after require

* check @type tag on require

* forbid expando missing namespaces on aliases

taken from #39558 as soon as it was created

* accept error baselines that are good, actually

* Scribbling on d.ts emit code

* use getSpecifierForModuleSymbol

* hideous hack for module.exports of aliases

* Fix module.exports.x --> export list emit

* fix isLocalImport predicate

* require only creates aliases in JS

* re-handle json imports

* update fourslash baseline

* Cleanup in the checker

1. Simplify alias resolution.
2. Simplify variable-like checking.
3. Make binding skip require calls with type tags -- they fall back to
the old require-call code and then check from there.

I haven't started on the declaration emit code since I don't know what
is going on there nearly as well.

* Function for getting module name from require call

* First round of cleanup plus a new test

Found one missing feature, not sure it's worth adding.

* more small cleanup

* more cleanup, including lint

* use trackSymbol, not serializeTypeForDeclaration

* Code review comments, plus remove unneeded code

Ad-hoc type reference resolution for `require` isn't needed anymore.

* find all refs works

* remove old ad-hoc code

* make it clear that old behaviour is not that correct

* update api baselines

* remove outdated comment

* PR feedback

1. Fix indentation
2. Add comment for exported JSON emit
3. Add test case for nested-namespace exports.

* add a fail-case test (which passes!)
2020-08-17 14:00:37 -07:00
Daniel Rosenwasser
97a072926f Revert "Add '(approximate)' to the beginning of quick info requests in PartialSemantic mode (#40061)" (#40072)
This reverts commit 2426eb4980.
2020-08-17 11:45:39 -07:00