Behind the PowerShell Pipeline logo

Behind the PowerShell Pipeline

Subscribe
Archives
February 14, 2023

"Live" PowerShell Tool Making Part 4

Welcome back to the conclusion of my “live” PowerShell toolmaking project using the Crescendo module. I’ve been building a module around the GitHub command line tool, gh.exe, focused on working with repository issues. Using the Crescendo module is interesting and occasionally frustrating. But I am intrigued by the idea of “code from code.”

Over the last few articles, I’ve written several PowerShell script files that, when run together, will create a new PowerShell module. The concept is that when the module needs an update, I can update the relevant code and create a new version of the module.

I have been using a master script file, build.ps1. Here’s the first part of the file.

#requires -version 7.3
#requires -module Microsoft.PowerShell.Crescendo

<#
module commands will be:
    New-ghIssue (done)
    Update-ghIssue (defer)
    Get-ghIssue (done)
    Open-ghIssue (done)
    Show-ghIssue (done)
    Close-ghIssue (done)
    Get-ghLabel (done)
#>

#dot source my export function
. $PSScriptRoot\Export-CrescendoFunction.ps1
$exportPath = ".\test-exports"
$ModuleName = "ghTools"
$cli = "gh.exe"

#initialize an array to hold the commands
$commands = @()
Want to read the full issue?
GitHub Bluesky LinkedIn About Jeff
Powered by Buttondown, the easiest way to start and grow your newsletter.