29228 Commits

Author SHA1 Message Date
Daniel Rosenwasser
30734a05e2 Pin Node for Volta, bump version to 3.7.7, update LKG v3.7.7 2021-02-10 12:15:13 -08:00
Sheetal Nandi
f1005c587c
Handle if plugin doesnt specify name (#42723)
Fixes microsoft/vscode#116219
2021-02-09 15:26:14 -08:00
Mine Starks
e6f0de2e4e Bump version to 3.7.6 and LKG v3.7.6 2021-01-04 16:32:56 -08:00
Sheetal Nandi
2be3fd8863 Allow only package names as plugin names 2021-01-04 16:26:43 -08:00
Andrew Casey
2ae8d9f7e7
Merge pull request #39986 from amcasey/pinned-release-3.7
Make release-3.7 buildable
2020-08-10 18:05:04 -07:00
Andrew Casey
9e518c85eb Make release-3.7 buildable
With this change, you can build the branch using `npm ci && npm run
build`.
2020-08-10 17:38:48 -07:00
Daniel Rosenwasser
9ba45fcaac Update LKG. v3.7.5 2020-01-15 16:11:45 -08:00
Daniel Rosenwasser
609a605162 Suppress lint issues. 2020-01-15 14:43:50 -08:00
Daniel Rosenwasser
cd8c86dd38 Revert "Remove "unnecessary" type assertions."
This reverts commit 5dccbb7026e63813ab8a0a7455ffddc18ac95ca8.
2020-01-15 14:33:09 -08:00
Daniel Rosenwasser
5dccbb7026 Remove "unnecessary" type assertions. 2020-01-15 14:18:57 -08:00
Daniel Rosenwasser
9d429829f0 Update LKG. 2020-01-15 13:04:39 -08:00
Daniel Rosenwasser
c81b9a75b2 Bump version to '3.7.5'. 2020-01-15 13:02:04 -08:00
Sheetal Nandi
17f445035a
Disable declaration emit for json files (#36078) 2020-01-08 09:51:37 -08:00
TypeScript Bot
d38906353f Cherry-pick PR #35733 into release-3.7 (#35963)
Component commits:
ad3af6cbf6 Fix completions when the ts installation and project are on two different windows drive Fixes #35512

165758f6e8 Fix typo

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2020-01-07 15:39:57 -08:00
Daniel Rosenwasser
98cfe76eb5 Update LKG. v3.7.4 2019-12-18 13:01:03 -08:00
Daniel Rosenwasser
cfa568724f Bump version to 3.7.4. 2019-12-18 12:57:47 -08:00
TypeScript Bot
eb5170c760 Cherry-pick PR #35639 into release-3.7 (#35640)
Component commits:
7c31be3b17 Fix binding of this-assignments w/computed properties
Top-level this-assignments do not support computed properties. But the
binder forgets to check for computed properties and tries to bind them
normally. This hits a helpful assert.

This change stop binding this-properties with computed properties at the
top-level.  There's nothing sensible we could do with them; we're unable
to late-bind entries to the global scope or to modules.
2019-12-12 09:39:47 -08:00
Daniel Rosenwasser
79facc0d17 Update LKG. v3.7.3 2019-12-03 23:33:19 -08:00
Eli Barzilay
e65ce53dd8 Fix getTypeFromJSDocValueReference
When using `{import('./b').FOO}` which is defined as a string literal,
`valueType` doesn't have a `symbol`.  Leave it for the fallback value
for now.

This was exposed in 8223c0752.

Fixes #34869.
2019-11-27 19:54:43 -05:00
TypeScript Bot
41d1ce62cd Cherry-pick PR #35335 into release-3.7 (#35367)
Component commits:
c44de23315 Fix compileOnSaveEmit when using source of project reference redirect with --out Fixes #35226

522efb4798 Fix typo
2019-11-27 13:47:36 -08:00
TypeScript Bot
c4d6cec389 Cherry-pick PR #35366 into release-3.7 (#35368)
Component commits:
eeacbbf30d Handle when output file would be in subFolder specified by outDir/declarationDir Fixes #35328
2019-11-27 09:37:13 -08:00
TypeScript Bot
38a496a4f0 Update user baselines (#35337) 2019-11-25 15:58:53 -08:00
TypeScript Bot
9bf4e3a243 Update user baselines (#35302) 2019-11-25 13:56:19 -08:00
Daniel Rosenwasser
a8b63ef981 Update LKG. 2019-11-22 16:32:32 -08:00
TypeScript Bot
c021b28597 Cherry-pick PR #34987 into release-3.7 (#35303)
Component commits:
5810765259 Emit defineProperty calls before param prop assignments
Note that I restricted this to --useDefineForClassFields is true.
Nothing changes when it's off. I think this is the correct fix for a
patch release.

However, in principal there's nothing wrong with moving parameter
property initialisation after property declaration initialisation. It
would be Extremely Bad and Wrong to rely on this working:

```ts
class C {
  p = this.q // what is q?
  constructor(public q: number) { }
}
```

But today it does, and probably somebody relies on it without knowing.

ec7959091a Put parameter property initialiser into defineProperty's value

be863550b7 Merge branch 'master' into fix-defineProperty-parameter-property-emit

8ff59b98b8 Combine ES5/ESNext into one test
2019-11-22 16:26:51 -08:00
TypeScript Bot
d5bcb6f904 Cherry-pick PR #35058 into release-3.7 (#35241)
Component commits:
8ae5a8cfce useDefineForClassFields skips emit of ambient properties
Previously:

```ts
class C {
  declare p
}
```

would incorrectly emit

```js
class C {
    constructor() {
        Object.defineProperty(this, "p", {
            enumerable: true,
            configurable: true,
            writable: true,
            value: void 0
        });
    }
}
```

when useDefineForClassFields was turned on (for targets <ESNext).

0ec9c04896 Fix bug for ESNext as well
This moves the check earlier in the pipeline.

e1aa034a7a update baselines
2019-11-22 14:52:31 -08:00
TypeScript Bot
b9d52319ef Cherry-pick PR #35198 into release-3.7 (#35240)
Component commits:
9c0fab93b2 Fix crash with Object.defineProperty for imported alias (--allowJs)
Fixes #35196
2019-11-20 13:20:25 -08:00
TypeScript Bot
c18d72f220 Cherry-pick PR #35209 into release-3.7 (#35213)
Component commits:
74a6343925 Fix the usage of pattern matching for check of hasZeroOrOneAsteriskCharacter Fixes #35171

ffe82c637f Fix error message
2019-11-20 10:56:03 -08:00
TypeScript Bot
b37cc6e961 Cherry-pick PR #35111 into release-3.7 (#35116)
Component commits:
6945a72130 Support dynamic file names with project root path Fixes #35094

cc30b36c59 Remove unexpected change
2019-11-14 15:37:37 -08:00
Daniel Rosenwasser
adaacd1bc1 Fix build script. 2019-11-14 14:17:13 -08:00
Daniel Rosenwasser
f7629ec045 Update version number. 2019-11-14 14:11:31 -08:00
TypeScript Bot
2e3878339b Cherry-pick PR #34588 into release-3.7 (#34988)
Component commits:
99328e9072 Propagate 'undefined' instead of the optional type marker at an optional chain boundary

7aa6eee514 Merge branch 'master' into fix34579
# Conflicts:
#	src/compiler/utilities.ts

61e6765808 Update src/compiler/types.ts
Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2019-11-14 09:54:30 -08:00
Klaus Meinhardt
12e8b0813e strip QuestionToken from MethodDeclaration and PropertyDeclaration emit (#34954)
* strip QuestionToken from MethodDeclartion emit

Fixes: #34953

* test property emit
2019-11-12 13:00:37 -08:00
Nathan Shively-Sanders
dfe2f07f88 Fix import type resolution in jsdoc, mark 2 (#35057)
Fake alias resolution only applies when the import type is followed by a
qualified name. Otherwise the alias is sufficiently resolved already.
2019-11-12 12:59:51 -08:00
TypeScript Bot
93b1aa3e0b Cherry-pick PR #34513 into release-3.7 (#34800)
Component commits:
62aad54b98 Fix a crash when transforming functions in modules.
When transforming a module declaration and block, parse tree nodes
contained in the module block have their parent pointers reset due to
`shouldEmitModuleDeclaration` calling into `isInstantiatedModule`, which
needs to set parent pointers to operate.

That causes a crash when later transforming any nodes within the module,
as retrieving their source file in `getSourceFileOfNode` (via
`getOrCreateEmitNode`) fails, due to their new synthesized parent nodes
not being in a source file.

This change avoids the issue by using the parse tree node in `ts.ts` to
decide whether a module declaration should be emitted (i.e. whether the
module contains values).

This means transformers cannot add values to modules that previously did
not contain any.

Fixes #34644.
2019-11-11 08:20:31 -08:00
TypeScript Bot
4d5f30dee0 Cherry-pick PR #34906 into release-3.7 (#35006)
Component commits:
dfa4bc0d75 Use empty object for invalid package json contents instead of undefined Fixes #34726

4d035ba5f8 Behave as if package json doesnt exist in case of invalid json in package json
2019-11-08 14:07:46 -08:00
TypeScript Bot
a22ad161a3 Update user baselines (#34842) 2019-11-07 14:13:50 -08:00
TypeScript Bot
7cf6c70d90 Update user baselines (#34837) v3.7.2 2019-10-30 16:58:46 -07:00
Daniel Rosenwasser
2f876d9532 Update LKG. 2019-10-30 15:32:34 -07:00
TypeScript Bot
88d867dc39 🤖 Cherry-pick PR #34721 into release-3.7 (#34811)
* Cherry-pick PR #34721 into release-3.7

Component commits:
c8bdddf4fd Allow export declaration to reference const enums

857e7c43a2 Update baselines

6e0da2b563 Add test to verify reexported const enums are elided

* Update LKG
2019-10-30 15:28:36 -07:00
TypeScript Bot
da0c1f8755 Cherry-pick PR #34791 into release-3.7 (#34834)
Component commits:
3904be131a Add circularity checking during deferred type argument creation
2019-10-30 14:01:24 -07:00
TypeScript Bot
068ae6973d Update user baselines (#34835) 2019-10-30 13:59:34 -07:00
TypeScript Bot
60bf24d1e5 Cherry-pick PR #34786 into release-3.7 (#34833)
Component commits:
f6dbbfd80d Fix alias naming and structure bugs in js declarations

3005f18da5 Merge branch 'master' into fix-js-declaration-bugs

3bd49e49a7 Add another test case and change condition for ns merge to require signature or export content

ca5f764c8d Fix typo in comment
2019-10-30 13:24:42 -07:00
TypeScript Bot
28050d5c47 Cherry-pick PR #34789 into release-3.7 (#34812)
Component commits:
2e0b4513ef Add isIntersectionConstituent to relation key
isIntersectionConstituent controls whether relation checking performs
excess property and common property checks. It is possible to fail a
relation check with excess property checks turned on, cache the result,
and then skip a relation check with excess property checks that would
have succeeded. #33133 provides an example of such a program.

Fixes #33133 the right way, so I reverted the fix at #33213
Fixes #34762 (by reverting #33213)
Fixes #33944 -- I added the test from #34646

14d7a44c50 Merge branch 'master' into add-isIntersectionConstituent-to-relation-key

ea803620ec Update comments in test

0764275c30 Merge branch 'master' into add-isIntersectionConstituent-to-relation-key
2019-10-29 15:38:04 -07:00
Nathan Shively-Sanders
7d77ecbcff JSDoc type reference understands require with entity name (#34804)
* resolve require with entity name postfix

For example, `require("x").c`. This is the value equivalent of
`import("x").a.b.c`, but the syntax tree is not as nicely designed for
this purpose.

Fixes #34802

* Add bug number to test

* Add optional chain test
2019-10-29 15:17:02 -07:00
Daniel Rosenwasser
787ff340c5 Update LKG. 2019-10-28 16:48:33 -07:00
Daniel Rosenwasser
156ec62b17 Update version number to '3.7.2'. 2019-10-28 16:47:57 -07:00
TypeScript Bot
87befe826f Cherry-pick PR #34715 into release-3.7 (#34719)
Component commits:
4cb867bee8 Fix regression in mixin emit by removing unneeded line of code

e3cc5e9acf Double the test, double the fun
2019-10-28 16:44:44 -07:00
TypeScript Bot
1f3016fdb3 🤖 Cherry-pick PR #34743 into release-3.7 (#34781)
Component commits:
06fda263f8 Fix incorrect outDir usage instead of out

66f1a79c44 Handle symlinks of packages in mono repo like packages Fixes #34723
2019-10-28 16:44:03 -07:00
TypeScript Bot
17bd75d613 Cherry-pick PR #34779 into release-3.7 (#34782)
Component commits:
2e435ae3b0 Fix incorrectly looking for position in call/new expression arguments when looking for indentation of type arguments Fixes #32487

0bb1b40b1b Update src/services/formatting/smartIndenter.ts
Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2019-10-28 14:59:27 -07:00