Piecemeal

0.4.1

Easy Extensible Plugins for PowerShell

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name Piecemeal

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name Piecemeal

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

2021-2023 Start-Automating

Package Details

Author(s)

  • James Brundage

Tags

PowerShell Plugin Extension Extensibility

Functions

New-Extension Get-Extension Install-Piecemeal

Dependencies

This module has no dependencies.

Release Notes

## Piecemeal@0.4.1:

* Enabling Sponsorship for Piecemeal (#139)
* Improving -ExtensionName performance for Aliases (#141)
* Tolerating lack of CommandMetaData (#124)

---

## Piecemeal@0.4:

* Enabling Sponsorship for Piecemeal (#139)
* Improving -ExtensionName performance (#138)
* Not recursing when -ExtensionPath is local (#137)

---

## Piecemeal@0.3.10:
### Piecemeal Performance Improvements

* Checking before extending objects (Fixes #134)
* No Longer Allowing A Cmdlet to be an Extension (Fixes #133)
* Improving the performance of .Extends/ .ExtensionCommands (Fixes #132)
* Improving Terseness related performance (Fixes #131)
* Caching Extensions from Files until the File Changes (Fixes #130)
* Improving the performance of Get-Extension without -CommandName (Fixes #129)

---

## Piecemeal@0.3.9:

* Allowing any command to be an extension! (Fixes #120)

Functions, Cmdlets, and Aliases that meet the the naming convention will be seen as extensions by Get-Extension.

In most cases, this allows extensions to be defined in memory or on disk.

* Allowing .DisplayName to be set (Fixes #123)
* Adding .CouldPipeType to all extensions (Fixes #121)
* Not allowing a directories to be extensions (for now) (Fixes #125)
* Not clearing an extension's .PSTypeNames (inserting instead) (Fixes #126)

---

## Piecemeal@0.3.8:

* Adding .HasValidation to all extensions (Fixes #117)
* All extension methods and properties are now prevalidated in case of collision (Fixes #118)

---

## Piecemeal@0.3.7:

* Get-Extension:  Stringifying input for ValidatePattern (Fixes #114)

---

## Piecemeal@0.3.6:

* Get-Extension -CouldPipe can now handle PSTypeName attributes (Fixes #109)
* Piecemeal action no longer produces output variables (Fixes #110)
* Now Publishing with [GitPub](https://github.com/StartAutomating/GitPub) (Fixes #111)

---

## Piecemeal@0.3.5:
* GitHub Action now checks if it is on a branch (Fixes #107)

---

## Piecemeal@0.3.4:
* Get-Extension
 * Adding -Force (Fixes #103)
 * Caching allCommands (Fixes #104)
 * Only allowing Functions, Aliases, and Cmdlets to be extended (Fixes #105)

---

## Piecemeal@0.3.3:
* Consolidating -Help parameters (#101)
* Fixing .GetHelpField (#100)

---

## Piecemeal@0.3.2:
* Piecemeal Available as a GitHub Action (#56)
* Get-Extension:
 * Adding .BlockComments property (#96)
 * Fixing GetHelpField whitespace (#95)
 * Scoping GetHelpField matches to .BlockComments (#94)
 * Trimming leading whitespace from .Synopsis and .Description (#99)
* Install-Piecemeal:
 * Returns a file when -OutputPath is passed (#97)

---

## Piecemeal@0.3.1:
* Get-Extension:
   * New Properties/Methods for Each Extension
     * .Category (#89)
     * .GetHelpField() (#91)
     * .Examples (#87)
     * .Links    (#88)
     * .Metadata (#90)
   * Removing -RequireExtensionAttribute (#92)

---

## Piecemeal@0.3.0:
* Get-Extension:
 * Ensuring Regexes IgnoreCase (#85)
 * Trimming Trailing Whitepace from .Synopsis and .Description (#84)

---  

## Piecemeal@0.2.9.1:
* Fixing Get-Extension overcollection (#82)

---

## Piecemeal@0.2.9:
* Get-Extension:
   * -CouldRun now honors validation attributes (#77)
   * -CouldPipe now honors validation attributes (#78)
   * -ExtensionName now supports Regex Literal Aliases ```[Alias(/Expression/)]``` (#80)
   * -CouldRun, -CouldPipe, -Validate are no longer mutually exclusive (#79)
* Install-Piecemeal
   * Support for custom -WhereObject (#73)            
   * Support for custom -ForeachObject (#74)

---

## Piecemeal@0.2.8
* Get-Extension:  
 * Performance Improvements (#75)
 * Regular Expressions now IgnorePatternWhitespace (#71)
 * -ExtensionPattern allows for multiple patterns (#70)
 * Allowing any command type (#65)
* Install-Piecemeal:
 * Adding -RenameVariable (#72)
 * Automatically renaming parameters when -ExtensionNoun is provided (#60)

---

## Piecemeal@0.2.7
* Get-Extension
 * Allowing any command type (#65)
 * Fixing -CouldPipe (#67)

---

## Piecemeal@0.2.6
* Get-Extension:
 * Matching -ExtensionName support aliases (#63)
 * Matching -ExtensionName against .DisplayName or .Name (#61)
 * Get-Extension:  -CouldPipe no longer cares about manadatory parameters (#62)

---

## Piecemeal@0.2.5
* Get-Extension:  Adding -CouldPipe (#58)
* Get-Extension:  Fixing .Tags based inclusion (#57)

---

## Piecemeal@0.2.4
* Install-Piecemeal:  Making -ExtensionModule Optional (#54)

---

## Piecemeal@0.2.3
* Adding New-Extension (#51)
* Generating Docs (#52)
* Allowing New-Extension to be installed with Install-Piecemeal

---

## Piecemeal@0.2.2
* Adding test for [ValidateScript] (#47)
* Updating Piecemeal tests (checking validation order) (#48)
* Get-Extension:  Fixing -ValidateInput logic (#48)
* Get-Extension:  Fixing support for [ValidateScript] (#47)

---

## Piecemeal@0.2.1
* Get-Extension:  Support for -AllValid (#45)
* Get-Extension:  Removing Validation Errors when -ErrorAction is ignore (#43)
* Updating Piecemeal tests: Adding test for Steppable Pipeline (#42)
* Updating Piecemeal Formatting (making .Extends a list) (re #44)
* Get-Extension:  Support for SteppablePipelines (#42).  Fixing .Extends bug (#44)

---

## Piecemeal@0.2
* Adding formatting for extensions (#40)
* Updating Piecemeal tests (account for Regex) (#39)
* Get-Extension:  Regex support for [Cmdlet] attribute (#39)
* Get-Extension:  Adding -FullHelp, -ParameterHelp, -Example(s) (#38)
* Get-Extension:  Adding -Help (#38)

---

## Piecemeal@0.1.10
* Get-Extension:  Adding -ParameterSetName (#36)
* Install-Extension:  Adding -Force to Import-Module in Install Note (#32)

---

## Piecemeal@0.1.9
* Get-Extension: Fixing CouldRun/Run issue with multiple ParameterSets (with other attributes present) (#31)

---

## Piecemeal@0.1.8
* Get-Extension: Fixing CouldRun/Run issue with multiple ParameterSets (#31)
* Install-Piecemeal: Improving Install Message (#32)

---

## Piecemeal@0.1.7
* Get-Extension: Now inherits ParameterSetName (#28)
* Get-Extension: Fixing issue properly displaying Valid Set (#29)

---

## Piecemeal@0.1.6
* Get-Extension now supports all validation attributes (#26/#25)

---

## Piecemeal@0.1.5
* Extensions are now Sortable (#19)
* Get-Extension supports -ExtensionName (#20)
* Get-Extension/Install-Piecemeal renaming parameter -ExtensionNameRegex to -ExtensionPattern (#21)
* Get-Extension:  Adding -ValidateInput / Support for [ValidateScript], [ValidateSet], [ValidatePattern] (#22)

---

## Piecemeal@0.1.4
* Get-Extension:
 * Can now filter extension parameters based off of command (#17)

---

## Piecemeal@0.1.3
* Get-Extension:
 * Added -RequireExtensionAttribute (#13)
 * Added -RequireCmdletAttribute (#14)
 * Respecting [CmdletBinding(DefaultParameterSetName)] (#12)
 * Surfacing attributes (#11)
* Install-Piecemeal:
 * Allowing customization of -ExtensionName (#10)
 * Making $script variables unique (#9)
 * Fixing issues on Core (#16)

---

## Piecemeal@0.1.2
* Get-Extension:
 * Added -NoMandatoryDynamicParameter (#6 / #4)
 * [Parameter] attributes are now copied, so underlying commands are unchanged (#7)

---

## Piecemeal@0.1.1
* Get-Extension:
 * -Parameter not accepts ValueFromPipelineByPropertyName (#2)
 * -CommandName now works (#3)
 * .GetDynamicParameters now supports -NoMandatory (#4)

---

## Piecemeal@0.1
* Initial Release of Piecemeal

---

FileList

  • Piecemeal.nuspec
  • Piecemeal.psm1
  • docs\2022.md
  • Install-Piecemeal.ps1
  • docs\2022-06.md
  • Piecemeal.GitHubWorkflow.psdevops.ps1
  • docs\2022-03-02.md
  • Piecemeal.format.ps1xml
  • docs\2022-01-09.md
  • Piecemeal.tests.ps1
  • docs\README.md
  • Get-Extension.ps1
  • docs\2022-06-27.md
  • Piecemeal.ezout.ps1
  • docs\2022-06-25.md
  • CHANGELOG.md
  • docs\2022-11.md
  • Piecemeal.HelpOut.ps1
  • docs\2021-12-20.md
  • action.yml
  • docs\2022-04-10.md
  • LICENSE
  • docs\2022-01.md
  • docs\2023-03-03.md
  • README.md
  • docs\2022-07.md
  • Piecemeal.GitHubAction.PSDevOps.ps1
  • docs\2022-03-09.md
  • Piecemeal.psd1
  • docs\2022-03-03.md
  • New-Extension.ps1
  • docs\2021.md
  • docs\2022-03-27.md
  • en-us\about_Piecemeal.help.txt
  • docs\2021-12-27.md
  • Formatting\Piecemeal.Extension.format.ps1
  • docs\2023-03-08.md
  • docs\_posts\2021-12-27-Piecemeal-0.1.1.md
  • docs\2023.md
  • docs\_posts\2023-02-02-Piecemeal-0.3.8.md
  • docs\2022-05-02.md
  • docs\_posts\2022-07-11-Piecemeal-0.3.3.md
  • docs\2022-11-15.md
  • docs\_posts\2022-04-30-Piecemeal-0.2.4.md
  • docs\2022-09-04.md
  • docs\_posts\2022-11-19-Piecemeal-0.3.7.md
  • docs\2022-05-03.md
  • docs\_posts\2022-01-09-Piecemeal-0.1.2.md
  • docs\2023-03.md
  • docs\_posts\2022-03-27-Piecemeal-0.2.md
  • docs\2022-02-18.md
  • docs\_posts\2022-03-04-Piecemeal-0.1.7.md
  • docs\_config.yml
  • docs\_posts\2022-06-27-Piecemeal-0.3.1.md
  • docs\Get-Extension.md
  • docs\_posts\2022-11-15-Piecemeal-0.3.6.md
  • docs\2022-09.md
  • docs\_posts\2022-05-03-Piecemeal-0.2.6.md
  • docs\2021-12.md
  • docs\_posts\2022-09-18-Piecemeal-0.3.5.md
  • docs\2022-06-20.md
  • docs\_posts\2021-12-20-Piecemeal-0.1.md
  • docs\2022-07-11.md
  • docs\_posts\2022-02-19-Piecemeal-0.1.4.md
  • docs\2022-05-27.md
  • docs\_posts\2022-06-20-Piecemeal-0.2.9.1.md
  • docs\CHANGELOG.md
  • docs\_posts\2022-06-20-Piecemeal-0.2.9.md
  • docs\2022-02-19.md
  • docs\_posts\2022-09-04-Piecemeal-0.3.4.md
  • docs\2022-11-19.md
  • docs\_posts\2022-03-04-Piecemeal-0.1.9.md
  • docs\2022-03-04.md
  • docs\_posts\2022-05-27-Piecemeal-0.2.7.md
  • docs\2022-04.md
  • docs\_posts\2022-03-02-Piecemeal-0.1.5.md
  • docs\2022-04-25.md
  • docs\_posts\2023-03-03-Piecemeal-0.3.9.md
  • docs\2022-09-18.md
  • docs\_posts\2022-03-04-Piecemeal-0.1.8.md
  • docs\New-Extension.md
  • docs\_posts\2022-04-25-Piecemeal-0.2.3.md
  • docs\2022-04-13.md
  • docs\_posts\2022-02-18-Piecemeal-0.1.3.md
  • docs\2023-02.md
  • docs\_posts\2022-06-16-Piecemeal-0.2.8.md
  • docs\2022-02.md
  • docs\_posts\2022-05-02-Piecemeal-0.2.5.md
  • docs\2022-04-30.md
  • docs\_posts\2022-04-10-Piecemeal-0.2.1.md
  • docs\2022-05.md
  • docs\_posts\2022-03-09-Piecemeal-0.1.10.md
  • docs\rss.xml
  • docs\_posts\2022-04-13-Piecemeal-0.2.2.md
  • docs\2023-02-02.md
  • docs\_posts\2022-06-27-Piecemeal-0.3.2.md
  • docs\2022-03.md
  • docs\_posts\2022-03-03-Piecemeal-0.1.6.md
  • docs\2022-06-16.md
  • docs\_posts\2023-03-08-Piecemeal-0.3.10.md
  • docs\Install-Piecemeal.md
  • docs\_posts\2022-06-25-Piecemeal-0.3.0.md
  • docs\CNAME
  • GitHub\Actions\PiecemealAction.ps1

Version History

Version Downloads Last updated
0.4.1 (current version) 50 6/4/2023
0.4 6 6/4/2023
0.3.10 18 3/8/2023
0.3.9 8 3/3/2023
0.3.8 10 2/2/2023
0.3.7 36 11/19/2022
0.3.6 7 11/15/2022
0.3.5 17 9/18/2022
0.3.4 13 9/4/2022
0.3.3 26 7/11/2022
0.3.2 13 6/27/2022
0.3.1 11 6/27/2022
0.3.0 11 6/25/2022
0.2.9.1 14 6/20/2022
0.2.9 11 6/20/2022
0.2.8 12 6/16/2022
0.2.7 18 5/27/2022
0.2.6 15 5/3/2022
0.2.5 12 5/2/2022
0.2.4 11 4/30/2022
0.2.3 13 4/25/2022
0.2.2 13 4/13/2022
0.2.1 13 4/10/2022
0.2 16 3/27/2022
0.1.9 13 3/4/2022
0.1.8 12 3/4/2022
0.1.7 12 3/4/2022
0.1.6 12 3/3/2022
0.1.5 12 3/2/2022
0.1.4 26 2/19/2022
0.1.3 14 2/18/2022
0.1.2 14 1/9/2022
0.1.1 15 12/27/2021
0.1 16 12/20/2021
Show more