使用 Dumplings 函式
執行環境
請使用 PowerShell 7.4 或更新版本 (pwsh) 執行這些模組函式。PackageModule 和 Core 不支援 Windows PowerShell 5.1。
Core 會在執行工作指令碼前載入 PackageModule 以及 Preference.yaml 中宣告的 PowerShell 模組。請勿在 Tasks/*/Script.ps1 中加入 Import-Module 呼叫。
在獨立的存放庫 Shell 中,請載入所需的外部模組與 PackageModule。
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
當舊的工作範例與目前中繼資料不同時,請使用 Get-Command <名稱> -Syntax 來檢查參數。函式可能依賴其他已載入的 PackageModule 檔案。請重複使用它們,而不是複製其實作。
一般匯入會重複使用實作模組。在開發期間,請使用 . .\Modules\PackageModule\Index.ps1 -Reload 重新載入已變更的原始碼。使用 Copy-Object 進行資料複製,使用 Test-ObjectValueEqual 進行結構相等性比較。複製作業會保留日期、指令碼區塊、明確的 null 值以及巢狀空陣列。可處置的 .NET 資源無法被複製。
函式群組
- 閱讀網路通訊以了解 GitHub API 呼叫、URI 組合、重新導向、標頭、回應解碼以及內嵌 JSON。
- 閱讀檔案與壓縮檔以了解快取下載、暫存路徑以及有界限的壓縮檔解壓縮。
- 閱讀內容與資料以了解文字正規化、HTML 文字投影、編碼、INI/XML 轉換、清單以及時間轉換。
- 閱讀更新摘要以了解已由呼叫者擷取的 Squirrel 和 electron-builder 摘要字串。
- 閱讀瀏覽器存取以了解範圍限定的 Playwright 租用以及分離的瀏覽器結果。
- 閱讀外部模組以了解 PowerHTML 和 powershell-yaml 指令。
僅閱讀目前操作所需的群組。使用 $analyze-winget-installer 取得系列特定的剖析器 API、使用 $author-winget-manifest 取得資訊清單欄位、使用 $author-dumplings-task 取得工作生命週期與來源配方。
使用規則
重複使用共享的輔助程式,並遵守其所有權與清理協定。將 PackageTask 安裝程式下載註冊到 $this.InstallerFiles。除非函式另有說明,否則獨立呼叫者擁有暫存資源的所有權。
對於無版本套件來源,請優先使用 PackageTask 的 CheckInstallerUpdates/CompleteInstallerUpdates 工作流程,而不是自行組合探測、雜湊和發佈分支。請閱讀無版本工作合約以了解驗證器、每個項目的覆寫值、回呼所有權以及舊版狀態對應。這些方法會自動註冊下載並保留已驗證的雜湊證據。
保持瀏覽器租用時間短暫,並回傳分離的值。在範圍限定的輔助程式回傳後,絕對不要保留頁面、定位器、回應或瀏覽器物件。絕對不要在主機上執行已下載的安裝程式。