Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/modulebuild/modulebuild

A scaffolding framework which can be used to kickstart a generic PowerShell module project.
https://github.com/modulebuild/modulebuild

build build-automation build-script build-system build-tool invoke-build module modulebuild plaster platyps portable powershell powershell-gallery powershell-module powershell-script readthedocs scaffolding-framework visual-studio

Last synced: about 1 month ago
JSON representation

A scaffolding framework which can be used to kickstart a generic PowerShell module project.

Awesome Lists containing this project

README

        

# ModuleBuild

A scaffolding framework which can be used to kickstart a generic PowerShell module project with a bunch of extras.

## Description

A scaffolding framework which can be used to kickstart a generic PowerShell module project with an Invoke-Build backend for regular deployments and other automated tasks. This project helps make everything about starting, documenting, building, and eventually releasing your module to the PSGallary a breeze.

## Requirements

- PowerShell 5.0

- All other module requirements will be automatically installed at build time if they are not available. (This is one of the reasons PowerShell 5 or greater is required)

## Installation

Powershell Gallery (PS 5.0, Preferred method)
`install-module ModuleBuild -Scope:CurrentUser`

Manual Installation
`iex (New-Object Net.WebClient).DownloadString("https://github.com/zloeber/ModuleBuild/raw/master/Install.ps1")`

Or clone this repository to your local machine, extract, go to the .\releases\ModuleBuild directory
and import the module to your session to test, but not install this module.

## Features

This build framework for PowerShell modules comes with several appealing baked in features which include;

- Fully portable project directory structure and build process. So portable that you can copy it to another PowerShell 5.0 capable system and it should run the same.
- Automatically combine your public and private functions into one clean psm1 file at build time.
- Automatically update your psd1 file with public functions at build time.
- Automatically scan your module release with PSScriptAnalyzer
- Automatically upload your script to the PowerShell Gallery (with appropriate API key)
- Automatically create project documentation folder structure and yml definition file for ReadTheDocs.org integration
- Automatically start Pester tests during build process
- Visual Studio Code integration (tasks)
- Easy to manage build configuration with forward compatible design and easy to use commands
- Includes ability to scan for sensitive terms (like your company domain name or other items that you may not want published)
- Functions for importing public and private functions from other projects into a ModuleBuild project
- Add new public functions to your project based on easy to create templates.

## Documentation

Visit the [ReadTheDocs.org documentation](http://modulebuild.readthedocs.io/en/latest/) that this module created a manifest for automatically.

## Contribute

Please feel free to contribute by opening new issues or providing pull requests.
For the best development experience, open this project as a folder in Visual
Studio Code and ensure that the PowerShell extension is installed.

* [Visual Studio Code](https://code.visualstudio.com/)
* [PowerShell Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell)

More contributing information can be found [here](https://github.com/zloeber/ModuleBuild/blob/master/docs/Contributing.md).

This module is tested with the PowerShell testing framework Pester. To run all tests, just start the included build script with the test param `.\Build.ps1 -test`.

## Other Information

**Authors:**
- [Zachary Loeber](https://www.the-little-things.net)
- [Justin Perdok](https://github.com/justin-p)

**Website:** https://github.com/zloeber/ModuleBuild