Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/mteu/docblock-rules

Simple PHPStan rules extension to verify whether the PHP files contain certain pre-defined strings.
https://github.com/mteu/docblock-rules

phpstan phpstan-extension

Last synced: 3 months ago
JSON representation

Simple PHPStan rules extension to verify whether the PHP files contain certain pre-defined strings.

Awesome Lists containing this project

README

        

[![CGL](https://github.com/mteu/docblock-rules/actions/workflows/cgl.yaml/badge.svg)](https://github.com/mteu/docblock-rules/actions/workflows/cgl.yaml)
[![Tests](https://github.com/mteu/docblock-rules/actions/workflows/tests.yaml/badge.svg)](https://github.com/mteu/docblock-rules/actions/workflows/tests.yaml)

# DocBlock Rules

**DocBlock Rules** is simple [PHPStan](https://github.com/phpstan/phpstan) rules extension to verify whether the PHP files
contain certain pre-defined strings.

## ⚡ Usage

Require this package and make sure to configure PHPStan according to your needs by putting a configuration file in your project
(e.g. as `phpstan.neon` file in your package root.)

```bash
composer require --dev mteu/docblock-rules
```

If you're using the [`phpstan/extension-installer`](https://github.com/phpstan/extension-installer) you're good to go.

## Configuration

This package ships custom rules that need additional configuration:
* [`RequireCopyrightInformationInFirstCommentRule`](#RequireCopyrightInformationInFirstCommentRule)
* [`RequireLicenseInformationInFirstCommentRule`](#RequireLicenseInformationInFirstCommentRule)

### [`RequireCopyrightInformationInFirstCommentRule`](src/Rules/RequireCopyrightInformationInFirstCommentRule.php)
This rule checks whether there is a PHPDoc comment block present that contains copyright information
identified by a needle string in the PHPStan configuration.

#### Sample configuration:
```neon
# phpstan.neon

parameters:
docblock:
copyrightIdentifier: 'Copyright (C) 2023'
```

### [`RequireLicenseInformationInFirstCommentRule`](src/Rules/RequireLicenseInformationInFirstCommentRule.php)
This rule checks whether there is a PHPDoc comment block present that contains license information. You
can use pre-defined license checks values or define a custom string that is being looked for.

#### Sample configuration:
```neon
# phpstan.neon

parameters:
docblock:
# Pre-configured checks when applying 'GPL-2.0' or 'GPL-3.0' as value.
# Alternatively, use a custom string to look for in the file.
requiredLicenseIdentifier: 'GPL-3.0'
```

## 💛 Acknowledgement
I'm very grateful for the good people that created, maintain and sponsor [PHPStan](https://github.com/phpstan/phpstan). Děkuji, [Ondřej](https://github.com/ondrejmirtes)
and everyone who has contributed!

## ⭐ License
This project is licensed under [GNU General Public License 3.0 (or later)](LICENSE).