Verwenden von Dumplings-Funktionen
Ausführungskontext
Führen Sie diese Modulfunktionen mit PowerShell 7.4 oder höher (pwsh) aus. PackageModule und Core unterstützen Windows PowerShell 5.1 nicht.
Core lädt PackageModule und die in Preference.yaml deklarierten PowerShell-Module, bevor es Task-Skripte ausführt. Fügen Sie Import-Module-Aufrufe nicht zu Tasks/*/Script.ps1 hinzu.
Laden Sie in einer eigenständigen Repository-Shell die erforderlichen externen Module und PackageModule.
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
Verwenden Sie Get-Command <Name> -Syntax, um Parameter zu überprüfen, wenn ein altes Task-Beispiel von den aktuellen Metadaten abweicht. Funktionen können von anderen geladenen PackageModule-Dateien abhängen. Verwenden Sie diese wieder, anstatt ihre Implementierungen zu kopieren.
Normale Importe verwenden Implementierungsmodule erneut. Während der Entwicklung laden Sie geänderte Quellen mit . .\Modules\PackageModule\Index.ps1 -Reload neu. Verwenden Sie Copy-Object zum Kopieren von Daten und Test-ObjectValueEqual für strukturelle Gleichheit. Das Kopieren bewahrt Daten, Skriptblöcke, explizite Nullwerte und verschachtelte leere Arrays. Nicht verwertbare .NET-Ressourcen können nicht geklont werden.
Funktionsgruppen
- Lesen Sie Netzwerk für GitHub-API-Aufrufe, URI-Zusammensetzung, Umleitungen, Header, Antwortdecodierung und eingebettetes JSON.
- Lesen Sie Dateien und Archive für zwischengespeicherte Downloads, temporäre Pfade und begrenzte Archivextraktion.
- Lesen Sie Inhalt und Daten für Textnormalisierung, HTML-Textprojektion, Kodierungen, INI/XML-Konvertierung, Listen und Zeitumwandlung.
- Lesen Sie Update-Feeds für Squirrel- und electron-builder-Feed-Strings, die bereits vom Aufrufer abgerufen wurden.
- Lesen Sie Browserzugriff für bereichsbezogene Playwright-Leases und getrennte Browserergebnisse.
- Lesen Sie externe Module für PowerHTML- und powershell-yaml-Befehle.
Lesen Sie nur die Gruppen, die für die aktuelle Operation benötigt werden. Verwenden Sie $analyze-winget-installer für familienspezifische Parser-APIs, $author-winget-manifest für Manifestfelder und $author-dumplings-task für Task-Lebenszyklus und Quellrezepte.
Nutzungsregeln
Verwenden Sie gemeinsam genutzte Helfer wieder und befolgen Sie deren Eigentums- und Bereinigungsverträge. Registrieren Sie PackageTask-Installationsprogramm-Downloads in $this.InstallerFiles. Eigenständige Aufrufer besitzen temporäre Ressourcen, es sei denn, die Funktion gibt etwas anderes an.
Bevorzugen Sie für versionslose Paketquellen den Arbeitsablauf CheckInstallerUpdates/CompleteInstallerUpdates von PackageTask gegenüber dem selbstständigen Zusammenstellen von Sonden, Hashes und Veröffentlichungszweigen. Lesen Sie den versionslosen Task-Vertrag für Validatoren, Überschreibungen pro Eintrag, Rückrufeigentum und Legacy-Zustandszuordnungen. Diese Methoden registrieren Downloads und behalten automatisch verifizierte Hash-Nachweise.
Halten Sie Browser-Leases kurz und geben Sie getrennte Werte zurück. Behalten Sie niemals Seiten-, Locator-, Antwort- oder Browserobjekte bei, nachdem ein bereichsbezogener Helfer zurückgekehrt ist. Führen Sie niemals ein heruntergeladenes Installationsprogramm auf dem Host aus.