microsoft / microsoft/TypeScript

"await x as any" - Node PartiallyEmittedExpression did not pass test 'isLeftHandSideExpression' assert triggered

未关闭
#62,072 1 条评论 1 个 reaction 已指派 1 人 在 GitHub 查看

还没有人认领这个 Issue。

Bug Domain: API: Transforms Help Wanted
主要语言
Go
星标
111k
派生
14.3k
平均合并
2 天 4 小时
30 天内合并 PR
132

描述

### 🔎 Search Terms

"PartiallyEmittedExpression", "isLeftHandSideExpression", "NODE_ENV" "NODE_ENV=development"

### 🕗 Version & Regression Information

This is the behavior in every version I tried (4.0, 5.0, and 5.8.3), and I reviewed the FAQ to see if anything related was in there

### ⏯ Playground Link

_No response_

### 💻 Code

```ts
async function test() {
const test = (await null as any)!;
};
```

Executing this code in the Playground will be fine, but the bug can be triggered by running tsc with env var NODE_ENV=development turned on.

### 🙁 Actual behavior

Executing this code in the Playground will be fine, but running this with tsc on the command line with env flag NODE_ENV=development will fail with the following error:

```
Error: Debug Failure. False expression: Unexpected node.
Verbose Debug Information: Node PartiallyEmittedExpression did not pass test 'isLeftHandSideExpression'.
```

We did not realize NODE_ENV=development would affect TypeScript, and start throwing errors on code that normally compiles perfectly fine.

### 🙂 Expected behavior

Either NODE_ENV=development should not affect TypeScript at all, or at least TypeScript shouldn't crash when hitting some debug path? If this behavior is expected then putting an item in the FAQ about ensuring NODE_ENV is not set to development might be sensible.

### Additional information about the issue

_No response_

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。