#7779·recharts

支持 Node.js 26 在开发和 CI 中

作者: PavelVanecek创建于 2026年9月9日更新于 2026年9月9日
标签enhancement

□ 什么是当前的行为?

该储存库目前的目标是Node.js 24 (.nvmrc'和NODE VERSION: 24.x' in CI)。 在Node.js 26.8.1上进行网站单元测试,即使在“npm运行构建”之后也失败了:

嘘 npx vitest - 项目单位:website -- config vitest.config.mts --run -- reporter 最小值


失败发生在与彩色模式有关的网站测试中,错误包括:

页:1
类型错误: 无法读取未定义的属性( 正在读取“ 获取项目 ”)

Node.js 26提供了一个实验性的全球 " 本地化 " 接入器。 如果没有地方储存文件',它就会返回未界定的'。 Vitest的jsdom环境看到现有的节点是全球性的,没有用jsdom的"window.localStorage"取而代之,留下了使用不合格"localStorage"全球断开的测试.

“ npm 运行构建” 成功并生成网站 API 源; 这是一个单独的运行时间兼容问题 。

□什么是预期的行为?

Node.js 26应是一个得到明确支持的开发和CI运行时间,全构外加网站测试套件应该通过,而不需要开发者提供节点专用的"-地库-文件".

□ 请在沙盒中演示问题

编号/A——这是Node.js/Vitest/jsdom测试-环境相容性问题. 可在存储器中复制,上面的指令为Node.js 26.8.1.

□ 哪个版本的 Recharts, 以及哪个浏览器 / OS 受本期影响? 这在以前的版本 Recharts 中有用吗?

  • 注释:3.11.0-canary.2' atmain'
  • Node.js: " 26.8.1 " 号 " 马科斯臂 " 64
  • 维特:`4.1.11'
  • 原则:`29.1.1'
  • Node.js `24.20.00':相同的建筑物和网站测试命令通行证

□ 所需工作

  • 决定并记录支持的Node.js 26基线以及是否仍然支持节点24。
  • 酌情更新`.nvmrc'、CI工作流程、设置/开发文件以及软件包元数据。
  • 使Vitest/jsdom测试环境与Node.js 26相兼容,最好是不依赖Node的“--localstorage-file'旗;可能的选择包括:在网站测试中明确使用“window.localStorage”或确保Vitest可以安装jsdom的全域存储.
  • 在Node.js 26下进行建设、网站测试、图书馆测试、类型检查、涂料和相关CI工作。
  • 调查并解决整个套房暴露出的任何额外的Node.js 26不兼容问题.

内容来源: recharts/recharts