Webpack v5.109.1 发布,模块打包器
Webpack 是一个模块打包器,主要目的是在浏览器上打包 JavaScript 文件。Webpack v5.109.1 已发布,具体更新内容如下:
### Patch Changes
- 修复导入调用后,在带括号的序列元素之前出现的多余分号 [#21533](https://github.com/webpack/webpack/pull/21533)
- 使 `require(esm)` `module.exports` 重新导出分析独立于模块处理顺序 [#21521](https://github.com/webpack/webpack/pull/21521)
- 在 lazy-compilation 后端的清理过程中忽略 ERR_SERVER_NOT_RUNNING 错误,以便在 Bun 上 `compiler.close()` 能成功执行 [#21521](https://github.com/webpack/webpack/pull/21521)
- 当 DefinePlugin 无法解析某个 `typeof` 值时,标明失败的 key [#21503](https://github.com/webpack/webpack/pull/21503)
- 改进 Deno 兼容性:在 lazy-compilation 后端的释放过程中对 `setNoDelay` 进行保护并强制关闭连接,同时让 Node 的异步/同步 WebAssembly 加载器返回真正的 `ArrayBuffer`,以便 `WebAssembly.instantiate` 能接受它 [#21524](https://github.com/webpack/webpack/pull/21524)
- 加快 HTML 解析器速度并降低其峰值内存占用:模块作用域辅助函数/状态和 tokenizer 回调,以及精确的 AST 列预处理 [#21492](https://github.com/webpack/webpack/pull/21492)
- 当 `require.cache` 的子组件不可用时(例如 Bun),通过解析源代码来跟踪 CommonJS 构建依赖项 [#21531](https://github.com/webpack/webpack/pull/21531)
- 在 JS 解析器的快速路径上处理常见的字符串字面量转义,并掌控分词器的冷路径读取器 [#21500](https://github.com/webpack/webpack/pull/21500)
- 在 SoA 存储上构建 CSS `parseA*` AST,而不是在节点类上构建,从而减少解析内存和时间 [#21498](https://github.com/webpack/webpack/pull/21498)
- 加快实验性 CSS 和 HTML 解析器的速度并减少内存占用:移除两个可派生 AST 节点列,并原生扫描长字符串、URL、注释和纯文本标记体 [#21504](https://github.com/webpack/webpack/pull/21504)
- 加快非模块 CSS 解析速度:跳过冗余的 token re-reads,丢弃未实例化的 selector-prelude tokens,延迟分配规则前导,并为空列表封装提供快速路径 [#21511](https://github.com/webpack/webpack/pull/21511)
- 加快统计信息生成速度并降低峰值内存占用:重用缓存的排序比较器,而不是每次排序都刷新比较器缓存;并删除提取器中冗余的模块图查找和内存分配 [#21506](https://github.com/webpack/webpack/pull/21506)
- 加快 CSS 解析速度:字节范围函数名检查,索引兄弟节点前瞻 [#21520](https://github.com/webpack/webpack/pull/21520)
- 减少代码生成、模块拼接、导出/使用情况分析、哈希和代码块分割等热点路径中的内存分配和冗余工作 [#21516](https://github.com/webpack/webpack/pull/21516)
- 在 webpack CLI entry point 启用 Node.js 编译缓存 [#21523](https://github.com/webpack/webpack/pull/21523)
- 使用 V8 的值序列化器对持久缓存进行编码 [#21514](https://github.com/webpack/webpack/pull/21514)
- 提升 SplitChunksPlugin 的性能:拒绝具有 64 位签名的非子集数据块集,缓存未命名的入口键,并移除每个模块的闭包 [#21529](https://github.com/webpack/webpack/pull/21529)
- 在构造函数中初始化 `NormalModule._ast`,以便每个实例都保持单一的隐藏类形状 [#21515](https://github.com/webpack/webpack/pull/21515)
- 减少二进制序列化热路径中的内存分配 [#21526](https://github.com/webpack/webpack/pull/21526)
- 去重并简化多个 lib 模块,加快 AggressiveMergingPlugin 的运行速度 [#21525](https://github.com/webpack/webpack/pull/21525)
- 重命名打包后的 webpack 输出中嵌套的 `const` / `let __webpack_require__` 和 `__webpack_exports__` 声明 [#21508](https://github.com/webpack/webpack/pull/21508)
更新说明:[https://github.com/webpack/webpack/releases/tag/v5.109.1](https://github.com/webpack/webpack/releases/tag/v5.109.1)
---
原文链接:[点击查看](https://www.oschina.net/news/481333/webpack-5-109-1-released)
### Patch Changes
- 修复导入调用后,在带括号的序列元素之前出现的多余分号 [#21533](https://github.com/webpack/webpack/pull/21533)
- 使 `require(esm)` `module.exports` 重新导出分析独立于模块处理顺序 [#21521](https://github.com/webpack/webpack/pull/21521)
- 在 lazy-compilation 后端的清理过程中忽略 ERR_SERVER_NOT_RUNNING 错误,以便在 Bun 上 `compiler.close()` 能成功执行 [#21521](https://github.com/webpack/webpack/pull/21521)
- 当 DefinePlugin 无法解析某个 `typeof` 值时,标明失败的 key [#21503](https://github.com/webpack/webpack/pull/21503)
- 改进 Deno 兼容性:在 lazy-compilation 后端的释放过程中对 `setNoDelay` 进行保护并强制关闭连接,同时让 Node 的异步/同步 WebAssembly 加载器返回真正的 `ArrayBuffer`,以便 `WebAssembly.instantiate` 能接受它 [#21524](https://github.com/webpack/webpack/pull/21524)
- 加快 HTML 解析器速度并降低其峰值内存占用:模块作用域辅助函数/状态和 tokenizer 回调,以及精确的 AST 列预处理 [#21492](https://github.com/webpack/webpack/pull/21492)
- 当 `require.cache` 的子组件不可用时(例如 Bun),通过解析源代码来跟踪 CommonJS 构建依赖项 [#21531](https://github.com/webpack/webpack/pull/21531)
- 在 JS 解析器的快速路径上处理常见的字符串字面量转义,并掌控分词器的冷路径读取器 [#21500](https://github.com/webpack/webpack/pull/21500)
- 在 SoA 存储上构建 CSS `parseA*` AST,而不是在节点类上构建,从而减少解析内存和时间 [#21498](https://github.com/webpack/webpack/pull/21498)
- 加快实验性 CSS 和 HTML 解析器的速度并减少内存占用:移除两个可派生 AST 节点列,并原生扫描长字符串、URL、注释和纯文本标记体 [#21504](https://github.com/webpack/webpack/pull/21504)
- 加快非模块 CSS 解析速度:跳过冗余的 token re-reads,丢弃未实例化的 selector-prelude tokens,延迟分配规则前导,并为空列表封装提供快速路径 [#21511](https://github.com/webpack/webpack/pull/21511)
- 加快统计信息生成速度并降低峰值内存占用:重用缓存的排序比较器,而不是每次排序都刷新比较器缓存;并删除提取器中冗余的模块图查找和内存分配 [#21506](https://github.com/webpack/webpack/pull/21506)
- 加快 CSS 解析速度:字节范围函数名检查,索引兄弟节点前瞻 [#21520](https://github.com/webpack/webpack/pull/21520)
- 减少代码生成、模块拼接、导出/使用情况分析、哈希和代码块分割等热点路径中的内存分配和冗余工作 [#21516](https://github.com/webpack/webpack/pull/21516)
- 在 webpack CLI entry point 启用 Node.js 编译缓存 [#21523](https://github.com/webpack/webpack/pull/21523)
- 使用 V8 的值序列化器对持久缓存进行编码 [#21514](https://github.com/webpack/webpack/pull/21514)
- 提升 SplitChunksPlugin 的性能:拒绝具有 64 位签名的非子集数据块集,缓存未命名的入口键,并移除每个模块的闭包 [#21529](https://github.com/webpack/webpack/pull/21529)
- 在构造函数中初始化 `NormalModule._ast`,以便每个实例都保持单一的隐藏类形状 [#21515](https://github.com/webpack/webpack/pull/21515)
- 减少二进制序列化热路径中的内存分配 [#21526](https://github.com/webpack/webpack/pull/21526)
- 去重并简化多个 lib 模块,加快 AggressiveMergingPlugin 的运行速度 [#21525](https://github.com/webpack/webpack/pull/21525)
- 重命名打包后的 webpack 输出中嵌套的 `const` / `let __webpack_require__` 和 `__webpack_exports__` 声明 [#21508](https://github.com/webpack/webpack/pull/21508)
更新说明:[https://github.com/webpack/webpack/releases/tag/v5.109.1](https://github.com/webpack/webpack/releases/tag/v5.109.1)
---
原文链接:[点击查看](https://www.oschina.net/news/481333/webpack-5-109-1-released)
评论
暂无评论。