Skip to content

melmorabity/pre-commit-psscriptanalyzer

Repository files navigation

pre-commit-psscriptanalyzer

Pre-Commit

This project provides pre-commit hooks to lint and format PowerShell code, using the PSScriptAnalyzer static code checker.

Setup

To activate the hooks, add the following lines to the repos list in the project's .pre-commit-config.yaml file:

---
repos:
  - repo: https://github.com/melmorabity/pre-commit-psscriptanalyzer
    rev: v1.0.0
    hooks:
      # Check PowerShell code
      - id: psscriptanalyzer-check
      # Format PowerShell code
      - id: psscriptanalyzer-format

These hooks require PowerShell to run.

Alternatively use this to run the hooks with Docker (so no dependency on PowerShell is needed):

---
repos:
  - repo: https://github.com/melmorabity/pre-commit-psscriptanalyzer
    rev: v1.0.0
    hooks:
      # Check PowerShell code
      - id: psscriptanalyzer-check-docker
      # Format PowerShell code
      - id: psscriptanalyzer-format-docker

Supported hooks

psscriptanalyzer-check

The psscriptanalyzer-check hook performs checks on PowerShell code, based on selected best practice rules. It supports the following options from the PSScriptAnalyzer function Invoke-ScriptAnalyzer:

The psscriptanalyzer-check-docker hook supports the same options.

psscriptanalyzer-format

The psscriptanalyzer-format formats PowerShell code to a canonical format. It supports the following options from the PSScriptAnalyzer function Invoke-Formatter :

The psscriptanalyzer-format-docker hook supports the same options.

Copyright and license

© 2023 Mohamed El Morabity

Licensed under the GNU GPL, version 3.0 or later.