内容提要
本期前端与AI技术周报涵盖Webpack 5.109.0内置TypeScript/CSS/HTML支持、Shadcn/UI默认迁移至Base UI并新增React Aria选项、Codex CLI新增GPT-5.9-snapshot模型及音频输入,以及ESLint、Prettier、Oxlint等工具更新。
延伸解读
Webpack 5.109.0 内置支持的影响
Webpack 5.109.0 默认开启 TypeScript、CSS 和 HTML 的内置支持,但实验性功能需谨慎。若项目中已注册对应 loader,自动模式会静默回退,可能造成行为不一致。建议升级前检查 experiments 配置,并验证与现有 loader 的兼容性,避免构建结果意外变化。
Shadcn/UI 迁移至 Base UI 的注意事项
Shadcn/UI 默认组件库从 Radix 切换至 Base UI,但现有项目不受影响,Radix 仍完全支持。新项目默认使用 Base UI,并新增 React Aria 选项。开发者初始化新项目时需注意基座选择,不同基座可能影响组件 API 和样式行为,建议根据项目需求评估。
Codex CLI 新模型与音频输入
Codex CLI v0.145.0 新增 GPT-5.9-snapshot 等模型支持,并引入音频输入和流式 Realtime V3 对话能力。这扩展了 CLI 的交互方式,但音频输入可能增加资源消耗,且新模型为 snapshot 版本,稳定性需观察。升级前建议测试现有工作流。
Oxlint 破坏性变更提醒
Oxlint 1.75.0 将 MetaProperty 拆分为 ImportMeta 和 NewTarget,这是破坏性变更。使用自定义规则或依赖 MetaProperty 的插件需更新 AST 遍历逻辑。同时新增 no-top-level-await 规则,可能影响现有代码。升级后建议运行完整 lint 检查,确保规则兼容。
Q&A
Webpack 5.109.0 有哪些重大更新?
Webpack 5.109.0 于 7 月 23 日发布,是近年来最重大的功能更新。它默认开启了 experiments.typescript、experiments.css、experiments.html 和 experiments.asyncWebAssembly 的 'auto' 模式,内置了 TypeScript、CSS 和 HTML 支持。新增了 output.html 全套 HTML 生成选项,支持 import.meta.glob、import.meta.env、import.meta.resolve,以及 output.resourceHints 等。
Shadcn/UI 默认组件库切换到了什么?现有项目会受影响吗?
Shadcn/UI 默认组件库从 Radix 切换到了 Base UI,Base UI 由 Radix 原团队开发,当前版本为 1.6.0。现有项目不受影响,Radix 仍完全支持。新项目默认使用 Base UI,同时新增了 React Aria 选项。
Codex CLI v0.145.0 新增了哪些模型和功能?
Codex CLI v0.145.0 新增了 GPT-5.9-snapshot、o3-mini、o4-mini、o4-pro、gpt-4.1 系列和 gpt-4.1-nano 模型支持。还新增了上下文输出功能、音频输入与工具输出,以及流式 Realtime V3 对话能力。
ESLint 10.8.0 有哪些改进?
ESLint 10.8.0 于 7 月 24 日发布,主要改进包括:eslint/config 模块新增 ConfigObject 类型导出,便于 TypeScript 配置文件使用;修复了 html 格式化器中规则 ID 转义问题、no-unreachable-loop 崩溃和 prefer-object-spread 缺少分号的问题;依赖 minimatch 升级至 ^10.2.5。
Prettier 3.9.6 新增了什么功能?
Prettier 3.9.6 于 7 月 21 日发布,新增了 import defer 语法支持,修复了 TypeScript 接口中名为 new 的方法引号丢失问题。同时正式发布了官方插件 @prettier/plugin-yuku,基于 Zig 编写,提供 yuku 和 yuku-ts 两个解析器,适用于对格式化速度有更高要求的项目。
Oxlint 1.75.0 有哪些破坏性变更?
Oxlint 1.75.0 的破坏性变更是 AST 中 MetaProperty 拆分为 ImportMeta 和 NewTarget,使用 MetaProperty 的规则和插件需要更新。此外新增了 node/no-top-level-await 规则和 react/function-component-definition 规则。
Vite 8.2.0-beta.0 有哪些新特性?
Vite 8.2.0-beta.0 于 7 月 22 日发布,新增了 input 选项用于指定构建入口,CSS 模块导出 PostCSS 配置类型,开发服务器网络 URL 标注网络接口名称,优化器支持 aube 与 nub 锁文件,并更新了 Rolldown 相关依赖。
Shadcn/UI 新增的 @shadcn/helpers 包有什么用途?
@shadcn/helpers 是 Shadcn/UI 新发布的开源包,首项功能是提供 AI SDK 与 TanStack AI 的测试辅助工具,可以在不依赖模型、API 路由或网络请求的情况下模拟 useChat 的完整生命周期。