You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以编程方式获取typescript-eslint支持的最新TypeScript版本?

如何将TypeScript更新至typescript-eslint支持的最新版本?

问题描述

我想要将TypeScript更新至typescript-eslint支持的最新版本,但使用pnpm info typescript-eslint命令查询时,要么输出里没有TypeScript相关信息,要么显示支持所有TS版本(*),具体输出如下:

// pnpm info typescript-eslint peerDependencies
{ eslint: '^8.56.0' }

// pnpm info typescript-eslint devDependencies
{
  'downlevel-dts': '*',
  jest: '29.7.0',
  prettier: '^3.0.3',
  rimraf: '*',
  typescript: '*'
}

// pnpm info typescript-eslint dependencies
{
  '@typescript-eslint/eslint-plugin': '7.1.1',
  '@typescript-eslint/parser': '7.1.1'
}

目前我只能通过抓取文档页面的方式获取版本范围,命令如下,但这显然不是最优解,而且在仓库里也没找到专门用于查询的文件:

pnpm i "typescript@$(
  curl -s https://typescript-eslint.io/users/dependency-versions/ | \
    grep -Po 'The version range of TypeScript currently supported is.*<code>\K.*(?=</code>)' | \
    sed 's/&gt;/>/;s/&lt;/</g'
)"

请问有没有更好的方法?

解决方案

直接查询核心包的peer依赖

typescript-eslint本身是一个元包(meta-package),仅封装了@typescript-eslint/eslint-plugin和@typescript-eslint/parser两个核心工具,真正对TypeScript版本的约束定义在这两个核心包的peer依赖中。

你可以直接查询@typescript-eslint/parser的peer依赖来获取准确的TypeScript版本范围:

pnpm info @typescript-eslint/parser peerDependencies

输出会包含类似这样的内容:

{
  eslint: '^8.56.0',
  typescript: '>=4.7.4 <6'
}

基于这个结果,你可以用以下命令自动安装符合范围的最新TypeScript版本:

pnpm add typescript@$(pnpm info @typescript-eslint/parser peerDependencies | grep -Po '"typescript": "\K[^"]+')

或者更简洁的方式,利用pnpm的--peer参数自动安装符合当前已装工具链的peer依赖版本(前提是你已经安装了@typescript-eslint/parser):

pnpm add typescript --peer

这种方式无需依赖网页抓取,就能确保安装的TypeScript版本完全符合typescript-eslint的要求。

内容的提问来源于stack exchange,提问作者tukusejssirs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 01:48:09