PRNext 0.1.16:React 安全更新
PRNext 0.1.16-alpha 需要 React、React DOM 和 React-server-dom-webpack 19.3.1. 该版本可在 npm 上使用,并包含对齐的 React 依赖层。
上游建议涉及 React 服务器组件中的远程代码执行和服务器功能中的拒绝服务。仅更新 React 的安装仍可能保留过时的解码器。
此版本中发生了什么变化
App Router 依赖项检查会拒绝 React 19.3.0 和混合安装,从而将 RSC 解码器抛在后面。单独的发布安全层还独立于 npm 审计咨询覆盖范围检查所需的版本。
这些检查有助于防止已知过时的组合成为新的版本。它们不会取代依赖性监控或证明不存在未知漏洞。
这些修复涉及使用受影响功能的应用程序中的 React 服务器组件和服务器功能。框架更新使相关包保持一致,但它不会取代对特定于应用程序的依赖项的审查。工作区其他位置列出的依赖项仍然可以与已部署构建中嵌入的代码分开。
更新所有三个 React 包
在项目中运行以下命令,然后检查锁定文件以确认已解析的版本。
安装后检查锁定文件并查看任何包管理器覆盖或重复的 React 副本。将 React DOM 和 React-server-dom-webpack 保持在不同的版本可能会导致渲染堆栈不一致。该命令更新包集;应用程序仍然需要正常的构建和浏览器验证。
npm install @thomas.f/prnext@0.1.16-alpha react@19.3.1 react-dom@19.3.1 react-server-dom-webpack@19.3.1重建并重新启动应用程序
更新 node_modules 不会替换已捆绑在已部署应用程序中的 JavaScript。重建应用程序并部署完整的更新输出,然后重新启动它。
保持框架和本机 PRNext 包版本一致。对于独立部署,重建目标操作系统和体系结构的完整输出,而不是仅复制新的可执行文件。
在开发计算机上更新 node_modules 不会更改现有容器映像或独立工件。从更正的依赖关系树中生成新的构建,然后重新启动实际为其提供服务的服务。当您的应用程序使用页面请求和代表性服务器操作时,请验证已部署的生成。
单独保持 Node.js 当前状态
React 修复和 Node.js 运行时是单独的更新。单独更新 Node 并不能修复这些 React 建议;安装 PRNext 不会更新 Node 可执行文件或已部署的容器映像。
更新后,在返回到通常的部署工作流程之前测试应用程序的服务器操作、身份验证、动态页面和错误处理。
验证服务使用的 Node 可执行文件,而不仅仅是交互式终端中显示的版本。进程管理器或容器可以选择另一个可执行文件。使用更正后的运行时重新启动并检查服务输出可以缩小开发环境与接受请求的流程之间的差距。