Giter VIP home page Giter VIP logo

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 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.

More contributing information can be found here.

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:

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

modulebuild's Projects

modulebuild icon modulebuild

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.