Uso de funciones de Dumplings
Contexto de ejecución
Ejecuta estas funciones de módulo con PowerShell 7.4 o posterior (pwsh). PackageModule y Core no son compatibles con Windows PowerShell 5.1.
Core carga PackageModule y los módulos de PowerShell declarados en Preference.yaml antes de ejecutar los scripts de tarea. No añadas llamadas Import-Module a Tasks/*/Script.ps1.
En un shell de repositorio independiente, carga los módulos externos requeridos y PackageModule.
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
Usa Get-Command <Nombre> -Syntax para verificar parámetros cuando un ejemplo de tarea antigua difiera de los metadatos actuales. Las funciones pueden depender de otros archivos de PackageModule cargados. Reutilízalos en lugar de copiar sus implementaciones.
Las importaciones normales reutilizan los módulos de implementación. Durante el desarrollo, recarga la fuente modificada con . .\Modules\PackageModule\Index.ps1 -Reload. Usa Copy-Object para copiar datos y Test-ObjectValueEqual para igualdad estructural. Copiar preserva fechas, bloques de script, valores nulos explícitos y arrays vacíos anidados. Los recursos .NET desechables no se pueden clonar.
Grupos de funciones
- Lee redes para llamadas a la API de GitHub, composición de URI, redirecciones, cabeceras, decodificación de respuestas y JSON incrustado.
- Lee archivos y archivos comprimidos para descargas en caché, rutas temporales y extracción acotada de archivos comprimidos.
- Lee contenido y datos para normalización de texto, proyección de texto HTML, codificaciones, conversión INI/XML, listas y conversión de tiempo.
- Lee feeds de actualización para cadenas de feeds de Squirrel y electron-builder ya recuperadas por el llamante.
- Lee acceso al navegador para arrendamientos de Playwright con ámbito y resultados de navegador desvinculados.
- Lee módulos externos para comandos de PowerHTML y powershell-yaml.
Lee solo los grupos necesarios para la operación actual. Usa $analyze-winget-installer para APIs de analizador específicas de familia, $author-winget-manifest para campos de manifiesto, y $author-dumplings-task para el ciclo de vida de tareas y recetas de fuentes.
Reglas de uso
Reutiliza los ayudantes compartidos y sigue sus contratos de propiedad y limpieza. Registra las descargas de instaladores de PackageTask en $this.InstallerFiles. Los llamantes independientes son propietarios de los recursos temporales a menos que la función indique lo contrario.
Para fuentes de paquetes sin versión, prefiere el flujo de trabajo CheckInstallerUpdates/CompleteInstallerUpdates de PackageTask en lugar de componer sondas, hashes y ramas de publicación tú mismo. Lee el contrato de tarea sin versión para validadores, anulaciones por entrada, propiedad de devoluciones de llamada y asignaciones de estado heredadas. Estos métodos registran descargas y retienen automáticamente evidencia de hash verificada.
Mantén los arrendamientos del navegador cortos y devuelve valores desvinculados. Nunca retengas objetos de página, localizador, respuesta o navegador después de que un ayudante con ámbito haya regresado. Nunca ejecutes un instalador descargado en el host.