ESLint“解析错误:‘,’预期。” 当使用 TypeScript 满足运算符时

Ped*_*ssi 9 typescript eslint typescript-eslint

我尝试使用 TypeScript 的新 satisfies 运算符在代码中保留变量的最具体类型,但当我添加到对象末尾Parsing error: ',' expected.时,ESLint 在对象的右大括号上抛出错误。satisfies Prisma.gameInclude;

以下是相关对象的外观:

const includeFields = {
  participants: true,
  queue: {
    include: {
      gamemode: {
        include: {
          character_pool: {
            include: {
              characters: true,
            },
          },
        },
      },
    },
  },
} satisfies Prisma.gameInclude;
^ Parsing error: ',' expected.
Run Code Online (Sandbox Code Playgroud)

这是我的.eslintrc.js

const includeFields = {
  participants: true,
  queue: {
    include: {
      gamemode: {
        include: {
          character_pool: {
            include: {
              characters: true,
            },
          },
        },
      },
    },
  },
} satisfies Prisma.gameInclude;
^ Parsing error: ',' expected.
Run Code Online (Sandbox Code Playgroud)

我尝试parserOptions.project向其中添加指向我的 tsconfig 的属性,但没有成功。

阅读 typescript-eslint 的一些 PR 和问题,我发现它确实已经支持 satisfies 运算符。我目前使用的是最新版本,5.56.0。

我怎样才能解决这个问题?

Ped*_*ssi 12

嗯,这很尴尬。我在发布这个问题几分钟后就找到了错误的原因。

检查package.json该项目后,我发现typescript版本为4.3.5满足运算符是在 TypeScript 4.9 上添加的

将 TS 更新到最新版本5.0.2解决了该问题。