en-US/about_tcs.utils.help.txt
|
TOPIC about_tcs.utils SHORT DESCRIPTION Scaffolding and utility functions for building tcs-style PowerShell modules. LONG DESCRIPTION tcs.utils generates new modules, functions and Pester tests that follow the standard used across the TheCodeSaiyan PowerShell suite, and contains a few helpers for working with module source. Generators New-ModuleCustomTemplate Creates a module folder: psm1, manifest (requires tcs.core 0.3.0+), Config.ps1, README.md, .gitignore and folders. -IncludeRepoFiles also adds a module test, analyzer settings and a CI workflow. New-FunctionTemplate Creates function scripts with help and the tcs.core telemetry pattern. New-PesterCustomTests Creates Pester 5 tests that import the module the tests belong to. New-FunctionsFromSwagger Creates API wrapper functions from a Swagger/OpenAPI JSON file. Text from the file is written only as data, and the API credentials stay in the module scope. Module utilities Convert-ModuleNameAndReferences Copies and renames a module. Export-ModuleToFlatTextAndManifest Exports a module to one text file and a JSON manifest. Import-ModuleFromFlatTextAndManifest Recreates the module from them. Update-ModuleManifestExports Sets FunctionsToExport from the functions in Public. String utilities Edit-StringAtLine, Get-LeadingSpaceCount Windows only Get-MsiSequence reads sequences, files and custom actions from an MSI file or extracts it (Windows Installer COM and msiexec.exe). Generated modules load the scripts in Public and Private and their subfolders (tests excluded) and never write into their own module folder when they are imported. Settings live in the user's settings folder managed by tcs.core (see Get-ModuleConfig and Set-ModuleConfig). Telemetry tcs.utils sends anonymous usage events through tcs.core (Invoke-TelemetryCollection) when it is imported and when each exported command starts and ends: command name, duration, success, exception type, PowerShell and OS version and a random installation ID. No user, machine, path or error text is sent. Turn it off with Set-ModuleConfig -ModuleName tcs.utils -Telemetry $false or by setting the TCS_TELEMETRY_OPTOUT environment variable to 1. EXAMPLES New-ModuleCustomTemplate -Names 'tcs.example' -Path ./modules New-FunctionTemplate -Name 'Get-Example' -Path ./modules/tcs.example/Public New-PesterCustomTests -Source ./modules/tcs.example/Public SEE ALSO about_tcs.core https://github.com/ntatschner/TheCodeSaiyan-PowerShell-tcs.utils KEYWORDS tcs scaffolding module template |