在尝试编译我的项目时收到错误:"DeprecationWarning: 'originalKeywordKind' deprecated"

回答 3 浏览 8835 2023-07-26

编译我的项目后,我收到下面粘贴的错误,这是什么意思以及如何修复它?

- info Linting and checking validity of types
DeprecationWarning: 'originalKeywordKind' has been deprecated since v5.0.0 and will no longer be usable after v5.2.0. Use 'identifierToKeywordKind(identifier)' instead.

while npm run build

我使用的是 nextjs 13.4,我的依赖项如下:

"dependencies": {
    "@prisma/client": "^5.0.0",
    "@types/bcryptjs": "^2.4.2",
    "@types/node": "^20.4.5",
    "@types/react": "^18.2.16",
    "@types/react-dom": "^18.2.7",
    "axios": "^1.4.0",
    "bcryptjs": "^2.4.3",
    "eslint": "^8.45.0",
    "eslint-config-next": "^13.4.12",
    "next": "^13.4.12",
    "next-auth": "^4.22.3",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-hook-form": "^7.45.2",
    "react-uuid": "^2.0.0",
    "typescript": "^5.1.6"
},
"devDependencies": {
    "@vercel/analytics": "^1.0.1",
    "autoprefixer": "^10.4.14",
    "postcss": "^8.4.27",
    "prettier-plugin-tailwindcss": "^0.4.1",
    "prisma": "^5.0.0",
    "tailwindcss": "^3.3.3"
}
naeemgg 提问于2023-07-26
3 个回答
#1楼 已采纳
得票数 4

这指的是 Typescript 中的更改:https: //github.com/microsoft/TypeScript/blob/main/src/deprecatedCompat/5.0/identifierProperties.ts#L28

还有一些东西,可能是你的依赖项之一,还没有适应这一变化,但这只是一个弃用警告,所以目前不用担心。 🙂

MunchyYDL 提问于2023-07-29
这一刻结束了。 :) 知道如何修复它吗?我想向 ts-utils 发送 PR,但除了该错误消息之外,我找不到任何有关更改的文档。Patrick McElhaney 2023-08-28
好吧,我想我明白了: github.com/ajafff/tsutils/pull/156/filesPatrick McElhaney 2023-08-29
#2楼
得票数 3

当我升级 NestJS 应用程序的底层 typescript 安装以利用 satisfies 等新的 TS 功能时,我遇到了这个问题。

除了 Munchy 回答的原因之外,解决此问题的方法是使用 npm i -D <package-name>@latest 更新与 linting 有关的所有包,例如:

eslint
eslint-config-prettier
eslint-plugin-prettier
prettier
@typescript-eslint/eslint-plugin
@typescript-eslint/parser

更新这些可以消除警告,并且保持开发依​​赖项处于最新状态是一个很好的做法。

mwieczorek 提问于2023-08-27
就我而言,它来自 tsutils,它是 eslint-plugin 等的依赖项。在 tsutils 更新为支持 TypeScript 5 之前,我的选择是推迟将 TypeScript 升级到 5.2 或关闭 eslint-plugin-etc 规则。Patrick McElhaney 2023-08-29
#3楼
得票数 2

只需将@typescript-eslint/parser更新为最新版本(^6.6.0),它是导入tsutils的间接依赖项。

此外,这些依赖项应该位于 devDependencies 部分:

"@types/bcryptjs": "^2.4.2",
"@types/node": "^20.4.5",
"@types/react": "^18.2.16",
"@types/react-dom": "^18.2.7",
"eslint": "^8.45.0",
"eslint-config-next": "^13.4.12",
"typescript": "^5.1.6"
Leonardo Pinto 提问于2023-09-05