chore: add php-commitizen (#76)
Adds PHP Commitizen for automated commit message formatting. fix #39
This commit is contained in:
parent
50115fb6c9
commit
5fa3e1403e
5 changed files with 180 additions and 12 deletions
|
@ -29,3 +29,4 @@ node_modules
|
||||||
*.zip
|
*.zip
|
||||||
authors.txt
|
authors.txt
|
||||||
composer.*
|
composer.*
|
||||||
|
.php-commitizen.php
|
||||||
|
|
30
.php-commitizen.php
Normal file
30
.php-commitizen.php
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'type' => [
|
||||||
|
'lengthMin' => 1, // Min length of the type
|
||||||
|
'lengthMax' => 8, // Max length of the type
|
||||||
|
'acceptExtra' => false, // Allow adding types not listed in 'values' key
|
||||||
|
'values' => ['feat', 'fix', 'refactor', 'style', 'docs', 'chore', 'test', 'perf', 'build', 'ci'], // All the values usable as type
|
||||||
|
],
|
||||||
|
'scope' => [
|
||||||
|
'lengthMin' => 0, // Min length of the scope
|
||||||
|
'lengthMax' => 10, // Max length of the scope
|
||||||
|
'acceptExtra' => true, // Allow adding scopes not listed in 'values' key
|
||||||
|
'values' => [], // All the values usable as scope
|
||||||
|
],
|
||||||
|
'description' => [
|
||||||
|
'lengthMin' => 1, // Min length of the description
|
||||||
|
'lengthMax' => 44, // Max length of the description
|
||||||
|
],
|
||||||
|
'subject' => [
|
||||||
|
'lengthMin' => 1, // Min length of the subject
|
||||||
|
'lengthMax' => 50, // Max length of the subject
|
||||||
|
],
|
||||||
|
'body' => [
|
||||||
|
'wrap' => 72, // Wrap the body at 72 characters
|
||||||
|
],
|
||||||
|
'footer' => [
|
||||||
|
'wrap' => 72, // Wrap the footer at 72 characters
|
||||||
|
],
|
||||||
|
];
|
|
@ -5,33 +5,39 @@ request the best chance of being accepted:
|
||||||
|
|
||||||
# Requesting Features/Reporting Bugs
|
# Requesting Features/Reporting Bugs
|
||||||
|
|
||||||
- To request a new feature or to report a bug, create an
|
- To request a new feature or to report a bug, create an [Issue][new-issue] and
|
||||||
[Issue](https://github.com/markcheret/footnotes/issues/new/choose) and choose
|
choose the correct template
|
||||||
the correct template
|
|
||||||
|
|
||||||
# Contributing Code
|
# Contributing Code
|
||||||
|
|
||||||
- **footnotes** uses [GitHub Flow](https://githubflow.github.io/)
|
- **footnotes** uses [GitHub Flow][github-flow]
|
||||||
- branch off of `main` to start developing (`git checkout -b <your branch>`)
|
- branch off of `main` to start developing (`git checkout -b <your branch>`)
|
||||||
- ensure that your new branch has a descriptive name
|
- ensure that your new branch has a descriptive name
|
||||||
- create a remote copy of your new branch (`git push`)
|
- create a remote copy of your new branch (`git push`)
|
||||||
- create a draft [pull request](https://github.com/markcheret/footnotes/compare)
|
- create a draft [pull request][pull-request] to merge your branch with `main` —
|
||||||
to merge your branch with `main` — tag any related Issues, and if they are
|
tag any related Issues, and if they are assigned to a Project board, this will
|
||||||
assigned to a Project board, this will automatically move them into the
|
automatically move them into the ‘In Progress’ bucket
|
||||||
‘In Progress’ bucket
|
|
||||||
- when you think you're finished, un-draft your pull request — if the PR is
|
- when you think you're finished, un-draft your pull request — if the PR is
|
||||||
assigned to a Project board, this will automatically move it and any related
|
assigned to a Project board, this will automatically move it and any related
|
||||||
Issues into the ‘Review in progress’ bucket
|
Issues into the ‘Review in progress’ bucket
|
||||||
|
|
||||||
# Commits
|
# Commits
|
||||||
|
|
||||||
- **footnotes** uses [Conventional Commits](https://www.conventionalcommits.org)
|
- **footnotes** uses [Conventional Commits][conventional-commits]
|
||||||
|
- we use [PHP Commitizen][php-commitizen] to automate this - use `composer commit`
|
||||||
- keep individual commits as small as possible
|
- keep individual commits as small as possible
|
||||||
|
|
||||||
# Versioning
|
# Versioning
|
||||||
|
|
||||||
- **footnotes** uses [Semantic Versioning](https://semver.org/)
|
- **footnotes** uses [Semantic Versioning][semver]
|
||||||
|
|
||||||
# Translating
|
# Translating
|
||||||
|
|
||||||
- Translations are welcome!
|
- Translations are welcome!
|
||||||
|
|
||||||
|
[new-issue]: https://github.com/markcheret/footnotes/issues/new/choose
|
||||||
|
[github-flow]: https://githubflow.github.io/
|
||||||
|
[pull-request]: https://github.com/markcheret/footnotes/compare
|
||||||
|
[conventional-commits]: https://www.conventionalcommits.org
|
||||||
|
[php-commitizen]: https://github.com/conventional-commits/php-commitizen
|
||||||
|
[semver]: https://semver.org/
|
||||||
|
|
|
@ -11,11 +11,14 @@
|
||||||
"lint-css": "echo TODO",
|
"lint-css": "echo TODO",
|
||||||
"lint-js": "echo TODO",
|
"lint-js": "echo TODO",
|
||||||
"docs": "./vendor/bin/phpdoc -d . -t ./docs --ignore vendor/",
|
"docs": "./vendor/bin/phpdoc -d . -t ./docs --ignore vendor/",
|
||||||
|
"commit": "./vendor/bin/php-commitizen commit -- ./.php-commitizen.php",
|
||||||
"post-install-cmd": "./_tools/setup.sh"
|
"post-install-cmd": "./_tools/setup.sh"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
|
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
|
||||||
"wp-coding-standards/wpcs": "^2.3",
|
"wp-coding-standards/wpcs": "^2.3",
|
||||||
"phpdocumentor/phpdocumentor": "^3.0"
|
"phpdocumentor/phpdocumentor": "^3.0",
|
||||||
|
"damianopetrungaro/php-commitizen": "^0.2.0",
|
||||||
|
"marcocesarato/php-conventional-changelog": "^1.9"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
130
composer.lock
generated
130
composer.lock
generated
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "96b80176526406b01227fcaef2a4c2fc",
|
"content-hash": "c15a58a62ba5d8b2d7f3273717a8381a",
|
||||||
"packages": [],
|
"packages": [],
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
{
|
{
|
||||||
|
@ -80,6 +80,61 @@
|
||||||
],
|
],
|
||||||
"time": "2020-11-11T10:22:58+00:00"
|
"time": "2020-11-11T10:22:58+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "damianopetrungaro/php-commitizen",
|
||||||
|
"version": "v0.2.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/conventional-commits/php-commitizen.git",
|
||||||
|
"reference": "985283538f013c37146b2ec83812eeef2ff9d73c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/conventional-commits/php-commitizen/zipball/985283538f013c37146b2ec83812eeef2ff9d73c",
|
||||||
|
"reference": "985283538f013c37146b2ec83812eeef2ff9d73c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"symfony/console": "^4 || ^5"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpspec/prophecy-phpunit": "^2.0",
|
||||||
|
"phpunit/phpunit": "^9"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"php-commitizen"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Damianopetrungaro\\PHPCommitizen\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Damiano Petrungaro",
|
||||||
|
"email": "damianopetrungaro@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Help writing Git commit following conventional commit specs",
|
||||||
|
"keywords": [
|
||||||
|
"atomic",
|
||||||
|
"atomic commit",
|
||||||
|
"commit",
|
||||||
|
"conventional commit",
|
||||||
|
"conventionalcommit",
|
||||||
|
"git"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/conventional-commits/php-commitizen/issues",
|
||||||
|
"source": "https://github.com/conventional-commits/php-commitizen/tree/v0.2.0"
|
||||||
|
},
|
||||||
|
"time": "2020-07-15T23:51:42+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
||||||
"version": "v0.7.1",
|
"version": "v0.7.1",
|
||||||
|
@ -1343,6 +1398,79 @@
|
||||||
],
|
],
|
||||||
"time": "2020-10-31T13:45:51+00:00"
|
"time": "2020-10-31T13:45:51+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "marcocesarato/php-conventional-changelog",
|
||||||
|
"version": "v1.9.9",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/marcocesarato/php-conventional-changelog.git",
|
||||||
|
"reference": "072ca71c733cf82dae8e6523aa40f4133c288f8c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/marcocesarato/php-conventional-changelog/zipball/072ca71c733cf82dae8e6523aa40f4133c288f8c",
|
||||||
|
"reference": "072ca71c733cf82dae8e6523aa40f4133c288f8c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.1.3",
|
||||||
|
"symfony/console": "^4 || ^5"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"brainmaestro/composer-git-hooks": "^2.8",
|
||||||
|
"friendsofphp/php-cs-fixer": "^2.18"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"conventional-changelog"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "composer fix-cs",
|
||||||
|
"pre-push": "composer check-cs",
|
||||||
|
"post-merge": "composer install"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"ConventionalChangelog\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"GPL-3.0-or-later"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marco Cesarato",
|
||||||
|
"email": "cesarato.developer@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Generate changelogs and release notes from a project's commit messages and metadata and automate versioning with semver.org and conventionalcommits.org",
|
||||||
|
"keywords": [
|
||||||
|
"changelog",
|
||||||
|
"commit",
|
||||||
|
"commits",
|
||||||
|
"convention",
|
||||||
|
"conventional",
|
||||||
|
"conventional-changelog",
|
||||||
|
"conventional-changelog-preset",
|
||||||
|
"conventional-commit",
|
||||||
|
"conventional-commits",
|
||||||
|
"conventionalcommits",
|
||||||
|
"generation",
|
||||||
|
"git",
|
||||||
|
"history",
|
||||||
|
"php",
|
||||||
|
"readme",
|
||||||
|
"tag"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/marcocesarato/php-conventional-changelog/issues",
|
||||||
|
"source": "https://github.com/marcocesarato/php-conventional-changelog/tree/v1.9.9"
|
||||||
|
},
|
||||||
|
"time": "2021-04-02T12:29:26+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "monolog/monolog",
|
"name": "monolog/monolog",
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
|
|
Reference in a new issue