成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

pnpm v10 來了!這些更新你一定不能錯(cuò)過

開發(fā) 前端
在包管理工具的賽道上,pnpm 一直是開發(fā)者眼中的 “性能之選”。它通過獨(dú)特的硬鏈接機(jī)制和優(yōu)秀的性能表現(xiàn),成功的在包管理工具上占據(jù)了一席之地。而就在最近,pnpm v10 正式發(fā)布,這次發(fā)布包含了眾多重大更新和功能改進(jìn),尤其是對(duì)安全性和性能的提升!

Hello,大家好,我是 Sunday。

在包管理工具的賽道上,pnpm 一直是開發(fā)者眼中的 “性能之選”。它通過獨(dú)特的硬鏈接機(jī)制和優(yōu)秀的性能表現(xiàn),成功的在包管理工具上占據(jù)了一席之地。

而就在最近,pnpm v10 正式發(fā)布,這次發(fā)布包含了眾多重大更新和功能改進(jìn),尤其是對(duì)安全性和性能的提升!

今天,咱們就一起來看看 v10 帶來了哪些變化,以及這些變化將如何影響我們的日常開發(fā)。

核心變化一覽

1. 默認(rèn)禁用依賴生命周期腳本

pnpm v10 默認(rèn)不再執(zhí)行依賴的生命周期腳本(如 postinstall 和 preinstall)。這是一個(gè)顯著的安全增強(qiáng),可以有效防止惡意腳本在安裝依賴時(shí)被執(zhí)行。

如果需要允許某些特定依賴執(zhí)行生命周期腳本,可以在 package.json 中通過 pnpm.onlyBuiltDependencies 字段進(jìn)行顯式配置。例如:

{
  "pnpm": {
    "onlyBuiltDependencies": ["fsevents"]
  }
}

2. 改進(jìn)的 pnpm link

pnpm link 的行為在 v10 中進(jìn)行了優(yōu)化:

  • 工作區(qū)中:pnpm link 現(xiàn)在會(huì)將鏈接信息添加到工作區(qū)的根級(jí) package.json,從而讓所有項(xiàng)目都能共享相同的鏈接。
  • 全局鏈接:想要全局鏈接一個(gè)包,只需在包的目錄下運(yùn)行 pnpm link,不再需要額外指定 -g 參數(shù)。

3. 安全性升級(jí):全面切換到 SHA256 哈希算法

pnpm v10 將多個(gè)關(guān)鍵部分的哈希算法更新為 SHA256,以提升安全性和一致性:

  • node_modules/.pnpm 中長路徑的哈希。
  • 鎖定文件中的長依賴項(xiàng)哈希。
  • pnpm-lock.yaml 文件的多項(xiàng)校驗(yàn)值(如 packageExtensionsChecksum 和 sideEffects)。
  • 側(cè)效緩存(Side Effects Cache)的校驗(yàn)值。

4. 配置管理更加智能

pnpm v10 對(duì)配置的管理也進(jìn)行了優(yōu)化:

  • manage-package-manager-versions 默認(rèn)啟用:pnpm 會(huì)根據(jù) package.json 中的 packageManager 字段自動(dòng)管理版本。
  • 公共提升(public hoisting)模式更新:默認(rèn)情況下,不再提升任何包到 node_modules 根目錄。這對(duì)依賴沖突的處理更加友好。
  • 減少腳本執(zhí)行中的環(huán)境變量:僅保留必要的環(huán)境變量(如 npm_package_name 和 npm_package_version),減少了不必要的污染。

5. 更智能的依賴安裝

pnpm v10 對(duì)依賴安裝的邏輯進(jìn)行了多處優(yōu)化:

  • 即使 NODE_ENV=production,也會(huì)安裝所有依賴。這解決了一些生產(chǎn)環(huán)境下依賴缺失的問題。
  • 更快的重復(fù)安裝:在重復(fù)執(zhí)行安裝命令時(shí),pnpm 會(huì)快速校驗(yàn) node_modules 是否已經(jīng)是最新狀態(tài),無需重新生成。
  • 增強(qiáng)的依賴驗(yàn)證:新增 verify-deps-before-run 設(shè)置,可控制在運(yùn)行腳本前對(duì)依賴的檢查策略(如自動(dòng)安裝、警告或拋出錯(cuò)誤)。

6. 全球存儲(chǔ)與索引優(yōu)化

pnpm v10 對(duì)全局存儲(chǔ)和依賴索引進(jìn)行了優(yōu)化:

  • 存儲(chǔ)版本升級(jí)到 v10:支持同一內(nèi)容的不同包名或版本共享索引文件,從而提升一致性。
  • 更高效的副作用緩存索引:僅記錄文件差異,而非所有文件,節(jié)省了存儲(chǔ)空間。
  • 更可靠的依賴校驗(yàn):通過存儲(chǔ)內(nèi)容哈希和包標(biāo)識(shí)符,確保鎖定文件中的完整性與一致性。

7. 新增支持:配置依賴(Configurational Dependencies)

pnpm v10 引入了一種新的依賴類型 配置依賴(configurational dependencies),這些依賴會(huì)在其他依賴之前優(yōu)先安裝。

配置依賴無法擁有自己的依賴或生命周期腳本,必須使用確切的版本號(hào)和校驗(yàn)值進(jìn)行安裝,例如:

{
  "pnpm": {
    "configDependencies": {
      "my-configs": "1.0.0+sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="
    }
  }
}

責(zé)任編輯:武曉燕 來源: 程序員Sunday
相關(guān)推薦

2023-11-12 22:43:53

系統(tǒng)鏡像

2020-08-18 11:21:28

數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)算法

2019-05-28 11:00:17

微軟Windows 105月更新

2018-03-08 10:05:10

2022-01-19 12:15:28

元宇宙開源

2022-11-16 11:55:22

網(wǎng)絡(luò)連接命令

2019-11-12 08:53:00

線上命令日志

2015-10-28 14:40:44

LG

2018-03-09 10:34:48

顯卡參數(shù)超頻

2021-02-26 09:04:22

數(shù)組ArrayListHashMap

2019-04-24 16:40:18

Redis數(shù)據(jù)庫

2022-05-02 09:21:25

微信微信支付

2014-12-17 14:21:56

Hybrid App框架工具

2020-04-27 10:34:23

HTTPDNSDNS網(wǎng)絡(luò)協(xié)議

2021-05-20 14:50:03

加密貨幣比特幣數(shù)據(jù)

2020-09-16 18:44:34

JavaScript書籍開發(fā)者

2022-12-26 09:16:45

Guava架構(gòu)模型

2014-10-29 14:52:13

程序員

2020-12-03 10:17:25

Kubernetes架構(gòu)微服務(wù)

2015-10-28 15:15:29

LG
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 视频一区在线观看 | 免费一级毛片 | 中文字幕二区 | 国产在线不卡视频 | 国产成人精品网站 | 国产精品成人一区二区三区 | 国产九九av| 免费性视频| 精品视频一区二区 | 啪啪免费网 | 狠狠操你 | 久久久久国产精品一区三寸 | 中文字幕 在线观看 | 亚洲欧美日韩精品久久亚洲区 | 国产在线一区二区三区 | www.天天干.com | 97超碰在线免费 | 色视频免费 | 国产91久久久久蜜臀青青天草二 | 中文字幕免费视频 | 久久国产精品72免费观看 | 成人美女免费网站视频 | 免费在线成人 | 亚洲一区在线播放 | 国产一区二区三区四区hd | 亚洲精品国产电影 | 国产精品福利网 | 午夜免费视频 | 欧美精品一区二区免费 | 国产一区二区三区四区五区3d | 欧美综合在线视频 | 欧美高清视频 | 成人午夜在线 | 久久久久网站 | 国产综合视频 | 久久久久国产精品一区二区 | 91精品国产高清一区二区三区 | 97天天干 | 天天射色综合 | 偷拍自拍网 | 亚洲精品国产成人 |